2 % lltjp-fontspec.sty 2020-01-13
5 \NeedsTeXFormat{LaTeX2e}
7 \RequirePackage{fontspec}
10 %%%%%%%% fontspec v2.5c overwrites \rmfamily etc. in \setmainfont
11 \@ifpackagelater{fontspec}{2020/01/09}{ %% 2.7e or later
12 \tl_replace_all:cnn { rmfamily~ } { \fontfamily }{ \romanfamily }
13 \tl_replace_all:cnn { sffamily~ } { \fontfamily }{ \romanfamily }
14 \tl_replace_all:cnn { ttfamily~ } { \fontfamily }{ \romanfamily }
15 \typeout{LATEX~ 2019-10-01!}
16 \cs_if_exist:NF \@rmfamilyhook {
17 \tl_replace_all:cnn { rmfamily~ } { \selectfont } {
19 \prepare@family@series@update@kanji{mc}\mcdefault
22 \tl_replace_all:cnn { sffamily~ } { \selectfont } {
24 \prepare@family@series@update@kanji{gt}\gtdefault
27 \tl_replace_all:cnn { ttfamily~ } { \selectfont } {
29 \prepare@family@series@update@kanji{jtt}\jttdefault
33 %% end of 2.7e (or later)
34 }{\@ifpackagelater{fontspec}{2019/10/19}{ %% 2.7d
35 \cs_set:Nn \__fontspec_main_setmainfont:nn
37 \fontspec_set_family:Nnn \l__fontspec_rmfamily_family_tl {#1} {#2}
38 \tl_set_eq:NN \rmdefault \l__fontspec_rmfamily_family_tl
41 \exp_not:n { \DeclareRobustCommand \rmfamily }
43 \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
44 \exp_not:N \fontfamily { \exp_not:N \rmdefault }
45 \exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\mcdefault\exp_not:N\fi%%%
46 \exp_not:N \selectfont
49 \str_if_eq:eeT {\familydefault} {\rmdefault}
50 { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
51 \__fontspec_setmainfont_hook:nn {#1} {#2}
54 \cs_set:Nn \__fontspec_main_setsansfont:nn
56 \fontspec_set_family:Nnn \l__fontspec_sffamily_family_tl {#1} {#2}
57 \tl_set_eq:NN \sfdefault \l__fontspec_sffamily_family_tl
60 \exp_not:n { \DeclareRobustCommand \sffamily }
62 \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
63 \exp_not:N \fontfamily { \exp_not:N \sfdefault }
64 \exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\gtdefault\exp_not:N\fi%%%
65 \exp_not:N \selectfont
68 \str_if_eq:eeT {\familydefault} {\sfdefault}
69 { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
70 \__fontspec_setsansfont_hook:nn {#1} {#2}
73 \cs_set:Nn \__fontspec_main_setmonofont:nn
75 \fontspec_set_family:Nnn \l__fontspec_ttfamily_family_tl {#1} {#2}
76 \tl_set_eq:NN \ttdefault \l__fontspec_ttfamily_family_tl
79 \exp_not:n { \DeclareRobustCommand \ttfamily }
81 \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
82 \exp_not:N \fontfamily { \exp_not:N \ttdefault }
83 \exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\jttdefault\exp_not:N\fi%%%
84 \exp_not:N \selectfont
87 \str_if_eq:eeT {\familydefault} {\ttdefault}
88 { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
89 \__fontspec_setmonofont_hook:nn {#1} {#2}
94 \cs_set:Nn \__fontspec_main_setmainfont:nn
96 \fontspec_set_family:Nnn \l__fontspec_rmfamily_family_tl {#1} {#2}
97 \tl_set_eq:NN \rmdefault \l__fontspec_rmfamily_family_tl
100 \exp_not:n { \DeclareRobustCommand \rmfamily }
102 \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
103 \exp_not:N \fontfamily { \l__fontspec_rmfamily_family_tl }
104 \exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\mcdefault\exp_not:N\fi%%%
105 \exp_not:N \selectfont
108 \str_if_eq:eeT {\familydefault} {\rmdefault}
109 { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
110 \__fontspec_setmainfont_hook:nn {#1} {#2}
113 \cs_set:Nn \__fontspec_main_setsansfont:nn
115 \fontspec_set_family:Nnn \l__fontspec_sffamily_family_tl {#1} {#2}
116 \tl_set_eq:NN \sfdefault \l__fontspec_sffamily_family_tl
119 \exp_not:n { \DeclareRobustCommand \sffamily }
121 \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
122 \exp_not:N \fontfamily { \l__fontspec_sffamily_family_tl }
123 \exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\gtdefault\exp_not:N\fi%%%
124 \exp_not:N \selectfont
127 \str_if_eq:eeT {\familydefault} {\sfdefault}
128 { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
129 \__fontspec_setsansfont_hook:nn {#1} {#2}
132 \cs_set:Nn \__fontspec_main_setmonofont:nn
134 \fontspec_set_family:Nnn \l__fontspec_ttfamily_family_tl {#1} {#2}
135 \tl_set_eq:NN \ttdefault \l__fontspec_ttfamily_family_tl
138 \exp_not:n { \DeclareRobustCommand \ttfamily }
140 \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
141 \exp_not:N \fontfamily { \l__fontspec_ttfamily_family_tl }
142 \exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\jttdefault\exp_not:N\fi%%%
143 \exp_not:N \selectfont
146 \str_if_eq:eeT {\familydefault} {\ttdefault}
147 { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
148 \__fontspec_setmonofont_hook:nn {#1} {#2}
154 \cs_set:Nn \fontspec_visible_space:
156 \__fontspec_primitive_font_glyph_if_exist:NnTF \font {"2423}
157 { \ltjalchar"2423\scan_stop: }
158 { \fontspec_visible_space_fallback: }
161 \cs_set:Npn \emshape { \gtfamily \itshape }
162 \cs_set:Npn \eminnershape { \mcfamily \upshape }
165 \expandafter\patchcmd\csname TU\string\textasteriskcentered\endcsname{\char}{\ltjalchar}{}{}