[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