Next: Widths, Previous: Weights, Up: Filenames for fonts

### 2.4 Variants

Variants include typeface variations (e.g., italic, sans serif), and font encodings (e.g., Adobe standard, TeX text).

A fontname may require multiple variants. To resolve the worst ambiguities, we specify that any encoding variant (‘`7`’, ‘`8`’, or ‘`9`’, see below) come last and any other numeral variant come first (to avoid confusion with a design size). We recommend but do not require that the other variants be given in alphabetical order. (It's not required because it's too painful to implement the sorting in TeX, and many existing names already have non-alphabetized variants.)

The letterspacing possibilities introduced by `fontinst` and virtual fonts have not yet become sufficiently widespread to make standardization beneficial. Likewise for the many possible ways to generate small caps fonts.

Notes on specific variants, both old and new:

‘`1`’
‘`4`’
‘`6`’
‘`b`’
  These variants (`semisans', `bright', `semiserif', and `fax') were used only for single typefaces, so to conserve variant abbreviations, they now have typeface abbreviations instead. Also, for ‘`b`’, to avoid too-long names; and for the others, to avoid variant vs. design-size ambiguities.
‘`g`’
‘`h`’
  Since these variants were not actually used in any font names, they are now obsolete and may be reassigned in the future.
‘`5`’
‘`6`’
‘`7`’
‘`8`’
‘`9`’
  These characters begin a two-character encoding variant. Generally, ‘`7`’ is for 7-bit encodings, ‘`8`’ is for 8-bit encodings, and ‘`9`’ is for expertised encodings with or without oldstyle digits (see the ‘`x`’ item below), but this is not an absolute rule. Also, ‘`5`’ is presently used for phonetic encodings and ‘`6`’ for Cyrillic encodings. The ‘`9s`’ (‘`SuperFont`’) variant contain all of Adobe, Latin 1, and Expert glyphs, perhaps with slightly different metrics than the original fonts.

  For a font to be named with a certain encoding variant, it's not necessary that all the characters appear in precisely the same positions as in the encoding definition. It's enough that the usual TeX macros work. In practice, this means that it's ok for a font to be labelled ‘`7t`’ if the only difference from Computer Modern is that the ligatures and the ‘`lslash`’ and ‘`Lslash`’ characters are different, since it's impossible to access or change the ligature table from TeX. Standard PostScript fonts don't have an ‘`lslash`’ character the way Computer Modern does, but they do have the ‘`Lslash`’ and ‘`lslash`’ characters themselves, so the usual TeX `\lslash` and `\Lslash` macros can be made to work via ligatures. See the file `T1.etx` file in the `fontinst` distribution for details.

  If a name does not contain a specific encoding variant, its encoding is unspecified. For example, some of the fonts distributed with Dvips(k) have names like ‘`ptmr`’ for ‘`Times-Roman`’; they use the Dvips encoding (see dvips), which is close to (but not the same as) the TeX text encoding (as in Computer Modern Roman). Similarly, the TFM files distributed with Dvilj(k) for the builtin LaserJet 4 fonts have names like ‘`cunm`’, since these fonts, while compatible with TeX text, contain many additional characters.

‘`9`’
  These items are needed only because ‘`x`’ (and possibly ‘`j`’) followed by a two-character regular variant makes some names too long. That is, ‘`9t`’ is equivalent in meaning to ‘`x7t`’, and ‘`9d`’ is equivalent to ‘`jx7t`’. (This may not be true for all ‘`9x`’ encodings, though.)
‘`k`’
‘`z`’
  These variants (indicating Greek and Cyrillic fonts, respectively) are obsolete; future fonts in different scripts should be assigned an appropriate encoding abbreviation. These are not currently standardized, due to ignorance of the appropriate encodings. Please send suggestions for abbreviations to the address in Introduction.
‘`m`’
‘`v`’
‘`y`’
  These math-related variants remain for the sake of typeface-specific math encodings, e.g., Lucida. Fonts that use the Computer Modern math encodings should use ‘`7m`’ (see texmital), ‘`7v`’ (see texmext), and ‘`7y`’ (see texmsym).
‘`n`’
  This is used for several different (but very rare) variants: only the Stone typeface has an “informal” variant, and only a few Monotype fonts have a “schoolbook” variant, with different `a', `g', and `y' shapes.
‘`r`’
  Included only if no other variants, including encodings, apply, and either the width (see Widths) is not ‘`r`’ or a design size is present. I.e., ‘`r`’ is only used as a placeholder. When the normal version of the typeface is sans serif (e.g., Helvetica), ‘`r`’ should be used when necessary, not ‘`s`’. Use ‘`s`’ only when the typeface family has both serif and sans serif variants.
‘`s`’
‘`t`’
  Mittelbach in TUGboat 13(1) suggests that these variants (for `sans' and `typewriter') should be identified as part of the typeface name, because there are few typeface families with these variants. I feel that since they are logically variants, it's best to name them that way. But ‘`LucidaSans`’ (see Typefaces) and a few others are exceptions, to avoid too-long names.
