summaryrefslogtreecommitdiff
path: root/Build/source/texk/afm2pl
diff options
context:
space:
mode:
authorSiep Kroonenberg <siepo@cybercomm.nl>2009-06-21 11:01:28 +0000
committerSiep Kroonenberg <siepo@cybercomm.nl>2009-06-21 11:01:28 +0000
commitdc717cfac7d5604d61c0e6371841cceab4d0e2cf (patch)
tree5d9c62e0c6f48d882dc65006e69896addb3de7bd /Build/source/texk/afm2pl
parent35f8c4ec61cda3a387263168f451b06619cb5dfc (diff)
Removed unused doc formats
git-svn-id: svn://tug.org/texlive/trunk@13851 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/afm2pl')
-rw-r--r--Build/source/texk/afm2pl/afm2pl.html202
-rw-r--r--Build/source/texk/afm2pl/afm2pl.txt295
2 files changed, 0 insertions, 497 deletions
diff --git a/Build/source/texk/afm2pl/afm2pl.html b/Build/source/texk/afm2pl/afm2pl.html
deleted file mode 100644
index b5d87ff1aa9..00000000000
--- a/Build/source/texk/afm2pl/afm2pl.html
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>afm2pl</title><meta name="generator" content="DocBook XSL Stylesheets V1.64.1" /></head><body><div class="article" lang="en" xml:lang="en"><div class="titlepage"><div><div><h1 class="title"><a id="id4663055"></a>afm2pl</h1></div><div><div class="author"><h3 class="author"><span class="firstname">Siep</span> <span class="surname">Kroonenberg</span></h3><div class="affiliation"><div class="address"><p><tt class="email">&lt;<a href="mailto:ntg-afm2pl@ntg.nl">ntg-afm2pl@ntg.nl</a>&gt;</tt></p></div></div></div></div><div><p class="copyright">Copyright © 2004 Siep Kroonenberg</p></div></div><div></div><hr /></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="#id4671274">afm2pl</a> - convert AFM font metrics to TeX pl font metrics
- </dt></dl></div><div class="refentry" lang="en" xml:lang="en"><a id="id4671274"></a><div class="titlepage"><div></div><div></div></div><div class="refnamediv"><h2>Name</h2><p>afm2pl — convert AFM font metrics to TeX pl font metrics
- </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><tt class="command">afm2pl</tt> [<tt class="option">-p</tt>
- <i class="replaceable"><tt>encoding_file</tt></i>
- ] [<tt class="option">-o</tt>] [<tt class="option">-e</tt>
- <i class="replaceable"><tt>extension_factor</tt></i>
- ] [<tt class="option">-s</tt>
- <i class="replaceable"><tt>slant_factor</tt></i>
- ] [<tt class="option">-f</tt>
- <i class="replaceable"><tt>font_dimensions</tt></i>
- ] [<tt class="option">-k</tt>] [<tt class="option">-m</tt>
- <i class="replaceable"><tt>letter_spacing</tt></i>
- ] [<tt class="option">-l</tt>
- <i class="replaceable"><tt>ligkern_spec</tt></i>
- ] [<tt class="option">-L</tt>
- <i class="replaceable"><tt>ligkern_spec</tt></i>
- ] {<i class="replaceable"><tt>input_file[.afm]</tt></i>} [<i class="replaceable"><tt>output_file[.pl]</tt></i>]</p></div><div class="cmdsynopsis"><p><tt class="command">afm2pl</tt> {[--help] | [--version]}</p></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="id4664175"></a><h2>Description</h2><p>afm2pl converts an afm (Adobe Font Metric) file into a pl
-(Property List) file, which in its turn can be converted to a tfm
-(TeX Font Metric) file. It preserves kerns and ligatures.</p><p>afm2pl is meant to be a replacement for afm2tfm, on which it
-is based. With afm2tfm, preserving kerns and ligatures is possible
-only in a roundabout way.</p><p>For text fonts, Y&amp;Y's texnansi is the recommended encoding
-to be used with afm2pl. This gives you a good character set with
-all the more important accented characters and many typographic
-symbols available as single characters, without a need for either
-virtual fonts or a separate text companion font.</p><p>Full LaTeX support for this encoding is available in the form
-of the texnansi package, which is already part of TeX Live and
-teTeX. These distributions also contain the encoding file
-texnansi.enc.</p><p>The distribution contains uppercased and lowercased versions
-of texnansi, viz. texnanuc.enc and texnanlc.enc, to allow font-based
-rather than macro-based uppercasing and lowercasing, and the
-familiar old ot1 encoding plus some variations in PostScript .enc
-format (I included these because they seem to be absent from
-teTeX/TeX Live). </p><p>Return value: 0 if no error; a negative number indicating the
-number of missing glyphs if
-conversion was successfull but glyphs are missing, and 1 in case of
-error.</p></div><div class="refsect1" lang="en" xml:lang="en"><a id="id4664229"></a><h2>Options</h2><div class="variablelist"><dl><dt><span class="term"><tt class="option">-p</tt> <i class="replaceable"><tt>encoding_file</tt></i></span></dt><dd><p>The default is the encoding specified
- in the afm file, which had better match the encoding in the
- fontfile (pfa or pfb). The generated mapfile entry (see below)
- instructs pdftex or the dvi driver to reencode the font on the fly.
- On-the-fly reencoding does not require virtual fonts.</p></dd><dt><span class="term"><tt class="option">-o</tt></span></dt><dd><p>Use octal for all character codes in the pl file.</p></dd><dt><span class="term"><tt class="option">-e</tt> <i class="replaceable"><tt>extend_factor</tt></i></span></dt><dd><p>Widen or narrow characters by
- <i class="replaceable"><tt>extend_factor</tt></i>. Default is 1.0
- (natural width). Not recommended, except that
- arguably a narrowed Courier is less jarring than a full-width
- Courier, when used in
- combination with a normal proportional font.
- For Courier, choose .833 to match the width of cmtt.</p></dd><dt><span class="term"><tt class="option">-s</tt> <i class="replaceable"><tt>slant_factor</tt></i></span></dt><dd><p>Oblique (slant) characters by
- <i class="replaceable"><tt>slant_factor</tt></i>.
- Not recommended.</p></dd><dt><span class="term"><tt class="option">-f</tt>
- <i class="replaceable"><tt>font_dimensions</tt></i></span></dt><dd><p>The value is either the
- keyword <tt class="literal">afm2tfm</tt> or a comma-separated list of up
- to five integers. The parameters are listed below, with their
- defaults and their value when the afm2tfm keyword is
- specified. ‘Space’ means the width of a space in the
- target font, except of course in the last row.
- Keep in mind that the design size is 1000, and that all numbers
- must be nonnegative integers.</p><div class="informaltable"><table border="1"><colgroup><col /><col /><col /></colgroup><thead><tr><th>Font dimension</th><th>Default value</th><th>Afm2tfm value</th></tr></thead><tbody><tr><td><i class="replaceable"><tt>stretch</tt></i></td><td>space div 2</td><td>300 × <i class="replaceable"><tt>extend_factor</tt></i></td></tr><tr><td><i class="replaceable"><tt>shrink</tt></i></td><td>space div 3</td><td>100 × <i class="replaceable"><tt>extend_factor</tt></i></td></tr><tr><td><i class="replaceable"><tt>extra space</tt></i></td><td>space div 3</td><td>missing</td></tr><tr><td><i class="replaceable"><tt>quad</tt></i></td><td>2 × width of ‘0’</td><td>1000 × <i class="replaceable"><tt>extend_factor</tt></i></td></tr><tr><td><i class="replaceable"><tt>space</tt></i></td><td>(space source font) × <i class="replaceable"><tt>extend_factor</tt></i></td><td>(space source font) × <i class="replaceable"><tt>extend_factor</tt></i></td></tr></tbody></table></div><p>For fixed-pitch fonts, different values apply:</p><div class="informaltable"><table border="1"><colgroup><col /><col /><col /></colgroup><thead><tr><th>Font dimension</th><th>Default value</th><th>Afm2tfm value</th></tr></thead><tbody><tr><td><i class="replaceable"><tt>stretch</tt></i></td><td>0</td><td>0</td></tr><tr><td><i class="replaceable"><tt>shrink</tt></i></td><td>0</td><td>0</td></tr><tr><td><i class="replaceable"><tt>extra space</tt></i></td><td>space</td><td>missing</td></tr><tr><td><i class="replaceable"><tt>quad</tt></i></td><td>2 × character width</td><td>1000 × <i class="replaceable"><tt>extend_factor</tt></i></td></tr><tr><td><i class="replaceable"><tt>space</tt></i></td><td>character width</td><td>character width</td></tr></tbody></table></div><p>Specify just a non-default stretch and shrink with
- e.g. <tt class="literal">150,70</tt> and just a non-default extra
- space with <tt class="literal">,,10</tt>.</p></dd><dt><span class="term"><tt class="option">-k</tt></span></dt><dd><p>Keep original ligatures. This option only has effect in
- combination with positive letterspacing; see the section on
- <a href="#lspace" title="Letterspacing and extra ligkern info">letterspacing and extra ligkern info.</a>
- </p></dd><dt><span class="term"><tt class="option">-m</tt> <i class="replaceable"><tt>letter_spacing</tt></i></span></dt><dd><p>Letterspace by
- <i class="replaceable"><tt>letter_spacing</tt></i>/1000 em (integer). This is
- useful for making all-caps typesetting look better. Try a value
- of e.g. 50 or 100. But see the section
- on <a href="#lspace" title="Letterspacing and extra ligkern info">letterspacing and extra ligkern info</a>
- for details.</p></dd><dt><span class="term"><tt class="option">-l</tt> <i class="replaceable"><tt>ligkern_spec</tt></i>, </span><span class="term"><tt class="option">-L</tt> <i class="replaceable"><tt>ligkern_spec</tt></i></span></dt><dd><p> See the section
- on <a href="#lspecs" title="Extra ligkern info">extra ligkern info</a>
- for details.</p></dd><dt><span class="term"><tt class="option">-V</tt></span></dt><dd><p>Verbose. If turned on, it reports the number of missing
- glyphs to stderr and their names to stdout. This is not particularly
- logical, but this way the glyph names can be captured even under Windows.
- </p></dd><dt><span class="term"><tt class="option">--help</tt></span></dt><dd><p>Display a short usage message.</p></dd><dt><span class="term"><tt class="option">--version</tt></span></dt><dd><p>Display the version number of afm2pl.</p></dd></dl></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="id4662921"></a><h2>Mapfile entries</h2><p>afm2pl writes a mapfile entry to a file with the same basename
-as the pl output file, but with extension .map. It can be used for
-the dvips mapfile and for the pdftex mapfile, although, in case of a
-geometrically transformed font, it may be better to remove the
-PostScript name for a pdftex mapfile entry. It is assumed that the
-pfb file has the same basename as the afm file and must be
-downloaded. <span class="emphasis"><em>You may have to hand-edit this
-entry.</em></span></p><p>You can configure dvips and pdftex to read this additional
-mapfile or otherwise add the entry to an existing mapfile. It
-appears that pdftex automatically will consult a mapfile xxx.map for
-a font xxx.</p></div><div class="refsect1" lang="en" xml:lang="en"><a id="lspecs"></a><h2>Extra ligkern info</h2><p><span class="emphasis"><em>Most users are well-advised to leave this mess alone
-and to accept the default behavior.</em></span></p><p>The ligatures and kerns present in the afm file can be
-modified in various ways. Default, the encoding file is scanned for
-extra ligkern specifications, whose format will be described below.
-If there are no ligkern specifications in the encoding file, then
-extra ligkern specifications will be read from a file default.lig. A
-value of 0 for <i class="replaceable"><tt>ligkern_spec</tt></i> means that
-the ligatures and kerns from the afm file won't be tampered with and
-a value of 1 specifies default behavior. One can also specify a
-comma-separated list of files with extra ligkerns specs.</p><p>If afm2pl is compiled with the kpathsea library, then these
-files will be searched for under $TEXMF/fonts/lig.</p><p><span class="emphasis"><em>Note that ligatures and kerns are hints for the
-typesetting application; there is no need to download this
-information to the printer or to make it available to a dvi
-driver.</em></span></p><p>The parser for ligkern info has been inherited from afm2tfm
-virtually without change. A ligkern specification can have one of
-the following forms:</p><pre class="screen">
-<i class="replaceable"><tt>glyph_name1</tt></i> <i class="replaceable"><tt>glyph_name2</tt></i> <i class="replaceable"><tt>lig_op</tt></i> <i class="replaceable"><tt>glyph_name3</tt></i> ;
-</pre><p>This specifies a ligature. Possible values for
-<i class="replaceable"><tt>lig_op</tt></i> are <tt class="literal">=:</tt>,
-<tt class="literal">|=:</tt>, <tt class="literal">|=:&gt;</tt>,
-<tt class="literal">=:|</tt>, <tt class="literal">=:|&gt;</tt>,
-<tt class="literal">|=:|</tt>, <tt class="literal">|=:|&gt;</tt> and
-<tt class="literal">|=:|&gt;&gt;</tt>.
-These correspond to <tt class="literal">LIG</tt>,
-<tt class="literal">/LIG</tt>, <tt class="literal">/LIG&gt;</tt>,
-<tt class="literal">LIG/</tt>, <tt class="literal">LIG/&gt;</tt>,
-<tt class="literal">/LIG/</tt>, <tt class="literal">/LIG/&gt;</tt>,
-<tt class="literal">/LIG/&gt;&gt;</tt> in .pl syntax; see the pltotf
-documentation and the .lig files in the distribution.</p><pre class="screen">
-<i class="replaceable"><tt>glyph_name1</tt></i> &lt;&gt; <i class="replaceable"><tt>glyph_name2</tt></i> ;
-</pre><p>Kern <i class="replaceable"><tt>glyph_name1</tt></i> as
-<i class="replaceable"><tt>glyph_name2</tt></i>.</p><pre class="screen">
-<i class="replaceable"><tt>glyph_name1</tt></i> {} <i class="replaceable"><tt>glyph_name2</tt></i> ;
-</pre><p>Remove the kern between <i class="replaceable"><tt>glyph_name1</tt></i>
-and <i class="replaceable"><tt>glyph_name2</tt></i>. A value of
-<tt class="literal">*</tt> for either glyph name is interpreted as a
-wildcard.</p><pre class="screen">
-|| = <i class="replaceable"><tt>glyph</tt></i> ;
-</pre><p>Set the (right) boundary character to
-<i class="replaceable"><tt>glyph</tt></i>. <i class="replaceable"><tt>glyph</tt></i>
-may be either a glyphname or a slot in the encoding vector. Choosing
-a glyph which doesn't occur in the output encoding is equivalent to
-not specifying a boundarychar at all. It is ok to pick an encoded
-glyphname which does not occur in the afm. In fact, this is what
-default.lig does: <tt class="literal">|| = cwm ;</tt>.</p><p>You can copy the kerns of an unencoded character to the
-boundarychar:</p><pre class="screen">
-|| &lt;&gt; space ;
-</pre><p>This ligkern specification should occur before the one that
-deletes space kerns.</p><p>A ligkern specification should be contained within one line.
-One line may contain several ligkern specifications, separated by
-spaces. Note that <tt class="literal"> ;</tt> (space followed by
-semicolon) is considered part of the ligkern specification. See the
-lig files included in this distribution. Example:</p><pre class="screen">
-one {} * ; * {} one ; two {} * ; * {} two ;
-</pre><p>Lines with ligkern specifications inside an encoding file
-should start with <tt class="literal">% LIGKERN </tt>. Ligkern
-specifications in a lig file may optionally start this way.</p></div><div class="refsect1" lang="en" xml:lang="en"><a id="lspace"></a><h2>Letterspacing and extra ligkern info</h2><p>Letterspacing has various side-effects for ligkern
-info. Instead of simply applying the extra ligkern info (see
-previous section), the following is done:</p><div class="orderedlist"><ol type="1"><li><p>In case of positive letterspacing, native ligatures
-are removed, unless the -k option is specified.</p></li><li><p>Extra ligkern info is applied as usual, except that in
-case of positive letterspacing different defaults apply:
-<tt class="literal">-l 0</tt> is quietly ignored, ligkern comments in
-the encoding file are ignored, and defpre.lig is read instead of
-default.lig.</p></li><li><p>Letterspacing is applied. This adds a lot of kerns,
-and modifies existing kerns.</p></li><li><p>The extra ligkern info specified with -L is applied.
-The only ligkern specs which are allowed here, are removals of
-kerning pairs (with the <tt class="literal">{}</tt> operator). Values
-0 and 1 have a similar meaning as for the -l parameter. The tfm
-format has room for only about 180x180 ligatures and kerning pairs.
-This is enough for OT1 encoding, but for texnansi encoding quite a
-few ligkern specifications have to be removed. The pltotf program
-will remove <span class="emphasis"><em>all</em></span> ligkern info if too many
-ligatures and kerns remain. The default lig file is defpost.lig.
-This file throws out kerning pairs which are unlikely to be involved
-in letterspacing, such as kerns involving accents or kerns with a
-punctuation character or right bracket at the left. It does not add
-letterspacing kerns involving boundarychars. Instead, fontspace is
-increased by twice the letterspacing. defpost.lig throws out
-enough kerns in case of texnansi encoding. With other encodings,
-you may have to throw out additional kerning
-pairs.</p></li></ol></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="id4721019"></a><h2>Font-based upper- and lowercasing</h2><p>The distribution includes encoding vectors texnanuc.enc and
-texnanlc.enc which produce all-uppercase and all-lowercase fonts.
-The distribution contains an example ucshape.tex on how to use such
-fonts with LaTeX font selection.</p><p>The principal uses for an all-uppercase font are page headers
-and section heads. If these contain math, then macro-based
-uppercasing would create unpleasant complications.</p><div class="refsect2" lang="en" xml:lang="en"><a id="id4721038"></a><h3>The sz ligature ß</h3><p>Note that the texnanuc encoding provides no glyph for the sz
-ligature ß; you'll either have to substitute ss or provide a
-macro-based solution. The following code uses either the usual glyph
-or substitutes the letters ss, depending on whether the glyph exists
-in the current font:</p><pre class="programlisting">
-
-\def\ss{%
- \setbox0\hbox{\char25}%
- \ifnum\wd0=0 ss\else\box0\fi
-}
-
-</pre><p>In LaTeX, this code appears to work well enough, although on
-occasion you may need to insert <tt class="literal">\protect</tt>. A
-better solution might involve the sixth parameter of the
-<tt class="literal">\DeclareFontShape</tt> macro, but I failed to get
-that to work.</p></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="id4721081"></a><h2>Afm2pl, fontinst and artificial smallcaps</h2><p>Afm2pl currently doesn't do virtual fonts. That means that for
-things such as artificial smallcaps you have to turn elsewhere,
-e.g. to the fontinst package, which is part of any mainstream TeX
-distribution.</p><p>Look under texmf/tex/fontinst for fontinst support files,
-which allow you to generate a smallcaps font (tfm and vf files) from
-an afm2pl-generated tfm file. This package only supports texnansi
-encoding.</p><p>There should be no real problem in doing the same for OT1
-encoding. However, there are several variations of the OT1 encoding
-to take care of. Also, there are as far as I know no officially
-sanctioned PostScript names for all the variations of the OT1
-encoding; the fontinst names contain spaces and are therefore not
-useable as PostScript names.</p></div><div class="refsect1" lang="en" xml:lang="en"><a id="id4721115"></a><h2>Future plans</h2><p>I am considering a revision which makes afm2pl a more complete
-replacement for afm2tfm. In that version, afm2pl can optionally
-create a second, virtual font, possibly with a different encoding
-and possibly letterspaced. The current option of non-virtual
-letterspacing via kerns will be dropped. If the encodings differ
-then it is assumed that the virtual font is intended as a small-caps
-version of the main font, and a scaling parameter can be
-specified for non-matching glyphs.</p></div><div class="refsect1" lang="en" xml:lang="en"><a id="id4721133"></a><h2>Copyright</h2><p>The afm2pl distribution is subject to the GNU General Public Licence
-(GPL). Please refer to the file COPYING for details.</p><p>The afm2pl homepage is <a href="http://www.ntg.nl/afm2pl.html" target="_top">http://www.ntg.nl/afm2pl.html</a>.</p></div></div></div></body></html>
diff --git a/Build/source/texk/afm2pl/afm2pl.txt b/Build/source/texk/afm2pl/afm2pl.txt
deleted file mode 100644
index 936a9cc46d9..00000000000
--- a/Build/source/texk/afm2pl/afm2pl.txt
+++ /dev/null
@@ -1,295 +0,0 @@
-
-afm2pl
-
-Siep Kroonenberg
-
- <[1]ntg-afm2pl@ntg.nl>
-
- Copyright © 2004 Siep Kroonenberg
- _________________________________________________________________
-
- Table of Contents
-
- [2]afm2pl - convert AFM font metrics to TeX pl font metrics
-
-Name
-
- afm2pl -- convert AFM font metrics to TeX pl font metrics
-
-Synopsis
-
- afm2pl [-p encoding_file ] [-o] [-e extension_factor ] [-s
- slant_factor ] [-f font_dimensions ] [-k] [-m letter_spacing ] [-l
- ligkern_spec ] [-L ligkern_spec ] {input_file[.afm]}
- [output_file[.pl]]
-
- afm2pl {[--help] | [--version]}
-
-Description
-
- afm2pl converts an afm (Adobe Font Metric) file into a pl (Property
- List) file, which in its turn can be converted to a tfm (TeX Font
- Metric) file. It preserves kerns and ligatures.
-
- afm2pl is meant to be a replacement for afm2tfm, on which it is based.
- With afm2tfm, preserving kerns and ligatures is possible only in a
- roundabout way.
-
- For text fonts, Y&Y's texnansi is the recommended encoding to be used
- with afm2pl. This gives you a good character set with all the more
- important accented characters and many typographic symbols available
- as single characters, without a need for either virtual fonts or a
- separate text companion font.
-
- Full LaTeX support for this encoding is available in the form of the
- texnansi package, which is already part of TeX Live and teTeX. These
- distributions also contain the encoding file texnansi.enc.
-
- The distribution contains uppercased and lowercased versions of
- texnansi, viz. texnanuc.enc and texnanlc.enc, to allow font-based
- rather than macro-based uppercasing and lowercasing, and the familiar
- old ot1 encoding plus some variations in PostScript .enc format (I
- included these because they seem to be absent from teTeX/TeX Live).
-
- Return value: 0 if no error; a negative number indicating the number
- of missing glyphs if conversion was successfull but glyphs are
- missing, and 1 in case of error.
-
-Options
-
- -p encoding_file
- The default is the encoding specified in the afm file, which
- had better match the encoding in the fontfile (pfa or pfb). The
- generated mapfile entry (see below) instructs pdftex or the dvi
- driver to reencode the font on the fly. On-the-fly reencoding
- does not require virtual fonts.
-
- -o
- Use octal for all character codes in the pl file.
-
- -e extend_factor
- Widen or narrow characters by extend_factor. Default is 1.0
- (natural width). Not recommended, except that arguably a
- narrowed Courier is less jarring than a full-width Courier,
- when used in combination with a normal proportional font. For
- Courier, choose .833 to match the width of cmtt.
-
- -s slant_factor
- Oblique (slant) characters by slant_factor. Not recommended.
-
- -f font_dimensions
- font_dimensions is a comma-separated list of up to three
- integers, for successively stretch and shrink of the interword
- space, and extra space for between sentences (cf. spacefactor).
- Default values: one-half, one-third and one-third of the width
- of a space. Specify just a non-default stretch and shrink with
- e.g. 150,70 and just a non-default extra space with ,,10. For a
- fixed-pitch font this parameter is ignored.
-
- -k
- Keep original ligatures. This option only has effect in
- combination with positive letterspacing; see the section on
- [3]letterspacing and extra ligkern info.
-
- -m letter_spacing
- Letterspace by letter_spacing/1000 em (integer). This is useful
- for making all-caps typesetting look better. Try a value of
- e.g. 50 or 100. But see the section on [4]letterspacing and
- extra ligkern info for details.
-
- -l ligkern_spec, -L ligkern_spec
- See the section on [5]extra ligkern info for details.
-
- -V
- Verbose. If turned on, it reports the number of missing glyphs
- to stderr and their names to stdout. This is not particularly
- logical, but this way the glyph names can be captured even
- under Windows.
-
- --help
- Display a short usage message.
-
- --version
- Display the version number of afm2pl.
-
-Mapfile entries
-
- afm2pl writes a mapfile entry to a file with the same basename as the
- pl output file, but with extension .map. It can be used for the dvips
- mapfile and for the pdftex mapfile, although, in case of a
- geometrically transformed font, it may be better to remove the
- PostScript name for a pdftex mapfile entry. It is assumed that the pfb
- file has the same basename as the afm file and must be downloaded. You
- may have to hand-edit this entry.
-
- You can configure dvips and pdftex to read this additional mapfile or
- otherwise add the entry to an existing mapfile. It appears that pdftex
- automatically will consult a mapfile xxx.map for a font xxx.
-
-Extra ligkern info
-
- Most users are well-advised to leave this mess alone and to accept the
- default behavior.
-
- The ligatures and kerns present in the afm file can be modified in
- various ways. Default, the encoding file is scanned for extra ligkern
- specifications, whose format will be described below. If there are no
- ligkern specifications in the encoding file, then extra ligkern
- specifications will be read from a file default.lig. A value of 0 for
- ligkern_spec means that the ligatures and kerns from the afm file
- won't be tampered with and a value of 1 specifies default behavior.
- One can also specify a comma-separated list of files with extra
- ligkerns specs.
-
- If afm2pl is compiled with the kpathsea library, then these files will
- be searched for under $TEXMF/fonts/lig.
-
- Note that ligatures and kerns are hints for the typesetting
- application; there is no need to download this information to the
- printer or to make it available to a dvi driver.
-
- The parser for ligkern info has been inherited from afm2tfm virtually
- without change. A ligkern specification can have one of the following
- forms:
-glyph_name1 glyph_name2 lig_op glyph_name3 ;
-
- This specifies a ligature. Possible values for lig_op are =:, |=:,
- |=:>, =:|, =:|>, |=:|, |=:|> and |=:|>>. These correspond to LIG,
- /LIG, /LIG>, LIG/, LIG/>, /LIG/, /LIG/>, /LIG/>> in .pl syntax; see
- the pltotf documentation and the .lig files in the distribution.
-glyph_name1 <> glyph_name2 ;
-
- Kern glyph_name1 as glyph_name2.
-glyph_name1 {} glyph_name2 ;
-
- Remove the kern between glyph_name1 and glyph_name2. A value of * for
- either glyph name is interpreted as a wildcard.
-|| = glyph ;
-
- Set the (right) boundary character to glyph. glyph may be either a
- glyphname or a slot in the encoding vector. Choosing a glyph which
- doesn't occur in the output encoding is equivalent to not specifying a
- boundarychar at all. It is ok to pick an encoded glyphname which does
- not occur in the afm. In fact, this is what default.lig does: || = cwm
- ;.
-
- You can copy the kerns of an unencoded character to the boundarychar:
-|| <> space ;
-
- This ligkern specification should occur before the one that deletes
- space kerns.
-
- A ligkern specification should be contained within one line. One line
- may contain several ligkern specifications, separated by spaces. Note
- that ; (space followed by semicolon) is considered part of the ligkern
- specification. See the lig files included in this distribution.
- Example:
-one {} * ; * {} one ; two {} * ; * {} two ;
-
- Lines with ligkern specifications inside an encoding file should start
- with % LIGKERN . Ligkern specifications in a lig file may optionally
- start this way.
-
-Letterspacing and extra ligkern info
-
- Letterspacing has various side-effects for ligkern info. Instead of
- simply applying the extra ligkern info (see previous section), the
- following is done:
- 1. In case of positive letterspacing, native ligatures are removed,
- unless the -k option is specified.
- 2. Extra ligkern info is applied as usual, except that in case of
- positive letterspacing different defaults apply: -l 0 is quietly
- ignored, ligkern comments in the encoding file are ignored, and
- defpre.lig is read instead of default.lig.
- 3. Letterspacing is applied. This adds a lot of kerns, and modifies
- existing kerns.
- 4. The extra ligkern info specified with -L is applied. The only
- ligkern specs which are allowed here, are removals of kerning
- pairs (with the {} operator). Values 0 and 1 have a similar
- meaning as for the -l parameter. The tfm format has room for only
- about 180x180 ligatures and kerning pairs. This is enough for OT1
- encoding, but for texnansi encoding quite a few ligkern
- specifications have to be removed. The pltotf program will remove
- all ligkern info if too many ligatures and kerns remain. The
- default lig file is defpost.lig. This file throws out kerning
- pairs which are unlikely to be involved in letterspacing, such as
- kerns involving accents or kerns with a punctuation character or
- right bracket at the left. It does not add letterspacing kerns
- involving boundarychars. Instead, fontspace is increased by twice
- the letterspacing. defpost.lig throws out enough kerns in case of
- texnansi encoding. With other encodings, you may have to throw out
- additional kerning pairs.
-
-Font-based upper- and lowercasing
-
- The distribution includes encoding vectors texnanuc.enc and
- texnanlc.enc which produce all-uppercase and all-lowercase fonts. The
- distribution contains an example ucshape.tex on how to use such fonts
- with LaTeX font selection.
-
- The principal uses for an all-uppercase font are page headers and
- section heads. If these contain math, then macro-based uppercasing
- would create unpleasant complications.
-
-The sz ligature ß
-
- Note that the texnanuc encoding provides no glyph for the sz ligature
- ß; you'll either have to substitute ss or provide a macro-based
- solution. The following code uses either the usual glyph or
- substitutes the letters ss, depending on whether the glyph exists in
- the current font:
-
-\def\ss{%
- \setbox0\hbox{\char25}%
- \ifnum\wd0=0 ss\else\box0\fi
-}
-
- In LaTeX, this code appears to work well enough, although on occasion
- you may need to insert \protect. A better solution might involve the
- sixth parameter of the \DeclareFontShape macro, but I failed to get
- that to work.
-
-Afm2pl, fontinst and artificial smallcaps
-
- Afm2pl currently doesn't do virtual fonts. That means that for things
- such as artificial smallcaps you have to turn elsewhere, e.g. to the
- fontinst package, which is part of any mainstream TeX distribution.
-
- Look under texmf/tex/fontinst for fontinst support files, which allow
- you to generate a smallcaps font (tfm and vf files) from an
- afm2pl-generated tfm file. This package only supports texnansi
- encoding.
-
- There should be no real problem in doing the same for OT1 encoding.
- However, there are several variations of the OT1 encoding to take care
- of. Also, there are as far as I know no officially sanctioned
- PostScript names for all the variations of the OT1 encoding; the
- fontinst names contain spaces and are therefore not useable as
- PostScript names.
-
-Future plans
-
- I am considering a revision which makes afm2pl a more complete
- replacement for afm2tfm. In that version, afm2pl can optionally create
- a second, virtual font, possibly with a different encoding and
- possibly letterspaced. The current option of non-virtual letterspacing
- via kerns will be dropped. If the encodings differ then it is assumed
- that the virtual font is intended as a small-caps version of the main
- font, and a scaling parameter can be specified for non-matching
- glyphs.
-
-Copyright
-
- The afm2pl distribution is subject to the GNU General Public Licence
- (GPL). Please refer to the file COPYING for details.
-
- The afm2pl homepage is [6]http://www.ntg.nl/afm2pl.html.
-
-References
-
- 1. mailto:ntg-afm2pl@ntg.nl
- 2. file://localhost/home/siepo/afm2pl/afm2pl-0.7/afm2pl.html#id2447180
- 3. file://localhost/home/siepo/afm2pl/afm2pl-0.7/afm2pl.html#lspace
- 4. file://localhost/home/siepo/afm2pl/afm2pl-0.7/afm2pl.html#lspace
- 5. file://localhost/home/siepo/afm2pl/afm2pl-0.7/afm2pl.html#lspecs
- 6. http://www.ntg.nl/afm2pl.html