リビジョン | fcfc3e15900ed56d46784a5f5e87e5330788ad0d (tree) |
---|---|
日時 | 2020-03-19 21:14:45 |
作者 | Hironori Kitagawa <h_kitagawa2001@yaho...> |
コミッター | Hironori Kitagawa |
changed default of luatexja-preset to haranoaji
@@ -661,7 +661,7 @@ and \emph{Japanese fonts} for fonts used in \textbf{JAchar}. | ||
661 | 661 | \item \href{https://github.com/wspr/fontspec/}{\Pkg{fontspec}} v2.7c (or later) |
662 | 662 | %%% %<en>\item \emph{IPAex fonts} (\url{http://ipafont.ipa.go.jp/}) |
663 | 663 | %%% %<ja>\item \emph{IPAexフォント(\url{http://ipafont.ipa.go.jp/})} |
664 | -%<en>\item \emph{Haranoaji fonts} (\url{https://github.com/trueroad/HaranoAjiFonts}) | |
664 | +%<en>\item \emph{Harano Aji fonts} (\url{https://github.com/trueroad/HaranoAjiFonts}) | |
665 | 665 | %<ja>\item \emph{原ノ味フォント(\url{https://github.com/trueroad/HaranoAjiFonts})} |
666 | 666 | \end{itemize} |
667 | 667 |
@@ -674,7 +674,7 @@ the following distributions: | ||
674 | 674 | \item \href{http://w32tex.org/}{W32\TeX}\ (in \texttt{luatexja.tar.xz}) |
675 | 675 | \item MiK\TeX\ (in \texttt{luatexja.tar.lzma}); see the next subsection |
676 | 676 | \end{itemize} |
677 | -Haranoaji fonts are available in \TeX~Live and MiK\TeX. | |
677 | +Harano Aji fonts are available in \TeX~Live and MiK\TeX. | |
678 | 678 | %</en> |
679 | 679 | %<*ja> |
680 | 680 | 現在,\LuaTeX-jaはCTAN (\texttt{macros/luatex/generic/luatexja})に収録されている他, |
@@ -3988,7 +3988,8 @@ For example, | ||
3988 | 3988 | \def\ltj@stdgtfont{IPAGothic} |
3989 | 3989 | \end{lstlisting} |
3990 | 3990 | makes that IPA~Mincho and IPA~Gothic will be used as default Japanese fonts, instead of |
3991 | -IPAex~Mincho and IPAex~Gothic. | |
3991 | +Harano Aji fonts. | |
3992 | +%IPAex~Mincho and IPAex~Gothic. | |
3992 | 3993 | |
3993 | 3994 | This feature is intended for classes which use special JFMs |
3994 | 3995 | \footnote{This is because commands has \texttt{@} in their names.}. |
@@ -8061,17 +8062,15 @@ There is not rounded gothic family in Kozuka fonts. | ||
8061 | 8062 | |
8062 | 8063 | %<*en> |
8063 | 8064 | Hiragino fonts (except Hiragino~Mincho~W2) are bundled with Mac OS~X 10.5 or later. |
8064 | -Some editions of a Japanese word-processor ``一太郎2012'' includes Hiragino ProN fonts. | |
8065 | 8065 | Note that fonts for gothic extra~bold (HiraKakuStd[N]-W8) only contains characters in |
8066 | 8066 | Adobe-Japan1-3 character collection, while others contains those in |
8067 | 8067 | Adobe-Japan1-5 character collection. |
8068 | 8068 | %</en> |
8069 | 8069 | %<*ja> |
8070 | -ヒラギノフォントは,Mac OS~X以外にも,一太郎2012の上位エディションにもバンドルされている. | |
8071 | 8070 | 極太ゴシック体として用いるヒラギノ角ゴW8は,Adobe-Japan1-3の範囲しかカバーしていない |
8072 | 8071 | Std/StdNフォントであり,その他はAdobe-Japan1-5対応である. |
8073 | 8072 | |
8074 | -なお,明朝体細字として用いるヒラギノ明朝体W2はOS~Xや一太郎にはバンドルされておらず, | |
8073 | +なお,明朝体細字として用いるヒラギノ明朝体W2はOS~Xにはバンドルされておらず, | |
8075 | 8074 | 別途購入する必要がある. |
8076 | 8075 | %</ja> |
8077 | 8076 | \begin{center}\small |
@@ -1,5 +1,5 @@ | ||
1 | 1 | % luatexja-preset.sty |
2 | -\ProvidesPackage{luatexja-preset}[2020/01/26 Japanese font presets] | |
2 | +\ProvidesPackage{luatexja-preset}[2020/03/19 Japanese font presets] | |
3 | 3 | |
4 | 4 | \RequirePackage{expl3,l3keys2e} |
5 | 5 | \RequirePackage{luatexja} |
@@ -359,7 +359,7 @@ | ||
359 | 359 | __custom = false, __office = false, __noembed = true, |
360 | 360 | } |
361 | 361 | |
362 | -\keys_set:nn {luatexja-preset} { ipaex } | |
362 | +\keys_set:nn {luatexja-preset} { haranoaji } %% old: ipaex | |
363 | 363 | \ProcessKeysOptions { luatexja-preset } |
364 | 364 | \@ifpackageloaded{luatexja-fontspec}{ |
365 | 365 | \bool_if:NT \g__ltjpreset_nfssonly_bool |
@@ -1,1099 +0,0 @@ | ||
1 | -% | |
2 | -% lltjfont.sty: derived from plfonts.dtx in pLaTeX. | |
3 | -% | |
4 | - | |
5 | -\NeedsTeXFormat{LaTeX2e} | |
6 | -\ProvidesPackage{lltjfont}[2020/03/15 Patch to NFSS2 for LuaTeX-ja] | |
7 | - | |
8 | -%% patching \DeclareTextComposite | |
9 | -\def\ltj@chardef@text@cmd#1{% | |
10 | - \let\@ifdefinable\@@ifdefinable% | |
11 | - \edef\ltj@chardef@text@cmd@name{\expandafter\@gobble\string#1}% | |
12 | - \afterassignment\ltj@chardef@text@cmd@\ltj@tempcnta | |
13 | -} | |
14 | -\def\ltj@chardef@text@cmd@{% | |
15 | - \ifnum\ltj@tempcnta>"7F | |
16 | - \expandafter\edef\csname \ltj@chardef@text@cmd@name\endcsname{% | |
17 | - \noexpand\ltjalchar\the\ltj@tempcnta\space | |
18 | - }% | |
19 | - \else | |
20 | - \expandafter\chardef\csname \ltj@chardef@text@cmd@name\endcsname\ltj@tempcnta | |
21 | - \fi | |
22 | -} | |
23 | -\def\DeclareTextSymbol#1#2#3{% | |
24 | - \@dec@text@cmd\ltj@chardef@text@cmd#1{#2}#3\relax | |
25 | -} | |
26 | - | |
27 | -\let\ltj@temp@DeclareTextComposite=\DeclareTextComposite | |
28 | -\def\DeclareTextComposite#1#2#3#4{}% | |
29 | -\input{tuenc.def} | |
30 | -\let\DeclareTextComposite=\ltj@temp@DeclareTextComposite | |
31 | -\expandafter\patchcmd\csname TU\string\textasteriskcentered\endcsname{\char}{\ltjalchar}{}{} | |
32 | - | |
33 | - | |
34 | -\let\k@encoding\@empty | |
35 | -\let\ck@encoding\@empty | |
36 | -% LuaTeX-ja uses JY3 and JT3 encodings. | |
37 | -\def\cy@encoding{JY3}\def\ct@encoding{JT3} | |
38 | - | |
39 | -\let\k@family\@empty | |
40 | -\let\k@series\@empty | |
41 | -\let\k@shape\@empty | |
42 | -\def\curr@kfontshape{\k@encoding/\k@family/\k@series/\k@shape} | |
43 | -\def\rel@fontshape{\f@encoding/\f@family/\f@series/\f@shape} | |
44 | -\ifdefined\Cht\else\newdimen\Cht\fi | |
45 | -\ifdefined\cht\else\newdimen\cht\fi | |
46 | -\ifdefined\Cdp\else\newdimen\Cdp\fi | |
47 | -\ifdefined\cdp\else\newdimen\cdp\fi | |
48 | -\ifdefined\Cwd\else\newdimen\Cwd\fi | |
49 | -\ifdefined\cwd\else\newdimen\cwd\fi | |
50 | -\ifdefined\Cvs\else\newdimen\Cvs\fi | |
51 | -\ifdefined\cvs\else\newdimen\cvs\fi | |
52 | -\ifdefined\Chs\else\newdimen\Chs\fi | |
53 | -\ifdefined\chs\else\newdimen\chs\fi | |
54 | -\ifdefined\cHT\else\newdimen\cHT\fi | |
55 | -%\let\afont\font | |
56 | - | |
57 | -\let\ystrutbox\strutbox | |
58 | -\newbox\dstrutbox | |
59 | -\newbox\tstrutbox | |
60 | -\newbox\zstrutbox | |
61 | -\def\strutbox{% | |
62 | - \ifnum\ltjgetparameter{direction}=1 \dstrutbox % dtou | |
63 | - \else\ifnum\ltjgetparameter{direction}=4 \ystrutbox % yoko | |
64 | - \else\tstrutbox % tate and utod | |
65 | - \fi\fi | |
66 | -} | |
67 | -\DeclareRobustCommand\strut{\relax | |
68 | - \ifnum\ltjgetparameter{direction}=1 % dtou | |
69 | - \ifmmode\copy\dstrutbox\else\unhcopy\dstrutbox\fi | |
70 | - \else\ifnum\ltjgetparameter{direction}=4 % yoko | |
71 | - \ifmmode\copy\ystrutbox\else\unhcopy\ystrutbox\fi | |
72 | - \else % tate and utod | |
73 | - \ifmmode\copy\tstrutbox\else\unhcopy\tstrutbox\fi | |
74 | - \fi\fi | |
75 | -} | |
76 | - | |
77 | -\DeclareRobustCommand\ystrut{\relax\hbox{\ltj@@orig@yoko | |
78 | - \ifmmode\copy\ystrutbox\else\unhcopy\ystrutbox\fi}} | |
79 | -\DeclareRobustCommand\tstrut{\relax\hbox{\ltj@@orig@tate | |
80 | - \ifmmode\copy\tstrutbox\else\unhcopy\tstrutbox\fi}} | |
81 | -\DeclareRobustCommand\dstrut{\relax\hbox{\ltj@@orig@dtou | |
82 | - \ifmmode\copy\dstrutbox\else\unhcopy\dstrutbox\fi}} | |
83 | -\DeclareRobustCommand\zstrut{\relax\hbox{\ltj@@orig@utod | |
84 | - \ifmmode\copy\zstrutbox\else\unhcopy\zstrutbox\fi}} | |
85 | - | |
86 | -{% | |
87 | - \def\cdp@elt#1#2#3#4{% | |
88 | - \directlua{luatexja.jfont.add_fenc_list('\luatexluaescapestring{#1}')}}% | |
89 | - \cdp@list% | |
90 | -} | |
91 | - | |
92 | -\def\DeclareFontEncoding{% | |
93 | - \begingroup | |
94 | - \nfss@catcodes | |
95 | - \expandafter\endgroup | |
96 | - \DeclareFontEncoding@} | |
97 | -\def\DeclareFontEncoding@#1#2#3{% | |
98 | - \expandafter | |
99 | - \ifx\csname T@#1\endcsname\relax | |
100 | - \def\cdp@elt{\noexpand\cdp@elt}% | |
101 | - \xdef\cdp@list{\cdp@list\cdp@elt{#1}% | |
102 | - {\default@family}{\default@series}% | |
103 | - {\default@shape}}% | |
104 | - \expandafter\let\csname#1-cmd\endcsname\@changed@cmd | |
105 | - \directlua{luatexja.jfont.add_fenc_list('\luatexluaescapestring{#1}')}% | |
106 | - \else | |
107 | - \@font@info{Redeclaring font encoding #1}% | |
108 | - \fi | |
109 | - \global\@namedef{T@#1}{#2}% | |
110 | - \global\@namedef{M@#1}{\default@M#3}% | |
111 | - \xdef\LastDeclaredEncoding{#1}% | |
112 | - } | |
113 | -\def\DeclareKanjiEncoding#1{% | |
114 | - \@latex@warning{% | |
115 | - The \string\DeclareKanjiEncoding\space is obsoleted command. Please use | |
116 | - \MessageBreak | |
117 | - the \string\DeclareTateKanjiEncoding\space for `Tate-kumi' encoding, and | |
118 | - \MessageBreak | |
119 | - the \string\DeclareYokoKanjiEncoding\space for `Yoko-kumi' encoding. | |
120 | - \MessageBreak | |
121 | - I treat the `#1' encoding as `Yoko-kumi'.} | |
122 | - \DeclareYokoKanjiEncoding{#1}% | |
123 | -} | |
124 | -\def\DeclareYokoKanjiEncoding{% | |
125 | - \begingroup | |
126 | - \nfss@catcodes | |
127 | - \expandafter\endgroup | |
128 | - \DeclareYokoKanjiEncoding@} | |
129 | -\def\DeclareYokoKanjiEncoding@#1#2#3{% | |
130 | - \expandafter\ifx\csname T@#1\endcsname\relax | |
131 | - \def\cdp@elt{\noexpand\cdp@elt}% | |
132 | - \xdef\cdp@list{\cdp@list\cdp@elt{#1}% | |
133 | - {\default@k@family}{\default@k@series}% | |
134 | - {\default@k@shape}}% | |
135 | - \expandafter\let\csname#1-cmd\endcsname\@changed@kcmd | |
136 | - \directlua{luatexja.jfont.add_kyenc_list('\luatexluaescapestring{#1}')}% | |
137 | - \else | |
138 | - \@font@info{Redeclaring KANJI (yoko) font encoding #1}% | |
139 | - \fi | |
140 | - \global\@namedef{T@#1}{#2}% | |
141 | - \global\@namedef{M@#1}{\default@KM#3}% | |
142 | - } | |
143 | -\def\DeclareTateKanjiEncoding{% | |
144 | - \begingroup | |
145 | - \nfss@catcodes | |
146 | - \expandafter\endgroup | |
147 | - \DeclareTateKanjiEncoding@} | |
148 | -\def\DeclareTateKanjiEncoding@#1#2#3{% | |
149 | - \expandafter\ifx\csname T@#1\endcsname\relax | |
150 | - \def\cdp@elt{\noexpand\cdp@elt}% | |
151 | - \xdef\cdp@list{\cdp@list\cdp@elt{#1}% | |
152 | - {\default@k@family}{\default@k@series}% | |
153 | - {\default@k@shape}}% | |
154 | - \expandafter\let\csname#1-cmd\endcsname\@changed@kcmd | |
155 | - \directlua{luatexja.jfont.add_ktenc_list('\luatexluaescapestring{#1}')}% | |
156 | - \else | |
157 | - \@font@info{Redeclaring KANJI (tate) font encoding #1}% | |
158 | - \fi | |
159 | - \global\@namedef{T@#1}{#2}% | |
160 | - \global\@namedef{M@#1}{\default@KM#3}% | |
161 | - } | |
162 | -\@onlypreamble\DeclareKanjiEncoding | |
163 | -\@onlypreamble\DeclareYokoKanjiEncoding | |
164 | -\@onlypreamble\DeclareYokoKanjiEncoding@ | |
165 | -\@onlypreamble\DeclareTateKanjiEncoding | |
166 | -\@onlypreamble\DeclareTateKanjiEncoding@ | |
167 | -\def\DeclareKanjiEncodingDefaults#1#2{% | |
168 | - \ifx\relax#1\else | |
169 | - \ifx\default@KT\@empty\else | |
170 | - \@font@info{Overwriting KANJI encoding scheme text defaults}% | |
171 | - \fi | |
172 | - \gdef\default@KT{#1}% | |
173 | - \fi | |
174 | - \ifx\relax#2\else | |
175 | - \ifx\default@KM\@empty\else | |
176 | - \@font@info{Overwriting KANJI encoding scheme math defaults}% | |
177 | - \fi | |
178 | - \gdef\default@KM{#2}% | |
179 | - \fi} | |
180 | -\let\default@KT\@empty | |
181 | -\let\default@KM\@empty | |
182 | -\@onlypreamble\DeclareKanjiEncodingDefaults | |
183 | -\def\DeclareFontFamily#1#2#3{% | |
184 | - \@ifundefined{T@#1}% | |
185 | - {\@latex@error{Encoding scheme `#1' unknown}\@eha}% | |
186 | - {\def\reserved@a{#3}% | |
187 | - \global | |
188 | - \expandafter\let\csname #1+#2\expandafter\endcsname | |
189 | - \ifx \reserved@a\@empty | |
190 | - \@empty | |
191 | - \else \reserved@a | |
192 | - \fi | |
193 | - \directlua{luatexja.jfont.add_ffam('\luatexluaescapestring{#2}')}% | |
194 | - }% | |
195 | -} | |
196 | -\def\DeclareKanjiFamily#1#2#3{% | |
197 | - \@ifundefined{T@#1}% | |
198 | - {\@latex@error{KANJI Encoding scheme `#1' unknown}\@eha}% | |
199 | - {\def\reserved@a{#3}% | |
200 | - \global | |
201 | - \expandafter\let\csname #1+#2\expandafter\endcsname | |
202 | - \ifx \reserved@a\@empty | |
203 | - \@empty | |
204 | - \else \reserved@a | |
205 | - \fi | |
206 | - \directlua{luatexja.jfont.add_kfam('\luatexluaescapestring{#2}')}% | |
207 | - }% | |
208 | -} | |
209 | -\def\DeclareKanjiSubstitution#1#2#3#4{% | |
210 | - \expandafter\ifx\csname T@#1\endcsname\relax | |
211 | - \@latex@error{KANJI Encoding scheme `#1' unknown}\@eha | |
212 | - \else | |
213 | - \begingroup | |
214 | - \def\reserved@a{#1}% | |
215 | - \toks@{}% | |
216 | - \def\cdp@elt##1##2##3##4{% | |
217 | - \def\reserved@b{##1}% | |
218 | - \ifx\reserved@a\reserved@b | |
219 | - \addto@hook\toks@{\cdp@elt{#1}{#2}{#3}{#4}}% | |
220 | - \else | |
221 | - \addto@hook\toks@{\cdp@elt{##1}{##2}{##3}{##4}}% | |
222 | - \fi}% | |
223 | - \cdp@list | |
224 | - \xdef\cdp@list{\the\toks@}% | |
225 | - \endgroup | |
226 | - \global\@namedef{D@#1}{\def\default@family{#2}% | |
227 | - \def\default@series{#3}% | |
228 | - \def\default@shape{#4}}% | |
229 | - \fi} | |
230 | -\@onlypreamble\DeclareKanjiSubstitution | |
231 | -\def\DeclareErrorKanjiFont#1#2#3#4#5{% | |
232 | - \xdef\error@kfontshape{% | |
233 | - \noexpand\expandafter\noexpand\split@name\noexpand\string | |
234 | - \expandafter\noexpand\csname#1/#2/#3/#4/#5\endcsname | |
235 | - \noexpand\@nil}% | |
236 | - \gdef\default@k@family{#2}% | |
237 | - \gdef\default@k@series{#3}% | |
238 | - \gdef\default@k@shape{#4}% | |
239 | - } | |
240 | -\@onlypreamble\DeclareErrorKanjiFont | |
241 | - | |
242 | -\newif\ifltjselectfont@force@define | |
243 | -\def\DeclareFixedFont#1#2#3#4#5#6{% | |
244 | - \begingroup | |
245 | - \math@fontsfalse | |
246 | - \every@math@size{}% | |
247 | - \fontsize{#6}\z@ | |
248 | - \directlua{luatexja.jfont.is_kyenc('\luatexluaescapestring{#2}')}\ifin@% | |
249 | - \ltjselectfont@force@definetrue | |
250 | - \usekanji{#2}{#3}{#4}{#5}% | |
251 | - \global\let#1\getjfont | |
252 | - \ltjselectfont@force@definefalse | |
253 | - \else | |
254 | - \directlua{luatexja.jfont.is_ktenc('\luatexluaescapestring{#2}')}\ifin@% | |
255 | - \ltjselectfont@force@definetrue | |
256 | - \usekanji{#2}{#3}{#4}{#5}% | |
257 | - \global\let#1\gettfont | |
258 | - \ltjselectfont@force@definefalse | |
259 | - \else | |
260 | - \useroman{#2}{#3}{#4}{#5}% | |
261 | - \global\expandafter\let\expandafter#1\the\font | |
262 | - \fi | |
263 | - \fi | |
264 | - \endgroup | |
265 | - } | |
266 | -\def\DLMfontsw@standard#1#2#3{#1{#2{#3}}} | |
267 | -\def\reDeclareMathAlphabet#1#2#3{% | |
268 | - \ifdefined#2 | |
269 | - \@temptokena\expandafter{#2}% | |
270 | - \else | |
271 | - \@temptokena{#2}% | |
272 | - \fi | |
273 | - \ifdefined#3 | |
274 | - \toks0\expandafter{#3}% | |
275 | - \else | |
276 | - \toks0{#3}% | |
277 | - \fi | |
278 | - \long\protected\edef#1{% | |
279 | - \noexpand\DLMfontsw@standard{\the\@temptokena}{\the\toks0}}% | |
280 | -} | |
281 | -\@onlypreamble\reDeclareMathAlphabet | |
282 | -\def\all@shape{all}% | |
283 | -\def\DeclareRelationFont#1#2#3#4#5#6#7#8{% | |
284 | - \def\rel@shape{#4}% | |
285 | - \ifx\rel@shape\@empty | |
286 | - \global | |
287 | - \expandafter\def\csname rel@#1/#2/#3/all\endcsname{% | |
288 | - \romanencoding{#5}\romanfamily{#6}% | |
289 | - \romanseries{#7}}% | |
290 | - \else | |
291 | - \global | |
292 | - \expandafter\def\csname rel@#1/#2/#3/#4\endcsname{% | |
293 | - \romanencoding{#5}\romanfamily{#6}% | |
294 | - \romanseries{#7}\romanshape{#8}}% | |
295 | - \fi | |
296 | -} | |
297 | -\def\SetRelationFont#1#2#3#4#5#6#7#8{% | |
298 | - \def\rel@shape{#4}% | |
299 | - \ifx\rel@shape\@empty | |
300 | - \expandafter\def\csname rel@#1/#2/#3/all\endcsname{% | |
301 | - \romanencoding{#5}\romanfamily{#6}% | |
302 | - \romanseries{#7}}% | |
303 | - \else | |
304 | - \expandafter\def\csname rel@#1/#2/#3/#4\endcsname{% | |
305 | - \romanencoding{#5}\romanfamily{#6}% | |
306 | - \romanseries{#7}\romanshape{#8}}% | |
307 | - \fi | |
308 | -} | |
309 | -\newif\if@knjcmd | |
310 | -\DeclareRobustCommand\userelfont{\@knjcmdtrue} | |
311 | - | |
312 | - | |
313 | -\RequirePackage{everysel} | |
314 | -\let\ltj@@EverySelectfont@Init=\@EverySelectfont@Init | |
315 | -\expandafter\expandafter\expandafter\let | |
316 | -\expandafter\expandafter\csname ltj@@orig@selectfont\endcsname\csname selectfont\space\endcsname | |
317 | -\@EverySelectfont@Init | |
318 | -%\let\ltj@@font@info\@font@info | |
319 | -%\let\ltj@@font@warning\@font@warning | |
320 | -\def\@EverySelectfont@Init{% | |
321 | - \expandafter\let\csname selectfont\space \endcsname \ltj@@orig@selectfont | |
322 | - \ltj@@EverySelectfont@Init | |
323 | -} | |
324 | -\def\ltj@selectfont@tate{% | |
325 | - \let\k@encoding\ct@encoding | |
326 | - \xdef\font@name{\csname\curr@kfontshape/\f@size\endcsname}% | |
327 | - \pickup@tfont | |
328 | - \ifnum\ltjgetparameter{direction}=3 \font@name | |
329 | - \ltj@@does@alt@set{\curr@kfontshape}{% | |
330 | - % alt fonts の定義 | |
331 | - \directlua{luatexja.jfont.output_alt_font_cmd('t', '\luatexluaescapestring{\curr@kfontshape}')}% | |
332 | - % 定義した alt fonts のデータを \ltjdeclarealtfont に渡すのと同等の処理をする | |
333 | - \directlua{luatexja.jfont.pickup_alt_font_a('\f@size')}% | |
334 | - }% | |
335 | - \fi} | |
336 | -\def\ltj@selectfont@yoko{% | |
337 | - \let\k@encoding\cy@encoding | |
338 | - \xdef\font@name{\csname\curr@kfontshape/\f@size\endcsname}% | |
339 | - \pickup@jfont | |
340 | - \unless\ifnum\ltjgetparameter{direction}=3 \font@name | |
341 | - \ltj@@does@alt@set{\curr@kfontshape}{% | |
342 | - % alt fonts の定義 | |
343 | - \directlua{luatexja.jfont.output_alt_font_cmd('y', '\luatexluaescapestring{\curr@kfontshape}')}% | |
344 | - % 定義した alt fonts のデータを \ltjdeclarealtfont に渡すのと同等の処理をする | |
345 | - \directlua{luatexja.jfont.pickup_alt_font_a('\f@size')}% | |
346 | - }% | |
347 | - \fi} | |
348 | -\def\ltj@selectfont@patch{% | |
349 | - \directlua{luatexja.base.start_time_measure('selectfont')}% | |
350 | - \let\tmp@error@fontshape\error@fontshape | |
351 | - \let\error@fontshape\error@kfontshape | |
352 | - \directlua{luatexja.jfont.is_kyenc('\luatexluaescapestring{\k@encoding}')}\ifin@% | |
353 | - \let\cy@encoding\k@encoding | |
354 | - \edef\ct@encoding{\csname t@enc@\k@encoding\endcsname}% | |
355 | - \else | |
356 | - \directlua{luatexja.jfont.is_ktenc('\luatexluaescapestring{\k@encoding}')}\ifin@% | |
357 | - \let\ct@encoding\k@encoding | |
358 | - \edef\cy@encoding{\csname y@enc@\k@encoding\endcsname}% | |
359 | - \else | |
360 | - \@latex@error{KANJI Encoding scheme `\k@encoding' unknown}\@eha | |
361 | - \fi | |
362 | - \fi | |
363 | - \global\let\ltj@afont@name=\font@name | |
364 | - \ltj@selectfont@tate\ltj@selectfont@yoko | |
365 | -% | |
366 | - \edef\tmp@item{{\k@encoding}}\expandafter\def\expandafter\k@encoding\tmp@item | |
367 | - \kenc@update | |
368 | - \global\let\font@name=\ltj@afont@name | |
369 | - \let\error@fontshape\tmp@error@fontshape | |
370 | - \if@knjcmd \@knjcmdfalse | |
371 | - \expandafter\ifx | |
372 | - \csname rel@\k@encoding/\k@family/\k@series/\k@shape\endcsname\relax | |
373 | - \expandafter\ifx | |
374 | - \csname rel@\k@encoding/\k@family/\k@series/all\endcsname\relax | |
375 | - \else | |
376 | - \csname rel@\k@encoding/\k@family/\k@series/all\endcsname\selectfont | |
377 | - % 警告: 再び \selectfont を呼んでいる.無限ループの可能性あり | |
378 | - \fi | |
379 | - \else | |
380 | - \csname rel@\k@encoding/\k@family/\k@series/\k@shape\endcsname\selectfont | |
381 | - % 警告: 再び \selectfont を呼んでいる.無限ループの可能性あり | |
382 | - \fi | |
383 | - \fi | |
384 | - \global\let\font@name=\ltj@afont@name | |
385 | - \directlua{luatexja.base.stop_time_measure('selectfont')}% | |
386 | -} | |
387 | -\EverySelectfont{\ltj@selectfont@patch} | |
388 | - | |
389 | -\bgroup | |
390 | - \def\ltj@@dir@patch#1#2#3{% | |
391 | - \global\csletcs{ltj@@orig@#1}{#1}% | |
392 | - \protected\expandafter\xdef\csname #1\endcsname{% | |
393 | - \csname ltj@@orig@#1\endcsname | |
394 | - \unexpanded{\ifnum#3<\z@\let\ltj@@protect\protect\set@typeset@protect}% | |
395 | - \unexpanded{\global\let\ltj@afont@name=\font@name}% | |
396 | - \expandonce{\csname ltj@selectfont@#2\endcsname}% | |
397 | - \unexpanded{\global\let\font@name=\ltj@afont@name}% | |
398 | - \unexpanded{\let\protect\ltj@@protect\fi}% | |
399 | - }% | |
400 | - } | |
401 | - \ltj@@dir@patch{yoko}{yoko}{\ltj@curjfnt} | |
402 | - \ltj@@dir@patch{tate}{tate}{\ltj@curtfnt} | |
403 | - \ltj@@dir@patch{utod}{yoko}{\ltj@curjfnt} | |
404 | - \ltj@@dir@patch{dtou}{yoko}{\ltj@curjfnt} | |
405 | -\egroup | |
406 | - | |
407 | -\def\KanjiEncodingPair#1#2{\@namedef{t@enc@#1}{#2}\@namedef{y@enc@#2}{#1}} | |
408 | -\def\set@fontsize#1#2#3{% | |
409 | - \@defaultunits\@tempdimb#2pt\relax\@nnil | |
410 | - \edef\f@size{\strip@pt\@tempdimb}% | |
411 | - \@defaultunits\@tempskipa#3pt\relax\@nnil | |
412 | - \edef\f@baselineskip{\the\@tempskipa}% | |
413 | - \edef\f@linespread{#1}% | |
414 | - \let\baselinestretch\f@linespread | |
415 | - \def\size@update{% | |
416 | - \baselineskip\f@baselineskip\relax | |
417 | - \baselineskip\f@linespread\baselineskip | |
418 | - \normalbaselineskip\baselineskip | |
419 | - \adjustbaseline | |
420 | - \setbox\ystrutbox\hbox{\ltj@@orig@yoko | |
421 | - \vrule\@width\z@ | |
422 | - \@height.7\baselineskip \@depth.3\baselineskip}% | |
423 | - \setbox\dstrutbox\hbox{\ltj@@orig@dtou | |
424 | - \vrule\@width\z@ | |
425 | - \@height.7\baselineskip \@depth.3\baselineskip}% | |
426 | - \setbox\tstrutbox\hbox{\ltj@@orig@tate | |
427 | - \vrule\@width\z@ | |
428 | - \@height.5\baselineskip \@depth.5\baselineskip}% | |
429 | - \setbox\zstrutbox\hbox{\ltj@@orig@utod | |
430 | - \vrule\@width\z@ | |
431 | - \@height.7\baselineskip \@depth.3\baselineskip}% | |
432 | - \let\size@update\relax}} | |
433 | - | |
434 | -\newluafunction\ltj@@adjust@baseline@inner | |
435 | -\begingroup\catcode`\~=12 | |
436 | -\directlua{% | |
437 | - local nulltable = {} | |
438 | - local t = lua.get_functions_table() | |
439 | - local getfont, dir_tate = font.getfont, luatexja.dir_table.dir_tate | |
440 | - local fmt, get_attr = luatexja.jfont.font_metric_table, tex.getattribute | |
441 | - local getcount=tex.getcount | |
442 | - local setdimen, set_attr = tex.setdimen, tex.setattribute | |
443 | - local dir = luatexja.unary_pars.direction | |
444 | - t[\the\ltj@@adjust@baseline@inner] = function() | |
445 | - local ft = fmt[get_attr('ltj@curtfnt')] or nulltable | |
446 | - ft = ft.char_type or nulltable | |
447 | - local fk = ft[0] or nulltable | |
448 | - local ht, dp, wd = fk.height or 0, fk.depth or 0, | |
449 | - fk.width or ft.zw or 0 | |
450 | - local fm | |
451 | - = ((getfont(font.current()) or nulltable) | |
452 | - .characters or nulltable)[77] or nulltable %% 'M' | |
453 | - set_attr('ltj@tablshift', | |
454 | - tex.round(0.5*((fm.height or 0)- (fm.depth or 0) - ht+ dp))) | |
455 | - if dir() ~= dir_tate then | |
456 | - ft = fmt[get_attr('ltj@curjfnt')] or nulltable | |
457 | - ft = ft.char_type or nulltable | |
458 | - fk = ft[0] or nulltable | |
459 | - ht, dp, wd = fk.height or 0, fk.depth or 0, | |
460 | - fk.width or ft.zw or 0 | |
461 | - end | |
462 | - setdimen('cht', ht); setdimen('cdp', dp) | |
463 | - setdimen('cwd', wd); setdimen('chs', wd) | |
464 | - setdimen('cHT', ht+dp) | |
465 | - end | |
466 | -}\endgroup | |
467 | -\DeclareRobustCommand\adjustbaseline{\luafunction\ltj@@adjust@baseline@inner | |
468 | - \cvs\normalbaselineskip} | |
469 | -\DeclareRobustCommand\romanencoding[1]{% | |
470 | - \expandafter\ifx\csname T@#1\endcsname\relax | |
471 | - \@latex@error{Encoding scheme `#1' unknown}\@eha | |
472 | - \else | |
473 | - \edef\f@encoding{#1}% | |
474 | - \ifx\cf@encoding\f@encoding | |
475 | - \let\enc@update\relax | |
476 | - \else | |
477 | - \let\enc@update\@@enc@update | |
478 | - \fi | |
479 | - \fi | |
480 | -} | |
481 | -\DeclareRobustCommand\kanjiencoding[1]{% | |
482 | - \expandafter\ifx\csname T@#1\endcsname\relax | |
483 | - \@latex@error{KANJI Encoding scheme `#1' unknown}\@eha | |
484 | - \else | |
485 | - \edef\k@encoding{#1}% | |
486 | - \ifx\ck@encoding\k@encoding | |
487 | - \let\kenc@update\relax | |
488 | - \else | |
489 | - \let\kenc@update\@@kenc@update | |
490 | - \fi | |
491 | - \fi | |
492 | -} | |
493 | -\DeclareRobustCommand\fontencoding[1]{% | |
494 | - \directlua{luatexja.jfont.is_kyenc('\luatexluaescapestring{#1}')}\ifin@% | |
495 | - \kanjiencoding{#1}\else\romanencoding{#1}\fi} | |
496 | -\def\@@kenc@update{% | |
497 | - \default@KT | |
498 | - \csname T@\k@encoding\endcsname | |
499 | - \csname D@\k@encoding\endcsname | |
500 | - \let\kenc@update\relax | |
501 | - \let\ck@encoding\k@encoding | |
502 | - \edef\tmp@enc{'\luatexluaescapestring{\k@encoding}'}% | |
503 | - \directlua{luatexja.jfont.is_kyenc(\tmp@enc)}\ifin@% | |
504 | - \let\cy@encoding\k@encoding | |
505 | - \else | |
506 | - \directlua{luatexja.jfont.is_ktenc(\tmp@enc)}\ifin@% | |
507 | - \let\ct@encoding\k@encoding | |
508 | - \else | |
509 | - \@latex@error{KANJI Encoding scheme `\k@encoding' unknown}\@eha | |
510 | - \fi | |
511 | - \fi | |
512 | -} | |
513 | -\let\kenc@update\relax | |
514 | -\def\@changed@kcmd#1#2{% | |
515 | - \ifx\protect\@typeset@protect | |
516 | - \@inmathwarn#1% | |
517 | - \expandafter\ifx\csname\ck@encoding\string#1\endcsname\relax | |
518 | - \expandafter\ifx\csname ?\string#1\endcsname\relax | |
519 | - \expandafter\def\csname ?\string#1\endcsname{% | |
520 | - \TextSymbolUnavailable#1% | |
521 | - }% | |
522 | - \fi | |
523 | - \global\expandafter\let | |
524 | - \csname\cf@encoding \string#1\expandafter\endcsname | |
525 | - \csname ?\string#1\endcsname | |
526 | - \fi | |
527 | - \csname\ck@encoding\string#1% | |
528 | - \expandafter\endcsname | |
529 | - \else | |
530 | - \noexpand#1% | |
531 | - \fi} | |
532 | -\newif\if@notkfam | |
533 | -\newif\if@notffam | |
534 | -\newif\if@tempswz | |
535 | -\def\@ltj@use@fd{true} | |
536 | -\DeclareRobustCommand\romanfamily[1]{\edef\f@family{#1}} | |
537 | -\DeclareRobustCommand\kanjifamily[1]{\edef\k@family{#1}} | |
538 | -\DeclareRobustCommand\fontfamily[1]{% | |
539 | - \@notkfamfalse\@notffamfalse | |
540 | - \edef\tmp@item{'\luatexluaescapestring{#1}'}% | |
541 | - % | |
542 | - \directlua{luatexja.jfont.search_kfam(\tmp@item, \@ltj@use@fd)}% | |
543 | - \ifin@\edef\k@family{#1}\else\@notkfamtrue\fi | |
544 | - % | |
545 | - % alphabetic fonts part | |
546 | - \directlua{luatexja.jfont.is_ffam(\tmp@item)}% | |
547 | - \ifin@\edef\f@family{#1}\else | |
548 | - % checking is_stored_ffam is not sufficient, | |
549 | - % since LuaTeX-ja doesn't know whats fonts are defined before LuaTeX-ja is loaded. | |
550 | - \ifcsname \f@encoding+#1\endcsname % easy case | |
551 | - \directlua{luatexja.jfont.add_ffam(\tmp@item)}\edef\f@family{#1}% | |
552 | - \else | |
553 | - \@tempswafalse | |
554 | - \def\cdp@elt##1{\ifcsname ##1+#1\endcsname\@tempswatrue\fi}% | |
555 | - \directlua{luatexja.jfont.search_ffam_declared()}% | |
556 | - \if@tempswz | |
557 | - \directlua{luatexja.jfont.add_ffam(\tmp@item)}\edef\f@family{#1}% | |
558 | - \else | |
559 | - % now we search Nffam_list and font definition files. | |
560 | - \directlua{luatexja.jfont.search_ffam_fd(\tmp@item)}% | |
561 | - \ifin@\edef\f@family{#1}\else\@notffamtrue\fi | |
562 | - \fi | |
563 | - \fi | |
564 | - \fi | |
565 | - % | |
566 | - \if@notkfam\if@notffam | |
567 | - \edef\k@family{#1}\edef\f@family{#1}% | |
568 | - \fi\fi | |
569 | -} | |
570 | - | |
571 | -\newcount\ltj@@latex@plv \ltj@@latex@plv=-1 | |
572 | -\ifdefined\@rmfamilyhook | |
573 | -%%%% LaTeX 2020-02-02 | |
574 | -\newif\if@shape@roman@kanji | |
575 | -%%%%%% 2020-02-02 patchlevel detection | |
576 | -\ifx\@forced@seriestrue\@undefined % 2020-02-02 pl0--2 | |
577 | - \@latex@error | |
578 | - {Please update LaTeX2e!^^J\space\space | |
579 | - At least LaTeX2e 2020-02-02 patch level 3 is required} | |
580 | - {LaTeX2e 2020-02-02 patch level 2 (and 4) has a bug.} | |
581 | -\else | |
582 | - \ltj@@latex@plv=300 | |
583 | - \unless\ifx\series@maybe@drop@one@m@x\@undefined % pl5 + develop | |
584 | - \ltj@@latex@plv=501 | |
585 | - \else | |
586 | - \unless\ifx\series@maybe@drop@one@m\@undefined % patch level 5 | |
587 | - \ltj@@latex@plv=500 | |
588 | - \fi | |
589 | - \fi | |
590 | -\fi | |
591 | -%%%%%% | |
592 | - | |
593 | -\def\merge@kanji@series#1{% | |
594 | - \expandafter\expandafter\expandafter | |
595 | - \merge@kanji@series@ | |
596 | - \csname series@\k@series @#1\endcsname | |
597 | - {#1}% | |
598 | - \@nil | |
599 | -} | |
600 | - | |
601 | -\ifnum\ltj@@latex@plv>500 % !!! pl5 + develop | |
602 | - \def\set@target@series@kanji#1{% | |
603 | - \edef\k@series{#1}% | |
604 | - \series@maybe@drop@one@m\k@series\k@series | |
605 | - } | |
606 | -\else\ifnum\ltj@@latex@plv>300 % !!! pl5 | |
607 | - \def\set@target@series@kanji#1{% | |
608 | - \edef\k@series{#1}% | |
609 | - \expandafter\series@maybe@drop@one@m\expandafter{\k@series}\k@series | |
610 | - } | |
611 | -\else % !!! pl 3, 4 | |
612 | - \def\set@target@series@kanji#1{% | |
613 | - \edef\k@series{#1}% | |
614 | - \edef\k@series{\expandafter\series@drop@one@m\k@series mm\series@drop@one@m}% | |
615 | - } | |
616 | -\fi\fi | |
617 | - | |
618 | -\def\merge@kanji@series@#1#2#3\@nil{% | |
619 | - \def\reserved@a{#3}% | |
620 | - \ifx\reserved@a\@empty | |
621 | - \set@target@series@kanji{#2}% | |
622 | - \else | |
623 | - \begingroup\let\f@encoding\k@encoding\let\f@family\k@family | |
624 | - \maybe@load@fontshape\endgroup | |
625 | - \edef\reserved@a{\k@encoding /\k@family /#1/\k@shape}% | |
626 | - \ifcsname \reserved@a \endcsname | |
627 | - \set@target@series@kanji{#1}% | |
628 | - \else | |
629 | - \ifcsname \k@encoding /\k@family /#2/\k@shape \endcsname | |
630 | - \set@target@series@kanji{#2}% | |
631 | - {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}% | |
632 | - \else | |
633 | - \set@target@series@kanji{#3}% | |
634 | - {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}% | |
635 | - \fi | |
636 | - \fi | |
637 | - \fi | |
638 | -} | |
639 | -\def\merge@kanji@shape#1{% | |
640 | - \expandafter\expandafter\expandafter | |
641 | - \merge@kanji@shape@ | |
642 | - \csname shape@\k@shape @#1\endcsname | |
643 | - {#1}% | |
644 | - \@nil | |
645 | -} | |
646 | -\def\merge@kanji@shape@#1#2#3\@nil{% | |
647 | - \def\reserved@a{#3}% | |
648 | - \ifx\reserved@a\@empty | |
649 | - \if@shape@roman@kanji | |
650 | - \set@safe@kanji@shape{#2}{}% | |
651 | - \else | |
652 | - \edef\k@shape{#2}% | |
653 | - \fi | |
654 | - \else | |
655 | - \begingroup\let\f@encoding\k@encoding\let\f@family\k@family | |
656 | - \maybe@load@fontshape\endgroup | |
657 | - \edef\reserved@a{\k@encoding /\k@family /\k@series/#1}% | |
658 | - \ifcsname \reserved@a\endcsname | |
659 | - \edef\k@shape{#1}% | |
660 | - \else | |
661 | - \ifcsname \k@encoding /\k@family /\k@series/#2\endcsname | |
662 | - \edef\k@shape{#2}% | |
663 | - {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}% | |
664 | - \else | |
665 | - \if@shape@roman@kanji | |
666 | - \set@safe@kanji@shape{#3}% | |
667 | - {{\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}}% | |
668 | - \else | |
669 | - \edef\k@shape{#3}% | |
670 | - {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}% | |
671 | - \fi | |
672 | - \fi | |
673 | - \fi | |
674 | - \fi | |
675 | -} | |
676 | -\def\set@safe@kanji@shape#1#2{% | |
677 | - \edef\reserved@b{\k@encoding /\k@family /\k@series/#1}% | |
678 | - \ifcsname \reserved@b\endcsname | |
679 | - \edef\k@shape{#1}% | |
680 | - #2% | |
681 | - \else | |
682 | - \@font@info{Kanji font shape \reserved@b' undefined\MessageBreak | |
683 | - No change}% | |
684 | - \fi | |
685 | -} | |
686 | -\ifnum\ltj@@latex@plv=300 % !!! pl3, 4 | |
687 | - \DeclareRobustCommand\romanseries[1]{\merge@font@series{#1}} | |
688 | - \DeclareRobustCommand\kanjiseries[1]{\merge@kanji@series{#1}} | |
689 | - \DeclareRobustCommand\fontseries[1]{% | |
690 | - \merge@font@series{#1}\merge@kanji@series{#1}} | |
691 | - \DeclareRobustCommand\romanseriesforce[1]{\edef\f@series{#1}} | |
692 | - \DeclareRobustCommand\kanjiseriesforce[1]{\edef\k@series{#1}} | |
693 | - \DeclareRobustCommand\fontseriesforce[1]{% | |
694 | - \edef\f@series{#1}\edef\k@series{#1}} | |
695 | -\else % !!! pl 5 | |
696 | - \DeclareRobustCommand\romanseries[1]{\@forced@seriesfalse\merge@font@series{#1}} | |
697 | - \DeclareRobustCommand\kanjiseries[1]{\@forced@seriesfalse\merge@kanji@series{#1}} | |
698 | - \DeclareRobustCommand\fontseries[1]{% | |
699 | - \@forced@seriesfalse\merge@font@series{#1}\merge@kanji@series{#1}} | |
700 | - \DeclareRobustCommand\romanseriesforce[1]{\@forced@seriestrue\merge@font@series{#1}} | |
701 | - \DeclareRobustCommand\kanjiseriesforce[1]{\@forced@seriestrue\merge@kanji@series{#1}} | |
702 | - \DeclareRobustCommand\fontseriesforce[1]{% | |
703 | - \@forced@seriestrue\merge@font@series{#1}\merge@kanji@series{#1}} | |
704 | -\fi | |
705 | -\DeclareRobustCommand\romanshape[1]{\merge@font@shape{#1}} | |
706 | -\DeclareRobustCommand\kanjishape[1]{\merge@kanji@shape{#1}} | |
707 | -\DeclareRobustCommand\fontshape[1]{% | |
708 | - \@shape@roman@kanjitrue | |
709 | - \merge@font@shape{#1}\merge@kanji@shape{#1}% | |
710 | - \@shape@roman@kanjifalse | |
711 | -} | |
712 | -\DeclareRobustCommand\romanshapeforce[1]{\edef\f@shape{#1}} | |
713 | -\DeclareRobustCommand\kanjishapeforce[1]{\edef\k@shape{#1}} | |
714 | -\DeclareRobustCommand\fontshapeforce[1]{\set@safe@kanji@shape{#1}{}\romanshapeforce{#1}} | |
715 | -\DeclareRobustCommand\usekanji[4]{% | |
716 | - \kanjiencoding{#1}\edef\k@family{#2}\edef\k@series{#3}\edef\k@shape{#4}% | |
717 | - \selectfont\ignorespaces} | |
718 | -\DeclareRobustCommand\useroman[4]{% | |
719 | - \romanencoding{#1}\edef\f@family{#2}\edef\f@series{#3}\edef\f@shape{#4}% | |
720 | - \selectfont\ignorespaces} | |
721 | -%%%% LaTeX 2020-02-02 END | |
722 | -\else | |
723 | -%%%% LaTeX 2019-10-01 | |
724 | -\DeclareRobustCommand\romanseries[1]{\edef\f@series{#1}} | |
725 | -\DeclareRobustCommand\kanjiseries[1]{\edef\k@series{#1}} | |
726 | -\DeclareRobustCommand\fontseries[1]{\kanjiseries{#1}\romanseries{#1}} | |
727 | -\DeclareRobustCommand\romanshape[1]{\edef\f@shape{#1}} | |
728 | -\DeclareRobustCommand\kanjishape[1]{\edef\k@shape{#1}} | |
729 | -\DeclareRobustCommand\fontshape[1]{\kanjishape{#1}\romanshape{#1}} | |
730 | -\DeclareRobustCommand\usekanji[4]{% | |
731 | - \kanjiencoding{#1}\kanjifamily{#2}\kanjiseries{#3}\kanjishape{#4}% | |
732 | - \selectfont\ignorespaces} | |
733 | -\DeclareRobustCommand\useroman[4]{% | |
734 | - \romanencoding{#1}\romanfamily{#2}\romanseries{#3}\romanshape{#4}% | |
735 | - \selectfont\ignorespaces} | |
736 | -%%%% LaTeX 2019-10-01 END | |
737 | -\fi | |
738 | -%%%% | |
739 | -\protected\def\usefont#1#2#3#4{% | |
740 | - \directlua{luatexja.jfont.is_kenc('\luatexluaescapestring{#1}')}\ifin@% | |
741 | - \usekanji{#1}{#2}{#3}{#4}% | |
742 | - \else\useroman{#1}{#2}{#3}{#4}% | |
743 | - \fi} | |
744 | -\DeclareRobustCommand\normalfont{% | |
745 | - \useroman\encodingdefault\familydefault\seriesdefault\shapedefault | |
746 | - \usekanji\kanjiencodingdefault\kanjifamilydefault\kanjiseriesdefault\kanjishapedefault} | |
747 | -% | |
748 | -\let\reset@font\normalfont | |
749 | - | |
750 | -\ifdefined\@rmfamilyhook | |
751 | -%%%% LaTeX 2020-02-02 | |
752 | -\let\prepare@family@series@update@kanji=\prepare@family@series@update | |
753 | -\patchcmd\prepare@family@series@update{\fontfamily}{\romanfamily}{}{} | |
754 | -\patchcmd\prepare@family@series@update@kanji{\fontfamily}{\kanjifamily}{}{} | |
755 | -\patchcmd\prepare@family@series@update@kanji{\update@series@target@value}{\update@series@target@value@kanji}{}{} | |
756 | -\patchcmd\prepare@family@series@update@kanji{\f@family}{\k@family}{}{} | |
757 | -\patchcmd\prepare@family@series@update@kanji{\@meta@family@list}{\@meta@family@list@kanji}{}{} | |
758 | -\patchcmd\prepare@family@series@update@kanji{\fontfamily}{\kanjifamily}{}{} | |
759 | -\patchcmd\prepare@family@series@update@kanji{\maybe@load@fontshape} | |
760 | - {\begingroup\let\f@encoding\k@encoding\let\f@family\k@family | |
761 | - \maybe@load@fontshape\endgroup}{}{} | |
762 | -\patchcmd\prepare@family@series@update@kanji{\f@series}{\k@series}{}{} | |
763 | -\patchcmd\prepare@family@series@update@kanji{\f@series}{\k@series}{}{} | |
764 | -\let\update@series@target@value@kanji=\update@series@target@value | |
765 | -\patchcmd\update@series@target@value@kanji{\f@family}{\k@family}{}{} | |
766 | -\patchcmd\update@series@target@value@kanji{\f@series}{\k@series}{}{} | |
767 | -\patchcmd\update@series@target@value@kanji{\f@series}{\k@series}{}{} | |
768 | -\patchcmd\update@series@target@value@kanji{\f@series}{\k@series}{}{} | |
769 | -\patchcmd\update@series@target@value@kanji{\f@series}{\k@series}{}{} | |
770 | -\def\@meta@family@list@kanji{\@elt{mc}\@elt{gt}\@elt{jtt}} | |
771 | -\DeclareRobustCommand\bfseries{% | |
772 | - \not@math@alphabet\bfseries\mathbf | |
773 | - \expand@font@defaults | |
774 | - \ifx\f@family\rmdef@ult \romanseries\bfseries@rm | |
775 | - \else\ifx\f@family\sfdef@ult \romanseries\bfseries@sf | |
776 | - \else\ifx\f@family\ttdef@ult \romanseries\bfseries@tt | |
777 | - \else \romanseries\bfdefault | |
778 | - \fi\fi\fi | |
779 | - \ifx\k@family\mcdef@ult \kanjiseries\bfseries@mc | |
780 | - \else\ifx\k@family\gtdef@ult \kanjiseries\bfseries@gt | |
781 | - \else\ifx\k@family\jttdef@ult\kanjiseries\bfseries@jtt | |
782 | - \else \kanjiseries\bfdefault | |
783 | - \fi\fi\fi | |
784 | - \selectfont | |
785 | -} | |
786 | -\DeclareRobustCommand\mdseries{% | |
787 | - \not@math@alphabet\mdseries\relax | |
788 | - \expand@font@defaults | |
789 | - \ifx\f@family\rmdef@ult \romanseries\mdseries@rm | |
790 | - \else\ifx\f@family\sfdef@ult \romanseries\mdseries@sf | |
791 | - \else\ifx\f@family\ttdef@ult \romanseries\mdseries@tt | |
792 | - \else \romanseries\mddefault | |
793 | - \fi\fi\fi | |
794 | - \ifx\k@family\mcdef@ult \kanjiseries\mdseries@mc | |
795 | - \else\ifx\k@family\gtdef@ult \kanjiseries\mdseries@gt | |
796 | - \else\ifx\k@family\jttdef@ult\kanjiseries\mdseries@jtt | |
797 | - \else \kanjiseries\mddefault | |
798 | - \fi\fi\fi | |
799 | - \selectfont | |
800 | -} | |
801 | -\appto\expand@font@defaults{% | |
802 | - \edef\mcdef@ult{\mcdefault}% | |
803 | - \edef\gtdef@ult{\gtdefault}% | |
804 | - \edef\jttdef@ult{\jttdefault}% | |
805 | - \edef\kanjidef@ult{\kanjifamilydefault}% | |
806 | -} | |
807 | -\appto\init@series@setup{% | |
808 | - \ifx\kanjidef@ult\mcdef@ult \mcfamily | |
809 | - \else\ifx\kanjidef@ult\gtdef@ult \gtfamily | |
810 | - \else\ifx\kanjidef@ult\jttdef@ult \jttfamily | |
811 | - \fi\fi\fi | |
812 | -} | |
813 | -\fi | |
814 | -\ifdefined\prepare@family@series@update@kanji\else | |
815 | -%%%% LaTeX 2019-10-01 | |
816 | -\def\prepare@family@series@update@kanji#1{\kanjifamily} | |
817 | -\fi | |
818 | - | |
819 | -\DeclareRobustCommand\mcfamily{% | |
820 | - \unless\ifltj@disablejfam\not@math@alphabet\mcfamily\mathmc\fi | |
821 | - \prepare@family@series@update@kanji{mc}\mcdefault | |
822 | - \selectfont} | |
823 | -\DeclareRobustCommand\gtfamily{% | |
824 | - \unless\ifltj@disablejfam\not@math@alphabet\gtfamily\mathgt\fi | |
825 | - \prepare@family@series@update@kanji{gt}\gtdefault | |
826 | - \selectfont} | |
827 | - | |
828 | - | |
829 | - | |
830 | -\let\romanprocess@table\process@table | |
831 | -\def\kanjiprocess@table{% | |
832 | - \kanjiencoding{\kanjiencodingdefault}% | |
833 | - \kanjifamily{\kanjifamilydefault}% | |
834 | - \kanjiseries{\kanjiseriesdefault}% | |
835 | - \kanjishape{\kanjishapedefault}% | |
836 | -} | |
837 | -\def\process@table{% | |
838 | - \romanprocess@table | |
839 | - \kanjiprocess@table | |
840 | -} | |
841 | -\@onlypreamble\romanprocess@table | |
842 | -\@onlypreamble\kanjiprocess@table | |
843 | - | |
844 | -%%%%%% LuaTeX-ja specific | |
845 | - | |
846 | -% #1 の展開結果から encoding 部分をとりだし,それが和文用かどうかの結果を \ifin@ に代入 | |
847 | -\def\ltj@@IsFontJapanese#1{% | |
848 | - \directlua{luatexja.jfont.is_kenc(string.match( | |
849 | - '\luatexluaescapestring{#1}', '[^/]+'))}} | |
850 | - | |
851 | - | |
852 | -\let\extract@afont\extract@font | |
853 | -\def\pickup@jfont{% | |
854 | - \ifnum | |
855 | - \unless\ifnum\ltjgetparameter{direction}=3 1\else | |
856 | - \ifltjselectfont@force@define 1\else 0\fi\fi =1 % | |
857 | - \expandafter \ifx \font@name \relax | |
858 | - \let\extract@font\extract@jfont | |
859 | - \define@newfont | |
860 | - \let\extract@font\extract@afont | |
861 | - \fi | |
862 | - \let\getjfont\font@name | |
863 | - \else | |
864 | - \begingroup\escapechar\m@ne | |
865 | - \ifcsname ltj@@fontjfm/\expandafter\string\font@name\endcsname\else | |
866 | - \let\extract@font\extract@jfont@onlyjfm | |
867 | - \define@newfont | |
868 | - \let\extract@font\extract@afont | |
869 | - \fi | |
870 | - \endgroup | |
871 | - \csname ltj@@fontjfm/\expandafter\expandafter\expandafter\@gobble\expandafter\string\font@name\endcsname | |
872 | - \fi | |
873 | -} | |
874 | -\def\pickup@tfont{% | |
875 | - \ifnum | |
876 | - \ifnum\ltjgetparameter{direction}=3 1\else | |
877 | - \ifltjselectfont@force@define 1\else 0\fi\fi =1 % | |
878 | - \expandafter \ifx \font@name \relax | |
879 | - \let\extract@font\extract@tfont | |
880 | - \define@newfont | |
881 | - \let\extract@font\extract@afont | |
882 | - \fi | |
883 | - \let\gettfont\font@name | |
884 | - \else | |
885 | - \begingroup\escapechar\m@ne | |
886 | - \ifcsname ltj@@fontjfm/\expandafter\string\font@name\endcsname\else | |
887 | - \let\extract@font\extract@tfont@onlyjfm | |
888 | - \define@newfont | |
889 | - \let\extract@font\extract@afont | |
890 | - \fi | |
891 | - \endgroup | |
892 | - \csname ltj@@fontjfm/\expandafter\expandafter\expandafter\@gobble\expandafter\string\font@name\endcsname | |
893 | - \fi | |
894 | -} | |
895 | - | |
896 | -% 異なる和文 enc/fam/ser/shape からは異なるフォント番号が振られるように | |
897 | -% わざと「ゴミをつける」 | |
898 | -\def\ltj@@patch@external@font#1 at{% | |
899 | - \directlua{ | |
900 | - local s = '\luatexluaescapestring{#1}' | |
901 | - local is_braced, is_quoted | |
902 | - if s:sub(1,1)=='{' and s:sub(-1)=='}' then is_braced=true; s=s:sub(2,-2) end | |
903 | - if s:sub(1,1)=='"' and s:sub(-1)=='"' then is_quoted=true; s=s:sub(2,-2) end | |
904 | - s=s..luatexja.jfont.print_aftl_address() | |
905 | - if is_braced then s='{'..s..'}' elseif is_quoted then s='"'..s..'"' end | |
906 | - %print(s, is_quoted, is_braced) | |
907 | - tex.sprint(-2, s)}% | |
908 | - \space at% | |
909 | -} | |
910 | -\def\extract@jfont{% | |
911 | - \get@external@font | |
912 | - \ltj@@does@alt@set{\f@encoding/\f@family/\f@series/\f@shape}{% | |
913 | - \edef\external@font{\expandafter\ltj@@patch@external@font\external@font}% | |
914 | - }% | |
915 | - \expandafter\globaljfont\font@name\external@font\relax\font@name% ここで時間がかかる | |
916 | - \csname \f@encoding+\f@family\endcsname | |
917 | - \csname\curr@fontshape\endcsname} | |
918 | -\def\extract@tfont{% | |
919 | - \get@external@font | |
920 | - \ltj@@does@alt@set{\f@encoding/\f@family/\f@series/\f@shape}{% | |
921 | - \edef\external@font{\expandafter\ltj@@patch@external@font\external@font}% | |
922 | - }% | |
923 | - \expandafter\globaltfont\font@name\external@font\relax\font@name | |
924 | - \csname \f@encoding+\f@family\endcsname | |
925 | - \csname\curr@fontshape\endcsname} | |
926 | -\def\extract@jfont@onlyjfm{% | |
927 | - \get@external@font | |
928 | - \csxdef{ltj@@fontjfm/\expandafter\string\font@name}{% | |
929 | - \directlua{% | |
930 | - luatexja.jfont.load_jfmonly('\luatexluaescapestring{\external@font}', 'yoko') | |
931 | - }% | |
932 | - }} | |
933 | -\def\extract@tfont@onlyjfm{% | |
934 | - \get@external@font | |
935 | - \csxdef{ltj@@fontjfm/\expandafter\string\font@name}{% | |
936 | - \directlua{% | |
937 | - luatexja.jfont.load_jfmonly('\luatexluaescapestring{\external@font}', 'tate') | |
938 | - }% | |
939 | - }} | |
940 | - | |
941 | -\let\ltj@@al@do@subst@correction=\do@subst@correction | |
942 | -\def\ltj@@ja@do@subst@correction{% | |
943 | - \xdef\subst@correction{% | |
944 | - \font@name | |
945 | - \global\expandafter\let\csname \curr@fontshape/\f@size\endcsname\font@name% | |
946 | - \relax}% | |
947 | - \aftergroup\subst@correction | |
948 | -} | |
949 | -\def\do@subst@correction{% | |
950 | - \directlua{luatexja.jfont.is_kenc('\luatexluaescapestring{\f@encoding}')}\ifin@% | |
951 | - \ltj@@ja@do@subst@correction | |
952 | - \else | |
953 | - \ltj@@al@do@subst@correction | |
954 | - \fi | |
955 | -} | |
956 | -\let\@@italiccorr=\/ | |
957 | - | |
958 | -%%%%%% Japanese font for math mode | |
959 | -\unless\ifltj@disablejfam | |
960 | - | |
961 | -% \M@<enc> から その <enc> が和文用か調べる | |
962 | -{\catcode`M=12% | |
963 | -\gdef\ltj@@mathJapaneseFonts#1M#2#3\relax{\ltj@@IsFontJapanese{#3}}} | |
964 | - | |
965 | -\let\ltj@@al@getanddefine@fonts=\getanddefine@fonts | |
966 | -\def\ltj@@ja@getanddefine@fonts#1#2{% | |
967 | - \csletcs{if@ltj@tempif}{ifltjselectfont@force@define}% | |
968 | - \ltjselectfont@force@definetrue | |
969 | - \xdef\font@name{\csname \string#2/\tf@size\endcsname}% | |
970 | - \pickup@jfont\let\textfont@name\font@name | |
971 | - \xdef\font@name{\csname \string#2/\sf@size\endcsname}% | |
972 | - \pickup@jfont\let\scriptfont@name\font@name | |
973 | - \xdef\font@name{\csname \string#2/\ssf@size\endcsname}% | |
974 | - \pickup@jfont | |
975 | - \csletcs{ifltjselectfont@force@define}{if@ltj@tempif}% | |
976 | - \edef\math@fonts{\math@fonts\ltj@setpar@global% | |
977 | - \ltj@@set@stackfont#1,\textfont@name:{MJT}% | |
978 | - \ltj@@set@stackfont#1,\scriptfont@name:{MJS}% | |
979 | - \ltj@@set@stackfont#1,\font@name:{MJSS}% | |
980 | - }% | |
981 | -} | |
982 | - | |
983 | -\def\getanddefine@fonts#1#2{% | |
984 | - \ltj@tempcnta=#1\ltj@@IsFontJapanese{\string#2}% | |
985 | - \ifin@\let\ltj@temp=\ltj@@ja@getanddefine@fonts% | |
986 | - \else \let\ltj@temp=\ltj@@al@getanddefine@fonts\fi | |
987 | - \ltj@temp{#1}{#2}% | |
988 | -} | |
989 | -\def\use@mathgroup#1#2{\relax\ifmmode | |
990 | - \math@bgroup | |
991 | - \expandafter\ifx\csname M@\f@encoding\endcsname#1\else | |
992 | - #1\fi\ltj@tempcnta=#2 \expandafter\ltj@@mathJapaneseFonts\string#1\relax% | |
993 | - \ifin@\jfam#2\relax\else\mathgroup#2\relax\fi | |
994 | - \expandafter\math@egroup\fi}% | |
995 | - | |
996 | -\fi | |
997 | - | |
998 | -%%%%%% Alternate Japanese Fonts | |
999 | -%%%% \DeclareAlternateKanjiFont<Benc><Bfam><Bser><Bshape><Aenc><Afam><Aser><Ashape><range> | |
1000 | -% いつも global | |
1001 | -\def\DeclareAlternateKanjiFont#1#2#3#4#5#6#7#8#9{% | |
1002 | - \edef\@temp{#9}% | |
1003 | - \ifx\@temp\@empty\else | |
1004 | - {\def\ltj@temp@bfont{#1/#2/#3/#4}\def\ltj@temp@afont{#5/#6/#7/#8}% | |
1005 | - \expandafter\ltj@@altfont@latex#9,,}\ignorespaces | |
1006 | - \fi} | |
1007 | -\def\ltj@@altfont@latex#1,{\def\ltj@temp{#1}% | |
1008 | - \ifx\ltj@temp\empty\let\@next=\relax\else | |
1009 | - \ltj@@altfont@latexA{#1}\let\@next=\ltj@@altfont@latex\fi\@next} | |
1010 | -\def\ltj@@altfont@latexA#1{\ltj@@altfont@latexB#1--\@nil} | |
1011 | -\def\ltj@@altfont@latexB#1-#2-#3\@nil{\def\ltj@temp{#3}% | |
1012 | - \ifx\ltj@temp\empty | |
1013 | - \ltj@tempcnta=#1\relax\ltj@tempcntb=\ltj@tempcnta | |
1014 | - \else | |
1015 | - \def\ltj@temp{#1}% | |
1016 | - \ifx\ltj@temp\empty\ltj@tempcnta='200\else\ltj@tempcnta=#1\fi\relax | |
1017 | - \def\ltj@temp{#2}% | |
1018 | - \ifx\ltj@temp\empty\ltj@tempcntb="10FFFF\else\ltj@tempcntb=#2\fi\relax%" | |
1019 | - \fi | |
1020 | - \directlua{luatexja.jfont.set_alt_font_latex( | |
1021 | - \the\ltj@tempcnta,\the\ltj@tempcntb, | |
1022 | - '\luatexluaescapestring{\ltj@temp@afont}', | |
1023 | - '\luatexluaescapestring{\ltj@temp@bfont}')}% | |
1024 | - } | |
1025 | - | |
1026 | -%%%% \ClearAlternateKanjiFont<Benc><Bfam><Bser><Bshape> | |
1027 | -% いつも global | |
1028 | -\def\ClearAlternateKanjiFont#1#2#3#4{% | |
1029 | - \directlua{luatexja.jfont.clear_alt_font_latex('\luatexluaescapestring{#1/#2/#3/#4}')}} | |
1030 | - | |
1031 | -\def\ltj@pickup@altfont@auxy#1{% | |
1032 | - \begingroup\edef\font@name{\csname #1/\f@size\endcsname}\pickup@jfont\endgroup% | |
1033 | -} | |
1034 | -\def\ltj@pickup@altfont@auxt#1{% | |
1035 | - \begingroup\edef\font@name{\csname #1/\f@size\endcsname}\pickup@tfont\endgroup% | |
1036 | -} | |
1037 | -\def\ltj@pickup@altfont@copy#1#2{% | |
1038 | - \ltj@@getjfontnumber#1% | |
1039 | - \directlua{luatexja.jfont.pickup_alt_font_b(\the\ltj@tempcntc,'\luatexluaescapestring{#2}')}% | |
1040 | -} | |
1041 | - | |
1042 | -\def\ltj@@does@alt@set#1#2{% | |
1043 | - \directlua{luatexja.jfont.does_alt_set'\luatexluaescapestring{#1}'}{#2}} | |
1044 | - | |
1045 | -%%%% patch \@text@composite because of {y,t}albaselineshift | |
1046 | - | |
1047 | -% %% \pltx@isletter from plfonts.dtx | |
1048 | -% \def\pltx@mark{\pltx@mark@} | |
1049 | -% \let\pltx@scanstop\relax | |
1050 | -% \long\def\pltx@cond#1\fi{% | |
1051 | -% #1\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi} | |
1052 | -% \long\def\pltx@isletter#1{% | |
1053 | -% \expandafter\pltx@isletter@i#1\pltx@scanstop} | |
1054 | -% \long\def\pltx@isletter@i#1\pltx@scanstop{% | |
1055 | -% \pltx@cond\ifx\pltx@mark#1\pltx@mark\fi{\@firstoftwo}% | |
1056 | -% {\pltx@isletter@ii\pltx@scanstop#1\pltx@scanstop{}#1\pltx@mark}} | |
1057 | -% \long\def\pltx@isletter@ii#1\pltx@scanstop#{% | |
1058 | -% \pltx@cond\ifx\pltx@mark#1\pltx@mark\fi% | |
1059 | -% {\pltx@isletter@iii}{\pltx@isletter@iv}} | |
1060 | -% \long\def\pltx@isletter@iii#1\pltx@mark{\@secondoftwo} | |
1061 | -% \long\def\pltx@isletter@iv#1#2#3\pltx@mark{% | |
1062 | -% \pltx@cond\ifx\pltx@mark#3\pltx@mark\fi{% | |
1063 | -% \pltx@cond{\ifnum0\ifcat A\noexpand#21\fi\ifcat=\noexpand#21\fi>\z@}\fi | |
1064 | -% {\@firstoftwo}{\@secondoftwo}% | |
1065 | -% }{\@secondoftwo}} | |
1066 | -% | |
1067 | -% \def\@text@composite@x#1#2{% | |
1068 | -% \ifx#1\relax | |
1069 | -% #2% | |
1070 | -% \else\pltx@isletter{#1}{#1}{% | |
1071 | -% \begingroup | |
1072 | -% \setbox\z@\hbox\bgroup% | |
1073 | -% \ltj@yablshift\z@ \ltj@tablshift\z@ | |
1074 | -% #1% | |
1075 | -% \@tempcntb\directlua{luatexja.pltx_composite_last_node_char()}%) | |
1076 | -% \xdef\pltx@composite@temp{\noexpand\@tempcntb=\the\@tempcntb\relax}% | |
1077 | -% \aftergroup\pltx@composite@temp | |
1078 | -% \egroup | |
1079 | -% \ifnum\ltjgetparameter{direction}=3 % | |
1080 | -% \@tempdima=\ltj@tablshift sp\else\@tempdima=\ltj@yablshift sp\fi | |
1081 | -% \ifnum\@tempcntb<\z@\@tempcnta\z@\else | |
1082 | -% \@tempcnta=\ltjgetparameter{jacharrange}{\ltjgetparameter{chartorange}{\@tempcntb}}\relax | |
1083 | -% \ifnum\@tempcnta=\z@\@tempdima\z@\fi | |
1084 | -% \fi | |
1085 | -% \ifnum\@tempcnta>\z@ | |
1086 | -% \ifodd\ltjgetparameter{alxspmode}{\@tempcntb}\else\leavevmode\hbox{}\fi | |
1087 | -% \begingroup\mathsurround\z@$% | |
1088 | -% \hbox{\lower\@tempdima\box\z@} | |
1089 | -% $\endgroup% | |
1090 | -% \ifnum\ltjgetparameter{alxspmode}{\@tempcntb}<2\hbox{}\fi | |
1091 | -% \else | |
1092 | -% \ifdim\@tempdima=\z@{\ltj@yablshift\z@ \ltj@tablshift\z@#1}% | |
1093 | -% \else\lower\@tempdima\box\z@\fi | |
1094 | -% \fi | |
1095 | -% \endgroup}% | |
1096 | -% \fi | |
1097 | -% } | |
1098 | - | |
1099 | -\endinput |