From db827062ede9c88ec0639994c70098c8eb351b27 Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Sat, 28 Jul 2018 22:03:37 +0000
Subject: platex (28jul18)

git-svn-id: svn://tug.org/texlive/trunk@48293 c570f23f-e606-0410-a88d-b1316a301751
---
 .../texmf-dist/tex/platex/base/platexrelease.sty   | 204 ++++++++++++++++++---
 1 file changed, 180 insertions(+), 24 deletions(-)

(limited to 'Master/texmf-dist/tex/platex/base/platexrelease.sty')

diff --git a/Master/texmf-dist/tex/platex/base/platexrelease.sty b/Master/texmf-dist/tex/platex/base/platexrelease.sty
index 0dcc1e3ac2c..aac95a71650 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
    {2018-04-01}
 \edef\platexreleaseversion
-   {2018-05-20}
+   {2018-07-28}
 \newif\if@plincludeinrelease
 \@plincludeinreleasefalse
 \def\plIncludeInRelease#1{%
@@ -68,7 +68,7 @@
 %% File: platexrelease.dtx
 \NeedsTeXFormat{pLaTeX2e}
 \ProvidesPackage{platexrelease}
-          [2018/04/06 v1.0l latexrelease support for pLaTeX Kernel
+          [2018/05/22 v1.0m latexrelease support for pLaTeX Kernel
               (including releases up to \platexreleaseversion)]
 \RequirePackageWithOptions{latexrelease}
 \ifnum\expandafter\@parse@version\latexreleaseversion//00\@nil
@@ -81,10 +81,12 @@
   \def\@plIncludeInRelease#1[#2]{\@plIncludeInRele@se{#1}}%
   \let\requestedplpatchdate\CurrentOption}
 \DeclareOption{latest}{%
-  \let\requestedplpatchdate\platexreleaseversion}
+  \let\requestedplpatchdate\platexreleaseversion
+  \AtEndOfPackage{\def\requestedpLaTeXdate{0}}}
 \DeclareOption{current}{%
-  \let\requestedplpatchdate\pfmtversion}
-\ExecuteOptions{current}
+  \let\requestedplpatchdate\pfmtversion
+  \AtEndOfPackage{\def\requestedpLaTeXdate{0}}}
+\let\requestedplpatchdate\pfmtversion
 \ProcessOptions\relax
 \def\reserved@a{%
 \edef\requestedpLaTeXdate{\the\count@}%
@@ -131,6 +133,7 @@ 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}%
+  % * <2018-07-28>
   % * <2018-05-20>
   % * <2018-04-01>+2
   % * <2018-04-01>+1
@@ -401,6 +404,47 @@ of this package available from CTAN}
   \iftdir\raise-\tbaselineshift\fi
   \vbox{\hrule\@width.3em}}
 \plEndIncludeInRelease
