Font Naming»

There can be many name “fields” in a compiled font. FontLab masks much of the complexity. From just a family name, FontLab can generate a working font, if there is just one style. Without valid name data, a font won’t work at all. This is why the “Welcome” dialog allows you to name a font as part of creating a new font. (Note: File > New Font just creates a font with “Unnamed” as the family name. This can work for one font, but as always, if you have more than one font with the same name, that would cause conflicts.)

Naming is usually done in the Font Info dialog, which exposes all information one might possibly need. One can also use the Font Info panel; it exposes less information, but it can remain available while working in other windows.

The “Family Name” is a main identifier. This is the Typographic Family Name (TFN) which is shared by all the fonts in a typographic family – which can have any number of members. When you are adding a style to an existing family, you usually want to keep the same family name. Limitations: maximum 31 characters for compatibility with MS Office, or 63 characters otherwise. We recommend sticking to plain ASCII characters for maximum app compatibility. The first character should not be a numeral (so “1947 Cars” is unwise, but “Cars 1947” is safe.)

Adjust “Weight,” “Width,” “Slope” and “Other” as needed for different family members. Each font in your family should have a unique combination of these four values. They all are combined in the “Style” field which is actually called the Typographic Style Name (TSN). Click on the Auto button at the right to update TSN if you adjusted “Weight,” “Width,” “Slope” and “Other”. If you don’t have any special needs, the Build names diamond button can take care of everything else. If you need more explanation, or you want to control the Style Groups (which family members link with “bold” or “italic” styling), or make sure fonts work in older Windows apps, then read on.

“Weight” is a text label, as well as a number. The text label can be anything you want, although FontLab supplies some common weight names and their corresponding numbers. We recommend you limit yourself to 32 characters and plain ASCII again.

The numeric weight is a number from 1 to 999. The number associated with weight is equivalent to the “usWeightClass” in OpenType fonts and also to a numeric “font-weight” in CSS. Although in theory the weight number can be any number in the range, there can be some advantage to keeping the number in multiples of 100 (for compatibility with CSS3 and earlier) and also to keeping it at 250+ (for compatibility with some older programs, particularly on Windows). It is also important to keep the numbers different for different weights in your family, and to keep different weights in the correct numeric order, as some apps use this weight number data to sort fonts in their font menus. Because of these reasons, in non-variable fonts, some vendors use 250 for “Thin” and 275 for “Extra Light”, reverting to the spec only when weight hits 300 for “Light”, and heavier weights.

“Width” is one of nine labels, which equate to a number from 1 to 9 in the compiled OpenType font. (usWidthClass in OpenType)

“Other” is your chance to specify some way in which a style of your font differs that is not weight, width or slope. For example, if your family has different optical sizes, you might have use a set of other names such as “Six”-“Nine”-“Twelve”-“Eighteen”-“Twenty-four”-“Seventy-two” or “Tiny”-“Small Text”-“Text”-“Subhead”-“Headline”. Or perhaps every non-italic member of your family has a matching separate “Small Caps” font, to help people working with old apps that are not OpenType-feature-savvy. These kinds of additional variant name info pieces can all go in the “Other” field and therefore added to the TSN.

The “Style Group” is used on font menus by older Windows programs. It is limited to 31 characters, and the first character should be alphabetic (and not a number). Members of a Style Group are a set of fonts that work together when you invoke bold and italic style buttons (or keyboard shortcuts). You can have no more than four members in a Style Group. The possible Style Group labels for these members are Regular, Bold, Italic and Bold Italic. It is not unusual to have a group consisting of any of these combinations: Regular; Regular, Bold; Regular, Italic; Regular, Italic, Bold; Regular, Italic, Bold, Bold Italic. Other combinations (such as omitting a Regular, or having a Bold Italic without both Bold and Italic) may be confusing to end users of the fonts or produce odd results in apps.

The “Full Name” must be unique for each distinct font. It is often a combination of the Family Name, Weight, Width, plus Italic (if applicable) and any other typographic differentiator, but only including “Regular” if there is no other style indicator. It is limited to 63 characters.

The “PostScript name” is limited to 29 7-bit ASCII characters (optionally to 27 characters for compatibility with very old versions of Mac OS and Windows, due to file naming issues). The PostScript name may not contain spaces or control characters. Normally a hyphen is used to separate the family portion of the name from the style portion, like this: “HypatiaSansPro-BoldItalic”.

You don’t have to keep track of all this, however – the Auto (circle-arrow) button next to the “PostScript name” field will generate a valid PostScript name based on the information in the other fields. Or you can use the Build names diamond button to build all names from TFN and TSN.


This table shows an example naming scheme for the Typographic Family called “Demo”:

Demo-ExtraLight Demo ExtraLight Demo ExtLt Regular ExtraLight (200)
Demo-ExtraLightItalic Demo ExtraLight Italic Demo ExtLt Italic ExtraLight (200)
Demo-Light Demo Light Demo Light Regular Light (300)
Demo-LightItalic Demo Light Italic Demo Light Italic Light (300)
Demo-Regular Demo Regular Demo Regular Regular (400)
Demo-Italic Demo Italic Demo Italic Regular (400)
Demo-SemiBold Demo SemiBold Demo SemBd Regular SemiBold (600)
Demo-SemiBoldItalic Demo SemiBold Italic Demo SemBd Italic SemiBold (600)
Demo-Bold Demo Bold Demo Bold Bold (700)
Demo-BoldItalic Demo Bold Italic Demo Bold Italic Bold (700)
Demo-Black Demo Black Demo Black Regular Black (900)
Demo-BlackItalic Demo Black Italic Demo Black Italic Black (900)
Demo-Condensed Demo Condensed Demo Cond Regular Regular (400)
Demo-CondensedItalic Demo Condensed Italic Demo Cond Italic Regular (400)