summaryrefslogtreecommitdiff
path: root/language/japanese/platex/plfonts.dtx
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-04-13 03:03:00 +0000
committerNorbert Preining <norbert@preining.info>2020-04-13 03:03:00 +0000
commitc98e9ebef816f09dc54c52a01df4f978e1b210fc (patch)
tree0073017824e78ee91d2356f76d2b2944437da5d9 /language/japanese/platex/plfonts.dtx
parentffcfe2bb60911db71a31e4c12541eae3e9df29f3 (diff)
CTAN sync 202004130303
Diffstat (limited to 'language/japanese/platex/plfonts.dtx')
-rw-r--r--language/japanese/platex/plfonts.dtx1347
1 files changed, 1175 insertions, 172 deletions
diff --git a/language/japanese/platex/plfonts.dtx b/language/japanese/platex/plfonts.dtx
index 7163f9a564..12efc700e8 100644
--- a/language/japanese/platex/plfonts.dtx
+++ b/language/japanese/platex/plfonts.dtx
@@ -145,13 +145,28 @@
% (sync with ltfssaxes.dtx 2020/02/27 v1.0d)}
% \changes{v1.6z}{2020/02/28}{Drop surplus ``m'' from \cs{target@series@value}
% (sync with ltfssini.dtx 2020/02/25 v3.1j)}
+% \changes{v1.7}{2020/03/05}{\cs{series@maybe@drop@one@m@x}$B$NB8:_3NG'(B}
+% \changes{v1.7}{2020/03/05}{$B0z?t!&%j%9%H$H$b(B\cs{detokenize}$B$K$h$C$FJ8;zNs2=(B}
+% \changes{v1.7}{2020/03/05}{\cs{do@subst@correction}$B$NF|K\8l2=(B}
+% \changes{v1.7a}{2020/03/06}{\cs{@defaultfamilyhook}$B$r3hMQ(B
+% (sync with ltfssini.dtx 2020/02/10 v3.1h)}
+% \changes{v1.7b}{2020/03/14}{$B8E$$(B\LaTeXe{}$B$G$b%U%)!<%^%C%H@8@.$,DL$k$h$&$K(B}
+% \changes{v1.7c}{2020/03/15}{\cs{fontshape}/\cs{fontshapeforce}$B$,(B
+% $BOBJ8%7%'%$%WL$Dj5A$N>l9g$O(B\cs{k@shape}$B$r99?7$7$J$$$h$&$KJQ99(B}
+% \changes{v1.7d}{2020/03/23}{$B%I%-%e%a%s%H2~NI(B}
+% \changes{v1.7e}{2020/03/26}{$B=D2#%(%s%3!<%G%#%s%0$N%;%C%H2=3NG'(B}
+% \changes{v1.7e}{2020/03/26}{\cs{wrong@fontshape}$B$NOBJ8BP1~(B}
+% \changes{v1.7e}{2020/03/26}{\cs{default@k@...}$B$r;HMQ(B}
+% \changes{v1.7f}{2020/04/07}{Support legacy use of \cs{bfdefault}
+% and \cs{mddefault}, use \cs{@setYYseriesdefaultshook}
+% (sync with ltfssini.dtx 2020/03/19 v3.1k and 2020/04/06 v3.1m)}
% \fi
%
% \iffalse
%<*driver>
\NeedsTeXFormat{pLaTeX2e}
% \fi
-\ProvidesFile{plfonts.dtx}[2020/02/28 v1.6z pLaTeX New Font Selection Scheme]
+\ProvidesFile{plfonts.dtx}[2020/04/07 v1.7f pLaTeX New Font Selection Scheme]
% \iffalse
\documentclass{jltxdoc}
\GetFileInfo{plfonts.dtx}
@@ -209,23 +224,82 @@
% \MakeShortVerb{\|}
%
%
+% \subsection{$B3HD%%3%^%s%I(B}
+% \pLaTeXe{}$B$O!"0J2<$N?7$7$$%3%^%s%I$rDj5A$7$^$9!#(B
+%
+% \DeleteShortVerb{\|}
+% \MakeShortVerb{\+}
+% \begin{center}
+% \begin{tabular}{l|l}
+% \emph{$B%3%^%s%I(B} & \emph{$B0UL#(B}\\\hline
+% +\Declare{Yoko|Tate}KanjiEncoding+ & $BOBJ8%(%s%3!<%I$N@k8@(B\\
+% +\DeclareKanjiEncodingDefaults+ &
+% $B%G%U%)%k%H$NOBJ8%(%s%3!<%I$N@k8@(B\\
+% +\KanjiEncodingPair+ & $BOBJ8%(%s%3!<%I$N%;%C%H2=(B\\
+% +\DeclareKanjiFamily+ & $B%U%!%_%j$N@k8@(B\\
+% +\DeclareKanjiSubstitution+ & $BOBJ8$NBeMQ%U%)%s%H$N@k8@(B\\
+% +\DeclareErrorKanjiFont+ & $BOBJ8$N%(%i!<%U%)%s%H$N@k8@(B \\
+% +\reDeclareMathAlphabet+ & $BOB2$J8$rF1;~$K@Z$jBX$($k%3%^%s%I@k8@(B\\
+% +\{Declare|Set}RelationFont+ & $B=>B0=qBN$N@k8@(B\\
+% +\userelfont+ & $B2$J8=qBN$r=>B0=qBN$K$9$k(B\\
+% +\adjustbaseline+ & $B%Y!<%9%i%$%s%7%U%HNL$N@_Dj(B\\
+% +\{roman|kanji}encoding+ & $B%(%s%3!<%I$N;XDj(B\\
+% +\{roman|kanji}family+ & $B%U%!%_%j$N;XDj(B\\
+% +\{roman|kanji}series[force]+ & $B%7%j!<%:$N;XDj(B\\
+% +\{roman|kanji}shape[force]+ & $B%7%'%$%W$N;XDj(B\\
+% +\use{roman|kanji}+ & $B=qBN$N@Z$jBX$((B\\
+% +\mcfamily+, +\gtfamily+ & $BOBJ8=qBN$rL@D+BN!"%4%7%C%/BN$K$9$k(B\\
+% \end{tabular}
+% \end{center}
+% \DeleteShortVerb{\+}
+% \MakeShortVerb{\|}
+%
+% $B$5$i$K!"%*%j%8%J%k$N(B\LaTeXe{}$B$N0J2<$N%3%^%s%I$r:FDj5A$7$^$9!#(B
+%
+% \DeleteShortVerb{\|}
+% \MakeShortVerb{\+}
+% \begin{center}
+% \begin{tabular}{l|l}
+% \emph{$B%3%^%s%I(B} & \emph{$B0UL#(B}\\\hline
+% +\DeclareFontEncoding+ & $B%(%s%3!<%I$N@k8@(B\\
+% +\DeclareFontFamily+ & $B%U%!%_%j$N@k8@(B\\
+% +\DeclareFixedFont+ & $B%U%)%s%H$NL>A0$N@k8@(B \\
+% +\selectfont+ & $B%U%)%s%H$r@Z$jBX$($k(B\\
+% +\set@fontsize+ & $B%U%)%s%H%5%$%:$NJQ99(B\\
+% +\fontencoding+ & $B%(%s%3!<%I$N;XDj(B\\
+% +\fontfamily+ & $B%U%!%_%j$N;XDj(B\\
+% +\fontseries[force]+ & $B%7%j!<%:$N;XDj(B\\
+% +\fontshape[force]+ & $B%7%'%$%W$N;XDj(B\\
+% +\usefont+ & $B=qBN$N@Z$jBX$((B\\
+% +\normalfont+ & $B%G%U%)%k%HCM$N@_Dj$K@Z$jBX$($k(B\\
+% +\bfseries+, +\mdseries+ & $B%7%j!<%:$rB@;z!"Cf;z$K$9$k(B\\
+% \end{tabular}
+% \end{center}
+% \DeleteShortVerb{\+}
+% \MakeShortVerb{\|}
+%
%
% \section{$B%3!<%I(B}\label{plfonts:codes}
-% $B$3$N@a$G!"6qBNE*$K(B\NFSS2$B$r3HD%$9$k%3%^%s%I$d%^%/%m$NDj5A$r9T$J$C$F$$$^$9!#(B
+% $B$3$N@a$G!"<B:]$N%3!<%I$r@bL@$7$^$9!#(B
%
% \subsection{$B=`Hw(B}
% \NFSS2$B$r3HD%$9$k$?$a$N=`Hw$G$9!#(B
% $BOBJ8%U%)%s%H$NB0@-$r3JG<$9$k%*%V%8%'%/%H$dD9$5JQ?t!"(B
% $BB0@-$r@ZBX$($k:]$NH=CG:`NA$H$7$F;H$&%j%9%H$J$I$rDj5A$7$F$$$^$9!#(B
%
-% \file{ptrace}$B%Q%C%1!<%8$O(B\LaTeX{}$B$N(B\file{tracefnt}$B%Q%C%1!<%8$K0MB8$7$^$9!#(B
+% \LaTeX{}$B$N(B\file{tracefnt}$B%Q%C%1!<%8$KAjEv$9$k%G%P%C%05!G=$O!"(B
+% \pLaTeX{}$B$G$O(B\file{ptrace}$B%Q%C%1!<%8$GDs6!$7$^$9!#(B
+% $B0JA0!J%"%9%-!<HG!K$G$O(B\file{ptrace}$B$NA0$K(B\file{tracefnt}$B$r(B
+% $B<jF0$G(B|\usepackage|$B$9$kI,MW$,$"$j$^$7$?$,!"(B
+% $B%3%_%e%K%F%#HG$G$O(B\file{ptrace}$B$,<+F0$G(B\file{tracefnt}$B$r(B
+% $BFI$_9~$`$h$&$K2~NI$7$F$"$j$^$9!#(B
% \changes{v1.6b}{2016/04/30}{ptrace.sty$B$NKAF,$G(Btracefnt.sty$B$r(B
% \cs{RequirePackageWithOptions}$B$9$k$h$&$K$7$?(B}
% \begin{macrocode}
%<*trace>
\NeedsTeXFormat{pLaTeX2e}
\ProvidesPackage{ptrace}
- [2019/09/16 v1.6t Standard pLaTeX package (font tracing)]
+ [2020/03/26 v1.7e Standard pLaTeX package (font tracing)]
\RequirePackageWithOptions{tracefnt}
%</trace>
% \end{macrocode}
@@ -373,7 +447,7 @@
% \end{macrocode}
% \end{macro}
%
-% \subsubsection{$B0l;~%3%^%s%I(B}
+% \subsubsection{$B0l;~%3%^%s%I(B}\label{afont-ascii}
%
% \begin{macro}{\afont}
% \LaTeX{}$BFbIt$N(B|\do@subst@correction|$B%^%/%m$G$O!"(B
@@ -402,12 +476,44 @@
%
% \begin{macro}{\inlist@}
% $B<!$N%3%^%s%I$O!"%(%s%3!<%I$d%U%!%_%j$N%j%9%HFb$KBhFs0z?t$G;XDj$5$l$?J8;zNs(B
-% $B$,$"$k$+$I$&$+$rD4$Y$k%^%/%m$G$9!#(B
+% $B$,$"$k$+$I$&$+$rD4$Y$k%^%/%m$G$9!#7k2L$O(B\cs{ifin@}$B$K3JG<$5$l$^$9!#(B
+% $BBhFs0z?t$O%j%9%H$=$N$b$N!J%j%9%H$,3JG<$5$l$?%^%/%m$G$O$J$/!K$r;XDj$9$k$3$H$K$J$j$^$9!#(B
+% $BE57?E*$K$O0J2<$N$h$&$K8F$S=P$7$^$9!#(B
+%\begin{verbatim}
+% \edef\tmp@item{{\k@encoding}}%
+% \expandafter\expandafter\expandafter
+% \inlist@\expandafter\tmp@item\expandafter{\kyenc@list}
+%\end{verbatim}
+%
+% |\do@subst@correction|$B$NF|K\8l2=$KI,MW$J$N$G!"(B
+% \pLaTeXe~2020-04-12$B0J9_$G$OHf3S;~$K(B
+% $B0z?t!&%j%9%H$H$b(B\cs{detokenize}$B$K$h$C$FJ8;zNs2=$9$k$h$&$K$7$^$7$?!#(B
+% \changes{v1.7}{2020/03/05}{$B0z?t!&%j%9%H$H$b(B\cs{detokenize}$B$K$h$C$FJ8;zNs2=(B}
% \begin{macrocode}
+%</plcore>
+%<platexrelease>\plIncludeInRelease{2020/04/12}{\inlist@}
+%<platexrelease> {Detokenize}%
+%<*plcore|platexrelease>
\def\inlist@#1#2{%
- \def\in@@##1<#1>##2##3\in@@{%
- \ifx\in@##2\in@false\else\in@true\fi}%
- \in@@#2<#1>\in@\in@@}
+ \edef\reserved@a{%
+ \unexpanded{\def\in@@##1<}%
+ \detokenize{#1}%
+ \unexpanded{>##2##3\in@@{\ifx\in@##2\in@false\else\in@true\fi}\in@@}%
+ \detokenize{#2}%
+ \unexpanded{<}%
+ \detokenize{#1}%
+ \unexpanded{>\in@\in@@}}%
+ \reserved@a}
+%</plcore|platexrelease>
+%<platexrelease>\plEndIncludeInRelease
+%<platexrelease>\plIncludeInRelease{0000/00/00}{\inlist@}
+%<platexrelease> {ASCII Corporation original}%
+%<platexrelease>\def\inlist@#1#2{%
+%<platexrelease> \def\in@@##1<#1>##2##3\in@@{%
+%<platexrelease> \ifx\in@##2\in@false\else\in@true\fi}%
+%<platexrelease> \in@@#2<#1>\in@\in@@}
+%<platexrelease>\plEndIncludeInRelease
+%<*plcore>
% \end{macrocode}
% \end{macro}
%
@@ -499,20 +605,19 @@
% \subsubsection{$B;YCl(B}
% $B9T4V$ND4@0$J$I$KMQ$$$k;YCl$G$9!#(B
% $B;YCl$N$b$H$H$J$k%\%C%/%9$NBg$-$5$O!"%U%)%s%H%5%$%:$,JQ99$5$l$k$?$S$K!"(B
-% |\set@fontsize|$B%3%^%s%I$K$h$C$FJQ2=$7$^$9!#(B
-%
-% $B%U%)%s%H%5%$%:$,JQ99$5$l$?$H$-$K!"(B|\set@fontsize|$B%3%^%s%I$G99?7$5$l$^$9!#(B
+% |\set@fontsize|$B%3%^%s%I$K$h$C$F99?7$5$l$^$9!#(B
%
+% $B%3%_%e%K%F%#HG(B\pLaTeXe~2017/04/08$B$G$NJQ99!'(B
% $B=>Mh!"2#AH%\%C%/%9MQ$N;YCl$O(B|\strutbox|$B$G!"9b$5$H?<$5$,(B7$BBP(B3$B$H$J$C$F$$$^$7$?!#(B
% $B$3$l$O(Bp\LaTeX{}$BC1BN$G$OLdBj$K$J$j$^$;$s$G$7$?$,!"3$30@=$N(B\LaTeX{}$B%Q%C%1!<%8$r(B
% $B=DAH$G;HMQ$7$?>l9g$K!"0U?^$7$J$$I}$d9b$5$,<hF@$5$l$k$3$H$,$"$j$^$7$?!#(B
% $B$3$NITET9g$r2sHr$9$k$?$a!"%3%_%e%K%F%#HG(Bp\LaTeX{}$B$G$O<!$NJ}K!$r$H$j$^$9!#(B
% \begin{itemize}
-% \item |\ystrutbox|$B!J?7@_!K!'9b$5$H?<$5$,(B7$BBP(B3$B$N2#AH%\%C%/%9MQ$N;YCl(B
-% \item |\tstrutbox|$B!'9b$5$H?<$5$,(B5$BBP(B5$B$N=DAH%\%C%/%9MQ$N;YCl(B
-% \item |\zstrutbox|$B!'9b$5$H?<$5$,(B7$BBP(B3$B$N=DAH%\%C%/%9MQ$N;YCl(B
+% \item |\ystrutbox|$B!J?7@_!K!'9b$5$H?<$5$,(B7$BBP(B3$B$N2#AHMQ$N;YCl%\%C%/%9%l%8%9%?(B
+% \item |\tstrutbox|$B!'9b$5$H?<$5$,(B5$BBP(B5$B$N=DAHMQ$N;YCl%\%C%/%9%l%8%9%?(B
+% \item |\zstrutbox|$B!'9b$5$H?<$5$,(B7$BBP(B3$B$N=DAHMQ$N;YCl%\%C%/%9%l%8%9%?(B
% \item |\strutbox|$B!J;EMMJQ99!K!'=D2#$N%G%#%l%/%7%g%s$K1~$8$F(B
-% |\tstrutbox|$B$^$?$O(B|\ystrutbox|$B$KE83+$5$l$k%^%/%m(B
+% |\tstrutbox|$B$^$?$O(B|\ystrutbox|$B$KE83+$5$l$k(B\emph{$B%^%/%m(B}
% \end{itemize}
% $B$9$J$o$A!"=>Mh$N(Bp\LaTeX{}$B$K$*$1$k(B|\strutbox|$B$HF1$85sF0$r<($9$N$,!"(B
% $B?7@_$5$l$?(B|\ystrutbox|$B$H$$$&$3$H$K$J$j$^$9!#(B
@@ -530,7 +635,7 @@
% \end{macro}
%
% \begin{macro}{\ystrutbox}
-% |\ystrutbox|$B$O9b$5$H?<$5$,(B7$BBP(B3$B$N2#AH%\%C%/%9MQ$N;YCl$G$9!#(B
+% |\ystrutbox|$B$O9b$5$H?<$5$,(B7$BBP(B3$B$N2#AHMQ$N;YCl%\%C%/%9$G$9!#(B
% \changes{v1.6f}{2017/02/20}{\cs{ystrutbox}$B$rDI2C(B}
% \begin{macrocode}
%</plcore>
@@ -666,41 +771,10 @@
%
%
%
-% \subsection{$B%3%^%s%I(B}
-% $B<!$N%3%^%s%I$NDj5A$r$7$F$$$^$9!#(B
-%
-% \DeleteShortVerb{\|}
-% \MakeShortVerb{\+}
-% \begin{center}
-% \begin{tabular}{l|l}
-% \emph{$B%3%^%s%I(B} & \emph{$B0UL#(B}\\\hline
-% +\Declare{Font|YokoKanji|TateKanji}Encoding+ & $B%(%s%3!<%I$N@k8@(B\\
-% +\Declare{Yoko|Tate}KanjiEncodingDefaults+ &
-% $B%G%U%)%k%H$NOBJ8%(%s%3!<%I$N@k8@(B\\
-% +\Declare{Font|Kanji}Family+ & $B%U%!%_%j$N@k8@(B\\
-% +\DeclareKanjiSubstitution+ & $BOBJ8$NBeMQ%U%)%s%H$N@k8@(B\\
-% +\DeclareErrorKanjiFont+ & $BOBJ8$N%(%i!<%U%)%s%H$N@k8@(B \\
-% +\DeclareFixedFont+ & $B%U%)%s%H$NL>A0$N@k8@(B \\
-% +\reDeclareMathAlphabet+ & $BOB2$J8$rF1;~$K@Z$jBX$($k%3%^%s%I@k8@(B\\
-% +\{Declare|Set}RelationFont+ & $B=>B0=qBN$N@k8@(B\\
-% +\userelfont+ & $B2$J8=qBN$r=>B0=qBN$K$9$k(B\\
-% +\selectfont+ & $B%U%)%s%H$r@Z$jBX$($k(B\\
-% +\set@fontsize+ & $B%U%)%s%H%5%$%:$NJQ99(B\\
-% +\adjustbaseline+ & $B%Y!<%9%i%$%s%7%U%HNL$N@_Dj(B\\
-% +\{font|roman|kanji}encoding+ & $B%(%s%3!<%I$N;XDj(B\\
-% +\{font|roman|kanji}family+ & $B%U%!%_%j$N;XDj(B\\
-% +\{font|roman|kanji}series+ & $B%7%j!<%:$N;XDj(B\\
-% +\{font|roman|kanji}shape+ & $B%7%'%$%W$N;XDj(B\\
-% +\use{font|roman|kanji}+ & $B=qBN$N@Z$jBX$((B\\
-% +\normalfont+ & $B%G%U%)%k%HCM$N@_Dj$K@Z$jBX$($k(B\\
-% +\mcfamily+,+\gtfamily+ & $BOBJ8=qBN$rL@D+BN!"%4%7%C%/BN$K$9$k(B\\
-% +\textunderscore+ & $B%F%-%9%H%b!<%I$G$N2<@~%^%/%m(B\\
-% \end{tabular}
-% \end{center}
-% \DeleteShortVerb{\+}
-% \MakeShortVerb{\|}
-%
+% \subsection{\NFSS2$B$N3HD%%3%^%s%I(B}
+% \NFSS2$B$N3HD%%3%^%s%I$rDj5A$7$^$9!#(B
%
+% \subsubsection{$B%(%s%3!<%I$N@k8@(B}
% \begin{macro}{\DeclareFontEncoding}
% \begin{macro}{\DeclareFontEncoding@}
% $B2$J8%(%s%3!<%I$r@k8@$9$k$?$a$N%3%^%s%I$G$9!#(B
@@ -921,6 +995,7 @@
%
% \begin{macro}{\DeclareKanjiEncodingDefaults}
% $BOBJ8%(%s%3!<%I$N%G%U%)%k%HCM$r@k8@$9$k%3%^%s%I$G$9!#(B
+% |\DeclareFontEncodingDefaults|$B$KAjEv$7$^$9!#(B
% \begin{macrocode}
\def\DeclareKanjiEncodingDefaults#1#2{%
\ifx\relax#1\else
@@ -945,13 +1020,57 @@
% \begin{macro}{\KanjiEncodingPair}
% $BOBJ8$N=D2#$N%(%s%3!<%G%#%s%0$O$=$l$>$lBP$K$7$F07$&$?$a!"%;%C%H2=$9$k$?$a$N(B
% $B%3%^%s%I$rDj5A$7$^$9!#(B
+% $BBh0l0z?t$,2#AHMQ!"BhFs0z?t$,=DAHMQ$G$9!#(B
% \changes{v1.3n}{2004/08/10}{$BOBJ8%(%s%3!<%G%#%s%0$N@Z$jBX$($rM-8z2=(B}
% \begin{macrocode}
\def\KanjiEncodingPair#1#2{\@namedef{t@enc@#1}{#2}\@namedef{y@enc@#2}{#1}}
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\ensure@KanjiEncodingPair}
+% $B2#=q$-$H=D=q$-$N%(%s%3!<%G%#%s%0$OI,$:(B|\KanjiEncodingPair|$B$G(B
+% $B%;%C%H2=$7$J$$$H;H$($^$;$s!#$b$7%;%C%H2=$5$l$F$$$J$1$l$P!"(B
+% $BL@2w$J%(%i!<$GCN$i$;$^$9!#(B
+% ^^A $B:G6a$N(B\file{plfonts.dtx}$B$NJQ99(B(2017/11/06 v1.6j)$B$G!"(B
+% ^^A u\pLaTeX{}$B$H(B\pLaTeX{}$B$N%=!<%96&DL2=$N0l4D$H$7$F(B
+% ^^A $B<B9T%3!<%I(B|\KanjiEncodingPair{JY1}{JT1}|$B$r(B
+% ^^A \file{plcore.ltx}$B$+$i(B\file{pldefs.ltx}$B$X0\F0$7$?$N$G!"(B
+% ^^A $BK|$,0l8E$$(B\file{pldefs.cfg}$B$,FI$_9~$^$l$?>l9g$K<B9T$5$l$J$$2DG=@-$,$"$k!#(B
+% \changes{v1.7e}{2020/03/26}{$B=D2#%(%s%3!<%G%#%s%0$N%;%C%H2=3NG'(B}
+% \begin{macrocode}
+%</plcore>
+%<platexrelease>\plIncludeInRelease{2020/04/12}{\ensure@KanjiEncodingPair}
+%<platexrelease> {Check \KanjiEncodingPair}%
+%<*plcore|platexrelease>
+\def\ensure@KanjiEncodingPair#1{%
+ \edef\reserved@a{\csname #1@enc@\k@encoding\endcsname}%
+ \edef\reserved@b{\csname c#1@encoding\endcsname}%
+% \end{macrocode}
+% |\reserved@a|$B$O!"%;%C%H2=$,M-8z$J$i%(%s%3!<%I$rI=$9J8;z%H!<%/%sNs!"(B
+% $BL58z$J$i(B|\relax|$B$HF15A$N@)8fDV$KE83+$5$l$k%^%/%m$G$9!#(B
+% $B$3$3$G!"(B|\ifcat|$B!JE83+ITG=%H!<%/%s$,8=$l$k$^$GE83+$7$F$+$iHf3S!K$r;H$$$^$9!#(B
+% ^^A $BJ8;z%H!<%/%sNs$OJ#?tJ8;z$+$i@.$jF@$k$,!"(B
+% ^^A |\relax|$B$H@hF,0lJ8;z$NHf3S$OI,$:56$H$J$j!";D$j$NJ8;z$OFI$_Ht$P$5$l$k!#(B
+% ^^A $B@)8fDV$N>l9g$OI,$:%H!<%/%s(B1$B8D$G$"$j!"(B|\relax|$B$H$NHf3S$G??$K$J$k!#(B
+% \begin{macrocode}
+ \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}
+%</plcore|platexrelease>
+%<platexrelease>\plEndIncludeInRelease
+%<platexrelease>\plIncludeInRelease{0000/00/00}{\ensure@KanjiEncodingPair}
+%<platexrelease> {ASCII Corporation original}%
+%<platexrelease>\let\ensure@KanjiEncodingPair\@undefined
+%<platexrelease>\plEndIncludeInRelease
+%<*plcore>
+% \end{macrocode}
+% \end{macro}
%
+%
+% \subsubsection{$B%U%!%_%j$N@k8@(B}
% \begin{macro}{\DeclareFontFamily}
% $B2$J8%U%!%_%j$r@k8@$9$k$?$a$N%3%^%s%I$G$9!#(B
% |\ffam@list|$B$r:n$k$h$&$K:FDj5A$r$7$^$9!#(B
@@ -1004,10 +1123,15 @@
% \end{macro}
%
% \begin{macro}{\DeclareKanjiSubstitution}
-% $BL\E*$NOBJ8%U%)%s%H$,8+$D$+$i$J$+$C$?$H$-$K;H$&%U%)%s%H$N@k8@$r$9$k(B
-% $B%3%^%s%I$G$9!#(B
-% |\DeclareFontSubstitution|$B$KBP1~$7$^$9!#(B
+% $BL\E*$NOBJ8%U%)%s%H$,8+$D$+$i$J$+$C$?$H$-$K;H$&BeMQ=qBN$N(B
+% $B@k8@$r$9$k%3%^%s%I$G$9!#(B
+% |\DeclareFontSubstitution|$B$KAjEv$7$^$9!#(B
+% \changes{v1.7e}{2020/03/26}{\cs{default@k@...}$B$r;HMQ(B}
% \begin{macrocode}
+%</plcore>
+%<platexrelease>\plIncludeInRelease{2020/04/12}{\DeclareKanjiSubstitution}
+%<platexrelease> {Use \default@k@family etc.}%
+%<*plcore|platexrelease>
\def\DeclareKanjiSubstitution#1#2#3#4{%
\expandafter\ifx\csname T@#1\endcsname\relax
\@latex@error{KANJI Encoding scheme `#1' unknown}\@eha
@@ -1025,16 +1149,62 @@
\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}
+%</plcore|platexrelease>
+%<platexrelease>\plEndIncludeInRelease
+%<platexrelease>\plIncludeInRelease{0000/00/00}{\DeclareKanjiSubstitution}
+%<platexrelease> {ASCII Corporation original}%
+%<platexrelease>\def\DeclareKanjiSubstitution#1#2#3#4{%
+%<platexrelease> \expandafter\ifx\csname T@#1\endcsname\relax
+%<platexrelease> \@latex@error{KANJI Encoding scheme `#1' unknown}\@eha
+%<platexrelease> \else
+%<platexrelease> \begingroup
+%<platexrelease> \def\reserved@a{#1}%
+%<platexrelease> \toks@{}%
+%<platexrelease> \def\cdp@elt##1##2##3##4{%
+%<platexrelease> \def\reserved@b{##1}%
+%<platexrelease> \ifx\reserved@a\reserved@b
+%<platexrelease> \addto@hook\toks@{\cdp@elt{#1}{#2}{#3}{#4}}%
+%<platexrelease> \else
+%<platexrelease> \addto@hook\toks@{\cdp@elt{##1}{##2}{##3}{##4}}%
+%<platexrelease> \fi}%
+%<platexrelease> \cdp@list
+%<platexrelease> \xdef\cdp@list{\the\toks@}%
+%<platexrelease> \endgroup
+%<platexrelease> \global\@namedef{D@#1}{\def\default@family{#2}%
+%<platexrelease> \def\default@series{#3}%
+%<platexrelease> \def\default@shape{#4}}%
+%<platexrelease> \fi}
+%<platexrelease>\plEndIncludeInRelease
+%<platexrelease>% !!! Special case BEGIN
+%<platexrelease>% required for any emulation date
+%<platexrelease>% copied from (u)pldefs.ltx
+%<platexrelease>\def\pltx@tempa{JY1}\ifx\pltx@tempa\k@encoding
+%<platexrelease>\DeclareKanjiSubstitution{JY1}{mc}{m}{n}
+%<platexrelease>\DeclareKanjiSubstitution{JT1}{mc}{m}{n}
+%<platexrelease>\else\def\pltx@tempa{JY2}\ifx\pltx@tempa\k@encoding
+%<platexrelease>\DeclareKanjiSubstitution{JY2}{mc}{m}{n}
+%<platexrelease>\DeclareKanjiSubstitution{JT2}{mc}{m}{n}
+%<platexrelease>\fi\fi
+%<platexrelease>% emulate execution of \enc@update in \selectfont
+%<platexrelease>% before (u)pldefs.ltx is loaded
+%<platexrelease>\csname D@\f@encoding\endcsname
+%<platexrelease>% emulate execution of \kenc@update in \selectfont
+%<platexrelease>% inside (u)pldefs.ltx
+%<platexrelease>\csname D@\k@encoding\endcsname
+%<platexrelease>% !!! Special case END
+%<*plcore>
\@onlypreamble\DeclareKanjiSubstitution
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\DeclareErrorKanjiFont}
% |\DeclareErrorFont|$B$KBP1~$9$k%3%^%s%I$G$9!#(B
+% $BBeMQ=qBN$G<($5$l$?=qBN$b8+$D$+$i$J$+$C$?$H$-$K(B
+% $B:G8e$N<jCJ$H$7$F;H$o$l$k%(%i!<=qBN$rDj5A$7$^$9!#(B
% \changes{v1.6s}{2019/08/13}{\cs{DeclareErrorKanjiFont}:
% Don't set any \cs{k@...} macros
% (sync with ltfssbas.dtx 2019/07/09 v3.2c)}
@@ -1075,10 +1245,181 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\wrong@fontshape}
+% \begin{macro}{\wrong@al@fontshape}
+% \begin{macro}{\wrong@ja@fontshape}
+% |\wrong@fontshape|$B$rOBJ8BP1~$K$7$^$9!#(B
+% |\DeclareKanjiSubstitution|$B$G(B|\default@k@...|$B$r;HMQ$9$k2~NI$H(B
+% $BF1;~$G$J$1$l$P$J$j$^$;$s!#(B
+% \changes{v1.7e}{2020/03/26}{\cs{wrong@fontshape}$B$NOBJ8BP1~(B}
+%
+% $B%*%j%8%J%k$N(B\LaTeX{}$B$NDj5A$O!"2$J8MQ$H$7$F;H$$$^$9!#(B
+% \begin{macrocode}
+%</plcore>
+%<platexrelease>\plIncludeInRelease{2020/04/12}{\wrong@fontshape}
+%<platexrelease> {Japanese \wrong@fontshape}%
+%<*plcore|platexrelease>
+\def\wrong@al@fontshape{%
+ \csname D@\f@encoding\endcsname % install defaults if in math
+ \edef\reserved@a{\csname\curr@fontshape\endcsname}%
+ \ifx\last@fontshape\reserved@a
+ \errmessage{Corrupted NFSS tables}%
+ \error@fontshape
+ \else
+ \let\f@shape\default@shape
+ \expandafter\ifx\csname\curr@fontshape\endcsname\relax
+ \let\f@series\default@series
+ \expandafter
+ \ifx\csname\curr@fontshape\endcsname\relax
+ \let\f@family\default@family
+ \begingroup
+ \try@load@fontshape
+ \endgroup
+ \fi \fi
+ \fi
+ \@font@warning{Font shape `\expandafter\string\reserved@a'
+ \expandafter\@gobble\string\@undefined\MessageBreak
+ using `\curr@fontshape' instead\@wrong@font@char}%
+ \global\let\last@fontshape\reserved@a
+ \gdef\@defaultsubs{%
+ \@font@warning{Some font shapes were not available, defaults
+ substituted.\@gobbletwo}}%
+ \global\expandafter\expandafter\expandafter\let
+ \expandafter\reserved@a
+ \csname\curr@fontshape\endcsname
+ \xdef\font@name{%
+ \csname\curr@fontshape/\f@size\endcsname}%
+ \pickup@font}
+% \end{macrocode}
+% $BOBJ8MQ$NDj5A$G$9!#(B
+% \begin{macrocode}
+\def\wrong@ja@fontshape{%
+ \csname D@\f@encoding\endcsname % install defaults if in math
+ \edef\reserved@a{\csname\curr@fontshape\endcsname}%
+ \ifx\last@fontshape\reserved@a
+ \errmessage{Corrupted NFSS tables}%
+ \error@fontshape
+ \else
+ \let\f@shape\default@k@shape % !!!
+ \expandafter\ifx\csname\curr@fontshape\endcsname\relax
+ \let\f@series\default@k@series % !!!
+ \expandafter
+ \ifx\csname\curr@fontshape\endcsname\relax
+ \let\f@family\default@k@family % !!!
+ \begingroup
+ \try@load@fontshape
+ \endgroup
+ \fi \fi
+ \fi
+ \@font@warning{Font shape `\expandafter\string\reserved@a'
+ \expandafter\@gobble\string\@undefined\MessageBreak
+ using `\curr@fontshape' instead\@wrong@font@char}%
+ \global\let\last@fontshape\reserved@a
+ \gdef\@defaultsubs{%
+ \@font@warning{Some font shapes were not available, defaults
+ substituted.\@gobbletwo}}%
+ \global\expandafter\expandafter\expandafter\let
+ \expandafter\reserved@a
+ \csname\curr@fontshape\endcsname
+ \xdef\font@name{%
+ \csname\curr@fontshape/\f@size\endcsname}%
+ \pickup@font}
+% \end{macrocode}
+% $B$=$7$F!"%(%s%3!<%G%#%s%0$K1~$8$F2$J8MQ$HOBJ8MQ$r;H$$J,$1$^$9!#(B
+% \begin{macrocode}
+\def\wrong@fontshape{%
+ \edef\tmp@item{{\f@encoding}}%
+ \expandafter\expandafter\expandafter
+ \inlist@\expandafter\tmp@item\expandafter{\kenc@list}%
+ \ifin@
+ \wrong@ja@fontshape
+ \else
+ \wrong@al@fontshape
+ \fi
+}
+%</plcore|platexrelease>
+%<platexrelease>\plEndIncludeInRelease
+%<platexrelease>\plIncludeInRelease{2015/01/01}{\wrong@fontshape}
+%<platexrelease> {LaTeX2e original (2015)}%
+%<platexrelease>\def\wrong@fontshape{%
+%<platexrelease> \csname D@\f@encoding\endcsname % install defaults if in math
+%<platexrelease> \edef\reserved@a{\csname\curr@fontshape\endcsname}%
+%<platexrelease> \ifx\last@fontshape\reserved@a
+%<platexrelease> \errmessage{Corrupted NFSS tables}%
+%<platexrelease> \error@fontshape
+%<platexrelease> \else
+%<platexrelease> \let\f@shape\default@shape
+%<platexrelease> \expandafter\ifx\csname\curr@fontshape\endcsname\relax
+%<platexrelease> \let\f@series\default@series
+%<platexrelease> \expandafter
+%<platexrelease> \ifx\csname\curr@fontshape\endcsname\relax
+%<platexrelease> \let\f@family\default@family
+%<platexrelease> \begingroup
+%<platexrelease> \try@load@fontshape
+%<platexrelease> \endgroup
+%<platexrelease> \fi \fi
+%<platexrelease> \fi
+%<platexrelease> \@font@warning{Font shape `\expandafter\string\reserved@a'
+%<platexrelease> \expandafter\@gobble\string\@undefined\MessageBreak
+%<platexrelease> using `\curr@fontshape' instead\@wrong@font@char}%
+%<platexrelease> \global\let\last@fontshape\reserved@a
+%<platexrelease> \gdef\@defaultsubs{%
+%<platexrelease> \@font@warning{Some font shapes were not available, defaults
+%<platexrelease> substituted.\@gobbletwo}}%
+%<platexrelease> \global\expandafter\expandafter\expandafter\let
+%<platexrelease> \expandafter\reserved@a
+%<platexrelease> \csname\curr@fontshape\endcsname
+%<platexrelease> \xdef\font@name{%
+%<platexrelease> \csname\curr@fontshape/\f@size\endcsname}%
+%<platexrelease> \pickup@font}
+%<platexrelease>\let\wrong@al@fontshape\@undefined
+%<platexrelease>\let\wrong@ja@fontshape\@undefined
+%<platexrelease>\plEndIncludeInRelease
+%<platexrelease>\plIncludeInRelease{0000/00/00}{\wrong@fontshape}
+%<platexrelease> {LaTeX2e original (old)}%
+%<platexrelease>\def\wrong@fontshape{%
+%<platexrelease> \csname D@\f@encoding\endcsname
+%<platexrelease> \edef\reserved@a{\csname\curr@fontshape\endcsname}%
+%<platexrelease> \ifx\last@fontshape\reserved@a
+%<platexrelease> \errmessage{Corrupted NFSS tables}%
+%<platexrelease> \error@fontshape
+%<platexrelease> \else
+%<platexrelease> \let\f@shape\default@shape
+%<platexrelease> \expandafter\ifx\csname\curr@fontshape\endcsname\relax
+%<platexrelease> \let\f@series\default@series
+%<platexrelease> \expandafter
+%<platexrelease> \ifx\csname\curr@fontshape\endcsname\relax
+%<platexrelease> \let\f@family\default@family
+%<platexrelease> \fi \fi
+%<platexrelease> \fi
+%<platexrelease> \@font@warning{Font shape
+%<platexrelease> `\expandafter\string\reserved@a'
+%<platexrelease> \expandafter\@gobble\string\@undefined
+%<platexrelease> \MessageBreak
+%<platexrelease> using `\curr@fontshape' instead\@wrong@font@char}%
+%<platexrelease> \global\let\last@fontshape\reserved@a
+%<platexrelease> \gdef\@defaultsubs{%
+%<platexrelease> \@font@warning{Some font shapes were not available,
+%<platexrelease> defaults substituted.\@gobbletwo}}%
+%<platexrelease> \global\expandafter\expandafter\expandafter\let
+%<platexrelease> \expandafter\reserved@a
+%<platexrelease> \csname\curr@fontshape\endcsname
+%<platexrelease> \xdef\font@name{%
+%<platexrelease> \csname\curr@fontshape/\f@size\endcsname}%
+%<platexrelease> \pickup@font}
+%<platexrelease>\let\wrong@al@fontshape\@undefined
+%<platexrelease>\let\wrong@ja@fontshape\@undefined
+%<platexrelease>\plEndIncludeInRelease
+%<*plcore>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
%
% \begin{macro}{\DeclareFixedFont}
% $B%U%)%s%HL>$r@k8@$9$k%3%^%s%I$G$9!#(B
-%
+% $B%(%s%3!<%I!?%U%!%_%j!?%7%j!<%:!?%7%'%$%W!?%5%$%:$N(B5$B$D$NB0@-$r(B
+% $B0lEY$K@Z$jBX$($k$?$a$N%3%^%s%I$rDj5A$G$-$^$9!#(B
% \changes{v1.2}{1995/11/09}{\break\cs{DeclareFixedFont}$B$NF|K\8l2=(B}
% \changes{v1.3c}{1997/04/09}{$B=D2#%(%s%3!<%I!&%j%9%H$NJ,N%$K$h$k3HD%(B}
% \changes{v1.3f}{1998/08/10}{$B%W%j%"%s%V%k!&%3%^%s%I$K$7$F$7$^$C$F$$$?$N$r2r=|(B}
@@ -1113,7 +1454,104 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\do@subst@correction}
+% \begin{macro}{\pltx@do@subst@correction@al}
+% \begin{macro}{\pltx@do@subst@correction@yoko}
+% \begin{macro}{\pltx@do@subst@correction@tate}
+% |\font|$B$O2$J8%U%)%s%H$rJV$9$?$a!"(B\LaTeX{}$B$N85$N(B|\do@subst@correction|$B$O(B
+% $BOBJ8%U%)%s%H$KBP$7$F;H$($^$;$s$N$G!"OBJ8$KBP1~$5$;$^$9(B
+% \footnote{\pLaTeXe~2020-04-12$B$GBP1~!#85$N%"%9%-!<HG$NJ8=q$K$b(B
+% $BBh(B\ref{afont-ascii}$B@a$G(B\cs{do@subst@correction}$B$rF|K\8lBP1~$5$;$?;]$,(B
+% $B=q$+$l$F$$$^$7$?$,!"<B:]$K$O$3$NL?Na$O(B
+% \begin{itemize}
+% \item \cs{selectfont}$BFb$N(B\cs{pickup@font}$B$+$i8F$P$l$k>l9g(B
+% \item \cs{getanddefine@fonts}$BFb$N(B\cs{pickup@font}$B$+$i8F$P$l$k>l9g(B
+% \end{itemize}
+% $B$N(B2$BDL$j$,$"$k$h$&$G$9!#A0<T$O(B\cs{let}\cs{font}\cs{jfont}$B$K$h$C$F(B
+% $BBP=h$G$-$F$$$^$7$?$,!"8e<T$OL$BP:v$@$C$?$?$a!"Nc$($P(B
+% $BOBJ8?t<0%U%)%s%H$rDj5A$7$?>uBV$G(Bbm$B%Q%C%1!<%8$r;H$C$?>l9g$K(B
+% $BLdBj$,5/$-$F$$$^$7$?!J;29M!'(Btexjporg/jsclasses\#53$B!K!#(B}$B!#(B
+% \changes{v1.7}{2020/03/05}{\cs{do@subst@correction}$B$NF|K\8l2=(B}
+% \changes{v1.7d}{2020/03/23}{$B%I%-%e%a%s%H2~NI(B}
%
+% $B%*%j%8%J%k$N(B\LaTeX{}$B$NDj5A$O!"2$J8MQ$H$7$F;H$$$^$9!#(B
+% \begin{macrocode}
+%</plcore>
+%<platexrelease>\plIncludeInRelease{2020/04/12}{\do@subst@correction}
+%<platexrelease> {Japanese font substitution}%
+%<*plcore|platexrelease>
+\def\pltx@do@subst@correction@al{%
+ \xdef\subst@correction{%
+ \font@name
+ \global\expandafter\font
+ \csname \curr@fontshape/\f@size\endcsname
+ \noexpand\fontname\font
+ \relax}%
+ \aftergroup\subst@correction
+}
+% \end{macrocode}
+% $BOBJ82#AHMQ$HOBJ8=DAHMQ$NDj5A$G$O!"$=$l$>$l(B|\jfont|$B$H(B|\tfont|$B$r;H$$$^$9!#(B
+% \begin{macrocode}
+\def\pltx@do@subst@correction@yoko{%
+ \xdef\subst@correction{%
+ \font@name
+ \global\expandafter\jfont
+ \csname \curr@fontshape/\f@size\endcsname
+ \noexpand\fontname\jfont
+ \relax}%
+ \aftergroup\subst@correction
+}
+\def\pltx@do@subst@correction@tate{%
+ \xdef\subst@correction{%
+ \font@name
+ \global\expandafter\tfont
+ \csname \curr@fontshape/\f@size\endcsname
+ \noexpand\fontname\tfont
+ \relax}%
+ \aftergroup\subst@correction
+}
+% \end{macrocode}
+% $B$=$7$F!"%(%s%3!<%G%#%s%0$K1~$8$F(B3$B$D$NL?Na$r;H$$J,$1$^$9!#(B
+% \begin{macrocode}
+\def\do@subst@correction{%
+ \edef\tmp@item{{\f@encoding}}%
+ \expandafter\expandafter\expandafter
+ \inlist@\expandafter\tmp@item\expandafter{\kyenc@list}%
+ \ifin@\pltx@do@subst@correction@yoko
+ \else
+ \expandafter\expandafter\expandafter
+ \inlist@\expandafter\tmp@item\expandafter{\ktenc@list}%
+ \ifin@\pltx@do@subst@correction@tate\else
+ \pltx@do@subst@correction@al
+ \fi
+ \fi
+}
+%</plcore|platexrelease>
+%<platexrelease>\plEndIncludeInRelease
+%<platexrelease>\plIncludeInRelease{0000/00/00}{\do@subst@correction}
+%<platexrelease> {LaTeX2e original}%
+%<platexrelease>\def\do@subst@correction{%
+%<platexrelease> \xdef\subst@correction{%
+%<platexrelease> \font@name
+%<platexrelease> \global\expandafter\font
+%<platexrelease> \csname \curr@fontshape/\f@size\endcsname
+%<platexrelease> \noexpand\fontname\font
+%<platexrelease> \relax}%
+%<platexrelease> \aftergroup\subst@correction
+%<platexrelease>}
+%<platexrelease>\let\pltx@do@subst@correction@al\@undefined
+%<platexrelease>\let\pltx@do@subst@correction@yoko\@undefined
+%<platexrelease>\let\pltx@do@subst@correction@tate\@undefined
+%<platexrelease>\plEndIncludeInRelease
+%<*plcore>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+%
+% \subsubsection{$B?t<0MQ%U%)%s%H(B}
% \begin{macro}{\reDeclareMathAlphabet}
% \changes{v1.0}{1997/01/30}{\break\cs{reDeclareMathAlphabet}$B$rDI2C!#(B
% $B$"$j$,$H$&!"(Bymt$B$5$s!#(B}
@@ -1242,6 +1680,7 @@
% \end{macro}
%
%
+% \subsubsection{$B=>B0=qBN$N@k8@(B}
% \begin{macro}{\DeclareRelationFont}
% \begin{macro}{\SetRelationFont}
% $BOBJ8=qBN$KBP$9$k=>B0=qBN$r@k8@$9$k%3%^%s%I$G$9!#(B\emph{$B=>B0=qBN(B}$B$H$O!"(B
@@ -1331,6 +1770,7 @@
% \end{macrocode}
% \end{macro}
%
+% \subsubsection{$B%U%)%s%H$NA*Br(B}
% \begin{macro}{\selectfont}
% |\selectfont|$B$N%*%j%8%J%k$+$i$NJQ99ItJ,$O!"<!$N#3E@$G$9!#(B
% \begin{itemize}
@@ -1342,10 +1782,13 @@
% \changes{v1.0c}{1995/08/22}{$B=D2#N>J}$N%U%)%s%H$r@Z$jBX$($k$h$&$K$7$?(B}
% \changes{v1.2}{1995/11/22}{$B%(%i!<%U%)%s%H$KBP1~$7$?(B}
% \changes{v1.3n}{2004/08/10}{$BOBJ8%(%s%3!<%G%#%s%0$N@Z$jBX$($rM-8z2=(B}
+% \changes{v1.7e}{2020/03/26}{$B=D2#%(%s%3!<%G%#%s%0$N%;%C%H2=3NG'(B}
% |\selectfont|$B%3%^%s%I$O!"$^$:!"OBJ8%U%)%s%H$r@Z$jBX$($^$9!#(B
% \begin{macrocode}
%</plcore>
-%<*plcore|trace>
+%<platexrelease|trace>\plIncludeInRelease{2020/04/12}{\selectfont}
+%<platexrelease|trace> {Check \KanjiEncodingPair}%
+%<*plcore|platexrelease|trace>
\DeclareRobustCommand\selectfont{%
\let\tmp@error@fontshape\error@fontshape
\let\error@fontshape\error@kfontshape
@@ -1354,12 +1797,14 @@
\inlist@\expandafter\tmp@item\expandafter{\kyenc@list}%
\ifin@
\let\cy@encoding\k@encoding
+ \ensure@KanjiEncodingPair{t}%
\edef\ct@encoding{\csname t@enc@\k@encoding\endcsname}%
\else
\expandafter\expandafter\expandafter
\inlist@\expandafter\tmp@item\expandafter{\ktenc@list}%
\ifin@
\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
@@ -1419,7 +1864,68 @@
\set@fontsize\baselinestretch\f@size\f@baselineskip
\fi
\size@update}
-%</plcore|trace>
+%</plcore|platexrelease|trace>
+%<platexrelease|trace>\plEndIncludeInRelease
+%<platexrelease|trace>\plIncludeInRelease{0000/00/00}{\selectfont}
+%<platexrelease|trace> {ASCII Corporation original}%
+%<platexrelease|trace>\DeclareRobustCommand\selectfont{%
+%<platexrelease|trace> \let\tmp@error@fontshape\error@fontshape
+%<platexrelease|trace> \let\error@fontshape\error@kfontshape
+%<platexrelease|trace> \edef\tmp@item{{\k@encoding}}%
+%<platexrelease|trace> \expandafter\expandafter\expandafter
+%<platexrelease|trace> \inlist@\expandafter\tmp@item\expandafter{\kyenc@list}%
+%<platexrelease|trace> \ifin@
+%<platexrelease|trace> \let\cy@encoding\k@encoding
+%<platexrelease|trace> \edef\ct@encoding{\csname t@enc@\k@encoding\endcsname}%
+%<platexrelease|trace> \else
+%<platexrelease|trace> \expandafter\expandafter\expandafter
+%<platexrelease|trace> \inlist@\expandafter\tmp@item\expandafter{\ktenc@list}%
+%<platexrelease|trace> \ifin@
+%<platexrelease|trace> \let\ct@encoding\k@encoding
+%<platexrelease|trace> \edef\cy@encoding{\csname y@enc@\k@encoding\endcsname}%
+%<platexrelease|trace> \else
+%<platexrelease|trace> \@latex@error{KANJI Encoding scheme `\k@encoding' unknown}\@eha
+%<platexrelease|trace> \fi
+%<platexrelease|trace> \fi
+%<platexrelease|trace> \let\font\tfont
+%<platexrelease|trace> \let\k@encoding\ct@encoding
+%<platexrelease|trace> \xdef\font@name{\csname\curr@kfontshape/\f@size\endcsname}%
+%<platexrelease|trace> \pickup@font
+%<platexrelease|trace> \font@name
+%<platexrelease|trace> \let\font\jfont
+%<platexrelease|trace> \let\k@encoding\cy@encoding
+%<platexrelease|trace> \xdef\font@name{\csname\curr@kfontshape/\f@size\endcsname}%
+%<platexrelease|trace> \pickup@font
+%<platexrelease|trace> \font@name
+%<platexrelease|trace> \expandafter\def\expandafter\k@encoding\tmp@item
+%<platexrelease|trace> \kenc@update
+%<platexrelease|trace> \let\error@fontshape\tmp@error@fontshape
+%<platexrelease|trace> \if@knjcmd \@knjcmdfalse
+%<platexrelease|trace> \expandafter\ifx
+%<platexrelease|trace> \csname rel@\k@encoding/\k@family/\k@series/\k@shape\endcsname\relax
+%<platexrelease|trace> \expandafter\ifx
+%<platexrelease|trace> \csname rel@\k@encoding/\k@family/\k@series/all\endcsname\relax
+%<platexrelease|trace> \else
+%<platexrelease|trace> \csname rel@\k@encoding/\k@family/\k@series/all\endcsname
+%<platexrelease|trace> \fi
+%<platexrelease|trace> \else
+%<platexrelease|trace> \csname rel@\k@encoding/\k@family/\k@series/\k@shape\endcsname
+%<platexrelease|trace> \fi
+%<platexrelease|trace> \fi
+%<platexrelease|trace> \let\font\afont
+%<platexrelease|trace> \xdef\font@name{\csname\curr@fontshape/\f@size\endcsname}%
+%<platexrelease|trace> \pickup@font
+%<platexrelease|trace> \font@name
+%<*trace>
+%<platexrelease|trace> \ifnum \tracingfonts>\tw@
+%<platexrelease|trace> \@font@info{Roman:Switching to \font@name}\fi
+%</trace>
+%<platexrelease|trace> \enc@update
+%<platexrelease|trace> \ifx\f@linespread\baselinestretch \else
+%<platexrelease|trace> \set@fontsize\baselinestretch\f@size\f@baselineskip
+%<platexrelease|trace> \fi
+%<platexrelease|trace> \size@update}
+%<platexrelease|trace>\plEndIncludeInRelease
%<*plcore>
% \end{macrocode}
% \end{macro}
@@ -1651,6 +2157,7 @@
% \end{macro}
%
%
+% \subsubsection{$B%(%s%3!<%I$N;XDj(B}
% \begin{macro}{\romanencoding}
% \begin{macro}{\kanjiencoding}
% \begin{macro}{\fontencoding}
@@ -1766,6 +2273,7 @@
% \end{macrocode}
% \end{macro}
%
+% \subsubsection{$B%U%!%_%j$N;XDj(B}
% \begin{macro}{\@notkfam}
% \begin{macro}{\@notffam}
% |\fontfamily|$B%3%^%s%IFb$G;HMQ$9$k%U%i%0$G$9!#(B
@@ -1928,35 +2436,68 @@
% \end{macro}
%
%
-% \begin{macro}{\series@maybe@drop@one@m}
-% $BK\2H(B\LaTeXe~2020-02-02 patch level~5$B$GDI2C$5$l$?L?Na$G$9!#(B
-% \NFSS{}$B$,BgI}$K=$@5!&3HD%$5$l$?(B\LaTeXe~2020-02-02$B$N$&$A!"(B
+% \subsubsection{$B%7%j!<%:$N;XDj!J?7(BNFSS$BBP1~!K(B}
+% \begin{macro}{\pltx@latex@level}
+% $B%3%_%e%K%F%#HG(B\pLaTeXe~2020-02-02$B$G$NJQ99!'$3$3$+$i(B
+% \LaTeXe~2020-02-02$B$G3HD%$5$l$??7$7$$(BNFSS$B$X$NBP1~%3!<%I$,;O$^$j$^$9!#(B
+% \pLaTeXe{}$B$N%3!<%I$rK\2H(B\LaTeXe{}$B$N5!G=$K1~$8$F@Z$jBX$($^$9!#(B
+%
+% \LaTeXe~2020-02-02$B$N$&$A!"(B
% patch level~2$B$K$O(B |latex3/latex2e#277| $B$N%P%0$,$"$j!"(B
-% ^^A $B"*BP:v$H$7$F(B \if@forced@series $B$,DI2C$5$l$?(B
-% patch level~4$B$K$O(B |latex3/latex2e#293| $B$N%P%0$,$"$C$?$?$a!"(B
-% ^^A $B"*BP:v$H$7$F(B \series@maybe@drop@one@m $B$,DI2C$5$l$?(B
-% $B0BDj$7$?(B\LaTeXe{}$B$N$_$r%5%]!<%H$7$^$9!#(B
+% ^^A $B"*BP:v$H$7$F(B |\if@forced@series| $B$,DI2C$5$l$?(B
+% patch level~4$B$K$O(B |latex3/latex2e#293| $B$N%P%0$,$"$j$^$7$?!#(B
+% ^^A $B"*BP:v$H$7$F(B |\series@maybe@drop@one@m| $B$,DI2C$5$l$?(B
+% $B$5$i$K3+H/HG(B\LaTeXe{}$B$G$O(B |latex3/latex2e#291| $B$NBP:v$b;\$5$l$F$$$^$9!#(B
+% ^^A $B"*BP:v$H$7$F(B |\series@maybe@drop@one@m@x| $B$,DI2C$5$l$?(B
% \changes{v1.6z}{2020/02/28}{\cs{series@maybe@drop@one@m}$B$NB8:_3NG'(B}
+% \changes{v1.7}{2020/03/05}{\cs{series@maybe@drop@one@m@x}$B$NB8:_3NG'(B}
% \begin{macrocode}
%<*plcore|platexrelease>
\ifx\fontseriesforce\@undefined % old
+ \def\pltx@latex@level{0}
\else % 2020-02-02
- \ifx\@forced@seriestrue\@undefined % patch level 0, 1, 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 has a bug.}
-%<plcore> \@@end
+ \ifx\@forced@seriestrue\@undefined
+ \ifnum\patch@level<1\relax % patch level 0
+ \def\pltx@latex@level{1}% use \@reserveda
+ \else % patch level 1, 2
+ \def\pltx@latex@level{2}
+ \fi
+ \else
+ \ifx\series@maybe@drop@one@m\@undefined % patch level 3, 4
+ \def\pltx@latex@level{3}
+ \else
+ \ifx\series@maybe@drop@one@m@x\@undefined % patch level 5
+ \def\pltx@latex@level{4}
+ % anticipating LaTeX2e 'develop' branch (after 23b7244)
+ % this temporary code will be removed in the future
+ %\let\series@maybe@drop@one@m@x\series@maybe@drop@one@m
+ %\def\series@maybe@drop@one@m#1{%
+ % \expandafter\series@maybe@drop@one@m@x\expandafter{#1}}
+ \else
+ \def\pltx@latex@level{5}
+ \fi
+ \fi
\fi
- % actually we'd like to check the below too,
- % but commented out for TL19 frozen since
- % platex-dev format generation fails
- %\ifx\series@maybe@drop@one@m\@undefined % patch level 0--4
- % \@latex@error
- % {Please update LaTeX2e!^^J\space\space
- % At least LaTeX2e 2020-02-02 patch level 5 is required}
- % {LaTeX2e 2020-02-02 patch level 2 and 4 has a bug.}
- %\fi
+\fi
+% \end{macrocode}
+% $B$3$3$G$O!":GDc8B$I$N%P!<%8%g%s$N(B\LaTeXe{}$B>e$G$b%U%)!<%^%C%H@8@.$,(B
+% $B@.8y$9$k$h$&$K(B|\catcode|$B%H%j%C%/$r;H$$$^$9!#(B
+% ^^A $B"*(B |\if@forced@series|$B%U%i%0$r1#$9I,MW$,$"$k$?$aLLE](B
+% $B8=:_$N<gMW$J%3!<%I$O(B
+% \begin{itemize}
+% \item \LaTeXe~2019-10-01 patch level~3$B0JA0!J=>Mh$N(B\NFSS2$B!K(B
+% \item \LaTeXe{}$B$N3+H/HG!J:G?7$N(Bdevelop$B%V%i%s%A!K(B
+% \end{itemize}
+% $B8~$1$K:GE,2=$7$F$*$j!"B>$N%P!<%8%g%s$X$NBP=h$O8e2s$7$K$7$^$9!#(B
+% ^^A $B"*(B $B>-MhE*$K:o=|$7$d$9$$$h$&$K(B
+% \begin{macrocode}
+\edef\pltx@reset@catcode@trick{\catcode`\noexpand\~=\the\catcode`\~\relax}
+\def\pltx@temp@catcode@ix{\catcode`\~=9\relax}
+\def\pltx@temp@catcode@xiv{\catcode`\~=14\relax}
+\ifnum\pltx@latex@level<3\relax
+ \pltx@temp@catcode@xiv % hide if-tokens
+\else
+ \pltx@temp@catcode@ix % reveal if-tokens
\fi
%</plcore|platexrelease>
% \end{macrocode}
@@ -2031,42 +2572,85 @@
\def\merge@kanji@series@#1#2#3\@nil{%
\def\reserved@a{#3}%
\ifx\reserved@a\@empty
+% \end{macrocode}
+% $B%7%j!<%:99?75,B'$,$J$$>l9g!'(B|#2|$B$,MW5a%7%j!<%:$G$"$j!"$3$l$r;H$&!#(B
+% \begin{macrocode}
\set@target@series@kanji{#2}%
\else
\begingroup\let\f@encoding\k@encoding\let\f@family\k@family
\maybe@load@fontshape\endgroup
\edef\reserved@a{\k@encoding /\k@family /#1/\k@shape}%
\ifcsname \reserved@a \endcsname
+% \end{macrocode}
+% $B%7%j!<%:99?75,B'$K4p$E$/?7%7%j!<%:(B |#1| $B$,MxMQ2DG=!'(B
+% \begin{macrocode}
\set@target@series@kanji{#1}%
\else
\ifcsname \k@encoding /\k@family /#2/\k@shape \endcsname
+% \end{macrocode}
+% $B%7%j!<%:99?75,B'$K4p$E$/BeBX%7%j!<%:(B |#2| $B$,MxMQ2DG=!'(B
+% \begin{macrocode}
\set@target@series@kanji{#2}%
{\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}%
\else
+% \end{macrocode}
+% $B$$$:$l$bMxMQIT2D!'MW5a%7%j!<%:(B |#3| $B$r;H$&!#(B
+% \begin{macrocode}
\set@target@series@kanji{#3}%
{\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}%
\fi
\fi
\fi
}
-\ifx\series@maybe@drop@one@m\@undefined % patch level 0--4
-\def\set@target@series@kanji#1{%
- \edef\k@series{#1}%
- \edef\k@series{\expandafter\series@drop@one@m\k@series mm\series@drop@one@m}%
-}
-\else % patch level 5
\def\set@target@series@kanji#1{%
\edef\k@series{#1}%
- \expandafter\series@maybe@drop@one@m\expandafter{\k@series}\k@series
+ \series@maybe@drop@one@m\k@series\k@series
}
\fi
-\fi
+%</plcore|platexrelease>
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
%
+% \subsubsection{$B%7%'%$%W$N;XDj!J?7(BNFSS$BBP1~!K(B}
+% $B%3%_%e%K%F%#HG(B\pLaTeXe~2020-04-12$B$G$NJQ99!'(B
+% $B=>Mh$O!"(B|\itshape|$B$J$I$NL?Na$r<B9T$9$k$H(B
+%\begin{verbatim}
+% LaTeX Font Warning: Font shape `JT1/mc/m/it' undefined
+% (Font) using `JT1/mc/m/n' instead on input line 4.
+% LaTeX Font Warning: Font shape `JY1/mc/m/it' undefined
+% (Font) using `JY1/mc/m/n' instead on input line 4.
+%\end{verbatim}
+% $B$N$h$&$J7Y9p$rH/$7$F$$$^$7$?!#$3$l$O0J2<$NM}M3$K$h$j$^$9!#(B
+% \begin{itemize}
+% \item \LaTeXe{}$B$,Dj5A$9$k(B|\itshape|$B$J$I$N%7%'%$%WJQ99L?Na$O(B
+% $BFbIt$G(B|\fontshape|$B$r8F$S=P$9!#(B
+% \item \pLaTeXe{}$B$G$O!"(B|\fontshape|$B$r2$J8=qBN$@$1$G$J$/(B
+% $BOBJ8=qBN$bJQ99$9$k$h$&$K:FDj5A$9$k!#(B
+% \item $B$7$+$7!"OBJ8=qBN$N%7%'%$%W$O$[$H$s$I(B``n''$B$7$+MQ$$$i$l$:!"(B
+% |\DeclareFontShape|$B$G$NDj5A$b(B``n''$B$7$+M?$($i$l$J$$$3$H$,B?$$!#(B
+% \item $B7k2LE*$K!"2$J8=qBN$N%7%'%$%W$rJQ99$9$k$D$b$j$G$b(B
+% $B!VOBJ8=qBN$N%7%'%$%W$,L$Dj5A!W$H$$$&7Y9p$,=P$F$7$^$&!#(B
+% \end{itemize}
+% $B$=$3$G!"OBJ8=qBN$N%7%'%$%W$,L$Dj5A$N>l9g$O(B
+% |\fontshape|$B5Z$S(B|\fontshapeforce|$B$,OBJ8=qBN$K$O1F6A$;$:!"(B
+% $B2$J8=qBN$N%7%'%$%W$N$_$rJQ99$9$k$h$&$K2~NI$7$^$9!#(B
+%
+% \begin{macro}{\if@shape@roman@kanji}
+% $BOB2$J8$NN>J}$K1F6A$7$h$&$H$9$k(B|\fontshape|$B%3%^%s%I<B9TCf$K(B
+% $B??$K$J$k%U%i%0$G$9!#(B|\fontshapeforce|$B$O<BAu$,C1=c$J$N$G!"(B
+% $B$3$N%U%i%0$O;H$C$F$$$^$;$s!#(B
+% \changes{v1.7c}{2020/03/15}{\cs{fontshape}/\cs{fontshapeforce}$B$,(B
+% $BOBJ8%7%'%$%WL$Dj5A$N>l9g$O(B\cs{k@shape}$B$r99?7$7$J$$$h$&$KJQ99(B}
+% \begin{macrocode}
+%<*plcore|platexrelease>
+\newif\if@shape@roman@kanji
+%</plcore|platexrelease>
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\romanshape}
% \begin{macro}{\kanjishape}
% \begin{macro}{\fontshape}
@@ -2077,15 +2661,38 @@
% \LaTeXe~2020-02-02$B0J9_$G$O!"(B|\DeclareFontShapeChangeRule|$B$K$h$C$F(B
% $B@k8@$5$l$?!V%7%'%$%W99?75,B'!W$K4p$E$-%7%'%$%W$rA*Br$7$^$9!#(B
% \begin{macrocode}
+%<platexrelease>\plIncludeInRelease{2020/04/12}{\fontshape}
+%<platexrelease> {No \k@shape update if unavailable}%
+%<*plcore|platexrelease>
\ifx\fontshapeforce\@undefined % old
\DeclareRobustCommand\romanshape[1]{\edef\f@shape{#1}}
\DeclareRobustCommand\kanjishape[1]{\edef\k@shape{#1}}
-\DeclareRobustCommand\fontshape[1]{\kanjishape{#1}\romanshape{#1}}
+\DeclareRobustCommand\fontshape[1]{%
+ \set@safe@kanji@shape{#1}{}%
+ \edef\f@shape{#1}%
+}
\else % 2020-02-02
\DeclareRobustCommand\romanshape[1]{\merge@font@shape{#1}}
\DeclareRobustCommand\kanjishape[1]{\merge@kanji@shape{#1}}
-\DeclareRobustCommand\fontshape[1]{\kanjishape{#1}\romanshape{#1}}
+\DeclareRobustCommand\fontshape[1]{%
+ \@shape@roman@kanjitrue
+ \kanjishape{#1}\romanshape{#1}%
+ \@shape@roman@kanjifalse}
\fi
+%</plcore|platexrelease>
+%<platexrelease>\plEndIncludeInRelease
+%<platexrelease>\plIncludeInRelease{0000/00/00}{\fontshape}
+%<platexrelease> {ASCII Corporation / TeXJP original}%
+%<platexrelease>\ifx\fontshapeforce\@undefined % old
+%<platexrelease>\DeclareRobustCommand\romanshape[1]{\edef\f@shape{#1}}
+%<platexrelease>\DeclareRobustCommand\kanjishape[1]{\edef\k@shape{#1}}
+%<platexrelease>\DeclareRobustCommand\fontshape[1]{\kanjishape{#1}\romanshape{#1}}
+%<platexrelease>\else % 2020-02-02
+%<platexrelease>\DeclareRobustCommand\romanshape[1]{\merge@font@shape{#1}}
+%<platexrelease>\DeclareRobustCommand\kanjishape[1]{\merge@kanji@shape{#1}}
+%<platexrelease>\DeclareRobustCommand\fontshape[1]{\kanjishape{#1}\romanshape{#1}}
+%<platexrelease>\fi
+%<platexrelease>\plEndIncludeInRelease
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -2098,14 +2705,33 @@
% \changes{v1.6v}{2020/02/01}{New commands \cs{fontshapeforce} etc.
% (sync with ltfssaxes.dtx 2019/12/16 v1.0a)}
% \begin{macrocode}
+%<platexrelease>\plIncludeInRelease{2020/04/12}{\fontshapeforce}
+%<platexrelease> {No \k@shape update if unavailable}%
+%<*plcore|platexrelease>
\ifx\fontshapeforce\@undefined % old
\let\romanshapeforce\@undefined
\let\kanjishapeforce\@undefined
\else % 2020-02-02
\DeclareRobustCommand\romanshapeforce[1]{\edef\f@shape{#1}}
\DeclareRobustCommand\kanjishapeforce[1]{\edef\k@shape{#1}}
-\DeclareRobustCommand\fontshapeforce[1]{\kanjishapeforce{#1}\romanshapeforce{#1}}
+\DeclareRobustCommand\fontshapeforce[1]{%
+ \set@safe@kanji@shape{#1}{}%
+ \edef\f@shape{#1}%
+}
\fi
+%</plcore|platexrelease>
+%<platexrelease>\plEndIncludeInRelease
+%<platexrelease>\plIncludeInRelease{0000/00/00}{\fontshapeforce}
+%<platexrelease> {ASCII Corporation / TeXJP original}%
+%<platexrelease>\ifx\fontshapeforce\@undefined % old
+%<platexrelease>\let\romanshapeforce\@undefined
+%<platexrelease>\let\kanjishapeforce\@undefined
+%<platexrelease>\else % 2020-02-02
+%<platexrelease>\DeclareRobustCommand\romanshapeforce[1]{\edef\f@shape{#1}}
+%<platexrelease>\DeclareRobustCommand\kanjishapeforce[1]{\edef\k@shape{#1}}
+%<platexrelease>\DeclareRobustCommand\fontshapeforce[1]{\kanjishapeforce{#1}\romanshapeforce{#1}}
+%<platexrelease>\fi
+%<platexrelease>\plEndIncludeInRelease
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -2115,6 +2741,9 @@
% \begin{macro}{\merge@kanji@shape@}
% \cs{merge@font@shape}$B$NOBJ8HG$G$9!#(B
% \begin{macrocode}
+%<platexrelease>\plIncludeInRelease{2020/04/12}{\merge@kanji@shape@}
+%<platexrelease> {No \k@shape update if unavailable}%
+%<*plcore|platexrelease>
\ifx\fontseriesforce\@undefined % old
\let\merge@kanji@shape\@undefined
\let\merge@kanji@shape@\@undefined
@@ -2129,31 +2758,125 @@
\def\merge@kanji@shape@#1#2#3\@nil{%
\def\reserved@a{#3}%
\ifx\reserved@a\@empty
+% \end{macrocode}
+% $B%7%'%$%W99?75,B'$,$J$$>l9g!'(B|#2|$B$,MW5a%7%'%$%W$G$"$k!#(B\\
+% |\fontshape|$B$N2<@A$1$J$i!"(B|#2|$B$,MxMQ2DG=$+$I$&$+M=$a%A%'%C%/$9$k!#(B\\
+% |\kanjishape|$B$N2<@A$1$J$i!"(B|#2|$B$r;H$&!#(B
+% \begin{macrocode}
+ \if@shape@roman@kanji
+ \set@safe@kanji@shape{#2}{}%
+ \else
\edef\k@shape{#2}%
+ \fi
\else
\begingroup\let\f@encoding\k@encoding\let\f@family\k@family
\maybe@load@fontshape\endgroup
\edef\reserved@a{\k@encoding /\k@family /\k@series/#1}%
\ifcsname \reserved@a\endcsname
+% \end{macrocode}
+% $B%7%'%$%W99?75,B'$K4p$E$/?7%7%'%$%W(B |#1| $B$,MxMQ2DG=!'(B
+% \begin{macrocode}
\edef\k@shape{#1}%
\else
\ifcsname \k@encoding /\k@family /\k@series/#2\endcsname
+% \end{macrocode}
+% $B%7%'%$%W99?75,B'$K4p$E$/BeBX%7%'%$%W(B |#2| $B$,MxMQ2DG=!'(B
+% \begin{macrocode}
\edef\k@shape{#2}%
{\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}%
\else
+% \end{macrocode}
+% $B$$$:$l$bMxMQIT2D!'MW5a%7%'%$%W(B |#3| $B$K$D$$$F(B\\
+% |\fontshape|$B$N2<@A$1$J$i!"(B|#3|$B$,MxMQ2DG=$+$I$&$+M=$a%A%'%C%/$9$k!#(B\\
+% |\kanjishape|$B$N2<@A$1$J$i!"(B|#3|$B$r;H$&!#(B
+% \begin{macrocode}
+ \if@shape@roman@kanji
+ \set@safe@kanji@shape{#3}%
+ {{\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}}%
+ \else
\edef\k@shape{#3}%
{\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}%
+ \fi
\fi
\fi
\fi
}
\fi
%</plcore|platexrelease>
+%<platexrelease>\plEndIncludeInRelease
+%<platexrelease>\plIncludeInRelease{0000/00/00}{\merge@kanji@shape@}
+%<platexrelease> {ASCII Corporation / TeXJP original}%
+%<platexrelease>\ifx\fontseriesforce\@undefined % old
+%<platexrelease>\let\merge@kanji@shape\@undefined
+%<platexrelease>\let\merge@kanji@shape@\@undefined
+%<platexrelease>\else % 2020-02-02
+%<platexrelease>\def\merge@kanji@shape#1{%
+%<platexrelease> \expandafter\expandafter\expandafter
+%<platexrelease> \merge@kanji@shape@
+%<platexrelease> \csname shape@\k@shape @#1\endcsname
+%<platexrelease> {#1}%
+%<platexrelease> \@nil
+%<platexrelease>}
+%<platexrelease>\def\merge@kanji@shape@#1#2#3\@nil{%
+%<platexrelease> \def\reserved@a{#3}%
+%<platexrelease> \ifx\reserved@a\@empty
+%<platexrelease> \edef\k@shape{#2}%
+%<platexrelease> \else
+%<platexrelease> \begingroup\let\f@encoding\k@encoding\let\f@family\k@family
+%<platexrelease> \maybe@load@fontshape\endgroup
+%<platexrelease> \edef\reserved@a{\k@encoding /\k@family /\k@series/#1}%
+%<platexrelease> \ifcsname \reserved@a\endcsname
+%<platexrelease> \edef\k@shape{#1}%
+%<platexrelease> \else
+%<platexrelease> \ifcsname \k@encoding /\k@family /\k@series/#2\endcsname
+%<platexrelease> \edef\k@shape{#2}%
+%<platexrelease> {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}%
+%<platexrelease> \else
+%<platexrelease> \edef\k@shape{#3}%
+%<platexrelease> {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}%
+%<platexrelease> \fi
+%<platexrelease> \fi
+%<platexrelease> \fi
+%<platexrelease>}
+%<platexrelease>\fi
+%<platexrelease>\plEndIncludeInRelease
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\set@safe@kanji@shape}
+% \begin{macro}{\@kanji@shape@nochange@info}
+% $BOBJ8%7%'!<%W$,MxMQ2DG=$+$I$&$+M=$a%A%'%C%/$7$F$+$i@_Dj$7$^$9!#(B
+% \begin{macrocode}
+%<platexrelease>\plIncludeInRelease{2020/04/12}{\set@safe@kanji@shape}
+%<platexrelease> {No \k@shape update if unavailable}%
+%<*plcore|platexrelease>
+\def\set@safe@kanji@shape#1#2{%
+ \edef\reserved@b{\k@encoding /\k@family /\k@series/#1}%
+ \ifcsname \reserved@b\endcsname
+ \edef\k@shape{#1}%
+ #2%
+ \else
+ \@kanji@shape@nochange@info{\reserved@b}%
+ \fi
+}
+\def\@kanji@shape@nochange@info#1{%
+ \@font@info{Kanji font shape `#1' undefined\MessageBreak
+ No change}%
+}
+%</plcore|platexrelease>
+%<platexrelease>\plEndIncludeInRelease
+%<platexrelease>\plIncludeInRelease{0000/00/00}{\set@safe@kanji@shape}
+%<platexrelease> {ASCII Corporation original}%
+%<platexrelease>\let\set@safe@kanji@shape\@undefined
+%<platexrelease>\let\@kanji@shape@nochange@info\@undefined
+%<platexrelease>\plEndIncludeInRelease
% \end{macrocode}
% \end{macro}
% \end{macro}
%
%
+% \subsubsection{$B=qBN$N@Z$jBX$(!J?7(BNFSS$BBP1~!K(B}
% \begin{macro}{\usekanji}
% \begin{macro}{\useroman}
% \begin{macro}{\usefont}
@@ -2235,10 +2958,19 @@
% $BOBJ8=qBN$b%G%U%)%k%HCM$K$J$k$h$&$K:FDj5A$7$F$$$^$9!#(B
% $B$?$@$79bB.2=$N$?$a!"(B|\usekanji|$B$H(B|\useroman|$B$rE83+$7!"(B
% |\selectfont|$B$r0lEY$7$+8F$S=P$5$J$$$h$&$K$7$F$$$^$9!#(B
+%
+% \LaTeXe~2020-02-02 patch level~2$B$G?7@_$5$l$?%U%C%/(B
+% |\@defaultfamilyhook|$B$r;H$&$3$H$G!"85$NDj5A$r>e=q$-$9$kI,MW$,(B
+% $B$J$/$J$j$^$7$?!#!JCm0U!'%"%9%-!<HG$NKvHx$K$"$C$?(B
+% |\ignorespaces|$B$r:o=|$9$k$3$H$G!"85$N(B\LaTeXe{}$B$H8_49$K(B
+% $B$J$j$^$7$?!#(Bltfssini.dtx 1995/10/16 v3.0f$B$NJQ99$b;29M!#!K(B
+% \changes{v1.7a}{2020/03/06}{\cs{@defaultfamilyhook}$B$r3hMQ(B
+% (sync with ltfssini.dtx 2020/02/10 v3.1h)}
% \begin{macrocode}
-%<platexrelease>\plIncludeInRelease{2020/02/02}{\normalfont}
-%<platexrelease> {Don't call \fontseries or \fontshape}%
+%<platexrelease>\plIncludeInRelease{2020/04/12}{\normalfont}
+%<platexrelease> {Use \@defaultfamilyhook}%
%<*plcore|platexrelease>
+\ifx\@defaultfamilyhook\@undefined % old
\DeclareRobustCommand\normalfont{%
\kanjiencoding{\kanjiencodingdefault}%
\edef\k@family{\kanjifamilydefault}%
@@ -2248,11 +2980,41 @@
\edef\f@family{\familydefault}%
\edef\f@series{\seriesdefault}%
\edef\f@shape{\shapedefault}%
- \selectfont\ignorespaces}
+ \selectfont}
+\else % 2020-02-02 PL2
+%<platexrelease>\DeclareRobustCommand\normalfont{%
+%<platexrelease> \fontencoding\encodingdefault
+%<platexrelease> \edef\f@family{\familydefault}%
+%<platexrelease> \edef\f@series{\seriesdefault}%
+%<platexrelease> \edef\f@shape{\shapedefault}%
+%<platexrelease> \@defaultfamilyhook
+%<platexrelease> \selectfont}
+\g@addto@macro\@defaultfamilyhook{%
+ \kanjiencoding{\kanjiencodingdefault}%
+ \edef\k@family{\kanjifamilydefault}%
+ \edef\k@series{\kanjiseriesdefault}%
+ \edef\k@shape{\kanjishapedefault}%
+}
+\fi
\adjustbaseline
\let\reset@font\normalfont
%</plcore|platexrelease>
%<platexrelease>\plEndIncludeInRelease
+%<platexrelease>\plIncludeInRelease{2020/02/02}{\normalfont}
+%<platexrelease> {Don't call \fontseries or \fontshape}%
+%<platexrelease>\DeclareRobustCommand\normalfont{%
+%<platexrelease> \kanjiencoding{\kanjiencodingdefault}%
+%<platexrelease> \edef\k@family{\kanjifamilydefault}%
+%<platexrelease> \edef\k@series{\kanjiseriesdefault}%
+%<platexrelease> \edef\k@shape{\kanjishapedefault}%
+%<platexrelease> \romanencoding{\encodingdefault}%
+%<platexrelease> \edef\f@family{\familydefault}%
+%<platexrelease> \edef\f@series{\seriesdefault}%
+%<platexrelease> \edef\f@shape{\shapedefault}%
+%<platexrelease> \selectfont\ignorespaces}
+%<platexrelease>\adjustbaseline
+%<platexrelease>\let\reset@font\normalfont
+%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{0000/00/00}{\normalfont}
%<platexrelease> {ASCII Corporation original}%
%<platexrelease>\DeclareRobustCommand\normalfont{%
@@ -2309,18 +3071,22 @@
%
% \begin{macro}{\expand@font@defaults}
% $B%U%!%_%j$N%G%U%)%k%H$r40A4E83+$7$^$9!#(B
-% $B$^$:!"%*%j%8%J%k$N(B\LaTeX{}$B$NDj5A$r:\$;$F$*$-$^$9!#(B
+% $B$^$:!"%*%j%8%J%k$N(B\LaTeX{}$B$NDj5A!J(Bltfssini.dtx 2020/04/06 v3.1m$B0J9_!K$r(B
+% $B:\$;$F$*$-$^$9!#(B
% \begin{macrocode}
%\def\expand@font@defaults{%
% \edef\rmdef@ult{\rmdefault}%
% \edef\sfdef@ult{\sfdefault}%
% \edef\ttdef@ult{\ttdefault}%
-% \edef\bfdef@ult{\bfdefault}%
-% \edef\mddef@ult{\mddefault}%
+% \series@maybe@drop@one@m\bfdefault\bfdef@ult % !! changed 2020/02/25 v3.1j
+% \series@maybe@drop@one@m\mddefault\mddef@ult % !! changed 2020/02/25 v3.1j
% \edef\famdef@ult{\familydefault}%
+% \@expandfontdefaultshook % !! added 2020/04/06 v3.1m
%}
% \end{macrocode}
% p\LaTeX{}$B$G$O!"0J2<$N%3!<%I$rKvHx$KDI2C$7$^$9!#(B
+% ^^A ltfssini.dtx 2020/04/06 v3.1m $B$K4p$E$1$P(B |\@expandfontdefaultshook| $B$r(B
+% ^^A $B;H$&$3$H$b$G$-$k$,!"$H$j$"$($:(B |\g@addto@macro| $B$GKvHxDI2C$GLdBj$J$$!#(B
% \begin{macrocode}
\ifx\expand@font@defaults\@undefined\else % 2020-02-02
\g@addto@macro\expand@font@defaults{%
@@ -2336,56 +3102,111 @@
% \begin{macro}{\bfseries}
% \begin{macro}{\mdseries}
% $B%U%!%_%j$4$H$N@_DjCM$r;2>H$7$^$9!#(B
+% $B$^$:!"%*%j%8%J%k$N(B\LaTeX{}$B$NDj5A!J(Bltfssini.dtx 2020/04/06 v3.1m$B0J9_!K$r(B
+% $B:\$;$F$*$-$^$9!#(B
+% \begin{macrocode}
+%\DeclareRobustCommand\bfseries{%
+% \not@math@alphabet\bfseries\mathbf
+% \expand@font@defaults
+% \ifx\bfdefault\bfdefault@previous\else
+% \expandafter\def\expandafter\bfdefault
+% \expandafter{\bfdefault\@empty}%
+% \let\bfseries@previous\bfdefault
+% \let\bfseries@rm\bfdef@ult
+% \let\bfseries@sf\bfdef@ult
+% \let\bfseries@tt\bfdef@ult
+% \@setbfseriesdefaultshook % !! added 2020/04/06 v3.1m
+% \fi
+% \ifx\f@family\rmdef@ult \fontseries\bfseries@rm
+% \else\ifx\f@family\sfdef@ult \fontseries\bfseries@sf
+% \else\ifx\f@family\ttdef@ult \fontseries\bfseries@tt
+% \else \fontseries\bfdefault
+% \fi\fi\fi
+% \selectfont
+%}
+%\DeclareRobustCommand\mdseries{%
+% \not@math@alphabet\mdseries\relax
+% \expand@font@defaults
+% \ifx\mddefault\mddefault@previous\else
+% \expandafter\def\expandafter\mddefault
+% \expandafter{\mddefault\@empty}%
+% \let\mdseries@previous\mddefault
+% \let\mdseries@rm\mddef@ult
+% \let\mdseries@sf\mddef@ult
+% \let\mdseries@tt\mddef@ult
+% \@setmdseriesdefaultshook % !! added 2020/04/06 v3.1m
+% \fi
+% \ifx\f@family\rmdef@ult \fontseries\mdseries@rm
+% \else\ifx\f@family\sfdef@ult \fontseries\mdseries@sf
+% \else\ifx\f@family\ttdef@ult \fontseries\mdseries@tt
+% \else \fontseries\mddefault
+% \fi\fi\fi
+% \selectfont
+%}
+% \end{macrocode}
+% $B0J2<$G(Bp\LaTeX{}$BMQ$K:FDj5A$7$^$9!#(B
% \changes{v1.6y}{2020/02/24}{Make the \cs{ifx} selection outside of
% \cs{fontseries} argument so that it is not done several times
% (sync with ltfssini.dtx 2020/02/18 v3.1i)}
+% \changes{v1.7f}{2020/04/07}{Support legacy use of \cs{bfdefault}
+% and \cs{mddefault}, use \cs{@setYYseriesdefaultshook}
+% (sync with ltfssini.dtx 2020/03/19 v3.1k and 2020/04/06 v3.1m)}
% \begin{macrocode}
-\ifx\bfseries@rm\@undefined\else % 2020-02-02
-\DeclareRobustCommand\bfseries{%
- \not@math@alphabet\bfseries\mathbf
- \expand@font@defaults
- % changed \fontseries -> \romanseries
- \ifx\f@family\rmdef@ult \romanseries\bfseries@rm
- \else\ifx\f@family\sfdef@ult \romanseries\bfseries@sf
- \else\ifx\f@family\ttdef@ult \romanseries\bfseries@tt
- \else \romanseries\bfdefault
- \fi\fi\fi
-% \end{macrocode}
-% $B$3$3$+$i$,(Bp\LaTeX{}$B$K$h$kDI2C%3!<%I$G$9!#(B
-% \begin{macrocode}
+\ifx\bfseries@rm\@undefined % old
+\let\pltx@fontseries@saved\@undefined
+\let\pltx@patch@bfseries\@undefined
+\let\pltx@patch@mdseries\@undefined
+\else % 2020-02-02
+\let\pltx@fontseries@saved\fontseries
+\def\pltx@patch@bfseries\not@math@alphabet#1#2#3\selectfont{%
+ \long\expandafter\def\csname bfseries \endcsname{%
+ \not@math@alphabet#1#2% should be \bfseries\mathbf
+ % \fontseries of pLaTeX tries to change both Latin and Japanese;
+ % here we want only Latin, so use \romanseries
+ \let\fontseries\romanseries
+ #3% contains \fontseries and \@setbfseriesdefaultshook
+ \let\fontseries\pltx@fontseries@saved % recover
% changed \fontseries -> \kanjiseries
\ifx\k@family\mcdef@ult \kanjiseries\bfseries@mc
\else\ifx\k@family\gtdef@ult \kanjiseries\bfseries@gt
\else \kanjiseries\bfdefault
\fi\fi
-% \end{macrocode}
-% $B$3$3$^$G!#(B
-% \begin{macrocode}
- \selectfont
+ \selectfont
+ }%
}
-\DeclareRobustCommand\mdseries{%
- \not@math@alphabet\mdseries\relax
- \expand@font@defaults
- % changed \fontseries -> \romanseries
- \ifx\f@family\rmdef@ult \romanseries\mdseries@rm
- \else\ifx\f@family\sfdef@ult \romanseries\mdseries@sf
- \else\ifx\f@family\ttdef@ult \romanseries\mdseries@tt
- \else \romanseries\mddefault
- \fi\fi\fi
-% \end{macrocode}
-% $B$3$3$+$i$,(Bp\LaTeX{}$B$K$h$kDI2C%3!<%I$G$9!#(B
-% \begin{macrocode}
+\ifx\@setbfseriesdefaultshook\@undefined\else
+\g@addto@macro\@setbfseriesdefaultshook{%
+ \let\bfseries@mc\bfdef@ult
+ \let\bfseries@gt\bfdef@ult
+}
+\fi
+\expandafter\expandafter\expandafter
+ \pltx@patch@bfseries\csname bfseries \endcsname
+\def\pltx@patch@mdseries\not@math@alphabet#1#2#3\selectfont{%
+ \long\expandafter\def\csname mdseries \endcsname{%
+ \not@math@alphabet#1#2% should be \mdseries\relax
+ % \fontseries of pLaTeX tries to change both Latin and Japanese;
+ % here we want only Latin, so use \romanseries
+ \let\fontseries\romanseries
+ #3% contains \fontseries and \@setmdseriesdefaultshook
+ \let\fontseries\pltx@fontseries@saved % recover
% changed \fontseries -> \kanjiseries
\ifx\k@family\mcdef@ult \kanjiseries\mdseries@mc
\else\ifx\k@family\gtdef@ult \kanjiseries\mdseries@gt
\else \kanjiseries\mddefault
\fi\fi
-% \end{macrocode}
-% $B$3$3$^$G!#(B
-% \begin{macrocode}
\selectfont
+ }%
+}
+\ifx\@setmdseriesdefaultshook\@undefined\else
+\g@addto@macro\@setmdseriesdefaultshook{%
+ \let\mdseries@mc\mddef@ult
+ \let\mdseries@gt\mddef@ult
}
\fi
+\expandafter\expandafter\expandafter
+ \pltx@patch@mdseries\csname mdseries \endcsname
+\fi
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -2408,10 +3229,10 @@
\let\update@series@target@value@kanji\@undefined
\else % 2020-02-02
\def\prepare@family@series@update#1#2{%
- \if@forced@series
+~\if@forced@series
%<+debug> \series@change@debug{No series preparation (forced \f@series)\on@line}%
- \romanfamily#2% % changed \fontfamily -> \romanfamily
- \else
+~ \romanfamily#2% % changed \fontfamily -> \romanfamily
+~\else
%<+debug> \series@change@debug{Prepearing for switching to #1 (#2)\on@line}%
\expand@font@defaults
\let\target@series@value\@empty
@@ -2432,16 +3253,17 @@
\maybe@load@fontshape
%<+debug> \series@change@debug{Target series:
%<+debug> \f@series \space -> \target@series@value}%
- \let\f@series\target@series@value
+% \let\f@series\target@series@value
+ \series@maybe@drop@one@m\target@series@value\f@series
\fi
\fi
- \fi
+~\fi
}
\def\prepare@family@series@update@kanji#1#2{%
- \if@forced@series
+~\if@forced@series
%<+debug> \series@change@debug{No series preparation (forced \k@series)\on@line}%
- \kanjifamily#2%
- \else
+~ \kanjifamily#2%
+~\else
%<+debug> \series@change@debug{Prepearing for switching to #1 (#2)\on@line}%
\expand@font@defaults
\let\target@series@value\@empty
@@ -2463,10 +3285,11 @@
\maybe@load@fontshape\endgroup
%<+debug> \series@change@debug{Target series:
%<+debug> \k@series \space -> \target@series@value}%
- \let\k@series\target@series@value
+% \let\k@series\target@series@value
+ \series@maybe@drop@one@m\target@series@value\k@series
\fi
\fi
- \fi
+~\fi
}
\def\@meta@family@list@kanji{\@elt{mc}\@elt{gt}}
\def\update@series@target@value@kanji#1{%
@@ -2483,10 +3306,15 @@
\csname bfseries@\target@meta@family@value\endcsname
%<+debug>\series@change@debug{Targets for mdseries and bfseries:
%<+debug> \reserved@b\space and \reserved@c}%
- \expandafter\ifx\csname mdseries@#1\endcsname\k@series
+ \expandafter\series@maybe@drop@one@m
+ \csname mdseries@#1\endcsname\reserved@d
+ \ifx\reserved@d\k@series
%<+debug> \series@change@debug{mdseries@#1 matched -> \reserved@b}%
\let\target@series@value\reserved@b
- \else\expandafter\ifx\csname bfseries@#1\endcsname\k@series
+ \else
+ \expandafter\series@maybe@drop@one@m
+ \csname bfseries@#1\endcsname\reserved@d
+ \ifx\reserved@d\k@series
%<+debug> \series@change@debug{bfseries@#1 matched -> \reserved@c}%
\let\target@series@value\reserved@c
\else\ifx\k@series\mddef@ult \let\target@series@value\reserved@b
@@ -2585,6 +3413,209 @@
% \end{macro}
% \end{macro}
%
+% $B8e2s$7$K$7$F$$$?B>$N%P!<%8%g%s$X$NBP=h$G$9!#(B
+% $B$3$3$G?7(BNFSS$BBP1~%3!<%I$,=*$o$j$^$9$N$G!"(B|\catcode|$B%H%j%C%/$r85$KLa$7$^$9!#(B
+% \changes{v1.7b}{2020/03/14}{$B8E$$(B\LaTeXe{}$B$G$b%U%)!<%^%C%H@8@.$,DL$k$h$&$K(B}
+% \begin{macrocode}
+%<*plcore|platexrelease>
+%%
+\ifnum\pltx@latex@level>0\relax % 2020-02-02
+%
+\ifnum\pltx@latex@level<3\relax % 2020-02-02 patch level 0--2 (no flags)
+\DeclareRobustCommand\romanseries[1]{\merge@font@series{#1}}
+\DeclareRobustCommand\kanjiseries[1]{\merge@kanji@series{#1}}
+\DeclareRobustCommand\fontseries[1]{\kanjiseries{#1}\romanseries{#1}}
+\DeclareRobustCommand\romanseriesforce[1]{\edef\f@series{#1}}
+\DeclareRobustCommand\kanjiseriesforce[1]{\edef\k@series{#1}}
+\DeclareRobustCommand\fontseriesforce[1]{\kanjiseriesforce{#1}\romanseriesforce{#1}}
+\fi
+%
+\ifnum\pltx@latex@level=1\relax % 2020-02-02 patch level 0 (\@reserveda)
+\def\merge@kanji@series@#1#2#3\@nil{%
+ \def\@reserveda{#3}%
+ \ifx\@reserveda\@empty
+ \set@target@series@kanji{#2}%
+ \else
+ \begingroup\let\f@encoding\k@encoding\let\f@family\k@family
+ \maybe@load@fontshape\endgroup
+ \edef\@reserveda{\k@encoding /\k@family /#1/\k@shape}%
+ \ifcsname \@reserveda \endcsname
+ \set@target@series@kanji{#1}%
+ \else
+ \ifcsname \k@encoding /\k@family /#2/\k@shape \endcsname
+ \set@target@series@kanji{#2}%
+ {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}%
+ \else
+ \set@target@series@kanji{#3}%
+ {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}%
+ \fi
+ \fi
+ \fi
+}
+\def\merge@kanji@shape@#1#2#3\@nil{%
+ \def\@reserveda{#3}%
+ \ifx\@reserveda\@empty
+ \edef\k@shape{#2}%
+ \else
+ \begingroup\let\f@encoding\k@encoding\let\f@family\k@family
+ \maybe@load@fontshape\endgroup
+ \edef\@reserveda{\k@encoding /\k@family /\k@series/#1}%
+ \ifcsname \@reserveda\endcsname
+ \edef\k@shape{#1}%
+ \else
+ \ifcsname \k@encoding /\k@family /\k@series/#2\endcsname
+ \edef\k@shape{#2}%
+ {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}%
+ \else
+ \edef\k@shape{#3}%
+ {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}%
+ \fi
+ \fi
+ \fi
+}
+\fi
+%
+\ifnum\pltx@latex@level<4\relax % 2020-02-02 patch level 0--4 (drop m)
+\def\set@target@series@kanji#1{%
+ \edef\k@series{#1}%
+ \edef\k@series{\expandafter\series@drop@one@m\k@series mm\series@drop@one@m}%
+}
+\else\ifnum\pltx@latex@level=4\relax % 2020-02-02 patch level 5 (old syntax)
+\def\set@target@series@kanji#1{%
+ \edef\k@series{#1}%
+ \expandafter\series@maybe@drop@one@m\expandafter{\k@series}\k@series
+}
+\fi\fi
+%
+\ifnum\pltx@latex@level<5\relax % 2020-02-02 patch level 0--5
+\def\prepare@family@series@update#1#2{%
+~\if@forced@series
+%<+debug> \series@change@debug{No series preparation (forced \f@series)\on@line}%
+~ \romanfamily#2% % changed \fontfamily -> \romanfamily
+~\else
+%<+debug> \series@change@debug{Prepearing for switching to #1 (#2)\on@line}%
+ \expand@font@defaults
+ \let\target@series@value\@empty
+ \def\target@meta@family@value{#1}%
+~ \expandafter\edef\csname ??def@ult\endcsname{\f@family}%
+ \let\@elt\update@series@target@value
+ \@meta@family@list
+~ \@elt{??}%
+ \let\@elt\relax
+ \romanfamily#2% % changed \fontfamily -> \romanfamily
+ \ifx\target@series@value\@empty
+%<+debug> \series@change@debug{Target series still empty ...}%
+ \else
+ \ifx \f@series\target@series@value
+%<+debug> \series@change@debug{Target series unchanged:
+%<+debug> \f@series \space = \target@series@value}%
+ \else
+ \maybe@load@fontshape
+%<+debug> \series@change@debug{Target series:
+%<+debug> \f@series \space -> \target@series@value}%
+ \let\f@series\target@series@value
+ \fi
+ \fi
+~\fi
+}
+\def\prepare@family@series@update@kanji#1#2{%
+~\if@forced@series
+%<+debug> \series@change@debug{No series preparation (forced \k@series)\on@line}%
+~ \kanjifamily#2%
+~\else
+%<+debug> \series@change@debug{Prepearing for switching to #1 (#2)\on@line}%
+ \expand@font@defaults
+ \let\target@series@value\@empty
+ \def\target@meta@family@value{#1}%
+~ \expandafter\edef\csname ??def@ult\endcsname{\k@family}%
+ \let\@elt\update@series@target@value@kanji
+ \@meta@family@list@kanji
+~ \@elt{??}%
+ \let\@elt\relax
+ \kanjifamily#2%
+ \ifx\target@series@value\@empty
+%<+debug> \series@change@debug{Target series still empty ...}%
+ \else
+ \ifx \k@series\target@series@value
+%<+debug> \series@change@debug{Target series unchanged:
+%<+debug> \k@series \space = \target@series@value}%
+ \else
+ \begingroup\let\f@encoding\k@encoding\let\f@family\k@family
+ \maybe@load@fontshape\endgroup
+%<+debug> \series@change@debug{Target series:
+%<+debug> \k@series \space -> \target@series@value}%
+ \let\k@series\target@series@value
+ \fi
+ \fi
+~\fi
+}
+\def\@meta@family@list@kanji{\@elt{mc}\@elt{gt}}
+\def\update@series@target@value@kanji#1{%
+ \def\reserved@a{#1}%
+ \ifx\target@meta@family@value\reserved@a % rm -> rm do nothing
+ \else
+%<+debug> \series@change@debug{Trying to match #1: \csname#1def@ult\endcsname
+%<+debug> \space = \k@family\space ?}%
+ \expandafter\ifx\csname#1def@ult\endcsname\k@family
+ \let\@elt\@gobble
+ \expandafter\let\expandafter\reserved@b
+ \csname mdseries@\target@meta@family@value\endcsname
+ \expandafter\let\expandafter\reserved@c
+ \csname bfseries@\target@meta@family@value\endcsname
+%<+debug>\series@change@debug{Targets for mdseries and bfseries:
+%<+debug> \reserved@b\space and \reserved@c}%
+ \expandafter\ifx\csname mdseries@#1\endcsname\k@series
+%<+debug> \series@change@debug{mdseries@#1 matched -> \reserved@b}%
+ \let\target@series@value\reserved@b
+ \else\expandafter\ifx\csname bfseries@#1\endcsname\k@series
+%<+debug> \series@change@debug{bfseries@#1 matched -> \reserved@c}%
+ \let\target@series@value\reserved@c
+ \else\ifx\k@series\mddef@ult \let\target@series@value\reserved@b
+%<+debug> \series@change@debug{mddef@ult matched -> \reserved@b}%
+ \else\ifx\k@series\bfdef@ult \let\target@series@value\reserved@c
+%<+debug> \series@change@debug{bfdef@ult matched -> \reserved@c}%
+ \fi\fi\fi\fi
+ \fi
+ \fi
+}
+\fi
+%
+\fi
+%%
+\pltx@reset@catcode@trick
+%</plcore|platexrelease>
+% \end{macrocode}
+%
+%
+% \begin{macro}{\romanprocess@table}
+% \begin{macro}{\kanjiprocess@table}
+% \begin{macro}{\process@table}
+% $BJ8=q$N@hF,$G!"OBJ8%G%U%)%k%H%U%)%s%H$NJQ99$,H?1G$5$l$J$$$N$r=$@5$7$^$9!#(B
+% \changes{v1.3g}{1999/04/05}{plpatch.ltx$B$NFbMF$rH?1G!#(B
+% $B$"$j$,$H$&!";3K\$5$s!#(B}
+% \begin{macrocode}
+%<*plcore>
+\let\romanprocess@table\process@table
+\def\kanjiprocess@table{%
+ \kanjiencoding{\kanjiencodingdefault}%
+ \kanjifamily{\kanjifamilydefault}%
+ \kanjiseries{\kanjiseriesdefault}%
+ \kanjishape{\kanjishapedefault}%
+}
+\def\process@table{%
+ \romanprocess@table
+ \kanjiprocess@table
+}
+\@onlypreamble\romanprocess@table
+\@onlypreamble\kanjiprocess@table
+%</plcore>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+%
+% \subsection{$B6/D4=qBN(B}
% \begin{macro}{\em}
% \begin{macro}{\emph}
% \begin{macro}{\eminnershape}
@@ -2654,35 +3685,7 @@
% \end{macro}
%
%
-% \begin{macro}{\romanprocess@table}
-% \begin{macro}{\kanjiprocess@table}
-% \begin{macro}{\process@table}
-% $BJ8=q$N@hF,$G!"OBJ8%G%U%)%k%H%U%)%s%H$NJQ99$,H?1G$5$l$J$$$N$r=$@5$7$^$9!#(B
-% \changes{v1.3g}{1999/04/05}{plpatch.ltx$B$NFbMF$rH?1G!#(B
-% $B$"$j$,$H$&!";3K\$5$s!#(B}
-% \begin{macrocode}
-%<*plcore>
-\let\romanprocess@table\process@table
-\def\kanjiprocess@table{%
- \kanjiencoding{\kanjiencodingdefault}%
- \kanjifamily{\kanjifamilydefault}%
- \kanjiseries{\kanjiseriesdefault}%
- \kanjishape{\kanjishapedefault}%
-}
-\def\process@table{%
- \romanprocess@table
- \kanjiprocess@table
-}
-\@onlypreamble\romanprocess@table
-\@onlypreamble\kanjiprocess@table
-%</plcore>
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-%
+% \subsection{$B2<@~%^%/%m(B}
% \begin{macro}{\textunderscore}
% \changes{v1.1b}{1995/04/12}{$B2<@~%^%/%m$rDI2C(B}
% $B$3$N%3%^%s%I$O%F%-%9%H%b!<%I$G;XDj$5$l$?(B|\_|$B$NFbIt%3%^%s%I$G$9!#(B