texlive[49341] Master/texmf-dist/doc/xetex/xetexref: xetexref (7dec18

commits+karl at tug.org commits+karl at tug.org
Fri Dec 7 23:49:44 CET 2018


Revision: 49341
          http://tug.org/svn/texlive?view=revision&revision=49341
Author:   karl
Date:     2018-12-07 23:49:44 +0100 (Fri, 07 Dec 2018)
Log Message:
-----------
xetexref (7dec18

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/xetex/xetexref/xetex-reference.pdf
    trunk/Master/texmf-dist/doc/xetex/xetexref/xetex-reference.tex

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/xetex/xetexref/README.txt

Removed Paths:
-------------
    trunk/Master/texmf-dist/doc/xetex/xetexref/README

Deleted: trunk/Master/texmf-dist/doc/xetex/xetexref/README
===================================================================
--- trunk/Master/texmf-dist/doc/xetex/xetexref/README	2018-12-07 11:42:45 UTC (rev 49340)
+++ trunk/Master/texmf-dist/doc/xetex/xetexref/README	2018-12-07 22:49:44 UTC (rev 49341)
@@ -1,14 +0,0 @@
-================
-=== XETEXREF ===
-================
-
-This is unofficial reference documentation for XeTeX detailing its 
-extended features.
-
-Developed at https://github.com/wspr/xetexref,
-released at http://mirror.ctan.org/info/xetexref.
-
-Will Robertson
---------------
-Distributable under the LPPL,
-v1.3a or greater (your choice).

Added: trunk/Master/texmf-dist/doc/xetex/xetexref/README.txt
===================================================================
--- trunk/Master/texmf-dist/doc/xetex/xetexref/README.txt	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/xetex/xetexref/README.txt	2018-12-07 22:49:44 UTC (rev 49341)
@@ -0,0 +1,34 @@
+# The XETEXREF documentation
+
+This package consists of a semi-official reference document for XeTeX.
+It is not a user manual; it simply attempts to list XeTeX’s extended features and interfaces.
+
+Developed at: <https://github.com/wspr/xetexref>
+Released at:  <http://ctan.org/pkg/xetexref>
+
+## Compilation
+
+A standard TeX distribution that includes XeTeX is needed to compile the `xetex-reference.tex` document. The following (freely available) fonts are required to be installed in your texmf tree:
+
+* Linux Libertine O
+* Antykwa Torunska
+* Charis SIL
+
+## Legalities
+
+Copyright 2007-2018 Will Robertson
+Copyright 2018      Joseph Wright
+Copyright 2011-2017 Karl Berry
+Copyright 2013      Khaled Hosny.
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3c
+of this license or (at your option) any later version.
+The latest version of this license is in
+  http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is Will Robertson.


Property changes on: trunk/Master/texmf-dist/doc/xetex/xetexref/README.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/xetex/xetexref/xetex-reference.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/xetex/xetexref/xetex-reference.tex
===================================================================
--- trunk/Master/texmf-dist/doc/xetex/xetexref/xetex-reference.tex	2018-12-07 11:42:45 UTC (rev 49340)
+++ trunk/Master/texmf-dist/doc/xetex/xetexref/xetex-reference.tex	2018-12-07 22:49:44 UTC (rev 49341)
@@ -1,4 +1,4 @@
-% Copyright 2007-2011 Will Robertson
+% Copyright 2007-2017 Will Robertson
 % Copyright 2011 Karl Berry
 % Copyright 2013 Khaled Hosny
 %
@@ -12,7 +12,7 @@
 %
 % This work has the LPPL maintenance status `maintained'.
 %
-% The Current Maintainer of this work is Khaled Hosny.
+% The Current Maintainer of this work is Will Robertson.
 %
 % This work consists of the files xetex-reference.tex,
 % README.txt, and the derived file xetex-reference.pdf.
@@ -19,6 +19,10 @@
 
 \documentclass[12pt]{article}
 
+\title{The \xetex reference guide\\\url{https://ctan.org/pkg/xetexref}}
+\author{Will Robertson \and Khaled Hosny \and Karl Berry}
+\date{2018-12-07}
+
 \suppressfontnotfounderror=1
 
 \makeatletter
@@ -41,7 +45,10 @@
     BoldItalicFont = *-bolditalic ,
     Scale=MatchLowercase
   ]
-\setmonofont{inconsolata}[Scale=MatchLowercase, AutoFakeSlant=.2]
+\setmonofont{inconsolata}[
+  Scale=MatchLowercase,
+  StylisticSet=3, % <- straight quotes
+  AutoFakeSlant=.2]
 \setmathfont{texgyrepagella-math.otf}
 
 \usepackage{calc,fancyvrb,hyperref,refstyle,varioref,xcolor,hologo,xspace}
@@ -60,7 +67,7 @@
   linkcolor=black,
   urlcolor=black,
   pdfsubject={The XeTeX reference guide},
-  pdfauthor={Will Robertson \& Khaled Hosny},
+  pdfauthor={Will Robertson \& Khaled Hosny \& Karl Berry},
   pdfkeywords={xetex, tex, typesetting, unicode, math, opentype, graphite, aat}
 }
 
@@ -83,11 +90,12 @@
 \edef\|{|}
 \DefineShortVerb{\|}
 \newcommand\xarg[1]{$\langle\hbox{\rmfamily\itshape #1}\rangle$}
+\let\meta\xarg
 \def\<#1>{\xarg{#1}}
 \newcommand\oarg[1]{\texttt{[\,#1\,]}}
 \newcommand\desc[1]{\par\noindent\ignorespaces#1\par}
 \def\endcmd{%
-  \end{minipage}  
+  \end{minipage}
   \end{trivlist}}
 
 \def\cs#1{\texttt{\textbackslash#1}}
@@ -102,7 +110,7 @@
    \begin{VerbatimOut}{\examplefilename}}
   {\end{VerbatimOut}
    \typesetexample}
-   
+
 \newcommand\typesetexample{%
   \begin{trivlist}\item[]
   \vrule
@@ -119,7 +127,7 @@
 \let\strong\textbf
 \newcommand\hlink[2]{\href{#1}{#2}\footnote{\url{#1}}}
 
-\let\latin\textit
+\let\latin\relax % let existing font continue
 \def\eg{\latin{e.g.}}
 \def\ie{\latin{i.e.}}
 \def\Eg{\latin{E.g.}}
@@ -133,21 +141,19 @@
 \raggedbottom
 
 \begin{document}
-\title{The \xetex reference guide}
-\author{Will Robertson \and Khaled Hosny}
 \maketitle
 
-\vfill 
+\vfill
 
 \section*{Introduction}
 
 This document serves to summarise additional features of \xetex without
-being so much as a ‘users’ guide. Note that much of the functionality
+being so much as a ‘users’ guide. Much of the functionality
 addressed here is provided in abstracted form in various \latex
 packages and \context modules.
 
 The descriptions here should be a fairly exhaustive list of the new
-primitives and features of \xetex. Descriptions are still a little
+primitives and features of \xetex. Descriptions are still rather
 aenemic, however.
 
 \section*{License}
@@ -167,35 +173,61 @@
 \newpage
 \tableofcontents
 
-\part{\xetex specifics}
-
 \section{The \cs{font} command}
 
 Traditionally, fonts were selected in \tex like this:
-|\font\1=|\xarg{tfm name} with various options possibly appended
-% harder to read without the extra space
-such as \ ‘| at 10pt|’ \ or \ ‘| scaled 1.2|’, with obvious meaning. This syntax
-still works, but it has been greatly extended in \xetex.
+|\font\1=|\xarg{tfm name} \xarg{\tex font options}, where the \xarg{\tex
+font options} included possibilities such as
+\ ‘| at 10pt|’ \
+or \ ‘| scaled 1200|’,
+with evident meaning. This syntax still works, but it has been greatly
+extended in \xetex.
 
 The extended syntax looks schematically like this:
 
-{\centering
- |\font\1="|\xarg{font identifier}\xarg{font options}|:|\xarg{font features}|"|
- \xarg{\tex font options}\par}
+\begin{quote}
+ |\font\1="|\xarg{font identifier}
+              \xarg{font options}%
+              |:|\xarg{font features}%
+         |"|\ \xarg{\tex font options}
+\end{quote}
 
-\noindent The \xarg{font identifier} is the only mandatory part of the
-above syntax.  If it is given in square brackets, (e.g.,
-|[lmroman10-regular]|), it is taken as a font file name.
-Without brackets, the name is looked up both as a file name and a system
+\noindent Each part of this command is discussed in the following, but
+here is an overview, starting from the end:
+
+\begin{itemize}
+\item The \xarg{\tex font options} are unchanged from traditional \tex.
+
+\item The ASCII double quote character |"| (hex 0x22) surrounds any font
+definition using the extended syntax.
+
+\item The \xarg{font features} are an optional list of names,
+comma or semi-colon separated, preceded by an ASCII colon |:| (0x3a).
+
+\item The \xarg{font options} are an optional list of specifiers which
+can only be used with system fonts (see next).
+
+\item The \xarg{font identifier} is the only mandatory part of the
+above syntax.  If it is given in square brackets, (\eg,
+|\font\1="[lmroman10-regular]"|), it is taken as a font file name.
+Without brackets, the name is looked up as both a file name and a system
 font name.
-When using a font name, the font is looked up through the operating
-system, using (except on Mac~OS~X) the |fontconfig| library.  Running
-|fc-list| should show you the font names available.  \Eg,
+
+\end{itemize}
+
+This distinction between file name lookups and system font name lookups
+is crucial to understanding \xetex's behavior and to writing portable
+documents (in short: don't use system fonts).
+
+System font name lookups use (except on Mac~OS~X) the
+|fontconfig| library; running |fc-list| should show you the font names
+available.  \Eg,
 \begin{quote}\small
 |\font\1="Liberation Serif"| \hfill \emph{look for OS-installed font}
 \end{quote}
 
-Fonts have many internal names, and XeTeX matches them in the following order:
+Fonts have many internal names, and XeTeX does the system font lookups
+in the following order:
 \vskip1ex
 \begin{itemize}
   \item Full Name;
@@ -214,23 +246,28 @@
 files matching the name, or the path may be embedded in the font
 declaration, as usual with |kpathsea|. \Eg,
 \begin{quote}\small
-|\font\2="[lmroman10-regular]"| \hfill
+|\font\1="[lmroman10-regular]"| \hfill
   {\em find |lmroman10-regular.otf| in any tree}
-|\font\3="[/myfonts/fp9r8a]"| \hfill
+|\font\2="[/myfonts/fp9r8a]"| \hfill
   {\em look for |fp9r8a| only in |/myfonts/|}
 \end{quote}
 
 A file with either an |.otf|, |.ttf| or |.pfb| extension (in that order) will be found.  The
 extension can also be specified explicitly.
-If the file is a font collection (e.g., |.ttc| or |.dfont|), the index of the
-font can be specified using a colon followed by zero-based font index inside
-the square brackets. \Eg,
+
+\subsection{Font collection files}
+
+One more special case about the \xarg{font identifier}: if the file is a
+font collection (\eg, |.ttc| or |.dfont|), the index of the font can be
+specified using a colon followed by zero-based font index inside the
+square brackets (in contrast to the font features we'll describe soon,
+which follow a colon outside any square brackets). \Eg,
 \begin{quote}\small
-|\font\4="[myfont.ttc:1]"| \hfill {\em load the second font from |myfont.ttc| file}
+|\font\2="[myfont.ttc:1]"| \hfill {\em load the second font from |myfont.ttc| file}
 \end{quote}
 
 
-\subsection{Font options}
+\subsection{Font options: For OS-selected fonts only}
 
 The following \xarg{font options} are only applicable when the font is selected
 through the operating system (\ie, without square brackets):
@@ -253,7 +290,7 @@
 \end{optdesc}
 
 
-\subsection{Font features}
+\subsection{Font features: For all fonts}
 
 The \xarg{font features} is a comma or semi-colon separated list
 activating or deactivating various OpenType, Graphite, or AAT font
@@ -261,12 +298,13 @@
 features work whether the font is selected by file name or through the
 operating system.
 
-The \xetex documentation files \path{aat-info.tex} and
-\path{opentype-info.tex} provide per-font lists of supported features.
+The \xetex utility files \path{aat-info.tex} and
+\path{opentype-info.tex} provide lists of supported features for a given
+font (see comments at the top of each).
 
-\subsubsection{Arbitrary OpenType, Graphite, or AAT features}
+\subsubsection{Font features specific to OpenType, Graphite, or AAT}
 
-OpenType font features are chosen with
+OpenType font features are usually chosen with
 \hlink{http://www.microsoft.com/typography/otspec/featuretags.htm}{standard
 tags}. They may be either comma- or semicolon-separated, and prefixed
 with a |+| to turn them on and a |-| to turn them off, optionally followed
@@ -274,21 +312,21 @@
 alternates features (ignored for |-| prefixed tags).
 
 \begin{example}
-\font\liber="Linux Libertine O/I=5:+smcp" at 12pt
+\font\liber="[LinLibertine_RI.otf]/I=5:+smcp" at 12pt
 \liber This is the OpenType font Linux Libertine in italic with small caps.
 \end{example}
 
 Varying depending on the language and script in use (see
 \secref[vref]{script}), a small number of OpenType features, if they
-exist, will be activated by default.
+exist, may be activated by default.
 
 \begin{example}
-\font\antt="Antykwa Torunska"         at 12pt \antt 0
-\font\antt="Antykwa Torunska:+aalt=0" at 12pt \antt 0
-\font\antt="Antykwa Torunska:+aalt=1" at 12pt \antt 0
-\font\antt="Antykwa Torunska:+aalt=2" at 12pt \antt 0
-\font\antt="Antykwa Torunska:+aalt=3" at 12pt \antt 0
-\font\antt="Antykwa Torunska:+aalt=4" at 12pt \antt 0
+\font\antt="[AntykwaTorunska-Regular.otf]"         at 12pt \antt 0
+\font\antt="[AntykwaTorunska-Regular.otf]:+aalt=0" at 12pt \antt 0
+\font\antt="[AntykwaTorunska-Regular.otf]:+aalt=1" at 12pt \antt 0
+\font\antt="[AntykwaTorunska-Regular.otf]:+aalt=2" at 12pt \antt 0
+\font\antt="[AntykwaTorunska-Regular.otf]:+aalt=3" at 12pt \antt 0
+\font\antt="[AntykwaTorunska-Regular.otf]:+aalt=4" at 12pt \antt 0
 \end{example}
 
 AAT font features and Graphite font features are specified by strings
@@ -296,27 +334,23 @@
 equivalent features between different fonts can have different names.
 
 \begin{example}
-\font\gra="Charis SIL/GR:Small Caps=True" at 12pt
+\font\gra="[CharisSIL-R.ttf]/GR:Small Caps=True" at 12pt
 \gra This is the Graphite font Charis SIL with small caps.
 \end{example}
 
-\subsubsection{Options for all fonts}
+\subsubsection{Features for all fonts}
 
 Some font features may be applied for any font. These are
 \begin{optdesc}
-\item[mapping=\textsl{<font map>}] 
-Uses the specified font mapping for this font. This uses the TECKit
-engine to transform unicode characters in the last-minute processing
-stage of the source. For example, |mapping=tex-text| will enable the
-classical mappings from ugly ascii |``---''| to proper typographical
-glyphs “—”, and so on.
 
-\item[color={\slshape RRGGBB}{[{\slshape TT}]}] 
+\item[color={\slshape RRGGBB}{[{\slshape TT}]}]
 Triple pair of hex values to specify the colour in RGB space, with an
 optional value for the transparency.
 
-\item[letterspace=$x$] 
-Adds $x/S$ space between letters in words, where $S$ is the font size.
+\begin{example}
+\font\9="[lmsans10-regular]:color=0000FF,mapping=tex-text"
+\9 A sans blue quoted em-dash: ``---''.
+\end{example}
 
 \item[embolden=$x$]
 Increase the envelope of each glyph by the set amount (this makes the
@@ -324,9 +358,19 @@
 good default value.
 
 \item[extend=$x$]
-Stretch each glyph horizontally by a factor of $x$ (i.e., $x=1$
+Stretch each glyph horizontally by a factor of $x$ (\ie, $x=1$
 corresponds to no change).
 
+\item[letterspace=$x$]
+Adds $x/S$ space between letters in words, where $S$ is the font size.
+
+\item[mapping=\textsl{<font map>}]
+Uses the specified font mapping for this font. This uses the TECKit
+engine to transform Unicode characters in the last-minute processing
+stage of the source. For example, |mapping=tex-text| will enable the
+classical mappings from ASCII |``---''| to proper typographical
+glyphs “—”, and so on.
+
 \item[slant=$x$]
 Slant each glyph by the set amount. $x=0$ corresponds to no change;
 $x=0.2$ is a good default value. The slant is given by $x=R/S$ where $R$
@@ -360,12 +404,10 @@
 
 \subsubsection{Vertical typesetting}
 \begin{optdesc}
-\item[vertical] 
+\item[vertical]
 Enables glyph rotation in the output so vertical typesetting can be performed.
 \end{optdesc}
 
-\part{New commands}
-
 \section{Font primitives}
 
 \cmd|\XeTeXtracingfonts|
@@ -391,8 +433,8 @@
   \texttt{\fontname#1} is rendered by
   \ifcase\XeTeXfonttype#1\TeX\or AAT\or OpenType\or Graphite\fi.\par}
 \font\1="cmr10"
-\font\2="Charis SIL"
-\font\3="Charis SIL/OT"
+\font\2="[CharisSIL-R.ttf]"
+\font\3="[CharisSIL-R.ttf]/OT"
 \whattype\1 \whattype\2 \whattype\3
 \end{example}
 
@@ -407,7 +449,7 @@
 \endcmd
 
 \begin{example}
-\font\1="Charis SIL"\1
+\font\1="[CharisSIL-R.ttf]"\1
 The first character in Charis SIL is: "\char\XeTeXfirstfontchar\1"
 and the last character is: "\char\XeTeXlastfontchar\1".
 \end{example}
@@ -441,7 +483,7 @@
 \endcmd
 
 \cmd|\XeTeXcharglyph|
-\xarg{char code} 
+\xarg{char code}
 \desc{Expands to the default glyph number of character \xarg{char code}
 in the current font, or 0 if the character is not available in the
 font.}
@@ -448,14 +490,14 @@
 \endcmd
 
 \begin{example}
-\font\1="Charis SIL"\1
+\font\1="[CharisSIL-R.ttf]"\1
 The glyph slot in Charis SIL for the Yen symbol is:
-    \the\XeTeXglyphindex"yen" . % the font-specific glyph name
-Or: \the\XeTeXcharglyph"00A5.   % the unicode character slot
+    \the\XeTeXglyphindex"yen" . % font-specific glyph name
+Or: \the\XeTeXcharglyph"00A5.   % unicode character slot
 
 This glyph may be typeset with the font-specific glyph slot:
-\XeTeXglyph150, 
-or the unicode character slot:
+\XeTeXglyph150,
+or the Unicode character slot:
 \char"00A5.
 \end{example}
 
@@ -494,9 +536,9 @@
   \special{color pop}%
   \kern\XeTeXglyphbounds3 \gid}%
   #1}
-	
+
 \noindent
-\font\x="Charis SIL/I" at 24pt \x
+\font\x="[CharisSIL-I.ttf]" at 24pt \x
 \shadebbox{A} \shadebbox{W} \shadebbox{a} \shadebbox{f}
 \shadebbox{;} \shadebbox{*} \shadebbox{=}
 \end{example}
@@ -595,7 +637,7 @@
 \endcmd
 
 \begin{example}
-\font\1="Charis SIL/GR" at 10pt
+\font\1="[CharisSIL-R.ttf]/GR" at 10pt
 \def\featname{Uppercase Eng alternates}
 The feature ‘\featname’ has index
 \the\XeTeXfindfeaturebyname\1 "\featname"\relax
@@ -652,7 +694,7 @@
 \endcmd
 
 \begin{example}
-\font\1="Charis SIL/GR" at 10pt
+\font\1="[CharisSIL-R.ttf]/GR" at 10pt
 \def\featname{Uppercase Eng alternates}
 \newcount\featcount
 \featcount=\XeTeXfindfeaturebyname\1 "\featname"\relax
@@ -662,8 +704,8 @@
 \seleccount=\XeTeXfindselectorbyname\1 \featcount "\selecname"\relax
 The feature selector ‘\selecname’ has index \the\seleccount
 
-\font\2="Charis SIL/GR:\featname=\selecname" at 10pt
-\font\3="Charis SIL/GR:\the\featcount=\the\seleccount" at 10pt
+\font\2="[CharisSIL-R.ttf]/GR:\featname=\selecname" at 10pt
+\font\3="[CharisSIL-R.ttf]/GR:\the\featcount=\the\seleccount" at 10pt
 
 Activating the feature: \1 Ŋ \2 Ŋ \3 Ŋ
 \end{example}
@@ -777,7 +819,7 @@
 \opteq
 \xarg{type/fam./glyph slot}
 \desc{Defines a control sequence for accessing a maths glyph using the
-‘bit-packed’ number output by, e.g., \cs{Umathcodenum}. This would
+‘bit-packed’ number output by, \eg, \cs{Umathcodenum}. This would
 be used to replace legacy code such as
 \cs{mathchardef}\cs{foo}\texttt{=}\cs{mathcode}\texttt{`}\cs{\-}.}
 \endcmd
