% 異なる和文 enc/fam/ser/shape からは異なるフォント番号が振られるように
% わざと「ゴミをつける」
\def\ltj@@patch@external@font#1 at{%
- #1;\directlua{luatexja.jfont.print_aftl_address(%
- '\luatexluaescapestring{\f@encoding/\f@family/\f@series/\f@shape}')}\space at%
+ #1\directlua{luatexja.jfont.print_aftl_address()}\space at%
}
\def\extract@jfont{%
\get@external@font
- \edef\external@font{\expandafter\ltj@@patch@external@font\external@font}%
+ \ltj@@does@alt@set{\f@encoding/\f@family/\f@series/\f@shape}%
+ \edef\external@font{\expandafter\ltj@@patch@external@font\external@font}%
+ \fi
\expandafter\globaljfont\font@name\external@font\relax
\font@name%\global\zw=\zw\global\zh=\zh
\csname \f@encoding+\f@family\endcsname
\let\ltj@@alt@selectfont@orig=\selectfont
\def\selectfont{%
\ltj@@alt@selectfont@orig
- % alt fonts の定義
- \directlua{luatexja.jfont.output_alt_font_cmd('\luatexluaescapestring{\curr@kfontshape}')}%
- % 定義した alt fonts のデータを \ltjdeclarealtfont に渡すのと同等の処理をする
- \directlua{luatexja.jfont.pickup_alt_font_a('\f@size')}%
+ \ltj@@does@alt@set{\curr@kfontshape}
+ % alt fonts の定義
+ \directlua{luatexja.jfont.output_alt_font_cmd('\luatexluaescapestring{\curr@kfontshape}')}%
+ % 定義した alt fonts のデータを \ltjdeclarealtfont に渡すのと同等の処理をする
+ \directlua{luatexja.jfont.pickup_alt_font_a('\f@size')}%
+ \fi
}
+%\let\selectfont=\ltj@@alt@selectfont@orig
+
\def\ltj@pickup@altfont@aux#1{%
{\edef\font@name{\csname #1/\f@size\endcsname}\pickup@jfont}%
}
\directlua{luatexja.jfont.pickup_alt_font_b(\the\ltj@tempcntc,'\luatexluaescapestring{#2}')}%
}
+\def\ltj@@does@alt@set#1{%
+ \directlua{luatexja.jfont.does_alt_set'\luatexluaescapestring{#1}'}}
+
\endinput