+%\plIncludeInRelease{0000/00/00}{\pltx@saved@oalign}
+%    {Special case! (This block is required for any emulation date)}%
+\def\pltx@saved@oalign#1{\leavevmode\vtop{\baselineskip\z@skip \lineskip.25ex%
+  \ialign{##\crcr#1\crcr}}}
+%\plEndIncludeInRelease
+\plIncludeInRelease{2018/07/28}{\pltx@oalign}
+                   {Fix for non-zero baselineshift}%
+\def\pltx@oalign#1{\ifmmode
+  \leavevmode\vtop{\baselineskip\z@skip \lineskip.25ex%
+    \ialign{##\crcr#1\crcr}}%
+\else
+  \iftdir\ybaselineshift\tbaselineshift\fi
+  \m@th$\hbox{\vtop{\baselineskip\z@skip \lineskip.25ex%
+    \ialign{##\crcr#1\crcr}}}$%
+\fi}
+\plEndIncludeInRelease
+\plIncludeInRelease{0000/00/00}{\pltx@oalign}
+                   {Fix for non-zero baselineshift}%
+\let\pltx@oalign\@undefined
+\plEndIncludeInRelease
+%\plIncludeInRelease{0000/00/00}{\pltx@saved@ltx@sh@ft}
+%    {Special case! (This block is required for any emulation date)}%
+\def\pltx@saved@ltx@sh@ft #1{%
+  \dimen@ #1%
+  \kern \strip@pt
+    \fontdimen1\font \dimen@
+  } % kern by #1 times the current slant
+%\plEndIncludeInRelease
+\plIncludeInRelease{2018/07/28}{\pltx@ltx@sh@ft}
+                   {Fix for non-zero baselineshift}%
+\def\pltx@ltx@sh@ft #1{%
+  \ybaselineshift\z@
+  \dimen@ #1%
+  \kern \strip@pt
+    \fontdimen1\font \dimen@
+  } % kern by #1 times the current slant
+\plEndIncludeInRelease
+\plIncludeInRelease{0000/00/00}{\pltx@ltx@sh@ft}
+                   {Fix for non-zero baselineshift}%
+\let\pltx@ltx@sh@ft\@undefined
+\plEndIncludeInRelease
 \plIncludeInRelease{2016/06/10}{\g@tlastchart@}
                    {Added \g@tlastchart@}%
 \def\g@tlastchart@#1{#1\ifx\lastnodechar\@undefined\m@ne\else\lastnodechar\fi}
@@ -409,6 +453,34 @@ of this package available from CTAN}
                    {Added \g@tlastchart@}%
 \let\g@tlastchart@\@undefined
 \plEndIncludeInRelease
+\plIncludeInRelease{2018/07/28}{\pltx@isletter}
+                   {Support PD1 encoding}%
+\def\pltx@mark{\pltx@mark@}
+\let\pltx@scanstop\relax
+\long\def\pltx@cond#1\fi{%
+  #1\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi}
+\def\pltx@pdfencA{PD1}
+\def\pltx@composite@chkenc{%
+  \ifx\pltx@pdfencA\f@encoding
+    \expandafter\@firstoftwo
+  \else
+    \expandafter\@secondoftwo
+  \fi}
+\long\def\pltx@isletter#1{%
+  \expandafter\pltx@isletter@i#1\pltx@scanstop}
+\long\def\pltx@isletter@i#1\pltx@scanstop{%
+  \pltx@cond\ifx\pltx@mark#1\pltx@mark\fi{\@firstoftwo}%
+    {\pltx@isletter@ii\pltx@scanstop#1\pltx@scanstop{}#1\pltx@mark}}
+\long\def\pltx@isletter@ii#1\pltx@scanstop#{%
+  \pltx@cond\ifx\pltx@mark#1\pltx@mark\fi%
+    {\pltx@isletter@iii}{\pltx@isletter@iv}}
+\long\def\pltx@isletter@iii#1\pltx@mark{\@secondoftwo}
+\long\def\pltx@isletter@iv#1#2#3\pltx@mark{%
+  \pltx@cond\ifx\pltx@mark#3\pltx@mark\fi{%
+    \pltx@cond{\ifnum0\ifcat A\noexpand#21\fi\ifcat=\noexpand#21\fi>\z@}\fi
+      {\@firstoftwo}{\pltx@composite@chkenc}%
+  }{\pltx@composite@chkenc}}
+\plEndIncludeInRelease
 \plIncludeInRelease{2016/06/10}{\pltx@isletter}
                    {Added \pltx@isletter}%
 \def\pltx@mark{\pltx@mark@}
@@ -435,13 +507,13 @@ of this package available from CTAN}
 \let\pltx@isletter\@undefined
 \plEndIncludeInRelease
 \plIncludeInRelease{2016/06/10}{\@text@composite}
-                   {Wrong fix for non-zero baselineshift}%
+                   {Fix for non-zero baselineshift (wrong)}%
 \def\@text@composite#1#2#3\@text@composite{%
    \expandafter\@text@composite@x
       \csname\string#1-\string#2\endcsname}
 \plEndIncludeInRelease
 \plIncludeInRelease{2016/04/17}{\@text@composite}