‘`x`’
‘`8x`’
‘`9?`’
  ‘`8x`’ indicates a font in the ‘`Expert`’ encoding itself. ‘`x`’ indicates an expertised font, i.e., a composite (virtual) font that includes characters from an ‘`8x`’ font. And in fact an ‘`xee`’ sequence is replaced by ‘`9e`’, to save characters.

Fontname 1 assignments are shown in brackets in the following table, from the file `variant.map`. It is organized alphabetically by abbreviation. Each line consists of an abbreviation and either any parts of a PostScript ‘`FontName`’ which use that abbreviation or the PostScript ‘`Encoding`’ name.

         0 inferior
         1 superior
         2                                   proportional digits, not tabular
         obsolete [3=>7f] Fraction
         obsolete [4 fax; now typeface ‘lx’, Lucida Fax]
         5 escape for (presently) phonetic encodings
         6 escape for (mostly) Cyrillic encodings [was ‘SemiSerif’]
         7 escape for (mostly) 7-bit encodings
         8 escape for (mostly) 8-bit encodings
         9 escape for (presently) expert encodings [was oldstyle digits]
         a Alt Arrows Alternative             [was alternate encoding]
         obsolete [b bright; now typeface lh, Lucida Bright]
         c SmallCaps
         d Display Titling Caption Headline TallCaps SwashCaps LombardicCaps Festive
         e Engraved Copperplate Elite
         f Fraktur Gothic OldEnglish Handtooled (`gothic' can also be sans)
         g SmallText      lc only, or designed for small sizes [was grooved, as in the IBM logo]
         h Shadow
         i Italic Kursiv Ital                 text italic
         j                                    old-style digits [was invisible]
         k Greek                              obsolete
         l Outline OpenFace Blanks
         m math italic
         n Informal Fashion Schlbk            for Stone
         o Oblique Obl                        slanted
         p Ornaments
         obsolete [q=>8t Cork (TeX extended) encoding]
         r                                    roman or sans; often omitted, see text
         s Gothic                             sans serif
         t Monospace                          fixed-width typewriter
         u                                    underline or unslanted italic
         v MathExtension
         w Script Handwritten Swash Calligraphy Cursive Tango Ligature
         x built with Adobe expert encoding [was expert-encoded]
         y MathSymbol
         z Cyrillic                           font-dependent Cyrillic
         5a PhoneticAlternate
         5i PhoneticIPA
         5s sil-IPA
         5t TeX-IPA                           Fukui Rei, LaTeX T3
         5w TeXAfricanLatin                   wsuipa fonts, LaTeX OT3
         5z user
         6a T2A
         6b Cyrillic part of ISO 8859-5, seven bits
         6c T2C
         6d Cyrillic CP866 encoding
         6g LGR                               Greek font encoding
         6i ISO 8859-5
         6k Cyrillic KOI8-R encoding
         6m Cyrillic Macintosh encoding
         6s Storm extra encoding
         6t T2B
         6w Cyrillic CP1251 encoding
         6x X2
         6y LCY
         6z user
         7a A                                 alternate characters only
         7c Dfr                               Fraktur
         7d OsF OSF                           oldstyle digit encoding
         7f Fraction
         7k OT2Cyrillic
         7m TeXMathItalicEncoding             see texmital
         7t                       TeX text encoding (as in Computer Modern Roman)
         7v TeXMathExtensionEncoding          see texmext
         7y TeXMathSymbolEncoding             see texmsym
         7z user
         82 GreekKeys
         83 Ibycus1
         84 Ibycus2
         8a StandardEncoding                  Adobe standard encoding, see 8a
         8c TeXTextCompanion                  LaTeX TS1
         8e CE                                Adobe CE
         8f TeXAfricanLatin                   LaTeX T4
         8g groff
         8i TS0                               Intersection of TS1/Adobe Standard
         8m Macintosh standard encoding
         8n LM1 Textures
         8q encqxoosix                        QX, from GUST
         8r TeXBase1Encoding                  (see 8r)
         8t ECEncoding CorkEncoding           (see ec), aka tex256.enc
         8u XT2Encoding                       cmtt + Latin 2, see xl2.enc
         8v TeXVietnamese                     T5
         8w Windows 3.1 ANSI encoding
         8x Expert                            expert encoding
         8y LY1                               texnansi
         8z XL2Encoding                       cmr + Latin 2, see xl2.enc
         9c expert + Text companion
         9d expert + oldstyle digits + Cork
         9e expert + Cork
         9i TS0X                              Intersection of TS1/Standard/Expert
         9o expert + oldstyle digits + TeX text
         9s SF                                SuperFont
         9t expert + TeX text
         9u Unicode-compatible
         9x TeXnANSIEncodingX                 texnansx, texnansi without repeats
         9z user
         -  songti                            for mnm