summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/platex/base/plcore.ltx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/platex/base/plcore.ltx')
-rw-r--r--Master/texmf-dist/tex/platex/base/plcore.ltx281
1 files changed, 267 insertions, 14 deletions
diff --git a/Master/texmf-dist/tex/platex/base/plcore.ltx b/Master/texmf-dist/tex/platex/base/plcore.ltx
index 170c8e5cd16..e9ad50530b3 100644
--- a/Master/texmf-dist/tex/platex/base/plcore.ltx
+++ b/Master/texmf-dist/tex/platex/base/plcore.ltx
@@ -33,8 +33,8 @@
\fi
\def\pfmtname{pLaTeX2e}
\def\pfmtversion
- {2019-10-01}
-\def\ppatch@level{1}
+ {2020-02-02}
+\def\ppatch@level{0}
\edef\platexBANNER{\noexpand\platexNILa
\the\everyjob % LaTeX banner and delayed codes
\noexpand\platexNILb}
@@ -676,18 +676,120 @@
\if@notkfam\if@notffam
\edef\k@family{#1}\edef\f@family{#1}%
\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\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\fontseriesforce[1]{\kanjiseriesforce{#1}\romanseriesforce{#1}}
+\fi
+\ifx\fontseriesforce\@undefined % old
+\let\merge@kanji@series\@undefined
+\let\merge@kanji@series@\@undefined
+\let\set@target@series@kanji\@undefined
+\else % 2020-02-02
+\def\merge@kanji@series#1{%
+ \expandafter\expandafter\expandafter
+ \merge@kanji@series@
+ \csname series@\k@series @#1\endcsname
+ {#1}%
+ \@nil
+}
+\def\merge@kanji@series@#1#2#3\@nil{%
+ \def\@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\set@target@series@kanji#1{%
+ \edef\k@series{#1}%
+ \edef\k@series{\expandafter\series@drop@one@m\k@series mm\series@drop@one@m}%
+}
+\fi
+\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\usekanji[4]{%
- \kanjiencoding{#1}\kanjifamily{#2}\kanjiseries{#3}\kanjishape{#4}%
- \selectfont\ignorespaces}
-\DeclareRobustCommand\useroman[4]{%
- \romanencoding{#1}\romanfamily{#2}\romanseries{#3}\romanshape{#4}%
- \selectfont\ignorespaces}
+\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}}
+\fi
+\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}}
+\fi
+\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\@reserveda{#3}%
+ \ifx\@reserveda\@empty
+ \edef\k@shape{#2}%
+ \else
+ \maybe@load@fontshape
+ \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
+\DeclareRobustCommand\usekanji[4]{\kanjiencoding{#1}%
+ \edef\k@family{#2}%
+ \edef\k@series{#3}%
+ \edef\k@shape{#4}\selectfont
+ \ignorespaces}
+\DeclareRobustCommand\useroman[4]{\romanencoding{#1}%
+ \edef\f@family{#2}%
+ \edef\f@series{#3}%
+ \edef\f@shape{#4}\selectfont
+ \ignorespaces}
\DeclareRobustCommand\usefont[4]{%
\edef\tmp@item{{#1}}%
\expandafter\expandafter\expandafter
@@ -697,22 +799,168 @@
\fi}
\DeclareRobustCommand\normalfont{%
\kanjiencoding{\kanjiencodingdefault}%
- \kanjifamily{\kanjifamilydefault}%
- \kanjiseries{\kanjiseriesdefault}%
- \kanjishape{\kanjishapedefault}%
+ \edef\k@family{\kanjifamilydefault}%
+ \edef\k@series{\kanjiseriesdefault}%
+ \edef\k@shape{\kanjishapedefault}%
\romanencoding{\encodingdefault}%
- \romanfamily{\familydefault}%
- \romanseries{\seriesdefault}%
- \romanshape{\shapedefault}%
+ \edef\f@family{\familydefault}%
+ \edef\f@series{\seriesdefault}%
+ \edef\f@shape{\shapedefault}%
\selectfont\ignorespaces}
\adjustbaseline
\let\reset@font\normalfont
+\ifx\bfseries@rm\@undefined % old
+\let\bfseries@mc\@undefined
+\let\bfseries@gt\@undefined
+\let\mdseries@mc\@undefined
+\let\mdseries@gt\@undefined
+\else % 2020-02-02
+\edef\bfseries@mc{\bfdefault}% b
+\edef\bfseries@gt{\bfdefault}% b
+\edef\mdseries@mc{\mddefault}% m
+\edef\mdseries@gt{\mddefault}% m
+\fi
+\ifx\expand@font@defaults\@undefined\else % 2020-02-02
+\g@addto@macro\expand@font@defaults{%
+ \edef\mcdef@ult{\mcdefault}%
+ \edef\gtdef@ult{\gtdefault}%
+ \edef\kanjidef@ult{\kanjifamilydefault}%
+}
+\fi
+\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
+ \fi\fi\fi
+ }%
+ \kanjiseries{%
+ \ifx\k@family\mcdef@ult \bfseries@mc
+ \else\ifx\k@family\gtdef@ult \bfseries@gt
+ \else \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
+ \fi\fi\fi
+ }%
+ \kanjiseries{%
+ \ifx\k@family\mcdef@ult \mdseries@mc
+ \else\ifx\k@family\gtdef@ult \mdseries@gt
+ \else \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
+\else % 2020-02-02
+\def\prepare@family@series@update#1#2{%
+ \expand@font@defaults
+ \let\target@series@value\@empty
+ \def\target@meta@family@value{#1}%
+ \let\@elt\update@series@target@value
+ \@meta@family@list
+ \let\@elt\relax
+ \romanfamily#2% % changed \fontfamily -> \romanfamily
+ \ifx\target@series@value\@empty
+ \else
+ \maybe@load@fontshape
+ \let\f@series\target@series@value
+ \fi
+}
+\def\prepare@family@series@update@kanji#1#2{%
+ \expand@font@defaults
+ \let\target@series@value\@empty
+ \def\target@meta@family@value{#1}%
+ \let\@elt\update@series@target@value@kanji
+ \@meta@family@list@kanji
+ \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
+ \fi
+}
+\def\@meta@family@list@kanji{\@elt{mc}\@elt{gt}}
+\def\update@series@target@value@kanji#1{%
+ \def\@reserveda{#1}%
+ \ifx\target@meta@family@value\@reserveda % rm -> rm do nothing
+ \else
+ \expandafter\ifx\csname#1def@ult\endcsname\k@family
+ \let\@elt\@gobble
+ \expandafter\let\expandafter\@reservedb
+ \csname mdseries@\target@meta@family@value\endcsname
+ \expandafter\let\expandafter\@reservedc
+ \csname bfseries@\target@meta@family@value\endcsname
+ \expandafter\ifx\csname mdseries@#1\endcsname\k@series
+ \let\target@series@value\@reservedb
+ \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
+ \fi\fi\fi\fi
+ \fi
+ \fi
+}
+\fi
+\ifx\init@series@setup\@undefined\else % 2020-02-02
+\g@addto@macro\init@series@setup{%
+ \ifx\kanjidef@ult\mcdef@ult \mcfamily
+ \else\ifx\kanjidef@ult\gtdef@ult \gtfamily
+ \fi\fi
+}%
+\fi
+\ifx\prepare@family@series@update@kanji\@undefined % 2020-02-02
\DeclareRobustCommand\mcfamily
{\not@math@alphabet\mcfamily\mathmc
\kanjifamily\mcdefault\selectfont}
\DeclareRobustCommand\gtfamily
{\not@math@alphabet\gtfamily\mathgt
\kanjifamily\gtdefault\selectfont}
+\else
+\DeclareRobustCommand\mcfamily
+ {\not@math@alphabet\mcfamily\mathmc
+ \prepare@family@series@update@kanji{mc}\mcdefault\selectfont}
+\DeclareRobustCommand\gtfamily
+ {\not@math@alphabet\gtfamily\mathgt
+ \prepare@family@series@update@kanji{gt}\gtdefault\selectfont}
+\fi
+\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
+ \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}%
\let\romanprocess@table\process@table
\def\kanjiprocess@table{%
\kanjiencoding{\kanjiencodingdefault}%
@@ -827,6 +1075,11 @@
\let\@text@composite@x\pltx@saved@text@composite@x
}
\nofixcompositeaccent
+\ifx\protected\@undefined
+\def\<{\inhibitglue}
+\else
+\protected\def\<{\ifvmode\leavevmode\fi\inhibitglue}
+\fi
%% File: plcore.dtx
\def\NeedsTeXFormat#1{%
\def\reserved@a{#1}%