-                   {Wrong fix for non-zero baselineshift}%
+                   {Fix for non-zero baselineshift (wrong)}%
 \def\@text@composite#1#2#3#{%
   \begingroup
   \setbox\z@=\hbox\bgroup%
@@ -450,24 +522,57 @@ of this package available from CTAN}
   \csname\string#1-\string#2\endcsname}
 \plEndIncludeInRelease
 \plIncludeInRelease{0000/00/00}{\@text@composite}
-                   {Wrong fix for non-zero baselineshift}%
+                   {Fix for non-zero baselineshift (wrong)}%
 \def\@text@composite#1#2#3\@text@composite{%
    \expandafter\@text@composite@x
       \csname\string#1-\string#2\endcsname}
 \plEndIncludeInRelease
-\plIncludeInRelease{2016/07/01}{\@text@composite@x}
-                   {Fix for non-zero baselineshift}%
-\def\@text@composite@x#1{%
+%\plIncludeInRelease{0000/00/00}{\pltx@saved@text@composite@x}
+%    {Special case! (This block is required for any emulation date)}%
+\def\pltx@saved@text@composite@x#1{%
    \ifx#1\relax
       \expandafter\@secondoftwo
    \else
       \expandafter\@firstoftwo
    \fi
    #1}
+%\plEndIncludeInRelease
+\plIncludeInRelease{2018/07/28}{\pltx@text@composite@x}
+                   {Fix for non-zero baselineshift}%
+\def\pltx@text@composite@x#1#2{%
+  \ifx#1\relax
+    #2%
+  \else\pltx@isletter{#1}{#1}{%
+    \begingroup
+    \setbox\z@\hbox\bgroup
+      \ybaselineshift\z@\tbaselineshift\z@
+      #1%
+      \g@tlastchart@\@tempcntb
+      \xdef\pltx@composite@temp{\noexpand\@tempcntb=\the\@tempcntb\relax}%
+      \aftergroup\pltx@composite@temp
+    \egroup
+    \ifnum\@tempcntb<\@cclvi
+      \ifnum\@tempcntb>\m@ne
+        \ifodd\xspcode\@tempcntb\else\leavevmode\null\fi
+      \fi
+      \begingroup\m@th$%
+        \ifx\textbaselineshiftfactor\@undefined\else
+          \textbaselineshiftfactor\z@\fi
+        \box\z@
+      $\endgroup
+      \ifnum\@tempcntb>\m@ne
+        \ifnum\xspcode\@tempcntb<2\null\fi
+      \fi
+    \else
+      {\ybaselineshift\z@\tbaselineshift\z@#1}%
+    \fi
+    \endgroup}%
+  \fi
+}
 \plEndIncludeInRelease
-\plIncludeInRelease{2016/06/10}{\@text@composite@x}
+\plIncludeInRelease{2016/06/10}{\pltx@text@composite@x}
                    {Fix for non-zero baselineshift}%
-\def\@text@composite@x#1#2{%
+\def\pltx@text@composite@x#1#2{%
   \ifx#1\relax
     #2%
   \else\pltx@isletter{#1}{#1}{%
@@ -506,15 +611,15 @@ of this package available from CTAN}
       \fi\fi
     \else
       \ifdim\@tempdima=\z@{\ybaselineshift\z@\tbaselineshift\z@#1}%
-      \else\lower\@tempdima\box\z@\fi
+      \else\leavevmode\lower\@tempdima\box\z@\fi
     \fi
     \endgroup}%
   \fi
 }
 \plEndIncludeInRelease
-\plIncludeInRelease{2016/04/17}{\@text@composite@x}
+\plIncludeInRelease{2016/04/17}{\pltx@text@composite@x}
                    {Fix for non-zero baselineshift}%
-\def\@text@composite@x#1#2{%
+\def\pltx@text@composite@x#1#2{%
   \ifx#1\relax
     \expandafter\@secondoftwo
   \else
