5 \NeedsTeXFormat{LaTeX2e}
6 %\ProvidesPackage{lltjp-fontspec}[2017/08/24 Patch to fontspec for LuaTeX-ja]
8 \RequirePackage{fontspec,luatexja}
11 % <= v2.6g uses \l__fontspec_nfss_enc_tl instead of \g__fontspec_nfss_enc_tl
12 \ifdefined \g__fontspec_nfss_enc_tl \else
13 \def \g__fontspec_nfss_enc_tl { \l__fontspec_nfss_enc_tl }
16 %%%%%%%% fontspec v2.5c overwrites \rmfamily etc. in \setmainfont
17 \@ifpackagelater{fontspec}{2018/07/29}{ %% 2.6h or later
18 \cs_set:Nn \__fontspec_main_setmainfont:nn
20 \fontspec_set_family:Nnn \l__fontspec_rmfamily_family_tl {#1} {#2}
21 \tl_set_eq:NN \rmdefault \l__fontspec_rmfamily_family_tl
24 \exp_not:n { \DeclareRobustCommand \rmfamily }
26 \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
27 \exp_not:N \fontfamily { \l__fontspec_rmfamily_family_tl }
28 \exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\mcdefault\exp_not:N\fi%%%
29 \exp_not:N \selectfont
32 \str_if_eq_x:nnT {\familydefault} {\rmdefault}
33 { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
34 \__fontspec_setmainfont_hook:nn {#1} {#2}
37 \cs_set:Nn \__fontspec_main_setsansfont:nn
39 \fontspec_set_family:Nnn \l__fontspec_sffamily_family_tl {#1} {#2}
40 \tl_set_eq:NN \sfdefault \l__fontspec_sffamily_family_tl
43 \exp_not:n { \DeclareRobustCommand \sffamily }
45 \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
46 \exp_not:N \fontfamily { \l__fontspec_sffamily_family_tl }
47 \exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\gtdefault\exp_not:N\fi%%%
48 \exp_not:N \selectfont
51 \str_if_eq_x:nnT {\familydefault} {\sfdefault}
52 { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
53 \__fontspec_setsansfont_hook:nn {#1} {#2}
56 \cs_set:Nn \__fontspec_main_setmonofont:nn
58 \fontspec_set_family:Nnn \l__fontspec_ttfamily_family_tl {#1} {#2}
59 \tl_set_eq:NN \ttdefault \l__fontspec_ttfamily_family_tl
62 \exp_not:n { \DeclareRobustCommand \ttfamily }
64 \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
65 \exp_not:N \fontfamily { \l__fontspec_ttfamily_family_tl }
66 \exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\jttdefault\exp_not:N\fi%%%
67 \exp_not:N \selectfont
70 \str_if_eq_x:nnT {\familydefault} {\ttdefault}
71 { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
72 \__fontspec_setmonofont_hook:nn {#1} {#2}
76 \DeclareDocumentCommand \setmainfont { O{} m O{} }
78 \fontspec_set_family:Nnn \g__fontspec_rmfamily_family {#1,#3} {#2}
79 \tl_set_eq:NN \rmdefault \g__fontspec_rmfamily_family
80 \use:x { \exp_not:n { \DeclareRobustCommand \rmfamily }
82 \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
83 \exp_not:N \fontfamily { \g__fontspec_rmfamily_family }
84 \exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\mcdefault\exp_not:N\fi%%%
85 \exp_not:N \selectfont
88 \str_if_eq_x:nnT {\familydefault} {\rmdefault}
89 { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
93 \DeclareDocumentCommand \setsansfont { O{} m O{} }
95 \fontspec_set_family:Nnn \g__fontspec_sffamily_family {#1,#3} {#2}
96 \tl_set_eq:NN \sfdefault \g__fontspec_sffamily_family
97 \use:x { \exp_not:n { \DeclareRobustCommand \sffamily }
99 \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
100 \exp_not:N \fontfamily { \g__fontspec_sffamily_family }
101 \exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\gtdefault\exp_not:N\fi%%%
102 \exp_not:N \selectfont
105 \str_if_eq_x:nnT {\familydefault} {\sfdefault}
106 { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
110 \DeclareDocumentCommand \setmonofont { O{} m O{} }
112 \fontspec_set_family:Nnn \g__fontspec_ttfamily_family {#1,#3} {#2}
113 \tl_set_eq:NN \ttdefault \g__fontspec_ttfamily_family
114 \use:x { \exp_not:n { \DeclareRobustCommand \ttfamily }
116 \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
117 \exp_not:N \fontfamily { \g__fontspec_ttfamily_family }
118 \exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\jttdefault\exp_not:N\fi%%%
119 \exp_not:N \selectfont
122 \str_if_eq_x:nnT {\familydefault} {\ttdefault}
123 { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
129 \cs_set:Nn \fontspec_visible_space:
131 \__fontspec_primitive_font_glyph_if_exist:NnTF \font {"2423}
132 { \ltjalchar"2423\scan_stop: }
133 { \fontspec_visible_space_fallback: }
138 \relax\ifmmode\hbox\else\leavevmode\fi % same as lltjcore
140 \verb@eol@error \let\do\@makeother \dospecials
141 \verbatim@font\@noligs
142 \@ifstar\__fontspecsverb\@verb
145 \cs_set:Npn \emshape { \gtfamily \itshape }
146 \cs_set:Npn \eminnershape { \mcfamily \upshape }
149 \expandafter\patchcmd\csname TU\string\textasteriskcentered\endcsname{\char}{\ltjalchar}{}{}