summaryrefslogtreecommitdiff
path: root/macros/luatex/generic/luatexja/src/patches/lltjp-fontspec.sty
blob: 589a3c5d6efcad75678767ee878cff0ec642cd96 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
%
% lltjp-fontspec.sty 2020-01-13
%

\NeedsTeXFormat{LaTeX2e}

\RequirePackage{fontspec}
\ExplSyntaxOn

%%%%%%%% fontspec v2.5c overwrites \rmfamily etc. in \setmainfont
\@ifpackagelater{fontspec}{2020/01/09}{ %% 2.7e or later
  \tl_replace_all:cnn { rmfamily~ } { \fontfamily }{ \romanfamily }
  \tl_replace_all:cnn { sffamily~ } { \fontfamily }{ \romanfamily }
  \tl_replace_all:cnn { ttfamily~ } { \fontfamily }{ \romanfamily }
  \cs_if_exist:NF \@rmfamilyhook {
    \tl_replace_all:cnn { rmfamily~ } { \selectfont } {
      \if@ltj@match@family
        \prepare@family@series@update@kanji{mc}\mcdefault
      \fi\selectfont
    }
    \tl_replace_all:cnn { sffamily~ } { \selectfont } {
      \if@ltj@match@family
        \prepare@family@series@update@kanji{gt}\gtdefault
      \fi\selectfont
    }
    \tl_replace_all:cnn { ttfamily~ } { \selectfont } {
      \if@ltj@match@family
        \prepare@family@series@update@kanji{jtt}\jttdefault
      \fi\selectfont
    }
  }
%% end of 2.7e (or later)
}{\@ifpackagelater{fontspec}{2019/10/19}{ %% 2.7d
\cs_set:Nn \__fontspec_main_setmainfont:nn
  {
    \fontspec_set_family:Nnn \l__fontspec_rmfamily_family_tl {#1} {#2}
    \tl_set_eq:NN \rmdefault \l__fontspec_rmfamily_family_tl
    \use:x
      {
        \exp_not:n { \DeclareRobustCommand \rmfamily }
          {
            \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
            \exp_not:N \fontfamily { \exp_not:N \rmdefault }
    \exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\mcdefault\exp_not:N\fi%%%
            \exp_not:N \selectfont
          }
      }
    \str_if_eq:eeT {\familydefault} {\rmdefault}
      { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
    \__fontspec_setmainfont_hook:nn {#1} {#2}
    \normalfont
  }
\cs_set:Nn \__fontspec_main_setsansfont:nn
  {
    \fontspec_set_family:Nnn \l__fontspec_sffamily_family_tl {#1} {#2}
    \tl_set_eq:NN \sfdefault \l__fontspec_sffamily_family_tl
    \use:x
      {
        \exp_not:n { \DeclareRobustCommand \sffamily }
          {
            \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
            \exp_not:N \fontfamily { \exp_not:N \sfdefault  }
    \exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\gtdefault\exp_not:N\fi%%%
            \exp_not:N \selectfont
          }
      }
    \str_if_eq:eeT {\familydefault} {\sfdefault}
      { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
    \__fontspec_setsansfont_hook:nn {#1} {#2}
    \normalfont
  }
\cs_set:Nn \__fontspec_main_setmonofont:nn
  {
    \fontspec_set_family:Nnn \l__fontspec_ttfamily_family_tl {#1} {#2}
    \tl_set_eq:NN \ttdefault \l__fontspec_ttfamily_family_tl
    \use:x
      {
        \exp_not:n { \DeclareRobustCommand \ttfamily }
          {
            \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
            \exp_not:N \fontfamily {  \exp_not:N \ttdefault }
    \exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\jttdefault\exp_not:N\fi%%%
            \exp_not:N \selectfont
          }
      }
    \str_if_eq:eeT {\familydefault} {\ttdefault}
      { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
    \__fontspec_setmonofont_hook:nn {#1} {#2}
    \normalfont
  }
%% end of 2.7d
}{%% 2.7c
\cs_set:Nn \__fontspec_main_setmainfont:nn
  {
    \fontspec_set_family:Nnn \l__fontspec_rmfamily_family_tl {#1} {#2}
    \tl_set_eq:NN \rmdefault \l__fontspec_rmfamily_family_tl
    \use:x
      {
        \exp_not:n { \DeclareRobustCommand \rmfamily }
          {
            \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
            \exp_not:N \fontfamily { \l__fontspec_rmfamily_family_tl }
    \exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\mcdefault\exp_not:N\fi%%%
            \exp_not:N \selectfont
          }
      }
    \str_if_eq:eeT {\familydefault} {\rmdefault}
      { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
    \__fontspec_setmainfont_hook:nn {#1} {#2}
    \normalfont
  }
\cs_set:Nn \__fontspec_main_setsansfont:nn
  {
    \fontspec_set_family:Nnn \l__fontspec_sffamily_family_tl {#1} {#2}
    \tl_set_eq:NN \sfdefault \l__fontspec_sffamily_family_tl
    \use:x
      {
        \exp_not:n { \DeclareRobustCommand \sffamily }
          {
            \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
            \exp_not:N \fontfamily { \l__fontspec_sffamily_family_tl }
    \exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\gtdefault\exp_not:N\fi%%%
            \exp_not:N \selectfont
          }
      }
    \str_if_eq:eeT {\familydefault} {\sfdefault}
      { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
    \__fontspec_setsansfont_hook:nn {#1} {#2}
    \normalfont
  }
\cs_set:Nn \__fontspec_main_setmonofont:nn
  {
    \fontspec_set_family:Nnn \l__fontspec_ttfamily_family_tl {#1} {#2}
    \tl_set_eq:NN \ttdefault \l__fontspec_ttfamily_family_tl
    \use:x
      {
        \exp_not:n { \DeclareRobustCommand \ttfamily }
          {
            \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
            \exp_not:N \fontfamily { \l__fontspec_ttfamily_family_tl }
    \exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\jttdefault\exp_not:N\fi%%%
            \exp_not:N \selectfont
          }
      }
    \str_if_eq:eeT {\familydefault} {\ttdefault}
      { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
    \__fontspec_setmonofont_hook:nn {#1} {#2}
    \normalfont
  }
%% end of 2.7c
}}

\cs_set:Nn \fontspec_visible_space:
 {
 \__fontspec_primitive_font_glyph_if_exist:NnTF \font {"2423}
   { \ltjalchar"2423\scan_stop: }
   { \fontspec_visible_space_fallback: }
 }

\cs_set:Npn \emshape { \gtfamily \itshape }
\cs_set:Npn \eminnershape { \mcfamily \upshape }

\ExplSyntaxOff
\expandafter\patchcmd\csname TU\string\textasteriskcentered\endcsname{\char}{\ltjalchar}{}{}

\endinput