OSDN Git Service

import platex/fcd26df6
authorHironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
Fri, 27 Mar 2020 13:01:21 +0000 (22:01 +0900)
committerHironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
Fri, 27 Mar 2020 13:01:21 +0000 (22:01 +0900)
src/addons/luatexja-preset.sty
src/patches/lltjfont.sty

index c561df0..b64f788 100644 (file)
@@ -1,5 +1,5 @@
 % 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:
 }
index 69ab744..33a9946 100644 (file)
@@ -3,7 +3,7 @@
 %
 
 \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}%