### 3.2 A naming scheme for long names ¶

Once we allow ourselves long names, we can construct a naming scheme to handle arbitrary fonts without much difficulty. Here is one proposal, based on the X Window System font naming conventions.

    supplier-family-weight-variants-width-encoding--size

supplier is the usual `Adobe`, `Autologic`, etc., as well as `unknown` or `bizarre`—this last meaning the rest of the name is nonstandard. If the supplier is missing, i.e., the name starts with a `-`, “public domain” is assumed. For fonts made by individuals, the initials of the designer would probably make a good supplier.

family is `ComputerModern` or `Times` or whatever.

Everything else is optional. The `--` before the size lets one specify a name with, say, a weight and variants, but then skip the width and encoding, but still be able to give a size.

weight and width are as described earlier.

If there is more than one variant, they are separated with some character other than ‘`-`’, say ‘`=`’:

    B+H-Lucida-Bold-Sans=Typewriter--10

encoding is what Metafont calls the `font_coding_scheme`—the layout of the characters in the font. For example, ‘`Cork`’ or ‘`ISOLatin1`’ or ‘`AdobeAlternate`’.

Names are case-sensitive, for consistency with the rest of TeX and with PostScript, etc. Spaces cannot be used in the name, to make it easier for TeX to parse. Likewise, characters with default category codes other than 11 (letter) or 12 (other) should not be used.

Another possibility is to forget all the above, and simply use the vendor’s name (perhaps prefixed by the vendor): ‘`Times-Roman`’.