summaryrefslogtreecommitdiff
path: root/Build/source/texk/afm2pl/afm2pl.1
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/afm2pl/afm2pl.1')
-rw-r--r--Build/source/texk/afm2pl/afm2pl.1469
1 files changed, 0 insertions, 469 deletions
diff --git a/Build/source/texk/afm2pl/afm2pl.1 b/Build/source/texk/afm2pl/afm2pl.1
deleted file mode 100644
index 7261d375838..00000000000
--- a/Build/source/texk/afm2pl/afm2pl.1
+++ /dev/null
@@ -1,469 +0,0 @@
-.\" Title: afm2pl
-.\" Author:
-.\" Generator: DocBook XSL Stylesheets v1.73.2 <http://docbook.sf.net/>
-.\" Date: May 2009
-.\" Manual: afm2pl
-.\" Source:
-.\"
-.TH "AFM2PL" "1" "May 2009" "" "afm2pl"
-.\" disable hyphenation
-.nh
-.\" disable justification (adjust text to left margin only)
-.ad l
-.SH "NAME"
-afm2pl \- convert AFM font metrics to TeX pl font metrics
-.SH "SYNOPSIS"
-.HP 7
-\fBafm2pl\fR [\fB\-p\fR\ \fIencoding_file\fR] [\fB\-o\fR] [\fB\-e\fR\ \fIextension_factor\fR] [\fB\-s\fR\ \fIslant_factor\fR] [\fB\-f\fR\ \fIfont_dimensions\fR] [\fB\-k\fR] [\fB\-m\fR\ \fIletter_spacing\fR] [\fB\-l\fR\ \fIligkern_spec\fR] [\fB\-L\fR\ \fIligkern_spec\fR] [\fB\-n\fR] \fIinput_file[\&.afm]\fR [\fIoutput_file[\&.pl]\fR]
-.HP 7
-\fBafm2pl\fR [\-\-help] | [\-\-version]
-.SH "DESCRIPTION"
-.PP
-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 normally preserves kerns and ligatures, but also offers additional control over them\&.
-.PP
-afm2pl is meant to be a partial replacement for afm2tfm, on which it is based\&. With afm2tfm, preserving kerns and ligatures is possible only in a roundabout way, and handling of them is hard\-wired\&.
-.PP
-For text fonts, Y&Y\'s texnansi is a good encoding to be used with afm2pl\&. Its character set includes all the accented characters likely to be needed for Western languages, plus many typographic symbols, without a need for either virtual fonts or a separate text companion font\&.
-.PP
-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\&.
-.PP
-The distribution contains uppercased and lowercased versions of texnansi, viz\&. texnanuc and texnanlc, 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)\&. However,
-check your mapfiles
-if you have old afm2pl\-generated fonts using these\&.
-.PP
-Return value: 0 if no error; a negative number indicating the number of missing glyphs if conversion was otherwise successfull but glyphs are missing, and 1 in case of error\&.
-.SH "OPTIONS"
-.PP
-\fB\-p\fR \fIencoding_file\fR
-.RS 4
-The default is the encoding specified in the afm file, which had better match the encoding in the fontfile (pfa or pfb)\&. If
-afm2pl\-name\&.enc
-exists, afm2pl will use this file instead of
-name\&.enc, unless an option
-\-n
-is given\&. 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\&.
-.RE
-.PP
-\fB\-o\fR
-.RS 4
-Use octal for all character codes in the pl file\&.
-.RE
-.PP
-\fB\-e\fR \fIextend_factor\fR
-.RS 4
-Widen or narrow characters by
-\fIextend_factor\fR\&. Default is 1\&.0 (natural width)\&. Not recommended\&[1]\&.
-.RE
-.PP
-\fB\-s\fR \fIslant_factor\fR
-.RS 4
-Oblique (slant) characters by
-\fIslant_factor\fR\&. Not recommended either\&.
-.RE
-.PP
-\fB\-f\fR \fIfont_dimensions\fR
-.RS 4
-The value is either the keyword
-afm2tfm
-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\&. \(oqSpace\(cq 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\&.
-.TS
-allbox tab(:);
-lB lB lB.
-T{
-Font dimension
-T}:T{
-Default value
-T}:T{
-Afm2tfm value
-T}
-.T&
-l l l
-l l l
-l l l
-l l l
-l l l.
-T{
-\fIstretch\fR
-T}:T{
-space div 2
-T}:T{
-300 \(mu \fIextend_factor\fR
-T}
-T{
-\fIshrink\fR
-T}:T{
-space div 3
-T}:T{
-100 \(mu \fIextend_factor\fR
-T}
-T{
-\fIextra space\fR
-T}:T{
-space div 3
-T}:T{
-missing
-T}
-T{
-\fIquad\fR
-T}:T{
-2 \(mu width of \(oq0\(cq
-T}:T{
-1000 \(mu \fIextend_factor\fR
-T}
-T{
-\fIspace\fR
-T}:T{
-(space source font) \(mu \fIextend_factor\fR
-T}:T{
-(space source font) \(mu \fIextend_factor\fR
-T}
-.TE
-.sp
-For fixed\-pitch fonts, different values apply:
-.TS
-allbox tab(:);
-lB lB lB.
-T{
-Font dimension
-T}:T{
-Default value
-T}:T{
-Afm2tfm value
-T}
-.T&
-l l l
-l l l
-l l l
-l l l
-l l l.
-T{
-\fIstretch\fR
-T}:T{
-0
-T}:T{
-0
-T}
-T{
-\fIshrink\fR
-T}:T{
-0
-T}:T{
-0
-T}
-T{
-\fIextra space\fR
-T}:T{
-space
-T}:T{
-missing
-T}
-T{
-\fIquad\fR
-T}:T{
-2 \(mu character width
-T}:T{
-1000 \(mu \fIextend_factor\fR
-T}
-T{
-\fIspace\fR
-T}:T{
-character width
-T}:T{
-character width
-T}
-.TE
-.sp
-Specify just a non\-default stretch and shrink with e\&.g\&.
-150,70
-and just a non\-default extra space with
-,,10\&.
-.RE
-.PP
-\fB\-k\fR
-.RS 4
-Keep original ligatures\&. This option only has effect in combination with positive letterspacing; see the section on
-letterspacing and extra ligkern info\&.
-.RE
-.PP
-\fB\-m\fR \fIletter_spacing\fR
-.RS 4
-Letterspace by
-\fIletter_spacing\fR/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
-letterspacing and extra ligkern info
-for details\&. A better alternative, though, is letting pdftex do the letterspacing\&. The
-microtype
-package gives LaTeX users access to this feature\&.
-.RE
-.PP
-\fB\-l\fR \fIligkern_spec\fR, \fB\-L\fR \fIligkern_spec\fR
-.RS 4
-See the section on
-extra ligkern info
-for details\&.
-.RE
-.PP
-\fB\-n\fR
-.RS 4
-No prefix\&. For \&.enc\- and \&.lig files, the program normally first prefixes the name with `afm2pl\-\'\&. Only if the prefixed filename is not found, will it search for the original filename\&. This option prevents searching for the prefixed filename\&.
-.RE
-.PP
-\fB\-V\fR
-.RS 4
-Verbose\&. If turned on, it reports the number of missing glyphs to stderr and their names to stdout\&.
-.RE
-.PP
-\fB\-\-help\fR
-.RS 4
-Display a short usage message\&.
-.RE
-.PP
-\fB\-\-version\fR
-.RS 4
-Display the version number of afm2pl\&.
-.RE
-.SH "MAPFILE ENTRIES"
-.PP
-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\&. It is assumed that the pfb file has the same basename as the afm file and must be downloaded\&.
-\fIYou may have to hand\-edit this entry\&.\fR
-.PP
-You can configure dvips and pdftex to read this additional mapfile or otherwise add the entry to an existing mapfile\&.
-.PP
-\fBCheck your mapfiles!\fR
-To reduce the likelihood of name conflicts, the \&.enc\- files which are part of afm2pl (ot1, ot1csc, ot1ital, ot1tt, texnanlc and texnanuc) have now been prepended with
-afm2pl\-\&. The \&.enc files are referenced in mapfiles\&. If you have old afm2pl\-generated \&.tfm files using these, then you should update their mapfile fragments and rerun updmap or updmap\-sys\&. Or you can copy the relevant enc files to your personal or local texmf tree under their previous non\-prefixed names\&.
-.SH "EXTRA LIGKERN INFO"
-.PP
-\fIMost users are well\-advised to leave this mess alone and to accept the default behavior\&.\fR
-.PP
-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 [afm2pl\-]default\&.lig\&. A value of 0 for
-\fIligkern_spec\fR
-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\&.
-.PP
-If afm2pl is compiled with the kpathsea library, then these files will be searched for under $TEXMF/fonts/lig\&.
-.PP
-\fINote 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\&.\fR
-.PP
-The parser for ligkern info has been inherited from afm2tfm virtually without change\&. A ligkern specification can have one of the following forms:
-.sp
-.RS 4
-.nf
-\fIglyph_name1\fR \fIglyph_name2\fR \fIlig_op\fR \fIglyph_name3\fR ;
-.fi
-.RE
-.PP
-This specifies a ligature\&. Possible values for
-\fIlig_op\fR
-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\&.
-.sp
-.RS 4
-.nf
-\fIglyph_name1\fR <> \fIglyph_name2\fR ;
-.fi
-.RE
-.PP
-Kern
-\fIglyph_name1\fR
-as
-\fIglyph_name2\fR\&.
-.sp
-.RS 4
-.nf
-\fIglyph_name1\fR {} \fIglyph_name2\fR ;
-.fi
-.RE
-.PP
-Remove the kern between
-\fIglyph_name1\fR
-and
-\fIglyph_name2\fR\&. A value of
-*
-for either glyph name is interpreted as a wildcard\&.
-.sp
-.RS 4
-.nf
-|| = \fIglyph\fR ;
-.fi
-.RE
-.PP
-Set the (right) boundary character to
-\fIglyph\fR\&.
-\fIglyph\fR
-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 ;\&.
-.PP
-You can copy the kerns of an unencoded character to the boundarychar\&. Below,
-space
-is the unencoded character:
-.sp
-.RS 4
-.nf
-|| <> space ;
-.fi
-.RE
-.PP
-This ligkern specification should occur before the one that deletes space kerns\&.
-.PP
-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:
-.sp
-.RS 4
-.nf
-one {} * ; * {} one ; two {} * ; * {} two ;
-.fi
-.RE
-.PP
-Lines with ligkern specifications inside an encoding file should start with
-% LIGKERN\&. Ligkern specifications in a lig file may optionally start this way\&.
-.SH "LETTERSPACING AND EXTRA LIGKERN INFO"
-.PP
-Letterspacing has various side\-effects for ligkern info\&. Instead of simply applying the extra ligkern info (see previous section), the following is done:
-.sp
-.IP 1.
-In case of positive letterspacing, native ligatures are removed, unless the \-k option is specified\&.
-.sp
-.IP 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\&.
-.sp
-.IP 3.
-Letterspacing is applied\&. This adds a lot of kerns, and modifies existing kerns\&.
-.sp
-.IP 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\&.
-\fIThe tfm format has room for only about 180x180 ligatures and kerning pairs\&.\fR
-This is enough for OT1 encoding, but for texnansi encoding quite a few ligkern specifications have to be removed\&. The pltotf program will remove
-\fIall\fR
-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\&.
-
-.SH "FONT-BASED UPPER- AND LOWERCASING"
-.PP
-The distribution includes encoding vectors texnanuc\&.enc and texnanlc\&.enc which produce all\-uppercase and all\-lowercase fonts
-.PP
-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\&. Example:
-.sp
-.RS 4
-.nf
-afm2pl \-p texnanuc ptmr8a ptmup8y
-pltotf ptmup8y
-.fi
-.RE
-.sp
-For best results, you should add some letterspacing\&. In LaTeX, this is best done with the
-microtype
-package; see the documentation of that package\&. But it can also be done with
-afm2pl:
-.sp
-.RS 4
-.nf
-afm2pl \-p texnanuc \-m 100 ptmr8a ptmup8y
-.fi
-.RE
-.sp
-This requires caution; see
-above\&.
-.PP
-You can use this new font within the context of LaTeX font selection as follows:
-.sp
-.RS 4
-.nf
-
-<preamble commands>
-\emakeatletter
-{\enfss@catcodes
-\eDeclareFontShape{LY1}{ptm}{m}{upp}{<\-> ptmup8y}{}}
-\emakeatother
-\&.\&.\&.
-\ebegin{document}
-\&.\&.\&.
-{\efontshape{upp}\eselectfont uppercase text}
-
-.fi
-.RE
-.sp
-Note that
-upp
-is simply a newly made\-up shape name\&.
-.SS "The sz ligature \(ss"
-.PP
-Note that the texnanuc encoding provides no glyph for the sz ligature \(ss; 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:
-.sp
-.RS 4
-.nf
-
-\edef\ess{%
- \esetbox0\ehbox{\echar25}%
- \eifnum\ewd0=0 ss\eelse\ebox0\efi
-}
-
-.fi
-.RE
-.PP
-In LaTeX, this code appears to work well enough, although on occasion you may need to insert
-\eprotect\&. A better solution might involve the sixth parameter of the
-\eDeclareFontShape
-macro, but I failed to get that to work\&.
-.SH "AFM2PL, FONTINST AND ARTIFICIAL SMALLCAPS"
-.PP
-Afm2pl 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\&.
-.PP
-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\&.
-.PP
-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\&.
-.SH "CHANGED IN VERSION 0.7.1"
-.PP
-In order to avoid name conflicts, the \&.enc\- and \&.lig files distributed with afm2pl got
-afm2pl\-
-prepended to their name\&. The program itself now first searches for the thus prepended name\&. If the \&.enc\- or \&.lig file is not found it will look for the original filename\&. The renaming of the afm2pl \&.enc files may require modification of some mapfiles\&.
-.SH "URLS"
-.PP
-The afm2pl homepage is
-\fIhttp://tex\&.aanhet\&.net/afm2pl/\fR\&.
-.PP
-The paper
-\fIFont installation the shallow way\fR\&[2]
-(EuroTeX 2006 Proceedings, published as
-\fITUGboat\fR\&[3]
-issue 27\&.1) illustrates the use of afm2pl\&.
-.SH "NOTES"
-.IP " 1." 4
-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. Better yet, don't use Courier at all; most TeX distributions offer various good replacements.
-.IP " 2." 4
-Font installation the shallow way
-.RS 4
-\%http://www.tug.org/TUGboat/Articles/tb27-1/tb86kroonenberg-fonts.pdf
-.RE
-.IP " 3." 4
-TUGboat
-.RS 4
-\%http://www.tug.org/TUGboat/
-.RE