@@ -951,7 +993,7 @@
 \endcmd
 
 \cmd|\XeTeXupwardsmode|
-\xarg{Integer} 
+\xarg{Integer}
 \desc{If greater than zero, successive lines of text (and rules, boxes,
 etc.) will be stacked upwards instead of downwards.}
 \endcmd
@@ -1009,7 +1051,7 @@
 \item \verb|\testdim=1in    | is 72.27\textdegree, and
 \item \verb|\testdim=100sp| is (100/65536)\textdegree.
 \end{itemize}
-In all cases the resulting decimal number for rotation $x$ must be  
+In all cases the resulting decimal number for rotation $x$ must be
 within the limits $-16384 < x < 16384$.
 
 The \cs{XeTeXpdffile} command takes one more optional argument for
@@ -1077,6 +1119,8 @@
 
 \section{Cross-compatibility with \pdftex and/or \luatex}
 
+\subsection{Geometry}
+
 \cmd|\pdfpageheight|
 \xarg{dimension}
 \desc{The height of the PDF page.}
@@ -1099,6 +1143,8 @@
 \desc{Retrieves the vertical position saved by \texttt{\char`\\pdfsavepos}.}
 \endcmd
 
+\subsection{Programming}
+
 \cmd|\ifincsname...(\else...)\fi|
 \desc{\tex conditional to branch true if the expansion occurs within
 \texttt{\char`\\csname ... \char`\\endcsname}.}
@@ -1111,15 +1157,18 @@
 \end{example}
 
 \cmd|\ifprimitive| \xarg{control sequence} |...(\else...)\fi|
-\desc{\tex conditional to test if a control sequence is a primitive and
-that it has not been redefined.}
+\desc{\tex conditional to test if a control sequence is a primitive
+which still has its primitive meaning, \ie, has not been redefined or
+undefined.}
 \endcmd
 
 \cmd|\primitive|
 \xarg{control sequence}
-\desc{If the control sequence is a primitive that’s been redefined, this
-command causes it to expand with its original (i.e., primitive)
-definition.}
+\desc{This command executes the primitive meaning of the following control
+sequence, regardless of whether the control sequence has been redefined
+or made undefined.  If the primitive was expandable, \cs{primitive} expands
+also.  On the other hand, if the control sequence never was a primitive,
+nothing happens and no error is raised.}
 \endcmd
 
 \cmd|\shellescape|
@@ -1156,6 +1205,88 @@
 Also note that catcodes are ignored: \strcmp{b}{\b}
 \end{example}
 
+\subsection{Randomness}
+
+\cmd|\normaldeviate|
+\xarg{number}
+\desc{Generate a normally-distributed random integer with a mean of $0$ and
+standard deviation $65\,536$. That is, about $68$\% of the time, the result
+will be between $−65\,536$ and $65\,536$ (one standard deviation away from
+the mean). About $95\%$ of results will be within two standard deviations, and
+$99.7$\% within three.}
+\endcmd
+
+\cmd|\randomseed|
+\desc{A read-only integer which allows querying of the random seed.}
+\endcmd
+
+\cmd|\setrandomseed|
+\xarg{number}
+\desc{Set the random seed to a specific value, allowing you to replay
+sequences of semi-randoms at a later moment.}
+\endcmd
+
+\cmd|\uniformdeviate|
+\xarg{number}
+\desc{Generate a uniformly-distributed random integer value between $0$
+(inclusive) and ⟨number⟩ (exclusive).}
+\endcmd
+
+\subsection{Timing}
+
+\cmd|\elapsedtime|
+\desc{Return a number that represents the time elapsed from the moment of
+the start of the run or the last point at which the timer was reset.
+The elapsed time is returned in `scaled seconds', meaning seconds divided by
+$65\,536$. If the time exceeds $32\,767$ seconds, the constant value
+$2^{31} − 1$ will be returned.}
+\endcmd
+
+\cmd|\resettimer|
+\desc{Reset the internal timer to $0$.}
+\endcmd
+
+\subsection{File queries}
+
+\cmd|\filedump|
+\texttt{[offset]} \xarg{number}
+\texttt{[length]} \xarg{number}
+\xarg{file}
+\desc{Expands to a hexadecimal dump of the contents of the file, starting
+from position zero and extending to the end of the file unless either an
+offset or length are given.}
+\endcmd
+
+\cmd|\filemoddate|
+\xarg{file name}
+\desc{Expands to the date the file was last modified in the format
+\texttt{D:YYYYMMDDHHMMSS+ZZZZ} as a string.}
+\endcmd
+
+\cmd|\filesize|
+\xarg{file name}
+\desc{Expands to the size of the file in bytes.}
+\endcmd
+
+\cmd|\mdfivesum|
+\texttt{[file]}
+\xarg{text}
+\desc{Expands to the MD5 sum of the \meta{text}, or if the \texttt{file}
+keyword is given, the MD5 sum of the file contents.}
+\endcmd
+
+\subsection{Fonts}
+
+\cmd|\pdfmapfile|
+\xarg{map spec}
+\desc{Defined in \texttt{xe(la)tex.ini} to place a whatsit special for \texttt{xdvipdfmx} to set a font map file. See the \pdftex user manual for full details.}
+\endcmd
+
+\cmd|\pdfmapline|
+\xarg{line from map spec}
+\desc{Defined in \texttt{xe(la)tex.ini} to place a whatsit special for \texttt{xdvipdfmx} to set up a font map. See the \pdftex user manual for full details.}
+\endcmd
+
 \cmd|\suppressfontnotfounderror|
 \xarg{integer}
 \desc{When set to zero (default) if a font is loaded that cannot be
@@ -1167,30 +1298,23 @@
 \suppressfontnotfounderror=1
 \font\x="ImpossibleFont" at 10pt
 \ifx\x\nullfont
-  \font\x="Georgia" at 10pt
+  \font\x="[texgyrepagella-regular.otf]" at 10pt
 \fi
 \x This would be ‘ImpossibleFont’, if it existed.
 \end{example}
 \endcmd
 
-\cmd|\pdfmapfile|
-\xarg{map spec}
-\desc{Defined in \texttt{xe(la)tex.ini} to place a whatsit special for \texttt{xdvipdfmx} to set a font map file. See the \pdftex user manual for full details.}
-\endcmd
 
-\cmd|\pdfmapline|
-\xarg{line from map spec}
-\desc{Defined in \texttt{xe(la)tex.ini} to place a whatsit special for \texttt{xdvipdfmx} to set up a font map. See the \pdftex user manual for full details.}
-\endcmd
-
 \section{Misc.}
 
 \cmd|\XeTeXversion|
-\desc{Expands to a number corresponding to the \xetex version.}
+\desc{Expands to a number corresponding to the \xetex version:
+      \the\XeTeXversion.}
 \endcmd
 
 \cmd|\XeTeXrevision|
-\desc{Expands to a string corresponding to the \xetex revision number.}
+\desc{Expands to a string corresponding to the \xetex revision number:
+      \XeTeXrevision.}
 \endcmd
 
 \begin{example}
@@ -1198,4 +1322,5 @@
 \the\XeTeXversion\XeTeXrevision
 \end{example}
 
+
 \end{document}



More information about the tex-live-commits mailing list