From e683aafb436fe5079fb4878f058618155dc8939b Mon Sep 17 00:00:00 2001 From: Hironobu Yamashita Date: Sat, 29 Feb 2020 08:57:21 +0000 Subject: emergency update: platex 2020-02-29 containing pLaTeX2e <2020-02-02>+3 Karl -- please refer to mail 'Refrain from major release of LaTeX2e around TL freeze' git-svn-id: svn://tug.org/texlive/trunk@53974 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/platex/base/README.md | 2 +- Master/texmf-dist/doc/platex/base/pldoc.pdf | Bin 871372 -> 873833 bytes Master/texmf-dist/source/platex/base/plfonts.dtx | 169 ++++++++++++++++----- Master/texmf-dist/source/platex/base/plvers.dtx | 2 +- .../texmf-dist/tex/platex/base/platexrelease.sty | 100 +++++++----- Master/texmf-dist/tex/platex/base/plcore.ltx | 103 ++++++++----- 6 files changed, 258 insertions(+), 118 deletions(-) diff --git a/Master/texmf-dist/doc/platex/base/README.md b/Master/texmf-dist/doc/platex/base/README.md index a280f048ac5..116555004e9 100644 --- a/Master/texmf-dist/doc/platex/base/README.md +++ b/Master/texmf-dist/doc/platex/base/README.md @@ -64,6 +64,6 @@ the 3-clause BSD license (see [LICENSE](./LICENSE)). ## Release Date -2020-02-09 +2020-02-29 Japanese TeX Development Community diff --git a/Master/texmf-dist/doc/platex/base/pldoc.pdf b/Master/texmf-dist/doc/platex/base/pldoc.pdf index 66c32afe358..563c4b162e2 100644 Binary files a/Master/texmf-dist/doc/platex/base/pldoc.pdf and b/Master/texmf-dist/doc/platex/base/pldoc.pdf differ diff --git a/Master/texmf-dist/source/platex/base/plfonts.dtx b/Master/texmf-dist/source/platex/base/plfonts.dtx index f9f4799ebe7..78ab72ff991 100644 --- a/Master/texmf-dist/source/platex/base/plfonts.dtx +++ b/Master/texmf-dist/source/platex/base/plfonts.dtx @@ -130,13 +130,28 @@ % \changes{v1.6w}{2020/02/03}{巻き戻しのバグ修正} % \changes{v1.6x}{2020/02/05}{一時コマンドの名前を統一 % (sync with ltfssaxes.dtx 2020/02/05 v1.0b and ltfssini.dtx 2020/02/05 v3.1g)} +% \changes{v1.6y}{2020/02/24}{Switch \cs{if@forced@series} added +% (sync with ltfssaxes.dtx 2020/02/18 v1.0c)} +% \changes{v1.6y}{2020/02/24}{Make the \cs{ifx} selection outside of +% \cs{fontseries} argument so that it is not done several times +% (sync with ltfssini.dtx 2020/02/18 v3.1i)} +% \changes{v1.6y}{2020/02/24}{No series auto-update when forced +% (sync with ltfssini.dtx 2020/02/18 v3.1i)} +% \changes{v1.6y}{2020/02/24}{Recognize current family if it is not a +% ``meta'' family and auto-update series using \cs{bfdefault} +% (sync with ltfssini.dtx 2020/02/18 v3.1i)} +% \changes{v1.6z}{2020/02/28}{\cs{series@maybe@drop@one@m}の存在確認} +% \changes{v1.6z}{2020/02/28}{Drop ``m'' only in a specific set of values +% (sync with ltfssaxes.dtx 2020/02/27 v1.0d)} +% \changes{v1.6z}{2020/02/28}{Drop surplus ``m'' from \cs{target@series@value} +% (sync with ltfssini.dtx 2020/02/25 v3.1j)} % \fi % % \iffalse %<*driver> \NeedsTeXFormat{pLaTeX2e} % \fi -\ProvidesFile{plfonts.dtx}[2020/02/03 v1.6w pLaTeX New Font Selection Scheme] +\ProvidesFile{plfonts.dtx}[2020/02/28 v1.6z pLaTeX New Font Selection Scheme] % \iffalse \documentclass{jltxdoc} \GetFileInfo{plfonts.dtx} @@ -1913,6 +1928,31 @@ % \end{macro} % % +% \begin{macro}{\series@maybe@drop@one@m} +% 本家\LaTeXe~2020-02-02 patch level~5で追加された命令です。 +% \NFSS{}が大幅に修正・拡張された\LaTeXe~2020-02-02のうち、 +% patch level~2には |latex3/latex2e#277| のバグがあり、 +% ^^A →対策として \if@forced@series が追加された +% patch level~4には |latex3/latex2e#293| のバグがあったため、 +% ^^A →対策として \series@maybe@drop@one@m が追加された +% 安定した\LaTeXe{}のみをサポートします。 +% \changes{v1.6z}{2020/02/28}{\cs{series@maybe@drop@one@m}の存在確認} +% \begin{macrocode} +%<*plcore|platexrelease> +\ifx\fontseriesforce\@undefined % old +\else % 2020-02-02 + \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.} +% \@@end + \fi +\fi +% +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\romanseries} % \begin{macro}{\kanjiseries} % \begin{macro}{\fontseries} @@ -1929,8 +1969,8 @@ \DeclareRobustCommand\kanjiseries[1]{\edef\k@series{#1}} \DeclareRobustCommand\fontseries[1]{\kanjiseries{#1}\romanseries{#1}} \else % 2020-02-02 -\DeclareRobustCommand\romanseries[1]{\merge@font@series{#1}} -\DeclareRobustCommand\kanjiseries[1]{\merge@kanji@series{#1}} +\DeclareRobustCommand\romanseries[1]{\@forced@seriesfalse\merge@font@series{#1}} +\DeclareRobustCommand\kanjiseries[1]{\@forced@seriesfalse\merge@kanji@series{#1}} \DeclareRobustCommand\fontseries[1]{\kanjiseries{#1}\romanseries{#1}} \fi % \end{macrocode} @@ -1944,13 +1984,15 @@ % 無条件にシリーズを変更します。 % \changes{v1.6v}{2020/02/01}{New commands \cs{fontseriesforce} etc. % (sync with ltfssaxes.dtx 2019/12/16 v1.0a)} +% \changes{v1.6y}{2020/02/24}{Switch \cs{if@forced@series} added +% (sync with ltfssaxes.dtx 2020/02/18 v1.0c)} % \begin{macrocode} \ifx\fontseriesforce\@undefined % old \let\romanseriesforce\@undefined \let\kanjiseriesforce\@undefined \else % 2020-02-02 -\DeclareRobustCommand\romanseriesforce[1]{\edef\f@series{#1}} -\DeclareRobustCommand\kanjiseriesforce[1]{\edef\k@series{#1}} +\DeclareRobustCommand\romanseriesforce[1]{\@forced@seriestrue\edef\f@series{#1}} +\DeclareRobustCommand\kanjiseriesforce[1]{\@forced@seriestrue\edef\k@series{#1}} \DeclareRobustCommand\fontseriesforce[1]{\kanjiseriesforce{#1}\romanseriesforce{#1}} \fi % \end{macrocode} @@ -1962,6 +2004,8 @@ % \begin{macro}{\merge@kanji@series@} % \begin{macro}{\set@target@series@kanji} % \cs{merge@font@series}の和文版です。 +% \changes{v1.6z}{2020/02/28}{Drop ``m'' only in a specific set of values +% (sync with ltfssaxes.dtx 2020/02/27 v1.0d)} % \begin{macrocode} \ifx\fontseriesforce\@undefined % old \let\merge@kanji@series\@undefined @@ -1998,7 +2042,7 @@ } \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}% + \expandafter\series@maybe@drop@one@m\expandafter{\k@series}\k@series } \fi % \end{macrocode} @@ -2276,27 +2320,28 @@ % \begin{macro}{\bfseries} % \begin{macro}{\mdseries} % ファミリごとの設定値を参照します。 +% \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)} % \begin{macrocode} \ifx\bfseries@rm\@undefined\else % 2020-02-02 \DeclareRobustCommand\bfseries{% \not@math@alphabet\bfseries\mathbf \expand@font@defaults - \romanseries{% changed \fontseries -> \romanseries - \ifx\f@family\rmdef@ult \bfseries@rm - \else\ifx\f@family\sfdef@ult \bfseries@sf - \else\ifx\f@family\ttdef@ult \bfseries@tt - \else \bfdefault + % 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} % ここからがp\LaTeX{}による追加コードです。 % \begin{macrocode} - \kanjiseries{% - \ifx\k@family\mcdef@ult \bfseries@mc - \else\ifx\k@family\gtdef@ult \bfseries@gt - \else \bfdefault + % 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} % ここまで。 % \begin{macrocode} @@ -2305,22 +2350,20 @@ \DeclareRobustCommand\mdseries{% \not@math@alphabet\mdseries\relax \expand@font@defaults - \romanseries{% changed \fontseries -> \romanseries - \ifx\f@family\rmdef@ult \mdseries@rm - \else\ifx\f@family\sfdef@ult \mdseries@sf - \else\ifx\f@family\ttdef@ult \mdseries@tt - \else \mddefault + % 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} % ここからがp\LaTeX{}による追加コードです。 % \begin{macrocode} - \kanjiseries{% - \ifx\k@family\mcdef@ult \mdseries@mc - \else\ifx\k@family\gtdef@ult \mdseries@gt - \else \mddefault + % 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} % ここまで。 % \begin{macrocode} @@ -2335,57 +2378,105 @@ % \begin{macro}{\@meta@family@list@kanji} % \begin{macro}{\update@series@target@value@kanji} % |\prepare@family@series@update|の和文版です。 +% \changes{v1.6y}{2020/02/24}{No series auto-update when forced +% (sync with ltfssini.dtx 2020/02/18 v3.1i)} +% \changes{v1.6y}{2020/02/24}{Recognize current family if it is not a +% ``meta'' family and auto-update series using \cs{bfdefault} +% (sync with ltfssini.dtx 2020/02/18 v3.1i)} +% \changes{v1.6z}{2020/02/28}{Drop surplus ``m'' from \cs{target@series@value} +% (sync with ltfssini.dtx 2020/02/25 v3.1j)} % \begin{macrocode} \ifx\prepare@family@series@update\@undefined % old \let\prepare@family@series@update@kanji\@undefined \let\@meta@family@list@kanji\@undefined +\let\update@series@target@value@kanji\@undefined \else % 2020-02-02 \def\prepare@family@series@update#1#2{% + \if@forced@series +%<+debug> \series@change@debug{No series preparation (forced \f@series)\on@line}% + \romanfamily#2% % changed \fontfamily -> \romanfamily + \else +%<+debug> \series@change@debug{Prepearing for switching to #1 (#2)\on@line}% \expand@font@defaults \let\target@series@value\@empty \def\target@meta@family@value{#1}% + \expandafter\edef\csname ??def@ult\endcsname{\f@family}% \let\@elt\update@series@target@value \@meta@family@list + \@elt{??}% \let\@elt\relax \romanfamily#2% % changed \fontfamily -> \romanfamily \ifx\target@series@value\@empty +%<+debug> \series@change@debug{Target series still empty ...}% \else - \maybe@load@fontshape - \let\f@series\target@series@value + \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 - \begingroup\let\f@encoding\k@encoding\let\f@family\k@family - \maybe@load@fontshape\endgroup - \let\k@series\target@series@value + \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\@reservedb + \expandafter\let\expandafter\reserved@b \csname mdseries@\target@meta@family@value\endcsname - \expandafter\let\expandafter\@reservedc + \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 - \let\target@series@value\@reservedb +%<+debug> \series@change@debug{mdseries@#1 matched -> \reserved@b}% + \let\target@series@value\reserved@b \else\expandafter\ifx\csname bfseries@#1\endcsname\k@series - \let\target@series@value\@reservedc - \else\ifx\k@series\mddef@ult \let\target@series@value\@reservedb - \else\ifx\k@series\bfdef@ult \let\target@series@value\@reservedc +%<+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 diff --git a/Master/texmf-dist/source/platex/base/plvers.dtx b/Master/texmf-dist/source/platex/base/plvers.dtx index 81c78bebf18..ff2cc58b87a 100644 --- a/Master/texmf-dist/source/platex/base/plvers.dtx +++ b/Master/texmf-dist/source/platex/base/plvers.dtx @@ -195,7 +195,7 @@ {2020-02-02} % %<*plcore> -\def\ppatch@level{2} +\def\ppatch@level{3} % % \end{macrocode} % \end{macro} diff --git a/Master/texmf-dist/tex/platex/base/platexrelease.sty b/Master/texmf-dist/tex/platex/base/platexrelease.sty index b0e161cf97a..fd368a6c291 100644 --- a/Master/texmf-dist/tex/platex/base/platexrelease.sty +++ b/Master/texmf-dist/tex/platex/base/platexrelease.sty @@ -487,21 +487,30 @@ of this package available from CTAN} \fi} \expandafter \let \csname adjustbaseline \endcsname \@undefined \plEndIncludeInRelease +\ifx\fontseriesforce\@undefined % old +\else % 2020-02-02 + \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 \ifx\fontseriesforce\@undefined % old \DeclareRobustCommand\romanseries[1]{\edef\f@series{#1}} \DeclareRobustCommand\kanjiseries[1]{\edef\k@series{#1}} \DeclareRobustCommand\fontseries[1]{\kanjiseries{#1}\romanseries{#1}} \else % 2020-02-02 -\DeclareRobustCommand\romanseries[1]{\merge@font@series{#1}} -\DeclareRobustCommand\kanjiseries[1]{\merge@kanji@series{#1}} +\DeclareRobustCommand\romanseries[1]{\@forced@seriesfalse\merge@font@series{#1}} +\DeclareRobustCommand\kanjiseries[1]{\@forced@seriesfalse\merge@kanji@series{#1}} \DeclareRobustCommand\fontseries[1]{\kanjiseries{#1}\romanseries{#1}} \fi \ifx\fontseriesforce\@undefined % old \let\romanseriesforce\@undefined \let\kanjiseriesforce\@undefined \else % 2020-02-02 -\DeclareRobustCommand\romanseriesforce[1]{\edef\f@series{#1}} -\DeclareRobustCommand\kanjiseriesforce[1]{\edef\k@series{#1}} +\DeclareRobustCommand\romanseriesforce[1]{\@forced@seriestrue\edef\f@series{#1}} +\DeclareRobustCommand\kanjiseriesforce[1]{\@forced@seriestrue\edef\k@series{#1}} \DeclareRobustCommand\fontseriesforce[1]{\kanjiseriesforce{#1}\romanseriesforce{#1}} \fi \ifx\fontseriesforce\@undefined % old @@ -539,7 +548,7 @@ of this package available from CTAN} } \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}% + \expandafter\series@maybe@drop@one@m\expandafter{\k@series}\k@series } \fi \ifx\fontshapeforce\@undefined % old @@ -699,72 +708,87 @@ of this package available from CTAN} \DeclareRobustCommand\bfseries{% \not@math@alphabet\bfseries\mathbf \expand@font@defaults - \romanseries{% changed \fontseries -> \romanseries - \ifx\f@family\rmdef@ult \bfseries@rm - \else\ifx\f@family\sfdef@ult \bfseries@sf - \else\ifx\f@family\ttdef@ult \bfseries@tt - \else \bfdefault + % 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 - }% - \kanjiseries{% - \ifx\k@family\mcdef@ult \bfseries@mc - \else\ifx\k@family\gtdef@ult \bfseries@gt - \else \bfdefault + % 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 } \DeclareRobustCommand\mdseries{% \not@math@alphabet\mdseries\relax \expand@font@defaults - \romanseries{% changed \fontseries -> \romanseries - \ifx\f@family\rmdef@ult \mdseries@rm - \else\ifx\f@family\sfdef@ult \mdseries@sf - \else\ifx\f@family\ttdef@ult \mdseries@tt - \else \mddefault + % 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 - }% - \kanjiseries{% - \ifx\k@family\mcdef@ult \mdseries@mc - \else\ifx\k@family\gtdef@ult \mdseries@gt - \else \mddefault + % 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 } \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 \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 - \maybe@load@fontshape - \let\f@series\target@series@value + \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 - \begingroup\let\f@encoding\k@encoding\let\f@family\k@family - \maybe@load@fontshape\endgroup - \let\k@series\target@series@value + \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{% @@ -773,16 +797,16 @@ of this package available from CTAN} \else \expandafter\ifx\csname#1def@ult\endcsname\k@family \let\@elt\@gobble - \expandafter\let\expandafter\@reservedb + \expandafter\let\expandafter\reserved@b \csname mdseries@\target@meta@family@value\endcsname - \expandafter\let\expandafter\@reservedc + \expandafter\let\expandafter\reserved@c \csname bfseries@\target@meta@family@value\endcsname \expandafter\ifx\csname mdseries@#1\endcsname\k@series - \let\target@series@value\@reservedb + \let\target@series@value\reserved@b \else\expandafter\ifx\csname bfseries@#1\endcsname\k@series - \let\target@series@value\@reservedc - \else\ifx\k@series\mddef@ult \let\target@series@value\@reservedb - \else\ifx\k@series\bfdef@ult \let\target@series@value\@reservedc + \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 diff --git a/Master/texmf-dist/tex/platex/base/plcore.ltx b/Master/texmf-dist/tex/platex/base/plcore.ltx index 222f7c9d2fd..3c7172412f0 100644 --- a/Master/texmf-dist/tex/platex/base/plcore.ltx +++ b/Master/texmf-dist/tex/platex/base/plcore.ltx @@ -34,7 +34,7 @@ \def\pfmtname{pLaTeX2e} \def\pfmtversion {2020-02-02} -\def\ppatch@level{2} +\def\ppatch@level{3} \edef\platexBANNER{\noexpand\platexNILa \the\everyjob % LaTeX banner and delayed codes \noexpand\platexNILb} @@ -676,21 +676,31 @@ \if@notkfam\if@notffam \edef\k@family{#1}\edef\f@family{#1}% \fi\fi} +\ifx\fontseriesforce\@undefined % old +\else % 2020-02-02 + \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.} + \@@end + \fi +\fi \ifx\fontseriesforce\@undefined % old \DeclareRobustCommand\romanseries[1]{\edef\f@series{#1}} \DeclareRobustCommand\kanjiseries[1]{\edef\k@series{#1}} \DeclareRobustCommand\fontseries[1]{\kanjiseries{#1}\romanseries{#1}} \else % 2020-02-02 -\DeclareRobustCommand\romanseries[1]{\merge@font@series{#1}} -\DeclareRobustCommand\kanjiseries[1]{\merge@kanji@series{#1}} +\DeclareRobustCommand\romanseries[1]{\@forced@seriesfalse\merge@font@series{#1}} +\DeclareRobustCommand\kanjiseries[1]{\@forced@seriesfalse\merge@kanji@series{#1}} \DeclareRobustCommand\fontseries[1]{\kanjiseries{#1}\romanseries{#1}} \fi \ifx\fontseriesforce\@undefined % old \let\romanseriesforce\@undefined \let\kanjiseriesforce\@undefined \else % 2020-02-02 -\DeclareRobustCommand\romanseriesforce[1]{\edef\f@series{#1}} -\DeclareRobustCommand\kanjiseriesforce[1]{\edef\k@series{#1}} +\DeclareRobustCommand\romanseriesforce[1]{\@forced@seriestrue\edef\f@series{#1}} +\DeclareRobustCommand\kanjiseriesforce[1]{\@forced@seriestrue\edef\k@series{#1}} \DeclareRobustCommand\fontseriesforce[1]{\kanjiseriesforce{#1}\romanseriesforce{#1}} \fi \ifx\fontseriesforce\@undefined % old @@ -728,7 +738,7 @@ } \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}% + \expandafter\series@maybe@drop@one@m\expandafter{\k@series}\k@series } \fi \ifx\fontshapeforce\@undefined % old @@ -832,72 +842,87 @@ \DeclareRobustCommand\bfseries{% \not@math@alphabet\bfseries\mathbf \expand@font@defaults - \romanseries{% changed \fontseries -> \romanseries - \ifx\f@family\rmdef@ult \bfseries@rm - \else\ifx\f@family\sfdef@ult \bfseries@sf - \else\ifx\f@family\ttdef@ult \bfseries@tt - \else \bfdefault + % 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 - }% - \kanjiseries{% - \ifx\k@family\mcdef@ult \bfseries@mc - \else\ifx\k@family\gtdef@ult \bfseries@gt - \else \bfdefault + % 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 } \DeclareRobustCommand\mdseries{% \not@math@alphabet\mdseries\relax \expand@font@defaults - \romanseries{% changed \fontseries -> \romanseries - \ifx\f@family\rmdef@ult \mdseries@rm - \else\ifx\f@family\sfdef@ult \mdseries@sf - \else\ifx\f@family\ttdef@ult \mdseries@tt - \else \mddefault + % 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 - }% - \kanjiseries{% - \ifx\k@family\mcdef@ult \mdseries@mc - \else\ifx\k@family\gtdef@ult \mdseries@gt - \else \mddefault + % 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 } \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 \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 - \maybe@load@fontshape - \let\f@series\target@series@value + \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 - \begingroup\let\f@encoding\k@encoding\let\f@family\k@family - \maybe@load@fontshape\endgroup - \let\k@series\target@series@value + \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{% @@ -906,16 +931,16 @@ \else \expandafter\ifx\csname#1def@ult\endcsname\k@family \let\@elt\@gobble - \expandafter\let\expandafter\@reservedb + \expandafter\let\expandafter\reserved@b \csname mdseries@\target@meta@family@value\endcsname - \expandafter\let\expandafter\@reservedc + \expandafter\let\expandafter\reserved@c \csname bfseries@\target@meta@family@value\endcsname \expandafter\ifx\csname mdseries@#1\endcsname\k@series - \let\target@series@value\@reservedb + \let\target@series@value\reserved@b \else\expandafter\ifx\csname bfseries@#1\endcsname\k@series - \let\target@series@value\@reservedc - \else\ifx\k@series\mddef@ult \let\target@series@value\@reservedb - \else\ifx\k@series\bfdef@ult \let\target@series@value\@reservedc + \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 -- cgit v1.2.3