### 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.enc`’: Dvips encoding), 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.enc`’: TeX math italic encoding), ‘`7v`’ (see ‘`texmext.enc`’: TeX math extension encoding), and ‘`7y`’ (see ‘`texmsym.enc`’: TeX math symbol encoding).

‘`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.enc’: TeX math italic encoding
    7t                       TeX text encoding (as in Computer Modern Roman)
    7v TeXMathExtensionEncoding          see ‘texmext.enc’: TeX math extension encoding
    7y TeXMathSymbolEncoding             see ‘texmsym.enc’: TeX math symbol encoding
    7z user
    82 GreekKeys
    83 Ibycus1
    84 Ibycus2
    8a StandardEncoding                  Adobe standard encoding, see ‘8a.enc’: Adobe standard encoding
    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.enc’: TeX base encoding)
    8t ECEncoding CorkEncoding           (see ‘ec.enc’: Cork encoding), 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