diff options
author | Karl Berry <karl@freefriends.org> | 2020-04-12 21:29:19 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-04-12 21:29:19 +0000 |
commit | 656c2588b2ce9d477986f176d75589bbec400918 (patch) | |
tree | e482ac945b769cf33c28e2178b98b24e39be76c2 /Master/texmf-dist | |
parent | bc586b17cad1faa7785d5765df0889659f314eb0 (diff) |
platex (12apr20)
git-svn-id: svn://tug.org/texlive/trunk@54697 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
17 files changed, 2884 insertions, 529 deletions
diff --git a/Master/texmf-dist/doc/platex/base/README.md b/Master/texmf-dist/doc/platex/base/README.md index 399aa67ca45..8b3ea2ba2a2 100644 --- a/Master/texmf-dist/doc/platex/base/README.md +++ b/Master/texmf-dist/doc/platex/base/README.md @@ -15,7 +15,7 @@ If you have issues, please let us know from the above page. The original ASCII edition can be obtained from: -- https://ctan.org/pkg/ptex-texmf +- https://asciidwango.github.io/ptex/base/sources.html#platex ## Changes from the original ASCII edition @@ -64,6 +64,6 @@ the 3-clause BSD license (see [LICENSE](./LICENSE)). ## Release Date -2020-02-29+1 +2020-04-12 Japanese TeX Development Community diff --git a/Master/texmf-dist/doc/platex/base/exppl2e.pdf b/Master/texmf-dist/doc/platex/base/exppl2e.pdf Binary files differindex d680a92a452..c5bf43b7425 100644 --- a/Master/texmf-dist/doc/platex/base/exppl2e.pdf +++ b/Master/texmf-dist/doc/platex/base/exppl2e.pdf diff --git a/Master/texmf-dist/doc/platex/base/platex-en.pdf b/Master/texmf-dist/doc/platex/base/platex-en.pdf Binary files differindex 56ae371546c..4506439d354 100644 --- a/Master/texmf-dist/doc/platex/base/platex-en.pdf +++ b/Master/texmf-dist/doc/platex/base/platex-en.pdf diff --git a/Master/texmf-dist/doc/platex/base/platex.pdf b/Master/texmf-dist/doc/platex/base/platex.pdf Binary files differindex 4ffb0b5b7b9..04b14d242d0 100644 --- a/Master/texmf-dist/doc/platex/base/platex.pdf +++ b/Master/texmf-dist/doc/platex/base/platex.pdf diff --git a/Master/texmf-dist/doc/platex/base/platexrelease.pdf b/Master/texmf-dist/doc/platex/base/platexrelease.pdf Binary files differindex 2dc9289fe01..a0f59656508 100644 --- a/Master/texmf-dist/doc/platex/base/platexrelease.pdf +++ b/Master/texmf-dist/doc/platex/base/platexrelease.pdf diff --git a/Master/texmf-dist/doc/platex/base/pldoc.pdf b/Master/texmf-dist/doc/platex/base/pldoc.pdf Binary files differindex b005e622392..c4041d1bfbd 100644 --- a/Master/texmf-dist/doc/platex/base/pldoc.pdf +++ b/Master/texmf-dist/doc/platex/base/pldoc.pdf diff --git a/Master/texmf-dist/source/platex/base/Makefile b/Master/texmf-dist/source/platex/base/Makefile index ac45cee9c13..fdabfd5d4f2 100644 --- a/Master/texmf-dist/source/platex/base/Makefile +++ b/Master/texmf-dist/source/platex/base/Makefile @@ -5,7 +5,8 @@ DOCTARGET = platex platexrelease pldoc exppl2e \ PDFTARGET = $(addsuffix .pdf,$(DOCTARGET)) DVITARGET = $(addsuffix .dvi,$(DOCTARGET)) KANJI = -kanji=jis -FONTMAP = -f ipaex.map -f ptex-ipaex.map +#FONTMAP = -f ipaex.map -f ptex-ipaex.map +FONTMAP = -f haranoaji.map -f ptex-haranoaji.map TEXMF = $(shell kpsewhich -var-value=TEXMFHOME) default: $(STRIPTARGET) $(DVITARGET) diff --git a/Master/texmf-dist/source/platex/base/platex.dtx b/Master/texmf-dist/source/platex/base/platex.dtx index a7147374c5e..fd595fe8334 100644 --- a/Master/texmf-dist/source/platex/base/platex.dtx +++ b/Master/texmf-dist/source/platex/base/platex.dtx @@ -3,7 +3,7 @@ % % Copyright 1995,1996 ASCII Corporation. % Copyright (c) 2010 ASCII MEDIA WORKS -% Copyright (c) 2016-2019 Japanese TeX Development Community +% Copyright (c) 2016-2020 Japanese TeX Development Community % % This file is part of the pLaTeX2e system (community edition). % ------------------------------------------------------------- @@ -85,6 +85,7 @@ % \changes{v1.0x}{2018/09/03}{plautopatch$B$K8@5Z(B} % \changes{v1.0y}{2018/09/22}{$B:G=*99?7F|$r(B\file{pldoc.pdf}$B$KI=<((B} % \changes{v1.0z}{2019/09/29}{$B%?%$%]=$@5(B} +% \changes{v1.1}{2020/03/24}{$B%I%-%e%a%s%H$r99?7(B} %\else % \changes{v1.0}{1995/05/08}{first edition} % \changes{v1.0a}{1995/08/25}{Added 'Compatibility', `Usage of \dst{}' @@ -128,6 +129,7 @@ % \changes{v1.0x}{2018/09/03}{Mention plautopatch.} % \changes{v1.0y}{2018/09/22}{Show last update info on \file{pldoc.pdf}} % \changes{v1.0z}{2019/09/29}{Fix typos in document.} +% \changes{v1.1}{2020/03/24}{Update document.} %\fi % \fi % @@ -135,7 +137,7 @@ %<*driver> \NeedsTeXFormat{pLaTeX2e} % \fi -\ProvidesFile{platex.dtx}[2019/09/29 v1.0z pLaTeX document file] +\ProvidesFile{platex.dtx}[2020/03/24 v1.1 pLaTeX document file] % \iffalse \documentclass{jltxdoc} \usepackage{plext} @@ -200,21 +202,22 @@ % \changes{v1.0q}{2017/11/29}{$B1Q8lHG%I%-%e%a%s%H$rDI2C(B} % \changes{v1.0x}{2018/09/03}{$B%I%-%e%a%s%H$r99?7(B} % \changes{v1.0z}{2019/09/29}{$B%?%$%]=$@5(B} +% \changes{v1.1}{2020/03/24}{$B%I%-%e%a%s%H$r99?7(B} %\else % \changes{v1.0f}{2016/04/12}{Update document.} % \changes{v1.0k}{2016/05/21}{Print also changes.} % \changes{v1.0q}{2017/11/29}{New English documentation added!} % \changes{v1.0x}{2018/09/03}{Update document.} % \changes{v1.0z}{2019/09/29}{Fix typos in document.} +% \changes{v1.1}{2020/03/24}{Update document.} %\fi %\ifJAPANESE % \begin{chuui} +% \pLaTeXe{}$B$O!"(B\LaTeXe{}$B$rF|K\8lAHHGMQ$K3HD%!&D4@0$7$?$b$N$G$9!#(B % $B$3$NJ8=q$G$O!V%3%_%e%K%F%#HG(B\pLaTeXe{}$B!W$K$D$$$F4JC1$K@bL@$7$^$9!#(B -% $B3t<02q<R%"%9%-!<!J8=%"%9%-!<!&%a%G%#%"%o!<%/%9(B -% \footnote{$B%"%9%-!<F|K\8l(B\TeX{}$B!J(B\pTeX{}$B!K!"(B -% \texttt{http://ascii.asciimw.jp/pb/ptex/}}$B!K$,G[I[$7$F$$$k(B -% \pLaTeXe{}$B!J0J2<!"%"%9%-!<HG(B\pLaTeXe{}$B!K$H$O0[$J$kFbMF$G$9$N$G!"(B -% $BCm0U$7$F$/$@$5$$!#(B +% $B3t<02q<R%"%9%-!<$*$h$S3t<02q<R%"%9%-!<!&%a%G%#%"%o!<%/%9$,(B +% $BG[I[$7$F$$$?(B\pLaTeXe{}$B!J0J2<!"!V%"%9%-!<HG(B\pLaTeXe{}$B!W!K$H$O(B +% $B0[$J$j$^$9$N$G!"Cm0U$7$F$/$@$5$$!#(B % \end{chuui} %\else % ^^A \begin{chuui}[] @@ -877,7 +880,7 @@ % current \pLaTeXe\ and older versions or original \LaTeXe. % % \subsection{Compatibility with \LaTeXe} -% \pLaTeXe\ is in most part upper compatible with \LaTeXe, +% \pLaTeXe\ is in most part upward compatible with \LaTeXe, % but some parameters are adjusted to be suitable for Japanese. % Therefore, you should not expect identical output, even though % the same source can be processed on both \LaTeXe\ and \pLaTeXe. @@ -1436,7 +1439,7 @@ echo "" > ltxdoc.cfg % makeindex$B%3%^%s%I$K$O!"$3$N%*%W%7%g%s$,$"$j$^$;$s!#(B %\else % Make the Change log and Glossary (Change History) using mendex. -% `Mendex' is a Japanese index processor, which is mostly upper +% `Mendex' is a Japanese index processor, which is mostly upward % compatible with `makeindex' and automatically handles readings % of Kanji words. % diff --git a/Master/texmf-dist/source/platex/base/platexrelease.dtx b/Master/texmf-dist/source/platex/base/platexrelease.dtx index d230ade5fd2..c31d8c0d20b 100644 --- a/Master/texmf-dist/source/platex/base/platexrelease.dtx +++ b/Master/texmf-dist/source/platex/base/platexrelease.dtx @@ -1,7 +1,7 @@ % \iffalse meta-comment %% File: platexrelease.dtx % -% Copyright (c) 2016-2019 Japanese TeX Development Community +% Copyright (c) 2016-2020 Japanese TeX Development Community % % This file is part of the pLaTeX2e system (community edition). % ------------------------------------------------------------- @@ -31,6 +31,7 @@ % \changes{v1.0m}{2018/05/22}{reset \cs{\requestedLaTeXdate} for % current and latest options % (sync with latexrelease.dtx 2018/05/08 v1.0k)} +% \changes{v1.0n}{2020/03/28}{$B@h$K(Blatexrelease$B$,FI$_9~$^$l$F$$$?$i7Y9p(B} % \fi % % \iffalse @@ -40,7 +41,7 @@ \ProvidesFile{platexrelease.dtx} %</driver> %<platexrelease>\ProvidesPackage{platexrelease} - [2018/05/22 v1.0m latexrelease support for pLaTeX Kernel + [2020/03/28 v1.0n latexrelease support for pLaTeX Kernel (including releases up to \platexreleaseversion)] %<*driver> \documentclass{jltxdoc} @@ -198,9 +199,25 @@ % % \section{$B%3!<%I(B} % -% $B:G=i$K(B\Lpack{latexrelease}$B%Q%C%1!<%8$rFI$_9~$_$^$9!#(B +% \Lpack{platexrelease}$B%Q%C%1!<%8$,FI$_9~$^$l$^$7$?$N$G!"(B +% $B8zN(2=$N$?$a(B|\begin{document|$B$G$N3NG'%3!<%I$rL58z2=$7$^$9!#(B +% $B!J(B\file{plvers.dtx}$B$N(B2020/03/28 v1.1u$B0J9_!K!#(B % \begin{macrocode} %<*platexrelease> +\ifx\p@warn@latexrelease\@undefined\else +\let\p@warn@latexrelease\relax +\fi +% \end{macrocode} +% +% $B:G=i$K(B\Lpack{latexrelease}$B%Q%C%1!<%8$rFI$_9~$_$^$9!#(B +% $B$3$l$h$jA0$K$9$G$KFI$_9~$^$l$F$$$k>l9g$O7Y9p$7$^$9!#(B +% \changes{v1.0n}{2020/03/28}{$B@h$K(Blatexrelease$B$,FI$_9~$^$l$F$$$?$i7Y9p(B} +% \begin{macrocode} +\ifx\latexreleaseversion\@undefined\else + \PackageWarningNoLine{platexrelease}{% + Package `latexrelease' is already loaded;\MessageBreak + load `platexrelease' earlier} +\fi \RequirePackageWithOptions{latexrelease} % \end{macrocode} % @@ -300,7 +317,6 @@ of this package available from CTAN} % \begin{macrocode} \let\pfmtversion\requestedplpatchdate \let\currentpLaTeXdate\requestedpLaTeXdate -%</platexrelease> % \end{macrocode} % % $B$3$N$"$H$O!"(Bp\LaTeXe{}$B$N%+!<%M%k$NJQ99E@$r<($9%3!<%I$,F~$j$^$9!#(B @@ -323,6 +339,12 @@ of this package available from CTAN} some critical bugs. We advise you to\MessageBreak select another format date} \plIncludeInRelease{2017/10/28}{\PackageWarning}{pLaTeX Info}% + % * <2020-04-12> + % * <2020-02-02>+3 + % * <2020-02-02>+2 + % * <2020-02-02>+1 + % * <2020-02-02> + % * <2019-10-01>+1 % * <2019-10-01> % * <2019-04-06> % * <2018-12-01> @@ -377,6 +399,7 @@ of this package available from CTAN} \plIncludeInRelease{0000/00/00}{\PackageWarning}{pLaTeX Info}% % * <2006/11/10> \plEndIncludeInRelease +%</platexrelease> % \end{macrocode} % % \Finale diff --git a/Master/texmf-dist/source/platex/base/plcore.dtx b/Master/texmf-dist/source/platex/base/plcore.dtx index f625ad2f1da..25f31fbe2c5 100644 --- a/Master/texmf-dist/source/platex/base/plcore.dtx +++ b/Master/texmf-dist/source/platex/base/plcore.dtx @@ -3,7 +3,7 @@ % % Copyright 1994-2001 ASCII Corporation. % Copyright (c) 2010 ASCII MEDIA WORKS -% Copyright (c) 2016-2019 Japanese TeX Development Community +% Copyright (c) 2016-2020 Japanese TeX Development Community % % This file is part of the pLaTeX2e system (community edition). % ------------------------------------------------------------- @@ -123,13 +123,14 @@ % \changes{v1.3d}{2019/10/19}{$BH=Dj=g=x$r=$@5!((Bextended mode$B$+$D(B % FAM256$B3HD%$"$j$N>l9g$K8B$j%l%8%9%??t$,(B65536$B8D$N$?$a!#(B} % \changes{v1.3d}{2019/10/19}{$B%3%T!<K:$l(B} +% \changes{v1.3e}{2020/03/05}{$B9g;z=hM}$rM^;_$7$D$D(B\cs{xkanjiskip}$B$OA^F~(B} % \fi % % \iffalse %<*driver> \NeedsTeXFormat{pLaTeX2e} % \fi -\ProvidesFile{plcore.dtx}[2019/10/19 v1.3d pLaTeX core file] +\ProvidesFile{plcore.dtx}[2020/03/05 v1.3e pLaTeX core file] % \iffalse \documentclass{jltxdoc} \GetFileInfo{plcore.dtx} @@ -1876,6 +1877,40 @@ % \end{macrocode} % \end{macro} % +% \begin{macro}{\do@noligs} +% |>|$B$J$I$N0lIt$NJ8;z$K$D$$$F!"(B|\xspcode`\>=3|$B$H$7$?$H$-$K(B +% |\texttt{>}|$B$G$OA08e$K(B|\xkanjiskip|$BM3Mh$N%"%-$,F~$k$N$K!"(B +% |\verb+>+|$B$G$O8e$m$K$7$+%"%-$,F~$i$J$$$H$$$&8=>]$KBP=h$7$^$9!#(B +% +% $B85$NDj5A$O(B\file{ltmiscen.dtx}$B$r;2>H$7$F$/$@$5$$!#(B +% p\LaTeX{}$B$G$O!"(B|\kern\z@|$B$r(B|\vadjust{}|$B$KCV$-49$($k$3$H$G(B +% $B!V9g;z=hM}$rM^;_!W$+$D!VOB2$J84V%9%Z!<%9$NA^F~=hM}$OF)2a!W$r<B8=$7$^$9!#(B +% (Issue \#87) +% \changes{v1.3e}{2020/03/05}{$B9g;z=hM}$rM^;_$7$D$D(B\cs{xkanjiskip}$B$OA^F~(B} +% \begin{macrocode} +%</plcore> +%<platexrelease>\plIncludeInRelease{2020/04/12}{\do@noligs} +%<platexrelease> {Allow \xkanjiskip while avoiding ligature}% +%<*plcore|platexrelease> +\def\do@noligs#1{% + \catcode`#1\active + \begingroup + \lccode`\~`#1\relax + \lowercase{\endgroup\def~{\leavevmode\vadjust{}\char`#1}}} +%</plcore|platexrelease> +%<platexrelease>\plEndIncludeInRelease +%<platexrelease>\plIncludeInRelease{0000/00/00}{\do@noligs} +%<platexrelease> {LaTeX2e original}% +%<platexrelease>\def\do@noligs#1{% +%<platexrelease> \catcode`#1\active +%<platexrelease> \begingroup +%<platexrelease> \lccode`\~`#1\relax +%<platexrelease> \lowercase{\endgroup\def~{\leavevmode\kern\z@\char`#1}}} +%<platexrelease>\plEndIncludeInRelease +%<*plcore> +% \end{macrocode} +% \end{macro} +% % % \subsection{tabbing$B4D6-(B} % diff --git a/Master/texmf-dist/source/platex/base/plfonts.dtx b/Master/texmf-dist/source/platex/base/plfonts.dtx index 7163f9a5644..12efc700e84 100644 --- a/Master/texmf-dist/source/platex/base/plfonts.dtx +++ b/Master/texmf-dist/source/platex/base/plfonts.dtx @@ -145,13 +145,28 @@ % (sync with ltfssaxes.dtx 2020/02/27 v1.0d)} % \changes{v1.6z}{2020/02/28}{Drop surplus ``m'' from \cs{target@series@value} % (sync with ltfssini.dtx 2020/02/25 v3.1j)} +% \changes{v1.7}{2020/03/05}{\cs{series@maybe@drop@one@m@x}$B$NB8:_3NG'(B} +% \changes{v1.7}{2020/03/05}{$B0z?t!&%j%9%H$H$b(B\cs{detokenize}$B$K$h$C$FJ8;zNs2=(B} +% \changes{v1.7}{2020/03/05}{\cs{do@subst@correction}$B$NF|K\8l2=(B} +% \changes{v1.7a}{2020/03/06}{\cs{@defaultfamilyhook}$B$r3hMQ(B +% (sync with ltfssini.dtx 2020/02/10 v3.1h)} +% \changes{v1.7b}{2020/03/14}{$B8E$$(B\LaTeXe{}$B$G$b%U%)!<%^%C%H@8@.$,DL$k$h$&$K(B} +% \changes{v1.7c}{2020/03/15}{\cs{fontshape}/\cs{fontshapeforce}$B$,(B +% $BOBJ8%7%'%$%WL$Dj5A$N>l9g$O(B\cs{k@shape}$B$r99?7$7$J$$$h$&$KJQ99(B} +% \changes{v1.7d}{2020/03/23}{$B%I%-%e%a%s%H2~NI(B} +% \changes{v1.7e}{2020/03/26}{$B=D2#%(%s%3!<%G%#%s%0$N%;%C%H2=3NG'(B} +% \changes{v1.7e}{2020/03/26}{\cs{wrong@fontshape}$B$NOBJ8BP1~(B} +% \changes{v1.7e}{2020/03/26}{\cs{default@k@...}$B$r;HMQ(B} +% \changes{v1.7f}{2020/04/07}{Support legacy use of \cs{bfdefault} +% and \cs{mddefault}, use \cs{@setYYseriesdefaultshook} +% (sync with ltfssini.dtx 2020/03/19 v3.1k and 2020/04/06 v3.1m)} % \fi % % \iffalse %<*driver> \NeedsTeXFormat{pLaTeX2e} % \fi -\ProvidesFile{plfonts.dtx}[2020/02/28 v1.6z pLaTeX New Font Selection Scheme] +\ProvidesFile{plfonts.dtx}[2020/04/07 v1.7f pLaTeX New Font Selection Scheme] % \iffalse \documentclass{jltxdoc} \GetFileInfo{plfonts.dtx} @@ -209,23 +224,82 @@ % \MakeShortVerb{\|} % % +% \subsection{$B3HD%%3%^%s%I(B} +% \pLaTeXe{}$B$O!"0J2<$N?7$7$$%3%^%s%I$rDj5A$7$^$9!#(B +% +% \DeleteShortVerb{\|} +% \MakeShortVerb{\+} +% \begin{center} +% \begin{tabular}{l|l} +% \emph{$B%3%^%s%I(B} & \emph{$B0UL#(B}\\\hline +% +\Declare{Yoko|Tate}KanjiEncoding+ & $BOBJ8%(%s%3!<%I$N@k8@(B\\ +% +\DeclareKanjiEncodingDefaults+ & +% $B%G%U%)%k%H$NOBJ8%(%s%3!<%I$N@k8@(B\\ +% +\KanjiEncodingPair+ & $BOBJ8%(%s%3!<%I$N%;%C%H2=(B\\ +% +\DeclareKanjiFamily+ & $B%U%!%_%j$N@k8@(B\\ +% +\DeclareKanjiSubstitution+ & $BOBJ8$NBeMQ%U%)%s%H$N@k8@(B\\ +% +\DeclareErrorKanjiFont+ & $BOBJ8$N%(%i!<%U%)%s%H$N@k8@(B \\ +% +\reDeclareMathAlphabet+ & $BOB2$J8$rF1;~$K@Z$jBX$($k%3%^%s%I@k8@(B\\ +% +\{Declare|Set}RelationFont+ & $B=>B0=qBN$N@k8@(B\\ +% +\userelfont+ & $B2$J8=qBN$r=>B0=qBN$K$9$k(B\\ +% +\adjustbaseline+ & $B%Y!<%9%i%$%s%7%U%HNL$N@_Dj(B\\ +% +\{roman|kanji}encoding+ & $B%(%s%3!<%I$N;XDj(B\\ +% +\{roman|kanji}family+ & $B%U%!%_%j$N;XDj(B\\ +% +\{roman|kanji}series[force]+ & $B%7%j!<%:$N;XDj(B\\ +% +\{roman|kanji}shape[force]+ & $B%7%'%$%W$N;XDj(B\\ +% +\use{roman|kanji}+ & $B=qBN$N@Z$jBX$((B\\ +% +\mcfamily+, +\gtfamily+ & $BOBJ8=qBN$rL@D+BN!"%4%7%C%/BN$K$9$k(B\\ +% \end{tabular} +% \end{center} +% \DeleteShortVerb{\+} +% \MakeShortVerb{\|} +% +% $B$5$i$K!"%*%j%8%J%k$N(B\LaTeXe{}$B$N0J2<$N%3%^%s%I$r:FDj5A$7$^$9!#(B +% +% \DeleteShortVerb{\|} +% \MakeShortVerb{\+} +% \begin{center} +% \begin{tabular}{l|l} +% \emph{$B%3%^%s%I(B} & \emph{$B0UL#(B}\\\hline +% +\DeclareFontEncoding+ & $B%(%s%3!<%I$N@k8@(B\\ +% +\DeclareFontFamily+ & $B%U%!%_%j$N@k8@(B\\ +% +\DeclareFixedFont+ & $B%U%)%s%H$NL>A0$N@k8@(B \\ +% +\selectfont+ & $B%U%)%s%H$r@Z$jBX$($k(B\\ +% +\set@fontsize+ & $B%U%)%s%H%5%$%:$NJQ99(B\\ +% +\fontencoding+ & $B%(%s%3!<%I$N;XDj(B\\ +% +\fontfamily+ & $B%U%!%_%j$N;XDj(B\\ +% +\fontseries[force]+ & $B%7%j!<%:$N;XDj(B\\ +% +\fontshape[force]+ & $B%7%'%$%W$N;XDj(B\\ +% +\usefont+ & $B=qBN$N@Z$jBX$((B\\ +% +\normalfont+ & $B%G%U%)%k%HCM$N@_Dj$K@Z$jBX$($k(B\\ +% +\bfseries+, +\mdseries+ & $B%7%j!<%:$rB@;z!"Cf;z$K$9$k(B\\ +% \end{tabular} +% \end{center} +% \DeleteShortVerb{\+} +% \MakeShortVerb{\|} +% % % \section{$B%3!<%I(B}\label{plfonts:codes} -% $B$3$N@a$G!"6qBNE*$K(B\NFSS2$B$r3HD%$9$k%3%^%s%I$d%^%/%m$NDj5A$r9T$J$C$F$$$^$9!#(B +% $B$3$N@a$G!"<B:]$N%3!<%I$r@bL@$7$^$9!#(B % % \subsection{$B=`Hw(B} % \NFSS2$B$r3HD%$9$k$?$a$N=`Hw$G$9!#(B % $BOBJ8%U%)%s%H$NB0@-$r3JG<$9$k%*%V%8%'%/%H$dD9$5JQ?t!"(B % $BB0@-$r@ZBX$($k:]$NH=CG:`NA$H$7$F;H$&%j%9%H$J$I$rDj5A$7$F$$$^$9!#(B % -% \file{ptrace}$B%Q%C%1!<%8$O(B\LaTeX{}$B$N(B\file{tracefnt}$B%Q%C%1!<%8$K0MB8$7$^$9!#(B +% \LaTeX{}$B$N(B\file{tracefnt}$B%Q%C%1!<%8$KAjEv$9$k%G%P%C%05!G=$O!"(B +% \pLaTeX{}$B$G$O(B\file{ptrace}$B%Q%C%1!<%8$GDs6!$7$^$9!#(B +% $B0JA0!J%"%9%-!<HG!K$G$O(B\file{ptrace}$B$NA0$K(B\file{tracefnt}$B$r(B +% $B<jF0$G(B|\usepackage|$B$9$kI,MW$,$"$j$^$7$?$,!"(B +% $B%3%_%e%K%F%#HG$G$O(B\file{ptrace}$B$,<+F0$G(B\file{tracefnt}$B$r(B +% $BFI$_9~$`$h$&$K2~NI$7$F$"$j$^$9!#(B % \changes{v1.6b}{2016/04/30}{ptrace.sty$B$NKAF,$G(Btracefnt.sty$B$r(B % \cs{RequirePackageWithOptions}$B$9$k$h$&$K$7$?(B} % \begin{macrocode} %<*trace> \NeedsTeXFormat{pLaTeX2e} \ProvidesPackage{ptrace} - [2019/09/16 v1.6t Standard pLaTeX package (font tracing)] + [2020/03/26 v1.7e Standard pLaTeX package (font tracing)] \RequirePackageWithOptions{tracefnt} %</trace> % \end{macrocode} @@ -373,7 +447,7 @@ % \end{macrocode} % \end{macro} % -% \subsubsection{$B0l;~%3%^%s%I(B} +% \subsubsection{$B0l;~%3%^%s%I(B}\label{afont-ascii} % % \begin{macro}{\afont} % \LaTeX{}$BFbIt$N(B|\do@subst@correction|$B%^%/%m$G$O!"(B @@ -402,12 +476,44 @@ % % \begin{macro}{\inlist@} % $B<!$N%3%^%s%I$O!"%(%s%3!<%I$d%U%!%_%j$N%j%9%HFb$KBhFs0z?t$G;XDj$5$l$?J8;zNs(B -% $B$,$"$k$+$I$&$+$rD4$Y$k%^%/%m$G$9!#(B +% $B$,$"$k$+$I$&$+$rD4$Y$k%^%/%m$G$9!#7k2L$O(B\cs{ifin@}$B$K3JG<$5$l$^$9!#(B +% $BBhFs0z?t$O%j%9%H$=$N$b$N!J%j%9%H$,3JG<$5$l$?%^%/%m$G$O$J$/!K$r;XDj$9$k$3$H$K$J$j$^$9!#(B +% $BE57?E*$K$O0J2<$N$h$&$K8F$S=P$7$^$9!#(B +%\begin{verbatim} +% \edef\tmp@item{{\k@encoding}}% +% \expandafter\expandafter\expandafter +% \inlist@\expandafter\tmp@item\expandafter{\kyenc@list} +%\end{verbatim} +% +% |\do@subst@correction|$B$NF|K\8l2=$KI,MW$J$N$G!"(B +% \pLaTeXe~2020-04-12$B0J9_$G$OHf3S;~$K(B +% $B0z?t!&%j%9%H$H$b(B\cs{detokenize}$B$K$h$C$FJ8;zNs2=$9$k$h$&$K$7$^$7$?!#(B +% \changes{v1.7}{2020/03/05}{$B0z?t!&%j%9%H$H$b(B\cs{detokenize}$B$K$h$C$FJ8;zNs2=(B} % \begin{macrocode} +%</plcore> +%<platexrelease>\plIncludeInRelease{2020/04/12}{\inlist@} +%<platexrelease> {Detokenize}% +%<*plcore|platexrelease> \def\inlist@#1#2{% - \def\in@@##1<#1>##2##3\in@@{% - \ifx\in@##2\in@false\else\in@true\fi}% - \in@@#2<#1>\in@\in@@} + \edef\reserved@a{% + \unexpanded{\def\in@@##1<}% + \detokenize{#1}% + \unexpanded{>##2##3\in@@{\ifx\in@##2\in@false\else\in@true\fi}\in@@}% + \detokenize{#2}% + \unexpanded{<}% + \detokenize{#1}% + \unexpanded{>\in@\in@@}}% + \reserved@a} +%</plcore|platexrelease> +%<platexrelease>\plEndIncludeInRelease +%<platexrelease>\plIncludeInRelease{0000/00/00}{\inlist@} +%<platexrelease> {ASCII Corporation original}% +%<platexrelease>\def\inlist@#1#2{% +%<platexrelease> \def\in@@##1<#1>##2##3\in@@{% +%<platexrelease> \ifx\in@##2\in@false\else\in@true\fi}% +%<platexrelease> \in@@#2<#1>\in@\in@@} +%<platexrelease>\plEndIncludeInRelease +%<*plcore> % \end{macrocode} % \end{macro} % @@ -499,20 +605,19 @@ % \subsubsection{$B;YCl(B} % $B9T4V$ND4@0$J$I$KMQ$$$k;YCl$G$9!#(B % $B;YCl$N$b$H$H$J$k%\%C%/%9$NBg$-$5$O!"%U%)%s%H%5%$%:$,JQ99$5$l$k$?$S$K!"(B -% |\set@fontsize|$B%3%^%s%I$K$h$C$FJQ2=$7$^$9!#(B -% -% $B%U%)%s%H%5%$%:$,JQ99$5$l$?$H$-$K!"(B|\set@fontsize|$B%3%^%s%I$G99?7$5$l$^$9!#(B +% |\set@fontsize|$B%3%^%s%I$K$h$C$F99?7$5$l$^$9!#(B % +% $B%3%_%e%K%F%#HG(B\pLaTeXe~2017/04/08$B$G$NJQ99!'(B % $B=>Mh!"2#AH%\%C%/%9MQ$N;YCl$O(B|\strutbox|$B$G!"9b$5$H?<$5$,(B7$BBP(B3$B$H$J$C$F$$$^$7$?!#(B % $B$3$l$O(Bp\LaTeX{}$BC1BN$G$OLdBj$K$J$j$^$;$s$G$7$?$,!"3$30@=$N(B\LaTeX{}$B%Q%C%1!<%8$r(B % $B=DAH$G;HMQ$7$?>l9g$K!"0U?^$7$J$$I}$d9b$5$,<hF@$5$l$k$3$H$,$"$j$^$7$?!#(B % $B$3$NITET9g$r2sHr$9$k$?$a!"%3%_%e%K%F%#HG(Bp\LaTeX{}$B$G$O<!$NJ}K!$r$H$j$^$9!#(B % \begin{itemize} -% \item |\ystrutbox|$B!J?7@_!K!'9b$5$H?<$5$,(B7$BBP(B3$B$N2#AH%\%C%/%9MQ$N;YCl(B -% \item |\tstrutbox|$B!'9b$5$H?<$5$,(B5$BBP(B5$B$N=DAH%\%C%/%9MQ$N;YCl(B -% \item |\zstrutbox|$B!'9b$5$H?<$5$,(B7$BBP(B3$B$N=DAH%\%C%/%9MQ$N;YCl(B +% \item |\ystrutbox|$B!J?7@_!K!'9b$5$H?<$5$,(B7$BBP(B3$B$N2#AHMQ$N;YCl%\%C%/%9%l%8%9%?(B +% \item |\tstrutbox|$B!'9b$5$H?<$5$,(B5$BBP(B5$B$N=DAHMQ$N;YCl%\%C%/%9%l%8%9%?(B +% \item |\zstrutbox|$B!'9b$5$H?<$5$,(B7$BBP(B3$B$N=DAHMQ$N;YCl%\%C%/%9%l%8%9%?(B % \item |\strutbox|$B!J;EMMJQ99!K!'=D2#$N%G%#%l%/%7%g%s$K1~$8$F(B -% |\tstrutbox|$B$^$?$O(B|\ystrutbox|$B$KE83+$5$l$k%^%/%m(B +% |\tstrutbox|$B$^$?$O(B|\ystrutbox|$B$KE83+$5$l$k(B\emph{$B%^%/%m(B} % \end{itemize} % $B$9$J$o$A!"=>Mh$N(Bp\LaTeX{}$B$K$*$1$k(B|\strutbox|$B$HF1$85sF0$r<($9$N$,!"(B % $B?7@_$5$l$?(B|\ystrutbox|$B$H$$$&$3$H$K$J$j$^$9!#(B @@ -530,7 +635,7 @@ % \end{macro} % % \begin{macro}{\ystrutbox} -% |\ystrutbox|$B$O9b$5$H?<$5$,(B7$BBP(B3$B$N2#AH%\%C%/%9MQ$N;YCl$G$9!#(B +% |\ystrutbox|$B$O9b$5$H?<$5$,(B7$BBP(B3$B$N2#AHMQ$N;YCl%\%C%/%9$G$9!#(B % \changes{v1.6f}{2017/02/20}{\cs{ystrutbox}$B$rDI2C(B} % \begin{macrocode} %</plcore> @@ -666,41 +771,10 @@ % % % -% \subsection{$B%3%^%s%I(B} -% $B<!$N%3%^%s%I$NDj5A$r$7$F$$$^$9!#(B -% -% \DeleteShortVerb{\|} -% \MakeShortVerb{\+} -% \begin{center} -% \begin{tabular}{l|l} -% \emph{$B%3%^%s%I(B} & \emph{$B0UL#(B}\\\hline -% +\Declare{Font|YokoKanji|TateKanji}Encoding+ & $B%(%s%3!<%I$N@k8@(B\\ -% +\Declare{Yoko|Tate}KanjiEncodingDefaults+ & -% $B%G%U%)%k%H$NOBJ8%(%s%3!<%I$N@k8@(B\\ -% +\Declare{Font|Kanji}Family+ & $B%U%!%_%j$N@k8@(B\\ -% +\DeclareKanjiSubstitution+ & $BOBJ8$NBeMQ%U%)%s%H$N@k8@(B\\ -% +\DeclareErrorKanjiFont+ & $BOBJ8$N%(%i!<%U%)%s%H$N@k8@(B \\ -% +\DeclareFixedFont+ & $B%U%)%s%H$NL>A0$N@k8@(B \\ -% +\reDeclareMathAlphabet+ & $BOB2$J8$rF1;~$K@Z$jBX$($k%3%^%s%I@k8@(B\\ -% +\{Declare|Set}RelationFont+ & $B=>B0=qBN$N@k8@(B\\ -% +\userelfont+ & $B2$J8=qBN$r=>B0=qBN$K$9$k(B\\ -% +\selectfont+ & $B%U%)%s%H$r@Z$jBX$($k(B\\ -% +\set@fontsize+ & $B%U%)%s%H%5%$%:$NJQ99(B\\ -% +\adjustbaseline+ & $B%Y!<%9%i%$%s%7%U%HNL$N@_Dj(B\\ -% +\{font|roman|kanji}encoding+ & $B%(%s%3!<%I$N;XDj(B\\ -% +\{font|roman|kanji}family+ & $B%U%!%_%j$N;XDj(B\\ -% +\{font|roman|kanji}series+ & $B%7%j!<%:$N;XDj(B\\ -% +\{font|roman|kanji}shape+ & $B%7%'%$%W$N;XDj(B\\ -% +\use{font|roman|kanji}+ & $B=qBN$N@Z$jBX$((B\\ -% +\normalfont+ & $B%G%U%)%k%HCM$N@_Dj$K@Z$jBX$($k(B\\ -% +\mcfamily+,+\gtfamily+ & $BOBJ8=qBN$rL@D+BN!"%4%7%C%/BN$K$9$k(B\\ -% +\textunderscore+ & $B%F%-%9%H%b!<%I$G$N2<@~%^%/%m(B\\ -% \end{tabular} -% \end{center} -% \DeleteShortVerb{\+} -% \MakeShortVerb{\|} -% +% \subsection{\NFSS2$B$N3HD%%3%^%s%I(B} +% \NFSS2$B$N3HD%%3%^%s%I$rDj5A$7$^$9!#(B % +% \subsubsection{$B%(%s%3!<%I$N@k8@(B} % \begin{macro}{\DeclareFontEncoding} % \begin{macro}{\DeclareFontEncoding@} % $B2$J8%(%s%3!<%I$r@k8@$9$k$?$a$N%3%^%s%I$G$9!#(B @@ -921,6 +995,7 @@ % % \begin{macro}{\DeclareKanjiEncodingDefaults} % $BOBJ8%(%s%3!<%I$N%G%U%)%k%HCM$r@k8@$9$k%3%^%s%I$G$9!#(B +% |\DeclareFontEncodingDefaults|$B$KAjEv$7$^$9!#(B % \begin{macrocode} \def\DeclareKanjiEncodingDefaults#1#2{% \ifx\relax#1\else @@ -945,13 +1020,57 @@ % \begin{macro}{\KanjiEncodingPair} % $BOBJ8$N=D2#$N%(%s%3!<%G%#%s%0$O$=$l$>$lBP$K$7$F07$&$?$a!"%;%C%H2=$9$k$?$a$N(B % $B%3%^%s%I$rDj5A$7$^$9!#(B +% $BBh0l0z?t$,2#AHMQ!"BhFs0z?t$,=DAHMQ$G$9!#(B % \changes{v1.3n}{2004/08/10}{$BOBJ8%(%s%3!<%G%#%s%0$N@Z$jBX$($rM-8z2=(B} % \begin{macrocode} \def\KanjiEncodingPair#1#2{\@namedef{t@enc@#1}{#2}\@namedef{y@enc@#2}{#1}} % \end{macrocode} % \end{macro} % +% \begin{macro}{\ensure@KanjiEncodingPair} +% $B2#=q$-$H=D=q$-$N%(%s%3!<%G%#%s%0$OI,$:(B|\KanjiEncodingPair|$B$G(B +% $B%;%C%H2=$7$J$$$H;H$($^$;$s!#$b$7%;%C%H2=$5$l$F$$$J$1$l$P!"(B +% $BL@2w$J%(%i!<$GCN$i$;$^$9!#(B +% ^^A $B:G6a$N(B\file{plfonts.dtx}$B$NJQ99(B(2017/11/06 v1.6j)$B$G!"(B +% ^^A u\pLaTeX{}$B$H(B\pLaTeX{}$B$N%=!<%96&DL2=$N0l4D$H$7$F(B +% ^^A $B<B9T%3!<%I(B|\KanjiEncodingPair{JY1}{JT1}|$B$r(B +% ^^A \file{plcore.ltx}$B$+$i(B\file{pldefs.ltx}$B$X0\F0$7$?$N$G!"(B +% ^^A $BK|$,0l8E$$(B\file{pldefs.cfg}$B$,FI$_9~$^$l$?>l9g$K<B9T$5$l$J$$2DG=@-$,$"$k!#(B +% \changes{v1.7e}{2020/03/26}{$B=D2#%(%s%3!<%G%#%s%0$N%;%C%H2=3NG'(B} +% \begin{macrocode} +%</plcore> +%<platexrelease>\plIncludeInRelease{2020/04/12}{\ensure@KanjiEncodingPair} +%<platexrelease> {Check \KanjiEncodingPair}% +%<*plcore|platexrelease> +\def\ensure@KanjiEncodingPair#1{% + \edef\reserved@a{\csname #1@enc@\k@encoding\endcsname}% + \edef\reserved@b{\csname c#1@encoding\endcsname}% +% \end{macrocode} +% |\reserved@a|$B$O!"%;%C%H2=$,M-8z$J$i%(%s%3!<%I$rI=$9J8;z%H!<%/%sNs!"(B +% $BL58z$J$i(B|\relax|$B$HF15A$N@)8fDV$KE83+$5$l$k%^%/%m$G$9!#(B +% $B$3$3$G!"(B|\ifcat|$B!JE83+ITG=%H!<%/%s$,8=$l$k$^$GE83+$7$F$+$iHf3S!K$r;H$$$^$9!#(B +% ^^A $BJ8;z%H!<%/%sNs$OJ#?tJ8;z$+$i@.$jF@$k$,!"(B +% ^^A |\relax|$B$H@hF,0lJ8;z$NHf3S$OI,$:56$H$J$j!";D$j$NJ8;z$OFI$_Ht$P$5$l$k!#(B +% ^^A $B@)8fDV$N>l9g$OI,$:%H!<%/%s(B1$B8D$G$"$j!"(B|\relax|$B$H$NHf3S$G??$K$J$k!#(B +% \begin{macrocode} + \ifcat\relax\reserved@a + \@latex@error + {KANJI Encoding pair for `\k@encoding' undefined}% + {Use \string\KanjiEncodingPair, falling back to `\reserved@b'...}% + \expandafter\edef\reserved@a{\reserved@b}% + \fi} +%</plcore|platexrelease> +%<platexrelease>\plEndIncludeInRelease +%<platexrelease>\plIncludeInRelease{0000/00/00}{\ensure@KanjiEncodingPair} +%<platexrelease> {ASCII Corporation original}% +%<platexrelease>\let\ensure@KanjiEncodingPair\@undefined +%<platexrelease>\plEndIncludeInRelease +%<*plcore> +% \end{macrocode} +% \end{macro} % +% +% \subsubsection{$B%U%!%_%j$N@k8@(B} % \begin{macro}{\DeclareFontFamily} % $B2$J8%U%!%_%j$r@k8@$9$k$?$a$N%3%^%s%I$G$9!#(B % |\ffam@list|$B$r:n$k$h$&$K:FDj5A$r$7$^$9!#(B @@ -1004,10 +1123,15 @@ % \end{macro} % % \begin{macro}{\DeclareKanjiSubstitution} -% $BL\E*$NOBJ8%U%)%s%H$,8+$D$+$i$J$+$C$?$H$-$K;H$&%U%)%s%H$N@k8@$r$9$k(B -% $B%3%^%s%I$G$9!#(B -% |\DeclareFontSubstitution|$B$KBP1~$7$^$9!#(B +% $BL\E*$NOBJ8%U%)%s%H$,8+$D$+$i$J$+$C$?$H$-$K;H$&BeMQ=qBN$N(B +% $B@k8@$r$9$k%3%^%s%I$G$9!#(B +% |\DeclareFontSubstitution|$B$KAjEv$7$^$9!#(B +% \changes{v1.7e}{2020/03/26}{\cs{default@k@...}$B$r;HMQ(B} % \begin{macrocode} +%</plcore> +%<platexrelease>\plIncludeInRelease{2020/04/12}{\DeclareKanjiSubstitution} +%<platexrelease> {Use \default@k@family etc.}% +%<*plcore|platexrelease> \def\DeclareKanjiSubstitution#1#2#3#4{% \expandafter\ifx\csname T@#1\endcsname\relax \@latex@error{KANJI Encoding scheme `#1' unknown}\@eha @@ -1025,16 +1149,62 @@ \cdp@list \xdef\cdp@list{\the\toks@}% \endgroup - \global\@namedef{D@#1}{\def\default@family{#2}% - \def\default@series{#3}% - \def\default@shape{#4}}% + \global\@namedef{D@#1}{\def\default@k@family{#2}% !!! + \def\default@k@series{#3}% !!! + \def\default@k@shape{#4}}% !!! \fi} +%</plcore|platexrelease> +%<platexrelease>\plEndIncludeInRelease +%<platexrelease>\plIncludeInRelease{0000/00/00}{\DeclareKanjiSubstitution} +%<platexrelease> {ASCII Corporation original}% +%<platexrelease>\def\DeclareKanjiSubstitution#1#2#3#4{% +%<platexrelease> \expandafter\ifx\csname T@#1\endcsname\relax +%<platexrelease> \@latex@error{KANJI Encoding scheme `#1' unknown}\@eha +%<platexrelease> \else +%<platexrelease> \begingroup +%<platexrelease> \def\reserved@a{#1}% +%<platexrelease> \toks@{}% +%<platexrelease> \def\cdp@elt##1##2##3##4{% +%<platexrelease> \def\reserved@b{##1}% +%<platexrelease> \ifx\reserved@a\reserved@b +%<platexrelease> \addto@hook\toks@{\cdp@elt{#1}{#2}{#3}{#4}}% +%<platexrelease> \else +%<platexrelease> \addto@hook\toks@{\cdp@elt{##1}{##2}{##3}{##4}}% +%<platexrelease> \fi}% +%<platexrelease> \cdp@list +%<platexrelease> \xdef\cdp@list{\the\toks@}% +%<platexrelease> \endgroup +%<platexrelease> \global\@namedef{D@#1}{\def\default@family{#2}% +%<platexrelease> \def\default@series{#3}% +%<platexrelease> \def\default@shape{#4}}% +%<platexrelease> \fi} +%<platexrelease>\plEndIncludeInRelease +%<platexrelease>% !!! Special case BEGIN +%<platexrelease>% required for any emulation date +%<platexrelease>% copied from (u)pldefs.ltx +%<platexrelease>\def\pltx@tempa{JY1}\ifx\pltx@tempa\k@encoding +%<platexrelease>\DeclareKanjiSubstitution{JY1}{mc}{m}{n} +%<platexrelease>\DeclareKanjiSubstitution{JT1}{mc}{m}{n} +%<platexrelease>\else\def\pltx@tempa{JY2}\ifx\pltx@tempa\k@encoding +%<platexrelease>\DeclareKanjiSubstitution{JY2}{mc}{m}{n} +%<platexrelease>\DeclareKanjiSubstitution{JT2}{mc}{m}{n} +%<platexrelease>\fi\fi +%<platexrelease>% emulate execution of \enc@update in \selectfont +%<platexrelease>% before (u)pldefs.ltx is loaded +%<platexrelease>\csname D@\f@encoding\endcsname +%<platexrelease>% emulate execution of \kenc@update in \selectfont +%<platexrelease>% inside (u)pldefs.ltx +%<platexrelease>\csname D@\k@encoding\endcsname +%<platexrelease>% !!! Special case END +%<*plcore> \@onlypreamble\DeclareKanjiSubstitution % \end{macrocode} % \end{macro} % % \begin{macro}{\DeclareErrorKanjiFont} % |\DeclareErrorFont|$B$KBP1~$9$k%3%^%s%I$G$9!#(B +% $BBeMQ=qBN$G<($5$l$?=qBN$b8+$D$+$i$J$+$C$?$H$-$K(B +% $B:G8e$N<jCJ$H$7$F;H$o$l$k%(%i!<=qBN$rDj5A$7$^$9!#(B % \changes{v1.6s}{2019/08/13}{\cs{DeclareErrorKanjiFont}: % Don't set any \cs{k@...} macros % (sync with ltfssbas.dtx 2019/07/09 v3.2c)} @@ -1075,10 +1245,181 @@ % \end{macrocode} % \end{macro} % +% \begin{macro}{\wrong@fontshape} +% \begin{macro}{\wrong@al@fontshape} +% \begin{macro}{\wrong@ja@fontshape} +% |\wrong@fontshape|$B$rOBJ8BP1~$K$7$^$9!#(B +% |\DeclareKanjiSubstitution|$B$G(B|\default@k@...|$B$r;HMQ$9$k2~NI$H(B +% $BF1;~$G$J$1$l$P$J$j$^$;$s!#(B +% \changes{v1.7e}{2020/03/26}{\cs{wrong@fontshape}$B$NOBJ8BP1~(B} +% +% $B%*%j%8%J%k$N(B\LaTeX{}$B$NDj5A$O!"2$J8MQ$H$7$F;H$$$^$9!#(B +% \begin{macrocode} +%</plcore> +%<platexrelease>\plIncludeInRelease{2020/04/12}{\wrong@fontshape} +%<platexrelease> {Japanese \wrong@fontshape}% +%<*plcore|platexrelease> +\def\wrong@al@fontshape{% + \csname D@\f@encoding\endcsname % install defaults if in math + \edef\reserved@a{\csname\curr@fontshape\endcsname}% + \ifx\last@fontshape\reserved@a + \errmessage{Corrupted NFSS tables}% + \error@fontshape + \else + \let\f@shape\default@shape + \expandafter\ifx\csname\curr@fontshape\endcsname\relax + \let\f@series\default@series + \expandafter + \ifx\csname\curr@fontshape\endcsname\relax + \let\f@family\default@family + \begingroup + \try@load@fontshape + \endgroup + \fi \fi + \fi + \@font@warning{Font shape `\expandafter\string\reserved@a' + \expandafter\@gobble\string\@undefined\MessageBreak + using `\curr@fontshape' instead\@wrong@font@char}% + \global\let\last@fontshape\reserved@a + \gdef\@defaultsubs{% + \@font@warning{Some font shapes were not available, defaults + substituted.\@gobbletwo}}% + \global\expandafter\expandafter\expandafter\let + \expandafter\reserved@a + \csname\curr@fontshape\endcsname + \xdef\font@name{% + \csname\curr@fontshape/\f@size\endcsname}% + \pickup@font} +% \end{macrocode} +% $BOBJ8MQ$NDj5A$G$9!#(B +% \begin{macrocode} +\def\wrong@ja@fontshape{% + \csname D@\f@encoding\endcsname % install defaults if in math + \edef\reserved@a{\csname\curr@fontshape\endcsname}% + \ifx\last@fontshape\reserved@a + \errmessage{Corrupted NFSS tables}% + \error@fontshape + \else + \let\f@shape\default@k@shape % !!! + \expandafter\ifx\csname\curr@fontshape\endcsname\relax + \let\f@series\default@k@series % !!! + \expandafter + \ifx\csname\curr@fontshape\endcsname\relax + \let\f@family\default@k@family % !!! + \begingroup + \try@load@fontshape + \endgroup + \fi \fi + \fi + \@font@warning{Font shape `\expandafter\string\reserved@a' + \expandafter\@gobble\string\@undefined\MessageBreak + using `\curr@fontshape' instead\@wrong@font@char}% + \global\let\last@fontshape\reserved@a + \gdef\@defaultsubs{% + \@font@warning{Some font shapes were not available, defaults + substituted.\@gobbletwo}}% + \global\expandafter\expandafter\expandafter\let + \expandafter\reserved@a + \csname\curr@fontshape\endcsname + \xdef\font@name{% + \csname\curr@fontshape/\f@size\endcsname}% + \pickup@font} +% \end{macrocode} +% $B$=$7$F!"%(%s%3!<%G%#%s%0$K1~$8$F2$J8MQ$HOBJ8MQ$r;H$$J,$1$^$9!#(B +% \begin{macrocode} +\def\wrong@fontshape{% + \edef\tmp@item{{\f@encoding}}% + \expandafter\expandafter\expandafter + \inlist@\expandafter\tmp@item\expandafter{\kenc@list}% + \ifin@ + \wrong@ja@fontshape + \else + \wrong@al@fontshape + \fi +} +%</plcore|platexrelease> +%<platexrelease>\plEndIncludeInRelease +%<platexrelease>\plIncludeInRelease{2015/01/01}{\wrong@fontshape} +%<platexrelease> {LaTeX2e original (2015)}% +%<platexrelease>\def\wrong@fontshape{% +%<platexrelease> \csname D@\f@encoding\endcsname % install defaults if in math +%<platexrelease> \edef\reserved@a{\csname\curr@fontshape\endcsname}% +%<platexrelease> \ifx\last@fontshape\reserved@a +%<platexrelease> \errmessage{Corrupted NFSS tables}% +%<platexrelease> \error@fontshape +%<platexrelease> \else +%<platexrelease> \let\f@shape\default@shape +%<platexrelease> \expandafter\ifx\csname\curr@fontshape\endcsname\relax +%<platexrelease> \let\f@series\default@series +%<platexrelease> \expandafter +%<platexrelease> \ifx\csname\curr@fontshape\endcsname\relax +%<platexrelease> \let\f@family\default@family +%<platexrelease> \begingroup +%<platexrelease> \try@load@fontshape +%<platexrelease> \endgroup +%<platexrelease> \fi \fi +%<platexrelease> \fi +%<platexrelease> \@font@warning{Font shape `\expandafter\string\reserved@a' +%<platexrelease> \expandafter\@gobble\string\@undefined\MessageBreak +%<platexrelease> using `\curr@fontshape' instead\@wrong@font@char}% +%<platexrelease> \global\let\last@fontshape\reserved@a +%<platexrelease> \gdef\@defaultsubs{% +%<platexrelease> \@font@warning{Some font shapes were not available, defaults +%<platexrelease> substituted.\@gobbletwo}}% +%<platexrelease> \global\expandafter\expandafter\expandafter\let +%<platexrelease> \expandafter\reserved@a +%<platexrelease> \csname\curr@fontshape\endcsname +%<platexrelease> \xdef\font@name{% +%<platexrelease> \csname\curr@fontshape/\f@size\endcsname}% +%<platexrelease> \pickup@font} +%<platexrelease>\let\wrong@al@fontshape\@undefined +%<platexrelease>\let\wrong@ja@fontshape\@undefined +%<platexrelease>\plEndIncludeInRelease +%<platexrelease>\plIncludeInRelease{0000/00/00}{\wrong@fontshape} +%<platexrelease> {LaTeX2e original (old)}% +%<platexrelease>\def\wrong@fontshape{% +%<platexrelease> \csname D@\f@encoding\endcsname +%<platexrelease> \edef\reserved@a{\csname\curr@fontshape\endcsname}% +%<platexrelease> \ifx\last@fontshape\reserved@a +%<platexrelease> \errmessage{Corrupted NFSS tables}% +%<platexrelease> \error@fontshape +%<platexrelease> \else +%<platexrelease> \let\f@shape\default@shape +%<platexrelease> \expandafter\ifx\csname\curr@fontshape\endcsname\relax +%<platexrelease> \let\f@series\default@series +%<platexrelease> \expandafter +%<platexrelease> \ifx\csname\curr@fontshape\endcsname\relax +%<platexrelease> \let\f@family\default@family +%<platexrelease> \fi \fi +%<platexrelease> \fi +%<platexrelease> \@font@warning{Font shape +%<platexrelease> `\expandafter\string\reserved@a' +%<platexrelease> \expandafter\@gobble\string\@undefined +%<platexrelease> \MessageBreak +%<platexrelease> using `\curr@fontshape' instead\@wrong@font@char}% +%<platexrelease> \global\let\last@fontshape\reserved@a +%<platexrelease> \gdef\@defaultsubs{% +%<platexrelease> \@font@warning{Some font shapes were not available, +%<platexrelease> defaults substituted.\@gobbletwo}}% +%<platexrelease> \global\expandafter\expandafter\expandafter\let +%<platexrelease> \expandafter\reserved@a +%<platexrelease> \csname\curr@fontshape\endcsname +%<platexrelease> \xdef\font@name{% +%<platexrelease> \csname\curr@fontshape/\f@size\endcsname}% +%<platexrelease> \pickup@font} +%<platexrelease>\let\wrong@al@fontshape\@undefined +%<platexrelease>\let\wrong@ja@fontshape\@undefined +%<platexrelease>\plEndIncludeInRelease +%<*plcore> +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} % % \begin{macro}{\DeclareFixedFont} % $B%U%)%s%HL>$r@k8@$9$k%3%^%s%I$G$9!#(B -% +% $B%(%s%3!<%I!?%U%!%_%j!?%7%j!<%:!?%7%'%$%W!?%5%$%:$N(B5$B$D$NB0@-$r(B +% $B0lEY$K@Z$jBX$($k$?$a$N%3%^%s%I$rDj5A$G$-$^$9!#(B % \changes{v1.2}{1995/11/09}{\break\cs{DeclareFixedFont}$B$NF|K\8l2=(B} % \changes{v1.3c}{1997/04/09}{$B=D2#%(%s%3!<%I!&%j%9%H$NJ,N%$K$h$k3HD%(B} % \changes{v1.3f}{1998/08/10}{$B%W%j%"%s%V%k!&%3%^%s%I$K$7$F$7$^$C$F$$$?$N$r2r=|(B} @@ -1113,7 +1454,104 @@ % \end{macrocode} % \end{macro} % +% \begin{macro}{\do@subst@correction} +% \begin{macro}{\pltx@do@subst@correction@al} +% \begin{macro}{\pltx@do@subst@correction@yoko} +% \begin{macro}{\pltx@do@subst@correction@tate} +% |\font|$B$O2$J8%U%)%s%H$rJV$9$?$a!"(B\LaTeX{}$B$N85$N(B|\do@subst@correction|$B$O(B +% $BOBJ8%U%)%s%H$KBP$7$F;H$($^$;$s$N$G!"OBJ8$KBP1~$5$;$^$9(B +% \footnote{\pLaTeXe~2020-04-12$B$GBP1~!#85$N%"%9%-!<HG$NJ8=q$K$b(B +% $BBh(B\ref{afont-ascii}$B@a$G(B\cs{do@subst@correction}$B$rF|K\8lBP1~$5$;$?;]$,(B +% $B=q$+$l$F$$$^$7$?$,!"<B:]$K$O$3$NL?Na$O(B +% \begin{itemize} +% \item \cs{selectfont}$BFb$N(B\cs{pickup@font}$B$+$i8F$P$l$k>l9g(B +% \item \cs{getanddefine@fonts}$BFb$N(B\cs{pickup@font}$B$+$i8F$P$l$k>l9g(B +% \end{itemize} +% $B$N(B2$BDL$j$,$"$k$h$&$G$9!#A0<T$O(B\cs{let}\cs{font}\cs{jfont}$B$K$h$C$F(B +% $BBP=h$G$-$F$$$^$7$?$,!"8e<T$OL$BP:v$@$C$?$?$a!"Nc$($P(B +% $BOBJ8?t<0%U%)%s%H$rDj5A$7$?>uBV$G(Bbm$B%Q%C%1!<%8$r;H$C$?>l9g$K(B +% $BLdBj$,5/$-$F$$$^$7$?!J;29M!'(Btexjporg/jsclasses\#53$B!K!#(B}$B!#(B +% \changes{v1.7}{2020/03/05}{\cs{do@subst@correction}$B$NF|K\8l2=(B} +% \changes{v1.7d}{2020/03/23}{$B%I%-%e%a%s%H2~NI(B} % +% $B%*%j%8%J%k$N(B\LaTeX{}$B$NDj5A$O!"2$J8MQ$H$7$F;H$$$^$9!#(B +% \begin{macrocode} +%</plcore> +%<platexrelease>\plIncludeInRelease{2020/04/12}{\do@subst@correction} +%<platexrelease> {Japanese font substitution}% +%<*plcore|platexrelease> +\def\pltx@do@subst@correction@al{% + \xdef\subst@correction{% + \font@name + \global\expandafter\font + \csname \curr@fontshape/\f@size\endcsname + \noexpand\fontname\font + \relax}% + \aftergroup\subst@correction +} +% \end{macrocode} +% $BOBJ82#AHMQ$HOBJ8=DAHMQ$NDj5A$G$O!"$=$l$>$l(B|\jfont|$B$H(B|\tfont|$B$r;H$$$^$9!#(B +% \begin{macrocode} +\def\pltx@do@subst@correction@yoko{% + \xdef\subst@correction{% + \font@name + \global\expandafter\jfont + \csname \curr@fontshape/\f@size\endcsname + \noexpand\fontname\jfont + \relax}% + \aftergroup\subst@correction +} +\def\pltx@do@subst@correction@tate{% + \xdef\subst@correction{% + \font@name + \global\expandafter\tfont + \csname \curr@fontshape/\f@size\endcsname + \noexpand\fontname\tfont + \relax}% + \aftergroup\subst@correction +} +% \end{macrocode} +% $B$=$7$F!"%(%s%3!<%G%#%s%0$K1~$8$F(B3$B$D$NL?Na$r;H$$J,$1$^$9!#(B +% \begin{macrocode} +\def\do@subst@correction{% + \edef\tmp@item{{\f@encoding}}% + \expandafter\expandafter\expandafter + \inlist@\expandafter\tmp@item\expandafter{\kyenc@list}% + \ifin@\pltx@do@subst@correction@yoko + \else + \expandafter\expandafter\expandafter + \inlist@\expandafter\tmp@item\expandafter{\ktenc@list}% + \ifin@\pltx@do@subst@correction@tate\else + \pltx@do@subst@correction@al + \fi + \fi +} +%</plcore|platexrelease> +%<platexrelease>\plEndIncludeInRelease +%<platexrelease>\plIncludeInRelease{0000/00/00}{\do@subst@correction} +%<platexrelease> {LaTeX2e original}% +%<platexrelease>\def\do@subst@correction{% +%<platexrelease> \xdef\subst@correction{% +%<platexrelease> \font@name +%<platexrelease> \global\expandafter\font +%<platexrelease> \csname \curr@fontshape/\f@size\endcsname +%<platexrelease> \noexpand\fontname\font +%<platexrelease> \relax}% +%<platexrelease> \aftergroup\subst@correction +%<platexrelease>} +%<platexrelease>\let\pltx@do@subst@correction@al\@undefined +%<platexrelease>\let\pltx@do@subst@correction@yoko\@undefined +%<platexrelease>\let\pltx@do@subst@correction@tate\@undefined +%<platexrelease>\plEndIncludeInRelease +%<*plcore> +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% +% \subsubsection{$B?t<0MQ%U%)%s%H(B} % \begin{macro}{\reDeclareMathAlphabet} % \changes{v1.0}{1997/01/30}{\break\cs{reDeclareMathAlphabet}$B$rDI2C!#(B % $B$"$j$,$H$&!"(Bymt$B$5$s!#(B} @@ -1242,6 +1680,7 @@ % \end{macro} % % +% \subsubsection{$B=>B0=qBN$N@k8@(B} % \begin{macro}{\DeclareRelationFont} % \begin{macro}{\SetRelationFont} % $BOBJ8=qBN$KBP$9$k=>B0=qBN$r@k8@$9$k%3%^%s%I$G$9!#(B\emph{$B=>B0=qBN(B}$B$H$O!"(B @@ -1331,6 +1770,7 @@ % \end{macrocode} % \end{macro} % +% \subsubsection{$B%U%)%s%H$NA*Br(B} % \begin{macro}{\selectfont} % |\selectfont|$B$N%*%j%8%J%k$+$i$NJQ99ItJ,$O!"<!$N#3E@$G$9!#(B % \begin{itemize} @@ -1342,10 +1782,13 @@ % \changes{v1.0c}{1995/08/22}{$B=D2#N>J}$N%U%)%s%H$r@Z$jBX$($k$h$&$K$7$?(B} % \changes{v1.2}{1995/11/22}{$B%(%i!<%U%)%s%H$KBP1~$7$?(B} % \changes{v1.3n}{2004/08/10}{$BOBJ8%(%s%3!<%G%#%s%0$N@Z$jBX$($rM-8z2=(B} +% \changes{v1.7e}{2020/03/26}{$B=D2#%(%s%3!<%G%#%s%0$N%;%C%H2=3NG'(B} % |\selectfont|$B%3%^%s%I$O!"$^$:!"OBJ8%U%)%s%H$r@Z$jBX$($^$9!#(B % \begin{macrocode} %</plcore> -%<*plcore|trace> +%<platexrelease|trace>\plIncludeInRelease{2020/04/12}{\selectfont} +%<platexrelease|trace> {Check \KanjiEncodingPair}% +%<*plcore|platexrelease|trace> \DeclareRobustCommand\selectfont{% \let\tmp@error@fontshape\error@fontshape \let\error@fontshape\error@kfontshape @@ -1354,12 +1797,14 @@ \inlist@\expandafter\tmp@item\expandafter{\kyenc@list}% \ifin@ \let\cy@encoding\k@encoding + \ensure@KanjiEncodingPair{t}% \edef\ct@encoding{\csname t@enc@\k@encoding\endcsname}% \else \expandafter\expandafter\expandafter \inlist@\expandafter\tmp@item\expandafter{\ktenc@list}% \ifin@ \let\ct@encoding\k@encoding + \ensure@KanjiEncodingPair{y}% \edef\cy@encoding{\csname y@enc@\k@encoding\endcsname}% \else \@latex@error{KANJI Encoding scheme `\k@encoding' unknown}\@eha @@ -1419,7 +1864,68 @@ \set@fontsize\baselinestretch\f@size\f@baselineskip \fi \size@update} -%</plcore|trace> +%</plcore|platexrelease|trace> +%<platexrelease|trace>\plEndIncludeInRelease +%<platexrelease|trace>\plIncludeInRelease{0000/00/00}{\selectfont} +%<platexrelease|trace> {ASCII Corporation original}% +%<platexrelease|trace>\DeclareRobustCommand\selectfont{% +%<platexrelease|trace> \let\tmp@error@fontshape\error@fontshape +%<platexrelease|trace> \let\error@fontshape\error@kfontshape +%<platexrelease|trace> \edef\tmp@item{{\k@encoding}}% +%<platexrelease|trace> \expandafter\expandafter\expandafter +%<platexrelease|trace> \inlist@\expandafter\tmp@item\expandafter{\kyenc@list}% +%<platexrelease|trace> \ifin@ +%<platexrelease|trace> \let\cy@encoding\k@encoding +%<platexrelease|trace> \edef\ct@encoding{\csname t@enc@\k@encoding\endcsname}% +%<platexrelease|trace> \else +%<platexrelease|trace> \expandafter\expandafter\expandafter +%<platexrelease|trace> \inlist@\expandafter\tmp@item\expandafter{\ktenc@list}% +%<platexrelease|trace> \ifin@ +%<platexrelease|trace> \let\ct@encoding\k@encoding +%<platexrelease|trace> \edef\cy@encoding{\csname y@enc@\k@encoding\endcsname}% +%<platexrelease|trace> \else +%<platexrelease|trace> \@latex@error{KANJI Encoding scheme `\k@encoding' unknown}\@eha +%<platexrelease|trace> \fi +%<platexrelease|trace> \fi +%<platexrelease|trace> \let\font\tfont +%<platexrelease|trace> \let\k@encoding\ct@encoding +%<platexrelease|trace> \xdef\font@name{\csname\curr@kfontshape/\f@size\endcsname}% +%<platexrelease|trace> \pickup@font +%<platexrelease|trace> \font@name +%<platexrelease|trace> \let\font\jfont +%<platexrelease|trace> \let\k@encoding\cy@encoding +%<platexrelease|trace> \xdef\font@name{\csname\curr@kfontshape/\f@size\endcsname}% +%<platexrelease|trace> \pickup@font +%<platexrelease|trace> \font@name +%<platexrelease|trace> \expandafter\def\expandafter\k@encoding\tmp@item +%<platexrelease|trace> \kenc@update +%<platexrelease|trace> \let\error@fontshape\tmp@error@fontshape +%<platexrelease|trace> \if@knjcmd \@knjcmdfalse +%<platexrelease|trace> \expandafter\ifx +%<platexrelease|trace> \csname rel@\k@encoding/\k@family/\k@series/\k@shape\endcsname\relax +%<platexrelease|trace> \expandafter\ifx +%<platexrelease|trace> \csname rel@\k@encoding/\k@family/\k@series/all\endcsname\relax +%<platexrelease|trace> \else +%<platexrelease|trace> \csname rel@\k@encoding/\k@family/\k@series/all\endcsname +%<platexrelease|trace> \fi +%<platexrelease|trace> \else +%<platexrelease|trace> \csname rel@\k@encoding/\k@family/\k@series/\k@shape\endcsname +%<platexrelease|trace> \fi +%<platexrelease|trace> \fi +%<platexrelease|trace> \let\font\afont +%<platexrelease|trace> \xdef\font@name{\csname\curr@fontshape/\f@size\endcsname}% +%<platexrelease|trace> \pickup@font +%<platexrelease|trace> \font@name +%<*trace> +%<platexrelease|trace> \ifnum \tracingfonts>\tw@ +%<platexrelease|trace> \@font@info{Roman:Switching to \font@name}\fi +%</trace> +%<platexrelease|trace> \enc@update +%<platexrelease|trace> \ifx\f@linespread\baselinestretch \else +%<platexrelease|trace> \set@fontsize\baselinestretch\f@size\f@baselineskip +%<platexrelease|trace> \fi +%<platexrelease|trace> \size@update} +%<platexrelease|trace>\plEndIncludeInRelease %<*plcore> % \end{macrocode} % \end{macro} @@ -1651,6 +2157,7 @@ % \end{macro} % % +% \subsubsection{$B%(%s%3!<%I$N;XDj(B} % \begin{macro}{\romanencoding} % \begin{macro}{\kanjiencoding} % \begin{macro}{\fontencoding} @@ -1766,6 +2273,7 @@ % \end{macrocode} % \end{macro} % +% \subsubsection{$B%U%!%_%j$N;XDj(B} % \begin{macro}{\@notkfam} % \begin{macro}{\@notffam} % |\fontfamily|$B%3%^%s%IFb$G;HMQ$9$k%U%i%0$G$9!#(B @@ -1928,35 +2436,68 @@ % \end{macro} % % -% \begin{macro}{\series@maybe@drop@one@m} -% $BK\2H(B\LaTeXe~2020-02-02 patch level~5$B$GDI2C$5$l$?L?Na$G$9!#(B -% \NFSS{}$B$,BgI}$K=$@5!&3HD%$5$l$?(B\LaTeXe~2020-02-02$B$N$&$A!"(B +% \subsubsection{$B%7%j!<%:$N;XDj!J?7(BNFSS$BBP1~!K(B} +% \begin{macro}{\pltx@latex@level} +% $B%3%_%e%K%F%#HG(B\pLaTeXe~2020-02-02$B$G$NJQ99!'$3$3$+$i(B +% \LaTeXe~2020-02-02$B$G3HD%$5$l$??7$7$$(BNFSS$B$X$NBP1~%3!<%I$,;O$^$j$^$9!#(B +% \pLaTeXe{}$B$N%3!<%I$rK\2H(B\LaTeXe{}$B$N5!G=$K1~$8$F@Z$jBX$($^$9!#(B +% +% \LaTeXe~2020-02-02$B$N$&$A!"(B % patch level~2$B$K$O(B |latex3/latex2e#277| $B$N%P%0$,$"$j!"(B -% ^^A $B"*BP:v$H$7$F(B \if@forced@series $B$,DI2C$5$l$?(B -% patch level~4$B$K$O(B |latex3/latex2e#293| $B$N%P%0$,$"$C$?$?$a!"(B -% ^^A $B"*BP:v$H$7$F(B \series@maybe@drop@one@m $B$,DI2C$5$l$?(B -% $B0BDj$7$?(B\LaTeXe{}$B$N$_$r%5%]!<%H$7$^$9!#(B +% ^^A $B"*BP:v$H$7$F(B |\if@forced@series| $B$,DI2C$5$l$?(B +% patch level~4$B$K$O(B |latex3/latex2e#293| $B$N%P%0$,$"$j$^$7$?!#(B +% ^^A $B"*BP:v$H$7$F(B |\series@maybe@drop@one@m| $B$,DI2C$5$l$?(B +% $B$5$i$K3+H/HG(B\LaTeXe{}$B$G$O(B |latex3/latex2e#291| $B$NBP:v$b;\$5$l$F$$$^$9!#(B +% ^^A $B"*BP:v$H$7$F(B |\series@maybe@drop@one@m@x| $B$,DI2C$5$l$?(B % \changes{v1.6z}{2020/02/28}{\cs{series@maybe@drop@one@m}$B$NB8:_3NG'(B} +% \changes{v1.7}{2020/03/05}{\cs{series@maybe@drop@one@m@x}$B$NB8:_3NG'(B} % \begin{macrocode} %<*plcore|platexrelease> \ifx\fontseriesforce\@undefined % old + \def\pltx@latex@level{0} \else % 2020-02-02 - \ifx\@forced@seriestrue\@undefined % patch level 0, 1, 2 - \@latex@error - {Please update LaTeX2e!^^J\space\space - At least LaTeX2e 2020-02-02 patch level 3 is required} - {LaTeX2e 2020-02-02 patch level 2 has a bug.} -%<plcore> \@@end + \ifx\@forced@seriestrue\@undefined + \ifnum\patch@level<1\relax % patch level 0 + \def\pltx@latex@level{1}% use \@reserveda + \else % patch level 1, 2 + \def\pltx@latex@level{2} + \fi + \else + \ifx\series@maybe@drop@one@m\@undefined % patch level 3, 4 + \def\pltx@latex@level{3} + \else + \ifx\series@maybe@drop@one@m@x\@undefined % patch level 5 + \def\pltx@latex@level{4} + % anticipating LaTeX2e 'develop' branch (after 23b7244) + % this temporary code will be removed in the future + %\let\series@maybe@drop@one@m@x\series@maybe@drop@one@m + %\def\series@maybe@drop@one@m#1{% + % \expandafter\series@maybe@drop@one@m@x\expandafter{#1}} + \else + \def\pltx@latex@level{5} + \fi + \fi \fi - % actually we'd like to check the below too, - % but commented out for TL19 frozen since - % platex-dev format generation fails - %\ifx\series@maybe@drop@one@m\@undefined % patch level 0--4 - % \@latex@error - % {Please update LaTeX2e!^^J\space\space - % At least LaTeX2e 2020-02-02 patch level 5 is required} - % {LaTeX2e 2020-02-02 patch level 2 and 4 has a bug.} - %\fi +\fi +% \end{macrocode} +% $B$3$3$G$O!":GDc8B$I$N%P!<%8%g%s$N(B\LaTeXe{}$B>e$G$b%U%)!<%^%C%H@8@.$,(B +% $B@.8y$9$k$h$&$K(B|\catcode|$B%H%j%C%/$r;H$$$^$9!#(B +% ^^A $B"*(B |\if@forced@series|$B%U%i%0$r1#$9I,MW$,$"$k$?$aLLE](B +% $B8=:_$N<gMW$J%3!<%I$O(B +% \begin{itemize} +% \item \LaTeXe~2019-10-01 patch level~3$B0JA0!J=>Mh$N(B\NFSS2$B!K(B +% \item \LaTeXe{}$B$N3+H/HG!J:G?7$N(Bdevelop$B%V%i%s%A!K(B +% \end{itemize} +% $B8~$1$K:GE,2=$7$F$*$j!"B>$N%P!<%8%g%s$X$NBP=h$O8e2s$7$K$7$^$9!#(B +% ^^A $B"*(B $B>-MhE*$K:o=|$7$d$9$$$h$&$K(B +% \begin{macrocode} +\edef\pltx@reset@catcode@trick{\catcode`\noexpand\~=\the\catcode`\~\relax} +\def\pltx@temp@catcode@ix{\catcode`\~=9\relax} +\def\pltx@temp@catcode@xiv{\catcode`\~=14\relax} +\ifnum\pltx@latex@level<3\relax + \pltx@temp@catcode@xiv % hide if-tokens +\else + \pltx@temp@catcode@ix % reveal if-tokens \fi %</plcore|platexrelease> % \end{macrocode} @@ -2031,42 +2572,85 @@ \def\merge@kanji@series@#1#2#3\@nil{% \def\reserved@a{#3}% \ifx\reserved@a\@empty +% \end{macrocode} +% $B%7%j!<%:99?75,B'$,$J$$>l9g!'(B|#2|$B$,MW5a%7%j!<%:$G$"$j!"$3$l$r;H$&!#(B +% \begin{macrocode} \set@target@series@kanji{#2}% \else \begingroup\let\f@encoding\k@encoding\let\f@family\k@family \maybe@load@fontshape\endgroup \edef\reserved@a{\k@encoding /\k@family /#1/\k@shape}% \ifcsname \reserved@a \endcsname +% \end{macrocode} +% $B%7%j!<%:99?75,B'$K4p$E$/?7%7%j!<%:(B |#1| $B$,MxMQ2DG=!'(B +% \begin{macrocode} \set@target@series@kanji{#1}% \else \ifcsname \k@encoding /\k@family /#2/\k@shape \endcsname +% \end{macrocode} +% $B%7%j!<%:99?75,B'$K4p$E$/BeBX%7%j!<%:(B |#2| $B$,MxMQ2DG=!'(B +% \begin{macrocode} \set@target@series@kanji{#2}% {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}% \else +% \end{macrocode} +% $B$$$:$l$bMxMQIT2D!'MW5a%7%j!<%:(B |#3| $B$r;H$&!#(B +% \begin{macrocode} \set@target@series@kanji{#3}% {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}% \fi \fi \fi } -\ifx\series@maybe@drop@one@m\@undefined % patch level 0--4 -\def\set@target@series@kanji#1{% - \edef\k@series{#1}% - \edef\k@series{\expandafter\series@drop@one@m\k@series mm\series@drop@one@m}% -} -\else % patch level 5 \def\set@target@series@kanji#1{% \edef\k@series{#1}% - \expandafter\series@maybe@drop@one@m\expandafter{\k@series}\k@series + \series@maybe@drop@one@m\k@series\k@series } \fi -\fi +%</plcore|platexrelease> % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % +% \subsubsection{$B%7%'%$%W$N;XDj!J?7(BNFSS$BBP1~!K(B} +% $B%3%_%e%K%F%#HG(B\pLaTeXe~2020-04-12$B$G$NJQ99!'(B +% $B=>Mh$O!"(B|\itshape|$B$J$I$NL?Na$r<B9T$9$k$H(B +%\begin{verbatim} +% LaTeX Font Warning: Font shape `JT1/mc/m/it' undefined +% (Font) using `JT1/mc/m/n' instead on input line 4. +% LaTeX Font Warning: Font shape `JY1/mc/m/it' undefined +% (Font) using `JY1/mc/m/n' instead on input line 4. +%\end{verbatim} +% $B$N$h$&$J7Y9p$rH/$7$F$$$^$7$?!#$3$l$O0J2<$NM}M3$K$h$j$^$9!#(B +% \begin{itemize} +% \item \LaTeXe{}$B$,Dj5A$9$k(B|\itshape|$B$J$I$N%7%'%$%WJQ99L?Na$O(B +% $BFbIt$G(B|\fontshape|$B$r8F$S=P$9!#(B +% \item \pLaTeXe{}$B$G$O!"(B|\fontshape|$B$r2$J8=qBN$@$1$G$J$/(B +% $BOBJ8=qBN$bJQ99$9$k$h$&$K:FDj5A$9$k!#(B +% \item $B$7$+$7!"OBJ8=qBN$N%7%'%$%W$O$[$H$s$I(B``n''$B$7$+MQ$$$i$l$:!"(B +% |\DeclareFontShape|$B$G$NDj5A$b(B``n''$B$7$+M?$($i$l$J$$$3$H$,B?$$!#(B +% \item $B7k2LE*$K!"2$J8=qBN$N%7%'%$%W$rJQ99$9$k$D$b$j$G$b(B +% $B!VOBJ8=qBN$N%7%'%$%W$,L$Dj5A!W$H$$$&7Y9p$,=P$F$7$^$&!#(B +% \end{itemize} +% $B$=$3$G!"OBJ8=qBN$N%7%'%$%W$,L$Dj5A$N>l9g$O(B +% |\fontshape|$B5Z$S(B|\fontshapeforce|$B$,OBJ8=qBN$K$O1F6A$;$:!"(B +% $B2$J8=qBN$N%7%'%$%W$N$_$rJQ99$9$k$h$&$K2~NI$7$^$9!#(B +% +% \begin{macro}{\if@shape@roman@kanji} +% $BOB2$J8$NN>J}$K1F6A$7$h$&$H$9$k(B|\fontshape|$B%3%^%s%I<B9TCf$K(B +% $B??$K$J$k%U%i%0$G$9!#(B|\fontshapeforce|$B$O<BAu$,C1=c$J$N$G!"(B +% $B$3$N%U%i%0$O;H$C$F$$$^$;$s!#(B +% \changes{v1.7c}{2020/03/15}{\cs{fontshape}/\cs{fontshapeforce}$B$,(B +% $BOBJ8%7%'%$%WL$Dj5A$N>l9g$O(B\cs{k@shape}$B$r99?7$7$J$$$h$&$KJQ99(B} +% \begin{macrocode} +%<*plcore|platexrelease> +\newif\if@shape@roman@kanji +%</plcore|platexrelease> +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\romanshape} % \begin{macro}{\kanjishape} % \begin{macro}{\fontshape} @@ -2077,15 +2661,38 @@ % \LaTeXe~2020-02-02$B0J9_$G$O!"(B|\DeclareFontShapeChangeRule|$B$K$h$C$F(B % $B@k8@$5$l$?!V%7%'%$%W99?75,B'!W$K4p$E$-%7%'%$%W$rA*Br$7$^$9!#(B % \begin{macrocode} +%<platexrelease>\plIncludeInRelease{2020/04/12}{\fontshape} +%<platexrelease> {No \k@shape update if unavailable}% +%<*plcore|platexrelease> \ifx\fontshapeforce\@undefined % old \DeclareRobustCommand\romanshape[1]{\edef\f@shape{#1}} \DeclareRobustCommand\kanjishape[1]{\edef\k@shape{#1}} -\DeclareRobustCommand\fontshape[1]{\kanjishape{#1}\romanshape{#1}} +\DeclareRobustCommand\fontshape[1]{% + \set@safe@kanji@shape{#1}{}% + \edef\f@shape{#1}% +} \else % 2020-02-02 \DeclareRobustCommand\romanshape[1]{\merge@font@shape{#1}} \DeclareRobustCommand\kanjishape[1]{\merge@kanji@shape{#1}} -\DeclareRobustCommand\fontshape[1]{\kanjishape{#1}\romanshape{#1}} +\DeclareRobustCommand\fontshape[1]{% + \@shape@roman@kanjitrue + \kanjishape{#1}\romanshape{#1}% + \@shape@roman@kanjifalse} \fi +%</plcore|platexrelease> +%<platexrelease>\plEndIncludeInRelease +%<platexrelease>\plIncludeInRelease{0000/00/00}{\fontshape} +%<platexrelease> {ASCII Corporation / TeXJP original}% +%<platexrelease>\ifx\fontshapeforce\@undefined % old +%<platexrelease>\DeclareRobustCommand\romanshape[1]{\edef\f@shape{#1}} +%<platexrelease>\DeclareRobustCommand\kanjishape[1]{\edef\k@shape{#1}} +%<platexrelease>\DeclareRobustCommand\fontshape[1]{\kanjishape{#1}\romanshape{#1}} +%<platexrelease>\else % 2020-02-02 +%<platexrelease>\DeclareRobustCommand\romanshape[1]{\merge@font@shape{#1}} +%<platexrelease>\DeclareRobustCommand\kanjishape[1]{\merge@kanji@shape{#1}} +%<platexrelease>\DeclareRobustCommand\fontshape[1]{\kanjishape{#1}\romanshape{#1}} +%<platexrelease>\fi +%<platexrelease>\plEndIncludeInRelease % \end{macrocode} % \end{macro} % \end{macro} @@ -2098,14 +2705,33 @@ % \changes{v1.6v}{2020/02/01}{New commands \cs{fontshapeforce} etc. % (sync with ltfssaxes.dtx 2019/12/16 v1.0a)} % \begin{macrocode} +%<platexrelease>\plIncludeInRelease{2020/04/12}{\fontshapeforce} +%<platexrelease> {No \k@shape update if unavailable}% +%<*plcore|platexrelease> \ifx\fontshapeforce\@undefined % old \let\romanshapeforce\@undefined \let\kanjishapeforce\@undefined \else % 2020-02-02 \DeclareRobustCommand\romanshapeforce[1]{\edef\f@shape{#1}} \DeclareRobustCommand\kanjishapeforce[1]{\edef\k@shape{#1}} -\DeclareRobustCommand\fontshapeforce[1]{\kanjishapeforce{#1}\romanshapeforce{#1}} +\DeclareRobustCommand\fontshapeforce[1]{% + \set@safe@kanji@shape{#1}{}% + \edef\f@shape{#1}% +} \fi +%</plcore|platexrelease> +%<platexrelease>\plEndIncludeInRelease +%<platexrelease>\plIncludeInRelease{0000/00/00}{\fontshapeforce} +%<platexrelease> {ASCII Corporation / TeXJP original}% +%<platexrelease>\ifx\fontshapeforce\@undefined % old +%<platexrelease>\let\romanshapeforce\@undefined +%<platexrelease>\let\kanjishapeforce\@undefined +%<platexrelease>\else % 2020-02-02 +%<platexrelease>\DeclareRobustCommand\romanshapeforce[1]{\edef\f@shape{#1}} +%<platexrelease>\DeclareRobustCommand\kanjishapeforce[1]{\edef\k@shape{#1}} +%<platexrelease>\DeclareRobustCommand\fontshapeforce[1]{\kanjishapeforce{#1}\romanshapeforce{#1}} +%<platexrelease>\fi +%<platexrelease>\plEndIncludeInRelease % \end{macrocode} % \end{macro} % \end{macro} @@ -2115,6 +2741,9 @@ % \begin{macro}{\merge@kanji@shape@} % \cs{merge@font@shape}$B$NOBJ8HG$G$9!#(B % \begin{macrocode} +%<platexrelease>\plIncludeInRelease{2020/04/12}{\merge@kanji@shape@} +%<platexrelease> {No \k@shape update if unavailable}% +%<*plcore|platexrelease> \ifx\fontseriesforce\@undefined % old \let\merge@kanji@shape\@undefined \let\merge@kanji@shape@\@undefined @@ -2129,31 +2758,125 @@ \def\merge@kanji@shape@#1#2#3\@nil{% \def\reserved@a{#3}% \ifx\reserved@a\@empty +% \end{macrocode} +% $B%7%'%$%W99?75,B'$,$J$$>l9g!'(B|#2|$B$,MW5a%7%'%$%W$G$"$k!#(B\\ +% |\fontshape|$B$N2<@A$1$J$i!"(B|#2|$B$,MxMQ2DG=$+$I$&$+M=$a%A%'%C%/$9$k!#(B\\ +% |\kanjishape|$B$N2<@A$1$J$i!"(B|#2|$B$r;H$&!#(B +% \begin{macrocode} + \if@shape@roman@kanji + \set@safe@kanji@shape{#2}{}% + \else \edef\k@shape{#2}% + \fi \else \begingroup\let\f@encoding\k@encoding\let\f@family\k@family \maybe@load@fontshape\endgroup \edef\reserved@a{\k@encoding /\k@family /\k@series/#1}% \ifcsname \reserved@a\endcsname +% \end{macrocode} +% $B%7%'%$%W99?75,B'$K4p$E$/?7%7%'%$%W(B |#1| $B$,MxMQ2DG=!'(B +% \begin{macrocode} \edef\k@shape{#1}% \else \ifcsname \k@encoding /\k@family /\k@series/#2\endcsname +% \end{macrocode} +% $B%7%'%$%W99?75,B'$K4p$E$/BeBX%7%'%$%W(B |#2| $B$,MxMQ2DG=!'(B +% \begin{macrocode} \edef\k@shape{#2}% {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}% \else +% \end{macrocode} +% $B$$$:$l$bMxMQIT2D!'MW5a%7%'%$%W(B |#3| $B$K$D$$$F(B\\ +% |\fontshape|$B$N2<@A$1$J$i!"(B|#3|$B$,MxMQ2DG=$+$I$&$+M=$a%A%'%C%/$9$k!#(B\\ +% |\kanjishape|$B$N2<@A$1$J$i!"(B|#3|$B$r;H$&!#(B +% \begin{macrocode} + \if@shape@roman@kanji + \set@safe@kanji@shape{#3}% + {{\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}}% + \else \edef\k@shape{#3}% {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}% + \fi \fi \fi \fi } \fi %</plcore|platexrelease> +%<platexrelease>\plEndIncludeInRelease +%<platexrelease>\plIncludeInRelease{0000/00/00}{\merge@kanji@shape@} +%<platexrelease> {ASCII Corporation / TeXJP original}% +%<platexrelease>\ifx\fontseriesforce\@undefined % old +%<platexrelease>\let\merge@kanji@shape\@undefined +%<platexrelease>\let\merge@kanji@shape@\@undefined +%<platexrelease>\else % 2020-02-02 +%<platexrelease>\def\merge@kanji@shape#1{% +%<platexrelease> \expandafter\expandafter\expandafter +%<platexrelease> \merge@kanji@shape@ +%<platexrelease> \csname shape@\k@shape @#1\endcsname +%<platexrelease> {#1}% +%<platexrelease> \@nil +%<platexrelease>} +%<platexrelease>\def\merge@kanji@shape@#1#2#3\@nil{% +%<platexrelease> \def\reserved@a{#3}% +%<platexrelease> \ifx\reserved@a\@empty +%<platexrelease> \edef\k@shape{#2}% +%<platexrelease> \else +%<platexrelease> \begingroup\let\f@encoding\k@encoding\let\f@family\k@family +%<platexrelease> \maybe@load@fontshape\endgroup +%<platexrelease> \edef\reserved@a{\k@encoding /\k@family /\k@series/#1}% +%<platexrelease> \ifcsname \reserved@a\endcsname +%<platexrelease> \edef\k@shape{#1}% +%<platexrelease> \else +%<platexrelease> \ifcsname \k@encoding /\k@family /\k@series/#2\endcsname +%<platexrelease> \edef\k@shape{#2}% +%<platexrelease> {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}% +%<platexrelease> \else +%<platexrelease> \edef\k@shape{#3}% +%<platexrelease> {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}% +%<platexrelease> \fi +%<platexrelease> \fi +%<platexrelease> \fi +%<platexrelease>} +%<platexrelease>\fi +%<platexrelease>\plEndIncludeInRelease +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\set@safe@kanji@shape} +% \begin{macro}{\@kanji@shape@nochange@info} +% $BOBJ8%7%'!<%W$,MxMQ2DG=$+$I$&$+M=$a%A%'%C%/$7$F$+$i@_Dj$7$^$9!#(B +% \begin{macrocode} +%<platexrelease>\plIncludeInRelease{2020/04/12}{\set@safe@kanji@shape} +%<platexrelease> {No \k@shape update if unavailable}% +%<*plcore|platexrelease> +\def\set@safe@kanji@shape#1#2{% + \edef\reserved@b{\k@encoding /\k@family /\k@series/#1}% + \ifcsname \reserved@b\endcsname + \edef\k@shape{#1}% + #2% + \else + \@kanji@shape@nochange@info{\reserved@b}% + \fi +} +\def\@kanji@shape@nochange@info#1{% + \@font@info{Kanji font shape `#1' undefined\MessageBreak + No change}% +} +%</plcore|platexrelease> +%<platexrelease>\plEndIncludeInRelease +%<platexrelease>\plIncludeInRelease{0000/00/00}{\set@safe@kanji@shape} +%<platexrelease> {ASCII Corporation original}% +%<platexrelease>\let\set@safe@kanji@shape\@undefined +%<platexrelease>\let\@kanji@shape@nochange@info\@undefined +%<platexrelease>\plEndIncludeInRelease % \end{macrocode} % \end{macro} % \end{macro} % % +% \subsubsection{$B=qBN$N@Z$jBX$(!J?7(BNFSS$BBP1~!K(B} % \begin{macro}{\usekanji} % \begin{macro}{\useroman} % \begin{macro}{\usefont} @@ -2235,10 +2958,19 @@ % $BOBJ8=qBN$b%G%U%)%k%HCM$K$J$k$h$&$K:FDj5A$7$F$$$^$9!#(B % $B$?$@$79bB.2=$N$?$a!"(B|\usekanji|$B$H(B|\useroman|$B$rE83+$7!"(B % |\selectfont|$B$r0lEY$7$+8F$S=P$5$J$$$h$&$K$7$F$$$^$9!#(B +% +% \LaTeXe~2020-02-02 patch level~2$B$G?7@_$5$l$?%U%C%/(B +% |\@defaultfamilyhook|$B$r;H$&$3$H$G!"85$NDj5A$r>e=q$-$9$kI,MW$,(B +% $B$J$/$J$j$^$7$?!#!JCm0U!'%"%9%-!<HG$NKvHx$K$"$C$?(B +% |\ignorespaces|$B$r:o=|$9$k$3$H$G!"85$N(B\LaTeXe{}$B$H8_49$K(B +% $B$J$j$^$7$?!#(Bltfssini.dtx 1995/10/16 v3.0f$B$NJQ99$b;29M!#!K(B +% \changes{v1.7a}{2020/03/06}{\cs{@defaultfamilyhook}$B$r3hMQ(B +% (sync with ltfssini.dtx 2020/02/10 v3.1h)} % \begin{macrocode} -%<platexrelease>\plIncludeInRelease{2020/02/02}{\normalfont} -%<platexrelease> {Don't call \fontseries or \fontshape}% +%<platexrelease>\plIncludeInRelease{2020/04/12}{\normalfont} +%<platexrelease> {Use \@defaultfamilyhook}% %<*plcore|platexrelease> +\ifx\@defaultfamilyhook\@undefined % old \DeclareRobustCommand\normalfont{% \kanjiencoding{\kanjiencodingdefault}% \edef\k@family{\kanjifamilydefault}% @@ -2248,11 +2980,41 @@ \edef\f@family{\familydefault}% \edef\f@series{\seriesdefault}% \edef\f@shape{\shapedefault}% - \selectfont\ignorespaces} + \selectfont} +\else % 2020-02-02 PL2 +%<platexrelease>\DeclareRobustCommand\normalfont{% +%<platexrelease> \fontencoding\encodingdefault +%<platexrelease> \edef\f@family{\familydefault}% +%<platexrelease> \edef\f@series{\seriesdefault}% +%<platexrelease> \edef\f@shape{\shapedefault}% +%<platexrelease> \@defaultfamilyhook +%<platexrelease> \selectfont} +\g@addto@macro\@defaultfamilyhook{% + \kanjiencoding{\kanjiencodingdefault}% + \edef\k@family{\kanjifamilydefault}% + \edef\k@series{\kanjiseriesdefault}% + \edef\k@shape{\kanjishapedefault}% +} +\fi \adjustbaseline \let\reset@font\normalfont %</plcore|platexrelease> %<platexrelease>\plEndIncludeInRelease +%<platexrelease>\plIncludeInRelease{2020/02/02}{\normalfont} +%<platexrelease> {Don't call \fontseries or \fontshape}% +%<platexrelease>\DeclareRobustCommand\normalfont{% +%<platexrelease> \kanjiencoding{\kanjiencodingdefault}% +%<platexrelease> \edef\k@family{\kanjifamilydefault}% +%<platexrelease> \edef\k@series{\kanjiseriesdefault}% +%<platexrelease> \edef\k@shape{\kanjishapedefault}% +%<platexrelease> \romanencoding{\encodingdefault}% +%<platexrelease> \edef\f@family{\familydefault}% +%<platexrelease> \edef\f@series{\seriesdefault}% +%<platexrelease> \edef\f@shape{\shapedefault}% +%<platexrelease> \selectfont\ignorespaces} +%<platexrelease>\adjustbaseline +%<platexrelease>\let\reset@font\normalfont +%<platexrelease>\plEndIncludeInRelease %<platexrelease>\plIncludeInRelease{0000/00/00}{\normalfont} %<platexrelease> {ASCII Corporation original}% %<platexrelease>\DeclareRobustCommand\normalfont{% @@ -2309,18 +3071,22 @@ % % \begin{macro}{\expand@font@defaults} % $B%U%!%_%j$N%G%U%)%k%H$r40A4E83+$7$^$9!#(B -% $B$^$:!"%*%j%8%J%k$N(B\LaTeX{}$B$NDj5A$r:\$;$F$*$-$^$9!#(B +% $B$^$:!"%*%j%8%J%k$N(B\LaTeX{}$B$NDj5A!J(Bltfssini.dtx 2020/04/06 v3.1m$B0J9_!K$r(B +% $B:\$;$F$*$-$^$9!#(B % \begin{macrocode} %\def\expand@font@defaults{% % \edef\rmdef@ult{\rmdefault}% % \edef\sfdef@ult{\sfdefault}% % \edef\ttdef@ult{\ttdefault}% -% \edef\bfdef@ult{\bfdefault}% -% \edef\mddef@ult{\mddefault}% +% \series@maybe@drop@one@m\bfdefault\bfdef@ult % !! changed 2020/02/25 v3.1j +% \series@maybe@drop@one@m\mddefault\mddef@ult % !! changed 2020/02/25 v3.1j % \edef\famdef@ult{\familydefault}% +% \@expandfontdefaultshook % !! added 2020/04/06 v3.1m %} % \end{macrocode} % p\LaTeX{}$B$G$O!"0J2<$N%3!<%I$rKvHx$KDI2C$7$^$9!#(B +% ^^A ltfssini.dtx 2020/04/06 v3.1m $B$K4p$E$1$P(B |\@expandfontdefaultshook| $B$r(B +% ^^A $B;H$&$3$H$b$G$-$k$,!"$H$j$"$($:(B |\g@addto@macro| $B$GKvHxDI2C$GLdBj$J$$!#(B % \begin{macrocode} \ifx\expand@font@defaults\@undefined\else % 2020-02-02 \g@addto@macro\expand@font@defaults{% @@ -2336,56 +3102,111 @@ % \begin{macro}{\bfseries} % \begin{macro}{\mdseries} % $B%U%!%_%j$4$H$N@_DjCM$r;2>H$7$^$9!#(B +% $B$^$:!"%*%j%8%J%k$N(B\LaTeX{}$B$NDj5A!J(Bltfssini.dtx 2020/04/06 v3.1m$B0J9_!K$r(B +% $B:\$;$F$*$-$^$9!#(B +% \begin{macrocode} +%\DeclareRobustCommand\bfseries{% +% \not@math@alphabet\bfseries\mathbf +% \expand@font@defaults +% \ifx\bfdefault\bfdefault@previous\else +% \expandafter\def\expandafter\bfdefault +% \expandafter{\bfdefault\@empty}% +% \let\bfseries@previous\bfdefault +% \let\bfseries@rm\bfdef@ult +% \let\bfseries@sf\bfdef@ult +% \let\bfseries@tt\bfdef@ult +% \@setbfseriesdefaultshook % !! added 2020/04/06 v3.1m +% \fi +% \ifx\f@family\rmdef@ult \fontseries\bfseries@rm +% \else\ifx\f@family\sfdef@ult \fontseries\bfseries@sf +% \else\ifx\f@family\ttdef@ult \fontseries\bfseries@tt +% \else \fontseries\bfdefault +% \fi\fi\fi +% \selectfont +%} +%\DeclareRobustCommand\mdseries{% +% \not@math@alphabet\mdseries\relax +% \expand@font@defaults +% \ifx\mddefault\mddefault@previous\else +% \expandafter\def\expandafter\mddefault +% \expandafter{\mddefault\@empty}% +% \let\mdseries@previous\mddefault +% \let\mdseries@rm\mddef@ult +% \let\mdseries@sf\mddef@ult +% \let\mdseries@tt\mddef@ult +% \@setmdseriesdefaultshook % !! added 2020/04/06 v3.1m +% \fi +% \ifx\f@family\rmdef@ult \fontseries\mdseries@rm +% \else\ifx\f@family\sfdef@ult \fontseries\mdseries@sf +% \else\ifx\f@family\ttdef@ult \fontseries\mdseries@tt +% \else \fontseries\mddefault +% \fi\fi\fi +% \selectfont +%} +% \end{macrocode} +% $B0J2<$G(Bp\LaTeX{}$BMQ$K:FDj5A$7$^$9!#(B % \changes{v1.6y}{2020/02/24}{Make the \cs{ifx} selection outside of % \cs{fontseries} argument so that it is not done several times % (sync with ltfssini.dtx 2020/02/18 v3.1i)} +% \changes{v1.7f}{2020/04/07}{Support legacy use of \cs{bfdefault} +% and \cs{mddefault}, use \cs{@setYYseriesdefaultshook} +% (sync with ltfssini.dtx 2020/03/19 v3.1k and 2020/04/06 v3.1m)} % \begin{macrocode} -\ifx\bfseries@rm\@undefined\else % 2020-02-02 -\DeclareRobustCommand\bfseries{% - \not@math@alphabet\bfseries\mathbf - \expand@font@defaults - % changed \fontseries -> \romanseries - \ifx\f@family\rmdef@ult \romanseries\bfseries@rm - \else\ifx\f@family\sfdef@ult \romanseries\bfseries@sf - \else\ifx\f@family\ttdef@ult \romanseries\bfseries@tt - \else \romanseries\bfdefault - \fi\fi\fi -% \end{macrocode} -% $B$3$3$+$i$,(Bp\LaTeX{}$B$K$h$kDI2C%3!<%I$G$9!#(B -% \begin{macrocode} +\ifx\bfseries@rm\@undefined % old +\let\pltx@fontseries@saved\@undefined +\let\pltx@patch@bfseries\@undefined +\let\pltx@patch@mdseries\@undefined +\else % 2020-02-02 +\let\pltx@fontseries@saved\fontseries +\def\pltx@patch@bfseries\not@math@alphabet#1#2#3\selectfont{% + \long\expandafter\def\csname bfseries \endcsname{% + \not@math@alphabet#1#2% should be \bfseries\mathbf + % \fontseries of pLaTeX tries to change both Latin and Japanese; + % here we want only Latin, so use \romanseries + \let\fontseries\romanseries + #3% contains \fontseries and \@setbfseriesdefaultshook + \let\fontseries\pltx@fontseries@saved % recover % changed \fontseries -> \kanjiseries \ifx\k@family\mcdef@ult \kanjiseries\bfseries@mc \else\ifx\k@family\gtdef@ult \kanjiseries\bfseries@gt \else \kanjiseries\bfdefault \fi\fi -% \end{macrocode} -% $B$3$3$^$G!#(B -% \begin{macrocode} - \selectfont + \selectfont + }% } -\DeclareRobustCommand\mdseries{% - \not@math@alphabet\mdseries\relax - \expand@font@defaults - % changed \fontseries -> \romanseries - \ifx\f@family\rmdef@ult \romanseries\mdseries@rm - \else\ifx\f@family\sfdef@ult \romanseries\mdseries@sf - \else\ifx\f@family\ttdef@ult \romanseries\mdseries@tt - \else \romanseries\mddefault - \fi\fi\fi -% \end{macrocode} -% $B$3$3$+$i$,(Bp\LaTeX{}$B$K$h$kDI2C%3!<%I$G$9!#(B -% \begin{macrocode} +\ifx\@setbfseriesdefaultshook\@undefined\else +\g@addto@macro\@setbfseriesdefaultshook{% + \let\bfseries@mc\bfdef@ult + \let\bfseries@gt\bfdef@ult +} +\fi +\expandafter\expandafter\expandafter + \pltx@patch@bfseries\csname bfseries \endcsname +\def\pltx@patch@mdseries\not@math@alphabet#1#2#3\selectfont{% + \long\expandafter\def\csname mdseries \endcsname{% + \not@math@alphabet#1#2% should be \mdseries\relax + % \fontseries of pLaTeX tries to change both Latin and Japanese; + % here we want only Latin, so use \romanseries + \let\fontseries\romanseries + #3% contains \fontseries and \@setmdseriesdefaultshook + \let\fontseries\pltx@fontseries@saved % recover % changed \fontseries -> \kanjiseries \ifx\k@family\mcdef@ult \kanjiseries\mdseries@mc \else\ifx\k@family\gtdef@ult \kanjiseries\mdseries@gt \else \kanjiseries\mddefault \fi\fi -% \end{macrocode} -% $B$3$3$^$G!#(B -% \begin{macrocode} \selectfont + }% +} +\ifx\@setmdseriesdefaultshook\@undefined\else +\g@addto@macro\@setmdseriesdefaultshook{% + \let\mdseries@mc\mddef@ult + \let\mdseries@gt\mddef@ult } \fi +\expandafter\expandafter\expandafter + \pltx@patch@mdseries\csname mdseries \endcsname +\fi % \end{macrocode} % \end{macro} % \end{macro} @@ -2408,10 +3229,10 @@ \let\update@series@target@value@kanji\@undefined \else % 2020-02-02 \def\prepare@family@series@update#1#2{% - \if@forced@series +~\if@forced@series %<+debug> \series@change@debug{No series preparation (forced \f@series)\on@line}% - \romanfamily#2% % changed \fontfamily -> \romanfamily - \else +~ \romanfamily#2% % changed \fontfamily -> \romanfamily +~\else %<+debug> \series@change@debug{Prepearing for switching to #1 (#2)\on@line}% \expand@font@defaults \let\target@series@value\@empty @@ -2432,16 +3253,17 @@ \maybe@load@fontshape %<+debug> \series@change@debug{Target series: %<+debug> \f@series \space -> \target@series@value}% - \let\f@series\target@series@value +% \let\f@series\target@series@value + \series@maybe@drop@one@m\target@series@value\f@series \fi \fi - \fi +~\fi } \def\prepare@family@series@update@kanji#1#2{% - \if@forced@series +~\if@forced@series %<+debug> \series@change@debug{No series preparation (forced \k@series)\on@line}% - \kanjifamily#2% - \else +~ \kanjifamily#2% +~\else %<+debug> \series@change@debug{Prepearing for switching to #1 (#2)\on@line}% \expand@font@defaults \let\target@series@value\@empty @@ -2463,10 +3285,11 @@ \maybe@load@fontshape\endgroup %<+debug> \series@change@debug{Target series: %<+debug> \k@series \space -> \target@series@value}% - \let\k@series\target@series@value +% \let\k@series\target@series@value + \series@maybe@drop@one@m\target@series@value\k@series \fi \fi - \fi +~\fi } \def\@meta@family@list@kanji{\@elt{mc}\@elt{gt}} \def\update@series@target@value@kanji#1{% @@ -2483,10 +3306,15 @@ \csname bfseries@\target@meta@family@value\endcsname %<+debug>\series@change@debug{Targets for mdseries and bfseries: %<+debug> \reserved@b\space and \reserved@c}% - \expandafter\ifx\csname mdseries@#1\endcsname\k@series + \expandafter\series@maybe@drop@one@m + \csname mdseries@#1\endcsname\reserved@d + \ifx\reserved@d\k@series %<+debug> \series@change@debug{mdseries@#1 matched -> \reserved@b}% \let\target@series@value\reserved@b - \else\expandafter\ifx\csname bfseries@#1\endcsname\k@series + \else + \expandafter\series@maybe@drop@one@m + \csname bfseries@#1\endcsname\reserved@d + \ifx\reserved@d\k@series %<+debug> \series@change@debug{bfseries@#1 matched -> \reserved@c}% \let\target@series@value\reserved@c \else\ifx\k@series\mddef@ult \let\target@series@value\reserved@b @@ -2585,6 +3413,209 @@ % \end{macro} % \end{macro} % +% $B8e2s$7$K$7$F$$$?B>$N%P!<%8%g%s$X$NBP=h$G$9!#(B +% $B$3$3$G?7(BNFSS$BBP1~%3!<%I$,=*$o$j$^$9$N$G!"(B|\catcode|$B%H%j%C%/$r85$KLa$7$^$9!#(B +% \changes{v1.7b}{2020/03/14}{$B8E$$(B\LaTeXe{}$B$G$b%U%)!<%^%C%H@8@.$,DL$k$h$&$K(B} +% \begin{macrocode} +%<*plcore|platexrelease> +%% +\ifnum\pltx@latex@level>0\relax % 2020-02-02 +% +\ifnum\pltx@latex@level<3\relax % 2020-02-02 patch level 0--2 (no flags) +\DeclareRobustCommand\romanseries[1]{\merge@font@series{#1}} +\DeclareRobustCommand\kanjiseries[1]{\merge@kanji@series{#1}} +\DeclareRobustCommand\fontseries[1]{\kanjiseries{#1}\romanseries{#1}} +\DeclareRobustCommand\romanseriesforce[1]{\edef\f@series{#1}} +\DeclareRobustCommand\kanjiseriesforce[1]{\edef\k@series{#1}} +\DeclareRobustCommand\fontseriesforce[1]{\kanjiseriesforce{#1}\romanseriesforce{#1}} +\fi +% +\ifnum\pltx@latex@level=1\relax % 2020-02-02 patch level 0 (\@reserveda) +\def\merge@kanji@series@#1#2#3\@nil{% + \def\@reserveda{#3}% + \ifx\@reserveda\@empty + \set@target@series@kanji{#2}% + \else + \begingroup\let\f@encoding\k@encoding\let\f@family\k@family + \maybe@load@fontshape\endgroup + \edef\@reserveda{\k@encoding /\k@family /#1/\k@shape}% + \ifcsname \@reserveda \endcsname + \set@target@series@kanji{#1}% + \else + \ifcsname \k@encoding /\k@family /#2/\k@shape \endcsname + \set@target@series@kanji{#2}% + {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}% + \else + \set@target@series@kanji{#3}% + {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}% + \fi + \fi + \fi +} +\def\merge@kanji@shape@#1#2#3\@nil{% + \def\@reserveda{#3}% + \ifx\@reserveda\@empty + \edef\k@shape{#2}% + \else + \begingroup\let\f@encoding\k@encoding\let\f@family\k@family + \maybe@load@fontshape\endgroup + \edef\@reserveda{\k@encoding /\k@family /\k@series/#1}% + \ifcsname \@reserveda\endcsname + \edef\k@shape{#1}% + \else + \ifcsname \k@encoding /\k@family /\k@series/#2\endcsname + \edef\k@shape{#2}% + {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}% + \else + \edef\k@shape{#3}% + {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}% + \fi + \fi + \fi +} +\fi +% +\ifnum\pltx@latex@level<4\relax % 2020-02-02 patch level 0--4 (drop m) +\def\set@target@series@kanji#1{% + \edef\k@series{#1}% + \edef\k@series{\expandafter\series@drop@one@m\k@series mm\series@drop@one@m}% +} +\else\ifnum\pltx@latex@level=4\relax % 2020-02-02 patch level 5 (old syntax) +\def\set@target@series@kanji#1{% + \edef\k@series{#1}% + \expandafter\series@maybe@drop@one@m\expandafter{\k@series}\k@series +} +\fi\fi +% +\ifnum\pltx@latex@level<5\relax % 2020-02-02 patch level 0--5 +\def\prepare@family@series@update#1#2{% +~\if@forced@series +%<+debug> \series@change@debug{No series preparation (forced \f@series)\on@line}% +~ \romanfamily#2% % changed \fontfamily -> \romanfamily +~\else +%<+debug> \series@change@debug{Prepearing for switching to #1 (#2)\on@line}% + \expand@font@defaults + \let\target@series@value\@empty + \def\target@meta@family@value{#1}% +~ \expandafter\edef\csname ??def@ult\endcsname{\f@family}% + \let\@elt\update@series@target@value + \@meta@family@list +~ \@elt{??}% + \let\@elt\relax + \romanfamily#2% % changed \fontfamily -> \romanfamily + \ifx\target@series@value\@empty +%<+debug> \series@change@debug{Target series still empty ...}% + \else + \ifx \f@series\target@series@value +%<+debug> \series@change@debug{Target series unchanged: +%<+debug> \f@series \space = \target@series@value}% + \else + \maybe@load@fontshape +%<+debug> \series@change@debug{Target series: +%<+debug> \f@series \space -> \target@series@value}% + \let\f@series\target@series@value + \fi + \fi +~\fi +} +\def\prepare@family@series@update@kanji#1#2{% +~\if@forced@series +%<+debug> \series@change@debug{No series preparation (forced \k@series)\on@line}% +~ \kanjifamily#2% +~\else +%<+debug> \series@change@debug{Prepearing for switching to #1 (#2)\on@line}% + \expand@font@defaults + \let\target@series@value\@empty + \def\target@meta@family@value{#1}% +~ \expandafter\edef\csname ??def@ult\endcsname{\k@family}% + \let\@elt\update@series@target@value@kanji + \@meta@family@list@kanji +~ \@elt{??}% + \let\@elt\relax + \kanjifamily#2% + \ifx\target@series@value\@empty +%<+debug> \series@change@debug{Target series still empty ...}% + \else + \ifx \k@series\target@series@value +%<+debug> \series@change@debug{Target series unchanged: +%<+debug> \k@series \space = \target@series@value}% + \else + \begingroup\let\f@encoding\k@encoding\let\f@family\k@family + \maybe@load@fontshape\endgroup +%<+debug> \series@change@debug{Target series: +%<+debug> \k@series \space -> \target@series@value}% + \let\k@series\target@series@value + \fi + \fi +~\fi +} +\def\@meta@family@list@kanji{\@elt{mc}\@elt{gt}} +\def\update@series@target@value@kanji#1{% + \def\reserved@a{#1}% + \ifx\target@meta@family@value\reserved@a % rm -> rm do nothing + \else +%<+debug> \series@change@debug{Trying to match #1: \csname#1def@ult\endcsname +%<+debug> \space = \k@family\space ?}% + \expandafter\ifx\csname#1def@ult\endcsname\k@family + \let\@elt\@gobble + \expandafter\let\expandafter\reserved@b + \csname mdseries@\target@meta@family@value\endcsname + \expandafter\let\expandafter\reserved@c + \csname bfseries@\target@meta@family@value\endcsname +%<+debug>\series@change@debug{Targets for mdseries and bfseries: +%<+debug> \reserved@b\space and \reserved@c}% + \expandafter\ifx\csname mdseries@#1\endcsname\k@series +%<+debug> \series@change@debug{mdseries@#1 matched -> \reserved@b}% + \let\target@series@value\reserved@b + \else\expandafter\ifx\csname bfseries@#1\endcsname\k@series +%<+debug> \series@change@debug{bfseries@#1 matched -> \reserved@c}% + \let\target@series@value\reserved@c + \else\ifx\k@series\mddef@ult \let\target@series@value\reserved@b +%<+debug> \series@change@debug{mddef@ult matched -> \reserved@b}% + \else\ifx\k@series\bfdef@ult \let\target@series@value\reserved@c +%<+debug> \series@change@debug{bfdef@ult matched -> \reserved@c}% + \fi\fi\fi\fi + \fi + \fi +} +\fi +% +\fi +%% +\pltx@reset@catcode@trick +%</plcore|platexrelease> +% \end{macrocode} +% +% +% \begin{macro}{\romanprocess@table} +% \begin{macro}{\kanjiprocess@table} +% \begin{macro}{\process@table} +% $BJ8=q$N@hF,$G!"OBJ8%G%U%)%k%H%U%)%s%H$NJQ99$,H?1G$5$l$J$$$N$r=$@5$7$^$9!#(B +% \changes{v1.3g}{1999/04/05}{plpatch.ltx$B$NFbMF$rH?1G!#(B +% $B$"$j$,$H$&!";3K\$5$s!#(B} +% \begin{macrocode} +%<*plcore> +\let\romanprocess@table\process@table +\def\kanjiprocess@table{% + \kanjiencoding{\kanjiencodingdefault}% + \kanjifamily{\kanjifamilydefault}% + \kanjiseries{\kanjiseriesdefault}% + \kanjishape{\kanjishapedefault}% +} +\def\process@table{% + \romanprocess@table + \kanjiprocess@table +} +\@onlypreamble\romanprocess@table +\@onlypreamble\kanjiprocess@table +%</plcore> +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% +% \subsection{$B6/D4=qBN(B} % \begin{macro}{\em} % \begin{macro}{\emph} % \begin{macro}{\eminnershape} @@ -2654,35 +3685,7 @@ % \end{macro} % % -% \begin{macro}{\romanprocess@table} -% \begin{macro}{\kanjiprocess@table} -% \begin{macro}{\process@table} -% $BJ8=q$N@hF,$G!"OBJ8%G%U%)%k%H%U%)%s%H$NJQ99$,H?1G$5$l$J$$$N$r=$@5$7$^$9!#(B -% \changes{v1.3g}{1999/04/05}{plpatch.ltx$B$NFbMF$rH?1G!#(B -% $B$"$j$,$H$&!";3K\$5$s!#(B} -% \begin{macrocode} -%<*plcore> -\let\romanprocess@table\process@table -\def\kanjiprocess@table{% - \kanjiencoding{\kanjiencodingdefault}% - \kanjifamily{\kanjifamilydefault}% - \kanjiseries{\kanjiseriesdefault}% - \kanjishape{\kanjishapedefault}% -} -\def\process@table{% - \romanprocess@table - \kanjiprocess@table -} -\@onlypreamble\romanprocess@table -\@onlypreamble\kanjiprocess@table -%</plcore> -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% -% -% +% \subsection{$B2<@~%^%/%m(B} % \begin{macro}{\textunderscore} % \changes{v1.1b}{1995/04/12}{$B2<@~%^%/%m$rDI2C(B} % $B$3$N%3%^%s%I$O%F%-%9%H%b!<%I$G;XDj$5$l$?(B|\_|$B$NFbIt%3%^%s%I$G$9!#(B diff --git a/Master/texmf-dist/source/platex/base/plnewsc14.tex b/Master/texmf-dist/source/platex/base/plnewsc14.tex new file mode 100644 index 00000000000..0599113d07c --- /dev/null +++ b/Master/texmf-dist/source/platex/base/plnewsc14.tex @@ -0,0 +1,209 @@ +%% <2020-02-02> and <2020-04-12> +\documentclass{plnews} + +\publicationyear{2020}% $BH/9TG/(B +\publicationmonth{04}% $BH/9T7n(B +\publicationissue{c14}% $BHV9f(B +\author{$BF|K\8l(B\TeX{}$B3+H/%3%_%e%K%F%#!J(B\texttt{https://texjp.org/}$B!K(B} + +\def\cs#1{\texttt{\char92\nobreak #1}} +\def\pTeX{p\kern-.15em\TeX} +\def\eTeX{$\varepsilon$-\TeX} +\def\epTeX{$\varepsilon$-\pTeX} +\def\pLaTeX{p\kern-.05em\LaTeX} +\def\pLaTeXe{p\kern-.05em\LaTeXe} +\xspcode`\\=1 + +\begin{document} + +\maketitle + +$B%3%_%e%K%F%#HG(B\pLaTeXe\ \texttt{<2020-02-02>}$B$*$h$S(B +\texttt{<2020-04-12>}$B$K$D$$$F!"(B +\pLaTeXe\ \texttt{<2019-10-01>}$B$+$i$N99?72U=j$r$^$H$a$^$9!#(B + + +\section{\LaTeXe\ \texttt{<2020-02-02>}$BBP1~(B} +$B"*;29M!'(B|texjporg/platex#88| + +\LaTeXe\ \texttt{<2020-02-02>}$B$G(B +NFSS$B!J%U%)%s%HA*Br$N;EAH$_!K$,BgI}$K3HD%$5$l$?$3$H$r<u$1!"(B +\pLaTeXe\ \texttt{<2020-02-02>}$B$GBP1~$r;\$7$^$7$?!#(B +$B%7%j!<%:!&%7%'%$%W$NB?<42=$O(B\file{fontaxes}$B$+$i!"(B +$B%U%!%_%j$4$H$N<B%7%j!<%:CM$O(B\file{mweights}$B$+$i!"(B +$B$=$l$>$l%"%$%G%"$r<h$jF~$l$?$h$&$G$9!#(B +\file{ltnews31}$B$b;2>H$7$F$/$@$5$$!#(B + +\pLaTeXe{}$B$G$N3HD%ItJ,$O0J2<$N$H$*$j$G$9!#(B + +\paragraph{$B%7%j!<%:$NB?<42=(B} +\begin{itemize} + \item |\kanjiseries|, |\romanseries| (, |\fontseries|)\\ + |\DeclareFontSeriesChangeRule|$B$K$h$k(B + $B%7%j!<%:99?75,B'$K=>$&$h$&$K$7$?!#(B + \item |\kanjiseriesforce|, |\romanseriesforce|\\ + $BL5>r7o$K%7%j!<%:$r99?7$9$k!J?75,!K!#(B\\ + |\fontseriesforce|$B$OOB2$J8N>J}$K1F6A!#(B +\end{itemize} + +\paragraph{$B%7%'%$%W$NB?<42=(B} +\begin{itemize} + \item |\kanjishape|, |\romanshape| (, |\fontshape|)\\ + |\DeclareFontShapeChangeRule|$B$K$h$k(B + $B%7%'%$%W99?75,B'$K=>$&$h$&$K$7$?!#(B + \item |\kanjishapeforce|, |\romanshapeforce|\\ + $BL5>r7o$K%7%'%$%W$r99?7$9$k!J?75,!K!#(B\\ + |\fontshapeforce|$B$OOB2$J8N>J}$K1F6A!#(B +\end{itemize} + +\paragraph{$BAm>N%U%!%_%j$4$H$N<B%7%j!<%:CM$N@_Dj(B} +\begin{itemize} + \item |\DeclareFontSeriesDefault|\\ + $BBh0l0z?t!J%*%W%7%g%s!K$NAm>N%U%!%_%jL>$K(B + |rm|, |sf|, |tt|$B$K2C$((B|mc|, |gt|$B$b;XDj$G$-$k$h$&$K$7$?!#(B +\end{itemize} + +\paragraph{$B6/D4=qBN;XDj$N0lHL2=(B} +\begin{itemize} + \item \pLaTeX{}$B$G:FDj5A$7$F$$$k(B|\em| (, |\emph|)$B$G$b(B + |\DeclareEmphSequence|$B$K$h$k(B + $BF~$l;R$N6/D4=qBN$N%+%9%?%^%$%:5!G=$r%5%]!<%H$7$?!#(B +\end{itemize} + +\paragraph{$B4{DjCM(B} +\LaTeXe{}$B$KDI?o$7$F(B\pLaTeXe{}$B$G$bD4@0!#(B + +$B$^$:!"(B\LaTeXe{}$B$G$N4{DjCM$NJQ99$r8+$F$_$^$9!#(B +\begin{itemize} + \item |\bfdefault|: |bx| $B"*(B |b| $B$KJQ99(B + \item |\updefault|: |n| $B"*(B |up| $B$KJQ99(B + \item |\shapedefault|: |\updefault| $B"*(B |n| $B$KJQ99(B +\end{itemize} +$B$3$N$&$A!V(B|bx| $B"*(B |b|$B!W$O(B +$BB@;z$r86B'(B|b| (bold)$B$KJQ99$9$k$3$H$r0UL#$7$^$9!#(B +$B$3$l$@$1$G$O8_49@-$K4X$7$F7|G0$,$"$j$^$9$,!"(B +\LaTeXe{}$B$G$OF1;~$K(B +$B!VAm>N%U%!%_%j$4$H$N<B%7%j!<%:CM$N@_Dj!W$N?75!G=$r3hMQ$7$F(B +\begin{itemize} + \item Computer Modern$B$H(BLatin Modern$B$N>l9g$@$1$O(B + $B=>Mh$I$*$jB@;z$r(B|bx| (bold-extended)$B$K0];}(B +\end{itemize} +$B$H$$$&5sF0$r<B8=$7$F$$$^$9!#(B + +\pLaTeXe{}$B$G$O!"(B|\bfdefault|$B$H(B|\updefault|$B$K$D$$$F(B +\LaTeXe{}$B$N@_Dj$,$=$N$^$^OBJ8$K$b0z$-7Q$,$l$^$9!#(B +$B;D$k0l$D$OOBJ8MQ$N4{DjCM$,JL$KB8:_$7$^$9!#(B +\begin{itemize} + \item |\kanjishapedefault|: |\updefault| $B"*(B |n| $B$KJQ99(B +\end{itemize} + +$B$5$F!"OBJ8$NB@;z$O=>Mh(B|\bfdefault|$B0lBr!J7k2LE*$K(B|bx|$B!K(B +$B$G$7$?$,!"(B\pLaTeXe\ \texttt{<2020-02-02>}$B$G$O(B +$B!VAm>N%U%!%_%j$4$H$N<B%7%j!<%:CM$N@_Dj!W$N?75!G=$,(B +$BOBJ8%U%!%_%j(B|mc|, |gt|$B$K$b;H$($^$9!#(B +$B$3$3$G!"(B|mc|, |gt|$B$NB@;z$r$I$&@_Dj$9$k$+$O5DO@$NM>CO$,$"$j$^$9!'(B +\begin{enumerate} + \item $B8_49@-$N$?$a!"=>Mh$I$*$j(B|bx|$B$r0];}$9$k!#(B + \item Computer Modern$B$G$b(BLatin Modern$B$G$b$J$$$N$G!"(B + |b|$B$KJQ99$9$k!#(B +\end{enumerate} +$B$3$N(B2$B0F$N$&$A!"8=:_$NHG$G$O(B2.$B$9$J$o$A(B +\begin{itemize} + \item $BOBJ8%U%!%_%j(B|mc|$B$H(B|gt|$B$NB@;z$b(B|b| (bold)$B$KJQ99(B +\end{itemize} +$B$r:N$C$F$$$^$9!#$3$l$O!"OBJ8$NB@;z$O@~$,B@$$$@$1$G!"(B +$B2#I}$,9-$,$k$o$1$G$O$J$$$?$a$G$9!#(B + + +\section{NFSS$B$NOBJ8BP1~$N2~A1(B} +\pLaTeXe\ \texttt{<2020-04-12>}$B$G$N=$@5$G$9!#(B +\LaTeXe\ \texttt{<2020-02-02>}$B$G$N(BNFSS$B$N3HD%$H$OL54X78$K!"(B +$B=>Mh$+$i(B\pLaTeXe{}$B$N(BNFSS$B$KB8:_$7$?OBJ8%U%)%s%H$G$NIT6q9g$K(B +$BBP=h$7$^$7$?!#(B + +\paragraph{\cs{fontshape}$B$GOBJ8%7%'%$%W$,L$Dj5A$J$i0];}(B} +$BC<E*$K$O(B |{\itshape a}| $B$N$h$&$J%7%'%$%WJQ99$G(B +\begin{verbatim} + Font shape `JT1/mc/m/it' undefined + using `JT1/mc/m/n' instead on .... + Font shape `JY1/mc/m/it' undefined + using `JY1/mc/m/n' instead on .... +\end{verbatim} +$B$H$$$&(B|LaTeX Font Warning|$B$,=P$k$N$rM^@)$9$k$3$H$r(B +$BL\E*$H$7$?=$@5$G$9!#"*(B|texjporg/platex#90| + +\pLaTeXe{}$B$N(B|\fontshape|$B$O!"2$J8$K2C$($FOBJ8$N%7%'%$%W$bJQ99$9$k$h$&$K(B +$B:FDj5A$5$l$F$$$^$7$?!J%"%9%-!<(B\pLaTeXe{}$B$N;EMM!K!#(B +$B$7$+$7!"$3$l$G$O(B|\itshape|$B$N$h$&$JL?Na$GM>J,$J7Y9p$rH/$7$F$7$^$$$^$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$N(B|\fontshape|$B$O!"2$J8=qBN$@$1$G$J$/(B + $BOBJ8=qBN$N%7%'%$%W$bJQ99$7$h$&$H$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$l$r2~A1$9$k$?$a!"(B\pLaTeXe\ \texttt{<2020-04-12>}$B$G$O(B +\begin{itemize} + \item |\fontshape|$B$,A*Br$7$h$&$H$7$?(B + $BOBJ8$N%7%'%$%W$,L$Dj5A$N>l9g$O!"(B + $BOBJ8$N%7%'%$%W$OJQ99$;$:!"2$J8$N%7%'%$%W$N$_$rJQ99$9$k(B +\end{itemize} +$B$H$$$&;EMM$KJQ99$7$^$7$?!#$3$l$O(B|\fontshapeforce|$B$bF1MM$G$9!#(B + +$B$J$*!"(B|\kanjishape|$B$d(B|\kanjishapeforce|$B$O(B +$BOBJ8=qBN$N%7%'%$%W$rJQ99$9$k0U?^$G$7$+<B9T$5$l$J$$$?$a!"(B +$BL$Dj5A$+$I$&$+$O3NG'$7$^$;$s!#(B +$B$^$?!"(B|\usefont|$B$OOB2$J8N>MQ$G$9$,!"0l=o$K;XDj$5$l$?(B +$B%(%s%3!<%G%#%s%0$K1~$8$F(B|\useroman|$B$H(B|\usekanji|$B$N0lJ}$@$1$,(B +$B<B9T$5$l$k$3$H$,L@Gr$J$?$a!"$d$O$jL$Dj5A$+$I$&$+$O3NG'$7$^$;$s!#(B + +\paragraph{sub, ssub$B$NOBJ8BP1~(B} +|\DeclareFontShape|$B$G;H$o$l$k(Bsize function$B$N(B +|sub|, |ssub|$B$,OBJ8%U%)%s%H$r@5$7$/<hF@$G$-$J$$IT6q9g$r=$@5!#(B + +$B$3$l$,O*Dh$9$k6qBNE*$J>INc$H$7$F$O!"(BGitHub$B$N(B +|texjporg/jsclasses#53|$B$GJs9p$5$l$F$$$k(B +$B!VF|K\8l$N?t<0%U%!%_%j$r@k8@$7$?>uBV$G(B\file{bm}$B%Q%C%1!<%8$r(B +$B;H$&$H%4%7%C%/$K$J$i$J$$!W$,$"$j$^$7$?$,!"(B +$B:#2s$N%j%j!<%9$G2r>C$7$^$7$?!#(B + +\paragraph{\cs{normalfont}$BKvHx$N(B\cs{ignorespaces}$B:o=|(B} +$B%*%j%8%J%k$N(B\LaTeXe{}$B$N(B1995$BG/$N=$@5$KDI?o$7!"(B +\pLaTeXe{}$B$N(B|\normalfont|$BKvHx$K$J$<$+;D$C$F$$$?(B +|\ignorespaces|$B$r:o=|$7$^$7$?!#(B + +\paragraph{\cs{KanjiEncodingPair}$BIT:_$N%(%i!<2~A1(B} +2004$BG/$N%"%9%-!<(B\pLaTeXe{}$B$G!"(B|\KanjiEncodingPair|$B$K$h$k(B +$BOBJ8=D2#%(%s%3!<%I$N%;%C%H2=$,I,?\$H$J$C$F$$$^$9!#(B +$B$7$+$7!"%;%C%H2=$;$:$K%(%s%3!<%I$rDj5A$7$?>l9g$N%(%i!<$,(B +$BH=$j$E$i$+$C$?$?$a!"2~A1$7$^$7$?!#(B(|#92|) + +\paragraph{\cs{DeclareKanjiSubstitution}$B$N=$@5(B} +$BOBJ8$NBeMQ=qBN$N@k8@$,(B +$B2$J8$N(B|\DeclareFontSubstitution|$B$H43>D$7!"(B +$B8m$C$?%U%)%s%HDj5A%U%!%$%k$,FI$^$l$h$&$H$9$kLdBj$r2r>C$7$^$7$?!#(B(|#93|) + +\paragraph{\cs{verb}$B$N2~NI(B} +|\verb+>+|$B$rOBJ8$G64$`$H8e$m$@$1%"%-$,F~$C$FA0$K$OF~$i$J$$8=>]$K(B +$BBP=h$7!"(B|\texttt{>}|$B$HF1MM$KA08e$K%"%-$,F~$k$h$&$K$7$^$7$?!#(B(|#87|) + + +\section{$B3+H/HG$N%F%9%H$N$*4j$$(B} +$B:#8e(B\pLaTeX{}$B$KF3F~$9$k$+$b$7$l$J$$=$@5%Q%C%A$d;EMMJQ99$N%F%9%H$K(B +$B$46(NO$/$@$5$$!#(B\TeX{}$B%U%!%$%k$NKAF,!J(B|\documentclass|$B$h$jA0!K$G(B +\begin{verbatim} + \RequirePackage{exppl2e} +\end{verbatim} +$B$H=q$/$3$H$G!"8=:_$N3+H/HG$r%F%9%H$9$k$3$H$,$G$-$^$9!#(B +$B>\:Y$O(B\file{exppl2e.pdf}$B$r;2>H$7$F$/$@$5$$!#$3$3$K$O!"(B +$B$=$NB>$N(B\pLaTeXe{}$B$N4{CN$N@)Ls;v9`$b5-:\$7$F$$$^$9!#(B +\TeX\ Forum$B$d(BGitHub$B$N(BIssue$B$G$N%P%0Js9p$d$40U8+$r4?7^$7$^$9!#(B +\begin{itemize} +\item \texttt{https://github.com/texjporg/platex} +\item \texttt{https://github.com/texjporg/uplatex} +\end{itemize} + +\end{document} diff --git a/Master/texmf-dist/source/platex/base/plvers.dtx b/Master/texmf-dist/source/platex/base/plvers.dtx index ff2cc58b87a..e85d8dca5d0 100644 --- a/Master/texmf-dist/source/platex/base/plvers.dtx +++ b/Master/texmf-dist/source/platex/base/plvers.dtx @@ -93,12 +93,15 @@ % (sync with ltvers.dtx 2019/07/01 v1.1c)} % \changes{v1.1q}{2019/10/01}{\LaTeX\ \texttt{!<2019-10-01!>}$BHGBP1~3NG'(B} % \changes{v1.1r}{2020/02/01}{\LaTeX\ \texttt{!<2020-02-02!>}$BHGBP1~3NG'(B} +% \changes{v1.1s}{2020/03/14}{\LaTeX\ \texttt{!<2020-02-02!> PL5}$BHGBP1~3NG'(B} +% \changes{v1.1t}{2020/03/25}{$B%P%J!<$N:F9=C[$r8zN(2=(B} +% \changes{v1.1u}{2020/03/28}{latexrelease$BMxMQ;~$N7Y9p$rAa$a$?(B} % \fi % % \iffalse %<*driver> % \fi -\ProvidesFile{plvers.dtx}[2020/02/01 v1.1r pLaTeX Kernel (Version Info)] +\ProvidesFile{plvers.dtx}[2020/03/28 v1.1u pLaTeX Kernel (Version Info)] % \iffalse \documentclass{jltxdoc} \GetFileInfo{plvers.dtx} @@ -113,9 +116,8 @@ % \fi % % \section{p\LaTeXe{}$B$N%P!<%8%g%s$N@_Dj(B} -% $B$^$:!"$3$N%G%#%9%H%j%S%e!<%7%g%s$G$N(Bp\LaTeXe{}$B$NF|IU$H%P!<%8%g%sHV9f(B -% $B$rDj5A$7$^$9!#(B % +% $B8=:_$N(Bp\LaTeXe{}$B$,%Y!<%9$H$7$?(B\LaTeXe{}$B$N%P!<%8%g%s$O!"2<5-$N$H$*$j$G$9!#(B % \changes{v1.0}{1995/05/16}{p\LaTeXe\ $BMQ$K(B\file{ltvers.dtx}$B$r=$@5(B} % \changes{v1.0a}{1995/08/30}{\LaTeX\ \texttt{!<1995/06/01!>}$BHGMQ$K=$@5(B} % \changes{v1.0b}{1996/01/31}{\LaTeX\ \texttt{!<1995/12/01!>}$BHGMQ$K=$@5(B} @@ -138,11 +140,7 @@ % \changes{v1.1o}{2018/12/01}{\LaTeX\ \texttt{!<2018-12-01!>}$BHGBP1~3NG'(B} % \changes{v1.1q}{2019/10/01}{\LaTeX\ \texttt{!<2019-10-01!>}$BHGBP1~3NG'(B} % \changes{v1.1r}{2020/02/01}{\LaTeX\ \texttt{!<2020-02-02!>}$BHGBP1~3NG'(B} -% -% $B$3$N%P!<%8%g%s$N(Bp\LaTeXe{}$B$O!"<!$N%P!<%8%g%s$N(B\LaTeX{}\footnote{% -% \LaTeX\ authors: Johannes Braams, David Carlisle, Alan Jeffrey, -% Leslie Lamport, Frank Mittelbach, Chris Rowley, Rainer Sch\"opf}$B$r(B -% $B$b$H$K$7$F$$$^$9!#(B +% \changes{v1.1s}{2020/03/14}{\LaTeX\ \texttt{!<2020-02-02!> PL5}$BHGBP1~3NG'(B} % \begin{macrocode} %<*2ekernel> %\def\fmtname{LaTeX2e} @@ -155,10 +153,10 @@ %</2ekernel|latexrelease|platexrelease> % \end{macrocode} % -% $B$^$:!"<!$N%P!<%8%g%s$N(B\LaTeX{}$B$,MxMQ2DG=$J$3$H$r3NG'$7$^$9!#(B -% \LaTeXe\ 2017-04-15$B$G!"%P!<%8%g%sHV9f!JF|IU!K$N%U%)!<%^%C%H$,(B -% YYYY/MM/DD$B7A<0$+$i(BYYYY-MM-DD$B$KJQ99$5$l$F$$$^$9!#(B -% ^^A \LaTeXe\ 2017/01/01$B0J9_$O(Be-\TeX{}$BI,?\$K$J$C$F$$$^$9!#(B +% $B$^$?!"8=:_$N(Bp\LaTeXe{}$B$O:GDc$G$b(B\LaTeXe\ 2017-04-15$B0J9_(B +% $B!J%P!<%8%g%sHV9f$9$J$o$AF|IU$,(B|YYYY/MM/DD|$B7A<0$+$i(B +% |YYYY-MM-DD|$B7A<0$KJQ99$5$l$?HG!K$rA0Ds$H$7$^$9!#(B +% $B$J$*!"(B\LaTeXe\ 2017/01/01$B0J9_$O(Be-\TeX{}$BI,?\$K$J$C$F$$$^$9!#(B % \changes{v1.1i}{2018/03/31}{\LaTeXe\ 2017-04-15$B0J9_I,?\(B} % \begin{macrocode} %<*plcore> @@ -183,7 +181,7 @@ % \begin{macro}{\pfmtname} % \begin{macro}{\pfmtversion} % \begin{macro}{\ppatch@level} -% p\LaTeXe{}$B$N%U%)!<%^%C%H%U%!%$%kL>$H%P!<%8%g%s$G$9!#(B +% p\LaTeXe{}$B$N%U%)!<%^%C%H%U%!%$%kL>$H%P!<%8%g%s$rDj5A$7$^$9!#(B % \changes{v1.0x}{2016/06/19}{$B%Q%C%A%l%Y%k$r(B\file{plvers.dtx}$B$G@_Dj(B} % \begin{macrocode} %<*plcore> @@ -192,44 +190,18 @@ %</plcore> %<platexrelease>\edef\platexreleaseversion %<*plcore|platexrelease> - {2020-02-02} + {2020-04-12} %</plcore|platexrelease> %<*plcore> -\def\ppatch@level{3} +\def\ppatch@level{0} %</plcore> % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % -% \subsection{\LaTeXe{}$B$N%P!<%8%g%s$N<hF@(B} -% $B$3$N%U%!%$%k$ND>A0$G(B\LaTeXe{}$B$N(B\file{latex.ltx}$B$,FI$_9~$^$l$F$$$k$O$:(B -% $B$J$N$G!"$=$N5/F0;~$N%P%J!<$rJ]B8$7$^$9!#(B -% -% \LaTeXe\ 2018-04-01 patch level 1$B$^$G$O!"(B|\everyjob|$B$,(B -%\begin{verbatim} -% \typeout{LaTeX2e version}\typeout{Babel version} -%\end{verbatim} -% $B$@$1$G$7$?$,!"(B\LaTeXe\ 2018-04-01 patch level 2$B$G?7$?$J%H!<%/%sNs$,(B -% $BDI2C$5$l$^$7$?!#:#8e$b(B\LaTeXe{}$BB&$G(B|\everyjob|$B$K<B9T$rCY$i$;$k(B -% $B%3!<%I$,DI2C$5$l$k2DG=@-$,$"$j$^$9$N$G!"$=$N%3!<%I$rCj=P$7$J$1$l$P(B -% $B$J$j$^$;$s!#$=$3$G!":G=i$H:G8e$K6h@Z$j%H!<%/%s!J$=$l$>$l(B|\platexNILa|$B$H(B -% |\platexNILb|$B!K$rIU$1$F$*$-$^$9!#(B -% \changes{v1.1f}{2017/11/11}{\LaTeX{}$B$N%P%J!<$rJ]B8$9$k%3!<%I$r(B -% \file{platex.ltx}$B$+$i(B\file{plcore.ltx}$B$X0\F0(B} -% \changes{v1.1l}{2018/04/09}{$B%P%J!<$NJ]B8$7$+$?$r2~NI(B} -% \begin{macrocode} -%<*plcore> -\edef\platexBANNER{\noexpand\platexNILa - \the\everyjob % LaTeX banner and delayed codes - \noexpand\platexNILb} -%</plcore> -% \end{macrocode} -% -% \subsection{$B%Q%C%A%U%!%$%k$N%m!<%I(B} -% % $B%3%_%e%K%F%#HG(B\pLaTeXe{}$B$G$O%Q%C%A%U%!%$%k$r;HMQ$7$J$$$N$G!"(B -% $B%3%a%s%H%"%&%H$7$^$7$?!#(B +% $B%Q%C%A%U%!%$%k$r%m!<%I$9$k%3!<%I$O:o=|$7$^$7$?!#(B % \changes{v1.0v}{2016/05/07}{$B%Q%C%A%U%!%$%k$r%m!<%I$9$k$N$r$d$a$?!#(B} % % \iffalse @@ -273,43 +245,54 @@ % \end{macrocode} % \fi % -% \subsection{$B5/F0;~$K<B9T$9$k%3!<%I(B} +% \section{$B5/F0;~$K<B9T$9$k%3!<%I(B} % -% \begin{macro}{\everyjob} -% p\LaTeXe{}$B$,5/F0$5$l$?$H$-$K<B9T$5$l$k%3!<%I$G$9!#(B -% \LaTeXe{}$B$N<B9T%3!<%I$r85$K!"(B\pLaTeXe{}$BMQ$ND4@0$r2C$($^$9!#(B -% \changes{v1.1}{2016/09/14}{$B5/F0;~$N%P%J!<$r<hF@$9$k%3!<%I$r2~NI(B} -% \changes{v1.1k}{2018/04/08}{$B%P%J!<D4@a$N%3!<%I$r:G8e(B(plfinal)$B$G$O$J$/(B -% $B:G=i(B(plcore)$B$KAa$a$?(B} -% \changes{v1.1l}{2018/04/09}{$B%P%J!<$N:F9=C[$N$7$+$?$r2~NI(B} -% \changes{v1.1m}{2018/09/24}{$B%P%J!<$N:F9=C[$r4JN,2=(B} +% \subsection{\LaTeXe{}$B5/F0;~$N<B9T%3!<%I$N<hF@(B} +% $B$3$N%U%!%$%k$ND>A0$G(B\LaTeXe{}$B$N(B\file{latex.ltx}$B$,FI$_9~$^$l$F$$$k$O$:(B +% $B$J$N$G!"$=$N5/F0;~$N<B9T%3!<%I!J(B|\everyjob|$B%H!<%/%s$NFbMF!K$rJ]B8$7$^$9!#(B % -% $B$^$:!"(B\LaTeXe{}$B$N%P!<%8%g%sI=<(!J(B|\typeout{LaTeX2e version}|$B!K$h$j(B -% $BA0$K<B9T$5$l$k%3!<%I$,$"$l$P!"$=$l$rCj=P$7$F(B|\everyjob|$B$KF~$l$^$9!#(B -% \LaTeXe\ 2018-04-01 patch level 2$B$N;~E@$G$O6u$G$9!#(B +% \LaTeXe\ 2018-04-01 patch level~1$B$^$G$O!"(B|\everyjob|$B$,(B +%\begin{verbatim} +% \typeout{LaTeX2e version}\typeout{Babel version} +%\end{verbatim} +% $B$@$1$G$7$?$,!"(Bpatch level~2$B0J9_$G$O(B +% $B$$$/$D$+$N%3!<%I$,(B|\everyjob|$B$GCY1d<B9T$5$l$k$h$&$K$J$C$F$$$^$9!#(B +% $B$=$l$i$N%3!<%I$rCj=P$9$k$?$a!":G=i$H:G8e$K6h@Z$j%H!<%/%s(B +% $B!J$=$l$>$l(B|\platexNILa|$B$H(B|\platexNILb|$B!K$rIU$1$F$*$-$^$9!#(B +% \changes{v1.1f}{2017/11/11}{\LaTeX{}$B$N%P%J!<$rJ]B8$9$k%3!<%I$r(B +% \file{platex.ltx}$B$+$i(B\file{plcore.ltx}$B$X0\F0(B} +% \changes{v1.1l}{2018/04/09}{$B%P%J!<$NJ]B8$7$+$?$r2~NI(B} % \begin{macrocode} %<*plcore> -\begingroup - \def\platexNILa#1\typeout#2#3\platexNILb{#1} - \toks0=\expandafter\expandafter\expandafter{\platexBANNER} - \global\everyjob\expandafter{\the\toks0}% -\endgroup +\edef\platexBANNER{\noexpand\platexNILa + \the\everyjob % LaTeX banner and delayed codes + \noexpand\platexNILb} % \end{macrocode} % -% $B<!$K!"(B\LaTeXe{}$B$N%P!<%8%g%s$rI=<($9$k%3!<%I$rCj=P$7!"(B -% \pLaTeXe{}$B$N%P!<%8%g%s$H$^$H$a$FI=<($9$k$h$&$K@07A$7$^$9!#(B +% \subsection{\pLaTeXe{}$B5/F0;~$K<B9T$9$k%3!<%I$N9=C[(B} +% +% \begin{macro}{\everyjob} +% \LaTeXe{}$B5/F0;~$N<B9T%3!<%I$r85$K!"(B\pLaTeXe{}$BMQ$ND4@0$r2C$($^$9!#(B % \changes{v1.0v}{2016/05/07}{$B5/F0;~$NJ8;zNs$r:G?7$N(B\LaTeX{}$B$K9g$o$;$?!#(B} % \changes{v1.0w}{2016/05/12}{$B5/F0;~$NJ8;zNs$KF~$l$k(B\LaTeX{}$B$N%P!<%8%g%s$r(B % $B85$N(B\LaTeX{}$B$N%P%J!<$+$i0z$-7Q$0$h$&$K2~NI(B} +% \changes{v1.0w}{2016/05/12}{$B5/F0;~$NJ8;zNs$KF~$l$k(BBabel$B$N%P!<%8%g%s$r(B +% $B85$N(B\LaTeX{}$B$N%P%J!<$+$i<hF@$9$k%3!<%I$r(B\file{platex.ini}$B$+$i<h$jF~$l$?(B} +% \changes{v1.1}{2016/09/14}{$B5/F0;~$N%P%J!<$r<hF@$9$k%3!<%I$r2~NI(B} % \changes{v1.1d}{2017/09/24}{$B%Q%C%A%l%Y%k$,Ii$N?t$N>l9g$r(Bpre-release$B07$$$X(B} % \changes{v1.1g}{2017/12/04}{\pLaTeX{}$B$N%P%J!<$NDj5A;~$K(B % \cs{pfmtname}, \cs{pfmtversion}, \cs{ppatch@level}$B$rE83+$7$J$$$h$&$K(B} +% \changes{v1.1k}{2018/04/08}{$B%P%J!<D4@a$N%3!<%I$r:G8e(B(plfinal)$B$G$O$J$/(B +% $B:G=i(B(plcore)$B$KAa$a$?(B} +% \changes{v1.1l}{2018/04/09}{$B%P%J!<$N:F9=C[$N$7$+$?$r2~NI(B} +% \changes{v1.1m}{2018/09/24}{$B%P%J!<$N:F9=C[$r4JN,2=(B} +% \changes{v1.1t}{2020/03/25}{$B%P%J!<$N:F9=C[$r8zN(2=(B} % \begin{macrocode} -%\ifx\ppatch@level\@undefined % fallback if undefined in pLaTeX -% \def\ppatch@level{0}\fi \begingroup - \def\platexNILa#1\typeout#2#3\platexNILb{#2} - \toks0=\expandafter\expandafter\expandafter{\platexBANNER} +% \end{macrocode} +% +% \pLaTeXe{}$B$N%P!<%8%g%sI=<($r:n$j$^$9!#(B +% \begin{macrocode} \ifnum\ppatch@level=0 \toks2={\pfmtname\space<\pfmtversion>\space}% \else\ifnum\ppatch@level>0 @@ -317,24 +300,28 @@ \else \toks2={\pfmtname\space<\pfmtversion>-pre\ppatch@level\space}% \fi\fi - \edef\platexBANNER{\the\everyjob - \noexpand\typeout{\the\toks2 (based on \the\toks0)}} - \global\everyjob\expandafter{\platexBANNER}% -\endgroup % \end{macrocode} % -% \LaTeXe{}$B$N%P!<%8%g%sI=<($N8e$K;D$C$F$$$k%3!<%I$r!"(B -% $B$=$N$^$^(B|\everyjob|$B$KDI2C$7$^$9!#(B +% |\everyjob|$B$NFbMF$r%Q!<%9$7$F(B +% \begin{itemize} +% \item \LaTeXe{}$B$N%P!<%8%g%sI=<($NCf?H!J(B|\typeout{}|$B$N0z?t!K$r(B |#2| +% \item $B%P!<%8%g%sI=<($NA0$K<B9T$5$l$k%3!<%I$,$"$l$P(B |#1| +% \item $B%P!<%8%g%sI=<($N8e$K;D$C$F$$$k%3!<%I$,$"$l$P(B |#3| +% \end{itemize} +% $B$KF~$l$^$9!#(B2020$BG/;~E@$G$O(B |#1| $B$O6u!"(B|#3| $B$O2$J8(Binputenc$B$N(BUTF-8$B2=$G(B +% $BCY1d$5$l$?%3!<%I$K3:Ev$7$^$9!#(B % ^^A Babel v3.20$B$^$G$O$3$NCf$K(B|\typeout{Babel version}|$B$b4^$^$l$F(B % ^^A $B$$$^$7$?$,!"(BBabel v3.21$B$+$i$O$3$N%P%J!<I=<($OL5$/$J$C$?$h$&$G$9!#(B -% \changes{v1.0w}{2016/05/12}{$B5/F0;~$NJ8;zNs$KF~$l$k(BBabel$B$N%P!<%8%g%s$r(B -% $B85$N(B\LaTeX{}$B$N%P%J!<$+$i<hF@$9$k%3!<%I$r(B\file{platex.ini}$B$+$i<h$jF~$l$?(B} +% $B$=$7$F!"(B\LaTeXe{}$B$N%P!<%8%g%s$H(B\pLaTeXe{}$B$N%P!<%8%g%s$r(B +% $B$^$H$a$FI=<($9$k$h$&$K@07A$7$^$9!#(B +% \begin{macrocode} + \edef\platexNILa#1\typeout#2#3\platexNILb{% + #1\noexpand\typeout{\the\toks2 (based on #2)}#3} + \global\everyjob\expandafter\expandafter\expandafter{\platexBANNER}% +% \end{macrocode} +% +% $BITMW$K$J$C$?%^%/%mDj5A$O:o=|$7$F$*$-$^$9!#(B % \begin{macrocode} -\begingroup - \def\platexNILa#1\typeout#2#3\platexNILb{#3} - \toks0=\expandafter\expandafter\expandafter{\platexBANNER} - \edef\platexBANNER{\the\everyjob \the\toks0} - \global\everyjob\expandafter{\platexBANNER}% \endgroup \let\platexBANNER=\@undefined %</plcore> @@ -362,6 +349,8 @@ % % $B:G8e$K!"(Blatexrelease$B%Q%C%1!<%8$X$NBP1~$G$9!#(B % \begin{macro}{\plIncludeInRelease} +% platexrelease$B%Q%C%1!<%8$G$O(B +% |\plIncludeInRelease|...|\plEndIncludeInRelease|$B$N%V%m%C%/$r;H$$$^$9!#(B % \changes{v1.0t}{2016/02/03}{\cs{plIncludeInRelease}$B$H(B % \cs{plEndIncludeInRelease}$B$r?7@_!#(B} % \changes{v1.1e}{2017/11/09}{\file{latexrelease}$B$H(B @@ -447,21 +436,42 @@ % \end{macro} % % \LaTeXe{}$B$,Ds6!$9$k(Blatexrelease$B%Q%C%1!<%8$,FI$_9~$^$l$F$$$F!"(B -% $B$+$D(Bp\LaTeXe{}$B$,Ds6!$9$k(Bplatexrelease$B%Q%C%1!<%8$,FI$_9~$^$l$F$$$J$$(B -% $B>l9g$O!"7Y9p$r=P$7$^$9!#(B +% $B$+$D(B\pLaTeXe{}$B$,Ds6!$9$k(Bplatexrelease$B%Q%C%1!<%8$,FI$_9~$^$l$F$$$J$$(B +% $B>l9g$O!"4,$-La$75!G=$K$h$C$F(B\pLaTeXe{}$B$N%3%^%s%I$,(B\LaTeXe{}$B$N%3%^%s%I$G(B +% $B>e=q$-$5$l!"F0:n$,2u$l$F$7$^$$$^$9$N$G!"7Y9p$r=P$7$^$9!#(B % \changes{v1.0s}{2016/02/01}{latexrelease$BMxMQ;~$K7Y9p$r=P$9$h$&$K$7$?(B} +% +% $B0JA0$O(B|\AtBeginDocument|$B$r;H$C$F(B|\@begindocumenthook|$B$NKvHx$K(B +% $B7Y9pJ8$rF~$l$F$$$^$7$?$,!"(B\LaTeXe~2020-02-02$B0J9_$KIUB0$N(B +% latexrelease$B%Q%C%1!<%8$G4,$-La$9$H%U%C%/$N<B9T$h$jAa$$CJ3,(B +% $B!J6qBNE*$K$O(B|\process@table|$BFb$N(B|\kanjiprocess@table|$B<B9TCf!K$G(B +% $B!V(B|\series@maybe@drop@one@m|$B$,L$Dj5A!W$H$$$&%(%i!<$,=P$F$7$^$&$N$G!"(B +% |\process@table|$B$N@hF,$K7Y9pJ8$rF~$l$^$9!#(B +% $BK|$,0l(B|\process@table|$B$b4,$-La$7BP>]$H$5$l$F$7$^$C$?>l9g$N$?$a!"(B +% |\@begindocumenthook|$B$N@hF,$K$bF~$l$F$*$-$^$9!#(B +% ^^A $B$3$N>l9g$O(B|\process@table|$B$,(B|\romanprocess@table|$BAjEv$X$H(B +% ^^A $B>e=q$-$5$l$F$$$k$O$:$G$"$j!"(B|\kanjiprocess@table|$B$O(B +% ^^A $B<B9T$5$l$J$$$N$G%(%i!<$O=P$J$$!#(B +% \changes{v1.1u}{2020/03/28}{latexrelease$BMxMQ;~$N7Y9p$rAa$a$?(B} % \begin{macrocode} %<*plfinal> -\AtBeginDocument{% - \@ifpackageloaded{latexrelease}{% - \@ifpackageloaded{platexrelease}{}{% +\expandafter\def\expandafter\process@table\expandafter{% + \expandafter\p@warn@latexrelease\process@table} +\begingroup +\toks@\expandafter{\expandafter\p@warn@latexrelease\@begindocumenthook} +\xdef\@begindocumenthook{\the\toks@} +\endgroup +\def\p@warn@latexrelease{% + \ifx\latexreleaseversion\@undefined\else + \ifx\platexreleaseversion\@undefined \@latex@warning@no@line{% Package latexrelease is loaded.\MessageBreak Some patches in pLaTeX2e core may be overwritten.\MessageBreak Consider using platexrelease.\MessageBreak See platex.pdf for detail}% - }% - }{}% + \fi + \fi + \let\p@warn@latexrelease\relax } %</plfinal> % \end{macrocode} diff --git a/Master/texmf-dist/tex/platex/base/exppl2e.sty b/Master/texmf-dist/tex/platex/base/exppl2e.sty index b28fa53dbbe..b5fc0cc2f36 100644 --- a/Master/texmf-dist/tex/platex/base/exppl2e.sty +++ b/Master/texmf-dist/tex/platex/base/exppl2e.sty @@ -34,7 +34,7 @@ % case 1: This file must be a normal package \NeedsTeXFormat{pLaTeX2e} \ProvidesPackage{exppl2e} - [2020/02/09 v1.1f Experimental pLaTeX2e features] + [2020/02/10 v1.1g Experimental pLaTeX2e features] \PackageWarningNoLine{exppl2e}{% This is the unstable, experimental part of pLaTeX2e.\MessageBreak This package may contain:\MessageBreak @@ -332,107 +332,13 @@ % % \section{\cs{verb}$B@hF,$N9g;zM^@)$H(B\cs{xkanjiskip}} % -% \begin{macro}{\do@noligs} -% |>|$B$J$I$N0lIt$NJ8;z$K$D$$$F!"(B|\xspcode`\>=3|$B$H$7$?$H$-$K(B -% |\texttt{>}|$B$G$OA08e$K(B|\xkanjiskip|$BM3Mh$N%"%-$,F~$k$N$K!"(B -% |\verb+>+|$B$G$O8e$m$K$7$+%"%-$,F~$i$J$$$H$$$&8=>]$KBP=h$7$^$9!#(B -% -% $B85$NDj5A$O(B\file{ltmiscen.dtx}$B$r;2>H$7$F$/$@$5$$!#(B -% p\LaTeX{}$B$G$O!"(B|\kern\z@|$B$r(B|\vadjust{}|$B$KCV$-49$($k$3$H$G(B -% $B!V9g;z=hM}$rM^;_!W$+$D!VOB2$J84V%9%Z!<%9$NA^F~=hM}$OF)2a!W$r<B8=$7$^$9!#(B -% (Issue \#87) -% \begin{macrocode} -\def\do@noligs#1{% - \catcode`#1\active - \begingroup - \lccode`\~`#1\relax - \lowercase{\endgroup\def~{\leavevmode\vadjust{}\char`#1}}} -% \end{macrocode} -% \end{macro} +% 2020/04/12$B$KF3F~:Q$_!#(B % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % \section{NFSS$B$N(Bsize function$B$NF|K\8l2=(B} % -% \begin{macro}{\inlist@} -% |\do@subst@correction|$B$NF|K\8l2=$KI,MW$J$N$G!"(B -% $BHf3S$9$k:]$K0z?t!&%j%9%H$H$b(B\cs{detokenize}$B$K$h$C$FJ8;zNs2=$9$k$h$&$K$7$^$7$?!#(B -% \changes{v1.6x}{2020/02/05}{$B0z?t!&%j%9%H$H$b(B\cs{detokenize}$B$K$h$C$FJ8;zNs2=(B} -% \begin{macrocode} -\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} -% \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 -% \changes{v1.6x}{2020/02/05}{\cs{do@subst@correction}$B$NF|K\8l2=(B} -% -% $B%*%j%8%J%k$N(B\LaTeX{}$B$NDj5A$O!"2$J8MQ$H$7$F;H$$$^$9!#(B -% \begin{macrocode} -\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 -} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% 2020/04/12$B$KF3F~:Q$_!#(B % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/Master/texmf-dist/tex/platex/base/platexrelease.sty b/Master/texmf-dist/tex/platex/base/platexrelease.sty index 8710e500eb0..4199b306e55 100644 --- a/Master/texmf-dist/tex/platex/base/platexrelease.sty +++ b/Master/texmf-dist/tex/platex/base/platexrelease.sty @@ -18,7 +18,7 @@ \edef\p@known@latexreleaseversion {2020-02-02} \edef\platexreleaseversion - {2020-02-02} + {2020-04-12} \newif\if@plincludeinrelease \@plincludeinreleasefalse \def\plIncludeInRelease#1{% @@ -69,8 +69,16 @@ %% File: platexrelease.dtx \NeedsTeXFormat{pLaTeX2e} \ProvidesPackage{platexrelease} - [2018/05/22 v1.0m latexrelease support for pLaTeX Kernel + [2020/03/28 v1.0n latexrelease support for pLaTeX Kernel (including releases up to \platexreleaseversion)] +\ifx\p@warn@latexrelease\@undefined\else +\let\p@warn@latexrelease\relax +\fi +\ifx\latexreleaseversion\@undefined\else + \PackageWarningNoLine{platexrelease}{% + Package `latexrelease' is already loaded;\MessageBreak + load `platexrelease' earlier} +\fi \RequirePackageWithOptions{latexrelease} \ifnum\expandafter\@parse@version\latexreleaseversion//00\@nil >\expandafter\@parse@version\p@known@latexreleaseversion//00\@nil @@ -134,6 +142,12 @@ of this package available from CTAN} some critical bugs. We advise you to\MessageBreak select another format date} \plIncludeInRelease{2017/10/28}{\PackageWarning}{pLaTeX Info}% + % * <2020-04-12> + % * <2020-02-02>+3 + % * <2020-02-02>+2 + % * <2020-02-02>+1 + % * <2020-02-02> + % * <2019-10-01>+1 % * <2019-10-01> % * <2019-04-06> % * <2018-12-01> @@ -189,6 +203,26 @@ of this package available from CTAN} % * <2006/11/10> \plEndIncludeInRelease %% File: plfonts.dtx +\plIncludeInRelease{2020/04/12}{\inlist@} + {Detokenize}% +\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} +\plEndIncludeInRelease +\plIncludeInRelease{0000/00/00}{\inlist@} + {ASCII Corporation original}% +\def\inlist@#1#2{% + \def\in@@##1<#1>##2##3\in@@{% + \ifx\in@##2\in@false\else\in@true\fi}% + \in@@#2<#1>\in@\in@@} +\plEndIncludeInRelease \plIncludeInRelease{2017/04/08}{\ystrutbox} {Add \ystrutbox}% \newbox\ystrutbox @@ -335,6 +369,87 @@ of this package available from CTAN} } \let\DeclareFontEncoding@saved\@undefined \plEndIncludeInRelease +\plIncludeInRelease{2020/04/12}{\ensure@KanjiEncodingPair} + {Check \KanjiEncodingPair}% +\def\ensure@KanjiEncodingPair#1{% + \edef\reserved@a{\csname #1@enc@\k@encoding\endcsname}% + \edef\reserved@b{\csname c#1@encoding\endcsname}% + \ifcat\relax\reserved@a + \@latex@error + {KANJI Encoding pair for `\k@encoding' undefined}% + {Use \string\KanjiEncodingPair, falling back to `\reserved@b'...}% + \expandafter\edef\reserved@a{\reserved@b}% + \fi} +\plEndIncludeInRelease +\plIncludeInRelease{0000/00/00}{\ensure@KanjiEncodingPair} + {ASCII Corporation original}% +\let\ensure@KanjiEncodingPair\@undefined +\plEndIncludeInRelease +\plIncludeInRelease{2020/04/12}{\DeclareKanjiSubstitution} + {Use \default@k@family etc.}% +\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} +\plEndIncludeInRelease +\plIncludeInRelease{0000/00/00}{\DeclareKanjiSubstitution} + {ASCII Corporation original}% +\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@family{#2}% + \def\default@series{#3}% + \def\default@shape{#4}}% + \fi} +\plEndIncludeInRelease +% !!! Special case BEGIN +% required for any emulation date +% copied from (u)pldefs.ltx +\def\pltx@tempa{JY1}\ifx\pltx@tempa\k@encoding +\DeclareKanjiSubstitution{JY1}{mc}{m}{n} +\DeclareKanjiSubstitution{JT1}{mc}{m}{n} +\else\def\pltx@tempa{JY2}\ifx\pltx@tempa\k@encoding +\DeclareKanjiSubstitution{JY2}{mc}{m}{n} +\DeclareKanjiSubstitution{JT2}{mc}{m}{n} +\fi\fi +% emulate execution of \enc@update in \selectfont +% before (u)pldefs.ltx is loaded +\csname D@\f@encoding\endcsname +% emulate execution of \kenc@update in \selectfont +% inside (u)pldefs.ltx +\csname D@\k@encoding\endcsname +% !!! Special case END \plIncludeInRelease{2019/10/01}{\DeclareErrorKanjiFont} {No side effects please}% \def\DeclareErrorKanjiFont#1#2#3#4#5{% @@ -363,6 +478,210 @@ of this package available from CTAN} \gdef\f@size{#5}% \gdef\f@baselineskip{#5pt}} \plEndIncludeInRelease +\plIncludeInRelease{2020/04/12}{\wrong@fontshape} + {Japanese \wrong@fontshape}% +\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} +\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} +\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 +} +\plEndIncludeInRelease +\plIncludeInRelease{2015/01/01}{\wrong@fontshape} + {LaTeX2e original (2015)}% +\def\wrong@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} +\let\wrong@al@fontshape\@undefined +\let\wrong@ja@fontshape\@undefined +\plEndIncludeInRelease +\plIncludeInRelease{0000/00/00}{\wrong@fontshape} + {LaTeX2e original (old)}% +\def\wrong@fontshape{% + \csname D@\f@encoding\endcsname + \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 + \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} +\let\wrong@al@fontshape\@undefined +\let\wrong@ja@fontshape\@undefined +\plEndIncludeInRelease +\plIncludeInRelease{2020/04/12}{\do@subst@correction} + {Japanese font substitution}% +\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 +} +\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 +} +\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 +} +\plEndIncludeInRelease +\plIncludeInRelease{0000/00/00}{\do@subst@correction} + {LaTeX2e original}% +\def\do@subst@correction{% + \xdef\subst@correction{% + \font@name + \global\expandafter\font + \csname \curr@fontshape/\f@size\endcsname + \noexpand\fontname\font + \relax}% + \aftergroup\subst@correction +} +\let\pltx@do@subst@correction@al\@undefined +\let\pltx@do@subst@correction@yoko\@undefined +\let\pltx@do@subst@correction@tate\@undefined +\plEndIncludeInRelease \plIncludeInRelease{2019/10/01}{\userelfont} {Make robust}% \DeclareRobustCommand\userelfont{\@knjcmdtrue} @@ -372,6 +691,120 @@ of this package available from CTAN} \def\userelfont{\@knjcmdtrue} \expandafter \let \csname userelfont \endcsname \@undefined \plEndIncludeInRelease +\plIncludeInRelease{2020/04/12}{\selectfont} + {Check \KanjiEncodingPair}% +\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 + \enc@update + \ifx\f@linespread\baselinestretch \else + \set@fontsize\baselinestretch\f@size\f@baselineskip + \fi + \size@update} +\plEndIncludeInRelease +\plIncludeInRelease{0000/00/00}{\selectfont} + {ASCII Corporation original}% +\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 + \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 + \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 + \enc@update + \ifx\f@linespread\baselinestretch \else + \set@fontsize\baselinestretch\f@size\f@baselineskip + \fi + \size@update} +\plEndIncludeInRelease \plIncludeInRelease{2017/04/08}{\set@fontsize} {Construct \ystrutbox}% \def\set@fontsize#1#2#3{% @@ -488,22 +921,38 @@ of this package available from CTAN} \expandafter \let \csname adjustbaseline \endcsname \@undefined \plEndIncludeInRelease \ifx\fontseriesforce\@undefined % old + \def\pltx@latex@level{0} \else % 2020-02-02 - \ifx\@forced@seriestrue\@undefined % patch level 0, 1, 2 - \@latex@error - {Please update LaTeX2e!^^J\space\space - At least LaTeX2e 2020-02-02 patch level 3 is required} - {LaTeX2e 2020-02-02 patch level 2 has a bug.} + \ifx\@forced@seriestrue\@undefined + \ifnum\patch@level<1\relax % patch level 0 + \def\pltx@latex@level{1}% use \@reserveda + \else % patch level 1, 2 + \def\pltx@latex@level{2} + \fi + \else + \ifx\series@maybe@drop@one@m\@undefined % patch level 3, 4 + \def\pltx@latex@level{3} + \else + \ifx\series@maybe@drop@one@m@x\@undefined % patch level 5 + \def\pltx@latex@level{4} + % anticipating LaTeX2e 'develop' branch (after 23b7244) + % this temporary code will be removed in the future + %\let\series@maybe@drop@one@m@x\series@maybe@drop@one@m + %\def\series@maybe@drop@one@m#1{% + % \expandafter\series@maybe@drop@one@m@x\expandafter{#1}} + \else + \def\pltx@latex@level{5} + \fi + \fi \fi - % actually we'd like to check the below too, - % but commented out for TL19 frozen since - % platex-dev format generation fails - %\ifx\series@maybe@drop@one@m\@undefined % patch level 0--4 - % \@latex@error - % {Please update LaTeX2e!^^J\space\space - % At least LaTeX2e 2020-02-02 patch level 5 is required} - % {LaTeX2e 2020-02-02 patch level 2 and 4 has a bug.} - %\fi +\fi +\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 \ifx\fontseriesforce\@undefined % old \DeclareRobustCommand\romanseries[1]{\edef\f@series{#1}} @@ -555,18 +1004,32 @@ of this package available from CTAN} \fi \fi } -\ifx\series@maybe@drop@one@m\@undefined % patch level 0--4 \def\set@target@series@kanji#1{% \edef\k@series{#1}% - \edef\k@series{\expandafter\series@drop@one@m\k@series mm\series@drop@one@m}% -} -\else % patch level 5 -\def\set@target@series@kanji#1{% - \edef\k@series{#1}% - \expandafter\series@maybe@drop@one@m\expandafter{\k@series}\k@series + \series@maybe@drop@one@m\k@series\k@series } \fi +\newif\if@shape@roman@kanji +\plIncludeInRelease{2020/04/12}{\fontshape} + {No \k@shape update if unavailable}% +\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 +\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} \fi +\plEndIncludeInRelease +\plIncludeInRelease{0000/00/00}{\fontshape} + {ASCII Corporation / TeXJP original}% \ifx\fontshapeforce\@undefined % old \DeclareRobustCommand\romanshape[1]{\edef\f@shape{#1}} \DeclareRobustCommand\kanjishape[1]{\edef\k@shape{#1}} @@ -576,6 +1039,23 @@ of this package available from CTAN} \DeclareRobustCommand\kanjishape[1]{\merge@kanji@shape{#1}} \DeclareRobustCommand\fontshape[1]{\kanjishape{#1}\romanshape{#1}} \fi +\plEndIncludeInRelease +\plIncludeInRelease{2020/04/12}{\fontshapeforce} + {No \k@shape update if unavailable}% +\ifx\fontshapeforce\@undefined % old +\let\romanshapeforce\@undefined +\let\kanjishapeforce\@undefined +\else % 2020-02-02 +\DeclareRobustCommand\romanshapeforce[1]{\edef\f@shape{#1}} +\DeclareRobustCommand\kanjishapeforce[1]{\edef\k@shape{#1}} +\DeclareRobustCommand\fontshapeforce[1]{% + \set@safe@kanji@shape{#1}{}% + \edef\f@shape{#1}% +} +\fi +\plEndIncludeInRelease +\plIncludeInRelease{0000/00/00}{\fontshapeforce} + {ASCII Corporation / TeXJP original}% \ifx\fontshapeforce\@undefined % old \let\romanshapeforce\@undefined \let\kanjishapeforce\@undefined @@ -584,6 +1064,54 @@ of this package available from CTAN} \DeclareRobustCommand\kanjishapeforce[1]{\edef\k@shape{#1}} \DeclareRobustCommand\fontshapeforce[1]{\kanjishapeforce{#1}\romanshapeforce{#1}} \fi +\plEndIncludeInRelease +\plIncludeInRelease{2020/04/12}{\merge@kanji@shape@} + {No \k@shape update if unavailable}% +\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 + \if@shape@roman@kanji + \set@safe@kanji@shape{#2}{}% + \else + \edef\k@shape{#2}% + \fi + \else + \begingroup\let\f@encoding\k@encoding\let\f@family\k@family + \maybe@load@fontshape\endgroup + \edef\reserved@a{\k@encoding /\k@family /\k@series/#1}% + \ifcsname \reserved@a\endcsname + \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 + \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 +\plEndIncludeInRelease +\plIncludeInRelease{0000/00/00}{\merge@kanji@shape@} + {ASCII Corporation / TeXJP original}% \ifx\fontseriesforce\@undefined % old \let\merge@kanji@shape\@undefined \let\merge@kanji@shape@\@undefined @@ -617,6 +1145,28 @@ of this package available from CTAN} \fi } \fi +\plEndIncludeInRelease +\plIncludeInRelease{2020/04/12}{\set@safe@kanji@shape} + {No \k@shape update if unavailable}% +\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}% +} +\plEndIncludeInRelease +\plIncludeInRelease{0000/00/00}{\set@safe@kanji@shape} + {ASCII Corporation original}% +\let\set@safe@kanji@shape\@undefined +\let\@kanji@shape@nochange@info\@undefined +\plEndIncludeInRelease \plIncludeInRelease{2020/02/02}{\usefont} {Don't call \fontseries or \fontshape}% \DeclareRobustCommand\usekanji[4]{\kanjiencoding{#1}% @@ -672,6 +1222,37 @@ of this package available from CTAN} \expandafter \let \csname useroman \endcsname \@undefined \expandafter \let \csname usefont \endcsname \@undefined \plEndIncludeInRelease +\plIncludeInRelease{2020/04/12}{\normalfont} + {Use \@defaultfamilyhook}% +\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 +\DeclareRobustCommand\normalfont{% + \fontencoding\encodingdefault + \edef\f@family{\familydefault}% + \edef\f@series{\seriesdefault}% + \edef\f@shape{\shapedefault}% + \@defaultfamilyhook + \selectfont} +\g@addto@macro\@defaultfamilyhook{% + \kanjiencoding{\kanjiencodingdefault}% + \edef\k@family{\kanjifamilydefault}% + \edef\k@series{\kanjiseriesdefault}% + \edef\k@shape{\kanjishapedefault}% +} +\fi +\adjustbaseline +\let\reset@font\normalfont +\plEndIncludeInRelease \plIncludeInRelease{2020/02/02}{\normalfont} {Don't call \fontseries or \fontshape}% \DeclareRobustCommand\normalfont{% @@ -720,39 +1301,60 @@ of this package available from CTAN} \edef\kanjidef@ult{\kanjifamilydefault}% } \fi -\ifx\bfseries@rm\@undefined\else % 2020-02-02 -\DeclareRobustCommand\bfseries{% - \not@math@alphabet\bfseries\mathbf - \expand@font@defaults - % changed \fontseries -> \romanseries - \ifx\f@family\rmdef@ult \romanseries\bfseries@rm - \else\ifx\f@family\sfdef@ult \romanseries\bfseries@sf - \else\ifx\f@family\ttdef@ult \romanseries\bfseries@tt - \else \romanseries\bfdefault - \fi\fi\fi +\ifx\bfseries@rm\@undefined % old +\let\pltx@fontseries@saved\@undefined +\let\pltx@patch@bfseries\@undefined +\let\pltx@patch@mdseries\@undefined +\else % 2020-02-02 +\let\pltx@fontseries@saved\fontseries +\def\pltx@patch@bfseries\not@math@alphabet#1#2#3\selectfont{% + \long\expandafter\def\csname bfseries \endcsname{% + \not@math@alphabet#1#2% should be \bfseries\mathbf + % \fontseries of pLaTeX tries to change both Latin and Japanese; + % here we want only Latin, so use \romanseries + \let\fontseries\romanseries + #3% contains \fontseries and \@setbfseriesdefaultshook + \let\fontseries\pltx@fontseries@saved % recover % changed \fontseries -> \kanjiseries \ifx\k@family\mcdef@ult \kanjiseries\bfseries@mc \else\ifx\k@family\gtdef@ult \kanjiseries\bfseries@gt \else \kanjiseries\bfdefault \fi\fi - \selectfont + \selectfont + }% } -\DeclareRobustCommand\mdseries{% - \not@math@alphabet\mdseries\relax - \expand@font@defaults - % changed \fontseries -> \romanseries - \ifx\f@family\rmdef@ult \romanseries\mdseries@rm - \else\ifx\f@family\sfdef@ult \romanseries\mdseries@sf - \else\ifx\f@family\ttdef@ult \romanseries\mdseries@tt - \else \romanseries\mddefault - \fi\fi\fi +\ifx\@setbfseriesdefaultshook\@undefined\else +\g@addto@macro\@setbfseriesdefaultshook{% + \let\bfseries@mc\bfdef@ult + \let\bfseries@gt\bfdef@ult +} +\fi +\expandafter\expandafter\expandafter + \pltx@patch@bfseries\csname bfseries \endcsname +\def\pltx@patch@mdseries\not@math@alphabet#1#2#3\selectfont{% + \long\expandafter\def\csname mdseries \endcsname{% + \not@math@alphabet#1#2% should be \mdseries\relax + % \fontseries of pLaTeX tries to change both Latin and Japanese; + % here we want only Latin, so use \romanseries + \let\fontseries\romanseries + #3% contains \fontseries and \@setmdseriesdefaultshook + \let\fontseries\pltx@fontseries@saved % recover % changed \fontseries -> \kanjiseries \ifx\k@family\mcdef@ult \kanjiseries\mdseries@mc \else\ifx\k@family\gtdef@ult \kanjiseries\mdseries@gt \else \kanjiseries\mddefault \fi\fi \selectfont + }% } +\ifx\@setmdseriesdefaultshook\@undefined\else +\g@addto@macro\@setmdseriesdefaultshook{% + \let\mdseries@mc\mddef@ult + \let\mdseries@gt\mddef@ult +} +\fi +\expandafter\expandafter\expandafter + \pltx@patch@mdseries\csname mdseries \endcsname \fi \ifx\prepare@family@series@update\@undefined % old \let\prepare@family@series@update@kanji\@undefined @@ -760,9 +1362,9 @@ of this package available from CTAN} \let\update@series@target@value@kanji\@undefined \else % 2020-02-02 \def\prepare@family@series@update#1#2{% - \if@forced@series - \romanfamily#2% % changed \fontfamily -> \romanfamily - \else +~\if@forced@series +~ \romanfamily#2% % changed \fontfamily -> \romanfamily +~\else \expand@font@defaults \let\target@series@value\@empty \def\target@meta@family@value{#1}% @@ -777,15 +1379,15 @@ of this package available from CTAN} \ifx \f@series\target@series@value \else \maybe@load@fontshape - \let\f@series\target@series@value + \series@maybe@drop@one@m\target@series@value\f@series \fi \fi - \fi +~\fi } \def\prepare@family@series@update@kanji#1#2{% - \if@forced@series - \kanjifamily#2% - \else +~\if@forced@series +~ \kanjifamily#2% +~\else \expand@font@defaults \let\target@series@value\@empty \def\target@meta@family@value{#1}% @@ -801,10 +1403,10 @@ of this package available from CTAN} \else \begingroup\let\f@encoding\k@encoding\let\f@family\k@family \maybe@load@fontshape\endgroup - \let\k@series\target@series@value + \series@maybe@drop@one@m\target@series@value\k@series \fi \fi - \fi +~\fi } \def\@meta@family@list@kanji{\@elt{mc}\@elt{gt}} \def\update@series@target@value@kanji#1{% @@ -817,9 +1419,14 @@ of this package available from CTAN} \csname mdseries@\target@meta@family@value\endcsname \expandafter\let\expandafter\reserved@c \csname bfseries@\target@meta@family@value\endcsname - \expandafter\ifx\csname mdseries@#1\endcsname\k@series + \expandafter\series@maybe@drop@one@m + \csname mdseries@#1\endcsname\reserved@d + \ifx\reserved@d\k@series \let\target@series@value\reserved@b - \else\expandafter\ifx\csname bfseries@#1\endcsname\k@series + \else + \expandafter\series@maybe@drop@one@m + \csname bfseries@#1\endcsname\reserved@d + \ifx\reserved@d\k@series \let\target@series@value\reserved@c \else\ifx\k@series\mddef@ult \let\target@series@value\reserved@b \else\ifx\k@series\bfdef@ult \let\target@series@value\reserved@c @@ -850,6 +1457,144 @@ of this package available from CTAN} {\not@math@alphabet\gtfamily\mathgt \prepare@family@series@update@kanji{gt}\gtdefault\selectfont} \fi +%% +\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 +~ \romanfamily#2% % changed \fontfamily -> \romanfamily +~\else + \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 + \else + \ifx \f@series\target@series@value + \else + \maybe@load@fontshape + \let\f@series\target@series@value + \fi + \fi +~\fi +} +\def\prepare@family@series@update@kanji#1#2{% +~\if@forced@series +~ \kanjifamily#2% +~\else + \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 + \else + \ifx \k@series\target@series@value + \else + \begingroup\let\f@encoding\k@encoding\let\f@family\k@family + \maybe@load@fontshape\endgroup + \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 + \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 + \expandafter\ifx\csname mdseries@#1\endcsname\k@series + \let\target@series@value\reserved@b + \else\expandafter\ifx\csname bfseries@#1\endcsname\k@series + \let\target@series@value\reserved@c + \else\ifx\k@series\mddef@ult \let\target@series@value\reserved@b + \else\ifx\k@series\bfdef@ult \let\target@series@value\reserved@c + \fi\fi\fi\fi + \fi + \fi +} +\fi +\fi +%% +\pltx@reset@catcode@trick \plIncludeInRelease{2020/02/02}{\DeclareEmphSequence} {Nested emph}% \ifx\DeclareEmphSequence\@undefined % old @@ -2097,6 +2842,22 @@ of this package available from CTAN} \@ifstar\@sverb\@verb} \fi \plEndIncludeInRelease +\plIncludeInRelease{2020/04/12}{\do@noligs} + {Allow \xkanjiskip while avoiding ligature}% +\def\do@noligs#1{% + \catcode`#1\active + \begingroup + \lccode`\~`#1\relax + \lowercase{\endgroup\def~{\leavevmode\vadjust{}\char`#1}}} +\plEndIncludeInRelease +\plIncludeInRelease{0000/00/00}{\do@noligs} + {LaTeX2e original}% +\def\do@noligs#1{% + \catcode`#1\active + \begingroup + \lccode`\~`#1\relax + \lowercase{\endgroup\def~{\leavevmode\kern\z@\char`#1}}} +\plEndIncludeInRelease \plIncludeInRelease{2017/10/28}{\@startline} {Inhibit JFM glue at the beginning}% \gdef\@startline{% diff --git a/Master/texmf-dist/tex/platex/base/plcore.ltx b/Master/texmf-dist/tex/platex/base/plcore.ltx index 13dc9165aa4..6c9eb8ef549 100644 --- a/Master/texmf-dist/tex/platex/base/plcore.ltx +++ b/Master/texmf-dist/tex/platex/base/plcore.ltx @@ -33,19 +33,12 @@ \fi \def\pfmtname{pLaTeX2e} \def\pfmtversion - {2020-02-02} -\def\ppatch@level{3} + {2020-04-12} +\def\ppatch@level{0} \edef\platexBANNER{\noexpand\platexNILa \the\everyjob % LaTeX banner and delayed codes \noexpand\platexNILb} \begingroup - \def\platexNILa#1\typeout#2#3\platexNILb{#1} - \toks0=\expandafter\expandafter\expandafter{\platexBANNER} - \global\everyjob\expandafter{\the\toks0}% -\endgroup -\begingroup - \def\platexNILa#1\typeout#2#3\platexNILb{#2} - \toks0=\expandafter\expandafter\expandafter{\platexBANNER} \ifnum\ppatch@level=0 \toks2={\pfmtname\space<\pfmtversion>\space}% \else\ifnum\ppatch@level>0 @@ -53,15 +46,9 @@ \else \toks2={\pfmtname\space<\pfmtversion>-pre\ppatch@level\space}% \fi\fi - \edef\platexBANNER{\the\everyjob - \noexpand\typeout{\the\toks2 (based on \the\toks0)}} - \global\everyjob\expandafter{\platexBANNER}% -\endgroup -\begingroup - \def\platexNILa#1\typeout#2#3\platexNILb{#3} - \toks0=\expandafter\expandafter\expandafter{\platexBANNER} - \edef\platexBANNER{\the\everyjob \the\toks0} - \global\everyjob\expandafter{\platexBANNER}% + \edef\platexNILa#1\typeout#2#3\platexNILb{% + #1\noexpand\typeout{\the\toks2 (based on #2)}#3} + \global\everyjob\expandafter\expandafter\expandafter{\platexBANNER}% \endgroup \let\platexBANNER=\@undefined \newif\if@plincludeinrelease @@ -134,9 +121,15 @@ \newdimen\cHT \let\afont\font \def\inlist@#1#2{% - \def\in@@##1<#1>##2##3\in@@{% - \ifx\in@##2\in@false\else\in@true\fi}% - \in@@#2<#1>\in@\in@@} + \edef\reserved@a{% + \unexpanded{\def\in@@##1<}% + \detokenize{#1}% + \unexpanded{>##2##3\in@@{\ifx\in@##2\in@false\else\in@true\fi}\in@@}% + \detokenize{#2}% + \unexpanded{<}% + \detokenize{#1}% + \unexpanded{>\in@\in@@}}% + \reserved@a} \def\fam@elt{\noexpand\fam@elt} \def\enc@elt{\noexpand\enc@elt} \def\fenc@list{\enc@elt<OML>\enc@elt<T1>\enc@elt<OT1>\enc@elt<OMS>% @@ -292,6 +285,15 @@ \let\default@KM\@empty \@onlypreamble\DeclareKanjiEncodingDefaults \def\KanjiEncodingPair#1#2{\@namedef{t@enc@#1}{#2}\@namedef{y@enc@#2}{#1}} +\def\ensure@KanjiEncodingPair#1{% + \edef\reserved@a{\csname #1@enc@\k@encoding\endcsname}% + \edef\reserved@b{\csname c#1@encoding\endcsname}% + \ifcat\relax\reserved@a + \@latex@error + {KANJI Encoding pair for `\k@encoding' undefined}% + {Use \string\KanjiEncodingPair, falling back to `\reserved@b'...}% + \expandafter\edef\reserved@a{\reserved@b}% + \fi} \def\DeclareFontFamily#1#2#3{% \@ifundefined{T@#1}% {\@latex@error{Encoding scheme `#1' unknown}\@eha}% @@ -347,9 +349,9 @@ \cdp@list \xdef\cdp@list{\the\toks@}% \endgroup - \global\@namedef{D@#1}{\def\default@family{#2}% - \def\default@series{#3}% - \def\default@shape{#4}}% + \global\@namedef{D@#1}{\def\default@k@family{#2}% !!! + \def\default@k@series{#3}% !!! + \def\default@k@shape{#4}}% !!! \fi} \@onlypreamble\DeclareKanjiSubstitution \def\DeclareErrorKanjiFont#1#2#3#4#5{% @@ -362,6 +364,78 @@ \gdef\default@k@shape{#4}% } \@onlypreamble\DeclareErrorKanjiFont +\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} +\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} +\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 +} \def\DeclareFixedFont#1#2#3#4#5#6{% \begingroup \let\afont\font @@ -389,6 +463,46 @@ \let\font\afont \endgroup } +\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 +} +\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 +} +\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 +} \def\reDeclareMathAlphabet#1#2#3{% \edef#1{\noexpand\protect\expandafter\noexpand\csname% \expandafter\@gobble\string#1\space\space\endcsname}% @@ -466,12 +580,14 @@ \inlist@\expandafter\tmp@item\expandafter{\kyenc@list}% \ifin@ \let\cy@encoding\k@encoding + \ensure@KanjiEncodingPair{t}% \edef\ct@encoding{\csname t@enc@\k@encoding\endcsname}% \else \expandafter\expandafter\expandafter \inlist@\expandafter\tmp@item\expandafter{\ktenc@list}% \ifin@ \let\ct@encoding\k@encoding + \ensure@KanjiEncodingPair{y}% \edef\cy@encoding{\csname y@enc@\k@encoding\endcsname}% \else \@latex@error{KANJI Encoding scheme `\k@encoding' unknown}\@eha @@ -677,23 +793,38 @@ \edef\k@family{#1}\edef\f@family{#1}% \fi\fi} \ifx\fontseriesforce\@undefined % old + \def\pltx@latex@level{0} \else % 2020-02-02 - \ifx\@forced@seriestrue\@undefined % patch level 0, 1, 2 - \@latex@error - {Please update LaTeX2e!^^J\space\space - At least LaTeX2e 2020-02-02 patch level 3 is required} - {LaTeX2e 2020-02-02 patch level 2 has a bug.} - \@@end + \ifx\@forced@seriestrue\@undefined + \ifnum\patch@level<1\relax % patch level 0 + \def\pltx@latex@level{1}% use \@reserveda + \else % patch level 1, 2 + \def\pltx@latex@level{2} + \fi + \else + \ifx\series@maybe@drop@one@m\@undefined % patch level 3, 4 + \def\pltx@latex@level{3} + \else + \ifx\series@maybe@drop@one@m@x\@undefined % patch level 5 + \def\pltx@latex@level{4} + % anticipating LaTeX2e 'develop' branch (after 23b7244) + % this temporary code will be removed in the future + %\let\series@maybe@drop@one@m@x\series@maybe@drop@one@m + %\def\series@maybe@drop@one@m#1{% + % \expandafter\series@maybe@drop@one@m@x\expandafter{#1}} + \else + \def\pltx@latex@level{5} + \fi + \fi \fi - % actually we'd like to check the below too, - % but commented out for TL19 frozen since - % platex-dev format generation fails - %\ifx\series@maybe@drop@one@m\@undefined % patch level 0--4 - % \@latex@error - % {Please update LaTeX2e!^^J\space\space - % At least LaTeX2e 2020-02-02 patch level 5 is required} - % {LaTeX2e 2020-02-02 patch level 2 and 4 has a bug.} - %\fi +\fi +\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 \ifx\fontseriesforce\@undefined % old \DeclareRobustCommand\romanseries[1]{\edef\f@series{#1}} @@ -745,26 +876,26 @@ \fi \fi } -\ifx\series@maybe@drop@one@m\@undefined % patch level 0--4 -\def\set@target@series@kanji#1{% - \edef\k@series{#1}% - \edef\k@series{\expandafter\series@drop@one@m\k@series mm\series@drop@one@m}% -} -\else % patch level 5 \def\set@target@series@kanji#1{% \edef\k@series{#1}% - \expandafter\series@maybe@drop@one@m\expandafter{\k@series}\k@series + \series@maybe@drop@one@m\k@series\k@series } \fi -\fi +\newif\if@shape@roman@kanji \ifx\fontshapeforce\@undefined % old \DeclareRobustCommand\romanshape[1]{\edef\f@shape{#1}} \DeclareRobustCommand\kanjishape[1]{\edef\k@shape{#1}} -\DeclareRobustCommand\fontshape[1]{\kanjishape{#1}\romanshape{#1}} +\DeclareRobustCommand\fontshape[1]{% + \set@safe@kanji@shape{#1}{}% + \edef\f@shape{#1}% +} \else % 2020-02-02 \DeclareRobustCommand\romanshape[1]{\merge@font@shape{#1}} \DeclareRobustCommand\kanjishape[1]{\merge@kanji@shape{#1}} -\DeclareRobustCommand\fontshape[1]{\kanjishape{#1}\romanshape{#1}} +\DeclareRobustCommand\fontshape[1]{% + \@shape@roman@kanjitrue + \kanjishape{#1}\romanshape{#1}% + \@shape@roman@kanjifalse} \fi \ifx\fontshapeforce\@undefined % old \let\romanshapeforce\@undefined @@ -772,7 +903,10 @@ \else % 2020-02-02 \DeclareRobustCommand\romanshapeforce[1]{\edef\f@shape{#1}} \DeclareRobustCommand\kanjishapeforce[1]{\edef\k@shape{#1}} -\DeclareRobustCommand\fontshapeforce[1]{\kanjishapeforce{#1}\romanshapeforce{#1}} +\DeclareRobustCommand\fontshapeforce[1]{% + \set@safe@kanji@shape{#1}{}% + \edef\f@shape{#1}% +} \fi \ifx\fontseriesforce\@undefined % old \let\merge@kanji@shape\@undefined @@ -788,7 +922,11 @@ \def\merge@kanji@shape@#1#2#3\@nil{% \def\reserved@a{#3}% \ifx\reserved@a\@empty + \if@shape@roman@kanji + \set@safe@kanji@shape{#2}{}% + \else \edef\k@shape{#2}% + \fi \else \begingroup\let\f@encoding\k@encoding\let\f@family\k@family \maybe@load@fontshape\endgroup @@ -800,13 +938,31 @@ \edef\k@shape{#2}% {\let\curr@fontshape\curr@kfontshape\@font@shape@subst@warning}% \else + \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 +\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}% +} \DeclareRobustCommand\usekanji[4]{\kanjiencoding{#1}% \edef\k@family{#2}% \edef\k@series{#3}% @@ -824,6 +980,7 @@ \ifin@ \usekanji{#1}{#2}{#3}{#4}% \else\useroman{#1}{#2}{#3}{#4}% \fi} +\ifx\@defaultfamilyhook\@undefined % old \DeclareRobustCommand\normalfont{% \kanjiencoding{\kanjiencodingdefault}% \edef\k@family{\kanjifamilydefault}% @@ -833,7 +990,15 @@ \edef\f@family{\familydefault}% \edef\f@series{\seriesdefault}% \edef\f@shape{\shapedefault}% - \selectfont\ignorespaces} + \selectfont} +\else % 2020-02-02 PL2 +\g@addto@macro\@defaultfamilyhook{% + \kanjiencoding{\kanjiencodingdefault}% + \edef\k@family{\kanjifamilydefault}% + \edef\k@series{\kanjiseriesdefault}% + \edef\k@shape{\kanjishapedefault}% +} +\fi \adjustbaseline \let\reset@font\normalfont \ifx\bfseries@rm\@undefined % old @@ -854,49 +1019,70 @@ \edef\kanjidef@ult{\kanjifamilydefault}% } \fi -\ifx\bfseries@rm\@undefined\else % 2020-02-02 -\DeclareRobustCommand\bfseries{% - \not@math@alphabet\bfseries\mathbf - \expand@font@defaults - % changed \fontseries -> \romanseries - \ifx\f@family\rmdef@ult \romanseries\bfseries@rm - \else\ifx\f@family\sfdef@ult \romanseries\bfseries@sf - \else\ifx\f@family\ttdef@ult \romanseries\bfseries@tt - \else \romanseries\bfdefault - \fi\fi\fi +\ifx\bfseries@rm\@undefined % old +\let\pltx@fontseries@saved\@undefined +\let\pltx@patch@bfseries\@undefined +\let\pltx@patch@mdseries\@undefined +\else % 2020-02-02 +\let\pltx@fontseries@saved\fontseries +\def\pltx@patch@bfseries\not@math@alphabet#1#2#3\selectfont{% + \long\expandafter\def\csname bfseries \endcsname{% + \not@math@alphabet#1#2% should be \bfseries\mathbf + % \fontseries of pLaTeX tries to change both Latin and Japanese; + % here we want only Latin, so use \romanseries + \let\fontseries\romanseries + #3% contains \fontseries and \@setbfseriesdefaultshook + \let\fontseries\pltx@fontseries@saved % recover % changed \fontseries -> \kanjiseries \ifx\k@family\mcdef@ult \kanjiseries\bfseries@mc \else\ifx\k@family\gtdef@ult \kanjiseries\bfseries@gt \else \kanjiseries\bfdefault \fi\fi - \selectfont + \selectfont + }% } -\DeclareRobustCommand\mdseries{% - \not@math@alphabet\mdseries\relax - \expand@font@defaults - % changed \fontseries -> \romanseries - \ifx\f@family\rmdef@ult \romanseries\mdseries@rm - \else\ifx\f@family\sfdef@ult \romanseries\mdseries@sf - \else\ifx\f@family\ttdef@ult \romanseries\mdseries@tt - \else \romanseries\mddefault - \fi\fi\fi +\ifx\@setbfseriesdefaultshook\@undefined\else +\g@addto@macro\@setbfseriesdefaultshook{% + \let\bfseries@mc\bfdef@ult + \let\bfseries@gt\bfdef@ult +} +\fi +\expandafter\expandafter\expandafter + \pltx@patch@bfseries\csname bfseries \endcsname +\def\pltx@patch@mdseries\not@math@alphabet#1#2#3\selectfont{% + \long\expandafter\def\csname mdseries \endcsname{% + \not@math@alphabet#1#2% should be \mdseries\relax + % \fontseries of pLaTeX tries to change both Latin and Japanese; + % here we want only Latin, so use \romanseries + \let\fontseries\romanseries + #3% contains \fontseries and \@setmdseriesdefaultshook + \let\fontseries\pltx@fontseries@saved % recover % changed \fontseries -> \kanjiseries \ifx\k@family\mcdef@ult \kanjiseries\mdseries@mc \else\ifx\k@family\gtdef@ult \kanjiseries\mdseries@gt \else \kanjiseries\mddefault \fi\fi \selectfont + }% +} +\ifx\@setmdseriesdefaultshook\@undefined\else +\g@addto@macro\@setmdseriesdefaultshook{% + \let\mdseries@mc\mddef@ult + \let\mdseries@gt\mddef@ult } \fi +\expandafter\expandafter\expandafter + \pltx@patch@mdseries\csname mdseries \endcsname +\fi \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 - \romanfamily#2% % changed \fontfamily -> \romanfamily - \else +~\if@forced@series +~ \romanfamily#2% % changed \fontfamily -> \romanfamily +~\else \expand@font@defaults \let\target@series@value\@empty \def\target@meta@family@value{#1}% @@ -911,15 +1097,15 @@ \ifx \f@series\target@series@value \else \maybe@load@fontshape - \let\f@series\target@series@value + \series@maybe@drop@one@m\target@series@value\f@series \fi \fi - \fi +~\fi } \def\prepare@family@series@update@kanji#1#2{% - \if@forced@series - \kanjifamily#2% - \else +~\if@forced@series +~ \kanjifamily#2% +~\else \expand@font@defaults \let\target@series@value\@empty \def\target@meta@family@value{#1}% @@ -935,10 +1121,10 @@ \else \begingroup\let\f@encoding\k@encoding\let\f@family\k@family \maybe@load@fontshape\endgroup - \let\k@series\target@series@value + \series@maybe@drop@one@m\target@series@value\k@series \fi \fi - \fi +~\fi } \def\@meta@family@list@kanji{\@elt{mc}\@elt{gt}} \def\update@series@target@value@kanji#1{% @@ -951,9 +1137,14 @@ \csname mdseries@\target@meta@family@value\endcsname \expandafter\let\expandafter\reserved@c \csname bfseries@\target@meta@family@value\endcsname - \expandafter\ifx\csname mdseries@#1\endcsname\k@series + \expandafter\series@maybe@drop@one@m + \csname mdseries@#1\endcsname\reserved@d + \ifx\reserved@d\k@series \let\target@series@value\reserved@b - \else\expandafter\ifx\csname bfseries@#1\endcsname\k@series + \else + \expandafter\series@maybe@drop@one@m + \csname bfseries@#1\endcsname\reserved@d + \ifx\reserved@d\k@series \let\target@series@value\reserved@c \else\ifx\k@series\mddef@ult \let\target@series@value\reserved@b \else\ifx\k@series\bfdef@ult \let\target@series@value\reserved@c @@ -986,23 +1177,144 @@ \fi \DeclareTextFontCommand{\textmc}{\mcfamily} \DeclareTextFontCommand{\textgt}{\gtfamily} -\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 +%% +\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 - \edef\em@currfont{\csname\curr@fontshape/\f@size\endcsname}% - \expandafter\do@emfont@update\emfontdeclare@clist\do@emfont@update + \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 -\def\eminnershape{\mcfamily \upshape}% +\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 +~ \romanfamily#2% % changed \fontfamily -> \romanfamily +~\else + \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 + \else + \ifx \f@series\target@series@value + \else + \maybe@load@fontshape + \let\f@series\target@series@value + \fi + \fi +~\fi +} +\def\prepare@family@series@update@kanji#1#2{% +~\if@forced@series +~ \kanjifamily#2% +~\else + \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 + \else + \ifx \k@series\target@series@value + \else + \begingroup\let\f@encoding\k@encoding\let\f@family\k@family + \maybe@load@fontshape\endgroup + \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 + \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 + \expandafter\ifx\csname mdseries@#1\endcsname\k@series + \let\target@series@value\reserved@b + \else\expandafter\ifx\csname bfseries@#1\endcsname\k@series + \let\target@series@value\reserved@c + \else\ifx\k@series\mddef@ult \let\target@series@value\reserved@b + \else\ifx\k@series\bfdef@ult \let\target@series@value\reserved@c + \fi\fi\fi\fi + \fi + \fi +} +\fi +\fi +%% +\pltx@reset@catcode@trick \let\romanprocess@table\process@table \def\kanjiprocess@table{% \kanjiencoding{\kanjiencodingdefault}% @@ -1016,6 +1328,23 @@ } \@onlypreamble\romanprocess@table \@onlypreamble\kanjiprocess@table +\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}% \DeclareTextCommandDefault{\textunderscore}{% \leavevmode\kern.06em \raise-\iftdir\ifmdir\ybaselineshift @@ -1499,6 +1828,11 @@ \language\l@nohyphenation \@ifstar\@sverb\@verb} \fi +\def\do@noligs#1{% + \catcode`#1\active + \begingroup + \lccode`\~`#1\relax + \lowercase{\endgroup\def~{\leavevmode\vadjust{}\char`#1}}} \gdef\@startline{% \ifnum \@nxttabmar >\@hightab \@badtab @@ -1626,16 +1960,23 @@ \let\document@default@language\m@ne \fi %% File: plvers.dtx -\AtBeginDocument{% - \@ifpackageloaded{latexrelease}{% - \@ifpackageloaded{platexrelease}{}{% +\expandafter\def\expandafter\process@table\expandafter{% + \expandafter\p@warn@latexrelease\process@table} +\begingroup +\toks@\expandafter{\expandafter\p@warn@latexrelease\@begindocumenthook} +\xdef\@begindocumenthook{\the\toks@} +\endgroup +\def\p@warn@latexrelease{% + \ifx\latexreleaseversion\@undefined\else + \ifx\platexreleaseversion\@undefined \@latex@warning@no@line{% Package latexrelease is loaded.\MessageBreak Some patches in pLaTeX2e core may be overwritten.\MessageBreak Consider using platexrelease.\MessageBreak See platex.pdf for detail}% - }% - }{}% + \fi + \fi + \let\p@warn@latexrelease\relax } \endinput %% diff --git a/Master/texmf-dist/tex/platex/base/ptrace.sty b/Master/texmf-dist/tex/platex/base/ptrace.sty index 45d5ecd800d..dda02ecb82a 100644 --- a/Master/texmf-dist/tex/platex/base/ptrace.sty +++ b/Master/texmf-dist/tex/platex/base/ptrace.sty @@ -15,8 +15,10 @@ %% File: plfonts.dtx \NeedsTeXFormat{pLaTeX2e} \ProvidesPackage{ptrace} - [2019/09/16 v1.6t Standard pLaTeX package (font tracing)] + [2020/03/26 v1.7e Standard pLaTeX package (font tracing)] \RequirePackageWithOptions{tracefnt} +\plIncludeInRelease{2020/04/12}{\selectfont} + {Check \KanjiEncodingPair}% \DeclareRobustCommand\selectfont{% \let\tmp@error@fontshape\error@fontshape \let\error@fontshape\error@kfontshape @@ -25,12 +27,14 @@ \inlist@\expandafter\tmp@item\expandafter{\kyenc@list}% \ifin@ \let\cy@encoding\k@encoding + \ensure@KanjiEncodingPair{t}% \edef\ct@encoding{\csname t@enc@\k@encoding\endcsname}% \else \expandafter\expandafter\expandafter \inlist@\expandafter\tmp@item\expandafter{\ktenc@list}% \ifin@ \let\ct@encoding\k@encoding + \ensure@KanjiEncodingPair{y}% \edef\cy@encoding{\csname y@enc@\k@encoding\endcsname}% \else \@latex@error{KANJI Encoding scheme `\k@encoding' unknown}\@eha @@ -72,6 +76,65 @@ \set@fontsize\baselinestretch\f@size\f@baselineskip \fi \size@update} +\plEndIncludeInRelease +\plIncludeInRelease{0000/00/00}{\selectfont} + {ASCII Corporation original}% +\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 + \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 + \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 + \ifnum \tracingfonts>\tw@ + \@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} +\plEndIncludeInRelease \plIncludeInRelease{2017/04/08}{\set@fontsize} {Construct \ystrutbox}% \def\set@fontsize#1#2#3{% |