OSDN Git Service

forgot to supply %
[luatex-ja/luatexja.git] / src / patches / lltjfont.sty
index 5c6859d..a1ab6b4 100644 (file)
@@ -3,7 +3,7 @@
 %
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjfont}[2020-09-26 Patch to NFSS2 for LuaTeX-ja]
+\ProvidesPackage{lltjfont}[2020-09-30 Patch to NFSS2 for LuaTeX-ja]
 
 %% patching \DeclareTextComposite
 \def\ltj@chardef@text@cmd#1{%
 }
 
 \newcount\ltj@@latex@plv \ltj@@latex@plv=-1
-\ifdefined\@rmfamilyhook
-%%%% LaTeX 2020-02-02
-\newif\if@shape@roman@kanji
-%%%%%% 2020-02-02 patchlevel detection
-\ifx\@forced@seriestrue\@undefined % 2020-02-02 pl0--2
-  \@latex@error
-   {Please update LaTeX2e!^^J\space\space
-     At least LaTeX2e 2020-02-02 patch level 3 is required}
-   {LaTeX2e 2020-02-02 patch level 2 (and 4) has a bug.}
-\else
-  \ltj@@latex@plv=300
-  \unless\ifx\series@maybe@drop@one@m@x\@undefined % pl5 + develop
-    \ltj@@latex@plv=501
-  \else\unless\ifx\series@maybe@drop@one@m\@undefined % patch level 5
-    \ltj@@latex@plv=500
-  \fi\fi
-\fi
+\ifltj@ltfilehook@avail % 2020-10-01
+  \ltj@@latex@plv=1000
+\else\ifdefined\@rmfamilyhook % 2020-02-02
+  \ifx\@forced@seriestrue\@undefined % 2020-02-02 pl0--2
+    \@latex@error
+     {Please update LaTeX2e!^^J\space\space
+       At least LaTeX2e 2020-02-02 patch level 3 is required}%
+     {LaTeX2e 2020-02-02 patch level 2 (and 4) has a bug.}
+  \else
+    \ltj@@latex@plv=300
+    \unless\ifx\series@maybe@drop@one@m@x\@undefined % pl5 + develop
+      \ltj@@latex@plv=501
+    \else\unless\ifx\series@maybe@drop@one@m\@undefined % patch level 5
+      \ltj@@latex@plv=500
+    \fi\fi
+  \fi
+\fi\fi
+
 %%%%%%
