134
21.7 ClassifyingPostScriptfonts
-
songti(for
mnm
)
Naminga font with a certainencodingvariant does not meanthat allthe characters appear in
preciselythesamepositionsasintheencodingdefinition.ItissufficientthattheusualT
E
Xmacroscan
bemadetoworkbyremappingorvialigatures.
Ifanamedoesnotcontainaspecificencodingvariant,itsencodingis“unspecified”.Forexample,
some of the fonts distributed with
dvips
havenames like
ptmr
forTimes-Roman; they use the
dvips
encoding,whichiscloseto(butnotthesameas)theT
E
Xtextencoding(asinComputerModernRoman).
Examples
Asanexample ofhowthe Fontnames areimplemented letus lookatthedirectorythatcontains the
.tfm
filesforusingvariouscombinationsofAdobe’sTimesRomanfont.Wefirst findabunchof7-bit
encodedfiles.
ptmr7t.tfm
StandardTimes-Roman
ptmrc7t.tfm
SmallCapsTimes-Roman
ptmro7t.tfm
ObliqueTimes-Roman
ptmb7t.tfm
StandardTimes-Bold
ptmbc7t.tfm
SmallCapsTimes-Bold
ptmbo7t.tfm
ObliqueTimes-Bold
ptmbi7t.tfm
StandardTimes-BoldItalic
ptmri7t.tfm
STandardTimes-Italic
Similarly,fortheeight-bitencodingswehavethefollowing(partial)list(Weonlylookatvariants
oftheTimes-Romaninstance.)
ptmr8c.tfm
Standard(TextCompanionencoding)
ptmr8r.tfm
Standard(T
E
Xbase1encoding)
ptmr8rn.tfm
Narrow(T
E
Xbase1encoding)
ptmr8t.tfm
Standard(Corkor
T1
encoding)
ptmr8y.tfm
Standard(
LY1
or
texnansi
encoding,avariantof
T1
)
ptmrc8t.tfm
SmallCaps(L
A
T
E
X
T1
encoding)
ptmrc8y.tfm
SmallCaps(L
A
T
E
X
LY1
encoding)
ptmro8c.tfm
Oblique(TextCompanionencoding)
ptmro8r.tfm
Oblique(T
E
Xbase1encoding)
ptmro8t.tfm
Oblique(
T1
encoding)
ptmro8y.tfm
Oblique(
LY1
encoding)
ptmrr8re.tfm
Expanded(T
E
Xbase1encoding)
Infact,whenpreparingthePostScriptoutputfile,
dvips
constructsthevariouswidthsandslanted
variantsontheflybylookinginthemapfile(thefollowinglinesareanextract).¹
ptmr8r
Times-Roman
”TeXBase1Encoding ReEncodeFont” <8r.enc
ptmr8y
Times-Roman
”TeXnANSIEncoding ReEncodeFont” <texnansi.enc
ptmro8r
Times-Roman ”.167 SlantFont TeXBase1Encoding ReEncodeFont” <8r.enc
ptmr8rn
Times-Roman ”.82 ExtendFont TeXBase1Encoding ReEncodeFont” <8r.enc
ptmrr8re Times-Roman ”1.2 ExtendFont TeXBase1Encoding ReEncodeFont” <8r.enc
efirstline(
ptmr8r
)specifiesthatthefontglyphsareencodedaccordingtotheT
E
Xbasicencoding,
whilethe second line(
ptmr8y
)encodesthemaccordingtothe
texnansi
(
LY1
)encoding. For the
¹ekeywordsReEncodeFont,SlantFont,ExtendFont,aswell asTeXBase1EncodingandTeXnANSIEncoding
correspondtoprocedurenamesthataredefinedintheprologthat
dvips
prependstoeachPostScriptfilethatitgenerates,see
Section22.2.5onpage109.
ch-psextra1.tex,v:2.24
2007/08/14
73