[latex3-commits] [git/LaTeX3-latex3-latex2e] textcomp: More documentation (34c979df)

Frank Mittelbach frank.mittelbach at latex-project.org
Tue Dec 24 16:19:12 CET 2019


Repository : https://github.com/latex3/latex2e
On branch  : textcomp
Link       : https://github.com/latex3/latex2e/commit/34c979df58735276ae86f9fa7a4d50937c01d692

>---------------------------------------------------------------

commit 34c979df58735276ae86f9fa7a4d50937c01d692
Author: Frank Mittelbach <frank.mittelbach at latex-project.org>
Date:   Tue Dec 24 16:19:12 2019 +0100

    More documentation


>---------------------------------------------------------------

34c979df58735276ae86f9fa7a4d50937c01d692
 base/changes.txt      |   5 ++
 base/doc/ltnews31.tex | 157 ++++++++++++++++++++++++++++++++------------------
 base/lttextcomp.dtx   |   2 +-
 3 files changed, 108 insertions(+), 56 deletions(-)

diff --git a/base/changes.txt b/base/changes.txt
index b4ebfd08..3e4e0c89 100644
--- a/base/changes.txt
+++ b/base/changes.txt
@@ -4,6 +4,11 @@ completeness or accuracy and it contains some references to files that
 are not part of the distribution.
 =======================================================================
 
+2019-12-24  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* lttextcomp.dtx: Implement text companion symbols in the kernel
+	(formerly textcomp package).
+
 2019-12-21  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
 
 	* fontdef.dtx:
diff --git a/base/doc/ltnews31.tex b/base/doc/ltnews31.tex
index ad65dd5c..45b20e23 100644
--- a/base/doc/ltnews31.tex
+++ b/base/doc/ltnews31.tex
@@ -136,62 +136,13 @@
 This document is under construction \ldots
 
 