+\ifnum\ltj@@latex@plv>0
+%%%% LaTeX >= 2020-02-02
+\newif\if@shape@roman@kanji
 
 \def\merge@kanji@series#1{%
   \expandafter\expandafter\expandafter
 \DeclareRobustCommand\useroman[4]{%
     \romanencoding{#1}\edef\f@family{#2}\edef\f@series{#3}\edef\f@shape{#4}%
     \selectfont\ignorespaces}
-%%%% LaTeX 2020-02-02 END
+%%%% LaTeX >= 2020-02-02 END
 \else
 %%%% LaTeX 2019-10-01
 \DeclareRobustCommand\romanseries[1]{\edef\f@series{#1}}
   \ltj@@is@kenc{#1}\ifin@\usekanji{#1}{#2}{#3}{#4}%
   \else\useroman{#1}{#2}{#3}{#4}%
   \fi}
-\DeclareRobustCommand\normalfont{%
-    \useroman\encodingdefault\familydefault\seriesdefault\shapedefault
-    \usekanji\kanjiencodingdefault\kanjifamilydefault\kanjiseriesdefault\kanjishapedefault}
-\let\reset@font\normalfont
 
-\ifdefined\@rmfamilyhook
-%%%% LaTeX 2020-02-02
+\ifnum 0\ifltj@ltfilehook@avail1\fi\ifdefined\@rmfamilyhook1\fi>0
+%%%% LaTeX >= 2020-02-02
 \let\prepare@family@series@update@kanji=\prepare@family@series@update
 \patchcmd\prepare@family@series@update{\fontfamily}{\romanfamily}{}{}
 \patchcmd\prepare@family@series@update@kanji{\fontfamily}{\kanjifamily}{}{}
 \patchcmd\update@series@target@value@kanji{\f@series}{\k@series}{}{}
 \def\@meta@family@list@kanji{\@elt{mc}\@elt{gt}\@elt{jtt}}
 
-\ifdefined\@setbfseriesdefaultshook % after 2020-04-07
-  \g@addto@macro\@setbfseriesdefaultshook{%
-    \let\bfseries@mc\bfdef@ult
-    \let\bfseries@gt\bfdef@ult
-    \let\bfseries@jtt\bfdef@ult
- }
-\else % 2020-02-02
-  \expandafter\patchcmd\csname bfseries \endcsname{%
-    \let\bfseries@rm\bfdef@ult
-    \let\bfseries@sf\bfdef@ult
-    \let\bfseries@tt\bfdef@ult
-  }{%
-    \let\bfseries@rm\bfdef@ult
-    \let\bfseries@sf\bfdef@ult
-    \let\bfseries@tt\bfdef@ult
-    \let\bfseries@mc\bfdef@ult
-    \let\bfseries@gt\bfdef@ult
-    \let\bfseries@jtt\bfdef@ult
-  }{}{}
-\fi
-\ifdefined\@setmdseriesdefaultshook % after 2020-04-07
-  \g@addto@macro\@setmdseriesdefaultshook{%
-    \let\mdseries@mc\mddef@ult
-    \let\mdseries@gt\mddef@ult
-    \let\mdseries@jtt\mddef@ult
-  }
-\else % 2020-02-02
-  \expandafter\patchcmd\csname mdseries \endcsname{%
-    \let\mdseries@rm\mddef@ult
-    \let\mdseries@sf\mddef@ult
-    \let\mdseries@tt\mddef@ult
-  }{%
-    \let\mdseries@rm\mddef@ult
-    \let\mdseries@sf\mddef@ult
-    \let\mdseries@tt\mddef@ult
-    \let\mdseries@mc\mddef@ult
-    \let\mdseries@gt\mddef@ult
-    \let\mdseries@jtt\mddef@ult
-  }{}{}
-\fi
+\def\@ltj@hook@series@default#1#2#3{%
+  \ifltj@ltfilehook@avail % 2020-10-01
+    \AddToHook{#1/defaults}{#2}%
+  \else\ifcsname @set#1defaultshook\endcsname %after 2020-04-07
+    \expandafter\g@addto@macro\csname @set#1defaultshook\endcsname{#2}%
+  \else % 2020-02-02
+    \expandafter\patchcmd\csname #1 \endcsname{#3}{#3#2}{}{}%
+  \fi\fi
+}
+\@ltj@hook@series@default{bfseries}{%
+  \let\bfseries@mc\bfdef@ult
+  \let\bfseries@gt\bfdef@ult
+  \let\bfseries@jtt\bfdef@ult
+}{%
+  \let\bfseries@rm\bfdef@ult
+  \let\bfseries@sf\bfdef@ult
+  \let\bfseries@tt\bfdef@ult
+}
+\@ltj@hook@series@default{mdseries}{%
+  \let\mdseries@mc\mddef@ult
+  \let\mdseries@gt\mddef@ult
+  \let\mdseries@jtt\mddef@ult
+}{%
+  \let\mdseries@rm\mddef@ult
+  \let\mdseries@sf\mddef@ult
+  \let\mdseries@tt\mddef@ult
+}
+\let\@ltj@hook@series@default\@undefined
+
 \expandafter\patchcmd\csname bfseries \endcsname{%
   \ifx\f@family\rmdef@ult      \fontseries\bfseries@rm
   \else\ifx\f@family\sfdef@ult \fontseries\bfseries@sf
   \else                        \romanseries\mddefault
   \fi\fi\fi
 }{}{}
-\expandafter\patchcmd\csname bfseries \endcsname{\selectfont}%
-{%
+
+\def\@ltj@hook@series#1#2{%
+  \ifltj@ltfilehook@avail % 2020-10-01
+    \AddToHook{#1}{#2}%
+  \else % 2020-02-02
+    \expandafter\patchcmd\csname #1 \endcsname{\selectfont}{#2\selectfont}{}{}%
+  \fi
+}
+\@ltj@hook@series{bfseries}{%
   \ifx\k@family\mcdef@ult      \kanjiseries\bfseries@mc
   \else\ifx\k@family\gtdef@ult \kanjiseries\bfseries@gt
   \else\ifx\k@family\jttdef@ult\kanjiseries\bfseries@jtt
   \else                        \kanjiseries\bfdefault
   \fi\fi\fi
-  \selectfont
-}{}{}
-\expandafter\patchcmd\csname mdseries \endcsname{\selectfont}%
-{%
+}
+\@ltj@hook@series{mdseries}{%
   \ifx\k@family\mcdef@ult      \kanjiseries\mdseries@mc
   \else\ifx\k@family\gtdef@ult \kanjiseries\mdseries@gt
   \else\ifx\k@family\jttdef@ult\kanjiseries\mdseries@jtt
   \else                        \kanjiseries\mddefault
   \fi\fi\fi
-  \selectfont
-}{}{}
-\ifdefined\@expandfontdefaultshook % 2020-04-07
-  \g@addto@macro\@expandfontdefaultshook{%
-    \edef\mcdef@ult{\mcdefault}%
-    \edef\gtdef@ult{\gtdefault}%
-    \edef\jttdef@ult{\jttdefault}%
-    \edef\kanjidef@ult{\kanjifamilydefault}%
+}
+\let\@ltj@hook@series\@undefined
+
+\def\@ltj@hook@efd#1#2{%
+  \ifltj@ltfilehook@avail % 2020-10-01
+    \AddToHook{expand@font@defaults}{#1}%
+  \else\ifdefined\@expandfontdefaultshook %after 2020-04-07
+    \g@addto@macro\@expandfontdefaultshook{#1#2}%
+  \else % 2020-02-02
+    \appto\expand@font@defaults{#1#2}%
+  \fi\fi
+}
+\@ltj@hook@efd{%
+  \edef\mcdef@ult{\mcdefault}%
+  \edef\gtdef@ult{\gtdefault}%
+  \edef\jttdef@ult{\jttdefault}%
+}{\edef\kanjidef@ult{\kanjifamilydefault}}
+\let\@ltj@hook@efd\@undefined
+
+\ifltj@ltfilehook@avail % 2020-10-01
+  \appto\init@series@setup{%
+    \ifx\kanjiseriesdefault\kanjiseriesdefault@kernel
+      \mdseries
+      \let\kanjiseriesdefault\k@series
+    \fi
   }
-\else % 2020-02-02
-  \appto\expand@font@defaults{%
-    \edef\mcdef@ult{\mcdefault}%
-    \edef\gtdef@ult{\gtdefault}%
-    \edef\jttdef@ult{\jttdefault}%
-    \edef\kanjidef@ult{\kanjifamilydefault}%
+\else
+  \appto\init@series@setup{%
+    \ifx\kanjidef@ult\mcdef@ult      \mcfamily
+    \else\ifx\kanjidef@ult\gtdef@ult \gtfamily
+    \else\ifx\kanjidef@ult\jttdef@ult \jttfamily
+    \fi\fi\fi
   }
 \fi
-\appto\init@series@setup{%
-  \ifx\kanjidef@ult\mcdef@ult      \mcfamily
-  \else\ifx\kanjidef@ult\gtdef@ult \gtfamily
-  \else\ifx\kanjidef@ult\jttdef@ult \jttfamily
-  \fi\fi\fi
+
+\def\@ltj@hook@dfh#1{%
+  \ifltj@ltfilehook@avail % 2020-10-01
+    \AddToHook{normalfont}{#1}%
+  \else\ifdefined\@defaultfamilyhook
+    \g@addto@macro\@defaultfamilyhook{#1}%
+  \else % 2020-02-02
+    \expandafter\patchcmd\csname normalfont \endcsname{\selectfont}{#1\selectfont}{}{}%
+    \let\reset@font\normalfont
+  \fi\fi
 }
+\@ltj@hook@dfh{%
+  \kanjiencoding{\kanjiencodingdefault}%
+  \edef\k@family{\kanjifamilydefault}%
+  \edef\k@series{\kanjiseriesdefault}%
+  \edef\k@shape{\kanjishapedefault}%
+}
+\let\@ltj@hook@dfh\@undefined
+%%%% LaTeX >= 2020-02-02 END
+\else
+%%%% LaTeX 2019-10-01
+\DeclareRobustCommand\normalfont{%
+    \useroman\encodingdefault\familydefault\seriesdefault\shapedefault
+    \usekanji\kanjiencodingdefault\kanjifamilydefault\kanjiseriesdefault\kanjishapedefault}
+\let\reset@font\normalfont
+%%%% LaTeX 2019-10-01 END
 \fi
+
+
+
 \ifdefined\prepare@family@series@update@kanji\else
 %%%% LaTeX 2019-10-01
 \def\prepare@family@series@update@kanji#1{\kanjifamily}
   \selectfont}
 
 
-
 \let\romanprocess@table\process@table
 \def\kanjiprocess@table{%
   \kanjiencoding\kanjiencodingdefault%