diff options
Diffstat (limited to 'Master/texmf-dist/source/latex-dev/base/ltoutenc.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex-dev/base/ltoutenc.dtx | 96 |
1 files changed, 63 insertions, 33 deletions
diff --git a/Master/texmf-dist/source/latex-dev/base/ltoutenc.dtx b/Master/texmf-dist/source/latex-dev/base/ltoutenc.dtx index fb437d4ad2b..6ebb62cee8d 100644 --- a/Master/texmf-dist/source/latex-dev/base/ltoutenc.dtx +++ b/Master/texmf-dist/source/latex-dev/base/ltoutenc.dtx @@ -37,14 +37,14 @@ %<TS1>\ProvidesFile{ts1enc.def}[2001/06/05 v3.0e (jk/car/fm) %<TU>\ProvidesFile{tuenc.def} %<package>\ProvidesPackage{fontenc} -%<OT1|T1|OMS|OML|OT4|TU|package> [2019/11/22 v2.0l +%<OT1|T1|OMS|OML|OT4|TU|package> [2020/01/25 v2.0m %<OT1|T1|OMS|OML|OT4|TS1|TU> Standard LaTeX file] %<package> Standard LaTeX package] % %<*driver> % \fi \ProvidesFile{ltoutenc.dtx} - [2019/12/18 v2.0m LaTeX Kernel (font encodings)] + [2020/01/20 v2.0n LaTeX Kernel (font encodings)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltoutenc.dtx} @@ -1044,7 +1044,7 @@ % \begin{macrocode} \@onlypreamble\DeclareTextComposite % \end{macrocode} -% +% % \end{macro} % \end{macro} % \end{macro} @@ -1062,7 +1062,7 @@ %<latexrelease>\IncludeInRelease{2019/10/01}% %<latexrelease> {\UseTextAccent}{Make commands robust}% % \end{macrocode} -% +% % \begin{macro}{\UseTextAccent} % \begin{macro}{\UseTextSymbol} % \changes{v1.7p}{1995/11/17}{Support \cs{@wrong@font@char} latex/1676} @@ -1512,8 +1512,16 @@ % Some commands can be used in both text and math mode: % \begin{macrocode} \DeclareRobustCommand{\$}{\ifmmode\mathdollar\else\textdollar\fi} -\DeclareRobustCommand{\{}{\ifmmode\lbrace\else\textbraceleft\fi} -\DeclareRobustCommand{\}}{\ifmmode\rbrace\else\textbraceright\fi} +% \end{macrocode} +% We use \cs{protected} not \cs{DeclareRobustCommand} so that +% \verb=\bigl\{= etc.\ works inside \cs{protected@edef}. +% \changes{v2.0n}{2020/01/20}{fix for gh/251} +% \begin{macrocode} +\protected\def\{{\ifmmode\lbrace\else\textbraceleft\fi} +\protected\def\}{\ifmmode\rbrace\else\textbraceright\fi} +% \end{macrocode} +% +% \begin{macrocode} \DeclareRobustCommand{\P}{\ifmmode\mathparagraph\else\textparagraph\fi} \DeclareRobustCommand{\S}{\ifmmode\mathsection\else\textsection\fi} \DeclareRobustCommand{\dag}{\ifmmode{\dagger}\else\textdagger\fi} @@ -2008,7 +2016,7 @@ \DeclareTextSymbol{\guillemotleft}{T1}{19} \DeclareTextSymbol{\guillemotright}{T1}{20} % \end{macrocode} -% +% % \begin{macrocode} \DeclareTextSymbol{\guilsinglleft}{T1}{14} \DeclareTextSymbol{\guilsinglright}{T1}{15} @@ -2397,7 +2405,7 @@ \DeclareTextSymbol{\guillemotleft}{OT4}{174} \DeclareTextSymbol{\guillemotright}{OT4}{175} % \end{macrocode} -% +% % \begin{macrocode} \DeclareTextSymbol{\i}{OT4}{16} \DeclareTextSymbol{\j}{OT4}{17} @@ -2998,7 +3006,7 @@ % old Adobe name \DeclareTextSymbol{\guillemotleft} \UnicodeEncodingName{"00AB} % \end{macrocode} -% +% % \begin{macrocode} \DeclareTextSymbol{\textlnot} \UnicodeEncodingName{"00AC} \DeclareTextSymbol{\textregistered} \UnicodeEncodingName{"00AE} @@ -3020,7 +3028,7 @@ % old Adobe name \DeclareTextSymbol{\guillemotright} \UnicodeEncodingName{"00BB} % \end{macrocode} -% +% % \begin{macrocode} \DeclareTextSymbol{\textonequarter} \UnicodeEncodingName{"00BC} \DeclareTextSymbol{\textonehalf} \UnicodeEncodingName{"00BD} @@ -3109,7 +3117,7 @@ \DeclareTextSymbol{\Hwithstroke} \UnicodeEncodingName{"0126} \DeclareTextSymbol{\hwithstroke} \UnicodeEncodingName{"0127} % \end{macrocode} -% +% % Not all fonts have U+2217 but using U+002A requires some adjustment. % \begin{macrocode} \DeclareTextCommand{\textasteriskcentered}\UnicodeEncodingName{% @@ -3487,27 +3495,48 @@ % \begin{macrocode} \DeclareOption*{% \let\encodingdefault\CurrentOption - \edef\reserved@f{% - \lowercase{\def\noexpand\reserved@f{\CurrentOption enc.def}}}% - \reserved@f - \InputIfFileExists\reserved@f - {}{\PackageError{fontenc}% - {Encoding file `\reserved@f' not found.% - \MessageBreak - You might have misspelt the name of the encoding}% - {Necessary code for this encoding was not - loaded.\MessageBreak - Thus calling the encoding later on will - produce further error messages.}}% - \let\reserved@f\relax +% \end{macrocode} +% From 2020/02/02 release onward we only load the encoding files if +% they haven't be loaded already. To check this we look if +% \verb=\T@=\textit{encoding} is already defined. If not we load +% (indicated by setting the switch +% \texttt{@tempswa} to true and we always load if we run in an older +% format (or rather in a rollback situation). +% \changes{v2.0m}{2020/01/25}{Load each encoding file only once (gh/255)} +% \begin{macrocode} + \@tempswafalse + \@ifl@t@r\fmtversion{2020/02/02}% + {\expandafter\ifx\csname T@\CurrentOption\endcsname\relax + \@tempswatrue\fi}% + {\@tempswatrue}% +% \end{macrocode} +% Load if necessary: +% \begin{macrocode} + \if@tempswa +% \end{macrocode} +% +% \begin{macrocode} + \edef\reserved@f{% + \lowercase{\def\noexpand\reserved@f{\CurrentOption enc.def}}}% + \reserved@f + \InputIfFileExists\reserved@f + {}{\PackageError{fontenc}% + {Encoding file `\reserved@f' not found.% + \MessageBreak + You might have misspelt the name of the encoding}% + {Necessary code for this encoding was not + loaded.\MessageBreak + Thus calling the encoding later on will + produce further error messages.}}% + \let\reserved@f\relax % \end{macrocode} % % In case the current encoding is one of a list of known % cyrillic ones we extend the |\@uclclist|: % \begin{macrocode} - \expandafter\in@\expandafter{\CurrentOption}% - {T2A,T2B,T2C,X2,LCY,OT2}% - \ifin@ + \expandafter\in@\expandafter{\CurrentOption}% + {T2A,T2B,T2C,X2,LCY,OT2}% + \ifin@ % \end{macrocode} % % But only if it hasn't already been extended. This might happen if @@ -3516,12 +3545,13 @@ % unnecessarily big, slowing down the processing at runtime. % \changes{v1.9v}{1999/06/12}{Extend \cs{@uclclist} only once} % \begin{macrocode} - \expandafter\in@\expandafter\cyra\expandafter - {\@uclclist}% - \ifin@ - \else - \update@uclc@with@cyrillic - \fi + \expandafter\in@\expandafter\cyra\expandafter + {\@uclclist}% + \ifin@ + \else + \update@uclc@with@cyrillic + \fi + \fi \fi } % \end{macrocode} |