OSDN Git Service

Tertiary Ideographic Plane
[luatex-ja/luatexja.git] / test / test20a-mfont-fontspec.tex
index 0c3b392..6ef7f2f 100644 (file)
@@ -2,27 +2,31 @@
 \documentclass{ltjsarticle}
 \usepackage{luatexja-fontspec,luatexja-otf}
 
-\newjfontfamily\fuga[
-  AltFontFeatures = { { Color=7F0000, CharacterWidth=Half } },
-%   AltFontFeatures = { Color=7F0000, CharacterWidth=Half }, ではいけない
-  AltFontRange = { "3000-"30FF } , 
-  AltFont = JJSYuGothicPr6N-M 
-]{JJSYuMinchoPr6N-R}
+\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[
-  AltFontFeatures = { { Color=00007F, CharacterWidth=Half }, { Color=7F0000 } },
-  AltFontRange = { { "3000-"307F }, { "3080-"30FF } }, 
-  AltFont = { ,  JJSYuGothicPr6N-M},
-  BoldFont = { JJSYuGothicPr6N-M }, 
-  BoldFeatures = { AltFont={ ,  } }, 
+  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 #00007F, 半角
-  AltFontFeatures = { { Color=00007F, CharacterWidth=Half } },
-  AltFontRange = { { "3000-"309F }, { "3080-"30FF } }, 
-  AltFont = { ,  JJSYuGothicPr6N-M},
+% ひらがな は JJSYuMinchoPr6N-R 半角
 ]{JJSYuMinchoPr6N-R}
 
 \setsansjfont{KozGoPr6N-Medium}
   その権力は国民の代表者がこれを行使し、その福利は国民がこれを享受する。
   これは人類普遍の原理であり、この憲法は、かかる原理に基くものである。
   われらは、これに反する一切の憲法、法令及び詔勅を排除する。
+
+  \vbox{\tate\hsize=10\zw
+  日本国民は、正当に選挙された国会における代表者を通じて行動し、
+  われらとわれらの子孫のために、諸国民との協和による成果と、
+  わが国全土にわたつて自由のもたらす恵沢を確保し、政府の行為によつて
+  再び戦争の惨禍が起ることのないやうにすることを決意し、
+  ここに主権が国民に存することを宣言し、この憲法を確定する。
+  }
 }
 \begin{document}
 
-\fuga\test
-
-\medskip
 \hoge\test
 
 \medskip\piyo\test
 
-\paragraph{addfontfeatures}\ \par
-\addjfontfeatures{
-  AltFontFeatures={Color=0000FF}, 
-  AltFontRange={"3040-"304F,"3080-"30FF},
-% { {"3040-"304F}, {"3080-"30FF} } の意味になるので,
-% 3040-304F: 青,
-% 3080-30FF: ゴチ(addjfontfeatures 前でそのような指定があるため)
-  Color=001F00,CJKShape=Traditional
-% AltFontFeature, AltFontRange は累積しない
-}
-\test
-
-\typeout{5号かな}
+\newpage
+%\typeout{!!!! 5gou kana}
+\section{5号かな}
+{%
 \jfontspec[
-  AltFont={JJSYuMin5goKn-R,DejaVuSans },
-  AltFontFeatures={,{Color=0000FF,JFM=prop }},
-  AltFontRange={"3000-"30FF,{"21B3,"21B5 }}%"
+  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)
+(\ltjjachar"21B5)%"
+}
+
+\newpage
+\section{addfontfeatures}
+\piyo\test
+\addjfontfeatures{
+  AltFont={ {Range="4F00-"6FFF, Color=0000FF}, },
+  Color=003F00,CJKShape=Traditional
+%% AltFont は累積する
+}
+\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