diff options
author | Siep Kroonenberg <siepo@cybercomm.nl> | 2009-06-21 11:01:28 +0000 |
---|---|---|
committer | Siep Kroonenberg <siepo@cybercomm.nl> | 2009-06-21 11:01:28 +0000 |
commit | dc717cfac7d5604d61c0e6371841cceab4d0e2cf (patch) | |
tree | 5d9c62e0c6f48d882dc65006e69896addb3de7bd /Build | |
parent | 35f8c4ec61cda3a387263168f451b06619cb5dfc (diff) |
Removed unused doc formats
git-svn-id: svn://tug.org/texlive/trunk@13851 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r-- | Build/source/texk/afm2pl/afm2pl.html | 202 | ||||
-rw-r--r-- | Build/source/texk/afm2pl/afm2pl.txt | 295 |
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"><<a href="mailto:ntg-afm2pl@ntg.nl">ntg-afm2pl@ntg.nl</a>></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&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">|=:></tt>, -<tt class="literal">=:|</tt>, <tt class="literal">=:|></tt>, -<tt class="literal">|=:|</tt>, <tt class="literal">|=:|></tt> and -<tt class="literal">|=:|>></tt>. -These correspond to <tt class="literal">LIG</tt>, -<tt class="literal">/LIG</tt>, <tt class="literal">/LIG></tt>, -<tt class="literal">LIG/</tt>, <tt class="literal">LIG/></tt>, -<tt class="literal">/LIG/</tt>, <tt class="literal">/LIG/></tt>, -<tt class="literal">/LIG/>></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> <> <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"> -|| <> 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 |