-%#!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
+\section{5号かな}
+{%
+\jfontspec[
+ AltFont={
+ {Font=JJSYuMin5goKn-R,Range="3000-"30FF, Color=007F00},
+ {Font=DejaVuSans, Range={"21B3,"21B5},Color=0000FF,YokoFeatures={JFM=prop} },
+ }
+]{JJSYuMinchoPr6N-R}
-\paragraph{addfontfeatures}\ \par
+\makeatletter\k@family
+日本国民は、正当に選挙された国会における代表者を通じて行動し、
+(\ltjjachar"21B3)
+(\ltjjachar"21B4)
+(\ltjjachar"21B5)%"
+}
+
+\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
+}
+
+どっちかではうまくいくようにしたいが……
+
+
+\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