OSDN Git Service

ltj-latex.sty: avoid multiple loading of lltjp-*
[luatex-ja/luatexja.git] / test / test20a-mfont-fontspec.tex
index ecd0e3a..6ef7f2f 100644 (file)
@@ -1,19 +1,39 @@
-%#!luajitlatex
+%#!lualatex test20a-mfont-fontspec.tex
 \documentclass{ltjsarticle}
 \usepackage{luatexja-fontspec,luatexja-otf}
-\setmainjfont[
-  AltFontFeatures={ Color=00003F, CharacterWidth=Half },
-  BoldFont = { KozMinPr6N-Bold.otf }, 
-  BoldFeatures = { AltFont={ KozGoPr6N-Bold.otf } }, 
-  AltFontRange = { "3000-"30FF }, 
-]{KozMinPr6N-Regular.otf}
 
-\setsansjfont{KozGoPr6N-Regular.otf}
+\makeatletter
+\let\ltj@orig@DeclareFontShape@=\DeclareFontShape@
+\def\@@@DeclareFontShape@#1#2#3#4#5#6{%
+\immediate\typeout{DFS |#1|#2|#3|#4|#5|#6|}%
+\ltj@orig@DeclareFontShape@{#1}{#2}{#3}{#4}{#5}{#6}%
+}
+\makeatother
+
+
+
+\newjfontfamily\hoge[
+  AltFont={ 
+    {Range="3000-"307F, Font=JJSYuGothicPr6N-M, Color=00007F, CharacterWidth=Half},
+    {Range="3080-"30FF, Color=7F0000,}
+  },
+  BoldFont={ JJSYuGothicPr6N-M }, 
+]{JJSYuMinchoPr6N-R}
+
+\newjfontfamily\piyo[
+  AltFont={ 
+    {Range="3000-"309F, CharacterWidth=Half},
+    {Range="30A0-"30FF, Font=JJSYuGothicPr6N-M}
+  }
+% カタカナ は JJSYuGothicPr6N-M
+% ひらがな は JJSYuMinchoPr6N-R 半角
+]{JJSYuMinchoPr6N-R}
+
+\setsansjfont{KozGoPr6N-Medium}
 
 \long\def\test{%
   あいうえお医学アイウエオ医学
-  \textbf{あいうえお医学アイウエオ医学}
-  \textgt{あいうえお医学アイウエオ医学}\par
+  \textbf{あいうえお医学アイウエオ医学}\par
 %
   日本国民は、正当に選挙された国会における代表者を通じて行動し、
   われらとわれらの子孫のために、諸国民との協和による成果と、
   その権力は国民の代表者がこれを行使し、その福利は国民がこれを享受する。
   これは人類普遍の原理であり、この憲法は、かかる原理に基くものである。
   われらは、これに反する一切の憲法、法令及び詔勅を排除する。
+
+  \vbox{\tate\hsize=10\zw
+  日本国民は、正当に選挙された国会における代表者を通じて行動し、
+  われらとわれらの子孫のために、諸国民との協和による成果と、
+  わが国全土にわたつて自由のもたらす恵沢を確保し、政府の行為によつて
+  再び戦争の惨禍が起ることのないやうにすることを決意し、
+  ここに主権が国民に存することを宣言し、この憲法を確定する。
+  }
 }
 \begin{document}
 
-\test
+\hoge\test
+
+\medskip\piyo\test
+
+\newpage
+%\typeout{!!!! 5gou kana}
+\section{5号かな}
+{%
+\jfontspec[
+  AltFont={
+    {Font=JJSYuMin5goKn-R,Range="3000-"30FF, Color=007F00},
+    {Font=DejaVuSans, Range={"21B3,"21B5},Color=0000FF,YokoFeatures={JFM=prop} },
+  }
+]{JJSYuMinchoPr6N-R}
+
+\makeatletter\k@family
+日本国民は、正当に選挙された国会における代表者を通じて行動し、
+(\ltjjachar"21B3)
+(\ltjjachar"21B4)
+(\ltjjachar"21B5)%"
+}
 
-\paragraph{addfontfeatures}\ \par
+\newpage
+\section{addfontfeatures}
+\piyo\test
 \addjfontfeatures{
-  AltFontFeatures={ Color=0000FF }, AltFontRange= { "3040-"304F },
-  Color=001F00, CJKShape=Traditional
+  AltFont={ {Range="4F00-"6FFF, Color=0000FF}, },
+  Color=003F00,CJKShape=Traditional
+%% AltFont は累積する
 }
-% AltFontFeature, AltFontRange は累積しない
+\makeatletter\k@family\test
+
+\section{YokoFeaturesなどとの関係}
+\paragraph{うまくいかない例: YokoFeatures等の中にAltFont}
+{%
+\jfontspec[
+  YokoFeatures = {
+    AltFont={
+      {Font=JJSYuMin5goKn-D,Range="3000-"30FF, Color=003F3F},
+    }, JFM=min,
+  },
+  TateFeatures = {
+    AltFont={
+      {Font=JJSYuMin5goKn-R,Range="3000-"304F, Color=7F0000, JFM=tmin },
+      {Font=JJSYuMin5goKn-R,Range="3050-"30FF, Color=00007F},
+    },
+  }
+]{JJSYuMinchoPr6N-R}
+\makeatletter\k@family\test
+}
+\paragraph{うまくいく例: AltFontの中にYokoFeature}
+{%
+\jfontspec[
+  %YokoFeatures = { JFM=min },
+  AltFont={
+    { 
+      Font=JJSYuMin5goKn-D, YokoFeatures = { Color=FF3F3F },
+      TateFont = JJSYuMin5goKn-R, TateFeatures = { Color=7F0000, JFM=tmin  },
+      Range="3000-"304F, 
+    },
+    { 
+      Font=JJSYuMin5goKn-D, YokoFeatures = { Color=4F3F3F },
+      TateFont=JJSYuMin5goKn-R, TateFeatures = { Color=00007F },
+      Range="3050-"30FF, 
+    },
+  }
+]{JJSYuMinchoPr6N-R}
+\makeatletter\k@family\test
+}
+
+どっちかではうまくいくようにしたいが……
+
+\typeout{!!! BOLD}
+\paragraph{BoldFeaturesとAltFontその1}
+\jfontspec
+[
+  AltFont={{Color=0000FF, Range="6000-"9FFF}},
+  BoldFont=KozMinPr6N-Bold,
+  UprightFeatures = {
+    AltFont = {
+      { Font=KozGoPr6N-Light, Range="3000-"30FF, TateFont = KozGoPr6N-Heavy,
+        YokoFeatures={ Color=4F0000} } 
+    },
+  },
+  BoldFeatures = { Color=006F00,
+    AltFont = { { Font=KozGoPr6N-Bold, Range="3000-"30FF } },
+  }, 
+]{KozMinPr6N-Light}
 \test
+\bfseries\test
 
 \end{document}
\ No newline at end of file