-\section{Primitive requirements}
-
-Since the finalisation of \eTeX{} in 1999, a number of additional `utility'
-primitives have been added to \pdfTeX{}. Several of these are broadly useful
-and have been requirements for \pkg{expl3} for some time, most notably
-\cs{pdfstrcmp}. Over time, a common set of these `post-\eTeX{}' primitives have
-been incorporated into \XeTeX{} and (u)p-\TeX{}; they were available in
-\LuaTeX{} already.
-
-A number of the additional primitives are needed to support new or improved
-functionality in \LaTeX{}. This is seen for example in improved UTF-8 handling,
-which uses \cs{ifincsname}. The following primitive functionality (which in
-\LuaTeX{} may be achieved using Lua code) will therefore be \emph{required} by
-the \LaTeX{} kernel after [INSERT DATE HERE]:
-\begin{itemize}
-  \item \cs{expanded}
-  \item \cs{ifincsname}
-  \item \cs{ifpdfprimitive}
-  \item \cs{pdfcreationdate}
-  \item \cs{pdfelapsedtime}
-  \item \cs{pdffiledump}
-  \item \cs{pdffilemoddate}
-  \item \cs{pdffilesize}
-  \item \cs{pdflastxpos}
-  \item \cs{pdflastypos}
-  \item \cs{pdfmdfivesum}
-  \item \cs{pdfnormaldeviate}
-  \item \cs{pdfpageheight}
-  \item \cs{pdfpagewidth}
-  \item \cs{pdfprimitive}
-  \item \cs{pdfrandomseed}
-  \item \cs{pdfresettimer}
-  \item \cs{pdfsavepos}
-  \item \cs{pdfsetrandomseed}
-  \item \cs{pdfshellescape}
-  \item \cs{pdfstrcmp}
-  \item \cs{pdfuniformdeviate}
-\end{itemize}
-For ease of reference, these primitives will be referred to as the
-`\pdfTeX{} utilities'.
-
-Engines which are fully Unicode-capable must all provide the following
-primitives
-\begin{itemize}
-  \item \cs{Uchar}
-  \item \cs{Ucharcat}
-  \item \cs{Umathcode}
-\end{itemize}
-In particular, note that \cs{Umathcode} is used as a marker primitive for
-this capability.
-
 \section{Experiences with the \LaTeX\texttt{-dev} formats}
 
 \emph{write}
 
 
+\section{Concerning this pre-release \ldots}
+
 In TeXLive 2020 the Lua\LaTeX{} format will use the new LuaHB\TeX{}
 engine, which is Lua\TeX{} with an embedded HarfBuzz library.
 HarfBuzz can be used by setting a suitable renderer in the font
@@ -199,8 +150,10 @@ declaration. An interface for that is provided by \pkg{fontspec}.
 This additional font renderer will greatly improve the shaping of
 various scripts, which are currently handled correctly only by
 \XeTeX{}.  To simplify the testing of the new engine, binaries have
-been added to MiKTeX and TeXLive 2019 and both have changed the
-Lua\LaTeX-dev format to use it.
+been already added to MiKTeX and TeXLive 2019 and both have changed
+the Lua\LaTeX-dev format to use it.
+
+
 
 \section{Improved load-times for \pkg{expl3}}
 
@@ -232,7 +185,8 @@ entirely, but to support older formats, this is still recommended at present.
 
 
 
-\section{Improvements to \LaTeX{}'s font selection mechanisms (NFSS)}
+\section[Improvements to \LaTeX{}'s font selection\\ mechanism (NFSS)]
+        {Improvements to \LaTeX{}'s font selection\\ mechanism (NFSS)}
 
 
 \subsection{Extending the shape management of NFSS}
@@ -332,7 +286,6 @@ defined through \cs{DeclareFontSeriesChangeRule} and the details for
 developers are documented in \texttt{source2e.pdf}.
 
 
-%\[ * \quad * \quad * \]
 
 \subsection{Font series defaults per document family}
 
@@ -428,6 +381,47 @@ The code is based on ideas from the \texttt{substitutefont}
 package by Günter Milde, but implemented differently.
 
 
+\subsection{Providing all text companion symbols by default}
+
+The text companion encoding \texttt{TS1} was originally not available
+by default, but only when the \pkg{textcomp} package was loaded. The
+main reason for this was limited availability in fonts other than
+Computer Modern and memory restrictions back in the nineties. These
+days neither limitation exists anymore so with the 2020 release all
+the symbols provided with the \pkg{textcomp} package are available out
+of the box.
+
+Furthermore, an intelligent substitution mechanism has been
+implemented so that missing glyphs are automatically substituted with
+defaults that are sans serif if you typeset in \cs{textsf} and
+monospaced if you typeset using \cs{texttt} and not always serifed.
+
+
+\textsf{This is most noticably with \cs{oldstylenums} which are now
+  taken from \texttt{TS1} so that you no longer get
+  \textrm{\oldstylenums{123}} but \oldstylenums{123} when typesetting
+  in sans serif fonts}\texttt{ and \oldstylenums{123} when using
+  typewriter fonts.}
+
+If there ever is a need to use the original (inferior) definition,
+then that remains available as \cs{legacyoldstylenums} and to fully
+revert to the old behavior there is also
+\cs{UseLegacyTextSymbols}. That declaration reverts \cs{oldstylenums}
+and also changes the footnote symbols, such as \cs{textdagger},
+\cs{textparagraph}, etc.\ pick up their glyphs again from the math
+fonts instead of the current text font (this means they always keep
+the same shape and do not nicely blend in with the text font).
+
+With the text companion symbols as part of the kernel it is normally
+no longer necessary to load the \pkg{textcomp} package, but for
+backwards compatibility this package will remain available.  There is,
+however, one use case where it remains useful: if you load the package
+with the option \texttt{error} or \texttt{warn} then substitutions
+will change their behavior and result in a \LaTeX{} error or a
+\LaTeX{} warning (on the terminal), respecively. Without the package
+the substitution information only appears in the \texttt{.log}
+file. If you use the option \texttt{quit}, then even the information in
+the transcript is suppressed (which is not really recommended).
 
 \section{Other changes to the \LaTeX{} kernel}
 
@@ -463,6 +457,59 @@ package by Günter Milde, but implemented differently.
 
 
 
+\section{Primitive requirements}
+
+Since the finalisation of \eTeX{} in 1999, a number of additional `utility'
+primitives have been added to \pdfTeX{}. Several of these are broadly useful
+and have been requirements for \pkg{expl3} for some time, most notably
+\cs{pdfstrcmp}. Over time, a common set of these `post-\eTeX{}' primitives have
+been incorporated into \XeTeX{} and (u)p-\TeX{}; they were available in
+\LuaTeX{} already.
+
+A number of the additional primitives are needed to support new or improved
+functionality in \LaTeX{}. This is seen for example in improved UTF-8 handling,
+which uses \cs{ifincsname}. The following primitive functionality (which in
+\LuaTeX{} may be achieved using Lua code) will therefore be \emph{required} by
+the \LaTeX{} kernel after [INSERT DATE HERE]:
+\begin{itemize}
+  \item \cs{expanded}
+  \item \cs{ifincsname}
+  \item \cs{ifpdfprimitive}
+  \item \cs{pdfcreationdate}
+  \item \cs{pdfelapsedtime}
+  \item \cs{pdffiledump}
+  \item \cs{pdffilemoddate}
+  \item \cs{pdffilesize}
+  \item \cs{pdflastxpos}
+  \item \cs{pdflastypos}
+  \item \cs{pdfmdfivesum}
+  \item \cs{pdfnormaldeviate}
+  \item \cs{pdfpageheight}
+  \item \cs{pdfpagewidth}
+  \item \cs{pdfprimitive}
+  \item \cs{pdfrandomseed}
+  \item \cs{pdfresettimer}
+  \item \cs{pdfsavepos}
+  \item \cs{pdfsetrandomseed}
+  \item \cs{pdfshellescape}
+  \item \cs{pdfstrcmp}
+  \item \cs{pdfuniformdeviate}
+\end{itemize}
+For ease of reference, these primitives will be referred to as the
+`\pdfTeX{} utilities'.
+
+Engines which are fully Unicode-capable must all provide the following
+primitives
+\begin{itemize}
+  \item \cs{Uchar}
+  \item \cs{Ucharcat}
+  \item \cs{Umathcode}
+\end{itemize}
+In particular, note that \cs{Umathcode} is used as a marker primitive for
+this capability.
+
+
+
 
 \begin{thebibliography}{9}
 
diff --git a/base/lttextcomp.dtx b/base/lttextcomp.dtx
index 415b737a..149c6069 100644
--- a/base/lttextcomp.dtx
+++ b/base/lttextcomp.dtx
@@ -33,7 +33,7 @@
 %
 %
 \ProvidesFile{lttextcomp.dtx}
-             [2019/12/16 v1.0a LaTeX Kernel (NFSS Axes handing)]
+             [2019/12/24 v1.0a LaTeX Kernel (NFSS Axes handing)]
 % \iffalse
 \documentclass{ltxdoc}
 \begin{document}





More information about the latex3-commits mailing list