% luatexja-preset.sty
-\ProvidesPackage{luatexja-preset}[2020/03/19 Japanese font presets]
+\ProvidesPackage{luatexja-preset}[2020/03/27 Japanese font presets]
\RequirePackage{expl3,l3keys2e}
\RequirePackage{luatexja}
\def\ebdefault{eb}
\DeclareRobustCommand\ebseries { \not@math@alphabet\ebseries\relax\fontseries\ebdefault\selectfont }
\DeclareRobustCommand\gtebfamily { \gtfamily\fontseries{\ebdefault}\selectfont }
+ \DeclareTextFontCommand{\textlt}{\ltseries}
+ \DeclareTextFontCommand{\texteb}{\ebseries}
} {
\cs_set_eq:NN \__ltjpreset_check_deluxe_existence: \prg_do_nothing:
}
%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjfont}[2020/03/20 Patch to NFSS2 for LuaTeX-ja]
+\ProvidesPackage{lltjfont}[2020/03/27 Patch to NFSS2 for LuaTeX-ja]
%% patching \DeclareTextComposite
\def\ltj@chardef@text@cmd#1{%
\cdp@list
\xdef\cdp@list{\the\toks@}%
\endgroup
- \global\@namedef{D@#1}{\def\default@family{#2}%
- \def\default@series{#3}%
- \def\default@shape{#4}}%
+ \global\@namedef{D@#1}{\def\default@k@family{#2}%
+ \def\default@k@series{#3}%
+ \def\default@k@shape{#4}}%
\fi}
+\let\wrong@kfontshape\wrong@fontshape
+\patchcmd\wrong@kfontshape{\default@shape}{\default@k@shape}{}{}
+\patchcmd\wrong@kfontshape{\default@series}{\default@k@series}{}{}
+\patchcmd\wrong@kfontshape{\default@family}{\default@k@family}{}{}
\@onlypreamble\DeclareKanjiSubstitution
\def\DeclareErrorKanjiFont#1#2#3#4#5{%
\xdef\error@kfontshape{%
\directlua{luatexja.base.start_time_measure('selectfont')}%
\let\tmp@error@fontshape\error@fontshape
\let\error@fontshape\error@kfontshape
+ \let\tmp@wrong@fontshape\wrong@fontshape
+ \let\wrong@fontshape\wrong@kfontshape
\directlua{luatexja.jfont.is_kyenc('\luatexluaescapestring{\k@encoding}')}\ifin@%
\let\cy@encoding\k@encoding
+ \ensure@KanjiEncodingPair{t}%
\edef\ct@encoding{\csname t@enc@\k@encoding\endcsname}%
\else
\directlua{luatexja.jfont.is_ktenc('\luatexluaescapestring{\k@encoding}')}\ifin@%
- \let\ct@encoding\k@encoding
- \edef\cy@encoding{\csname y@enc@\k@encoding\endcsname}%
+ \let\ct@encoding\k@encoding
+ \ensure@KanjiEncodingPair{y}%
+ \edef\cy@encoding{\csname y@enc@\k@encoding\endcsname}%
\else
\@latex@error{KANJI Encoding scheme `\k@encoding' unknown}\@eha
\fi
\kenc@update
\global\let\font@name=\ltj@afont@name
\let\error@fontshape\tmp@error@fontshape
+ \let\wrong@fontshape\tmp@wrong@fontshape
\if@knjcmd \@knjcmdfalse
\expandafter\ifx
\csname rel@\k@encoding/\k@family/\k@series/\k@shape\endcsname\relax
\egroup
\def\KanjiEncodingPair#1#2{\@namedef{t@enc@#1}{#2}\@namedef{y@enc@#2}{#1}}
+\def\ensure@KanjiEncodingPair#1{%
+ \edef\reserved@a{\csname #1@enc@\k@encoding\endcsname}%
+ \edef\reserved@b{\csname c#1@encoding\endcsname}%
+ \ifcat\relax\reserved@a
+ \@latex@error
+ {KANJI Encoding pair for `\k@encoding' undefined}%
+ {Use \string\KanjiEncodingPair, falling back to `\reserved@b'...}%
+ \expandafter\edef\reserved@a{\reserved@b}%
+ \fi}
\def\set@fontsize#1#2#3{%
\@defaultunits\@tempdimb#2pt\relax\@nnil
\edef\f@size{\strip@pt\@tempdimb}%