summaryrefslogtreecommitdiff
path: root/systems/doc
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-02-28 03:01:24 +0000
committerNorbert Preining <norbert@preining.info>2021-02-28 03:01:24 +0000
commit189140b53960215eec1626503040fb38360ab4ed (patch)
treee7551ffd51e263ef259dcd95668d5b35377590cd /systems/doc
parent4e6fb7c03bc033485887a99d2ffeca70ef8c0644 (diff)
CTAN sync 202102280301
Diffstat (limited to 'systems/doc')
-rw-r--r--systems/doc/dvipng/dvipng.pdfbin220376 -> 220487 bytes
-rw-r--r--systems/doc/dvips/dvips.html132
-rw-r--r--systems/doc/dvips/dvips.pdfbin412092 -> 412464 bytes
-rw-r--r--systems/doc/kpathsea/kpathsea.html10
-rw-r--r--systems/doc/kpathsea/kpathsea.pdfbin402446 -> 402597 bytes
-rw-r--r--systems/doc/pdftex/manual/ChangeLog20
-rw-r--r--systems/doc/pdftex/manual/Makefile10
-rw-r--r--systems/doc/pdftex/manual/pdftex-a.pdfbin930933 -> 948745 bytes
-rw-r--r--systems/doc/pdftex/manual/pdftex-syntax.txt4
-rw-r--r--systems/doc/pdftex/manual/pdftex-t.tex283
-rw-r--r--systems/doc/pdftex/manual/pdftex-w.tex6
11 files changed, 327 insertions, 138 deletions
diff --git a/systems/doc/dvipng/dvipng.pdf b/systems/doc/dvipng/dvipng.pdf
index e85e38e0ea..c92d4407a3 100644
--- a/systems/doc/dvipng/dvipng.pdf
+++ b/systems/doc/dvipng/dvipng.pdf
Binary files differ
diff --git a/systems/doc/dvips/dvips.html b/systems/doc/dvips/dvips.html
index 568dbae14b..da5842dfc3 100644
--- a/systems/doc/dvips/dvips.html
+++ b/systems/doc/dvips/dvips.html
@@ -1,7 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
-<!-- This manual documents Dvips version 2020.1
-(January 2020), a program to translate a DVI file into
+<!-- This manual documents Dvips version 2021.1
+(February 2021), a program to translate a DVI file into
PostScript. You may freely use, modify and/or distribute this file. -->
<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ -->
<head>
@@ -193,8 +193,8 @@ Next: <a href="#Why-Dvips" accesskey="n" rel="next">Why Dvips</a>, Up: <a href="
</div>
<span id="Dvips"></span><h1 class="top">Dvips</h1>
-<p>This manual documents Dvips version 2020.1
-(January 2020), a program to translate a DVI file into
+<p>This manual documents Dvips version 2021.1
+(February 2021), a program to translate a DVI file into
PostScript. You may freely use, modify and/or distribute this file.
</p>
<table class="menu" border="0" cellspacing="0">
@@ -262,22 +262,15 @@ font at a different size can be used instead, although Dvips will
complain loudly about the poor aesthetics of the resulting output.
</p>
<p>One of the most important features is the support of virtual fonts,
-which add an entirely new level of flexibility to TeX. Virtual fonts
-are used to give Dvips its excellent PostScript font support, handling
-all the font remapping in a natural, portable, elegant, and extensible
-way. Dvips even comes with its own Afm2tfm program that creates
-the necessary virtual fonts and TeX font metric files automatically
-from the Adobe font metric files.
+which add an entirely new level of flexibility to TeX. Dvips even
+comes with its own Afm2tfm program that can create the virtual fonts
+and TeX font metric files automatically from Adobe font metric
+files.
</p>
<p>Source is provided and freely distributable, so adding a site-specific feature
is possible. Adding such features is made easier by the highly modular
structure of the program.
</p>
-<p>There is really no reason to use another driver, and the more people use
-Dvips, the less time will be spent fighting with PostScript and the
-more time will be available to create beautiful documents.
-So if you don&rsquo;t use Dvips on your system, get it today.
-</p>
<span id="index-Rokicki_002c-Tomas"></span>
<p>Tom Rokicki wrote and maintains the original Dvips program.
</p>
@@ -300,8 +293,7 @@ see <a href="https://tug.org/texinfohtml/kpathsea.html#Installation">Installatio
</p>
<p>For solutions to common installation problems and information on how to
report a bug, see the file <samp>kpathsea/BUGS</samp> (see <a href="https://tug.org/texinfohtml/kpathsea.html#Bugs">Bugs</a> in <cite>Kpathsea</cite>). For solutions to Dvips-specific problems,
-see <a href="#Debug-options">Debug options</a>. Also see the Dvips home page at
-<a href="http://www.radicaleye.com/dvips">http://www.radicaleye.com/dvips</a>.
+see <a href="#Debug-options">Debug options</a>.
</p>
<p>Dvips does require some additional installation, detailed in the
sections below. Also, to configure color devices, see <a href="#Color-device-configuration">Color device configuration</a>.
@@ -452,7 +444,7 @@ originally written by Peter Deutsch. It can read the PostScript
produced by Dvips and render it on your monitor, or for another device
(e.g., an Epson printer) that does not support PostScript, or in PDF
format. The latest version is available via
-<a href="http://ghostscript.com">http://ghostscript.com</a>.
+<a href="https://ghostscript.com">https://ghostscript.com</a>.
</p>
<span id="index-Theisen_002c-Tim"></span>
<span id="index-ghostview"></span>
@@ -465,7 +457,7 @@ Theisen, provides typical previewing capabilities (next page/previous
page, magnification, etc.). It requires Ghostscript to run, and files
in structured Postscript, specifically with &lsquo;<samp>%%Page</samp>&rsquo; comments (no
&lsquo;<samp>N</samp>&rsquo; in <samp>config.ps</samp>). The current version is known as GV,
-and is available from <a href="http://www.gnu.org/software/gv">http://www.gnu.org/software/gv</a>.
+and is available from <a href="https://www.gnu.org/software/gv">https://www.gnu.org/software/gv</a>.
</p>
<hr>
@@ -783,7 +775,7 @@ same fonts over and over again, it hasn&rsquo;t been installed properly.
See <a href="https://tug.org/texinfohtml/kpathsea.html#Unable-to-generate-fonts">Unable to generate fonts</a> in <cite>Kpathsea</cite>.)
</p>
<p>Many options are available (see the next section). For a brief summary
-of available options, just type
+of available options, run
</p>
<div class="example">
<pre class="example">dvips --help
@@ -849,6 +841,7 @@ Options:
-r* Reverse order of pages -R* Run securely
-s* Enclose output in save/restore -S # Max section size in pages
-t s Paper format -T c Specify desired page size
+-title s Title in comment
-u s PS mapfile -U* Disable string param trick
-v Print version number and quit -V* Send downloadable PS fonts as PK
-x # Override dvi magnification -X # Horizontal resolution
@@ -1150,7 +1143,6 @@ with <code>-L0</code>, the first special wins. See <a href="#papersize-special"
</dd>
<dt>&lsquo;<samp>-mode <var>mode</var></samp>&rsquo;</dt>
<dd><span id="index-_002dmode-mode"></span>
-<span id="index-_002dmode"></span>
<span id="index-mode-name_002c-specifying"></span>
<span id="index-Metafont-mode_002c-specifying"></span>
<p>Use <var>mode</var> as the Metafont device name for path searching and font
@@ -1405,6 +1397,18 @@ you can use &lsquo;<samp>-E</samp>&rsquo; to get pure EPSF output.)
</li></ul>
</dd>
+<dt>&lsquo;<samp>-title <var>string</var></samp>&rsquo;</dt>
+<dd><span id="index-_002dtitle-str"></span>
+<span id="index-title_002c-specifying"></span>
+<span id="index-output-title_002c-specifying"></span>
+<span id="index-document-title_002c-specifying"></span>
+<span id="index-_0025_0025Title"></span>
+<p>Use <var>string</var> as the title in the generated PostScript
+(<code>%%Title</code>). If not specified, the default is the basename of the
+input file; for example, running <code>dvips /foo/bar.dvi</code> will have a
+<code>%%Title</code> of &lsquo;<samp>bar.dvi</samp>&rsquo;.
+</p>
+</dd>
<dt>&lsquo;<samp>-T <var>hsize</var>,<var>vsize</var></samp>&rsquo;</dt>
<dd><span id="index-_002dT-hsize_002cvsize"></span>
<p>Set the paper size to (<var>hsize</var>,<var>vsize</var>), a comma-separated
@@ -2479,7 +2483,7 @@ Next: <a href="#EPSF-macros" accesskey="n" rel="next">EPSF macros</a>, Previous:
<p>Once the figure file has a bounding box comment (see the previous
section) you are ready to import the graphic into a LaTeX
-document. For LaTeX 2e, you can use the epsf, graphics or graphicx
+document. For LaTeX2e, you can use the epsf, graphics or graphicx
packages, but the last is recommended&mdash;it has the most flexible
syntax, and is briefly described here. Further information can be
found in <samp>grfguide</samp> or <samp>epslatex</samp>, which should be included
@@ -2548,7 +2552,7 @@ Next: <a href="#psfile-special" accesskey="n" rel="next">psfile special</a>, Pre
<span id="index-EPSF-macros"></span>
<span id="index-macros-for-epsf-inclusion-1"></span>
-<p>If you are using LaTeX 2e, use the &lsquo;<samp>graphics</samp>&rsquo; or &lsquo;<samp>graphicx</samp>&rsquo;
+<p>If you are using LaTeX2e, use the &lsquo;<samp>graphics</samp>&rsquo; or &lsquo;<samp>graphicx</samp>&rsquo;
package. See <a href="#g_t_005cincludegraphics">\includegraphics</a>.
</p>
<p>If you are using plain TeX or LaTeX 2.09, you need <samp>epsf.tex</samp>
@@ -3410,23 +3414,19 @@ interpreters as well.) Various versions of both PC and Unix distillers
are supported; Ghostscript includes limited distiller support
(see <a href="#Ghostscript-installation">Ghostscript installation</a>).
</p>
-<p>Macros you can use in your TeX document to insert the specials in the
-first place are available from <samp><var>CTAN:</var>/support/hypertex</samp>. For
-CTAN info, see <a href="https://tug.org/texinfohtml/kpathsea.html#unixtex_002eftp">unixtex.ftp</a> in <cite>Kpathsea</cite>.
+<p>By far the most common LaTeX package used to create hyperlinked
+output is <code>hyperref</code> (<a href="https://ctan.org/pkg/hyperref">https://ctan.org/pkg/hyperref</a>). For
+plain TeX, the Eplain package has some hyperlink support
+(<a href="https://tug.org/eplain">https://tug.org/eplain</a>).
</p>
-<span id="index-http_003a_002f_002fwww_002ewin_002etue_002enl_002f_007edickie_002fidvi"></span>
<span id="index-http_003a_002f_002fxxx_002elanl_002egov_002fhypertex"></span>
<span id="index-Doyle_002c-Mark"></span>
<span id="index-Bhattacharya_002c-Tanmoy"></span>
-<span id="index-Java-DVI-reader"></span>
-<span id="index-idvi-Java-DVI-reader"></span>
<span id="index-dvihps_002c-hyperdvi-to-PostScript"></span>
<p>This hypertext support (and original form of the documentation) was
written by Mark Doyle and Tanmoy Bhattacharya as the &lsquo;<samp>dvihps</samp>&rsquo;
-program. You can retrieve their software and additional documentation
-via the CTAN reference above.
+program.
</p>
-
<table class="menu" border="0" cellspacing="0">
<tr><td align="left" valign="top">&bull; <a href="#Hypertext-caveats" accesskey="1">Hypertext caveats</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Font quality, missing character psi.
</td></tr>
@@ -3487,9 +3487,9 @@ examining the PostScript output file, looking for the section starting
distribution may make those fonts available in a separate optional
package (e.g., <code>tetex-extra</code> in Debian). Failing that,
commercial versions of the Computer Modern fonts are available from
-Blue Sky; public domain versions - in particular, the lm fonts, and
-the cm-super fonts, are available from CTAN sites (for CTAN info,
-see <a href="https://tug.org/texinfohtml/kpathsea.html#unixtex_002eftp">unixtex.ftp</a> in <cite>Kpathsea</cite>).
+Blue Sky; public domain versions, in particular, the lm
+and cm-super font families, are available from CTAN and in TeX
+distributions.
</p>
<p>You can convert a PostScript file to PDF using <code>distill</code>, which
comes with Adobe Acrobat, or <code>ps2pdf</code>, which comes with
@@ -3529,8 +3529,8 @@ more, but copies are available elsewhere:
</pre></div>
<p>You may also want to check &ldquo;Notes on converting (La)TeX documents
-to robust PDF using Rokicki&rsquo;s dvips and Acrobat Distiller&rdquo; by Timothy
-P. Van Zandt:<br>
+to robust PDF using Rokicki&rsquo;s dvips and Acrobat Distiller&rdquo; by
+Timothy&nbsp;P. Van Zandt:<br>
<a href="http://www.emrg.com/texpdf.htmlhttp://zandtwerk.insead.fr/tex2pdf.html">http://www.emrg.com/texpdf.htmlhttp://zandtwerk.insead.fr/tex2pdf.html</a>.
</p>
@@ -3858,16 +3858,16 @@ Next: <a href="#Encodings" accesskey="n" rel="next">Encodings</a>, Previous: <a
<span id="index-virtual-fonts"></span>
-<p>A <em>virtual font</em> is constructed by extracting characters from one or
-more existing fonts and rearranging them, or synthesizing new characters
-in various ways. The explanation in this manual is intended to suffice
-for understanding enough about virtual fonts to use them with Dvips. It
-isn&rsquo;t a reference manual on virtual fonts. For more information: The
-primary document on virtual fonts is Donald E. Knuth, <cite>TUGboat</cite>
-11(1), Apr. 1990, pp. 13&ndash;23, &ldquo;Virtual Fonts: More Fun for Grand
-Wizards&rdquo; (<samp><var>CTAN:</var>/info/virtual-fonts.knuth</samp>; for CTAN info,
-see <a href="https://tug.org/texinfohtml/kpathsea.html#unixtex_002eftp">unixtex.ftp</a> in <cite>Kpathsea</cite>). (Don&rsquo;t be intimidated by
-the subtitle.)
+<p>A <em>virtual font</em> is constructed by extracting characters from one
+or more existing fonts and rearranging them, or synthesizing new
+characters in various ways. The explanation in this manual is
+intended to suffice for understanding enough about virtual fonts to
+use them with Dvips. It isn&rsquo;t a reference manual on virtual fonts.
+For more information: The primary document on virtual fonts is
+Donald&nbsp;E. Knuth, <cite>TUGboat</cite> 11(1), Apr. 1990, pp. 13&ndash;23,
+&ldquo;Virtual Fonts: More Fun for Grand Wizards&rdquo;
+(<a href="mirror.ctan.org/info/virtual-fonts.knuth">mirror.ctan.org/info/virtual-fonts.knuth</a>). (Don&rsquo;t be
+intimidated by the subtitle.)
</p>
<span id="index-vf-files"></span>
<span id="index-vpl-files"></span>
@@ -3894,7 +3894,18 @@ created when you run <code>vptovf</code>.
<span id="index-virtual-font-expansion"></span>
<p>You can <em>expand</em> virtual fonts into their base fonts with DVIcopy
(see <a href="https://tug.org/texinfohtml/web2c.html#dvicopy-invocation">dvicopy invocation</a> in <cite>Web2c</cite>). This is useful if you are
-using a DVI translator that doesn&rsquo;t understand vf&rsquo;s itself.
+using a DVI translator that doesn&rsquo;t itself understand vf&rsquo;s.
+</p>
+<span id="index-ptex-JFM"></span>
+<span id="index-uptex-JFM"></span>
+<span id="index-Japanese-font-metric-file"></span>
+<span id="index-JFM-file_002c-and-virtual-font-fallback"></span>
+<p>If a virtual font has no entry at a given codepoint and the first
+<code>MAPFONT</code> designates an (u)pTeX JFM, we designate the glyph of
+the same codepoint in the TFM(JFM) with the smallest font ID. This
+feature helps to reduce the size of Japanese virtual fonts. For more
+information about the extensive support of Japanese in TeX, see
+<a href="https://github.com/texjporg">https://github.com/texjporg</a>.
</p>
<hr>
@@ -4263,9 +4274,9 @@ can also obtain special effects such as an oblique font.
<span id="index-virtual-fonts_002c-creating"></span>
<span id="index-Jeffrey_002c-Alan"></span>
<p>Alternatives to Afm2tfm for creating virtual fonts include
-<code>fontinst</code> <a href="http://ctan.org/pkg/fontinst">http://ctan.org/pkg/fontinst</a>,
+<code>fontinst</code> <a href="https://ctan.org/pkg/fontinst">https://ctan.org/pkg/fontinst</a>,
<code>lcdf-typetools</code>, particularly <code>otftotfm</code>
-(<a href="http://ctan.org/pkg/lcdf-typetools">http://ctan.org/pkg/lcdf-typetools</a>), and <code>afm2p</code>
+(<a href="https://ctan.org/pkg/lcdf-typetools">https://ctan.org/pkg/lcdf-typetools</a>), and <code>afm2pl</code>
(<a href="http://tex.aanhet.net/afm2pl/">http://tex.aanhet.net/afm2pl/</a>), among others.
</p>
<table class="menu" border="0" cellspacing="0">
@@ -5030,10 +5041,10 @@ your plain TeX file the command:
</p><div class="example">
<pre class="example">\documentstyle[12pt,colordvi]{article}
</pre></div>
-<p>For LaTeX 2e, these examples are not applicable. Instead, please see
-the documentation for the graphics package, available from
-<samp><var>CTAN</var>:doc/latex/graphics/</samp>. See also
-<samp><var>CTAN</var>:doc/epslatex.ps</samp>.
+<p>For LaTeX2e, these examples are not applicable. Instead, please see
+the documentation for the graphics package
+(<a href="https://ctan.org/pkg/graphics">https://ctan.org/pkg/graphics</a>), and the epslatex document
+(<a href="https://ctan.org/pkg/epslatex">https://ctan.org/pkg/epslatex</a>).
</p>
<span id="index-Crayola-crayon-box"></span>
<span id="index-Pantone-colors"></span>
@@ -5483,6 +5494,7 @@ Previous: <a href="#Color" accesskey="p" rel="prev">Color</a>, Up: <a href="#Top
<tr><td></td><td valign="top"><a href="#index-_0025_0025Page_002c-not-generating"><code>%%Page<span class="roman">, not generating</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_0025_0025Page_002c-removing"><code>%%Page<span class="roman">, removing</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_0025_0025Page_002c-required-by-Ghostview"><code>%%Page<span class="roman">, required by Ghostview</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_0025_0025Title"><code>%%Title</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_0025_0025VMusage"><code>%%VMusage</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Headers-and-memory-usage">Headers and memory usage</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_0025_002aFont"><code>%*Font</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Fonts-in-figures">Fonts in figures</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
@@ -5524,7 +5536,6 @@ Previous: <a href="#Color" accesskey="p" rel="prev">Color</a>, Up: <a href="#Top
<tr><td></td><td valign="top"><a href="#index-_002dl-_005b_003d_005dnum"><code>-l [=]<var>num</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002dm"><code>-m</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002dM"><code>-M</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-_002dmode"><code>-mode</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002dmode-mode"><code>-mode <var>mode</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002dN"><code>-N</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002dn-num"><code>-n <var>num</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
@@ -5552,6 +5563,7 @@ Previous: <a href="#Color" accesskey="p" rel="prev">Color</a>, Up: <a href="#Top
<tr><td></td><td valign="top"><a href="#index-_002dT-ps_002dtex_002denc"><code>-T <var>ps-tex-enc</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002dt-tex_002denc"><code>-t <var>tex-enc</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Changing-TeX-encodings">Changing TeX encodings</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002dt-tex_002denc-1"><code>-t <var>tex-enc</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002dtitle-str"><code>-title <var>str</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002dU"><code>-U</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002du"><code>-u</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002du-psmapfile"><code>-u <var>psmapfile</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
@@ -5755,6 +5767,7 @@ Previous: <a href="#Color" accesskey="p" rel="prev">Color</a>, Up: <a href="#Top
<tr><td></td><td valign="top"><a href="#index-dictionary_002c-userdict">dictionary, <code>userdict</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Header-files">Header files</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-distillation_002c-and-_002dz">distillation, and &lsquo;<samp>-z</samp>&rsquo;</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-distiller_002c-for-PDF-files">distiller, for PDF files</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext">Hypertext</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-document-title_002c-specifying">document title, specifying</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-dot-accent">dot accent</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-double_002dsided-printing">double-sided printing</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-downloading-fonts-partially">downloading fonts partially</a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr>
@@ -5876,7 +5889,6 @@ Previous: <a href="#Color" accesskey="p" rel="prev">Color</a>, Up: <a href="#Top
<tr><td></td><td valign="top"><a href="#index-hsize-_0028psfile-special-option_0029"><code>hsize <span class="roman">(&lsquo;<samp>psfile</samp>&rsquo; special option)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-html-specials"><code>html <span class="roman">specials</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext">Hypertext</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-html-specials_002c-and-_002dz"><code>html <span class="roman">specials, and &lsquo;<samp>-z</samp>&rsquo;</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-http_003a_002f_002fwww_002ewin_002etue_002enl_002f_007edickie_002fidvi"><code><code>http://www.win.tue.nl/~dickie/idvi</code></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext">Hypertext</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-http_003a_002f_002fxxx_002elanl_002egov_002fhypertex"><code><code>http://xxx.lanl.gov/hypertex</code></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext">Hypertext</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-Hungarian-umlaut">Hungarian umlaut</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-hyperdvi-extensions_002c-enabling">hyperdvi extensions, enabling</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
@@ -5888,7 +5900,6 @@ Previous: <a href="#Color" accesskey="p" rel="prev">Color</a>, Up: <a href="#Top
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-I">I</th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="#index-i-config-command-_0028pages_002fsection_0029"><code>i <span class="roman">config command (pages/section)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-idvi-Java-DVI-reader"><code>idvi <span class="roman">Java DVI reader</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext">Hypertext</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-Illustrator_002c-workaround-for">Illustrator, workaround for</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Including-graphics-fails">Including graphics fails</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-img"><code>img</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-including-graphics-fails">including graphics fails</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Including-graphics-fails">Including graphics fails</a></td></tr>
@@ -5904,8 +5915,9 @@ Previous: <a href="#Color" accesskey="p" rel="prev">Color</a>, Up: <a href="#Top
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-J">J</th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="#index-j-config-command-_0028partial-font-downloading_0029"><code>j <span class="roman">config command (partial font downloading)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Java-DVI-reader">Java DVI reader</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext">Hypertext</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Japanese-font-metric-file">Japanese font metric file</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Virtual-fonts">Virtual fonts</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-Jeffrey_002c-Alan">Jeffrey, Alan</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Invoking-afm2tfm">Invoking afm2tfm</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-JFM-file_002c-and-virtual-font-fallback">JFM file, and virtual font fallback</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Virtual-fonts">Virtual fonts</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-K">K</th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="#index-K-config-command-_0028comment-removal_0029"><code>K <span class="roman">config command (comment removal)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
@@ -6005,6 +6017,7 @@ Previous: <a href="#Color" accesskey="p" rel="prev">Color</a>, Up: <a href="#Top
<tr><td></td><td valign="top"><a href="#index-output-file_002c-sectioning-of">output file, sectioning of</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Headers-and-memory-usage">Headers and memory usage</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-output-file_002c-setting">output file, setting</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-output-files_002c-multiple">output files, multiple</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-output-title_002c-specifying">output title, specifying</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-output_002c-inverted">output, inverted</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Small-or-inverted">Small or inverted</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-output_002c-none">output, none</a>:</td><td>&nbsp;</td><td valign="top"><a href="#No-output">No output</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-output_002c-redirecting">output, redirecting</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
@@ -6089,6 +6102,7 @@ Previous: <a href="#Color" accesskey="p" rel="prev">Color</a>, Up: <a href="#Top
<tr><td></td><td valign="top"><a href="#index-pstopk"><code>pstopk</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-pTeX-extensions">pTeX extensions</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-pTeX-extensions-1">pTeX extensions</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ptex-JFM"><code>ptex <span class="roman">JFM</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Virtual-fonts">Virtual fonts</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th id="Index_cp_letter-Q">Q</th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="#index-q-config-command-_0028quiet_0029"><code>q <span class="roman">config command (quiet)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr>
@@ -6182,6 +6196,7 @@ Previous: <a href="#Color" accesskey="p" rel="prev">Color</a>, Up: <a href="#Top
<tr><td></td><td valign="top"><a href="#index-tftopl"><code>tftopl</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Metric-files">Metric files</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-Theisen_002c-Tim">Theisen, Tim</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-tight-bounding-box_002c-finding">tight bounding box, finding</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-title_002c-specifying">title, specifying</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Option-details">Option details</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-too_002dsmall-output">too-small output</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Small-or-inverted">Small or inverted</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-trademark-character_002c-accessing"><code>trademark <span class="roman">character, accessing</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-trailing-spaces_002c-dropped">trailing spaces, dropped</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr>
@@ -6198,6 +6213,7 @@ Previous: <a href="#Color" accesskey="p" rel="prev">Color</a>, Up: <a href="#Top
<tr><td></td><td valign="top"><a href="#index-uniform-resource-locator">uniform resource locator</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-unknown_002c-paper-format-for-_002dt"><code>unknown<span class="roman">, paper format for &lsquo;<samp>-t</samp>&rsquo;</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#papersize-special">&lsquo;<samp>papersize</samp>&rsquo; special</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-unknown_002c-paper-format-for-_002dt-1"><code>unknown<span class="roman">, paper format for &lsquo;<samp>-t</samp>&rsquo;</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-uptex-JFM"><code>uptex <span class="roman">JFM</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Virtual-fonts">Virtual fonts</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-URL_002c-definition">URL, definition</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-URL_002c-extended-for-TeX">URL, extended for TeX</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-urx-_0028psfile-special-option_0029"><code>urx <span class="roman">(&lsquo;<samp>psfile</samp>&rsquo; special option)</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr>
diff --git a/systems/doc/dvips/dvips.pdf b/systems/doc/dvips/dvips.pdf
index abd3c89a65..767f8e378c 100644
--- a/systems/doc/dvips/dvips.pdf
+++ b/systems/doc/dvips/dvips.pdf
Binary files differ
diff --git a/systems/doc/kpathsea/kpathsea.html b/systems/doc/kpathsea/kpathsea.html
index 701b7141af..883cc12929 100644
--- a/systems/doc/kpathsea/kpathsea.html
+++ b/systems/doc/kpathsea/kpathsea.html
@@ -2,7 +2,7 @@
<html>
<!-- This file documents the Kpathsea library for path searching.
-Copyright (C) 1996-2020 Karl Berry & Olaf Weber.
+Copyright (C) 1996-2021 Karl Berry & Olaf Weber.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
@@ -165,8 +165,8 @@ Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Up: <a
<span id="Kpathsea-library"></span><h1 class="top">Kpathsea library</h1>
<p>This manual documents the Kpathsea library for path searching. It
-corresponds to version 6.3.2, released in
-March 2020.
+corresponds to version 6.3.3, released in
+February 2021.
</p>
<table class="menu" border="0" cellspacing="0">
<tr><td align="left" valign="top">&bull; <a href="#Introduction" accesskey="1">Introduction</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Overview and history.
@@ -208,8 +208,8 @@ Next: <a href="#unixtex_002eftp" accesskey="n" rel="next">unixtex.ftp</a>, Previ
<span id="index-introduction"></span>
<span id="index-fundamental-purpose-of-Kpathsea"></span>
-<p>This manual corresponds to version 6.3.2 of the Kpathsea
-library, released in March 2020.
+<p>This manual corresponds to version 6.3.3 of the Kpathsea
+library, released in February 2021.
</p>
<p>The library&rsquo;s fundamental purpose is to return a filename from a list of
directories specified by the user, similar to what shells do when
diff --git a/systems/doc/kpathsea/kpathsea.pdf b/systems/doc/kpathsea/kpathsea.pdf
index 0cb23b250f..1ff6d90fb8 100644
--- a/systems/doc/kpathsea/kpathsea.pdf
+++ b/systems/doc/kpathsea/kpathsea.pdf
Binary files differ
diff --git a/systems/doc/pdftex/manual/ChangeLog b/systems/doc/pdftex/manual/ChangeLog
index 307eb5ea5f..8d85229fc3 100644
--- a/systems/doc/pdftex/manual/ChangeLog
+++ b/systems/doc/pdftex/manual/ChangeLog
@@ -1,3 +1,23 @@
+2021-02-18 Karl Berry <karl@freefriends.org>
+
+ * pdftex-t.tex: update for 2021:
+ (\tracinglostchars): new behavior when >=3.
+ (\tracingstacklevels): new primitive.
+
+2020-06-14 Karl Berry <karl@freefriends.org>
+
+ * pdftex-t.tex: small tweaks throughout.
+
+ (\pdffontexpand): warn about pdftex immediately loading the
+ non-autoexpanded fonts at maximum stretch and shrink, even if
+ they never used. Report from Robert Schlict,
+ https://tug.org/pipermail/tex-live/2020-March/045099.html
+ https://mailman.ntg.nl/pipermail/ntg-pdftex/2020-March/004307.html.
+
+ (\pdfgentounicode): mention the automapping of uniXXXX.
+ Suggestion by Ulrike Fischer,
+ https://tug.org/pipermail/tex-live/2020-May/045763.html
+
2020-03-02 Karl Berry <karl@freefriends.org>
* Makefile (common_deps): don't include pdftex-help.txt,
diff --git a/systems/doc/pdftex/manual/Makefile b/systems/doc/pdftex/manual/Makefile
index 7c1e369ada..05c57fc29a 100644
--- a/systems/doc/pdftex/manual/Makefile
+++ b/systems/doc/pdftex/manual/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile 822 2020-03-02 16:57:37Z karl $
+# $Id: Makefile 848 2021-02-18 17:49:17Z karl $
# Makefile for pdfTeX documentation. Public domain.
# Get version we're documenting from the \def in the manual.
@@ -52,11 +52,15 @@ pdftex-w.txt: pdftex-w.pdf
| expand >$@ || rm -f $@
wc -l pdftex-w.txt # set titlepagelines=half of this
-# PDF for the title page.
+# PDF for the title page. This should be updated every year;
+# - update version numbers
+# - make new binary
+# - run this target
+# Also check pdftex-help.txt for updates.
pdftex_binary = ../../source/build-pdftex/texk/web2c/pdftex
pdftex-w.pdf: pdftex-w.tex Makefile
TEXFONTS=/usr/local/texlive/dev/texmf-dist/fonts// \
- $(pdftex_binary) -ini '\nonstopmode\input $<'
+ $(pdftex_binary) -ini '$<'
# Too annoying to remake help text every time; check by hand when needed.
diff --git a/systems/doc/pdftex/manual/pdftex-a.pdf b/systems/doc/pdftex/manual/pdftex-a.pdf
index 66806dfda3..f5d6372f93 100644
--- a/systems/doc/pdftex/manual/pdftex-a.pdf
+++ b/systems/doc/pdftex/manual/pdftex-a.pdf
Binary files differ
diff --git a/systems/doc/pdftex/manual/pdftex-syntax.txt b/systems/doc/pdftex/manual/pdftex-syntax.txt
index 0d9994e5e0..7125d653fd 100644
--- a/systems/doc/pdftex/manual/pdftex-syntax.txt
+++ b/systems/doc/pdftex/manual/pdftex-syntax.txt
@@ -46,6 +46,8 @@
\shbscode <font> <8-bit number> (integer)
\stbscode <font> <8-bit number> (integer)
\tagcode <font> <8-bit number> (integer)
+\tracinglostchars (integer)
+\tracingstacklevels (integer)
%% Read-only integers:
\pdfelapsedtime (read-only integer)
@@ -149,6 +151,8 @@
\pdfrefximage <object number>
\pdfresettimer
\pdfrestore
+\pdfrunninglinkoff
+\pdfrunninglinkon
\pdfsave
\pdfsavepos (h, v, m)
\pdfsetmatrix
diff --git a/systems/doc/pdftex/manual/pdftex-t.tex b/systems/doc/pdftex/manual/pdftex-t.tex
index 42c0a11099..2f323fedce 100644
--- a/systems/doc/pdftex/manual/pdftex-t.tex
+++ b/systems/doc/pdftex/manual/pdftex-t.tex
@@ -1,7 +1,7 @@
% interface=english modes=letter,screen output=pdftex
% vim: tw=79
-% $Id: pdftex-t.tex 821 2020-03-02 02:14:55Z karl $
+% $Id: pdftex-t.tex 849 2021-02-18 17:55:44Z karl $
% The number of lines on the title page depends on exactly
% what \PDF\ code is generated.
@@ -38,9 +38,9 @@
August\or September\or October\or November\or December\else ERROR\fi}
}
-\svnscan $Id: pdftex-t.tex 821 2020-03-02 02:14:55Z karl $
+\svnscan $Id: pdftex-t.tex 849 2021-02-18 17:55:44Z karl $
-\def\currentpdftex{1.40.21}
+\def\currentpdftex{1.40.22}
%***********************************************************************
@@ -607,7 +607,7 @@
\font\tenrm=ptmr8r
\tenrm
Welcome to pdf\TeX!
- \bye
+ \end
\stoptyping
\stopstandardmakeup
@@ -1018,11 +1018,12 @@ needed for building a ready \PDF\ page must be available during the
graphics files for embedding, and font information (font files,
encodings).
-When \TEX\ builds a page, it places items relative to the top left page
-corner (the \DVI\ reference point). Separate \DVI\ postprocessors allow
-specifying the paper size (\eg\ \quote {A4} or \quote{letter}), so
-that this reference point is moved to the correct position on the paper,
-and the text ends up at the right place.
+When \TEX\ builds a page, it places items relative to the (1in,1in)
+offset from the top left page corner (the \DVI\ reference point).
+Separate \DVI\ postprocessors allow specifying the paper size (\eg\
+\quote {A4} or \quote{letter}), so that this reference point is moved to
+the correct position on the paper, and the text ends up at the right
+place.
In \PDF, the paper dimensions are part of the page definition, and
\PDFTEX\ therefore requires that they be defined at the beginning of
@@ -1127,10 +1128,11 @@ even without setting any parameters.
{\getbuffer}
Independent of whether such a configuration file is read or not, the
-first action in a \PDFTEX\ run is that the program reads the global \WEBC\
-configuration file (\filename{texmf.cnf}), which is common to all programs
-in the \WEBC\ system. This file mainly defines file search paths, the
-memory layout (\eg\ string pool and hash size), and other general parameters.
+first action in a \PDFTEX\ run is that the program reads the global
+\WEBC\ configuration file (\filename{texmf.cnf}), which is common to all
+programs in the \WEBC\ system. This file mainly defines file search
+paths, the memory layout (\eg\ string pool and hash size), and a few
+other general parameters.
%***********************************************************************
@@ -1190,15 +1192,16 @@ memory layout (\eg\ string pool and hash size), and other general parameters.
{\getbuffer}
The \PDFTEX\ engine supports building formats for \DVI\ and \PDF\ output
-in the same way as the classical \TEX\ engine does for \DVI. Format
-generation is enabled by the \type{-ini} option. The default mode (\DVI\
-or \PDF) can be chosen either on the command line by setting the option
-\type{-output-format} to \type{dvi} or \type{pdf}, or by setting the
-\type{\pdfoutput} parameter. The format file then inherits this setting,
-so that a later invocation of \PDFTEX\ with this format starts in the
-preselected mode (which still can be overridden). A format file can be
-read in only by the engine that has generated it; a format incompatible
-with an engine leads to a fatal error.
+in the same way as the classical \TEX\ engine does for \DVI. Format
+generation (and other \type{initex} features) is enabled by the
+\type{-ini} option. The default mode (\DVI\ or \PDF) can be chosen
+either on the command line by setting the option \type{-output-format}
+to \type{dvi} or \type{pdf}, or by setting the \type{\pdfoutput}
+parameter. The format file then inherits this setting, so that a later
+invocation of \PDFTEX\ with this format starts in the preselected mode
+(which still can be overridden). A format file can be read in only by
+the engine that has generated it; a format incompatible with an engine
+leads to a fatal error.
It is customary to package the configuration and macro file input
into a \type{.ini} file. \Eg, the file \type{etex.ini} in
@@ -1225,10 +1228,14 @@ pdftex -ini *pdflatex.ini
These calls produce format files \filename{etex.fmt},
\filename{pdfetex.fmt}, and \filename{pdflatex.fmt}, as the default
-format file name is taken from the input file name. You can overrule
+format file name is taken from the input file name. You can override
this with the \type{-jobname} option. The asterisk \type{*} before the
-file name is a unusual feature, only in \type{-ini} mode, which causes
-the \PDFTEX\ engine to enable \ETEX\ features.
+file name is an unusual flag, only used in \type{-ini} mode, which
+causes the \PDFTEX\ engine to enable \ETEX's features.
+
+Incidentally, as of \PDFTEX\ 1.40.21 (\TEX\ Live 2020), \filename{.fmt}
+files are compressed with \type{zlib}. This makes for a considerable
+savings in space, and consequently in time.
\subsection{Testing the installation}
@@ -1315,10 +1322,10 @@ the object table size is now obsolete and ignored).
\section{Invoking \PDFTEX}
-\PDFTEX\ has many command line options. With the exception of the
-simple and rarely-used \type{-draftmode} and \type{-output-format}
-options, they are all inherited from the common framework for \TeX\
-engines as implemented in \WEBC\ (\from [web2c] has the manual).
+\PDFTEX\ has many command line options. Except for the simple and
+rarely-used \type{-draftmode} and \type{-output-format} options, they
+are all inherited from the common framework for \TeX\ engines as
+implemented in \WEBC\ (its manual is available at \from [web2c]).
The same commonality holds for environment variables; see the section
``Setting search paths'' above for an overview. Two additional
@@ -1341,11 +1348,11 @@ are \type{\year}, \type{\month}, \type{\day}, and \type{\time}. If
has no effect. If \type{FORCE_SOURCE_DATE} is unset, set to the empty
string, or set to~\type{0}, the primitives reflect the current time as
usual. Any other value elicits a warning, and the current time is used.
-(This is useful only if one wants to make reproducible \PDF{}s for a set
+This is useful if one wants to make reproducible \PDF{}s for a set
of documents without changing them in any way, e.g., an operating system
distribution with manuals that use \type{\today}. Except in such unusual
circumstances, it is better not to set this, and let the \TEX\
-primitives retain the meaning they have always had.)
+primitives retain the meaning they have always had.
In addition, if both \type{SOURCE_DATE_EPOCH} and
\type{FORCE_SOURCE_DATE} are set, \type{\pdffilemoddate} returns a value
@@ -2528,19 +2535,19 @@ will try to scale (shrink) the glyphs in that line using fixed steps,
until the line fits. When lines are too spacy, the opposite happens:
\PDFTEX\ starts scaling (stretching) the glyphs until the white space
gaps is acceptable. This glyph stretching and shrinking is called
-{\em font expansion}. To enable font expansion, don't forget to set
-\type{\pdfadjustspacing} to a value greater than zero.
+{\em font expansion}. To enable font expansion, \type{\pdfadjustspacing}
+must be set to a value greater than zero.
There are two different modes for font expansion:
First, if the \type{autoexpand} option is given --- which is the
recommended mode --- only a single map entry is needed for all expanded
font versions, using the name of the unexpanded \TFM\ file ({\em
-tfmname}). No expanded {\em tfmname} versions need to mentioned (they are
-ignored), as \PDFTEX\ generates expanded copies of the unexpanded \TFM\
+tfmname}). No expanded {\em tfmname} versions need be mentioned (they are
+ignored), as \PDFTEX\ generates expanded instances of the unexpanded \TFM\
data structures and keeps them in its memory. Since \PDFTEX~1.40.0 the
\type{autoexpand} mode happens within the page stream by modification of
-the text matrix (\PDF\ operator ``\type{Tm}''), and not anymore on font
+the text matrix (\PDF\ operator ``\type{Tm}''), and not at the font
file level, giving the advantage that it now works not only with Type~1
but also with TrueType and OpenType fonts (and even without embedding
a font file; but that's not recommended). In this mode \PDFTEX\ requires
@@ -2552,17 +2559,25 @@ in all required expansion values. The expanded {\em tfmname} variants
are constructed by adding the font expansion value to the {\em tfmname}
of the base font, \eg\ there must be a map entry with {\em tfmname}
\type{sometfm+10} for 1\,\% stretch or \type{sometfm-15} for 1.5\,\%
-shrink. This also means, that for each expanded font variant a \TFM\
+shrink. This also means that for each expanded font variant a \TFM\
file with properly expanded metrics must exist. Having several map
-entries for the various expansion values of a font requires to provide
+entries for the various expansion values of a font requires providing
for each expansion value an individually crafted font file with expanded
glyphs. Depending on how these glyphs are generated, this might give
slightly better glyph forms than the rather simple glyph stretching
used in \type{autoexpand mode}. The drawback is that several font
files will be embedded in the \PDF\ output for each expanded font,
leading to significantly larger \PDF\ files than in \type{autoexpand}
-mode. For moderate expansion values going without \type{autoexpand}
-mode is not worth the trouble.
+mode. For moderate expansion values, going without \type{autoexpand}
+mode is typically not worth the trouble.
+
+A caveat: when \type{\pdffontexpand} is executed, \PDFTEX\ immediately
+loads two fonts, at the maximum stretch and shrink; in our example,
+\type{sometfm+30} and \type{sometfm-20}. (If they aren't available,
+\type{mktextfm} may be uselessly called, and then an error message
+issued.) This happens even if those fonts never end up being used, which
+is arguably undesirable, but hard to change. It is not a problem when
+using \type{autoexpand}.
The font expansion mechanism is inspired by an optimization first
introduced by Prof.~Hermann Zapf, which in itself goes back to
@@ -2571,7 +2586,8 @@ glyphs to optimize the grayness of a page. So, there are many, slightly
different~a's, e's, etc. For practical reasons \PDFTEX\ does not use
such huge glyph collections; it uses horizontal scaling instead. This is
sub||optimal, and for many fonts, possibly offensive to the design. But,
-when using \PDF, it's not illogical: \PDF\ viewers use so||called
+when using \PDF, it's not illogical: \PDF\ viewers support arbitrary
+scaling, after all. (Also, they used to use so||called
Multiple Master fonts when no fonts are embedded and|/|or can be found
on the target system. Such fonts are designed to adapt their design to
the different scaling parameters. It is up to the user to determine
@@ -2579,7 +2595,8 @@ to what extent mixing slightly remastered fonts can be used without
violating the design. Think of an O: when geometrically stretched, the
vertical part of the glyph becomes thicker, and looks incompatible with
an unscaled original. With a Multiple Master situation, one can stretch
-while keeping this thickness compatible.
+while keeping this thickness compatible. Perhaps something similar
+happens with TrueType and OpenType fonts nowadays.)
\pdftexprimitive{\Syntax{\Tex{\pdfadjustspacing} \Whatever{integer}}}
\bookmark{\tex{pdfadjustspacing}}
@@ -3029,16 +3046,17 @@ including fonts in the output. Such a resource (also called a CMap
resource) maps glyph names to Unicode characters in a \PDF\ file.
Lacking such a resource, it is the \PDF\ reader which determines how and
whether searching in the \PDF\ file works. In practice, searching for
-basic ASCII characters generally works, but searching for anything
+basic \ASCII\ characters generally works, but searching for anything
beyond those, including ligatures such as `fi', fails in some versions
-of some PDF browsers (most notably Adobe Reader).
+of some \PDF\ browsers (most notably Adobe Reader).
If \type{\pdfgentounicode} is set to \type{1} when the job ends, the
\type{/ToUnicode} resource will be included in the output, with mappings
for Type~1 fonts used in the documents. The mapping is created as
follows: for each glyph in the font, look for its \type{ToUnicode} value
-in a global hash table. By default that global hash table is empty;
-entries are added to the table using the following command:
+in a global hash table. By default that global hash table is empty, in
+which case \PDFTEX\ merely emits a warning. Entries are added to the
+table using the following command:
\pdftexprimitive{\Syntax{\Tex{\pdfglyphtounicode} \Something{general text}
\Something{general text}}}
@@ -3054,9 +3072,15 @@ numeric values denoting characters, separated by spaces. For instance:
\noindent maps the \type{ff} ligature to a pair of \type{f}'s (whose
code is \type{U+0066}).
-The \type{glyphtounicode.tex} file (distributed with \PDFTEX\ and other
-software) contains thousands of such definitions, covering most common
-glyph names. So, for practical purposes, one would probably want:
+Once a single \type{\pdfglyphtounicode} definition is made, whether it
+is used or not, another feature comes into play: glyph names of the form
+\type{uniXXXX} or \type{uXXXX} are mapped to the natural \type{U+XXXX}.
+Many fonts use this style of naming.
+
+In addition, the \type{glyphtounicode.tex} file (distributed with
+\PDFTEX\ and other software) contains thousands of such definitions,
+covering most common glyph names. So, for practical purposes, one would
+probably want:
\starttyping
\input glyphtounicode
@@ -3926,6 +3950,38 @@ and fixing the macros may well not be trivial. Then seeing the warnings
on every run is just noise, and can be suppressed by setting this
parameter to a positive number. \introduced{1.40.13}
+\pdftexprimitive{\Syntax{\Tex{\pdfrunninglinkoff}}}
+\pdftexprimitive{\Syntax{\Tex{\pdfrunninglinkon}}}
+
+These commands create corresponding whatsit nodes which turn off/on
+generation of running links. Their typical usage is to turn off
+generation of running links in the header or footer of a page.
+Generation of running links is on when the shipout routine begins.
+
+The generation of running links works roughly like this: \PDFTEX\ keeps
+a stack of links created by \type{\pdfstartlink}, called
+\type{pdf_link_stack}. When writing out an hbox to \PDF, \PDFTEX\ checks
+if the nesting level of the box is the same as the nesting level of the
+top entry in \type{pdf_link_stack}; if yes that box would become a link,
+too.
+
+The whatsit nodes created by the above primitives turn off/on a flag
+which controls if a hbox being shipped can become a link, in addition to
+the previous condition.
+
+Thus, the commands must be inserted before the hbox in question. For example:
+
+\starttyping
+% (1) good:
+\hbox{\pdfrunninglinkoff
+ \hbox{this is a line that would become a link otherwise}
+}
+
+% (2) bad:
+\hbox{\pdfrunninglinkoff this is a line that would become a link}
+% too late; \pdfrunninglinkoff must be inserted before the box
+\stoptyping
+
%***********************************************************************
\subsection{Bookmarks}
@@ -4274,8 +4330,8 @@ example, the first ten bytes of the source of this manual are {\tt
As of \TEXLIVE\ 2020, the \type{\input} primitive in all \TEX\ engines,
including \PDFTEX, now also accepts a group-delimited filename argument,
as a system-dependent extension, as in \type{\input\Lbrace
-foo.tex\Rbrace}. The usage with a standard space/token-delimited
-filename is completely unchanged.
+foo.tex\Rbrace}. The usage of \type{\input} with a standard
+space/token-delimited filename is completely unchanged.
This group-delimited argument was previously implemented in Lua\TEX; now
it is available in all engines. \ASCII\ double quote characters
@@ -4288,9 +4344,11 @@ primitive, command line option, etc. This is allowed because additional
methods of recognizing filenames are explicitly mentioned in
\type{tex.web} as acceptable system-dependent extensions.
-Incidentally, this does not currently
-affect \LATEX's \type{\input} command, as that is a macro redefinition
-of the standard \type{\input} primitive. \introduced{1.40.21}
+Incidentally, this does not directly affect \LATEX's \type{\input}
+command, as that is a macro redefinition of the standard \type{\input}
+primitive.
+
+\introduced{1.40.21}
%***********************************************************************
@@ -4475,10 +4533,8 @@ in \DVI\ mode.
\pdftexprimitive{\Syntax{\Tex{\pdfshellescape} \Whatever{read||only integer}}}
\bookmark{\tex{pdfshellescape}}
-This primitive is~1 if \type{\write18} is enabled, 2 if it is
-restricted, and 0 otherwise. (\type{\write18} was
-\ifnum\pdfshellescape=0\relax not \fi enabled when this manual was
-typeset.) \introduced{1.30.0}
+This primitive is~1 if \type{\write18} is enabled, 2 if its operation is
+restricted to known-safe programs, and 0 otherwise. \introduced{1.30.0}
\pdftexprimitive{\Syntax{\Tex{\pdftexbanner} \Whatever{expandable}}}
@@ -4502,19 +4558,108 @@ this document), it returns the number {\tt \pdftexrevision}.
\bookmark{\tex{pdftexversion}}
Returns the version of \PDFTEX\ multiplied by 100, \eg\ for \PDFTEX\
-version \expandafter\versplit\the\pdftexversion.\pdftexrevision\ used to
-produce this document, it returns {\tt \number\pdftexversion}.
+version \expandafter\versplit\the\pdftexversion.\pdftexrevision\ (used to
+produce this document), it returns {\tt \number\pdftexversion}.
\pdftexprimitive{\Syntax{\Tex{\quitvmode}}}
\bookmark{\tex{quitvmode}}
The primitive instructs \PDFTEX\ to quit vertical mode and start
-typesetting a paragraph. \type{\quitvmode} has the same effect as
-\type{\leavevmode} definition from \type{plain} macro package. Note
-however, that \type{\leavevmode} may conflict with \type{\everypar}
-tokens list. No such risk while using \type{\quitvmode} instead.
-\introduced{1.21a}
+typesetting a paragraph. Thus, \type{\quitvmode} has the same basic
+effect as the \type{\leavevmode} macro from \type{plain.tex}. However,
+\type{\leavevmode} expands the \type{\everypar} tokens list, which may
+or may not be desired. \type{\quitvmode} does not expand
+\type{\everypar}. \introduced{1.21a}
+
+
+\pdftexprimitive{\Syntax{\Tex{\tracinglostchars} \Whatever{integer}}}
+\bookmark{\tex{tracinglostchars}}
+
+This primitive parameter has always been part of \TEX, and its operation
+with values $\le2$ is unchanged. In addition, if its value is
+$\ge3$, then \quote{Missing character} reports become full errors
+(ordinarily they are only logged), and the character code is reported in
+hex. For example:
+
+\starttyping
+\tracinglostchars=3
+\font\x=logo10 \x \char99 \end
+\stoptyping
+
+will result in this error message:
+\starttyping
+! Missing character: There is no c ("63) in font logo10.
+\stoptyping
+
+(The \type{logo10} font only defines the capital letters used in the
+\METAFONT\ and \METAPOST\ logos, so there is no lowercase.)
+
+This new behavior is essentially the same in all \TeX\ engines except
+the original \TEX\ and \eTeX, where the behavior of
+\type{\tracinglostchars} remains unchanged.
+
+\introduced{1.40.22}
+
+\pdftexprimitive{\Syntax{\Tex{\tracingstacklevels} \Whatever{integer}}}
+\bookmark{\tex{tracingstacklevels}}
+
+If this primitive parameter is $>0$, and \type{\tracingmacros}$\,>0$,
+macro expansion logging is truncated at the specified depth. Also, and
+more importantly, each relevant log line is given a prefix beginning
+with \type{~}, either followed by a \type{.} character for each
+expansion level or only another \type{~} if the expansion was truncated.
+For example:
+
+\starttyping
+\tracingmacros=1 % so macro expansion is logged at all
+\tracingstacklevels=2 % cut off at level 2
+\def\a#1{\relax} % argument to show parameter logging is affected too
+\def\b#1{\a{#1}}
+\b1
+\stoptyping
+
+\noindent logs the following:
+
+\starttyping
+~.\b #1->\a {#1}
+#1<-1
+~~\a
+\stoptyping
+
+Thus, the expansion of \type{\b} is logged normally, with the addition
+of the \type{~.} prefix. The expansion of \type{\a} is truncated
+(level~2), hence neither the parameters nor body expansion are shown.
+
+Furthermore, an \type{\input} file counts as an expansion level, and the
+input filename is logged. So, if we add this to our example above:
+\starttyping
+\input anotherfile
+\stoptyping
+
+where \type{anotherfile.tex} simply contains \type{\b2}, the log will
+get:
+
+\starttyping
+~.INPUT anotherfile.tex
+~~\b
+~~\a
+\stoptyping
+
+Now the \type{\b} expansion is not logged either, since the expansion
+depth is higher than the \type{\tracingstacklevels} value.
+
+The intended use of \type{\tracingstacklevels} is not so much to
+truncate logging as to indicate the expansion levels for detailed
+debugging. Thus normally it would be set to a large number
+(\type{\maxdimen}, say), so that everything is fully logged, with the
+addition of the expansion level indication with the number of dots in
+the prefix.
+
+The behavior is the same in all \TeX\ engines except the original \TEX\
+and \eTeX, where \type{\tracingstacklevels} remains undefined.
+
+\introduced{1.40.22}
\pdftexprimitive{\Syntax{\Tex{\vadjust}
@@ -4529,7 +4674,7 @@ The \type{\vadjust} implementation of \PDFTEX\ adds an optional
qualifier \Something{pre spec}, which is simply the string \type{pre}, to
the original \TEX\ primitive with the same name. If
no \type{pre} is given, \type{\vadjust} behaves exactly as the original
-(see the \TEX book, p.~281): it appends an adjustment item created
+(see {\em The \TEX book}, p.~281): it appends an adjustment item created
from \Something{vertical mode material} to the current list {\em after}
the line in which \type{\vadjust} appears. However, with the qualifier
\type{pre}, the adjustment item is put {\em before} the line in which
@@ -4923,19 +5068,19 @@ drawing editor, and that is suitable for input to text formatters or
for automatic translation to a variety of formats suitable for input
to text formatters. A copy made in an otherwise Transparent file
format whose markup, or absence of markup, has been arranged to thwart
-or discourage subsequent modification by \PDF\ viewers is not Transparent.
+or discourage subsequent modification by PDF viewers is not Transparent.
An image format is not Transparent if used for any substantial amount
of text. A copy that is not ``Transparent'' is called {\bf ``Opaque''}.
Examples of suitable formats for Transparent copies include plain
ASCII without markup, Texinfo input format, LaTeX input format, SGML
or XML using a publicly available DTD, and standard-conforming simple
-HTML, \POSTSCRIPT\ or \PDF\ designed for human modification. Examples of
+HTML, \POSTSCRIPT\ or PDF designed for human modification. Examples of
transparent image formats include PNG, XCF and JPG. Opaque formats
include proprietary formats that can be read and edited only by
proprietary word processors, SGML or XML for which the DTD and/or
processing tools are not generally available, and the
-machine-generated HTML, \POSTSCRIPT\ or \PDF\ produced by some word
+machine-generated HTML, \POSTSCRIPT\ or PDF produced by some word
processors for output purposes only.
The {\bf ''Title Page''} means, for a printed book, the title page itself,
diff --git a/systems/doc/pdftex/manual/pdftex-w.tex b/systems/doc/pdftex/manual/pdftex-w.tex
index adc1bef771..a32da4e54c 100644
--- a/systems/doc/pdftex/manual/pdftex-w.tex
+++ b/systems/doc/pdftex/manual/pdftex-w.tex
@@ -1,13 +1,13 @@
-% $Id: pdftex-w.tex 822 2020-03-02 16:57:37Z karl $
+% $Id: pdftex-w.tex 849 2021-02-18 17:55:44Z karl $
% run with -ini:
\catcode`{=1 \catcode`}=2
\def\TeX{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX}
- \hsize=6.5in \vsize=9in
+ \hsize=6.5in \vsize=9in \parfillskip=0pt plus1fil
\pdfoutput=1
\pdfcompresslevel=0
\pdfobjcompresslevel=0
\pdfmapline{ptmr8r Times-Roman 2 <8r.enc}
\font\tenrm=ptmr8r
\tenrm
-Welcome to pdf\TeX!\hfil
+Welcome to pdf\TeX!\par
\end