diff options
Diffstat (limited to 'Master/texmf/doc/man/man1/afm2pl.1')
-rw-r--r-- | Master/texmf/doc/man/man1/afm2pl.1 | 464 |
1 files changed, 0 insertions, 464 deletions
diff --git a/Master/texmf/doc/man/man1/afm2pl.1 b/Master/texmf/doc/man/man1/afm2pl.1 deleted file mode 100644 index bceec28b937..00000000000 --- a/Master/texmf/doc/man/man1/afm2pl.1 +++ /dev/null @@ -1,464 +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 -.RS 4 -\h'-04' 1.\h'+02'In case of positive letterspacing, native ligatures are removed, unless the \-k option is specified\&. -.RE -.sp -.RS 4 -\h'-04' 2.\h'+02'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\&. -.RE -.sp -.RS 4 -\h'-04' 3.\h'+02'Letterspacing is applied\&. This adds a lot of kerns, and modifies existing kerns\&. -.RE -.sp -.RS 4 -\h'-04' 4.\h'+02'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\&. -.RE -.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 |