@@ -535,15 +640,66 @@ of this package available from CTAN}
     \box\z@
   \endgroup}
 \plEndIncludeInRelease
-\plIncludeInRelease{0000/00/00}{\@text@composite@x}
+\plIncludeInRelease{0000/00/00}{\pltx@text@composite@x}
                    {Fix for non-zero baselineshift}%
-\def\@text@composite@x#1{%
-   \ifx#1\relax
-      \expandafter\@secondoftwo
-   \else
-      \expandafter\@firstoftwo
-   \fi
-   #1}
+\let\pltx@text@composite@x\@undefined
+\plEndIncludeInRelease
+%\plIncludeInRelease{0000/00/00}{\@text@composite@x}
+%    {Special case! (This block is required for any emulation date)}%
+\DeclareRobustCommand\fixcompositeaccent{%
+  \let\oalign\pltx@oalign
+  \let\ltx@sh@ft\pltx@ltx@sh@ft
+  \let\@text@composite@x\pltx@text@composite@x
+}
+\DeclareRobustCommand\nofixcompositeaccent{%
+  \let\oalign\pltx@saved@oalign
+  \let\ltx@sh@ft\pltx@saved@ltx@sh@ft
+  \let\@text@composite@x\pltx@saved@text@composite@x
+}
+\nofixcompositeaccent
+%\plEndIncludeInRelease
+\plIncludeInRelease{2018/07/28}{\fixcompositeaccent}
+                   {Fix for non-zero baselineshift}%
+\nofixcompositeaccent % force LaTeX original (conditional default)
+% other commands are actually defined for pLaTeX2e 2018-07-28
+\plEndIncludeInRelease
+\plIncludeInRelease{2016/07/01}{\fixcompositeaccent}
+                   {Fix for non-zero baselineshift}%
+\nofixcompositeaccent % force LaTeX original (always)
+\let\fixcompositeaccent\@undefined
+\let\nofixcompositeaccent\@undefined
+\let\pltx@saved@oalign\@undefined
+\let\pltx@oalign\@undefined
+\let\pltx@saved@ltx@sh@ft\@undefined
+\let\pltx@ltx@sh@ft\@undefined
+\let\pltx@saved@text@composite@x\@undefined
+\let\pltx@text@composite@x\@undefined
+\plEndIncludeInRelease
+\plIncludeInRelease{2016/04/17}{\fixcompositeaccent}
+                   {Fix for non-zero baselineshift}%
+\fixcompositeaccent % force pLaTeX definition (always)
+\let\oalign\pltx@saved@oalign % no fix at that time
+\let\ltx@sh@ft\pltx@saved@ltx@sh@ft % no fix at that time
+\let\fixcompositeaccent\@undefined
+\let\nofixcompositeaccent\@undefined
+\let\pltx@saved@oalign\@undefined
+\let\pltx@oalign\@undefined
+\let\pltx@saved@ltx@sh@ft\@undefined
+\let\pltx@ltx@sh@ft\@undefined
+\let\pltx@saved@text@composite@x\@undefined
+\let\pltx@text@composite@x\@undefined
+\plEndIncludeInRelease
+\plIncludeInRelease{0000/00/00}{\fixcompositeaccent}
+                   {Fix for non-zero baselineshift}%
+\nofixcompositeaccent % force LaTeX original (always)
+\let\fixcompositeaccent\@undefined
+\let\nofixcompositeaccent\@undefined
+\let\pltx@saved@oalign\@undefined
+\let\pltx@oalign\@undefined
+\let\pltx@saved@ltx@sh@ft\@undefined
+\let\pltx@ltx@sh@ft\@undefined
+\let\pltx@saved@text@composite@x\@undefined
+\let\pltx@text@composite@x\@undefined
 \plEndIncludeInRelease
 \plIncludeInRelease{2017/10/28}{\check@nocorr@}
                    {Italic correction before \textt...}%
-- 
cgit v1.2.3

