summaryrefslogtreecommitdiff
path: root/macros/latex-dev/base/ltfssini.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex-dev/base/ltfssini.dtx')
-rw-r--r--macros/latex-dev/base/ltfssini.dtx126
1 files changed, 101 insertions, 25 deletions
diff --git a/macros/latex-dev/base/ltfssini.dtx b/macros/latex-dev/base/ltfssini.dtx
index 320c5a181e..71aae0dcfa 100644
--- a/macros/latex-dev/base/ltfssini.dtx
+++ b/macros/latex-dev/base/ltfssini.dtx
@@ -36,7 +36,7 @@
%
%
\ProvidesFile{ltfssini.dtx}
- [2020/02/05 v3.1g LaTeX Kernel (NFSS Initialisation)]
+ [2020/02/11 v3.1h LaTeX Kernel (NFSS Initialisation)]
% \iffalse
\documentclass{ltxdoc}
\begin{document}
@@ -291,7 +291,7 @@
\csname #2default\endcsname{#3}%
\else
% \end{macrocode}
-%
+%
% \changes{v3.1g}{2020/02/05}{Clarrified error text}
% \begin{macrocode}
\@latex@error{Wrong syntax for \string\DeclareFontSeriesDefault}%
@@ -570,7 +570,7 @@
% \begin{macrocode}
\prepare@family@series@update{rm}\rmdefault
% \end{macrocode}
-% The comes the hook code (by default a no-op) and finally the call
+% Then comes the hook code (by default a no-op) and finally the call
% to \cs{selectfont}.
% \begin{macrocode}
\@rmfamilyhook
@@ -703,9 +703,9 @@
% because we now need to use \cs{csname} and this way the code will
% be a little faster.
% \begin{macrocode}
- \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
% \end{macrocode}
% This here is now identical to the nested \cs{ifx} block from the
@@ -714,11 +714,11 @@
% loop when a match was found.
% \begin{macrocode}
\expandafter\ifx\csname mdseries@#1\endcsname\f@series
- \let\target@series@value\@reservedb
+ \let\target@series@value\reserved@b
\else\expandafter\ifx\csname bfseries@#1\endcsname\f@series
- \let\target@series@value\@reservedc
- \else\ifx\f@series\mddef@ult \let\target@series@value\@reservedb
- \else\ifx\f@series\bfdef@ult \let\target@series@value\@reservedc
+ \let\target@series@value\reserved@c
+ \else\ifx\f@series\mddef@ult \let\target@series@value\reserved@b
+ \else\ifx\f@series\bfdef@ult \let\target@series@value\reserved@c
\fi\fi\fi\fi
\fi
\fi
@@ -1138,27 +1138,51 @@
\def\math@version{normal}
% \end{macrocode}
%
-% \subsection{Miscellaneous}
+% \subsection{Legacy}
%
-% \begin{macro}{\newfont}
-% \changes{v1.2g}{1991/03/30}{Definition added.}
-% \changes{v2.2e}{1995/05/23}{Font assignment made local again.}
-% \begin{macro}{\symbol}
-% \changes{v1.2g}{1991/03/30}{Definition added.}
% We start by defining a few macros that are part of
% standard \LaTeX's user interface. The use of these functions is
% not encouraged, but they will allow to process older documents
% without changes to the source.
+%
+% \begin{macro}{\newfont}
+% \changes{v1.2g}{1991/03/30}{Definition added.}
+% \changes{v2.2e}{1995/05/23}{Font assignment made local again.}
% \begin{macrocode}
\def\newfont#1#2{\@ifdefinable#1{\font#1=#2\relax}}
% \end{macrocode}
+% \end{macro}
%
+% \begin{macro}{\symbol}
+% \changes{v1.2g}{1991/03/30}{Definition added.}
+% \changes{v3.1h}{2020/02/07}{XeTeX-specific version to avoid bug in maths mode.}
% \begin{macrocode}
-\DeclareRobustCommand\symbol[1]{\char #1\relax}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\symbol}{XeTeX change for math}%
+\ifdefined\XeTeXversion
+ \DeclareRobustCommand\symbol[1]{\Ucharcat#1 12\relax}
+\else
+ \DeclareRobustCommand\symbol[1]{\char#1\relax}
+\fi
+%</2ekernel|latexrelease>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\symbol}{XeTeX change for math}%
+%<latexrelease>
+%<latexrelease>\DeclareRobustCommand\symbol[1]{\char#1\relax}
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
-% \end{macro}
% \end{macro}
%
+% \subsection{Miscellaneous}
+%
% \begin{macro}{\@setfontsize}
% \begin{macro}{\@setsize}
% This abbreviation is used by \LaTeX's user level size changing
@@ -1249,7 +1273,6 @@
% \begin{macro}{\normalfont}
% \changes{v2.1a}{1993/11/11}{Macro added}
% \begin{macro}{\reset@font}
-% \begin{macro}{\p@reset@font}
% \changes{v1.1n}{1991/08/26}{Macro introduced}
% The macro |\reset@font| is used in \LaTeX{} to switch to a standard
% font, in order to initialize the current font in situations where
@@ -1264,18 +1287,63 @@
% \changes{v2.1k}{1994/05/14}{Remove surplus braces}
% \changes{v3.0f}{1995/10/16}{Added \cs{relax} after \cs{usefont},
% as the latter eats up spaces.}
+% \changes{v3.1h}{2020/02/10}{Add \cs{@defaultfamilyhook} to \cs{normalfont} (gh/269)}
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease> {\normalfont}{Add hook to \normalfont}%
+\DeclareRobustCommand\normalfont{%
+% \end{macrocode}
+% Instead of calling \cs{usefont}, as it was done in the past, we
+% inline the code from \cs{usefont} as we want to add the hook
+% before \cs{selectfont}, but after all the font attributes are set.
+% \begin{macrocode}
+ \fontencoding\encodingdefault
+ \edef\f@family{\familydefault}%
+ \edef\f@series{\seriesdefault}%
+ \edef\f@shape{\shapedefault}%
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \@defaultfamilyhook
+ \selectfont}
+% \end{macrocode}
+%
% \begin{macrocode}
-\DeclareRobustCommand\normalfont
- {\usefont\encodingdefault
- \familydefault
- \seriesdefault
- \shapedefault
- \relax}
\let\reset@font\normalfont
% \end{macrocode}
% \end{macro}
% \end{macro}
-% \end{macro}
+%
+%
+% \begin{macro}{\@defaultfamilyhook}
+% By default the hooks do nothing.
+% \changes{v3.1h}{2020/02/10}{Add \cs{@defaultfamilyhook} to \cs{normalfont} (gh/269)}
+% \begin{macrocode}
+\let\@defaultfamilyhook\@empty
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\normalfont}{Add hook to \normalfont}%
+%<latexrelease>
+%<latexrelease>\DeclareRobustCommand\normalfont
+%<latexrelease> {\usefont\encodingdefault
+%<latexrelease> \familydefault
+%<latexrelease> \seriesdefault
+%<latexrelease> \shapedefault
+%<latexrelease> \relax}
+%<latexrelease>\let\reset@font\normalfont
+%<latexrelease>
+%<latexrelease>\let\@defaultfamilyhook\@undefined
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
%
%
%
@@ -1332,6 +1400,14 @@
% \end{macrocode}
%
%
+% The initial \texttt{fontenc} package load list. This will get
+% overwritten in \texttt{fonttext} and is only provided in case an
+% old \texttt{fonttext.cfg} does not define the command:
+% \changes{v3.1h}{2020/02/11}{Provide default value for
+% \cs{@fontenc@load@list} (gh/273)}
+% \begin{macrocode}
+\def\@fontenc@load@list{\@elt{T1,OT1}}
+% \end{macrocode}
%
%
% We now load the customizable parts of NFSS.