% \iffalse meta-comment
%% File: plfonts.dtx
%
%  Copyright 1994-2006 ASCII Corporation.
%  Copyright (c) 2010 ASCII MEDIA WORKS
%  Copyright (c) 2016-2022 Japanese TeX Development Community
%
%  This file is part of the pLaTeX2e system (community edition).
%  -------------------------------------------------------------
%
% \fi
%
% \iffalse
%<*driver>
\ifx\JAPANESEtrue\undefined
  \expandafter\newif\csname ifJAPANESE\endcsname
  \JAPANESEtrue
\fi
\def\eTeX{$\varepsilon$-\TeX}
\def\pTeX{p\kern-.15em\TeX}
\def\epTeX{$\varepsilon$-\pTeX}
\def\pLaTeX{p\kern-.05em\LaTeX}
\def\pLaTeXe{p\kern-.05em\LaTeXe}
%</driver>
% \fi
%
% \setcounter{StandardModuleDepth}{1}
% \StopEventually{}
%
% \iffalse
% \changes{v1.0}{1994/09/16}{first edition}
% \changes{v1.1}{1995/02/21}{\cs{selectfont}$B%"%k%4%j%:%`JQ99(B}
% \changes{v1.1b}{1995/04/25}{\cs{selectfont}$B=$@5(B}
% \changes{v1.1c}{1995/08/22}{$B=D2#%U%)%s%HF1;~@Z$jBX$((B}
% \changes{v1.2}{1995/11/09}{\cs{DeclareFixedFont}$B$NF|K\8l2=(B}
% \changes{v1.3}{1996/03/25}{$B?t<0%U%!%_%j$NDj5AJQ99(B}
% \changes{v1.3a}{1997/01/25}{\LaTeX\ \texttt{!<1996/12/01!>$B$KBP1~(B}}
% \changes{v1.3b}{1997/01/28}{\cs{textmc}, \cs{textgt}$B$NF0:n=$@5(B}
% \changes{v1.3c}{1997/04/08}{$BOBJ8%(%s%3!<%I4XO"$N=$@5(B}
% \changes{v1.3d}{1997/06/25}{\cs{em},\cs{emph}$B$GOBJ8$r6/D4=qBN$K(B}
% \changes{v1.3e}{1997/07/10}{fd$B%U%!%$%kL>$N>.J8;z2=$,8z$$$F$$$J$+$C$?$N$r=$@5(B}
% \changes{v1.3f}{1998/08/10}{\cs{DeclareFixedCommand}$B$r(B\cs{@onlypreamble}$B$K(B
%    $B$7$F$7$^$C$F$$$?$N$r=$@5(B}
% \changes{v1.3g}{1999/04/05}{plpatch.ltx$B$NFbMF$rH?1G(B}
% \changes{v1.3h}{1999/08/09}{\cs{strut}$B$N2~A1(B}
% \changes{v1.3i}{2000/07/13}{\cs{text..}$B%3%^%s%I$N:8B&$K(B\cs{xkanjiskip}$B$,(B
%    $BF~$i$J$$$N$r=$@5(B}
% \changes{v1.3j}{2000/10/24}{\cs{adjustbaseline}$B$GM>J,$J%"%-$,F~$i$J$$(B
%    $B$h$&$K$7$?(B}
% \changes{v1.3k}{2001/05/10}{$B2$J8=qBN$N4p=`$r:F$S(B`/`$B$+$i(B`M'$B$KJQ99(B}
% \changes{v1.3l}{2002/04/05}{\cs{adjustbaseline}$B$G%U%)%s%H$N4p=`CM$,=D=q$-(B
%    $B0J30$G$O@_Dj$5$l$J$$$N$r=$@5(B}
% \changes{v1.3m}{2004/06/14}{\cs{fontfamily}$B%3%^%s%IFbIt%U%i%0JQ99(B}
% \changes{v1.3n}{2004/08/10}{$BOBJ8%(%s%3!<%G%#%s%0$N@Z$jBX$($rM-8z2=(B}
% \changes{v1.3o}{2005/01/04}{\cs{fontfamily}$BCf$N%U%i%0=$@5(B}
% \changes{v1.3p}{2006/01/04}{\cs{DeclareFontEncoding@}$BCf$G(B
%    \cs{LastDeclaredEncodeng}$B$N:FDj5A$,H4$1$F$$$?$N$GDI2C(B}
% \changes{v1.4}{2006/06/27}{\cs{reDeclareMathAlphabet}$B$r=$@5!#(B
%    $B$"$j$,$H$&!"(Bymt$B$5$s!#(B}
% \changes{v1.5}{2006/11/10}{\cs{reDeclareMathAlphabet}$B$r=$@5!#(B
%    $B$"$j$,$H$&!"(Bymt$B$5$s!#(B}
% \changes{v1.6}{2016/02/01}{\LaTeX\ \texttt{!<2015/01/01!>}$B$G$N(B\cs{em}$B$N(B
%    $BDj5AJQ99$KBP1~!#(B\cs{eminnershape}$B$rDI2C!#(B}
% \changes{v1.6a}{2016/04/01}{$B%Y!<%9%i%$%sJd@5NL$,(B0$B$G$J$$$H$-$K(B
%    \cs{AA}$B$J$I0lIt$N9g@.J8;z$,$*$+$7$/$J$k$3$H$X$NBP1~!#(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}
% \changes{v1.6c}{2016/06/06}{v1.6a$B$G$N=$@5$G(B\'e $B$J$IA4$F$N%"%/%;%s%HIU$-J8;z$G(B
%    $B<~0O$K(B\cs{xkanjiskip}$B$,F~$i$J$/$J$C$F$$$?$N$r=$@5!#(B}
% \changes{v1.6d}{2016/06/19}{$B%"%/%;%s%HIU$-J8;z$r$5$i$K=$@5(B(forum:1951)}
% \changes{v1.6e}{2016/06/26}{v1.6a$B0J9_$N=$@5$GA4$F$N%"%/%;%s%HIU$-J8;z$G(B
%    $B%H%i%V%k$,Aj<!$$$@$?$a!"$$$C$?$s%Q%C%A$r=|5n!#(B}
% \changes{v1.6f}{2017/02/20}{ptrace.sty$B$N(Bplatexrelease$BBP1~(B}
% \changes{v1.6f}{2017/02/20}{\cs{ystrutbox}$B$rDI2C(B}
% \changes{v1.6f}{2017/02/20}{\cs{strutbox}$B$r=D2#N>BP1~$K(B}
% \changes{v1.6f}{2017/02/20}{\cs{strutbox}$B$NBe$o$j$K(B\cs{ystrutbox}$B$r;HMQ(B}
% \changes{v1.6f}{2017/02/20}{\cs{ystrut}$B$rDI2C(B}
% \changes{v1.6f}{2017/02/20}{\cs{ystrutbox}$B$rAH$_N)$F$k$h$&$K(B}
% \changes{v1.6g}{2017/03/07}{$B%Y!<%9%i%$%sJd@5NL$r=$@5(B}
% \changes{v1.6h}{2017/08/05}{$BOBJ8=qBN$N4p=`$rA43Q6uGr$+$i!V4A!W$KJQ99(B}
% \changes{v1.6h}{2017/08/05}{trace$B$N%3!<%I$N(B\texttt{\%}$BK:$l$r=$@5(B}
% \changes{v1.6i}{2017/09/24}{2010$BG/$N(Bp\TeX{}$BK\BN$N=$@5$K$h$j!"(Bv1.3i$B$GF~$l$?(B
%    $BBP=h$,ITMW$K$J$C$F$$$?$N$G:o=|(B}
% \changes{v1.6i}{2017/09/24}{\cs{<}$B$,CJMnF,$G$b8z$/$h$&$K$7$?(B}
% \changes{v1.6j}{2017/11/06}{\cs{cy@encoding}$B$H(B\cs{ct@encoding}$B$r(B
%    $B6qBNE*$JCM$G$O$J$/!V6u!W$G=i4|2=(B}
% \changes{v1.6j}{2017/11/06}{$B=D2#$N%(%s%3!<%G%#%s%0$N%;%C%H2=$r(B
%    plcore$B$+$i(Bpldefs$B$X0\F0(B}
% \changes{v1.6k}{2017/12/05}{$B%G%U%)%k%H@_Dj%U%!%$%k$NFI$_9~$_$r(B
%    \file{plcore.ltx}$B$+$i(B\file{platex.ltx}$B$X0\F0(B}
% \changes{v1.6l}{2018/02/04}{$BOBJ8%9%1!<%kCM$rL@J82=(B}
% \changes{v1.6m}{2018/03/31}{\file{utf8.def}$BM3Mh$N%3!<%I$rDI2C(B}
% \changes{v1.6n}{2018/04/06}{\cs{UseRawInputEncoding}$B$G;H$o$l$k(B
%    \cs{DeclareFontEncoding@}$B$NJ]B8HG$bDj5A(B
%    (sync with ltfinal.dtx 2018/04/06 v2.1b)}
% \changes{v1.6o}{2018/04/08}{Delay full UTF-8 handling to \cs{everyjob}
%    (sync with ltfinal.dtx 2018/04/08 v2.1d)}
% \changes{v1.6p}{2018/04/09}{v1.6o$B$G2C$($?BP:v$r:o=|!#(B
%    $B;29M!'(Bplvers.dtx 2018/04/09 v1.1l$B$N(B\cs{everyjob}}
% \changes{v1.6q}{2018/07/03}{$B%7%j!<%:(Bb$B$,(Bbx$B$HEy2A$K$J$k$h$&$K@k8@(B}
% \changes{v1.6r}{2018/07/25}{PDF$B$N$7$*$j$K%"%/%;%s%HJ8;z$,4^$^$l$k>l9g$KBP1~(B}
% \changes{v1.6r}{2018/07/25}{\cs{[no]fixcompositeaccent}$B%^%/%mDI2C(B}
% \changes{v1.6r}{2018/07/25}{$B%3!<%I@0M}(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)}
% \changes{v1.6s}{2019/08/13}{Explicitly set some defaults
%    after \cs{DeclareErrorKanjiFont} change
%    (sync with ltfssini.dtx 2019/07/09 v3.1c)}
% \changes{v1.6t}{2019/09/16}{Make \cs{strut}, \cs{tstrut} etc. robust
%    (sync with ltdefns.dtx 2019/08/27 v1.5f)}
% \changes{v1.6t}{2019/09/16}{Make \cs{usefont} etc. robust
%    (sync with ltfssbas.dtx 2019/08/27 v3.2d)}
% \changes{v1.6u}{2019/09/29}{Make \cs{userelfont} robust}
% \changes{v1.6u}{2019/09/29}{Make \cs{adjustbaseline} robust}
% \changes{v1.6v}{2020/02/01}{New commands \cs{fontseriesforce} etc.
%    (sync with ltfssaxes.dtx 2019/12/16 v1.0a)}
% \changes{v1.6v}{2020/02/01}{New commands \cs{fontshapeforce} etc.
%    (sync with ltfssaxes.dtx 2019/12/16 v1.0a)}
% \changes{v1.6v}{2020/02/01}{Don't call \cs{fontseries} or \cs{fontshape}
%    (sync with ltfssbas.dtx 2019/12/17 v3.2e)}
% \changes{v1.6v}{2020/02/01}{\LaTeX{}$B$,(Bmweights$B%Q%C%1!<%8$r4p$K$7$?(B
%    $B%7%j!<%:$N%+%9%?%`@_Dj$rF3F~$7$?$N$G!"$3$l$r%5%]!<%H(B
%    (sync with ltfssini.dtx 2019/12/17 v3.1e)}
% \changes{v1.6v}{2020/02/01}{Support \cs{emph} sequences
%    (sync with ltfssini.dtx 2019/12/17 v3.1e)}
% \changes{v1.6v}{2020/02/01}{$BDj5A$r(Bpldefs$B$+$i(Bplcore$B$X0\F0(B}
% \changes{v1.6v}{2020/02/01}{Set \cs{kanjishapedefault} explicitly to ``n''
%    (sync with fontdef.dtx 2019/12/17 v3.0e)}
% \changes{v1.6w}{2020/02/03}{$B4,$-La$7$N%P%0=$@5(B}
% \changes{v1.6x}{2020/02/05}{$B0l;~%3%^%s%I$NL>A0$rE}0l(B
%    (sync with ltfssaxes.dtx 2020/02/05 v1.0b and ltfssini.dtx 2020/02/05 v3.1g)}
% \changes{v1.6y}{2020/02/24}{Switch \cs{if@forced@series} added
%    (sync with ltfssaxes.dtx 2020/02/18 v1.0c)}
% \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.6y}{2020/02/24}{No series auto-update when forced
%    (sync with ltfssini.dtx 2020/02/18 v3.1i)}
% \changes{v1.6y}{2020/02/24}{Recognize current family if it is not a
%    ``meta'' family and auto-update series using \cs{bfdefault}
%    (sync with ltfssini.dtx 2020/02/18 v3.1i)}
% \changes{v1.6z}{2020/02/28}{\cs{series@maybe@drop@one@m}$B$NB8:_3NG'(B}
% \changes{v1.6z}{2020/02/28}{Drop ``m'' only in a specific set of values
%    (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)}
% \changes{v1.7g}{2020/04/14}{Small update for speed.
%    (sync with ltfssdcl.dtx 2020/04/13 v3.0v)}
% \changes{v1.7h}{2020/09/28}{Handling \cs{seriesdefault} changes
%    (sync with ltfssini.dtx 2020/04/13 v3.1n)}
% \changes{v1.7h}{2020/09/28}{New hook management interface
%    (sync with ltfssini.dtx 2020/08/21 v3.2b)}
% \changes{v1.7i}{2020/10/07}{$B%U%C%/%7%9%F%`$NM-L5H=Dj$r2~NI(B}
% \changes{v1.7j}{2020/12/29}{Drop ``m'' for latex2e issue 453
%    (sync with ltfssbas.dtx 2020/12/10 v3.2h)}
% \changes{v1.7k}{2021/01/10}{Distangle series and shape update (latex2e/444)
%    (sync with ltfssaxes.dtx 2020/12/22 v1.0h)}
% \changes{v1.7k}{2021/01/10}{Execute delayed series and shape updates (latex2e/444)
%    (sync with ltfsstrc.dtx 2020/12/22 v3.0n)}
% \changes{v1.7k}{2021/01/10}{Adjust start values for series and shape (latex2e/444)
%    (sync with ltfssini.dtx 2020/12/06 v3.2f)}
% \changes{v1.7l}{2021/05/23}{Unconditionally switch to the requested
%    font face (latex2e/444)
%    (sync with ltfssbas.dtx 2021/04/26 v3.2i)}
% \changes{v1.7l}{2021/05/23}{Unconditionally switch to the requested
%    font face (latex2e/444)
%    (sync with ltfssini.dtx 2021/04/26 v3.2h)}
% \changes{v1.7l}{2021/05/23}{Unset the forced series boolean when reaching
%    \cs{selectfont} (latex2e/444)
%    (sync with ltfsstrc.dtx 2021/04/26 v3.0o)}
% \changes{v1.7m}{2021/06/04}{latex2e/444$BBP1~!'(B\cs{@shape@roman@kanji}$B%U%i%0(B
%    $B$r(B\cs{delayed@k@adjustment}$B$NCf$GJQ99(B/$BI|5"$9$k(B}
% \changes{v1.7n}{2021/06/27}{$B=>B02$J8$N%7%j!<%:$H%7%'!<%W99?7$r(B
%    $BH?1G$9$k$h$&$K=$@5(B}
% \changes{v1.7n}{2021/06/27}{$BOB2$J8$N(Bforced@series$B%U%i%0$rJ,N%(B}
% \fi
%
% \iffalse
%<*driver>
\NeedsTeXFormat{pLaTeX2e}
% \fi
\ProvidesFile{plfonts.dtx}[2021/06/27 v1.7n pLaTeX New Font Selection Scheme]
% \iffalse
\RequirePackage{plautopatch}
\documentclass[dvipdfmx,a4paper]{jltxdoc}
\GetFileInfo{plfonts.dtx}
\title{p\LaTeXe{}$B$N%U%)%s%H%3%^%s%I(B\space\fileversion}
\author{Ken Nakano \& Hideaki Togashi}
\date{$B:n@.F|!'(B\filedate}
\begin{document}
   \maketitle
   \tableofcontents
   \DocInput{\filename}
\end{document}
%</driver>
% \fi
%
% \section{$B35MW(B}\label{plfonts:intro}
% $B$3$3$G$O!"OBJ8=qBN$r(B\NFSS2$B$N%$%s%?!<%U%'%$%9$GA*Br$9$k$?$a$N(B
% $B%3%^%s%I$d%^%/%m$K$D$$$F@bL@$r$7$F$$$^$9!#(B
% $B$^$?!"%U%)%s%HDj5A%U%!%$%k$d=i4|@_Dj%U%!%$%k$J$I$N@bL@$b$7$F$$$^$9!#(B
% $B?7$7$$%U%)%s%HA*Br%3%^%s%I$N;H$$J}$K$D$$$F$O!"(B\file{fntguide.tex}$B$d(B
% \file{usrguide.tex}$B$r;2>H$7$F$/$@$5$$!#(B
%
% \begin{description}
% \item[$BBh(B\ref{plfonts:intro}$B@a(B] $B$3$N@a$G$9!#$3$N%U%!%$%k$N35MW$H(B
%    \dst{}$B%W%m%0%i%`$N$?$a$N%*%W%7%g%s$r<($7$F$$$^$9!#(B
% \item[$BBh(B\ref{plfonts:codes}$B@a(B] $B<B:]$N%3!<%I$NItJ,$G$9!#(B
% \item[$BBh(B\ref{plfonts:pldefs}$B@a(B] $B%W%j%m!<%I%U%)%s%H$d%(%i!<%U%)%s%H$J$I$N(B
%  $B=i4|@_Dj$K$D$$$F@bL@$r$7$F$$$^$9!#(B
% \item[$BBh(B\ref{plfonts:fontdef}$B@a(B] $B%U%)%s%HDj5A%U%!%$%k$K$D$$$F(B
%    $B@bL@$r$7$F$$$^$9!#(B
% \end{description}
%
%
% \subsection{\dst{}$B%W%m%0%i%`$N$?$a$N%*%W%7%g%s(B}
% \dst{}$B%W%m%0%i%`$N$?$a$N%*%W%7%g%s$r<!$K<($7$^$9!#(B
%
% \DeleteShortVerb{\|}
% \begin{center}
% \begin{tabular}{l|p{0.7\linewidth}}
% \emph{$B%*%W%7%g%s(B} & \emph{$B0UL#(B}\\\hline
% plcore & \file{plcore.ltx}$B$NCGJR$r@8@.$7$^$9!#(B\\
% trace  & \file{ptrace.sty}$B$r@8@.$7$^$9!#(B\\
% JY1mc  & $B2#AHMQ!"L@D+BN$N%U%)%s%HDj5A%U%!%$%k$r@8@.$7$^$9!#(B\\
% JY1gt  & $B2#AHMQ!"%4%7%C%/BN$N%U%)%s%HDj5A%U%!%$%k$r@8@.$7$^$9!#(B\\
% JT1mc  & $B=DAHMQ!"L@D+BN$N%U%)%s%HDj5A%U%!%$%k$r@8@.$7$^$9!#(B\\
% JT1gt  & $B=DAHMQ!"%4%7%C%/BN$N%U%)%s%HDj5A%U%!%$%k$r@8@.$7$^$9!#(B\\
% pldefs & \file{pldefs.ltx}$B$r@8@.$7$^$9!#<!$N#4$D$N%*%W%7%g%s$rIU2C$9$k(B
%          $B$3$H$G!"%W%j%m!<%I$9$k%U%)%s%H$rA*Br$9$k$3$H$,$G$-$^$9!#(B
%          $B%G%U%)%k%H$O(B10pt$B$G$9!#(B\\
% xpt    & 10pt $B%W%j%m!<%I(B\\
% xipt   & 11pt $B%W%j%m!<%I(B\\
% xiipt  & 12pt $B%W%j%m!<%I(B\\
% ori    & \file{plfonts.tex}$B$K;w$?%W%j%m!<%I(B\\
% \end{tabular}
% \end{center}
% \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!"<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
%
% \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}
     [2021/06/27 v1.7n Standard pLaTeX package (font tracing)]
\RequirePackageWithOptions{tracefnt}
%</trace>
%    \end{macrocode}
%
% \subsubsection{$BOBJ8%U%)%s%HB0@-(B}
% $B$3$3$G$O!"OBJ8%U%)%s%H$NB0@-$r3JG<$9$k$?$a$N%*%V%8%'%/%H$K$D$$$F(B
% $B@bL@$r$7$F$$$^$9!#(B
% 
% \begin{macro}{\k@encoding}
% \begin{macro}{\ck@encoding}
% \begin{macro}{\cy@encoding}
% \begin{macro}{\ct@encoding}
% $BOBJ8%(%s%3!<%I$r<($9%*%V%8%'%/%H$G$9!#(B
% |\ck@encoding|$B$O!":G8e$KA*Br$5$l$?OBJ8%(%s%3!<%IL>$r<($7$F$$$^$9!#(B
% |\cy@encoding|$B$H(B|\ct@encoding|$B$O$=$l$>$l!":G8e$KA*Br$5$l$?!"(B
% $B2#AHMQ$H=DAHMQ$NOBJ8%(%s%3!<%IL>$r<($7$F$$$^$9!#(B
%
% $B$3$3$G$OC1$K!V6u!W$K=i4|2=$9$k$@$1$K$7$F$$$^$9!#(B
% \iffalse
% $B%"%9%-!<HG$O(BJY1$B$d(BJT1$B$H$$$&6qBNE*$JCM$G=i4|2=$7$F$$$?$,!"$3$l$i$NCM$O(B
% \file{pldefs.ltx}$B$GDj5A$9$k$b$N$G$"$k$+$i!"(B\file{plcore.ltx}$B$G(B
% $B$=$l$r;H$&$N$O$*$+$7$$!#(B
% \fi
% \changes{v1.6j}{2017/11/06}{\cs{cy@encoding}$B$H(B\cs{ct@encoding}$B$r(B
%    $B6qBNE*$JCM$G$O$J$/!V6u!W$G=i4|2=(B}
%    \begin{macrocode}
%<*plcore>
\let\k@encoding\@empty
\let\ck@encoding\@empty
\let\cy@encoding\@empty
\let\ct@encoding\@empty
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\k@family}
% $BOBJ8=qBN$N%U%!%_%j$r<($9%*%V%8%'%/%H$G$9!#(B
%    \begin{macrocode}
\let\k@family\@empty
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\k@series}
% $BOBJ8=qBN$N%7%j!<%:$r<($9%*%V%8%'%/%H$G$9!#(B
%    \begin{macrocode}
\let\k@series\@empty
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\k@shape}
% $BOBJ8=qBN$N%7%'%$%W$r<($9%*%V%8%'%/%H$G$9!#(B
%    \begin{macrocode}
\let\k@shape\@empty
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\curr@kfontshape}
% $B8=:_$NOBJ8%U%)%s%HL>$r<($9%*%V%8%'%/%H$G$9!#(B
%    \begin{macrocode}
\def\curr@kfontshape{\k@encoding/\k@family/\k@series/\k@shape}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\rel@fontshape}
% $B4XO"IU$1$5$l$?%U%)%s%HL>$r<($9%*%V%8%'%/%H$G$9!#(B
%    \begin{macrocode}
\def\rel@fontshape{\f@encoding/\f@family/\f@series/\f@shape}
%    \end{macrocode}
% \end{macro}
%
% \subsubsection{$BD9$5JQ?t(B}
% $B$3$3$G$O!"OBJ8%U%)%s%H$NI}$d9b$5$J$I$r3JG<$9$kJQ?t$K$D$$$F@bL@$r$7$F$$$^$9!#(B
%
% $BF,J8;z$,BgJ8;z$NJQ?t$O!"%N!<%^%k%5%$%:$N=qBN$NBg$-$5$G!"4p=`CM$H$J$j$^$9!#(B
% $B$3$l$i$O!"(B\file{jart10.clo}$B$J$I$NJd=u%/%i%9%U%!%$%k$G@_Dj$5$l$^$9!#(B
%
% $B>.J8;z$@$1$+$i$J$kJQ?t$O!"(B
% $B%U%)%s%H$,JQ99$5$l$?$H$-$K!J(B|\selectfont|$BFb$G!K99?7$5$l$^$9!#(B
%
% \begin{macro}{\Cht}
% \begin{macro}{\cht}
% |\Cht|$B$O4p=`$H$J$kOBJ8%U%)%s%H$NJ8;z$N9b$5$r<($7$^$9!#(B
% |\cht|$B$O8=:_$NOBJ8%U%)%s%H$NJ8;z$N9b$5$r<($7$^$9!#(B
% $B$J$*!"$3$N(B``$B9b$5(B''$B$O%Y!<%9%i%$%s$h$j>e$ND9$5$G$9!#(B
%    \begin{macrocode}
\newdimen\Cht
\newdimen\cht
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\Cdp}
% \begin{macro}{\cdp}
% |\Cdp|$B$O4p=`$H$J$kOBJ8%U%)%s%H$NJ8;z$N?<$5$r<($7$^$9!#(B
% |\cdp|$B$O8=:_$NOBJ8%U%)%s%H$NJ8;z$N?<$5$r<($7$^$9!#(B
% $B$J$*!"$3$N(B``$B?<$5(B''$B$O%Y!<%9%i%$%s$h$j2<$ND9$5$G$9!#(B
%    \begin{macrocode}
\newdimen\Cdp
\newdimen\cdp
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\Cwd}
% \begin{macro}{\cwd}
% |\Cwd|$B$O4p=`$H$J$kOBJ8%U%)%s%H$NJ8;z$NI}$r<($7$^$9!#(B
% |\cwd|$B$O8=:_$NOBJ8%U%)%s%H$NJ8;z$NI}$r<($7$^$9!#(B
%    \begin{macrocode}
\newdimen\Cwd
\newdimen\cwd
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\Cvs}
% \begin{macro}{\cvs}
% |\Cvs|$B$O4p=`$H$J$k9TAw$j$r<($7$^$9!#(B
% $B%N!<%^%k%5%$%:$N(B|\baselineskip|$B$HF1CM$G$9!#(B
% |\cvs|$B$O8=:_$N9TAw$j$r<($7$^$9!#(B
%    \begin{macrocode}
\newdimen\Cvs
\newdimen\cvs
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\Chs}
% \begin{macro}{\chs}
% |\Chs|$B$O4p=`$H$J$k;zAw$j$r<($7$^$9!#(B|\Cwd|$B$HF1CM$G$9!#(B
% |\chs|$B$O8=:_$N;zAw$j$r<($7$^$9!#(B
%    \begin{macrocode}
\newdimen\Chs
\newdimen\chs
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\cHT}
% |\cHT|$B$O!"8=:_$N%U%)%s%H$N9b$5$K?<$5$r2C$($?D9$5$r<($7$^$9!#(B
% |\set@fontsize|$B%3%^%s%I!J<B:]$O(B|\size@update|$B!K$G99?7$5$l$^$9!#(B
%    \begin{macrocode}
\newdimen\cHT
%    \end{macrocode}
% \end{macro}
%
% \subsubsection{$B0l;~%3%^%s%I(B}\label{afont-ascii}
%
% \begin{macro}{\afont}
% \LaTeX{}$BFbIt$N(B|\do@subst@correction|$B%^%/%m$G$O!"(B
% |\fontname\font|$B$GJV$5$l$k30It%U%)%s%HL>$rMQ$$$F!"(B
% \LaTeX{}$B%U%)%s%HL>$rDj5A$7$F$$$^$9!#$7$?$,$C$F!"(B|\font|$B$r$=$N$^$^;H$&$H!"(B
% $BOBJ8%U%)%s%HL>$K2$J8$N30It%U%)%s%H$,EPO?$5$l$?$j!"(B
% $B=DAH%U%)%s%HL>$K2#AHMQ$N30It%U%)%s%H$,3d$jIU$1$i$l$?$j$7$^$9$N$G!"(B
% |\jfont|$B$+(B|\tfont|$B$rMQ$$$k$h$&$K$7$^$9!#(B
% |\afont|$B$O!"(B|\font|$B%3%^%s%I$NJ]B8MQ$G$9!#(B
%    \begin{macrocode}
\let\afont\font
%    \end{macrocode}
% \end{macro}
%
%
% \subsubsection{$B%U%)%s%H%j%9%H(B}
% $B$3$3$G$O!"%U%)%s%H$N%(%s%3!<%I$d%U%!%_%j$NL>A0$rEPO?$9$k%j%9%H$K$D$$$F(B
% $B@bL@$r$7$F$$$^$9!#(B
%
% p\LaTeXe{}$B$N(B\NFSS2$B$G$O!"0l$D$N%3%^%s%I$GOBJ8$+2$J8$N$$$:$l$+!"$"$k$$$ON>J}$r(B
% $BJQ99$9$k$?$a!"%3%^%s%I$K;XDj$5$l$?0z?t$,2?$r<($9$N$+$rH=CG$7$J$/$F$O(B
% $B$J$j$^$;$s!#$3$NH=CG:`NA$H$7$F!"%j%9%H$rMQ$$$^$9!#(B
%
% $B$3$N$H$-$N6qBNE*$JH=CG<j=g$K$D$$$F$O!"%(%s%3!<%IA*Br%3%^%s%I$d(B
% $B%U%!%_%jA*Br%3%^%s%I$J$I$NDj5A$r;2>H$7$F$/$@$5$$!#(B
% 
% \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!#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{%
  \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}
%
% \begin{macro}{\enc@elt}
% \begin{macro}{\fam@elt}
% |\enc@elt|$B$H(B|\fam@elt|$B$O!"EPO?$5$l$F$$$k%(%s%3!<%I$KBP$7$F!"(B
% $B$J$s$i$+$N=hM}$rC`<!E*$K9T$J$$$?$$$H$-$K;HMQ$9$k$3$H$,$G$-$^$9!#(B
%    \begin{macrocode}
\def\fam@elt{\noexpand\fam@elt}
\def\enc@elt{\noexpand\enc@elt}
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\fenc@list}
% \begin{macro}{\kenc@list}
% \begin{macro}{\kyenc@list}
% \begin{macro}{\ktenc@list}
% |\fenc@list|$B$K$O!"(B|\DeclareFontEncoding|$B%3%^%s%I$G@k8@$5$l$?%(%s%3!<%IL>$,(B
% $B3JG<$5$l$F$$$-$^$9!#(B
%
% |\kyenc@list|$B$K$O!"(B|\DeclareYokoKanjiEncoding|$B%3%^%s%I$G@k8@$5$l$?(B
% $B%(%s%3!<%IL>$,3JG<$5$l$F$$$-$^$9!#(B
% |\ktenc@list|$B$K$O!"(B|\DeclareTateKanjiEncoding|$B%3%^%s%I$G@k8@$5$l$?(B
% $B%(%s%3!<%IL>$,3JG<$5$l$F$$$-$^$9!#(B
%
% \changes{v1.1b}{1995/03/28}{$B%j%9%H$N=i4|CM$rJQ99(B}
% \changes{v1.1b}{1995/05/10}{$B%j%9%HFb$N6uGr$r:o=|(B}
%
% $B$3$3$G!"$3$l$i$N%j%9%H$K6qBNE*$JCM$rF~$l$F=i4|2=$r$9$k$N$O!"(B
% $B%j%9%H$K%(%s%3!<%I$NEPO?$r$9$k$h$&$K(B|\DeclareFontEncoding|$B$r:FDj5A(B
% $B$9$kA0$K!"2$J8%(%s%3!<%I$,@k8@$5$l$k$?$a!"%j%9%H$KEPO?$5$l$J$$$+$i$G$9!#(B
% \changes{v1.1}{1997/01/25}{Add TS1 encoding to the starting member of
%     \cs{fenc@list}.}
%    \begin{macrocode}
\def\fenc@list{\enc@elt<OML>\enc@elt<T1>\enc@elt<OT1>\enc@elt<OMS>%
               \enc@elt<OMX>\enc@elt<TS1>\enc@elt<U>}
\let\kenc@list\@empty
\let\kyenc@list\@empty
\let\ktenc@list\@empty
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\kfam@list}
% \begin{macro}{\ffam@list}
% \begin{macro}{\notkfam@list}
% \begin{macro}{\notffam@list}
% |\kfam@list|$B$K$O!"(B|\DeclareKanjiFamily|$B%3%^%s%I$G@k8@$5$l$?%U%!%_%jL>$,(B
% $B3JG<$5$l$F$$$-$^$9!#(B
%
% |\ffam@list|$B$K$O!"(B|\DeclareFontFamily|$B%3%^%s%I$G@k8@$5$l$?%U%!%_%jL>$,(B
% $B3JG<$5$l$F$$$-$^$9!#(B
%
% |\notkfam@list|$B$K$O!"OBJ8%U%!%_%j$G$O$J$$$H?dB,$5$l$?%U%!%_%jL>$,(B
% $B3JG<$5$l$F$$$-$^$9!#$3$N%j%9%H$O(B|\fontfamily|$B%3%^%s%I$G:n@.$5$l$^$9!#(B
%
% |\notffam@list|$B$K$O2$J8%U%!%_%j$G$O$J$$$H?dB,$5$l$?%U%!%_%jL>$,(B
% $B3JG<$5$l$F$$$-$^$9!#$3$N%j%9%H$O(B|\fontfamily|$B%3%^%s%I$G:n@.$5$l$^$9!#(B
%
% \changes{v1.1b}{1995/03/28}{$B%j%9%H$N=i4|CM$rJQ99(B}
% \changes{v1.1b}{1995/05/10}{$B%j%9%HFb$N6uGr$r:o=|(B}
%
% $B$3$3$G!"$3$l$i$N%j%9%H$K6qBNE*$JCM$rF~$l$F=i4|2=$r$9$k$N$O!"(B
% $B%j%9%H$K%U%!%_%j$NEPO?$r$9$k$h$&$K!"(B|\DeclareFontFamily|$B$,(B
% $B:FDj5A$5$l$kA0$K!"$3$N%3%^%s%I$,;HMQ$5$l$k$?$a!"(B
% $B%j%9%H$KEPO?$5$l$J$$$+$i$G$9!#(B
%    \begin{macrocode}
\def\kfam@list{\fam@elt<mc>\fam@elt<gt>}
\def\ffam@list{\fam@elt<cmr>\fam@elt<cmss>\fam@elt<cmtt>%
               \fam@elt<cmm>\fam@elt<cmsy>\fam@elt<cmex>}
%    \end{macrocode}
% \changes{v1.1c}{1996/03/06}{\cs{notkfam@list}$B$H(B\cs{notffam@list}$B$N(B
%       $B=i4|CM$rJQ99(B}
% $B$D$.$NFs$D$N%j%9%H$N=i4|CM$H$7$F!">e5-$NCM$rMQ$$$^$9!#(B
% $B$3$l$i$N%U%!%_%jL>$O!"OBJ8$G$J$$$3$H!"2$J8$G$J$$$3$H$,$O$C$-$j$7$F$$$^$9!#(B
%    \begin{macrocode}
\let\notkfam@list\ffam@list
\let\notffam@list\kfam@list
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
%
%
% \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$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#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(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
%
% \begin{macro}{\tstrutbox}
% \begin{macro}{\zstrutbox}
% |\tstrutbox|$B$O9b$5$H?<$5$,(B5$BBP(B5$B!"(B
% |\zstrutbox|$B$O9b$5$H?<$5$,(B7$BBP(B3$B$N;YCl%\%C%/%9$H$J$j$^$9!#(B
% $B$3$l$i$O=DAH%\%C%/%9$N9T4V$ND4@0$J$I$K;H$$$^$9!#(B
%    \begin{macrocode}
\newbox\tstrutbox
\newbox\zstrutbox
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\ystrutbox}
% |\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>
%<platexrelease>\plIncludeInRelease{2017/04/08}{\ystrutbox}
%<platexrelease>                   {Add \ystrutbox}%
%<*plcore|platexrelease>
\newbox\ystrutbox
%</plcore|platexrelease>
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{0000/00/00}{\ystrutbox}
%<platexrelease>                   {Add \ystrutbox}%
%<platexrelease>\let\ystrutbox\@undefined
%<platexrelease>\plEndIncludeInRelease
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\strutbox}
% |\strutbox|$B$O=D2#N>BP1~$G$9!#(B
% \changes{v1.6f}{2017/02/20}{\cs{strutbox}$B$r=D2#N>BP1~$K(B}
%    \begin{macrocode}
%<platexrelease>\plIncludeInRelease{2017/04/08}{\strutbox}
%<platexrelease>                   {Macro definition of \strutbox}%
%<*plcore|platexrelease>
\def\strutbox{\iftdir\tstrutbox\else\ystrutbox\fi}
%</plcore|platexrelease>
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{0000/00/00}{\strutbox}
%<platexrelease>                   {LaTeX2e original}%
%<platexrelease>\newbox\strutbox % emulation purpose only
%<platexrelease>\plEndIncludeInRelease
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\strut}
% $B%G%#%l%/%7%g%s$K1~$8$F(B|\ystrutbox|$B$H(B|\tstrutbox|$B$r;H$$J,$1$^$9!#(B
% ^^A |\strutbox|$B$O(B|\yoko|$B%G%#%l%/%7%g%s$GAH$^$l$F$$$^$9$N$G!"(B
% ^^A $B=DAH%\%C%/%9Fb$G(B|\unhcopy|$B$r$9$k$H%(%i!<$H$J$j$^$9!#(B
% $B%*%j%8%J%k$N(B\LaTeX{}$B$G$O(B\file{ltplain.dtx}$B$GDj5A$5$l$F$$$^$9$,!"(B
% \LaTeXe\ 2019-10-01$B0J9_$G$O$5$i$K(B\file{ltdefns.dtx}$B$G(B
% |\MakeRobust|$B$rA0CV$5$l$k$?$a!"(Brobust$B$K$J$j$^$9!#(B
%
% \changes{v1.1c}{1995/08/24}{``\cs{centerling}~\cs{strut}''$B$NI}$,%<%m$K(B
% $B$J$C$F$7$^$&$N$r=$@5(B}
% \changes{v1.3h}{1999/08/09}{$B=DAH$N$H$-!"I}$N$"$k%\%C%/%9$K$J$C$F$7$^$&(B
% $B$N$r=$@5(B}
% \changes{v1.6f}{2017/02/20}{\cs{strutbox}$B$NBe$o$j$K(B\cs{ystrutbox}$B$r;HMQ(B}
% \changes{v1.6t}{2019/09/16}{Make \cs{strut}, \cs{tstrut} etc. robust
%    (sync with ltdefns.dtx 2019/08/27 v1.5f)}
%    \begin{macrocode}
%<platexrelease>\plIncludeInRelease{2019/10/01}{\strut}
%<platexrelease>                   {Make robust}%
%<*plcore|platexrelease>
\DeclareRobustCommand\strut{\relax
  \iftdir
    \ifmmode\copy\tstrutbox\else\unhcopy\tstrutbox\fi
  \else
    \ifmmode\copy\ystrutbox\else\unhcopy\ystrutbox\fi
  \fi}
%</plcore|platexrelease>
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{2017/04/08}{\strut}
%<platexrelease>                   {Use \ystrutbox}%
%<platexrelease>\def\strut{\relax
%<platexrelease>  \ifydir
%<platexrelease>    \ifmmode\copy\ystrutbox\else\unhcopy\ystrutbox\fi
%<platexrelease>  \else
%<platexrelease>    \ifmmode\copy\tstrutbox\else\unhcopy\tstrutbox\fi
%<platexrelease>  \fi}
%<platexrelease>\expandafter \let \csname strut \endcsname \@undefined
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{0000/00/00}{\strut}
%<platexrelease>                   {ASCII Corporation original}%
%<platexrelease>\def\strut{\relax
%<platexrelease>  \ifydir
%<platexrelease>    \ifmmode\copy\strutbox\else\unhcopy\strutbox\fi
%<platexrelease>  \else
%<platexrelease>    \ifmmode\copy\tstrutbox\else\unhcopy\tstrutbox\fi
%<platexrelease>  \fi}
%<platexrelease>\expandafter \let \csname strut \endcsname \@undefined
%<platexrelease>\plEndIncludeInRelease
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\tstrut}
% \begin{macro}{\zstrut}
%    \begin{macrocode}
%<platexrelease>\plIncludeInRelease{2019/10/01}{\tstrut}
%<platexrelease>                   {Make robust}%
%<*plcore|platexrelease>
\DeclareRobustCommand\tstrut{\relax\hbox{\tate
   \ifmmode\copy\tstrutbox\else\unhcopy\tstrutbox\fi}}
\DeclareRobustCommand\zstrut{\relax\hbox{\tate
   \ifmmode\copy\zstrutbox\else\unhcopy\zstrutbox\fi}}
%</plcore|platexrelease>
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{0000/00/00}{\tstrut}
%<platexrelease>                   {ASCII Corporation original}%
%<platexrelease>\def\tstrut{\relax\hbox{\tate
%<platexrelease>   \ifmmode\copy\tstrutbox\else\unhcopy\tstrutbox\fi}}
%<platexrelease>\def\zstrut{\relax\hbox{\tate
%<platexrelease>   \ifmmode\copy\zstrutbox\else\unhcopy\zstrutbox\fi}}
%<platexrelease>\expandafter \let \csname tstrut \endcsname \@undefined
%<platexrelease>\expandafter \let \csname zstrut \endcsname \@undefined
%<platexrelease>\plEndIncludeInRelease
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\ystrut}
% \changes{v1.6f}{2017/02/20}{\cs{ystrut}$B$rDI2C(B}
%    \begin{macrocode}
%<platexrelease>\plIncludeInRelease{2019/10/01}{\ystrut}
%<platexrelease>                   {Make robust}%
%<*plcore|platexrelease>
\DeclareRobustCommand\ystrut{\relax\hbox{\yoko
    \ifmmode\copy\ystrutbox\else\unhcopy\ystrutbox\fi}}
%</plcore|platexrelease>
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{2017/04/08}{\ystrut}
%<platexrelease>                   {Add \ystrut}%
%<platexrelease>\def\ystrut{\relax\hbox{\yoko
%<platexrelease>    \ifmmode\copy\ystrutbox\else\unhcopy\ystrutbox\fi}}
%<platexrelease>\expandafter \let \csname ystrut \endcsname \@undefined
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{0000/00/00}{\ystrut}
%<platexrelease>                   {Add \ystrut}%
%<platexrelease>\let\ystrut\@undefined
%<platexrelease>\expandafter \let \csname ystrut \endcsname \@undefined
%<platexrelease>\plEndIncludeInRelease
%<*plcore>
%    \end{macrocode}
% \end{macro}
%
%
%
% \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
% \file{ltfssbas.dtx}$B$GDj5A$5$l$F$$$k$b$N$r!"(B
% |\fenc@list|$B$r:n$k$h$&$K:FDj5A$r$7$F$$$^$9!#(B
% \changes{v1.3p}{2006/01/04}{\break\cs{DeclareFontEncoding@}$BCf$G(B
%    \cs{LastDeclaredEncodeng}$B$N:FDj5A$,H4$1$F$$$?$N$GDI2C(B}
%    \begin{macrocode}
\def\DeclareFontEncoding{%
  \begingroup
  \nfss@catcodes
  \expandafter\endgroup
  \DeclareFontEncoding@}
%</plcore>
%<platexrelease>\plIncludeInRelease{2018/04/01}{\DeclareFontEncoding@}
%<platexrelease>                   {UTF-8 Encoding}%
%<*plcore|platexrelease>
%    \end{macrocode}
%
% $B$^$:!"(B\LaTeXe\ 2017-04-15$B0JA0$N>l9g$N%3!<%I$G$9!#$3$N%3!<%I$O!"(B
% |\UseRawInputEncoding|$B$NFbIt$G$b;H$o$l$^$9!#(B
% \changes{v1.6n}{2018/04/06}{\cs{UseRawInputEncoding}$B$G;H$o$l$k(B
%    \cs{DeclareFontEncoding@}$B$NJ]B8HG!J=>Mh$NDj5A!K$r=`Hw(B
%    (sync with ltfinal.dtx 2018/04/06 v2.1b)}
%    \begin{macrocode}
% for compatibility with LaTeX2e 2017-04-15 or earlier.
% this code is used if MLTeX is enabled
\def\DeclareFontEncoding@#1#2#3{%
  \expandafter
  \ifx\csname T@#1\endcsname\relax
     \def\cdp@elt{\noexpand\cdp@elt}%
     \xdef\cdp@list{\cdp@list\cdp@elt{#1}%
                    {\default@family}{\default@series}%
                    {\default@shape}}%
     \expandafter\let\csname#1-cmd\endcsname\@changed@cmd
%    \end{macrocode}
% $B0J2<$N(B2$B9T$,(Bp\LaTeXe{}$B$K$h$kDI2CItJ,$G$9!#(B
%    \begin{macrocode}
     \def\enc@elt{\noexpand\enc@elt}%
     \xdef\fenc@list{\fenc@list\enc@elt<#1>}%
%    \end{macrocode}
%    \begin{macrocode}
  \else
     \@font@info{Redeclaring font encoding #1}%
  \fi
  \global\@namedef{T@#1}{#2}%
  \global\@namedef{M@#1}{\default@M#3}%
  \xdef\LastDeclaredEncoding{#1}%
  }
\let\DeclareFontEncoding@saved\DeclareFontEncoding@
%    \end{macrocode}
%
% $B<!$K!"(B\LaTeXe\ 2018-04-01$B0J9_$N>l9g$N%3!<%I$G$9!#(B
%    \begin{macrocode}
\ifx\IeC\@undefined\else
% for LaTeX2e with UTF-8 input.
\def\DeclareFontEncoding@#1#2#3{%
  \expandafter
  \ifx\csname T@#1\endcsname\relax
     \def\cdp@elt{\noexpand\cdp@elt}%
     \xdef\cdp@list{\cdp@list\cdp@elt{#1}%
                    {\default@family}{\default@series}%
                    {\default@shape}}%
     \expandafter\let\csname#1-cmd\endcsname\@changed@cmd
%    \end{macrocode}
% \LaTeXe\ 2018-04-01$B$G!"4{Dj$N2$J8F~NO%(%s%3!<%G%#%s%0$,(B
% UTF-8$B$K$J$j$^$7$?!#$3$l$O!"(B\file{latex.ltx}$B$,(B\file{utf8.def}$B!J=>Mh$O(B
% \LaTeX{}$B%=!<%9$K(B |\usepackage[utf8]{inputenc}| $B$H=q$$$?$H$-$K(B
% $BFI$_9~$^$l$F$$$?$b$N!K$rFI$_9~$`$3$H$G<B8=$5$l$F$$$^$9!#(B
% \file{utf8.def}$B$O(B |\DeclareFontEncoding@| $B$r:FDj5A$9$k$N$G!"(B
% $B$3$l$K9g$o$;$k$?$a$N%3!<%I$rDI2C$7$^$9!#(B
% \changes{v1.6m}{2018/03/31}{\file{utf8.def}$BM3Mh$N%3!<%I$rDI2C(B}
%    \begin{macrocode}
     \begingroup
       \wlog{Now handling font encoding #1 ...}%
       \lowercase{%
         \InputIfFileExists{#1enc.dfu}}%
            {\wlog{... processing UTF-8 mapping file for font %
                       encoding #1}}%
            {\wlog{... no UTF-8 mapping file for font encoding #1}}%
     \endgroup
%    \end{macrocode}
% $B0J2<$N(B2$B9T$,(Bp\LaTeXe{}$B$K$h$kDI2CItJ,$G$9!#(B
%    \begin{macrocode}
     \def\enc@elt{\noexpand\enc@elt}%
     \xdef\fenc@list{\fenc@list\enc@elt<#1>}%
%    \end{macrocode}
%    \begin{macrocode}
  \else
     \@font@info{Redeclaring font encoding #1}%
  \fi
  \global\@namedef{T@#1}{#2}%
  \global\@namedef{M@#1}{\default@M#3}%
  \xdef\LastDeclaredEncoding{#1}%
  }
%    \end{macrocode}
% ^^A pLaTeX2e <2018-04-01>+1$B$G$O0l;~E*$K!"$3$N>l=j$G(B
% ^^A \LaTeXe\ 2018-04-01 Patch level 2$B$GF3F~$5$l$?(B
% ^^A $B!V%3%^%s%I%i%$%s0z?t$K(BUnicode$BJ8;z$,;H$o$l$?>l9g$X$NBP=h!W(B
% ^^A $B$X$NBP:v$r<B9T$7$F$$$^$7$?$,!"(B
% ^^A pLaTeX2e <2018-04-01>+2$B$r0J$C$F!"(B\file{plvers.dtx}$BB&$,(B
% ^^A $BBP1~40N;$7$?$?$a:o=|$7$^$7$?!#(B
% \changes{v1.6o}{2018/04/08}{Delay full UTF-8 handling to \cs{everyjob}
%    (sync with ltfinal.dtx 2018/04/08 v2.1d)}
% \changes{v1.6p}{2018/04/09}{v1.6o$B$G2C$($?BP:v$r:o=|!#(B
%    $B;29M!'(Bplvers.dtx 2018/04/09 v1.1l$B$N(B\cs{everyjob}}
%    \begin{macrocode}
\fi
%</plcore|platexrelease>
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{0000/00/00}{\DeclareFontEncoding@}
%<platexrelease>                   {ASCII Corporation original}%
%<platexrelease>\def\DeclareFontEncoding@#1#2#3{%
%<platexrelease>  \expandafter
%<platexrelease>  \ifx\csname T@#1\endcsname\relax
%<platexrelease>     \def\cdp@elt{\noexpand\cdp@elt}%
%<platexrelease>     \xdef\cdp@list{\cdp@list\cdp@elt{#1}%
%<platexrelease>                    {\default@family}{\default@series}%
%<platexrelease>                    {\default@shape}}%
%<platexrelease>     \expandafter\let\csname#1-cmd\endcsname\@changed@cmd
%<platexrelease>     \def\enc@elt{\noexpand\enc@elt}%
%<platexrelease>     \xdef\fenc@list{\fenc@list\enc@elt<#1>}%
%<platexrelease>  \else
%<platexrelease>     \@font@info{Redeclaring font encoding #1}%
%<platexrelease>  \fi
%<platexrelease>  \global\@namedef{T@#1}{#2}%
%<platexrelease>  \global\@namedef{M@#1}{\default@M#3}%
%<platexrelease>  \xdef\LastDeclaredEncoding{#1}%
%<platexrelease>  }
%<platexrelease>\let\DeclareFontEncoding@saved\@undefined
%<platexrelease>\plEndIncludeInRelease
%<*plcore>
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
%
% \begin{macro}{\DeclareKanjiEncoding}
% \begin{macro}{\DeclareYokoKanjiEncoding}
% \begin{macro}{\DeclareYokoKanjiEncoding@}
% \begin{macro}{\DeclareTateKanjiEncoding}
% \begin{macro}{\DeclareTateKanjiEncoding@}
% $BOBJ8%(%s%3!<%I$N@k8@$r$9$k%3%^%s%I$G$9!#(B
% \changes{v1.3c}{1997/04/08}{$BOBJ8%(%s%3!<%I@k8@%3%^%s%I$r=DAHMQ$H2#AHMQ$G(B
%     $BJ,$1$k$h$&$K$7$?!#(B}
%    \begin{macrocode}
\def\DeclareKanjiEncoding#1{%
  \@latex@warning{%
     The \string\DeclareKanjiEncoding\space is obsoleted command.  Please use
     \MessageBreak
     the \string\DeclareTateKanjiEncoding\space for `Tate-kumi' encoding, and
     \MessageBreak
     the \string\DeclareYokoKanjiEncoding\space for `Yoko-kumi' encoding.
     \MessageBreak
     I treat the `#1' encoding as `Yoko-kumi'.}
  \DeclareYokoKanjiEncoding{#1}%
}
\def\DeclareYokoKanjiEncoding{%
  \begingroup
  \nfss@catcodes
  \expandafter\endgroup
  \DeclareYokoKanjiEncoding@}
%
\def\DeclareYokoKanjiEncoding@#1#2#3{%
  \expandafter
  \ifx\csname T@#1\endcsname\relax
    \def\cdp@elt{\noexpand\cdp@elt}%
    \xdef\cdp@list{\cdp@list\cdp@elt{#1}%
                    {\default@k@family}{\default@k@series}%
                    {\default@k@shape}}%
    \expandafter\let\csname#1-cmd\endcsname\@changed@kcmd
    \def\enc@elt{\noexpand\enc@elt}%
    \xdef\kyenc@list{\kyenc@list\enc@elt<#1>}%
    \xdef\kenc@list{\kenc@list\enc@elt<#1>}%
  \else
    \@font@info{Redeclaring KANJI (yoko) font encoding #1}%
  \fi
  \global\@namedef{T@#1}{#2}%
  \global\@namedef{M@#1}{\default@KM#3}%
  }
%
\def\DeclareTateKanjiEncoding{%
  \begingroup
  \nfss@catcodes
  \expandafter\endgroup
  \DeclareTateKanjiEncoding@}
%
\def\DeclareTateKanjiEncoding@#1#2#3{%
  \expandafter
  \ifx\csname T@#1\endcsname\relax
    \def\cdp@elt{\noexpand\cdp@elt}%
    \xdef\cdp@list{\cdp@list\cdp@elt{#1}%
                    {\default@k@family}{\default@k@series}%
                    {\default@k@shape}}%
    \expandafter\let\csname#1-cmd\endcsname\@changed@kcmd
    \def\enc@elt{\noexpand\enc@elt}%
    \xdef\ktenc@list{\ktenc@list\enc@elt<#1>}%
    \xdef\kenc@list{\kenc@list\enc@elt<#1>}%
  \else
    \@font@info{Redeclaring KANJI (tate) font encoding #1}%
  \fi
  \global\@namedef{T@#1}{#2}%
  \global\@namedef{M@#1}{\default@KM#3}%
  }
%
\@onlypreamble\DeclareKanjiEncoding
\@onlypreamble\DeclareYokoKanjiEncoding
\@onlypreamble\DeclareYokoKanjiEncoding@
\@onlypreamble\DeclareTateKanjiEncoding
\@onlypreamble\DeclareTateKanjiEncoding@
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
%
%
% \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
    \ifx\default@KT\@empty\else
      \@font@info{Overwriting KANJI encoding scheme text defaults}%
    \fi
    \gdef\default@KT{#1}%
  \fi
  \ifx\relax#2\else
    \ifx\default@KM\@empty\else
      \@font@info{Overwriting KANJI encoding scheme math defaults}%
    \fi
    \gdef\default@KM{#2}%
  \fi}
\let\default@KT\@empty
\let\default@KM\@empty
\@onlypreamble\DeclareKanjiEncodingDefaults
%    \end{macrocode}
% \end{macro}
%
%
% \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
%    \begin{macrocode}
\def\DeclareFontFamily#1#2#3{%
 \@ifundefined{T@#1}%
    {\@latex@error{Encoding scheme `#1' unknown}\@eha}%
    {\edef\tmp@item{{#2}}%
     \expandafter\expandafter\expandafter
     \inlist@\expandafter\tmp@item\expandafter{\ffam@list}%
     \ifin@ \else
        \def\fam@elt{\noexpand\fam@elt}%
        \xdef\ffam@list{\ffam@list\fam@elt<#2>}%
     \fi
     \def\reserved@a{#3}%
     \global
     \expandafter\let\csname #1+#2\expandafter\endcsname
            \ifx \reserved@a\@empty
              \@empty
            \else \reserved@a
            \fi
    }%
}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\DeclareKanjiFamily}
% $BOBJ8%U%!%_%j$r@k8@$9$k$?$a$N%3%^%s%I$G$9!#(B
%    \begin{macrocode}
\def\DeclareKanjiFamily#1#2#3{%
 \@ifundefined{T@#1}%
    {\@latex@error{KANJI Encoding scheme `#1' unknown}\@eha}%
    {\edef\tmp@item{{#2}}%
     \expandafter\expandafter\expandafter
     \inlist@\expandafter\tmp@item\expandafter{\kfam@list}%
     \ifin@ \else
        \def\fam@elt{\noexpand\fam@elt}%
        \xdef\kfam@list{\kfam@list\fam@elt<#2>}%
     \fi
     \def\reserved@a{#3}%
     \global
     \expandafter\let\csname #1+#2\expandafter\endcsname
            \ifx \reserved@a\@empty
              \@empty
            \else \reserved@a
            \fi
     }%
}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\DeclareKanjiSubstitution}
% $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
  \else
    \begingroup
       \def\reserved@a{#1}%
       \toks@{}%
       \def\cdp@elt##1##2##3##4{%
         \def\reserved@b{##1}%
         \ifx\reserved@a\reserved@b
           \addto@hook\toks@{\cdp@elt{#1}{#2}{#3}{#4}}%
         \else
           \addto@hook\toks@{\cdp@elt{##1}{##2}{##3}{##4}}%
         \fi}%
       \cdp@list
       \xdef\cdp@list{\the\toks@}%
    \endgroup
    \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)}
%    \begin{macrocode}
%</plcore>
%<platexrelease>\plIncludeInRelease{2019/10/01}{\DeclareErrorKanjiFont}
%<platexrelease>                   {No side effects please}%
%<*plcore|platexrelease>
\def\DeclareErrorKanjiFont#1#2#3#4#5{%
   \xdef\error@kfontshape{%
      \noexpand\expandafter\noexpand\split@name\noexpand\string
      \expandafter\noexpand\csname#1/#2/#3/#4/#5\endcsname
      \noexpand\@nil}%
   \gdef\default@k@family{#2}%
   \gdef\default@k@series{#3}%
   \gdef\default@k@shape{#4}%
   }
%</plcore|platexrelease>
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{0000/00/00}{\DeclareErrorKanjiFont}
%<platexrelease>                   {ASCII Corporation original}%
%<platexrelease>\def\DeclareErrorKanjiFont#1#2#3#4#5{%
%<platexrelease>   \xdef\error@kfontshape{%
%<platexrelease>      \noexpand\expandafter\noexpand\split@name\noexpand\string
%<platexrelease>      \expandafter\noexpand\csname#1/#2/#3/#4/#5\endcsname
%<platexrelease>      \noexpand\@nil}%
%<platexrelease>   \gdef\default@k@family{#2}%
%<platexrelease>   \gdef\default@k@series{#3}%
%<platexrelease>   \gdef\default@k@shape{#4}%
%<platexrelease>   \global\let\k@family\default@k@family
%<platexrelease>   \global\let\k@series\default@k@series
%<platexrelease>   \global\let\k@shape\default@k@shape
%<platexrelease>   \gdef\f@size{#5}%
%<platexrelease>   \gdef\f@baselineskip{#5pt}}
%<platexrelease>\plEndIncludeInRelease
%<*plcore>
\@onlypreamble\DeclareErrorKanjiFont
%    \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}
%    \begin{macrocode}
\def\DeclareFixedFont#1#2#3#4#5#6{%
   \begingroup
      \let\afont\font
      \math@fontsfalse
      \every@math@size{}%
      \fontsize{#6}\z@
      \edef\tmp@item{{#2}}%
      \expandafter\expandafter\expandafter
      \inlist@\expandafter\tmp@item\expandafter{\kyenc@list}%
      \ifin@
        \usekanji{#2}{#3}{#4}{#5}%
        \let\font\jfont
      \else
        \expandafter\expandafter\expandafter
        \inlist@\expandafter\tmp@item\expandafter{\ktenc@list}%
        \ifin@
          \usekanji{#2}{#3}{#4}{#5}%
          \let\font\tfont
        \else
          \useroman{#2}{#3}{#4}{#5}%
          \let\font\afont
        \fi
      \fi
      \global\expandafter\let\expandafter#1\the\font
      \let\font\afont
   \endgroup
  }
%    \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}
% \changes{v1.4}{2006/06/27}{\break\cs{reDeclareMathAlphabet}$B$r=$@5!#(B
%    $B$"$j$,$H$&!"(Bymt$B$5$s!#(B}
% \changes{v1.5}{2006/11/10}{\break\cs{reDeclareMathAlphabet}$B$r=$@5!#(B
%    $B$"$j$,$H$&!"(Bymt$B$5$s!#(B}
% $B?t<0%b!<%IFb$G!"?t<0J8;zMQ$NOB2$J8%U%)%s%H$rF1;~$K@Z$jBX$($k%3%^%s%I$G$9!#(B
%
% p\LaTeXe{}$B$K$O!"K\Mh$NF0:n%b!<%I$H(B2.09$B8_49%b!<%I$NFs$D$,$"$j!"(B
% $BN>%b!<%I$G?t<0J8;z$rJQ99$9$k%3%^%s%I$dF0:n$,0[$J$j$^$9!#(B
% $BK\Mh$NF0:n%b!<%I$G$O!"(B|\mathrm{...}|$B$N$h$&$K(B|\math??|$B$K0z?t$r;XDj$7$F(B
% $B;H$$$^$9!#$3$N$H$-$O0z?t$K$@$11F6A$7$^$9!#(B2.09$B8_49%b!<%I$G$O!"(B|\rm|$B$N(B
% $B$h$&$JFsJ8;z%3%^%s%I$r;H$$$^$9!#$3$N%3%^%s%I$K$O0z?t$r<h$i$:!"=qBN$O(B
% $B%0%k!<%T%s%0$NHO0O$GH?1G$5$l$^$9!#FsJ8;z%3%^%s%I$O!"%M%$%F%#%V%b!<%I(B
% $B$G$b;H$($k$h$&$K$J$C$F$$$F!"F0:n$b(B2.09$B8_49%b!<%I$N%3%^%s%I$HF1$8$G$9!#(B
%
% $B$7$+$7!"FbItE*$K$O(B|\math??|$B$H$$$&0l$D$N%3%^%s%I$,$9$Y$F$NF0:n$r<u$1;}$A!"(B
% |\math??|$B%3%^%s%I$d(B|\??|$B%3%^%s%I$+$i8F$S=P$5$l$?>uBV$K1~$8$F!"F0:n$rJQ$((B
% $B$F$$$^$9!#$7$?$,$C$F!"2$J8%U%)%s%H$HOBJ8%U%)%s%H$NN>J}$r0lEY$KJQ99$9$k!"(B
% $B?t<0J8;zJQ99%3%^%s%I$r:n$k$H$-!"$=$l$>$l$N>uBV$K9g$C$?F0:n$GF0$/$h$&$K(B
% $B%U%)%s%H@Z$jBX$(%3%^%s%I$r<B9T$5$;$kI,MW$,$"$j$^$9!#(B
%
%   \textbf{$B;H$$J}(B}
%\begin{verbatim}
% usage: \reDeclareMathAlphabet{\mathAA}{\mathBB}{\mathCC}
%\end{verbatim}
%   $B2$J8!&OBJ8N>MQ$N?t<0J8;zJQ99%3%^%s%I(B |\mathAA| $B$r(B($B:F(B)$BDj5A$7$^$9!#(B
%   $B2$J8MQ$N%3%^%s%I(B |\mathBB| $B$H!"OBJ8MQ$N(B |\mathCC| $B$r(B (p)\LaTeX{} $BI8=`$N(B
%   $BJ}K!$GDj5A$7$F$*$$$?8e!">e$N$h$&$K5-=R$7$^$9!#$J$*!"(B|{\mathBB}{\mathCC}|
%   $B$NItJ,$K$D$$$F$O(B |{\@mathBB}{\@mathCC}| $B$N$h$&$K(B @ $B$r$D$1$?5-=R(B
%   $B$r$7$F$b$+$^$$$^$;$s(B($B8_49@-$N$?$a(B)$B!#>e$N$h$&$JL?Na$rH/9T$9$k$H!"(B
%   |\mathAA| $B$,!"2$J8$KBP$7$F$O(B |\mathBB|$B!"(B $BOBJ8$KBP$7$F$O(B |\mathCC| $B$N0UL#$r(B
%   $B;}$D$h$&$K$J$j$^$9!#(B
%   $BDL>o$O!"(B|\reDeclareMathAlphabet{\mathrm}{\mathrm}{\mathmc}| $B$N$h$&$K(B
%   |AA=BB| $B$H$7$FMQ$$$^$9!#$^$?!"(B|\mathrm| $B$O(B \LaTeX{} kernel $B$K$*$$$F(B
%   $BI8=`$N%3%^%s%I$H$7$F4{$KDj5A$5$l$F$$$k$N$G!"$3$N>l9g$O(B |\mathrm| $B$N(B
%   $B:FDj5A$H$J$j$^$9!#(Bnative mode $B$G$N(B |\rm| $B$N$h$&$J(B two letter command
%   (old font command) $B$KBP$7$F$bF1MM$J$3$H$,0z$-$*$3$j$^$9!#$D$^$j!"(B
%   $B?t<0%b!<%I$K$*$$$F!"?7$?$J(B |\rm| $B$O!"(B\LaTeX{} original $B$N(B |\rm| $B$H(B |\mc|
%   ($B@53N$K8@$($P(B |\mathrm| $B$H(B |\mathmc| $B$G$"$k$,(B)$B$N0UL#$r9g$o$;;}$D$h$&$K(B
%   $B$J$j$^$9!#(B
%
%   \textbf{$BJdB-(B}
% \begin{itemize}
% \item
%   |\mathAA| $B$r:FDj5A$9$kB>$NL?Na(B(|\DeclareSymbolFontAlphabet| $B$rMQ$$$k(B
%     $B%Q%C%1!<%8$N;HMQEy(B)$B$H$N>WFM$rHr$1$k$?$a$K$O!"(B|\AtBeginDocument| $B$rJ;MQ(B
%     $B$9$k$J$I$7$FE83+0LCV$N@)8f$r9T$C$F$/$@$5$$!#(B
% \item
%   $B%F%-%9%H%b!<%I;~$N%(%i!<I=<(MQ$K(B |\mathBB| $B$N$_$rMQ$$$k$3$H$r=|$$$F!"(B
%     |\mathBB| $B$H(B |\mathCC| $B$N=g$O<B:]$K$O0UL#$r;}$A$^$;$s!#OBJ8!"2$J8$N=g$K(B
%     $BDj5A$7$F$bLdBj$O$"$j$^$;$s!#(B
% \item
%   $BBh(B2,3$B0z$-?t$K$O(B |{\@mathBB}{\@mathCC}| $B$N$h$&$K(B |@| $B$r$D$1$?5-=R$b(B
%     $B9T$($^$9!#$?$@$7!"7A<0$OE}0l$7$F$/$@$5$$!#H=CG$OBh(B2$B0z$-?t$G9T$C$F(B
%     $B$$$k$?$a!"(B |{\@mathBB}{\mathCC}| $B$N$h$&$J5-=R$G$O$&$^$/F0:n$7$^$;$s!#(B
%     $B$^$?!"(B|\makeatletter| $B$J>uBV$G(B |{\@mathBB }{\@mathCC  }| $B$N$h$&$J(B |@| $B$H(B
%     $BM>J,$J%9%Z!<%9$r$D$1$?>l9g$K$OL58B%k!<%W$r0z$-5/$3$9$3$H$,$"$j$^$9!#(B
%     $B$3$N$h$&$J5-=R$OHr$1$k$h$&$K$7$F2<$5$$!#(B
% \item
%   |\reDeclareMathAlphabet| $B$r<B9T$9$k:]$K$O!"(B|\mathBB|, |\mathCC| $B$,Dj5A(B
%     $B$5$l$F$$$kI,MW$O$"$j$^$;$s!#<B:]$K(B |\mathAA| $B$rMQ$$$k:]$K$O$3$l$i$N(B
%     |\mathBB|, |\mathCC| $B$,(B (p)\LaTeX{}$BI8=`$NJ}K!$GDj5A$5$l$F$$$kI,MW$,$"$j$^$9!#(B
% \item
%   $BB>$NItJ,$G(B |\mathAA| $B$rA4$/Dj5A$7$J$$>l9g$r=|$-!"(B|\mathAA| $B$O(B
%     |\reDeclareMathAlphabet| $B$r<B9T$9$k0JA0$G(B (p)\LaTeX{}$BI8=`$NJ}K!$GDj5A$5$l(B
%     $B$F$$$kI,MW$,$"$j$^$9(B(|\mathrm| $B$d(B |\mathbf| $B$NI8=`E*$J%3%^%s%I$O!"(B
%     \LaTeX{} kernel $B$G4{$KDj5A$5$l$F$$$^$9(B)$B!#(B
%     |\DeclareMathAlphabet| $B$N>l9g$K$O!"(B|\reDeclareMathAlphabet| $B$h$j$bA0$G(B1$BEY(B
%     |\mathAA| $B$rDj5A$7$F$"$l$P!"(B|\reDeclareMathAlphabet| $B$N8e$m$G:FEY(B
%     |\DeclareMathAlphabet| $B$rMQ$$$F(B |\mathAA| $B$NFbIt$NDj5AFbMF$rJQ99$9$k$3$H(B
%     $B$K$OLdBj$"$j$^$;$s!#(B
%     |\DeclareSymbolFontAlphabet| $B$N>l9g!":FDj5A$K$*$$$F$b(B |\mathAA| $B$,D>@\(B
%     $BDj5A$5$l$k$N$G!"(B|\mathAA| $B$KBP$9$k:G8e$N(B |\DeclareSymbolFontAlphabet| $B$N(B
%     $B$5$i$K8e$G(B |\reDeclareMathAlphabet| $B$r<B9T$7$J$1$l$PM-8z$H$O$J$j$^$;$s!#(B
% \item
%   |\documentstyle| $B$N8_49%b!<%I$N>l9g!"(B|\rm| $BEy$N(B two letter command
%     (old font command) $B$O!"(B|\reDeclareMathAlphabet| $B$H$O4XO"$9$k$3$H$N$J$$(B
%     $BJL8D$N%3%^%s%I$H$7$FDj5A$5$l$^$9!#=>$C$F!"$3$N>l9g$K$O(B
%     |\reDeclareMathAlphabet| $B$rMQ$$$F$b(B |\rm| $BEy$O?t<0%b!<%I$K$*$$$F(B
%     $B2$J8!&OBJ8N>MQ$N$b$N$H$O$J$j$^$;$s!#(B
% \end{itemize}
%    \begin{macrocode}
\def\reDeclareMathAlphabet#1#2#3{%
  \edef#1{\noexpand\protect\expandafter\noexpand\csname%
    \expandafter\@gobble\string#1\space\space\endcsname}%
  \edef\@tempa{\expandafter\@gobble\string#2}%
  \edef\@tempb{\expandafter\@gobble\string#3}%
  \edef\@tempc{\string @\expandafter\@gobbletwo\string#2}%
  \ifx\@tempc\@tempa%
    \edef\@tempa{\expandafter\@gobbletwo\string#2}%
    \edef\@tempb{\expandafter\@gobbletwo\string#3}%
  \fi
  \expandafter\edef\csname\expandafter\@gobble\string#1\space\space\endcsname%
    {\noexpand\DualLang@mathalph@bet%
      {\expandafter\noexpand\csname\@tempa\space\endcsname}%
      {\expandafter\noexpand\csname\@tempb\space\endcsname}%
  }%
}
\@onlypreamble\reDeclareMathAlphabet
\def\DualLang@mathalph@bet#1#2{%
  \relax\ifmmode
    \ifx\math@bgroup\bgroup%     2e normal style     (\mathrm{...})
      \bgroup\let\DualLang@Mfontsw\DLMfontsw@standard
    \else
      \ifx\math@bgroup\relax%    2e two letter style (\rm->\mathrm)
        \let\DualLang@Mfontsw\DLMfontsw@oldstyle
      \else
        \ifx\math@bgroup\@empty% 2.09 oldlfont style ({\mathrm ...})
          \let\DualLang@Mfontsw\DLMfontsw@oldlfont
        \else%                   panic! assume 2e normal style
          \bgroup\let\DualLang@Mfontsw\DLMfontsw@standard
        \fi
      \fi
    \fi
  \else
    \let\DualLang@Mfontsw\@firstoftwo
  \fi
  \DualLang@Mfontsw{#1}{#2}%
}
\def\DLMfontsw@standard#1#2#3{#1{#2{#3}}\egroup}
\def\DLMfontsw@oldstyle#1#2{#1\relax\@fontswitch\relax{#2}}
\def\DLMfontsw@oldlfont#1#2{#1\relax#2\relax}
%    \end{macrocode}
% \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
% $B$"$kOBJ8=qBN$H%Z%"$K$J$k2$J8=qBN$N$3$H$G$9!#(B
% $B<g$KB?=qBN%Q%C%1!<%8(B|skfonts|$B$rMQ$$$k$?$a$N;EAH$_$G$9!#(B
%
% |\DeclareRelationFont|$B%3%^%s%I$N:G=i$N(B4$B$D$N0z?t$NAH$,OBJ8=qBN$NB0@-!"(B
% $B$=$N8e$N(B4$B$D$N0z?t$NAH$,=>B0=qBN$NB0@-$G$9!#(B
%\begin{verbatim}
%    \DeclareRelationFont{JY1}{mc}{m}{n}{OT1}{cmr}{m}{n}
%    \DeclareRelationFont{JY1}{gt}{m}{n}{OT1}{cmr}{bx}{n}
%\end{verbatim}
% $B>e5-$NNc$O!"L@D+BN$N=>B0=qBN$H$7$F%3%s%T%e!<%?%b%@%s%m!<%^%s!"(B
% $B%4%7%C%/BN$N=>B0=qBN$H$7$F%3%s%T%e!<%?%b%@%s%\!<%k%I$r@k8@$7$F$$$^$9!#(B
% $B%+%l%s%HOBJ8=qBN$,(B|\JY1/mc/m/n|$B$H$J$k$H!"(B
% $B<+F0E*$K2$J8=qBN$,(B|\OT1/cmr/m/n|$B$K$J$j$^$9!#(B
% $B$^$?!"OBJ8=qBN$,(B|\JY1/gt/m/n|$B$K$J$C$?$H$-$O!"(B
% $B2$J8=qBN$,(B|\OT1/cmr/bx/n|$B$K$J$j$^$9!#(B
%
% $BOBJ8=qBN$N%7%'%$%W;XDj$r>JN,$9$k$H%(%s%3!<%I!?%U%!%_%j!?%7%j!<%:$NAH9g$;$G(B
% $B=>B0=qBN$,;H$o$l$^$9!#$3$N$H$-$O!"(B|\selectfont|$B$,8F$S=P$5$l$?;~E@$G$N(B
% $B%7%'%$%W!J(B|\f@shape|$B!K$NCM$,;H$o$l$^$9!#(B
%
% |\DeclareRelationFont|$B$N@_DjCM$O%0%m!<%P%k$KM-8z$G$9!#(B
% |\SetRelationFont|$B$N@_DjCM$O%m!<%+%k$KM-8z$G$9!#(B
% $B%U%)%s%HDj5A%U%!%$%k$G@k8@$r$9$k>l9g$O!"(B
% |\DeclareRelationFont|$B$r;H$C$F$/$@$5$$!#(B
%    \begin{macrocode}
\def\all@shape{all}%
\def\DeclareRelationFont#1#2#3#4#5#6#7#8{%
  \def\rel@shape{#4}%
  \ifx\rel@shape\@empty
     \global
     \expandafter\def\csname rel@#1/#2/#3/all\endcsname{%
       \romanencoding{#5}\romanfamily{#6}%
       \romanseries{#7}}%
  \else
     \global
     \expandafter\def\csname rel@#1/#2/#3/#4\endcsname{%
       \romanencoding{#5}\romanfamily{#6}%
       \romanseries{#7}\romanshape{#8}}%
  \fi
}
\def\SetRelationFont#1#2#3#4#5#6#7#8{%
  \def\rel@shape{#4}%
  \ifx\rel@shape\@empty
     \expandafter\def\csname rel@#1/#2/#3/all\endcsname{%
       \romanencoding{#5}\romanfamily{#6}%
       \romanseries{#7}}%
  \else
     \expandafter\def\csname rel@#1/#2/#3/#4\endcsname{%
       \romanencoding{#5}\romanfamily{#6}%
       \romanseries{#7}\romanshape{#8}}%
  \fi
}
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
%
% \begin{macro}{\if@knjcmd}
% |\if@knjcmd|$B$O2$J8=qBN$r=>B0=qBN$K$9$k$+$I$&$+$N%U%i%0$G$9!#(B
% $B$3$N%U%i%0$,??$K$J$k$H!"2$J8=qBN$K=>B0=qBN$,;H$o$l$^$9!#(B
%    \begin{macrocode}
\newif\if@knjcmd
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\userelfont}
% |\if@knjcmd|$B%U%i%0$O(B|\userelfont|$B%3%^%s%I$K$h$C$F!"(B\emph{$B??(B}$B$H$J$j$^$9!#(B
% $B$=$7$F(B|\selectfont|$B<B9T8e$K$O(B\emph{$B56(B}$B$K=i4|2=$5$l$^$9!#(B
% \changes{v1.6u}{2019/09/29}{Make \cs{userelfont} robust}
%    \begin{macrocode}
%</plcore>
%<platexrelease>\plIncludeInRelease{2019/10/01}{\userelfont}
%<platexrelease>                   {Make robust}%
%<*plcore|platexrelease>
\DeclareRobustCommand\userelfont{\@knjcmdtrue}
%</plcore|platexrelease>
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{0000/00/00}{\userelfont}
%<platexrelease>                   {ASCII Corporation original}%
%<platexrelease>\def\userelfont{\@knjcmdtrue}
%<platexrelease>\expandafter \let \csname userelfont \endcsname \@undefined
%<platexrelease>\plEndIncludeInRelease
%<*plcore>
%    \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(B3$BE@$G$9!#(B
% \begin{itemize}
% \item $BOBJ8=qBN$rJQ99$9$kItJ,(B
% \item $B=>B0=qBN$KJQ99$9$kItJ,(B
% \item $BOB2$J8$N%Y!<%9%i%$%s$rD4@0$9$kItJ,(B
% \end{itemize}
%
% \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}
%    \begin{macrocode}
%</plcore>
%<platexrelease|trace>\plIncludeInRelease{2020/04/12}{\selectfont}
%<platexrelease|trace>                   {Check \KanjiEncodingPair}%
%<*plcore|platexrelease|trace>
\ifx\delayed@f@adjustment\@undefined % --- for <= 2020-10-01 BEGIN
%%
\DeclareRobustCommand\selectfont{%
  \let\tmp@error@fontshape\error@fontshape
  \let\error@fontshape\error@kfontshape
  \edef\tmp@item{{\k@encoding}}%
  \expandafter\expandafter\expandafter
  \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
    \fi
  \fi
  \let\font\tfont
  \let\k@encoding\ct@encoding
  \xdef\font@name{\csname\curr@kfontshape/\f@size\endcsname}%
  \pickup@font
  \font@name
  \let\font\jfont
  \let\k@encoding\cy@encoding
  \xdef\font@name{\csname\curr@kfontshape/\f@size\endcsname}%
  \pickup@font
  \font@name
  \expandafter\def\expandafter\k@encoding\tmp@item
  \kenc@update
  \let\error@fontshape\tmp@error@fontshape
  \if@knjcmd \@knjcmdfalse
    \expandafter\ifx
    \csname rel@\k@encoding/\k@family/\k@series/\k@shape\endcsname\relax
      \expandafter\ifx
         \csname rel@\k@encoding/\k@family/\k@series/all\endcsname\relax
      \else
         \csname rel@\k@encoding/\k@family/\k@series/all\endcsname
      \fi
    \else
       \csname rel@\k@encoding/\k@family/\k@series/\k@shape\endcsname
    \fi
  \fi
  \let\font\afont
  \xdef\font@name{\csname\curr@fontshape/\f@size\endcsname}%
  \pickup@font
  \font@name
%<trace>  \ifnum \tracingfonts>\tw@
%<trace>    \@font@info{Roman:Switching to \font@name}\fi
  \enc@update
  \ifx\f@linespread\baselinestretch \else
    \set@fontsize\baselinestretch\f@size\f@baselineskip
  \fi
  \size@update}
%%
\else        % --- for <= 2020-10-01 END & for >= 2021-06-01 BEGIN
%%
\DeclareRobustCommand\selectfont{%
%    \end{macrocode}
% $B:G=i$KOBJ8$N=hM}$r40N;$5$;$F$+$i!"2$J8!J=>B02$J8$+$b$7$l$^$;$s!K$N(B
% $B=hM}$KF~$kI,MW$,$"$j$^$9!#$=$l$>$l$G!VCY$i$;$F$$$?%7%j!<%:!&%7%'%$%W$N(B
% $BCM99?7"*%U%)%s%H$N@Z$jBX$(!W$r9T$$$^$9!#(B
% \changes{v1.7k}{2021/01/10}{Execute delayed series and shape updates (latex2e/444)
%    (sync with ltfsstrc.dtx 2020/12/22 v3.0n)}
% \changes{v1.7l}{2021/05/23}{Unset the forced series boolean when reaching
%    \cs{selectfont} (latex2e/444)
%    (sync with ltfsstrc.dtx 2021/04/26 v3.0o)}
%
% $BOBJ8!'CY$i$;$F$$$?%7%j!<%:!&%7%'%$%W$NCM99?7!#(B
%    \begin{macrocode}
  % !! sync with ltfsstrc.dtx 2021/04/26 v3.0o BEGIN
  \ifx\delayed@k@adjustment\@empty
  \else
    \let\k@shape@saved\k@shape
    \let\k@series@saved\k@series
    \delayed@k@adjustment
    \begingroup\let\f@encoding\k@encoding\let\f@family\k@family
      \maybe@load@fontshape\endgroup
    \ifcsname \k@encoding/\k@family/\k@series/\k@shape \endcsname
    \else
      \let\k@shape\k@shape@saved
      \let\k@series\k@series@saved
      \let\delayed@merge@kanji@shape\merge@kanji@shape
      \let\delayed@merge@kanji@series\merge@kanji@series
      \delayed@k@adjustment
      \let\delayed@merge@kanji@shape\merge@kanji@shape@without@substitution
      \let\delayed@merge@kanji@series\merge@kanji@series@without@substitution
    \fi
    \let\delayed@k@adjustment\@empty
  \fi
  \@forced@series@kanjifalse
  % !! sync with ltfsstrc.dtx 2021/04/26 v3.0o END
%    \end{macrocode}
% $BOBJ8!'%U%)%s%H$N@Z$jBX$(!#(B
%    \begin{macrocode}
  \let\tmp@error@fontshape\error@fontshape
  \let\error@fontshape\error@kfontshape
  \edef\tmp@item{{\k@encoding}}%
  \expandafter\expandafter\expandafter
  \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
    \fi
  \fi
  \let\font\tfont
  \let\k@encoding\ct@encoding
  \xdef\font@name{\csname\curr@kfontshape/\f@size\endcsname}%
  \pickup@font
  \font@name
  \let\font\jfont
  \let\k@encoding\cy@encoding
  \xdef\font@name{\csname\curr@kfontshape/\f@size\endcsname}%
  \pickup@font
  \font@name
  \expandafter\def\expandafter\k@encoding\tmp@item
  \kenc@update
  \let\error@fontshape\tmp@error@fontshape
%    \end{macrocode}
% $B0J>e$G!"OBJ8$N=hM}$,40N;!#(B
%
% $B=>B02$J8$r;H$&!J(B|\if@knjcmd|$B$,??$N!K>l9g$O!"OBJ8=qBN$,3NDj$7$?(B
% $B$3$NCJ3,$G!V4XO"IU$1$5$l$?2$J8=qBN!W$KCM$r99?7$7$^$9!#(B
% |\rel@../../../..| $B$G(B |\romanseries| $B$H(B |\romanshape| $B$,<B9T(B
% $B$5$l$k!J$9$J$o$A(B |\delayed@f@adjustment| $B$KDI2C$,F~$k!K$3$H$K(B
% $BCm0U$7$F$/$@$5$$!#(B
% $B$J$*!"(B|\if@knjcmd|$B%U%i%0$O(B|\userelfont|$B%3%^%s%I$K$h$C$F(B
% \emph{$B??(B}$B$H$J$j!"0J2<$G:F$S(B\emph{$B56(B}$B$K%j%;%C%H$5$l$^$9!#(B
% \changes{v1.7n}{2021/06/27}{$B=>B02$J8$N%7%j!<%:$H%7%'!<%W99?7$r(B
%    $BH?1G$9$k$h$&$K=$@5(B}
%    \begin{macrocode}
  \if@knjcmd \@knjcmdfalse
    \expandafter\ifx
    \csname rel@\k@encoding/\k@family/\k@series/\k@shape\endcsname\relax
      \expandafter\ifx
         \csname rel@\k@encoding/\k@family/\k@series/all\endcsname\relax
      \else
         \csname rel@\k@encoding/\k@family/\k@series/all\endcsname
      \fi
    \else
       \csname rel@\k@encoding/\k@family/\k@series/\k@shape\endcsname
    \fi
  \fi
%    \end{macrocode}
% $B2$J8!'CY$i$;$F$$$?%7%j!<%:!&%7%'%$%W$NCM99?7!#(B
%    \begin{macrocode}
  % !! sync with ltfsstrc.dtx 2021/04/26 v3.0o BEGIN
  \ifx\delayed@f@adjustment\@empty
  \else
    \let\f@shape@saved\f@shape
    \let\f@series@saved\f@series
    \delayed@f@adjustment
    \maybe@load@fontshape
    \ifcsname \f@encoding/\f@family/\f@series/\f@shape \endcsname
    \else
      \let\f@shape\f@shape@saved
      \let\f@series\f@series@saved
      \let\delayed@merge@font@shape\merge@font@shape
      \let\delayed@merge@font@series\merge@font@series
      \delayed@f@adjustment
      \let\delayed@merge@font@shape\merge@font@shape@without@substitution
      \let\delayed@merge@font@series\merge@font@series@without@substitution
    \fi
    \let\delayed@f@adjustment\@empty
  \fi
  \@forced@seriesfalse
  % !! sync with ltfsstrc.dtx 2021/04/26 v3.0o END
%    \end{macrocode}
% $B2$J8!'%U%)%s%H$N@Z$jBX$(!#(B
%    \begin{macrocode}
  \let\font\afont
  \xdef\font@name{\csname\curr@fontshape/\f@size\endcsname}%
  \pickup@font
  \font@name
  \UseHook{selectfont}% since LaTeX2e 2021-06-01
  \enc@update
%    \end{macrocode}
% $B:G8e$K!"%5%$%:$,JQ99$5$l$F$$$l$P!"%Y!<%9%i%$%s$ND4@0$J$I$r9T$J$$$^$9!#(B
% $B1Q8lHG$N(B|\selectfont|$B$G$O:G=i$K9T$J$C$F$$$^$9$,!"(B
% p\LaTeXe{}$B$G$O%Y!<%9%i%$%s%7%U%H$ND4@0$r$9$k$?$a$K!"(B
% $B=qBN$r3NDj$7$J$1$l$P$J$i$J$$$?$a!"0lHV:G8e$K9T$J$$$^$9(B
% \changes{v1.1b}{1995/04/26}{$B%Y!<%9%i%$%s$ND4@0$r%5%$%:JQ99;~$K(B
%       $B9T$J$&$h$&$K$7$?(B}
%    \begin{macrocode}
  \ifx\f@linespread\baselinestretch \else
    \set@fontsize\baselinestretch\f@size\f@baselineskip
  \fi
  \size@update}
%%
\fi          % --- for >= 2021-06-01 END
%</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}
%
% \begin{macro}{\set@fontsize}
% |\fontsize|$B%3%^%s%I$NFbIt7A<0$G$9!#(B
% $B%Y!<%9%i%$%s$N@_Dj$H!";YCl$N@_Dj$r9T$J$$$^$9!#(B
%    \begin{macrocode}
%</plcore>
%<platexrelease|trace>\plIncludeInRelease{2017/04/08}{\set@fontsize}
%<platexrelease|trace>                   {Construct \ystrutbox}%
%<*plcore|platexrelease|trace>
\def\set@fontsize#1#2#3{%
    \@defaultunits\@tempdimb#2pt\relax\@nnil
    \edef\f@size{\strip@pt\@tempdimb}%
    \@defaultunits\@tempskipa#3pt\relax\@nnil
    \edef\f@baselineskip{\the\@tempskipa}%
    \edef\f@linespread{#1}%
    \let\baselinestretch\f@linespread
    \def\size@update{%
      \baselineskip\f@baselineskip\relax
      \baselineskip\f@linespread\baselineskip
      \normalbaselineskip\baselineskip
%    \end{macrocode}
% $B$3$3$G!"%Y!<%9%i%$%s%7%U%H$ND4@0$H;YCl$rAH$_N)$F$^$9!#(B
% \changes{v1.6f}{2017/02/20}{\cs{ystrutbox}$B$rAH$_N)$F$k$h$&$K(B}
%    \begin{macrocode}
      \adjustbaseline
      \setbox\ystrutbox\hbox{\yoko
          \vrule\@width\z@
                \@height.7\baselineskip \@depth.3\baselineskip}%
      \setbox\tstrutbox\hbox{\tate
          \vrule\@width\z@
                \@height.5\baselineskip \@depth.5\baselineskip}%
      \setbox\zstrutbox\hbox{\tate
          \vrule\@width\z@
                \@height.7\baselineskip \@depth.3\baselineskip}%
%    \end{macrocode}
% $B%U%)%s%H%5%$%:$H%Y!<%9%i%$%s$K4X$9$k?GCG>pJs$r=PNO$7$^$9!#(B
%    \begin{macrocode}
%<*trace>
    \ifnum \tracingfonts>\tw@
      \ifx\f@linespread\@empty
        \let\reserved@a\@empty
      \else
        \def\reserved@a{\f@linespread x}%
      \fi
      \@font@info{Changing size to\space
            \f@size/\reserved@a \f@baselineskip}%
      \aftergroup\type@restoreinfo
    \fi
%</trace>
        \let\size@update\relax}}
%</plcore|platexrelease|trace>
%<platexrelease|trace>\plEndIncludeInRelease
%<platexrelease|trace>\plIncludeInRelease{0000/00/00}{\set@fontsize}
%<platexrelease|trace>                   {ASCII Corporation original}%
%<platexrelease|trace>\def\set@fontsize#1#2#3{%
%<platexrelease|trace>    \@defaultunits\@tempdimb#2pt\relax\@nnil
%<platexrelease|trace>    \edef\f@size{\strip@pt\@tempdimb}%
%<platexrelease|trace>    \@defaultunits\@tempskipa#3pt\relax\@nnil
%<platexrelease|trace>    \edef\f@baselineskip{\the\@tempskipa}%
%<platexrelease|trace>    \edef\f@linespread{#1}%
%<platexrelease|trace>    \let\baselinestretch\f@linespread
%<platexrelease|trace>    \def\size@update{%
%<platexrelease|trace>      \baselineskip\f@baselineskip\relax
%<platexrelease|trace>      \baselineskip\f@linespread\baselineskip
%<platexrelease|trace>      \normalbaselineskip\baselineskip
%<platexrelease|trace>      \adjustbaseline
%<platexrelease|trace>      \setbox\strutbox\hbox{\yoko
%<platexrelease|trace>          \vrule\@width\z@
%<platexrelease|trace>                \@height.7\baselineskip \@depth.3\baselineskip}%
%<platexrelease|trace>      \setbox\tstrutbox\hbox{\tate
%<platexrelease|trace>          \vrule\@width\z@
%<platexrelease|trace>                \@height.5\baselineskip \@depth.5\baselineskip}%
%<platexrelease|trace>      \setbox\zstrutbox\hbox{\tate
%<platexrelease|trace>          \vrule\@width\z@
%<platexrelease|trace>                \@height.7\baselineskip \@depth.3\baselineskip}%
%<*trace>
%<platexrelease|trace>    \ifnum \tracingfonts>\tw@
%<platexrelease|trace>      \ifx\f@linespread\@empty
%<platexrelease|trace>        \let\reserved@a\@empty
%<platexrelease|trace>      \else
%<platexrelease|trace>        \def\reserved@a{\f@linespread x}%
%<platexrelease|trace>      \fi
%<platexrelease|trace>      \@font@info{Changing size to\space
%<platexrelease|trace>            \f@size/\reserved@a \f@baselineskip}%
%<platexrelease|trace>      \aftergroup\type@restoreinfo
%<platexrelease|trace>    \fi
%</trace>
%<platexrelease|trace>        \let\size@update\relax}}
%<platexrelease|trace>\plEndIncludeInRelease
%<*plcore>
%    \end{macrocode}
% \end{macro}
%
%
% \begin{macro}{\adjustbaseline}
% $B8=:_$NOBJ8%U%)%s%H$N6uGr!J(BEUC$B%3!<%I(B\texttt{0xA1A1}$B!K$NCf1{$K(B
% $B8=:_$N2$J8%U%)%s%H$N(B``/''$B$NCf1{$,$/$k$h$&$K%Y!<%9%i%$%s%7%U%H$r@_Dj$7$^$9!#(B
% \changes{v1.0c}{1995/08/31}{$B2$J8=qBN$N4p=`$r(B`M'$B$+$i(B`/'$B$KJQ99(B}
% \changes{v1.2}{1995/11/21}{$B=DAH;~$N$_D4@0$9$k$h$&$K$7$?(B}
%
% $BEv=i$O$^$:%Y!<%9%i%$%s%7%U%HNL$r%<%m$K$7$F$$$^$7$?$,!"(B
% \cs{tbaselineshift}$B$rO"B3$7$FJQ99$7$?8e$K3C3g8LN`$r;H$&$HM>7W$J%"%-$,(B
% $B$G$kLdBj$,5/$3$k$?$a!"(B\cs{tbaselineshift}$B$r%<%m%/%j%"$9$k=hM}$r:o=|$7(B
% $B$^$7$?!#(B
% \changes{v1.3j}{2000/10/24}{$BJ8F,$K3C3g8L$J$I$,$"$k$H$-$KM>7W$J%"%-$,$G(B
%    $B$kLdBj$KBP=h(B}
%
% $B$7$+$7!"$=$l$G$O%Y!<%9%i%$%s%7%U%H$rD4@0:Q$_$N2$J8%\%C%/%9$HHf3S$7$F(B
% $B$7$^$&$?$a!"7W;;$7$?CM$,Bg$-$/$J$C$F$7$^$$$^$9!#$=$3$G!"$3$N%\%C%/%9(B
% $B$NCf$G%<%m$K$9$k$h$&$K$7$^$7$?!#$^$?!"(B``/''$B$HHf3S$7$F$$$?$N$r(B``M''$B$K(B 
% $B$7$^$7$?!#(B
% \changes{v1.3k}{2001/05/10}{$B2$J8=qBN$N4p=`$r:F$S(B`/`$B$+$i(B`M'$B$KJQ99(B}
% \changes{v1.3l}{2002/04/05}{\cs{adjustbaseline}$B$G%U%)%s%H$N4p=`CM$,=D=q$-(B
%    $B0J30$G$O@_Dj$5$l$J$$$N$r=$@5(B}
%
% $BA43Q6uGr!J(BEUC$B%3!<%I(B\texttt{0xA1A1}$B!K$O(BJFM$B$GFC<l$J%?%$%W$KJ,N`$5$l$k2DG=@-(B
% $B$,$"$k$?$a!"OBJ8=qBN$N4p=`$r!V4A!W!J(BJIS$B%3!<%I(B\texttt{0x3441}$B!K$XJQ99$7$^$7$?!#(B
% \changes{v1.6h}{2017/08/05}{$BOBJ8=qBN$N4p=`$rA43Q6uGr$+$i!V4A!W$KJQ99(B}
% \changes{v1.6u}{2019/09/29}{Make \cs{adjustbaseline} robust}
%    \begin{macrocode}
\newbox\adjust@box
\newdimen\adjust@dimen
%    \end{macrocode}
%
%    \begin{macrocode}
%</plcore>
%<platexrelease|trace>\plIncludeInRelease{2019/10/01}{\adjustbaseline}
%<platexrelease|trace>                   {Make robust}%
%<*plcore|platexrelease|trace>
\DeclareRobustCommand\adjustbaseline{%
%    \end{macrocode}
% $BOBJ8%U%)%s%H$N4p=`CM$r@_Dj$7$^$9!#(B
%    \begin{macrocode}
    \setbox\adjust@box\hbox{\char\jis"3441}%"
    \cht\ht\adjust@box
    \cdp\dp\adjust@box
    \cwd\wd\adjust@box
    \cvs\normalbaselineskip
    \chs\cwd
    \cHT\cht \advance\cHT\cdp
%    \end{macrocode}
% $B4p=`$H$J$k2$J8%U%)%s%H$NJ8;z$r4^$s$@%\%C%/%9$r:n@.$7!"(B
% $B%Y!<%9%i%$%s%7%U%HNL$N7W;;$r9T$J$$$^$9!#(B
% $B7W;;<0$O<!$N$H$*$j$G$9!#(B
%
% \begin{eqnarray*}
% \textmc{$B%Y!<%9%i%$%s%7%U%HNL(B} &=&
%   \{ (\textmc{$B4A$N?<$5(B}) - (\textmc{M$B$N?<$5(B}) \} \\
%       &&- \frac{(\textmc{$B4A$N9b$5(B$+$$B?<$5(B})
%              - (\textmc{M$B$N9b$5(B$+$$B?<$5(B})}{2}
% \end{eqnarray*}
% \changes{v1.6h}{2017/08/05}{trace$B$N%3!<%I$N(B\texttt{\%}$BK:$l$r=$@5(B}
%
%    \begin{macrocode}
  \iftdir
    \setbox\adjust@box\hbox{\tbaselineshift\z@ M}%
    \adjust@dimen\ht\adjust@box
    \advance\adjust@dimen\dp\adjust@box
    \advance\adjust@dimen-\cHT
    \divide\adjust@dimen\tw@
    \advance\adjust@dimen\cdp
    \advance\adjust@dimen-\dp\adjust@box
    \tbaselineshift\adjust@dimen
%<trace>    \ifnum \tracingfonts>\tw@
%<trace>      \typeout{baselineshift:\the\tbaselineshift}%
%<trace>    \fi
  \fi}
%</plcore|platexrelease|trace>
%<platexrelease|trace>\plEndIncludeInRelease
%<platexrelease|trace>\plIncludeInRelease{2017/07/29}{\adjustbaseline}
%<platexrelease|trace>                   {Change zenkaku reference}%
%<platexrelease|trace>\def\adjustbaseline{%
%<platexrelease|trace>    \setbox\adjust@box\hbox{\char\jis"3441}%"
%<platexrelease|trace>    \cht\ht\adjust@box
%<platexrelease|trace>    \cdp\dp\adjust@box
%<platexrelease|trace>    \cwd\wd\adjust@box
%<platexrelease|trace>    \cvs\normalbaselineskip
%<platexrelease|trace>    \chs\cwd
%<platexrelease|trace>    \cHT\cht \advance\cHT\cdp
%<platexrelease|trace>  \iftdir
%<platexrelease|trace>    \setbox\adjust@box\hbox{\tbaselineshift\z@ M}%
%<platexrelease|trace>    \adjust@dimen\ht\adjust@box
%<platexrelease|trace>    \advance\adjust@dimen\dp\adjust@box
%<platexrelease|trace>    \advance\adjust@dimen-\cHT
%<platexrelease|trace>    \divide\adjust@dimen\tw@
%<platexrelease|trace>    \advance\adjust@dimen\cdp
%<platexrelease|trace>    \advance\adjust@dimen-\dp\adjust@box
%<platexrelease|trace>    \tbaselineshift\adjust@dimen
%<*trace>
%<platexrelease|trace>    \ifnum \tracingfonts>\tw@
%<platexrelease|trace>      \typeout{baselineshift:\the\tbaselineshift}%
%<platexrelease|trace>    \fi
%</trace>
%<platexrelease|trace>  \fi}
%<platexrelease|trace>\expandafter \let \csname adjustbaseline \endcsname \@undefined
%<platexrelease|trace>\plEndIncludeInRelease
%<platexrelease|trace>\plIncludeInRelease{0000/00/00}{\adjustbaseline}
%<platexrelease|trace>                   {ASCII Corporation original}%
%<platexrelease|trace>\def\adjustbaseline{%
%<platexrelease|trace>    \setbox\adjust@box\hbox{\char\euc"A1A1}%"
%<platexrelease|trace>    \cht\ht\adjust@box
%<platexrelease|trace>    \cdp\dp\adjust@box
%<platexrelease|trace>    \cwd\wd\adjust@box
%<platexrelease|trace>    \cvs\normalbaselineskip
%<platexrelease|trace>    \chs\cwd
%<platexrelease|trace>    \cHT\cht \advance\cHT\cdp
%<platexrelease|trace>  \iftdir
%<platexrelease|trace>    \setbox\adjust@box\hbox{\tbaselineshift\z@ M}%
%<platexrelease|trace>    \adjust@dimen\ht\adjust@box
%<platexrelease|trace>    \advance\adjust@dimen\dp\adjust@box
%<platexrelease|trace>    \advance\adjust@dimen-\cHT
%<platexrelease|trace>    \divide\adjust@dimen\tw@
%<platexrelease|trace>    \advance\adjust@dimen\cdp
%<platexrelease|trace>    \advance\adjust@dimen-\dp\adjust@box
%<platexrelease|trace>    \tbaselineshift\adjust@dimen
%<*trace>
%<platexrelease|trace>    \ifnum \tracingfonts>\tw@
%<platexrelease|trace>      \typeout{baselineshift:\the\tbaselineshift}
%<platexrelease|trace>    \fi
%</trace>
%<platexrelease|trace>  \fi}
%<platexrelease|trace>\expandafter \let \csname adjustbaseline \endcsname \@undefined
%<platexrelease|trace>\plEndIncludeInRelease
%<*plcore>
%    \end{macrocode}
% \end{macro}
%
%
% \subsubsection{$B%(%s%3!<%I$N;XDj(B}
% \begin{macro}{\romanencoding}
% \begin{macro}{\kanjiencoding}
% \begin{macro}{\fontencoding}
% $B=qBN$N%(%s%3!<%I$r;XDj$9$k%3%^%s%I$G$9!#(B
% |\fontencoding|$B%3%^%s%I$OOB2$J8$N$I$A$i$+$K1F6A$7$^$9!#(B
% |\DeclareKanjiEncoding|$B$G;XDj$5$l$?%(%s%3!<%I$OOBJ8%(%s%3!<%I$H$7$F!"(B
% |\DeclareFontEncoding|$B$G;XDj$5$l$?%(%s%3!<%I$O2$J8%(%s%3!<%I$H$7$F(B
% $BG'<1$5$l$^$9!#(B
%
% |\kanjiencoding|$B$H(B|\romanencoding|$B$OM?$($i$l$?0z?t$,!"(B
% $B%(%s%3!<%I$H$7$FEPO?$5$l$F$$$k$+$I$&$+$@$1$r3NG'$7!"(B
% $B$=$l$,OBJ8$+2$J8$+$N%A%'%C%/$O9T$J$C$F$$$^$;$s!#(B
% $B$=$N$?$a!"9bB.$KF0:n$r$7$^$9$,!"(B|\kanjiencoding|$B$K2$J8%(%s%3!<%I$r;XDj$7$?$j!"(B
% $B5U$K(B|\romanencoding|$B$KOBJ8%(%s%3!<%I$r;XDj$7$?>l9g$O%(%i!<$H$J$j$^$9!#(B
%    \begin{macrocode}
\DeclareRobustCommand\romanencoding[1]{%
    \expandafter\ifx\csname T@#1\endcsname\relax
      \@latex@error{Encoding scheme `#1' unknown}\@eha
    \else
      \edef\f@encoding{#1}%
      \ifx\cf@encoding\f@encoding
        \let\enc@update\relax
      \else
        \let\enc@update\@@enc@update
      \fi
    \fi
}
\DeclareRobustCommand\kanjiencoding[1]{%
    \expandafter\ifx\csname T@#1\endcsname\relax
      \@latex@error{KANJI Encoding scheme `#1' unknown}\@eha
    \else
      \edef\k@encoding{#1}%
      \ifx\ck@encoding\k@encoding
         \let\kenc@update\relax
      \else
         \let\kenc@update\@@kenc@update
      \fi
    \fi
}
\DeclareRobustCommand\fontencoding[1]{%
  \edef\tmp@item{{#1}}%
  \expandafter\expandafter\expandafter
  \inlist@\expandafter\tmp@item\expandafter{\kenc@list}%
  \ifin@ \kanjiencoding{#1}\else\romanencoding{#1}\fi}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\@@kenc@update}
% |\kanjiencoding|$B%3%^%s%I$N%3!<%I$+$i$b$o$+$k$h$&$K!"(B
% |\ck@encoding|$B$H(B|\k@encoding|$B$,0[$J$k>l9g!"(B
% |\kenc@update|$B%3%^%s%I$O(B|\@@kenc@update|$B%3%^%s%I$HEy$7$/$J$j$^$9!#(B
%
% |\@@kenc@update|$B%3%^%s%I$O!"$=$N%(%s%3!<%I$G$N%G%U%)%k%HCM$r@_Dj$9$k$?$a$N(B
% $B%3%^%s%I$G$9!#2$J8MQ$N(B|\@@enc@update|$B%3%^%s%I$G$O!"(B
% \mlineplus{2}$B9TL\$H(B\mlineplus{3}$B9TL\$N$h$&$JBeF~$b$7$F$$$^$9$,!"(B
% $BOBJ8MQ$K$O%3%a%s%H$K$7$F$"$j$^$9!#(B
% $B$3$l$i$O(B|\DeclareTextCommand|$B$d(B|\ProvideTextCommand|$B$J$I$G(B
% $B%(%s%3!<%I$4$H$K@_Dj$5$l$k%3%^%s%I$r;H$&$?$a$N;EAH$_$G$9!#(B
% $B$7$+$7!"OBJ8%(%s%3!<%I$K0MB8$9$k$h$&$J%3%^%s%I$d%^%/%m$r:n@.$9$k$3$H$O!"(B
% $B8=;~E@$G$O!"$J$$$H;W$$$^$9!#(B
%
% \changes{v1.0c}{1995/08/22}{$B=D2#MQ%(%s%3!<%I$NJ]B8(B}
%    \begin{macrocode}
\def\@@kenc@update{%
%  \expandafter\let\csname\ck@encoding -cmd\endcsname\@changed@kcmd
%  \expandafter\let\csname\k@encoding-cmd\endcsname\@current@cmd
  \default@KT
  \csname T@\k@encoding\endcsname
  \csname D@\k@encoding\endcsname
  \let\kenc@update\relax
  \let\ck@encoding\k@encoding
  \edef\tmp@item{{\k@encoding}}%
  \expandafter\expandafter\expandafter
  \inlist@\expandafter\tmp@item\expandafter{\kyenc@list}%
  \ifin@ \let\cy@encoding\k@encoding
  \else
    \expandafter\expandafter\expandafter
    \inlist@\expandafter\tmp@item\expandafter{\ktenc@list}%
    \ifin@ \let\ct@encoding\k@encoding
    \else
      \@latex@error{KANJI Encoding scheme `\k@encoding' unknown}\@eha
    \fi
  \fi
}
\let\kenc@update\relax
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@changed@kcmd}
% |\@changed@cmd|$B$NOBJ8%(%s%3!<%G%#%s%0%P!<%8%g%s!#(B
% \changes{v1.3n}{2004/08/10}{$BOBJ8%(%s%3!<%G%#%s%0$N@Z$jBX$($rM-8z2=(B}
%    \begin{macrocode}
\def\@changed@kcmd#1#2{%
   \ifx\protect\@typeset@protect
      \@inmathwarn#1%
      \expandafter\ifx\csname\ck@encoding\string#1\endcsname\relax
         \expandafter\ifx\csname ?\string#1\endcsname\relax
            \expandafter\def\csname ?\string#1\endcsname{%
               \TextSymbolUnavailable#1%
            }%
         \fi
         \global\expandafter\let
               \csname\cf@encoding \string#1\expandafter\endcsname
               \csname ?\string#1\endcsname
      \fi
      \csname\ck@encoding\string#1%
         \expandafter\endcsname
   \else
      \noexpand#1%
   \fi}
%    \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
% |@notkfam|$B%U%i%0$OOBJ8%U%!%_%j$G$J$+$C$?$3$H$r!"(B
% |@notffam|$B%U%i%0$O2$J8%U%!%_%j$G$J$+$C$?$3$H$r<($7$^$9!#(B
%
% \changes{v1.2}{1995/11/21}{\cs{fontfamily}$B%3%^%s%IMQ$N%U%i%0DI2C(B}
%    \begin{macrocode}
\newif\if@notkfam
\newif\if@notffam
%    \end{macrocode}
% \changes{v1.3m}{2004/06/14}{\cs{fontfamily}$B%3%^%s%IFbIt%U%i%0JQ99(B}
%    \begin{macrocode}
\newif\if@tempswz
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
%
% \begin{macro}{\romanfamily}
% \begin{macro}{\kanjifamily}
% \begin{macro}{\fontfamily}
% $B=qBN$N%U%!%_%j$r;XDj$9$k%3%^%s%I$G$9!#(B
%
% |\kanjifamily|$B$H(B|\romanfamily|$B$OM?$($i$l$?0z?t$,!"(B
% $BOBJ8$"$k$$$O2$J8$N%U%!%_%j$H$7$F@5$7$$$+$N%A%'%C%/$O9T$J$C$F$$$^$;$s!#(B
% $B$=$N$?$a!"9bB.$KF0:n$r$7$^$9$,!"(B|\kanjifamily|$B$K2$J8%U%!%_%j$r;XDj$7$?$j!"(B
% $B5U$K(B|\romanfamily|$B$KOBJ8%U%!%_%j$r;XDj$7$?>l9g$O!"%(%i!<$H$J$j!"(B
% $BBeMQ%U%)%s%H$+%(%i!<%U%)%s%H$,;H$o$l$^$9!#(B
%    \begin{macrocode}
\DeclareRobustCommand\romanfamily[1]{\edef\f@family{#1}}
\DeclareRobustCommand\kanjifamily[1]{\edef\k@family{#1}}
%    \end{macrocode}
%
% |\fontfamily|$B$O!";XDj$5$l$?CM$K$h$C$F!"OBJ8%U%!%_%j$+2$J8%U%!%_%j!"(B
% \emph{$B$"$k$$$ON>J}(B}$B$N%U%!%_%j$r@Z$jBX$($^$9!#(B
% $BOB2$J8$H$b$KL58z$J%U%!%_%jL>$,;XDj$5$l$?>l9g$O!"OB2$J8$H$b$KBeBX=qBN$,(B
% $B;HMQ$5$l$^$9!#(B
%
% $B0z?t$,(B|\rmfamily|$B$N$h$&$JL>A0$GM?$($i$l$k2DG=@-$,$"$k$?$a!"(B
% $B$^$:!"$3$l$rE83+$7$?$b$N$r:n$j$^$9!#(B
%
% $B$^$?!"OBJ8%U%!%_%j$H2$J8%U%!%_%j$N$=$l$>$l$K$J$+$C$?$3$H$r<($9%U%i%0$r(B
% $B56$K%;%C%H$7$^$9!#(B
%
% \changes{v1.2}{1995/11/21}{$BBeMQ%U%)%s%H$,;H$o$l$J$$%P%0$r=$@5(B}
% \changes{v1.3m}{2004/06/14}{\cs{fontfamily}$B%3%^%s%IFbIt%U%i%0JQ99(B}
% \changes{v1.3o}{2005/01/04}{\cs{fontfamily}$BCf$N%U%i%0=$@5(B}
%    \begin{macrocode}
\DeclareRobustCommand\fontfamily[1]{%
  \edef\tmp@item{{#1}}%
  \@notkfamfalse
  \@notffamfalse
%    \end{macrocode}
% $B<!$K!"$3$N0z?t$,(B|\kfam@list|$B$KEPO?$5$l$F$$$k$+$I$&$+$rD4$Y$^$9!#(B
% $BEPO?$5$l$F$$$l$P!"(B|\k@family|$B$K$=$NCM$rF~$l$^$9!#(B
%    \begin{macrocode}
  \expandafter\expandafter\expandafter
  \inlist@\expandafter\tmp@item\expandafter{\kfam@list}%
  \ifin@ \edef\k@family{#1}%
%    \end{macrocode}
% $B$=$&$G$J$$$H$-$O!"(B|\notkfam@list|$B$KEPO?$5$l$F$$$k$+$I$&$+$rD4$Y$^$9!#(B
% $BEPO?$5$l$F$$$l$P!"$3$N0z?t$OOBJ8%U%!%_%j$G$O$"$j$^$;$s$N$G!"(B
% |\@notkfam|$B%U%i%0$r??$K$7$F!"2$J8%U%!%_%j$N%k!<%A%s$K0\$j$^$9!#(B
%
% $B$3$N$H$-!"(B|\ffam@list|$B$rD4$Y$k$N$G$O$J$$$3$H$KCm0U$r$7$F$/$@$5$$!#(B
% |\ffam@list|$B$rD4$Y!"$3$l$K$J$$%U%!%_%j$rOBJ8%U%!%_%j$G$"$k$H$9$k$H!"(B
% $B$?$H$($P!"2$J8%J!<%k%U%!%_%j$,Dj5A$5$l$F$$$k$1$l$I$b!"OBJ8%J!<%k%U%!%_%j(B
% $B$,L$Dj5A$N>l9g!"(B|\fontfamily{nar}|$B$H$$$&;XDj$O!"(B|nar|$B$,(B|\ffam@list|$B$K$@$1!"(B
% $BEPO?$5$l$F$$$k$?$a!"OBJ8=qBN$r%J!<%k$K$9$k$3$H$,$G$-$^$;$s!#(B
%
% $B5U$K!"(B|\kfam@list|$B$KEPO?$5$l$F$$$J$$$+$i$H$$$C$F!"(B|\k@family|$B$K(B|nar|$B$r@_Dj(B
% $B$9$k$H!"(B|cmr|$B$N$h$&$J%U%!%_%j$b(B|\k@family|$B$K@_Dj$5$l$k2DG=@-$,$"$j$^$9!#(B
% $B$7$?$,$C$F!"!V2$J8$G$J$$!W$rL@<(E*$K<($9(B|\notkfam@list|$B$r8+$kI,MW$,$"$j$^$9!#(B
%    \begin{macrocode}
  \else
    \expandafter\expandafter\expandafter
    \inlist@\expandafter\tmp@item\expandafter{\notkfam@list}%
    \ifin@ \@notkfamtrue
%    \end{macrocode}
% |\notkfam@list|$B$KEPO?$5$l$F$$$J$$>l9g$O!"(B
% $B%U%)%s%HDj5A%U%!%$%k$,B8:_$9$k$+$I$&$+$rD4$Y$^$9!#(B
% $B%U%!%$%k$,B8:_$9$k>l9g$O!"(B|\k@family|$B$rJQ99$7$^$9!#(B
% $B%U%!%$%k$,B8:_$7$J$$>l9g$O!"(B|\notkfam@list|$B$KEPO?$7$^$9!#(B
%
% |\kenc@list|$B$KEPO?$5$l$F$$$k%(%s%3!<%I$H!";XDj$5$l$?OBJ8%U%!%_%j$N(B
% $BAH9g$;$N%U%)%s%HDj5A%U%!%$%k$,B8:_$9$k>l9g$O!"(B|\k@family|$B$K;XDj$5$l$?(B
% $BCM$rF~$l$^$9!#(B
% \changes{v1.3c}{1997/04/24}%
%    {$B%U%)%s%HDj5A%U%!%$%kL>$r>.J8;z$KJQ49$7$F$+$iC5$9$h$&$K$7$?!#(B}
% \changes{v1.3e}{1997/07/10}{fd$B%U%!%$%kL>$N>.J8;z2=$,8z$$$F$$$J$+$C$?$N$r(B
%    $B=$@5!#$"$j$,$H$&!"Bg4d$5$s(B}
%    \begin{macrocode}
    \else
      \@tempswzfalse
      \def\fam@elt{\noexpand\fam@elt}%
      \message{(I search kanjifont definition file:}%
      \def\enc@elt<##1>{\message{.}%
        \edef\reserved@a{\lowercase{\noexpand\IfFileExists{##1#1.fd}}}%
        \reserved@a{\@tempswztrue}{}\relax}%
      \kenc@list
      \message{)}%
      \if@tempswz
        \edef\k@family{#1}%
%    \end{macrocode}
% $B$D$.$NItJ,$,<B9T$5$l$k$N$O!"OBJ8%U%!%_%j$H$7$FG'<1$G$-$J$+$C$?>l9g$G$9!#(B
% $B$3$N>l9g$O!"(B|\@notkfam|$B%U%i%0$r??$K$7$F!"(B|\notkfam@list|$B$KEPO?$7$^$9!#(B
% \changes{v1.1b}{1995/05/10}{\cs{notkfam@list}$B$K!"(B
%   $B%(%s%3!<%I$4$H$KEPO?$5$l$F$7$^$&$N$r=$@5$7$?!#2$J8$K$D$$$F$bF1MM!#(B}
%    \begin{macrocode}
      \else
        \@notkfamtrue
        \xdef\notkfam@list{\notkfam@list\fam@elt<#1>}%
      \fi
%    \end{macrocode}
% |\kfam@list|$B$H(B|\notkfam@list|$B$KEPO?$5$l$F$$$k$+$I$&$+$r(B
% $BD4$Y$?(B|\ifin@|$B$rJD$8$^$9!#(B
%    \begin{macrocode}
  \fi\fi
%    \end{macrocode}
% $B2$J8%U%!%_%j$N>l9g$b!"OBJ8%U%!%_%j$HF1MM$NJ}K!$G3NG'$r$7$^$9!#(B
% \changes{v1.3e}{1997/07/10}{fd$B%U%!%$%kL>$N>.J8;z2=$,8z$$$F$$$J$+$C$?$N$r=$@5(B}
%    \begin{macrocode}
  \expandafter\expandafter\expandafter
  \inlist@\expandafter\tmp@item\expandafter{\ffam@list}%
  \ifin@ \edef\f@family{#1}\else
    \expandafter\expandafter\expandafter
    \inlist@\expandafter\tmp@item\expandafter{\notffam@list}%
    \ifin@ \@notffamtrue \else
      \@tempswzfalse
      \def\fam@elt{\noexpand\fam@elt}%
      \message{(I search font definition file:}%
      \def\enc@elt<##1>{\message{.}%
        \edef\reserved@a{\lowercase{\noexpand\IfFileExists{##1#1.fd}}}%
        \reserved@a{\@tempswztrue}{}\relax}%
      \fenc@list
      \message{)}%
      \if@tempswz
        \edef\f@family{#1}%
      \else
        \@notffamtrue
        \xdef\notffam@list{\notffam@list\fam@elt<#1>}%
      \fi
  \fi\fi
%    \end{macrocode}
% $B:G8e$K!";XDj$5$l$?J8;zNs$,!"OBJ8%U%!%_%j$H2$J8%U%!%_%j$N$$$:$l$+!"(B
% $B$"$k$$$ON>J}$H$7$FG'<1$5$l$?$+$I$&$+$r3NG'$7$^$9!#(B
%
% $B$I$A$i$H$bG'<1$5$l$F$$$J$$>l9g$O!"%U%!%_%j$N;XDj%_%9$G$9$N$G!"(B
% $BBeMQ%U%)%s%H$r;H$&$?$a$K!"8N0U$K;XDj$5$l$?J8;zNs$r%U%!%_%j$K(B
% $BF~$l$^$9!#(B
%    \begin{macrocode}
  \if@notkfam\if@notffam
      \edef\k@family{#1}\edef\f@family{#1}%
  \fi\fi}
%</plcore>
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
%
% \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$,$"$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
    \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
\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}
% \end{macro}
%
% \begin{macro}{\delayed@k@adjustment}
% \LaTeXe~2021-06-01$B$GDI2C$5$l$?(B|\delayed@f@adjustment|$B$NOBJ8HG$G$9!#(B
% \changes{v1.7k}{2021/01/10}{Distangle series and shape update (latex2e/444)
%    (sync with ltfssaxes.dtx 2020/12/22 v1.0h)}
%    \begin{macrocode}
%<*plcore|platexrelease>
\ifx\delayed@f@adjustment\@undefined   % old
  \let\delayed@k@adjustment\@undefined
\else                                  % 2021-06-01
  \let\delayed@k@adjustment\@empty
\fi
%</plcore|platexrelease>
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\if@forced@series@kanji}
% \LaTeXe~2020-02-02 PL3$B$GDI2C$5$l$?(B|\if@forced@series|$B%U%i%0$NOBJ8HG$G$9!#(B
% \changes{v1.7n}{2021/06/27}{$BOB2$J8$N(Bforced@series$B%U%i%0$rJ,N%(B}
%    \begin{macrocode}
%<*plcore|platexrelease>
\ifx\@forced@seriestrue\@undefined % old
  \let\@forced@series@kanjifalse\@undefined
  \let\@forced@series@kanjitrue\@undefined
\else                              % 2020-02-02 PL3 or later
  \expandafter\newif\csname if@forced@series@kanji\endcsname
\fi
%</plcore|platexrelease>
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\romanseries}
% \begin{macro}{\kanjiseries}
% \begin{macro}{\fontseries}
% $B=qBN$N%7%j!<%:$r;XDj$9$k%3%^%s%I$G$9!#(B
% |\fontseries|$B%3%^%s%I$OOB2$J8$NN>J}$K1F6A$7$^$9!#(B
%
% 2019$BG/$^$G$OL5>r7o$K;XDj$5$l$?$H$*$j$N%7%j!<%:$rA*Br$7$F$$$^$7$?$,!"(B
% \LaTeXe~2020-02-02$B0J9_$G$O!"(B|\DeclareFontSeriesChangeRule|$B$K$h$C$F(B
% $B@k8@$5$l$?!V%7%j!<%:99?75,B'!W$K4p$E$-%7%j!<%:$rA*Br$7$^$9!#(B
%
% \LaTeXe~2021-06-01$B0J9_$G$O!"%7%j!<%:$N99?7$r(B|\selectfont|$B$^$GCY$i$;$^$9!#(B
% \changes{v1.7k}{2021/01/10}{Distangle series and shape update (latex2e/444)
%    (sync with ltfssaxes.dtx 2020/12/22 v1.0h)}
%    \begin{macrocode}
%<*plcore|platexrelease>
\ifx\fontseriesforce\@undefined  % old
\DeclareRobustCommand\romanseries[1]{\edef\f@series{#1}}
\DeclareRobustCommand\kanjiseries[1]{\edef\k@series{#1}}
\DeclareRobustCommand\fontseries[1]{\kanjiseries{#1}\romanseries{#1}}
\else                            % 2020-02-02
\ifx\delayed@f@adjustment\@undefined % --- for <= 2020-10-01 BEGIN
\DeclareRobustCommand\romanseries[1]{\@forced@seriesfalse\merge@font@series{#1}}
\DeclareRobustCommand\kanjiseries[1]{\@forced@series@kanjifalse\merge@kanji@series{#1}}
\DeclareRobustCommand\fontseries[1]{\kanjiseries{#1}\romanseries{#1}}
\else        % --- for <= 2020-10-01 END & for >= 2021-06-01 BEGIN
\DeclareRobustCommand\romanseries[1]{\@forced@seriesfalse
    \expandafter\def\expandafter\delayed@f@adjustment\expandafter
        {\delayed@f@adjustment\delayed@merge@font@series{#1}}}
\DeclareRobustCommand\kanjiseries[1]{\@forced@series@kanjifalse
    \expandafter\def\expandafter\delayed@k@adjustment\expandafter
        {\delayed@k@adjustment\delayed@merge@kanji@series{#1}}}
\DeclareRobustCommand\fontseries[1]{\kanjiseries{#1}\romanseries{#1}}
\fi          % --- for >= 2021-06-01 END
\fi
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\romanseriesforce}
% \begin{macro}{\kanjiseriesforce}
% \begin{macro}{\fontseriesforce}
% $BL5>r7o$K%7%j!<%:$rJQ99$7$^$9!#(B
% \changes{v1.6v}{2020/02/01}{New commands \cs{fontseriesforce} etc.
%    (sync with ltfssaxes.dtx 2019/12/16 v1.0a)}
% \changes{v1.6y}{2020/02/24}{Switch \cs{if@forced@series} added
%    (sync with ltfssaxes.dtx 2020/02/18 v1.0c)}
%    \begin{macrocode}
\ifx\fontseriesforce\@undefined  % old
\let\romanseriesforce\@undefined
\let\kanjiseriesforce\@undefined
\else                            % 2020-02-02
\ifx\delayed@f@adjustment\@undefined % --- for <= 2020-10-01 BEGIN
\DeclareRobustCommand\romanseriesforce[1]{\@forced@seriestrue\edef\f@series{#1}}
\DeclareRobustCommand\kanjiseriesforce[1]{\@forced@series@kanjitrue\edef\k@series{#1}}
\DeclareRobustCommand\fontseriesforce[1]{\kanjiseriesforce{#1}\romanseriesforce{#1}}
\else        % --- for <= 2020-10-01 END & for >= 2021-06-01 BEGIN
\DeclareRobustCommand\romanseriesforce[1]{\@forced@seriestrue
    \expandafter\def\expandafter\delayed@f@adjustment\expandafter
      {\delayed@f@adjustment\edef\f@series{#1}}}
\DeclareRobustCommand\kanjiseriesforce[1]{\@forced@series@kanjitrue
    \expandafter\def\expandafter\delayed@k@adjustment\expandafter
      {\delayed@k@adjustment\edef\k@series{#1}}}
\DeclareRobustCommand\fontseriesforce[1]{\kanjiseriesforce{#1}\romanseriesforce{#1}}
\fi          % --- for >= 2021-06-01 END
\fi
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\merge@kanji@series}
% \begin{macro}{\merge@kanji@series@}
% \begin{macro}{\set@target@series@kanji}
% \cs{merge@font@series}$B$NOBJ8HG$G$9!#(B
% \changes{v1.6z}{2020/02/28}{Drop ``m'' only in a specific set of values
%    (sync with ltfssaxes.dtx 2020/02/27 v1.0d)}
%    \begin{macrocode}
\ifx\fontseriesforce\@undefined  % old
\let\merge@kanji@series\@undefined
\let\merge@kanji@series@\@undefined
\let\set@target@series@kanji\@undefined
\else                            % 2020-02-02
\def\merge@kanji@series#1{%
  \expandafter\expandafter\expandafter
  \merge@kanji@series@
    \csname series@\k@series @#1\endcsname
    {#1}%
    \@nil
}
\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
%^^A [TODO] BEGIN
%^^A   LaTeX2e 2021-06-01 $B$G$O(B |\maybe@load@fontshape| $B$O:o=|$5$l$k!#(B
%^^A     $BM}M3!'=hM}$,(B |\selectfont| $B$^$GCY$l$k$N$GITMW$H$N$3$H!#(B
%^^A   $B$7$+$7!"$J$<$+(B ltfssaxes.dtx $B$G(B rollback $B$NBP=h$,L5$$$h$&$J!)(B
    \begingroup\let\f@encoding\k@encoding\let\f@family\k@family
      \maybe@load@fontshape\endgroup
%^^A [TODO] END
    \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
}
\def\set@target@series@kanji#1{%
    \edef\k@series{#1}%
    \series@maybe@drop@one@m\k@series\k@series
}
\fi
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\merge@kanji@series@without@substitution}
% \begin{macro}{\merge@kanji@series@without@substitution@}
% \begin{macro}{\delayed@merge@kanji@series}
% \cs{merge@font@series@without@substitution}$B$NOBJ8HG$G$9!#(B
% \changes{v1.7k}{2021/01/10}{Distangle series and shape update (latex2e/444)
%    (sync with ltfssaxes.dtx 2020/12/22 v1.0h)}
%    \begin{macrocode}
\ifx\merge@font@series@without@substitution\@undefined % old
\let\merge@kanji@series@without@substitution\@undefined
\let\merge@kanji@series@without@substitution@\@undefined
\let\delayed@merge@kanji@series\@undefined
\else                                                  % 2021-06-01
\def\merge@kanji@series@without@substitution#1{%
  \expandafter\expandafter\expandafter
  \merge@kanji@series@without@substitution@
    \csname series@\k@series @#1\endcsname
    {#1}%
    \@nil
}
\def\merge@kanji@series@without@substitution@#1#2#3\@nil{%
  \def\reserved@a{#3}%
  \ifx\reserved@a\@empty
    \set@target@series@kanji{#2}%
  \else
    \set@target@series@kanji{#1}%
  \fi
}
\let\delayed@merge@kanji@series\merge@kanji@series@without@substitution
\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>
\ifx\@shape@roman@kanjitrue\@undefined % just in case
  \expandafter\newif\csname if@shape@roman@kanji\endcsname
\fi
%</plcore|platexrelease>
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\romanshape}
% \begin{macro}{\kanjishape}
% \begin{macro}{\fontshape}
% $B=qBN$N%7%'%$%W$r;XDj$9$k%3%^%s%I$G$9!#(B
% |\fontshape|$B%3%^%s%I$OOB2$J8$NN>J}$K1F6A$7$^$9!#(B
%
% 2019$BG/$^$G$OL5>r7o$K;XDj$5$l$?$H$*$j$N%7%'%$%W$rA*Br$7$F$$$^$7$?$,!"(B
% \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
%
% \LaTeXe~2021-06-01$B0J9_$G$O!"%7%'%$%W$N99?7$r(B|\selectfont|$B$^$GCY$i$;$^$9!#(B
% \changes{v1.7k}{2021/01/10}{Distangle series and shape update (latex2e/444)
%    (sync with ltfssaxes.dtx 2020/12/22 v1.0h)}
% \changes{v1.7m}{2021/06/04}{latex2e/444$BBP1~!'(B\cs{@shape@roman@kanji}$B%U%i%0(B
%    $B$r(B\cs{delayed@k@adjustment}$B$NCf$GJQ99(B/$BI|5"$9$k(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]{%
  \set@safe@kanji@shape{#1}{}%
  \edef\f@shape{#1}%
}
\else                            % 2020-02-02
\ifx\delayed@f@adjustment\@undefined % --- for <= 2020-10-01 BEGIN
\DeclareRobustCommand\romanshape[1]{\merge@font@shape{#1}}
\DeclareRobustCommand\kanjishape[1]{\merge@kanji@shape{#1}}
\DeclareRobustCommand\fontshape[1]{%
  \@shape@roman@kanjitrue
  \kanjishape{#1}\romanshape{#1}%
  \@shape@roman@kanjifalse}
\else        % --- for <= 2020-10-01 END & for >= 2021-06-01 BEGIN
\DeclareRobustCommand\romanshape[1]{%
    \expandafter\def\expandafter\delayed@f@adjustment\expandafter
        {\delayed@f@adjustment\delayed@merge@font@shape{#1}}}
\DeclareRobustCommand\kanjishape[1]{%
    \expandafter\def\expandafter\delayed@k@adjustment\expandafter
        {\delayed@k@adjustment\delayed@merge@kanji@shape{#1}}}
\DeclareRobustCommand\fontshape[1]{%
    \romanshape{#1}%
    \expandafter\def\expandafter\delayed@k@adjustment\expandafter
        {\delayed@k@adjustment\@shape@roman@kanjitrue
         \delayed@merge@kanji@shape{#1}\@shape@roman@kanjifalse}}
\fi          % --- for >= 2021-06-01 END
\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}
% \end{macro}
%
% \begin{macro}{\romanshapeforce}
% \begin{macro}{\kanjishapeforce}
% \begin{macro}{\fontshapeforce}
% $BL5>r7o$K%7%'%$%W$rJQ99$7$^$9!#(B
% \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
\ifx\delayed@f@adjustment\@undefined % --- for <= 2020-10-01 BEGIN
\DeclareRobustCommand\romanshapeforce[1]{\edef\f@shape{#1}}
\DeclareRobustCommand\kanjishapeforce[1]{\edef\k@shape{#1}}
\DeclareRobustCommand\fontshapeforce[1]{%
  \set@safe@kanji@shape{#1}{}%
  \edef\f@shape{#1}%
}
\else        % --- for <= 2020-10-01 END & for >= 2021-06-01 BEGIN
\DeclareRobustCommand\romanshapeforce[1]{%
    \expandafter\def\expandafter\delayed@f@adjustment\expandafter
        {\delayed@f@adjustment\edef\f@shape{#1}}}
\DeclareRobustCommand\kanjishapeforce[1]{%
    \expandafter\def\expandafter\delayed@k@adjustment\expandafter
        {\delayed@k@adjustment\edef\k@shape{#1}}}
\DeclareRobustCommand\fontshapeforce[1]{%
    \expandafter\def\expandafter\delayed@k@adjustment\expandafter
        {\delayed@k@adjustment\set@safe@kanji@shape{#1}{}}%
    \expandafter\def\expandafter\delayed@f@adjustment\expandafter
        {\delayed@f@adjustment\edef\f@shape{#1}}%
}
\fi          % --- for >= 2021-06-01 END
\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}
% \end{macro}
%
% \begin{macro}{\merge@kanji@shape}
% \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
\else                            % 2020-02-02
\def\merge@kanji@shape#1{%
  \expandafter\expandafter\expandafter
  \merge@kanji@shape@
    \csname shape@\k@shape @#1\endcsname
    {#1}%
    \@nil
}
\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
%^^A [TODO] BEGIN
%^^A   LaTeX2e 2021-06-01 $B$G$O(B |\maybe@load@fontshape| $B$O:o=|$5$l$k!#(B
%^^A     $BM}M3!'=hM}$,(B |\selectfont| $B$^$GCY$l$k$N$GITMW$H$N$3$H!#(B
%^^A   $B$7$+$7!"$J$<$+(B ltfssaxes.dtx $B$G(B rollback $B$NBP=h$,L5$$$h$&$J!)(B
    \begingroup\let\f@encoding\k@encoding\let\f@family\k@family
      \maybe@load@fontshape\endgroup
%^^A [TODO] END
    \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}{\merge@kanji@shape@without@substitution}
% \begin{macro}{\merge@kanji@shape@without@substitution@}
% \begin{macro}{\delayed@merge@kanji@shape}
% \cs{merge@font@shape@without@substitution}$B$NOBJ8HG$G$9!#(B
% \changes{v1.7k}{2021/01/10}{Distangle series and shape update (latex2e/444)
%    (sync with ltfssaxes.dtx 2020/12/22 v1.0h)}
%    \begin{macrocode}
%<*plcore|platexrelease>
\ifx\merge@font@shape@without@substitution\@undefined  % old
\let\merge@kanji@shape@without@substitution\@undefined
\let\merge@kanji@shape@without@substitution@\@undefined
\let\delayed@merge@kanji@shape\@undefined
\else                                                  % 2021-06-01
\def\merge@kanji@shape@without@substitution#1{%
  \expandafter\expandafter\expandafter
  \merge@kanji@shape@without@substitution@
    \csname shape@\k@shape @#1\endcsname
    {#1}%
    \@nil
}
\def\merge@kanji@shape@without@substitution@#1#2#3\@nil{%
  \def\reserved@a{#3}%
  \ifx\reserved@a\@empty
    \edef\k@shape{#2}%
  \else
    \edef\k@shape{#1}%
  \fi
}
\let\delayed@merge@kanji@shape\merge@kanji@shape@without@substitution
\fi
%</plcore|platexrelease>
%    \end{macrocode}
% \end{macro}
% \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}
% $B=qBNB0@-$r0lEY$K;XDj$9$k%3%^%s%I$G$9!#(B
% $BOBJ8=qBN$K$O(B|\usekanji|$B$r!"2$J8=qBN$K$O(B|\useroman|$B$r;XDj$7$F$/$@$5$$!#(B
%
% |\usefont|$B%3%^%s%I$O!"Bh0l0z?t$G;XDj$5$l$k%(%s%3!<%I$K$h$C$F!"(B
% $BOBJ8$^$?$O2$J8%U%)%s%H$r@Z$jBX$($^$9!#(B
% \changes{v1.6t}{2019/09/16}{Make \cs{usefont} etc. robust
%    (sync with ltfssbas.dtx 2019/08/27 v3.2d)}
% \changes{v1.6v}{2020/02/01}{Don't call \cs{fontseries} or \cs{fontshape}
%    (sync with ltfssbas.dtx 2019/12/17 v3.2e)}
% \changes{v1.7j}{2020/12/29}{Drop ``m'' for latex2e issue 453
%    (sync with ltfssbas.dtx 2020/12/10 v3.2h)}
% \changes{v1.7l}{2021/05/23}{Unconditionally switch to the requested
%    font face (latex2e/444)
%    (sync with ltfssbas.dtx 2021/04/26 v3.2i)}
%    \begin{macrocode}
%<platexrelease>\plIncludeInRelease{2020/02/02}{\usefont}
%<platexrelease>                   {Don't call \fontseries or \fontshape}%
%<*plcore|platexrelease>
\ifx\set@target@series\@undefined    % old
\DeclareRobustCommand\usekanji[4]{\kanjiencoding{#1}%
    \edef\k@family{#2}%
    \edef\k@series{#3}%
    \edef\k@shape{#4}\selectfont
    \ignorespaces}
\DeclareRobustCommand\useroman[4]{\romanencoding{#1}%
    \edef\f@family{#2}%
    \edef\f@series{#3}%
    \edef\f@shape{#4}\selectfont
    \ignorespaces}
\else                                % 2020-02-02
\ifx\delayed@f@adjustment\@undefined % --- for <= 2020-10-01 BEGIN
\DeclareRobustCommand\usekanji[4]{\kanjiencoding{#1}%
    \edef\k@family{#2}%
    \set@target@series@kanji{#3}%
    \edef\k@shape{#4}\selectfont
    \ignorespaces}
\DeclareRobustCommand\useroman[4]{\romanencoding{#1}%
    \edef\f@family{#2}%
    \set@target@series{#3}%
    \edef\f@shape{#4}\selectfont
    \ignorespaces}
\else        % --- for <= 2020-10-01 END & for >= 2021-06-01 BEGIN
\DeclareRobustCommand\usekanji[4]{\kanjiencoding{#1}%
    \edef\k@family{#2}%
    \set@target@series@kanji{#3}%
    \edef\k@shape{#4}%
    \let\delayed@k@adjustment\@empty
    \selectfont
    \ignorespaces}
\DeclareRobustCommand\useroman[4]{\romanencoding{#1}%
    \edef\f@family{#2}%
    \set@target@series{#3}%
    \edef\f@shape{#4}%
    \let\delayed@f@adjustment\@empty
    \selectfont
    \ignorespaces}
\fi          % --- for >= 2021-06-01 END
\fi                                  % done
\DeclareRobustCommand\usefont[4]{%
  \edef\tmp@item{{#1}}%
  \expandafter\expandafter\expandafter
  \inlist@\expandafter\tmp@item\expandafter{\kenc@list}%
  \ifin@ \usekanji{#1}{#2}{#3}{#4}%
  \else\useroman{#1}{#2}{#3}{#4}%
  \fi}
%</plcore|platexrelease>
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{2019/10/01}{\usefont}
%<platexrelease>                   {Make robust}%
%<platexrelease>\DeclareRobustCommand\usekanji[4]{%
%<platexrelease>    \kanjiencoding{#1}\kanjifamily{#2}\kanjiseries{#3}\kanjishape{#4}%
%<platexrelease>    \selectfont\ignorespaces}
%<platexrelease>\DeclareRobustCommand\useroman[4]{%
%<platexrelease>    \romanencoding{#1}\romanfamily{#2}\romanseries{#3}\romanshape{#4}%
%<platexrelease>    \selectfont\ignorespaces}
%<platexrelease>\DeclareRobustCommand\usefont[4]{%
%<platexrelease>  \edef\tmp@item{{#1}}%
%<platexrelease>  \expandafter\expandafter\expandafter
%<platexrelease>  \inlist@\expandafter\tmp@item\expandafter{\kenc@list}%
%<platexrelease>  \ifin@ \usekanji{#1}{#2}{#3}{#4}%
%<platexrelease>  \else\useroman{#1}{#2}{#3}{#4}%
%<platexrelease>  \fi}
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{0000/00/00}{\usefont}
%<platexrelease>                   {ASCII Corporation original}%
%<platexrelease>\def\usekanji#1#2#3#4{%
%<platexrelease>    \kanjiencoding{#1}\kanjifamily{#2}\kanjiseries{#3}\kanjishape{#4}%
%<platexrelease>    \selectfont\ignorespaces}
%<platexrelease>\def\useroman#1#2#3#4{%
%<platexrelease>    \romanencoding{#1}\romanfamily{#2}\romanseries{#3}\romanshape{#4}%
%<platexrelease>    \selectfont\ignorespaces}
%<platexrelease>\def\usefont#1#2#3#4{%
%<platexrelease>  \edef\tmp@item{{#1}}%
%<platexrelease>  \expandafter\expandafter\expandafter
%<platexrelease>  \inlist@\expandafter\tmp@item\expandafter{\kenc@list}%
%<platexrelease>  \ifin@ \usekanji{#1}{#2}{#3}{#4}%
%<platexrelease>  \else\useroman{#1}{#2}{#3}{#4}%
%<platexrelease>  \fi}
%<platexrelease>\expandafter \let \csname usekanji \endcsname \@undefined
%<platexrelease>\expandafter \let \csname useroman \endcsname \@undefined
%<platexrelease>\expandafter \let \csname usefont \endcsname \@undefined
%<platexrelease>\plEndIncludeInRelease
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
%
% \begin{macro}{\normalfont}
% $B=qBN$r%G%U%)%k%HCM$K$9$k%3%^%s%I$G$9!#(B
% $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)}
%
% \LaTeXe~2020-10-01$B$G$O(B|\AddToHook|$B$,;H$($^$9!#(B
% \changes{v1.7h}{2020/09/28}{New hook management interface
%    (sync with ltfssini.dtx 2020/08/21 v3.2b)}
% \changes{v1.7i}{2020/10/07}{$B%U%C%/%7%9%F%`$NM-L5H=Dj$r2~NI(B}
% \changes{v1.7l}{2021/05/23}{Unconditionally switch to the requested
%    font face (latex2e/444)
%    (sync with ltfssini.dtx 2021/04/26 v3.2h)}
%    \begin{macrocode}
%<platexrelease>\plIncludeInRelease{2020/04/12}{\normalfont}
%<platexrelease>                   {Use \@defaultfamilyhook}%
%<*plcore|platexrelease>
\ifnum\pltx@newhook@avail=\z@ % --- for <= 2020-02-02 BEGIN
\ifx\@defaultfamilyhook\@undefined  % old
\DeclareRobustCommand\normalfont{%
    \kanjiencoding{\kanjiencodingdefault}%
    \edef\k@family{\kanjifamilydefault}%
    \edef\k@series{\kanjiseriesdefault}%
    \edef\k@shape{\kanjishapedefault}%
    \romanencoding{\encodingdefault}%
    \edef\f@family{\familydefault}%
    \edef\f@series{\seriesdefault}%
    \edef\f@shape{\shapedefault}%
    \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                                 % done
\else % --- for <= 2020-02-02 END & for >= 2020-10-01 BEGIN
\ifx\delayed@f@adjustment\@undefined % --- for == 2020-10-01 BEGIN
%<platexrelease>\DeclareRobustCommand\normalfont{%
%<platexrelease>   \fontencoding\encodingdefault
%<platexrelease>   \edef\f@family{\familydefault}%
%<platexrelease>   \edef\f@series{\seriesdefault}%
%<platexrelease>   \edef\f@shape{\shapedefault}%
%<platexrelease>   \UseHook{normalfont}%
%<platexrelease>   \@defaultfamilyhook % hookname from 2020/02 will vanish
%<platexrelease>   \selectfont}
\AddToHook{normalfont}{%
    \kanjiencoding{\kanjiencodingdefault}%
    \edef\k@family{\kanjifamilydefault}%
    \edef\k@series{\kanjiseriesdefault}%
    \edef\k@shape{\kanjishapedefault}%
}
\else        % --- for == 2020-10-01 END & for >= 2021-06-01 BEGIN
%<platexrelease>\DeclareRobustCommand\normalfont{%
%<platexrelease>   \fontencoding\encodingdefault
%<platexrelease>   \edef\f@family{\familydefault}%
%<platexrelease>   \edef\f@series{\seriesdefault}%
%<platexrelease>   \edef\f@shape{\shapedefault}%
%<platexrelease>   \let\delayed@f@adjustment\@empty
%<platexrelease>   \UseHook{normalfont}%
%<platexrelease>   \@defaultfamilyhook % hookname from 2020/02 will vanish
%<platexrelease>   \selectfont}
\AddToHook{normalfont}{%
    \kanjiencoding{\kanjiencodingdefault}%
    \edef\k@family{\kanjifamilydefault}%
    \edef\k@series{\kanjiseriesdefault}%
    \edef\k@shape{\kanjishapedefault}%
    \let\delayed@k@adjustment\@empty
}
\fi          % --- for >= 2021-06-01 END
\fi   % --- for >= 2020-10-01 END
\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{%
%<platexrelease>    \kanjiencoding{\kanjiencodingdefault}%
%<platexrelease>    \kanjifamily{\kanjifamilydefault}%
%<platexrelease>    \kanjiseries{\kanjiseriesdefault}%
%<platexrelease>    \kanjishape{\kanjishapedefault}%
%<platexrelease>    \romanencoding{\encodingdefault}%
%<platexrelease>    \romanfamily{\familydefault}%
%<platexrelease>    \romanseries{\seriesdefault}%
%<platexrelease>    \romanshape{\shapedefault}%
%<platexrelease>    \selectfont\ignorespaces}
%<platexrelease>\adjustbaseline
%<platexrelease>\let\reset@font\normalfont
%<platexrelease>\plEndIncludeInRelease
%    \end{macrocode}
% \end{macro}
%
%
% \begin{macro}{\bfseries@mc}
% \begin{macro}{\bfseries@gt}
% \begin{macro}{\mdseries@mc}
% \begin{macro}{\mdseries@gt}
% \LaTeXe~2020-02-02$B$G$O!"2$J8%U%)%s%H$K$D$$$F(B
% $B!V%U%!%_%j$4$H$N<B:]$N%7%j!<%:CM$r@_Dj$G$-$k!W(B
% $B$H$$$&5!G=$,F3F~$5$l$^$7$?!J85$O(Bmweights$B%Q%C%1!<%8$N5!G=!K!#(B
% $B$^$?!"F1;~$K(B
% $B!V(BComputer Modern$B$H(BLatin Modern$B$N>l9g$O8_49@-$N$?$aB@;z$r(Bbx$B$K!"(B
% $B$=$l0J30$N2$J8%U%!%_%j$N>l9g$OB@;z$r(Bb$B$K$9$k!W(B
% $B$H$$$&;EMMJQ99$bF~$j$^$7$?!#(B
% $B$3$l$K9g$o$;$F!"(Bp\LaTeXe{}$B$NOBJ8%U%)%s%H$K$bF1Ey$N5!G=$rDI2C$7!"(B
% $BOBJ8%U%!%_%j$NB@;z$b(Bbx$B$G$O$J$/(Bb$B$KJQ99$7$^$7$?!#(B
% \changes{v1.6v}{2020/02/01}{\LaTeX{}$B$,(Bmweights$B%Q%C%1!<%8$r4p$K$7$?(B
%    $B%7%j!<%:$N%+%9%?%`@_Dj$rF3F~$7$?$N$G!"$3$l$r%5%]!<%H(B
%    (sync with ltfssini.dtx 2019/12/17 v3.1e)}
%    \begin{macrocode}
%<*plcore|platexrelease>
\ifx\bfseries@rm\@undefined  % old
\let\bfseries@mc\@undefined
\let\bfseries@gt\@undefined
\let\mdseries@mc\@undefined
\let\mdseries@gt\@undefined
\else                        % 2020-02-02
\edef\bfseries@mc{\bfdefault}% b
\edef\bfseries@gt{\bfdefault}% b
\edef\mdseries@mc{\mddefault}% m
\edef\mdseries@gt{\mddefault}% m
\fi
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \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!J(Bltfssini.dtx 2020/08/21 v3.2b$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}%
%  \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}% !! deleted 2020/04/13 v3.1n
% %\@expandfontdefaultshook        % !! only in 2020/04/06 v3.1m
%  \UseHook{expand@font@defaults}%   !! new in 2020/08/21 v3.2b
%}
%    \end{macrocode}
% p\LaTeX{}$B$G$O!"0J2<$N%3!<%I$rKvHx$KDI2C$7$^$9!#(B
% \file{ltfssini.dtx} 2020/04/13 v3.1n$B$G(B|latex3/latex2e#315|$BBP:v$,(B
% $BF~$j$^$7$?$N$G!"$=$NA08e$G(B|\expand@font@defaults|$B$*$h$S(B
% |\init@series@setup|$B$X$NDI2CFbMF$,JQ$o$j$^$9!#(B
% ^^A  $B=>Mh$O(B |\init@series@setup| $B$+$i8F$S=P$5$l$k(B
% ^^A    |\expand@font@defaults| $B$,(B |\famdef@ult| $B$r@_Dj$7$F$$$?!#(B
% ^^A  $B?7HG$O(B |\init@series@setup| $B$+$i$b$O$d(B
% ^^A    |\expand@font@defaults| $B$O8F$S=P$5$:!"Be$o$j$K(B
% ^^A    |\init@series@setup| $B$G0lEY(B |\reset@font| $B$r<B9T$7!"(B
% ^^A    $B$=$l$K4p$E$$$F(B |\seriesdefault| $B$r@_Dj$9$k!#(B
% \changes{v1.7h}{2020/09/28}{New hook management interface
%    (sync with ltfssini.dtx 2020/08/21 v3.2b)}
% \changes{v1.7i}{2020/10/07}{$B%U%C%/%7%9%F%`$NM-L5H=Dj$r2~NI(B}
%    \begin{macrocode}
\ifx\expand@font@defaults\@undefined\else %<*2020-02-02|2020-10-01|.>
\ifnum\pltx@newhook@avail=\z@ % --- for == 2020-02-02 BEGIN
\g@addto@macro\expand@font@defaults{%
  \edef\mcdef@ult{\mcdefault}%
  \edef\gtdef@ult{\gtdefault}%
  \edef\kanjidef@ult{\kanjifamilydefault}%
}
\else % --- for == 2020-02-02 END & for >= 2020-10-01 BEGIN
\AddToHook{expand@font@defaults}{%
  \edef\mcdef@ult{\mcdefault}%
  \edef\gtdef@ult{\gtdefault}%
 %\edef\kanjidef@ult{\kanjifamilydefault}% !! sync with 2020/04/13 v3.1n
}
\fi   % --- for >= 2020-10-01 END
\fi %</2020-02-02|2020-10-01|.>
%    \end{macrocode}
% \end{macro}
%
% \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/09/30 v3.2d$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 % new in 2020/03/19 v3.1k
%    \expandafter\def\expandafter\bfdefault
%                    \expandafter{\bfdefault\@empty}%
%    \let\bfdefault@previous\bfdefault % bugfix in 2020/09/30 v3.2d
%    \let\bfseries@rm\bfdef@ult
%    \let\bfseries@sf\bfdef@ult
%    \let\bfseries@tt\bfdef@ult
%    %\@setbfseriesdefaultshook % !! only in 2020/04/06 v3.1m
%    \UseHook{bfseries/defaults}% !! new in 2020/08/21 v3.2b
%  \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
%  \UseHook{bfseries}% !! new in 2020/08/21 v3.2b
%  \selectfont
%}
%\DeclareRobustCommand\mdseries{%
%  \not@math@alphabet\mdseries\relax
%  \expand@font@defaults
%  \ifx\mddefault\mddefault@previous\else % new in 2020/03/19 v3.1k
%    \expandafter\def\expandafter\mddefault
%                    \expandafter{\mddefault\@empty}%
%    \let\mddefault@previous\mddefault % bugfix in 2020/09/30 v3.2d
%    \let\mdseries@rm\mddef@ult
%    \let\mdseries@sf\mddef@ult
%    \let\mdseries@tt\mddef@ult
%    %\@setmdseriesdefaultshook % !! only in 2020/04/06 v3.1m
%    \UseHook{mdseries/defaults}% !! new in 2020/08/21 v3.2b
%  \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
%  \UseHook{mdseries}% !! new in 2020/08/21 v3.2b
%  \selectfont
%}
%    \end{macrocode}
% $B0J2<$G(Bp\LaTeX{}$BMQ$K:FDj5A$7$^$9!#(B
% $B$^$:(B\LaTeXe~2020-02-02$B%Y!<%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|2020-10-01|.>
\ifnum\pltx@newhook@avail=\z@ % --- for == 2020-02-02 BEGIN
\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}
  % 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
}
\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}
  % 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
}
%    \end{macrocode}
% $B<!$K(B\LaTeXe~2020-10-01$B%Y!<%9!#(B|\AddToHook|$B$G==J,$G$9!#(B
% \changes{v1.7h}{2020/09/28}{New hook management interface
%    (sync with ltfssini.dtx 2020/08/21 v3.2b)}
% \changes{v1.7i}{2020/10/07}{$B%U%C%/%7%9%F%`$NM-L5H=Dj$r2~NI(B}
%    \begin{macrocode}
\else % --- for == 2020-02-02 END & for >= 2020-10-01 BEGIN
\AddToHook{bfseries/defaults}{%
    \let\bfseries@mc\bfdef@ult
    \let\bfseries@gt\bfdef@ult
}
\AddToHook{bfseries}{%
  % 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
}
\AddToHook{mdseries/defaults}{%
    \let\mdseries@mc\mddef@ult
    \let\mdseries@gt\mddef@ult
}
\AddToHook{mdseries}{%
  % 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
}
\fi   % --- for >= 2020-10-01 END
\fi %</2020-02-02|2020-10-01|.>
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\prepare@family@series@update@kanji}
% \begin{macro}{\@meta@family@list@kanji}
% \begin{macro}{\update@series@target@value@kanji}
% |\prepare@family@series@update|$B$NOBJ8HG$G$9!#(B
% \changes{v1.6y}{2020/02/24}{No series auto-update when forced
%    (sync with ltfssini.dtx 2020/02/18 v3.1i)}
% \changes{v1.6y}{2020/02/24}{Recognize current family if it is not a
%    ``meta'' family and auto-update series using \cs{bfdefault}
%    (sync with ltfssini.dtx 2020/02/18 v3.1i)}
% \changes{v1.6z}{2020/02/28}{Drop surplus ``m'' from \cs{target@series@value}
%    (sync with ltfssini.dtx 2020/02/25 v3.1j)}
%    \begin{macrocode}
\ifx\prepare@family@series@update\@undefined  % old
\let\prepare@family@series@update@kanji\@undefined
\let\@meta@family@list@kanji\@undefined
\let\update@series@target@value@kanji\@undefined
\else                                         % 2020-02-02
\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
       \series@maybe@drop@one@m\target@series@value\f@series
     \fi
   \fi
~\fi
}
\def\prepare@family@series@update@kanji#1#2{%
~\if@forced@series@kanji
%<+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
       \series@maybe@drop@one@m\target@series@value\k@series
     \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\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\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
%<+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
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\init@series@setup}
% |\begin{document}|$B$G<B9T$5$l$k=i4|2=$G$9!#(B
% $B$^$:!"%*%j%8%J%k$N(B\LaTeX{}$B$NDj5A!J(Bltfssini.dtx 2020/04/13 v3.1n$B0J9_!K$r(B
% $B:\$;$F$*$-$^$9!#(B
%    \begin{macrocode}
%\def\init@series@setup{%
%  \ifx\bfseries@rm@kernel\bfseries@rm
%    \expandafter\in@\expandafter{\rmdefault}%
%                    {cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}%
%    \ifin@ \else \def\bfseries@rm{b}\fi\fi
%  \ifx\bfseries@sf@kernel\bfseries@sf
%    \expandafter\in@\expandafter{\sfdefault}%
%                    {cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}%
%    \ifin@ \else \def\bfseries@sf{b}\fi\fi
%  \ifx\bfseries@tt@kernel\bfseries@tt
%    \expandafter\in@\expandafter{\ttdefault}%
%                    {cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}%
%    \ifin@ \else \def\bfseries@tt{b}\fi\fi
% %\expand@font@defaults  % !! deleted in 2020/04/13 v3.1n BEGIN
% %\ifx\famdef@ult\rmdef@ult      \rmfamily           % !! CONT
% %\else\ifx\famdef@ult\sfdef@ult \sffamily           % !! CONT
% %\else\ifx\famdef@ult\ttdef@ult \ttfamily           % !! CONT
% %\fi\fi\fi              % !! deleted in 2020/04/13 v3.1n END
%  \reset@font     % !! added in 2020/04/13 v3.1n BEGIN
%  \ifx\seriesdefault\seriesdefault@kernel   % !! CONT
%    \mdseries                               % !! CONT
%    \let\seriesdefault\f@series             % !! CONT
%  \fi             % !! added in 2020/04/13 v3.1n END
%}%
%    \end{macrocode}
% $B$3$3$+$i$,(Bp\LaTeX{}$B$K$h$kDI2C%3!<%I$G$9!#(B
% \begin{itemize}
%   \item \LaTeXe~2019-10-01$B0JA0!'L$Dj5A(B
%   \item \LaTeXe~2020-02-02$B0J9_!'>e$N$H$*$j$NDj5A(B
%   \item $B$?$@$7!"(Blatexrelease$B$G4,$-La$7!'(B|\relax|$B$HF15A(B
% \end{itemize}
% $B$K$J$k$3$H$KCm0U$7$^$9!#(B
% \changes{v1.6w}{2020/02/03}{$B4,$-La$7$N%P%0=$@5(B}
% \changes{v1.7h}{2020/09/28}{Handling \cs{seriesdefault} changes
%    (sync with ltfssini.dtx 2020/04/13 v3.1n)}
% \changes{v1.7i}{2020/10/07}{$B%U%C%/%7%9%F%`$NM-L5H=Dj$r2~NI(B}
%    \begin{macrocode}
\expandafter\ifx\csname init@series@setup\endcsname\relax
\else   %<*2020-02-02|2020-10-01|.>
\ifnum\pltx@newhook@avail=\z@ % --- for == 2020-02-02 BEGIN
\g@addto@macro\init@series@setup{%
  \ifx\kanjidef@ult\mcdef@ult      \mcfamily
  \else\ifx\kanjidef@ult\gtdef@ult \gtfamily
  \fi\fi
}%
\else % --- for == 2020-02-02 END & for >= 2020-10-01 BEGIN
\g@addto@macro\init@series@setup{%
  % !! sync with 2020/04/13 v3.1n BEGIN
  \ifx\kanjiseriesdefault\kanjiseriesdefault@kernel
    \mdseries
    \let\kanjiseriesdefault\k@series
  \fi
  % !! sync with 2020/04/13 v3.1n END
}%
\fi   % --- for >= 2020-10-01 END
\fi     %</2020-02-02|2020-10-01|.>
%    \end{macrocode}
% \end{macro}
%
%
% \begin{macro}{\kanjiseriesdefault}
% \begin{macro}{\kanjiseriesdefault@kernel}
% |\kanjiseriesdefault|$B$,(B\file{pldefs.ltx}$B$^$?$O(B\file{pldefs.cfg}$B$G(B
% $BDj5A$5$l$?8e$K!"$=$NKvHx$K(B|\@empty|$B$rDI2C$7$^$9!#(B
% $B$3$l$OE83+;~$K>CLG$7$^$9$,!"J8=q$N%W%j%"%s%V%k$GJL$NCM$K(B
% $BJQ99$5$l$?$+$I$&$+8!CN$G$-$k$h$&$K$J$j$^$9!#(B
% \changes{v1.7h}{2020/09/28}{Handling \cs{seriesdefault} changes
%    (sync with ltfssini.dtx 2020/04/13 v3.1n)}
% \changes{v1.7i}{2020/10/07}{$B%U%C%/%7%9%F%`$NM-L5H=Dj$r2~NI(B}
%    \begin{macrocode}
\ifnum\pltx@newhook@avail>\z@ % --- for >= 2020-10-01 BEGIN
\def\code@after@pldefs{%
\expandafter\def\expandafter\kanjiseriesdefault
  \expandafter{\kanjiseriesdefault\@empty}
\let\kanjiseriesdefault@kernel\kanjiseriesdefault}
\fi                           % --- for >= 2020-10-01 END
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
%
% \begin{macro}{\mcfamily}
% \begin{macro}{\gtfamily}
% $BOBJ8=qBN$rL@D+BN$K$9$k(B|\mcfamily|$B$H%4%7%C%/BN$K$9$k(B|\gtfamily|$B$rDj5A$7$^$9!#(B
% $B$3$l$i$O!"(B|\rmfamily|$B$J$I$KBP1~$7$^$9!#(B
% |\mathmc|$B$H(B|\mathgt|$B$O?t<0Fb$GMQ$$$k$H$-$N%3%^%s%IL>$G$9!#(B
%    \begin{macrocode}
\ifx\prepare@family@series@update@kanji\@undefined  % old
\DeclareRobustCommand\mcfamily
        {\not@math@alphabet\mcfamily\mathmc
         \kanjifamily\mcdefault\selectfont}
\DeclareRobustCommand\gtfamily
        {\not@math@alphabet\gtfamily\mathgt
         \kanjifamily\gtdefault\selectfont}
\else                                               % 2020-02-02
\DeclareRobustCommand\mcfamily
    {\not@math@alphabet\mcfamily\mathmc
     \prepare@family@series@update@kanji{mc}\mcdefault\selectfont}
\DeclareRobustCommand\gtfamily
    {\not@math@alphabet\gtfamily\mathgt
     \prepare@family@series@update@kanji{gt}\gtdefault\selectfont}
\fi
%</plcore|platexrelease>
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\textmc}
% \begin{macro}{\textgt}
% \changes{v1.3b}{1997/01/28}{\cs{textmc}, \cs{textgt}$B$NF0:n=$@5(B}
% \changes{v1.6v}{2020/02/01}{$BDj5A$r(Bpldefs$B$+$i(Bplcore$B$X0\F0(B}
% $B%F%-%9%H%U%!%_%j$r@Z$jBX$($k$?$a$N%3%^%s%I$G$9!#(B
% \file{ltfntcmd.dtx}$B$GDj5A$5$l$F$$$k(B|\textrm|$B$J$I$KBP1~$7$^$9!#(B
%    \begin{macrocode}
%<*plcore>
\DeclareTextFontCommand{\textmc}{\mcfamily}
\DeclareTextFontCommand{\textgt}{\gtfamily}
%</plcore>
%    \end{macrocode}
% \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@kanji
%<+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}
% \changes{v1.7g}{2020/04/14}{Small update for speed.
%    (sync with ltfssdcl.dtx 2020/04/13 v3.0v)}
%    \begin{macrocode}
%<*plcore>
\let\romanprocess@table\process@table
\def\kanjiprocess@table{%
  \kanjiencoding\kanjiencodingdefault
  \edef\k@family{\kanjifamilydefault}%
  \edef\k@series{\kanjiseriesdefault}%
  \edef\k@shape{\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}
% \changes{v1.3d}{1997/06/25}{\cs{em},\cs{emph}$B$GOBJ8$r6/D4=qBN$K(B}
% $B=>Mh$O(B|\em|, |\emph|$B$GOBJ8%U%)%s%H$N@Z$jBX$($O9T$C$F$$$^$;$s$G$7$?$,!"(B
% $BOBJ8%U%)%s%H$b(B|\gtfamily|$B$K@Z$jBX$($k$h$&$K$7$^$7$?!#(B
%
% [p\LaTeXe~2016/04/17]
% \LaTeX\ \texttt{<2015/01/01>}$B$GDI2C$5$l$?(B|\eminnershape|$B$b<h$jF~$l!"(B
% $B6/D4%3%^%s%I$rF~$l;R$K$9$k>l9g$N=qBN$r<+M3$K:FDj5A$G$-$k$h$&$K$J$j$^$7$?!#(B
% \changes{v1.6}{2016/02/01}{\LaTeX\ \texttt{!<2015/01/01!>}$B$G$N(B\cs{em}$B$N(B
%    $BDj5AJQ99$KBP1~!#(B\cs{eminnershape}$B$rDI2C!#(B}
%
% [p\LaTeXe~2020-02-02]
% \LaTeX\ \texttt{<2020-02-02>}$B$GDI2C$5$l$?(B|\DeclareEmphSequence|$B$r(B
% $B%5%]!<%H$7$^$7$?!#(B
% \changes{v1.6v}{2020/02/01}{Support \cs{emph} sequences
%    (sync with ltfssini.dtx 2019/12/17 v3.1e)}
% \changes{v1.6v}{2020/02/01}{$BDj5A$r(Bpldefs$B$+$i(Bplcore$B$X0\F0(B}
%    \begin{macrocode}
%<platexrelease>\plIncludeInRelease{2020/02/02}{\DeclareEmphSequence}
%<platexrelease>                               {Nested emph}%
%<*plcore|platexrelease>
\ifx\DeclareEmphSequence\@undefined % old
\DeclareRobustCommand\em
        {\@nomath\em \ifdim \fontdimen\@ne\font >\z@
                       \eminnershape \else \gtfamily \itshape \fi}%
\else
\DeclareRobustCommand\em{%          % 2020-02-02
  \@nomath\em
  \ifx\emfontdeclare@clist\@empty
    \ifdim \fontdimen\@ne\font >\z@
      \eminnershape \else \gtfamily \itshape \fi
  \else
  \edef\em@currfont{\csname\curr@fontshape/\f@size\endcsname}%
    \expandafter\do@emfont@update\emfontdeclare@clist\do@emfont@update
  \fi
}
\fi
\def\eminnershape{\mcfamily \upshape}%
%</plcore|platexrelease>
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{2016/04/17}{\DeclareEmphSequence}
%<platexrelease>                               {Support \eminnershape}%
%<platexrelease>\DeclareRobustCommand\em
%<platexrelease>        {\@nomath\em \ifdim \fontdimen\@ne\font >\z@
%<platexrelease>                       \eminnershape \else \gtfamily \itshape \fi}%
%<platexrelease>\def\eminnershape{\mcfamily \upshape}%
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{2015/01/01}{\DeclareEmphSequence}
%<platexrelease>                               {Non-supported \eminnershape}%
%<platexrelease>\DeclareRobustCommand\em
%<platexrelease>        {\@nomath\em \ifdim \fontdimen\@ne\font >\z@ 
%<platexrelease>                       \mcfamily \upshape \else \gtfamily \itshape \fi}
%<platexrelease>\def\eminnershape{\upshape}% defined by LaTeX, but not used by pLaTeX
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{0000/00/00}{\DeclareEmphSequence}
%<platexrelease>                               {ASCII Corporation original}%
%<platexrelease>\DeclareRobustCommand\em
%<platexrelease>        {\@nomath\em \ifdim \fontdimen\@ne\font >\z@ 
%<platexrelease>                       \mcfamily \upshape \else \gtfamily \itshape \fi}
%<platexrelease>\let\eminnershape\@undefined
%<platexrelease>\plEndIncludeInRelease
%    \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
% $B=DAH$G$N0LCV$rD4@0$9$k$h$&$K:FDj5A$r$7$^$9!#(B
% $B$b$H$O(B\file{ltoutenc.dtx}$B$GDj5A$5$l$F$$$^$9!#(B
%
% $B$J$*!"(B|\_|$B$r?t<0%b!<%I$G;H$&$H(B|\mathunderscore|$B$,<B9T$5$l$^$9!#(B
%
% $B%3%_%e%K%F%#HG$G$O=D?t<0%G%#%l%/%7%g%s$G%Y!<%9%i%$%sJd@5NL$,(B
% $BJQ$@$C$?$N$rD>$7$^$7$?!#$"$o$;$F2#%G%#%l%/%7%g%s$G$b%Y!<%9%i%$%s(B
% $BJd@5$KDI?o$9$k$h$&$K$7$F$$$^$9!#(B
% \changes{v1.6g}{2017/03/07}{$B%Y!<%9%i%$%sJd@5NL$r=$@5(B}
%    \begin{macrocode}
%<platexrelease>\plIncludeInRelease{2017/04/08}{\textunderscore}
%<platexrelease>                   {Baseline shift for \textunderscore}%
%<*plcore|platexrelease>
\DeclareTextCommandDefault{\textunderscore}{%
  \leavevmode\kern.06em
  \raise-\iftdir\ifmdir\ybaselineshift
         \else\tbaselineshift\fi
         \else\ybaselineshift\fi
  \vbox{\hrule\@width.3em}}
%</plcore|platexrelease>
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{0000/00/00}{\textunderscore}
%<platexrelease>                   {ASCII Corporation original}%
%<platexrelease>\DeclareTextCommandDefault{\textunderscore}{%
%<platexrelease>  \leavevmode\kern.06em
%<platexrelease>  \iftdir\raise-\tbaselineshift\fi
%<platexrelease>  \vbox{\hrule\@width.3em}}
%<platexrelease>\plEndIncludeInRelease
%    \end{macrocode}
% \end{macro}
%
%
% \subsection{$B9g@.J8;z(B}
% \LaTeXe{}$B$N%+!<%M%k$N%3!<%I$r$=$N$^$^;H$&$H!"(Bp\TeX{}$B$N%Y!<%9%i%$%s(B
% $BJd@5NL$,%<%m$G$J$$$H$-$K9g@.J8;z$,$*$+$7$/$J$C$F$$$?$?$a!"BP:v$7$^$9!#(B
%
% \begin{macro}{\pltx@saved@oalign}
% |\b{...}|, |\c{...}|, |\d{...}|, |\k{...}|$B$J$I$N9g@.J8;z$r=$@5$9$k$?$a!"(B
% \file{ltplain.dtx}$B$N(B|\oalign|$B$r>e=q$-$7$^$9!#(B
%    \begin{macrocode}
%<platexrelease>%\plIncludeInRelease{0000/00/00}{\pltx@saved@oalign}
%<platexrelease>%    {Special case! (This block is required for any emulation date)}%
%<*plcore|platexrelease>
%    \end{macrocode}
% $B$^$:!"85$N(B\LaTeX{}$B$N%3!<%I$r%3%T!<$7$?$b$N$G$9!#(B
% $B@\F,<-(B|\pltx@saved...|$B$rIU$1$F$*$-$^$9!#(B
% \changes{v1.6r}{2018/07/25}{$B%3!<%IDI2C(B}
%    \begin{macrocode}
\def\pltx@saved@oalign#1{\leavevmode\vtop{\baselineskip\z@skip \lineskip.25ex%
  \ialign{##\crcr#1\crcr}}}
%</plcore|platexrelease>
%<platexrelease>%\plEndIncludeInRelease
%    \end{macrocode}
%  \end{macro}
%
% \begin{macro}{\pltx@oalign}
% $B<!$K!"(B\pLaTeX{}$B$N?7$7$$%3!<%I$G$9!#(B
% \changes{v1.6r}{2018/07/25}{$B%3!<%IDI2C(B}
%    \begin{macrocode}
%<platexrelease>\plIncludeInRelease{2018/07/28}{\pltx@oalign}
%<platexrelease>                   {Fix for non-zero baselineshift}%
%<*plcore|platexrelease>
\def\pltx@oalign#1{\ifmmode
  \leavevmode\vtop{\baselineskip\z@skip \lineskip.25ex%
    \ialign{##\crcr#1\crcr}}%
\else
  \iftdir\ybaselineshift\tbaselineshift\fi
  \m@th$\hbox{\vtop{\baselineskip\z@skip \lineskip.25ex%
    \ialign{##\crcr#1\crcr}}}$%
\fi}
%</plcore|platexrelease>
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{0000/00/00}{\pltx@oalign}
%<platexrelease>                   {Fix for non-zero baselineshift}%
%<platexrelease>\let\pltx@oalign\@undefined
%<platexrelease>\plEndIncludeInRelease
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\pltx@saved@ltx@sh@ft}
% |\b{...}|$B$H(B|\d{...}|$B$N9g@.J8;z$r=$@5$9$k$?$a!"(B
% \file{ltplain.dtx}$B$N(B|\ltx@sh@ft|$B$r>e=q$-$7$^$9!#(B
%    \begin{macrocode}
%<platexrelease>%\plIncludeInRelease{0000/00/00}{\pltx@saved@ltx@sh@ft}
%<platexrelease>%    {Special case! (This block is required for any emulation date)}%
%<*plcore|platexrelease>
%    \end{macrocode}
% $B$^$:!"85$N(B\LaTeX{}$B$N%3!<%I$r%3%T!<$7$?$b$N$G$9!#(B
% $B@\F,<-(B|\pltx@saved...|$B$rIU$1$F$*$-$^$9!#(B
% \changes{v1.6r}{2018/07/25}{$B%3!<%IDI2C(B}
%    \begin{macrocode}
\def\pltx@saved@ltx@sh@ft #1{%
  \dimen@ #1%
  \kern \strip@pt
    \fontdimen1\font \dimen@
  } % kern by #1 times the current slant
%</plcore|platexrelease>
%<platexrelease>%\plEndIncludeInRelease
%    \end{macrocode}
%  \end{macro}
%
% \begin{macro}{\pltx@ltx@sh@ft}
% $B<!$K!"(B\pLaTeX{}$B$N?7$7$$%3!<%I$G$9!#(B
% \changes{v1.6r}{2018/07/25}{$B%3!<%IDI2C(B}
%    \begin{macrocode}
%<platexrelease>\plIncludeInRelease{2018/07/28}{\pltx@ltx@sh@ft}
%<platexrelease>                   {Fix for non-zero baselineshift}%
%<*plcore|platexrelease>
\def\pltx@ltx@sh@ft #1{%
  \ybaselineshift\z@
  \dimen@ #1%
  \kern \strip@pt
    \fontdimen1\font \dimen@
  } % kern by #1 times the current slant
%</plcore|platexrelease>
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{0000/00/00}{\pltx@ltx@sh@ft}
%<platexrelease>                   {Fix for non-zero baselineshift}%
%<platexrelease>\let\pltx@ltx@sh@ft\@undefined
%<platexrelease>\plEndIncludeInRelease
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\g@tlastchart@}
% \TeX\ Live 2015$B$GDI2C$5$l$?(B\cs{lastnodechar}$B$rMxMQ$7$F!"(B
% $B!VD>A0$NJ8;z!W$NId9f0LCV$rF@$k%3!<%I$G$9!#(B
% \cs{lastnodechar}$B$,L$Dj5A$N>l9g$O(B$-1$$B$,JV$j$^$9!#(B
% \changes{v1.6c}{2016/06/06}{$B%^%/%mDI2C(B}
%    \begin{macrocode}
%<platexrelease>\plIncludeInRelease{2016/06/10}{\g@tlastchart@}
%<platexrelease>                   {Added \g@tlastchart@}%
%<*plcore|platexrelease>
\def\g@tlastchart@#1{#1\ifx\lastnodechar\@undefined\m@ne\else\lastnodechar\fi}
%</plcore|platexrelease>
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{0000/00/00}{\g@tlastchart@}
%<platexrelease>                   {Added \g@tlastchart@}%
%<platexrelease>\let\g@tlastchart@\@undefined
%<platexrelease>\plEndIncludeInRelease
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\pltx@isletter}
% $BBh0l0z?t$N%^%/%m(B(|#1|)$B$NCV49%F%-%9%H$,!"%+%F%4%j%3!<%I(B11$B$+(B12$B$NJ8;z%H!<%/%s(B1$BJ8;z$G$"$C$?(B
% $B>l9g$KBhFs0z?t$NFbMF$KE83+$5$l!"$=$&$G$J$$>l9g$OBh;00z?t$NFbMF$KE83+$5$l$^$9!#(B
% \changes{v1.6c}{2016/06/06}{$B%^%/%mDI2C(B}
% \changes{v1.6d}{2016/06/19}{$B%"%/%;%s%HIU$-J8;z$r$5$i$K=$@5(B(forum:1951)}
% \changes{v1.6r}{2018/07/25}{PDF$B$N$7$*$j$K%"%/%;%s%HJ8;z$,4^$^$l$k>l9g$KBP1~(B}
%    \begin{macrocode}
%<platexrelease>\plIncludeInRelease{2018/07/28}{\pltx@isletter}
%<platexrelease>                   {Support PD1 encoding}%
%<*plcore|platexrelease>
\def\pltx@mark{\pltx@mark@}
\let\pltx@scanstop\relax
\long\def\pltx@cond#1\fi{%
  #1\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi}
\def\pltx@pdfencA{PD1}
\def\pltx@composite@chkenc{%
  \ifx\pltx@pdfencA\f@encoding
    \expandafter\@firstoftwo
  \else
    \expandafter\@secondoftwo
  \fi}
\long\def\pltx@isletter#1{%
  \expandafter\pltx@isletter@i#1\pltx@scanstop}
\long\def\pltx@isletter@i#1\pltx@scanstop{%
  \pltx@cond\ifx\pltx@mark#1\pltx@mark\fi{\@firstoftwo}%
    {\pltx@isletter@ii\pltx@scanstop#1\pltx@scanstop{}#1\pltx@mark}}
\long\def\pltx@isletter@ii#1\pltx@scanstop#{%
  \pltx@cond\ifx\pltx@mark#1\pltx@mark\fi%
    {\pltx@isletter@iii}{\pltx@isletter@iv}}
\long\def\pltx@isletter@iii#1\pltx@mark{\@secondoftwo}
\long\def\pltx@isletter@iv#1#2#3\pltx@mark{%
  \pltx@cond\ifx\pltx@mark#3\pltx@mark\fi{%
    \pltx@cond{\ifnum0\ifcat A\noexpand#21\fi\ifcat=\noexpand#21\fi>\z@}\fi
      {\@firstoftwo}{\pltx@composite@chkenc}%
  }{\pltx@composite@chkenc}}
%</plcore|platexrelease>
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{2016/06/10}{\pltx@isletter}
%<platexrelease>                   {Added \pltx@isletter}%
%<platexrelease>\def\pltx@mark{\pltx@mark@}
%<platexrelease>\let\pltx@scanstop\relax
%<platexrelease>\long\def\pltx@cond#1\fi{%
%<platexrelease>  #1\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi}
%<platexrelease>\long\def\pltx@isletter#1{%
%<platexrelease>  \expandafter\pltx@isletter@i#1\pltx@scanstop}
%<platexrelease>\long\def\pltx@isletter@i#1\pltx@scanstop{%
%<platexrelease>  \pltx@cond\ifx\pltx@mark#1\pltx@mark\fi{\@firstoftwo}%
%<platexrelease>    {\pltx@isletter@ii\pltx@scanstop#1\pltx@scanstop{}#1\pltx@mark}}
%<platexrelease>\long\def\pltx@isletter@ii#1\pltx@scanstop#{%
%<platexrelease>  \pltx@cond\ifx\pltx@mark#1\pltx@mark\fi%
%<platexrelease>    {\pltx@isletter@iii}{\pltx@isletter@iv}}
%<platexrelease>\long\def\pltx@isletter@iii#1\pltx@mark{\@secondoftwo}
%<platexrelease>\long\def\pltx@isletter@iv#1#2#3\pltx@mark{%
%<platexrelease>  \pltx@cond\ifx\pltx@mark#3\pltx@mark\fi{%
%<platexrelease>    \pltx@cond{\ifnum0\ifcat A\noexpand#21\fi\ifcat=\noexpand#21\fi>\z@}\fi
%<platexrelease>      {\@firstoftwo}{\@secondoftwo}%
%<platexrelease>  }{\@secondoftwo}}
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{0000/00/00}{\pltx@isletter}
%<platexrelease>                   {Added \pltx@isletter}%
%<platexrelease>\let\pltx@isletter\@undefined
%<platexrelease>\plEndIncludeInRelease
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@text@composite}
% $B9g@.J8;z$NFbItL?Na$G$9!#(B
% v1.6a$B$G8m$C$F(B\LaTeX{}$B$NDj5A$r>e=q$-$7$F$7$^$$$^$7$?$,!"(Bv1.6c$B$G30$7$^$7$?!#(B
% \changes{v1.6a}{2016/04/01}{$B%Y!<%9%i%$%sJd@5NL$,(B0$B$G$J$$$H$-$K(B
%    \cs{AA}$B$J$I0lIt$N9g@.J8;z$,$*$+$7$/$J$k$3$H$KBP1~$9$k$?$a:FDj5A(B}
% \changes{v1.6c}{2016/06/06}{v1.6a$B$G$N8m$C$?:FDj5A$r:o=|(B(forum:1941)}
%    \begin{macrocode}
%<platexrelease>\plIncludeInRelease{2016/06/10}{\@text@composite}
%<platexrelease>                   {Fix for non-zero baselineshift (revert)}%
%<platexrelease>\def\@text@composite#1#2#3\@text@composite{%
%<platexrelease>   \expandafter\@text@composite@x
%<platexrelease>      \csname\string#1-\string#2\endcsname}
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{2016/04/17}{\@text@composite}
%<platexrelease>                   {Fix for non-zero baselineshift (wrong)}%
%<platexrelease>\def\@text@composite#1#2#3#{%
%<platexrelease>  \begingroup
%<platexrelease>  \setbox\z@=\hbox\bgroup%
%<platexrelease>  \ybaselineshift\z@\tbaselineshift\z@
%<platexrelease>  \expandafter\@text@composite@x
%<platexrelease>  \csname\string#1-\string#2\endcsname}
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{0000/00/00}{\@text@composite}
%<platexrelease>                   {LaTeX2e original}%
%<platexrelease>\def\@text@composite#1#2#3\@text@composite{%
%<platexrelease>   \expandafter\@text@composite@x
%<platexrelease>      \csname\string#1-\string#2\endcsname}
%<platexrelease>\plEndIncludeInRelease
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\pltx@saved@text@composite@x}
% $B9g@.J8;z$NFbItL?Na(B|\@text@composite@x|$B$N$?$a$K!"(B2$BDL$j$NDj5A$r=`Hw$7$^$9!#(B
%    \begin{macrocode}
%<platexrelease>%\plIncludeInRelease{0000/00/00}{\pltx@saved@text@composite@x}
%<platexrelease>%    {Special case! (This block is required for any emulation date)}%
%<*plcore|platexrelease>
%    \end{macrocode}
% $B$^$:!"85$N(B\LaTeX{}$B$N%3!<%I$r%3%T!<$7$?$b$N$G$9!#(B
% $B@\F,<-(B|\pltx@saved...|$B$rIU$1$F$*$-$^$9!#(B
% \changes{v1.6r}{2018/07/25}{$B%3!<%I@0M}(B}
%    \begin{macrocode}
\def\pltx@saved@text@composite@x#1{%
   \ifx#1\relax
      \expandafter\@secondoftwo
   \else
      \expandafter\@firstoftwo
   \fi
   #1}
%</plcore|platexrelease>
%<platexrelease>%\plEndIncludeInRelease
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\pltx@text@composite@x}
% $B<!$K!"(B\pLaTeX{}$B$N?7$7$$%3!<%I$G$9!#(B|\g@tlastchart@|$B$H(B|\pltx@isletter|$B$r;H$$$^$9!#(B
% \changes{v1.6r}{2018/07/25}{$B%3!<%I@0M}(B}
%    \begin{macrocode}
%<platexrelease>\plIncludeInRelease{2018/07/28}{\pltx@text@composite@x}
%<platexrelease>                   {Fix for non-zero baselineshift}%
%<*plcore|platexrelease>
\def\pltx@text@composite@x#1#2{%
  \ifx#1\relax
    #2%
  \else\pltx@isletter{#1}{#1}{%
    \begingroup
%    \end{macrocode}
% |#1|$B$r<B:]$KAH$s$G$_$F!"Id9f0LCV$N<hF@$r;n$_$^$9!#(B
% $B7k2L$O(B|\@tempcntb|$B$KJ]B8$5$l$^$9!#<hF@$K<:GT$7$?>l9g$O(B$-1$$B$G$9!#(B
%    \begin{macrocode}
    \setbox\z@\hbox\bgroup
      \ybaselineshift\z@\tbaselineshift\z@
      #1%
      \g@tlastchart@\@tempcntb
      \xdef\pltx@composite@temp{\noexpand\@tempcntb=\the\@tempcntb\relax}%
      \aftergroup\pltx@composite@temp
    \egroup
%    \end{macrocode}
% $B%"%/%;%s%H$,IU$/!VK\BN$NJ8;z!W$,2$J8J8;z$H?dB,$5$l$k>l9g$K$O!"(B
% $B0lC6?t<0%b!<%I$KF~$k$3$H$K$h$C$F(B|\xkanjiskip|$B$,A08e$KF~$k$h$&$K$7$^$9!#(B
% $B$3$3$G$O!"<hF@$K<:GT$7$?>l9g$b2$J8J8;z$G$"$k$H2>Dj$7$F$$$^$9!#(B
% $B$^$?!"Id9f0LCV$N<hF@$K@.8y$7$F$$$?>l9g$O!"$=$N(B|\xspcode|$B$N>uBV$K1~$8$F!"(B
% $B?t<0%b!<%I$NA08e$K(B|\null|$B$rJd$C$F(B|\xkanjiskip|$B$NA^F~$rM^@)$7$^$9!#(B
%    \begin{macrocode}
    \ifnum\@tempcntb<\@cclvi
      \ifnum\@tempcntb>\m@ne
        \ifodd\xspcode\@tempcntb\else\leavevmode\null\fi
      \fi
      \begingroup\m@th$%
        \ifx\textbaselineshiftfactor\@undefined\else
          \textbaselineshiftfactor\z@\fi
        \box\z@
      $\endgroup
      \ifnum\@tempcntb>\m@ne
        \ifnum\xspcode\@tempcntb<2\null\fi
      \fi
%    \end{macrocode}
% $B%"%/%;%s%H$,IU$/!VK\BN$NJ8;z!W$,OBJ8J8;z$H?dB,$5$l$k>l9g$K$O!"(B
% $B%Y!<%9%i%$%sJd@5$r9T$o$:$K=PNO$7$^$9!#(B
%    \begin{macrocode}
    \else
      {\ybaselineshift\z@\tbaselineshift\z@#1}%
    \fi
    \endgroup}%
  \fi
}
%</plcore|platexrelease>
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{2016/06/10}{\pltx@text@composite@x}
%<platexrelease>                   {Fix for non-zero baselineshift}%
%<platexrelease>\def\pltx@text@composite@x#1#2{%
%<platexrelease>  \ifx#1\relax
%<platexrelease>    #2%
%<platexrelease>  \else\pltx@isletter{#1}{#1}{%
%<platexrelease>    \begingroup
%<platexrelease>    \setbox\z@\hbox\bgroup%
%<platexrelease>      \ybaselineshift\z@\tbaselineshift\z@
%<platexrelease>      #1%
%<platexrelease>      \g@tlastchart@\@tempcntb
%<platexrelease>      \xdef\pltx@composite@temp{\noexpand\@tempcntb=\the\@tempcntb\relax}%
%<platexrelease>      \aftergroup\pltx@composite@temp
%<platexrelease>    \egroup
%<platexrelease>    \ifnum\@tempcntb<\z@
%<platexrelease>      \@tempdima=\iftdir
%<platexrelease>          \ifmdir
%<platexrelease>            \ifmmode\tbaselineshift\else\ybaselineshift\fi
%<platexrelease>          \else
%<platexrelease>            \tbaselineshift
%<platexrelease>          \fi
%<platexrelease>        \else
%<platexrelease>          \ybaselineshift
%<platexrelease>        \fi
%<platexrelease>      \@tempcntb=\@cclvi
%<platexrelease>    \else\@tempdima=\z@
%<platexrelease>    \fi
%<platexrelease>    \ifnum\@tempcntb<\@cclvi
%<platexrelease>      \ifnum\@tempcntb>\m@ne\ifnum\@tempcntb<\@cclvi
%<platexrelease>        \ifodd\xspcode\@tempcntb\else\leavevmode\hbox{}\fi
%<platexrelease>      \fi\fi
%<platexrelease>      \begingroup\mathsurround\z@$%
%<platexrelease>        \ifx\textbaselineshiftfactor\@undefined\else
%<platexrelease>          \textbaselineshiftfactor\z@\fi
%<platexrelease>        \box\z@
%<platexrelease>      $\endgroup%
%<platexrelease>      \ifnum\@tempcntb>\m@ne\ifnum\@tempcntb<\@cclvi
%<platexrelease>        \ifnum\xspcode\@tempcntb<2\hbox{}\fi
%<platexrelease>      \fi\fi
%<platexrelease>    \else
%<platexrelease>      \ifdim\@tempdima=\z@{\ybaselineshift\z@\tbaselineshift\z@#1}%
%<platexrelease>      \else\leavevmode\lower\@tempdima\box\z@\fi
%<platexrelease>    \fi
%<platexrelease>    \endgroup}%
%<platexrelease>  \fi
%<platexrelease>}
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{2016/04/17}{\pltx@text@composite@x}
%<platexrelease>                   {Fix for non-zero baselineshift}%
%<platexrelease>\def\pltx@text@composite@x#1#2{%
%<platexrelease>  \ifx#1\relax
%<platexrelease>    \expandafter\@secondoftwo
%<platexrelease>  \else
%<platexrelease>    \expandafter\@firstoftwo
%<platexrelease>  \fi
%<platexrelease>  #1{#2}\egroup
%<platexrelease>  \leavevmode
%<platexrelease>  \expandafter\lower
%<platexrelease>    \iftdir
%<platexrelease>      \ifmdir
%<platexrelease>        \ifmmode\tbaselineshift\else\ybaselineshift\fi
%<platexrelease>      \else
%<platexrelease>        \tbaselineshift
%<platexrelease>      \fi
%<platexrelease>    \else
%<platexrelease>      \ybaselineshift
%<platexrelease>    \fi
%<platexrelease>    \box\z@
%<platexrelease>  \endgroup}
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{0000/00/00}{\pltx@text@composite@x}
%<platexrelease>                   {Fix for non-zero baselineshift}%
%<platexrelease>\let\pltx@text@composite@x\@undefined
%<platexrelease>\plEndIncludeInRelease
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\fixcompositeaccent}
% \begin{macro}{\nofixcompositeaccent}
% \begin{macro}{\@text@composite@x}
% $B>e5-(B2$BDL$j$NDj5A$N$&$A!"K\Ev$O(B\pLaTeX{}$B$NDj5A$rMQ$$$?$$$N$G$9$,!"(B
% $BA[Dj30$N%(%i!<$,H/@8$9$k$N$rKI$0$?$a!"(B
% $B%G%U%)%k%H$G$O(B\LaTeX{}$B$NDj5A$N$^$^$H$7$F$*$-$^$9!#(B
% $B$=$7$F!"(B|\fixcompositeaccent|$B$,M-8z$J;~$@$1(B\pLaTeX{}$B$NDj5A$rMQ$$$^$9!#(B
% |\nofixcompositeaccent|$B$O$3$NH]Dj$G$9!#(B
% \changes{v1.6r}{2018/07/25}{\cs{[no]fixcompositeaccent}$B%^%/%mDI2C(B}
%    \begin{macrocode}
%<platexrelease>%\plIncludeInRelease{0000/00/00}{\@text@composite@x}
%<platexrelease>%    {Special case! (This block is required for any emulation date)}%
%<*plcore|platexrelease>
\DeclareRobustCommand\fixcompositeaccent{%
  \let\oalign\pltx@oalign
  \let\ltx@sh@ft\pltx@ltx@sh@ft
  \let\@text@composite@x\pltx@text@composite@x
}
\DeclareRobustCommand\nofixcompositeaccent{%
  \let\oalign\pltx@saved@oalign
  \let\ltx@sh@ft\pltx@saved@ltx@sh@ft
  \let\@text@composite@x\pltx@saved@text@composite@x
}
\nofixcompositeaccent
%</plcore|platexrelease>
%<platexrelease>%\plEndIncludeInRelease
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\@text@composite@x}
% $B%(%_%e%l!<%7%g%s@lMQ$N%3!<%I$G$9!#(B
% \changes{v1.6a}{2016/04/01}{$B%Y!<%9%i%$%sJd@5NL$,(B0$B$G$J$$$H$-$K(B
%    \cs{AA}$B$J$I0lIt$N9g@.J8;z$,$*$+$7$/$J$k$3$H$X$NBP1~!#(B}
% \changes{v1.6c}{2016/06/06}{v1.6a$B$G$N=$@5$G(B\'e $B$J$IA4$F$N%"%/%;%s%HIU$-J8;z$G(B
%    $B<~0O$K(B\cs{xkanjiskip}$B$,F~$i$J$/$J$C$F$$$?$N$r=$@5!#(B}
% \changes{v1.6e}{2016/06/26}{v1.6a$B0J9_$N=$@5$GA4$F$N%"%/%;%s%HIU$-J8;z$G(B
%    $B%H%i%V%k$,Aj<!$$$@$?$a!"$$$C$?$s%Q%C%A$r=|5n!#(B}
% \changes{v1.6r}{2018/07/25}{$B%3!<%I@0M}(B}
%    \begin{macrocode}
%<platexrelease>\plIncludeInRelease{2018/07/28}{\fixcompositeaccent}
%<platexrelease>                   {Fix for non-zero baselineshift}%
%<platexrelease>\nofixcompositeaccent % force LaTeX original (conditional default)
%<platexrelease>% other commands are actually defined for pLaTeX2e 2018-07-28
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{2016/07/01}{\fixcompositeaccent}
%<platexrelease>                   {Fix for non-zero baselineshift}%
%<platexrelease>\nofixcompositeaccent % force LaTeX original (always)
%<platexrelease>\let\fixcompositeaccent\@undefined
%<platexrelease>\let\nofixcompositeaccent\@undefined
%<platexrelease>\let\pltx@saved@oalign\@undefined
%<platexrelease>\let\pltx@oalign\@undefined
%<platexrelease>\let\pltx@saved@ltx@sh@ft\@undefined
%<platexrelease>\let\pltx@ltx@sh@ft\@undefined
%<platexrelease>\let\pltx@saved@text@composite@x\@undefined
%<platexrelease>\let\pltx@text@composite@x\@undefined
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{2016/04/17}{\fixcompositeaccent}
%<platexrelease>                   {Fix for non-zero baselineshift}%
%<platexrelease>\fixcompositeaccent % force pLaTeX definition (always)
%<platexrelease>\let\oalign\pltx@saved@oalign % no fix at that time
%<platexrelease>\let\ltx@sh@ft\pltx@saved@ltx@sh@ft % no fix at that time
%<platexrelease>\let\fixcompositeaccent\@undefined
%<platexrelease>\let\nofixcompositeaccent\@undefined
%<platexrelease>\let\pltx@saved@oalign\@undefined
%<platexrelease>\let\pltx@oalign\@undefined
%<platexrelease>\let\pltx@saved@ltx@sh@ft\@undefined
%<platexrelease>\let\pltx@ltx@sh@ft\@undefined
%<platexrelease>\let\pltx@saved@text@composite@x\@undefined
%<platexrelease>\let\pltx@text@composite@x\@undefined
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{0000/00/00}{\fixcompositeaccent}
%<platexrelease>                   {Fix for non-zero baselineshift}%
%<platexrelease>\nofixcompositeaccent % force LaTeX original (always)
%<platexrelease>\let\fixcompositeaccent\@undefined
%<platexrelease>\let\nofixcompositeaccent\@undefined
%<platexrelease>\let\pltx@saved@oalign\@undefined
%<platexrelease>\let\pltx@oalign\@undefined
%<platexrelease>\let\pltx@saved@ltx@sh@ft\@undefined
%<platexrelease>\let\pltx@ltx@sh@ft\@undefined
%<platexrelease>\let\pltx@saved@text@composite@x\@undefined
%<platexrelease>\let\pltx@text@composite@x\@undefined
%<platexrelease>\plEndIncludeInRelease
%    \end{macrocode}
% \end{macro}
%
%
% \subsection{$B%$%?%j%C%/Jd@5$H(B\cs{xkanjiskip}}
%
% \begin{macro}{\check@nocorr@}
% $B!V(B\verb|$B$"(B\texttt{abc}$B$$(B|$B!W$H$7$?$H$-!"=qBN$NJQ99$r;XDj$5$l$?2$J8$N:8B&$K(B
% $BOB2$J84V%9%Z!<%9$,F~$i$J$$$N$r=$@5$7$^$9!#(B
% \changes{v1.3i}{2000/07/13}{\cs{text..}$B%3%^%s%I$N:8B&$K(B\cs{xkanjiskip}$B$,(B
%    $BF~$i$J$$$N$r=$@5!J$"$j$,$H$&!"25It!wElBg$5$s!K(B}
%
% $B%3%_%e%K%F%#HG$N=$@5!'(Bp\TeX{}$B$N%P!<%8%g%s(Bp3.1.11$B0JA0$O!"%$%?%j%C%/Jd@5(B
% $B!J0J2<(B|\/|$B$H5-$9!K$H(B|\xkanjiskip|$B$NA^F~$,>WFM(B\footnote{$BOBJ8$N%$%?%j%C%/(B
% $BJd@5MQ(Bkern$B$,!"DL>o$N(Bexplicit$B$J!J(B\cs{kern}$B$K$h$k!K(Bkern$B$HF1$807$$$r<u$1$F(B
% $B$$$?$?$a!#(B}$B$7(B
% \begin{enumerate}
% \item $B!V2$J8J8;z(B $B"*(B |\/|$B!W$N>l9g$K$O(B|\/|$B$rL5;k$9$k(B
%       $B!J$D$^$j8e$K(B|\xkanjiskip|$BA^F~2DG=!K(B
% \item $B!VOBJ8J8;z(B $B"*(B |\/|$B!W$N>l9g$K$O$3$N8e$K(B|\xkanjiskip|$B$OA^F~$G$-$J$$(B
% \end{enumerate}
% $B$H$$$&5sF0$K$J$C$F$$$^$7$?!#(Bp3.2$B!J(B2010$BG/!K$N=$@5$G(B
% \begin{itemize}
% \item |\xkanjiskip|$BA^F~;~$K$O$$$+$J$k>l9g$b(B|\/|$B$rL5;k$9$k(B
% \end{itemize}
% $B$H$$$&5sF0$KJQ99$5$l$^$7$?!#(Bp\LaTeX{}$B%+!<%M%k$N(B|\check@nocorr@|$B$N=$@5$O!"(B
% p3.1.11$B0JA0$N(B2.$B$X$NBP=h$G$7$?$,!"$3$l$O!V(B|\text...{}|$B$N:8$X$N(B|\/|$BA^F~!W$r(B
% $BL58z2=$7$F$$$k$N$G!"(B|\textit{f\textup{a}}|$B$GK\MhF~$k$Y$-%$%?%j%C%/Jd@5$,(B
% $BF~$j$^$;$s$G$7$?!#(Bp3.2$B0J9_$G$O(Bp\TeX{}$B$N(B|\xkanjiskip|$BBP:v$,ITMW$K$J$C$F(B
% $B$$$^$9$N$G!"%3%_%e%K%F%#HG$G$O:o=|$7$^$7$?!#(B
% \changes{v1.6i}{2017/09/24}{2010$BG/$N(Bp\TeX{}$BK\BN$N=$@5$K$h$j!"(Bv1.3i$B$GF~$l$?(B
%    $BBP=h$,ITMW$K$J$C$F$$$?$N$G:o=|(B}
%    \begin{macrocode}
%<platexrelease>\plIncludeInRelease{2017/10/28}{\check@nocorr@}
%<platexrelease>                   {Italic correction before \textt...}%
%<platexrelease>\def \check@nocorr@ #1#2\nocorr#3\@nil {%
%<platexrelease>  \let \check@icl \maybe@ic
%<platexrelease>  \def \check@icr {\ifvmode \else \aftergroup \maybe@ic \fi}%
%<platexrelease>  \def \reserved@a {\nocorr}%
%<platexrelease>  \def \reserved@b {#1}%
%<platexrelease>  \def \reserved@c {#3}%
%<platexrelease>  \ifx \reserved@a \reserved@b
%<platexrelease>    \ifx \reserved@c \@empty
%<platexrelease>      \let \check@icl \@empty
%<platexrelease>    \else
%<platexrelease>      \let \check@icl \@empty
%<platexrelease>      \let \check@icr \@empty
%<platexrelease>    \fi
%<platexrelease>  \else
%<platexrelease>    \ifx \reserved@c \@empty
%<platexrelease>    \else
%<platexrelease>      \let \check@icr \@empty
%<platexrelease>    \fi
%<platexrelease>  \fi
%<platexrelease>}
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{0000/00/00}{\check@nocorr@}
%<platexrelease>                   {ASCII Corporation original}%
%<platexrelease>\def \check@nocorr@ #1#2\nocorr#3\@nil {%
%<platexrelease>  \let \check@icl \relax % changed from \maybe@ic
%<platexrelease>  \def \check@icr {\ifvmode \else \aftergroup \maybe@ic \fi}%
%<platexrelease>  \def \reserved@a {\nocorr}%
%<platexrelease>  \def \reserved@b {#1}%
%<platexrelease>  \def \reserved@c {#3}%
%<platexrelease>  \ifx \reserved@a \reserved@b
%<platexrelease>    \ifx \reserved@c \@empty
%<platexrelease>      \let \check@icl \@empty
%<platexrelease>    \else
%<platexrelease>      \let \check@icl \@empty
%<platexrelease>      \let \check@icr \@empty
%<platexrelease>    \fi
%<platexrelease>  \else
%<platexrelease>    \ifx \reserved@c \@empty
%<platexrelease>    \else
%<platexrelease>      \let \check@icr \@empty
%<platexrelease>    \fi
%<platexrelease>  \fi
%<platexrelease>}
%<platexrelease>\plEndIncludeInRelease
%    \end{macrocode}
% \end{macro}
%
%
% \begin{macro}{\<}
% $B:G8e$K!"(B|\inhibitglue|$B$N4JN,7A$rDj5A$7$^$9!#(B
% $B$3$N%3%^%s%I$O!"OBJ8%U%)%s%H$N%a%H%j%C%/>pJs$+$i!"<+F0E*$KA^F~$5$l$k(B
% $B%0%k!<$NA^F~$r6X;_$7$^$9!#(B
%
% 2014$BG/$N(Bp\TeX{}$B$N(B|\inhibitglue|$B$N%P%0=$@5$KH<$$!"(B
% |\inhibitglue|$B$,?bD>%b!<%I$G$O8z$+$J$/$J$j$^$7$?!#(B
% \LaTeX{}$B$G$O?bD>%b!<%I$H?eJ?%b!<%I$N6hJL$,1#$5$l$F$$$^$9$N$G!"(B
% p\LaTeX{}$B$NDI2CL?Na$G$"$k(B|\<|$B$OCJMnF,$G$b8z$/$h$&$K=$@5$7$^$9!#(B
%
% |\DeclareRobustCommand|$B$r;H$&$H(B|\protect|$B$N1F6A$GA0J}$NJ8;z$KBP$9$k(B
% |\inhibitglue|$B$,8z$+$J$/$J$k$N$G!"(Be-\TeX{}$B$N(B|\protected|$B$,I,MW$G$9!#(B
% \changes{v1.6i}{2017/09/24}{\cs{<}$B$,CJMnF,$G$b8z$/$h$&$K$7$?(B}
% \changes{v1.6v}{2020/02/01}{$BDj5A$r(Bpldefs$B$+$i(Bplcore$B$X0\F0(B}
%    \begin{macrocode}
%<platexrelease>\plIncludeInRelease{2017/10/28}{\<}
%<platexrelease>                   {\inhibitglue in vertical mode}%
%<*plcore|platexrelease>
\ifx\protected\@undefined
\def\<{\inhibitglue}
\else
\protected\def\<{\ifvmode\leavevmode\fi\inhibitglue}
\fi
%</plcore|platexrelease>
%<platexrelease>\plEndIncludeInRelease
%<platexrelease>\plIncludeInRelease{0000/00/00}{\<}
%<platexrelease>                   {ASCII Corporation original}%
%<platexrelease>\def\<{\inhibitglue}
%<platexrelease>\plEndIncludeInRelease
%    \end{macrocode}
% \end{macro}
%
%
% \subsection{$B%G%U%)%k%H@_Dj%U%!%$%k$NFI$_9~$_(B}
% $B%G%U%)%k%H@_Dj%U%!%$%k(B\file{pldefs.ltx}$B$O!"$b$H$b$H(B\file{plcore.ltx}$B$NESCf$G(B
% $BFI$_9~$s$G$$$^$7$?$,!"(B2018$BG/0J9_$N?7$7$$%3%_%e%K%F%#HG(B\pLaTeX{}$B$G$O(B
% \file{platex.ltx}$B$+$iFI$_9~$`$3$H$K$7$^$7$?!#(B
% $B<B:]$NCf?H$K$D$$$F$O!"Bh(B\ref{plfonts:pldefs}$B@a$r;2>H$7$F$/$@$5$$!#(B
% \changes{v1.6k}{2017/12/05}{$B%G%U%)%k%H@_Dj%U%!%$%k$NFI$_9~$_$r(B
%    \file{plcore.ltx}$B$+$i(B\file{platex.ltx}$B$X0\F0(B}
%
%
% \section{$B%G%U%)%k%H@_Dj%U%!%$%k(B}\label{plfonts:pldefs}
% $B$3$3$G$O!"%U%)!<%^%C%H%U%!%$%k$KFI$_9~$^$l$k%G%U%)%k%HCM$r@_Dj$7$F$$$^$9!#(B
% $B$3$N@a$G$NFbMF$O(B\file{pldefs.ltx}$B$K=PNO$5$l$^$9!#(B
% $B$3$N%U%!%$%k$NFbMF$r(B\file{plcore.ltx}$B$K4^$a$F$b$h$$$N$G$9$,!"(B
% $B%G%U%)%k%H$N@_Dj$r;2>H$7$d$9$$$h$&$K!"JL%U%!%$%k$K$7$F$"$j$^$9!#(B
%
% $B%W%j%m!<%I%5%$%:$O!"(B\dst{}$B%W%m%0%i%`$N%*%W%7%g%s$GJQ99$9$k$3$H$,$G$-$^$9!#(B
% $B$3$l0J30$N@_Dj$rJQ99$7$?$$>l9g$O!"(B\file{pldefs.ltx}$B$r(B
% $BD>@\!"=$@5$9$k$N$G$O$J$/!"$3$N%U%!%$%k$r(B\file{pldefs.cfg}$B$H$$$&L>A0$G(B
% $B%3%T!<$r$7$F!"$=$N%U%!%$%k$KBP$7$F=$@5$r2C$($k$h$&$K$7$F$/$@$5$$!#(B
%    \begin{macrocode}
%<*pldefs>
\ProvidesFile{pldefs.ltx}
      [2021/01/10 v1.7k pLaTeX Kernel (Default settings)]
%</pldefs>
%    \end{macrocode}
%
% \subsection{$B%F%-%9%H%U%)%s%H(B}
% $B%F%-%9%H%U%)%s%H$N$?$a$NB0@-$d%(%i!<=qBN$J$I$N@k8@$G$9!#(B
% p\LaTeX{}$B$N%G%U%)%k%H$N2#AH%(%s%3!<%I$O(BJY1$B!"=DAH%(%s%3!<%I$O(BJT1$B$H$7$^$9!#(B
% \changes{v1.6s}{2019/08/13}{Explicitly set some defaults
%    after \cs{DeclareErrorKanjiFont} change
%    (sync with ltfssini.dtx 2019/07/09 v3.1c)}
% \changes{v1.7k}{2021/01/10}{Adjust start values for series and shape (latex2e/444)
%    (sync with ltfssini.dtx 2020/12/06 v3.2f)}
% \noindent
% $B=D2#%(%s%3!<%I6&DL!'(B
%    \begin{macrocode}
%<*pldefs>
\DeclareKanjiEncodingDefaults{}{}
\DeclareErrorKanjiFont{JY1}{mc}{m}{n}{10}
\kanjifamily{mc}
\def\k@series{m}    % \kanjiseries{m}
\def\k@shape{n}     % \kanjishape{n}
\fontsize{10}{10}
%    \end{macrocode}
% $B2#AH%(%s%3!<%I!'(B
%    \begin{macrocode}
\DeclareYokoKanjiEncoding{JY1}{}{}
\DeclareKanjiSubstitution{JY1}{mc}{m}{n}
%    \end{macrocode}
% $B=DAH%(%s%3!<%I!'(B
%    \begin{macrocode}
\DeclareTateKanjiEncoding{JT1}{}{}
\DeclareKanjiSubstitution{JT1}{mc}{m}{n}
%    \end{macrocode}
% $B=D2#$N%(%s%3!<%G%#%s%0$N%;%C%H2=!'(B
% \changes{v1.6j}{2017/11/06}{$B=D2#$N%(%s%3!<%G%#%s%0$N%;%C%H2=$r(B
%    plcore$B$+$i(Bpldefs$B$X0\F0(B}
%    \begin{macrocode}
\KanjiEncodingPair{JY1}{JT1}
%    \end{macrocode}
% $B%U%)%s%HB0@-$N%G%U%)%k%HCM!'(B
% \LaTeXe~2019-10-01$B$^$G$O(B|\shapedefault|$B$O(B|\updefault|$B$G$7$?$,!"(B
% \LaTeXe~2020-02-02$B$G(B|\updefault|$B$,(B``n''$B$+$i(B``up''$B$X$H=$@5$5$l$?$3$H$K(B
% $BH<$$!"(B|\shapedefault|$B$OL@<(E*$K(B``n''$B$K@_Dj$5$l$^$7$?!#(B
% \changes{v1.6v}{2020/02/01}{Set \cs{kanjishapedefault} explicitly to ``n''
%    (sync with fontdef.dtx 2019/12/17 v3.0e)}
%    \begin{macrocode}
\newcommand\mcdefault{mc}
\newcommand\gtdefault{gt}
\newcommand\kanjiencodingdefault{JY1}
\newcommand\kanjifamilydefault{\mcdefault}
\newcommand\kanjiseriesdefault{\mddefault}
\newcommand\kanjishapedefault{n}% formerly \updefault
%    \end{macrocode}
% $BOBJ8%(%s%3!<%I$N;XDj!'(B
%    \begin{macrocode}
\kanjiencoding{JY1}
%    \end{macrocode}
% $B%U%)%s%HDj5A!'(B
% $B$3$l$i$N6qBNE*$JFbMF$OBh(B\ref{plfonts:fontdef}$B@a$r;2>H$7$F$/$@$5$$!#(B
% \changes{v1.3}{1997/01/24}{Rename font definition filename.}
%    \begin{macrocode}
\input{jy1mc.fd}
\input{jy1gt.fd}
\input{jt1mc.fd}
\input{jt1gt.fd}
%    \end{macrocode}
% $B%U%)%s%H$rM-8z$K$7$^$9!#(B
%    \begin{macrocode}
\fontencoding{JT1}\selectfont
\fontencoding{JY1}\selectfont
%    \end{macrocode}
%
% \changes{v1.3b}{1997/01/30}{$B?t<0MQ%U%)%s%H$N@k8@$r%/%i%9%U%!%$%k$K0\F0$7$?(B}
%
%
% \subsection{$B%W%j%m!<%I%U%)%s%H(B}
% $B$"$i$+$8$a%U%)!<%^%C%H%U%!%$%k$K%m!<%I$5$l$k%U%)%s%H$N@k8@$G$9!#(B
% \dst{}$B%W%m%0%i%`$N%*%W%7%g%s$G%m!<%I$5$l$k%U%)%s%H$N%5%$%:$r(B
% $BJQ99$9$k$3$H$,$G$-$^$9!#(B\file{plfmt.ins}$B$G$O(B|xpt|$B$r;XDj$7$F$$$^$9!#(B
%    \begin{macrocode}
%<*xpt>
\DeclarePreloadSizes{JY1}{mc}{m}{n}{5,7,10,12}
\DeclarePreloadSizes{JY1}{gt}{m}{n}{5,7,10,12}
\DeclarePreloadSizes{JT1}{mc}{m}{n}{5,7,10,12}
\DeclarePreloadSizes{JT1}{gt}{m}{n}{5,7,10,12}
%</xpt>
%<*xipt>
\DeclarePreloadSizes{JY1}{mc}{m}{n}{5,7,10.95,12}
\DeclarePreloadSizes{JY1}{gt}{m}{n}{5,7,10.95,12}
\DeclarePreloadSizes{JT1}{mc}{m}{n}{5,7,10.95,12}
\DeclarePreloadSizes{JT1}{gt}{m}{n}{5,7,10.95,12}
%</xipt>
%<*xiipt>
\DeclarePreloadSizes{JY1}{mc}{m}{n}{7,9,12,14.4}
\DeclarePreloadSizes{JY1}{gt}{m}{n}{7,9,12,14.4}
\DeclarePreloadSizes{JT1}{mc}{m}{n}{7,9,12,14.4}
\DeclarePreloadSizes{JT1}{gt}{m}{n}{7,9,12,14.4}
%</xiipt>
%<*ori>
\DeclarePreloadSizes{JY1}{mc}{m}{n}
        {5,6,7,8,9,10,10.95,12,14.4,17.28,20.74,24.88}
\DeclarePreloadSizes{JY1}{gt}{m}{n}
        {5,6,7,8,9,10,10.95,12,14.4,17.28,20.74,24.88}
\DeclarePreloadSizes{JT1}{mc}{m}{n}
        {5,6,7,8,9,10,10.95,12,14.4,17.28,20.74,24.88}
\DeclarePreloadSizes{JT1}{gt}{m}{n}
        {5,6,7,8,9,10,10.95,12,14.4,17.28,20.74,24.88}
%</ori>
%    \end{macrocode}
%
%
% \subsection{$BAHHG%Q%i%a!<%?(B}
% $B6XB'%Q%i%a!<%?$dJ8;z4V$XA^F~$9$k%9%Z!<%9$N@_Dj$J$I$G$9!#(B
% $B<B:]$N3FJ8;z$X$N6XB'%Q%i%a!<%?$*$h$S%9%Z!<%9$NA^F~$N5v2D@_Dj$J$I$O!"(B
% \file{kinsoku.tex}$B$G9T$J$C$F$$$^$9!#(B
% $B6qBNE*$J@_Dj$K$D$$$F$O!"(B\file{kinsoku.dtx}$B$r;2>H$7$F$/$@$5$$!#(B
%    \begin{macrocode}
\InputIfFileExists{kinsoku.tex}%
  {\message{Loading kinsoku patterns for japanese.}}
  {\errhelp{The configuration for kinsoku is incorrectly installed.^^J%
            If you don't understand this error message you need
            to seek^^Jexpert advice.}%
   \errmessage{OOPS! I can't find any kinsoku patterns for japanese^^J%
               \space Think of getting some or the
               platex2e setup will never succeed}\@@end}
%    \end{macrocode}
%
% $BAHHG%Q%i%a!<%?$N@_Dj$r$7$^$9!#(B
% |\kanjiskip|$B$O!"4A;z$H4A;z$N4V$KA^F~$5$l$k%0%k!<$G$9!#(B
% |\noautospacing|$B$G!"A^F~$rCf;_$9$k$3$H$,$G$-$^$9!#(B
% $B%G%U%)%k%H$O(B|\autospacing|$B$G$9!#(B
%    \begin{macrocode}
\kanjiskip=0pt plus .4pt minus .5pt
\autospacing
%    \end{macrocode}
% |\xkanjiskip|$B$O!"OB2$J84V$K<+F0E*$KA^F~$5$l$k%0%k!<$G$9!#(B
% |\noautoxspacing|$B$G!"A^F~$rCf;_$9$k$3$H$,$G$-$^$9!#(B
% $B%G%U%)%k%H$O(B|\autoxspacing|$B$G$9!#(B
% \changes{v1.1c}{1995/09/12}{\cs{xkanjiskip}$B$N%G%U%)%k%HCM(B}
%    \begin{macrocode}
\xkanjiskip=.25zw plus1pt minus1pt
\autoxspacing
%    \end{macrocode}
% |\jcharwidowpenalty|$B$O!"%Q%i%0%i%U$KBP$9$k6XB'$G$9!#(B
% $B%Q%i%0%i%U$N:G8e$N9T$,#1J8;z$@$1$K$J$i$J$$$h$&$KD4@0$9$k$?$a$K;H$o$l$^$9!#(B
%    \begin{macrocode}
\jcharwidowpenalty=500
%    \end{macrocode}
%
% $B$3$3$^$G$,!"(B\file{pldefs.ltx}$B$NFbMF$G$9!#(B
%    \begin{macrocode}
%</pldefs>
%    \end{macrocode}
%
%
%
% \section{$B%U%)%s%HDj5A%U%!%$%k(B}\label{plfonts:fontdef}
% \changes{v1.3}{1997/01/24}{Rename provided font definition filename.}
% $B$3$3$G$O!"%U%)%s%HDj5A%U%!%$%k$N@_Dj$r$7$F$$$^$9!#%U%)%s%HDj5A%U%!%$%k$O!"(B
% \LaTeX{}$B$N%U%)%s%HB0@-$r(B\TeX{}$B%U%)%s%H$KCV$-49$($k$?$a$N%U%!%$%k$G$9!#(B
% $B5-=RJ}K!$K$D$$$F$N>\:Y$O!"(B|fntguide.tex|$B$r;2>H$7$F$/$@$5$$!#(B
%
% $B2$J8=qBN$N@_Dj$K$D$$$F$O!"(B
% \file{cmfonts.fdd}$B$d(B\file{slides.fdd}$B$J$I$r;2>H$7$F$/$@$5$$!#(B
% \file{skfonts.fdd}$B$K$O!"<L8&BeMQ=qBN$r;H$&$?$a$N%Q%C%1!<%8$H(B
% $B%U%)%s%HDj5A$,5-=R$5$l$F$$$^$9!#(B
%    \begin{macrocode}
%<JY1mc>\ProvidesFile{jy1mc.fd}
%<JY1gt>\ProvidesFile{jy1gt.fd}
%<JT1mc>\ProvidesFile{jt1mc.fd}
%<JT1gt>\ProvidesFile{jt1gt.fd}
%<JY1mc,JY1gt,JT1mc,JT1gt>       [2018/07/03 v1.6q KANJI font defines]
%    \end{macrocode}
% $B2#AHMQ!"=DAHMQ$H$b$K!"(B
% $BL@D+BN$N%7%j!<%:(B|bx|$B$,%4%7%C%/BN$H$J$k$h$&$K@k8@$7$F$$$^$9!#(B
% \changes{v1.2}{1995/11/24}{it, sl, sc$B$N@k8@$r30$7$?(B}
% \changes{v1.3b}{1997/01/29}{$B%U%)%s%HDj5A%U%!%$%k$N%5%$%:;XDj$ND4@0(B}
% \changes{v1.3b}{1997/03/11}{$B$9$Y$F$N%5%$%:$r%m!<%I2DG=$K$7$?(B}
% $B$^$?!"%7%j!<%:(B|b|$B$OF1$8=qBN$N(B|bx|$B$HEy2A$K$J$k$h$&$K@k8@$7$^$9!#(B
% \changes{v1.6q}{2018/07/03}{$B%7%j!<%:(Bb$B$,(Bbx$B$HEy2A$K$J$k$h$&$K@k8@(B}
%
% p\LaTeX{}$B$G$O=>B0=qBN$K(BOT1$B%(%s%3!<%G%#%s%0$r;XDj$7$F$$$^$9!#(B
% $B$^$?!"MW5a%5%$%:!J;XDj$5$l$?%U%)%s%H%5%$%:!K$,(B10pt$B$N$H$-!"(B
% $BA43QI}$N<B@#$,(B9.62216pt$B$H$J$k$h$&$K$7$^$9$N$G!"(B
% $BOBJ8%9%1!<%kCM!J(B$1\,\mathrm{zw} \div \textmc{$BMW5a%5%$%:(B}$$B!K$O(B
% $9.62216\,\mathrm{pt}/10\,\mathrm{pt}=0.962216$$B$G$9!#(B
% min10$B7O$N%a%H%j%C%/$OA43QI}$,(B9.62216pt$B$G%G%6%$%s$5$l$F$$$k$N$G!"(B
% $B$3$l$r(B1$BG\$GFI9~$_$^$9!#(B
% \changes{v1.6l}{2018/02/04}{$BOBJ8%9%1!<%kCM$rL@J82=(B}
%    \begin{macrocode}
%<*JY1mc>
\DeclareKanjiFamily{JY1}{mc}{}
\DeclareRelationFont{JY1}{mc}{m}{}{OT1}{cmr}{m}{}
\DeclareRelationFont{JY1}{mc}{bx}{}{OT1}{cmr}{bx}{}
\DeclareFontShape{JY1}{mc}{m}{n}{<5> <6> <7> <8> <9> <10> sgen*min
    <10.95><12><14.4><17.28><20.74><24.88> min10
    <-> min10
    }{}
\DeclareFontShape{JY1}{mc}{bx}{n}{<->ssub*gt/m/n}{}
\DeclareFontShape{JY1}{mc}{b}{n}{<->ssub*mc/bx/n}{}
%</JY1mc>
%<*JT1mc>
\DeclareKanjiFamily{JT1}{mc}{}
\DeclareRelationFont{JT1}{mc}{m}{}{OT1}{cmr}{m}{}
\DeclareRelationFont{JT1}{mc}{bx}{}{OT1}{cmr}{bx}{}
\DeclareFontShape{JT1}{mc}{m}{n}{<5> <6> <7> <8> <9> <10> sgen*tmin
    <10.95><12><14.4><17.28><20.74><24.88> tmin10
    <-> tmin10
    }{}
\DeclareFontShape{JT1}{mc}{bx}{n}{<->ssub*gt/m/n}{}
\DeclareFontShape{JT1}{mc}{b}{n}{<->ssub*mc/bx/n}{}
%</JT1mc>
%<*JY1gt>
\DeclareKanjiFamily{JY1}{gt}{}
\DeclareRelationFont{JY1}{gt}{m}{}{OT1}{cmr}{bx}{}
\DeclareFontShape{JY1}{gt}{m}{n}{<5> <6> <7> <8> <9> <10> sgen*goth
    <10.95><12><14.4><17.28><20.74><24.88> goth10
    <-> goth10
    }{}
\DeclareFontShape{JY1}{gt}{bx}{n}{<->ssub*gt/m/n}{}
\DeclareFontShape{JY1}{gt}{b}{n}{<->ssub*gt/bx/n}{}
%</JY1gt>
%<*JT1gt>
\DeclareKanjiFamily{JT1}{gt}{}
\DeclareRelationFont{JT1}{gt}{m}{}{OT1}{cmr}{bx}{}
\DeclareFontShape{JT1}{gt}{m}{n}{<5> <6> <7> <8> <9> <10> sgen*tgoth
    <10.95><12><14.4><17.28><20.74><24.88> tgoth10
    <-> tgoth10
    }{}
\DeclareFontShape{JT1}{gt}{bx}{n}{<->ssub*gt/m/n}{}
\DeclareFontShape{JT1}{gt}{b}{n}{<->ssub*gt/bx/n}{}
%</JT1gt>
%    \end{macrocode}
%
%
% \Finale
%
\endinput
