Set Font Family Names for Windows and Mac in FontForge
Cross-platform font naming discrepancies occur because Windows and macOS rely on different naming tables within the font binary to categorize and group font families. While macOS primarily looks at PostScript and typographic family definitions, Windows applications often enforce the legacy four-style (Regular, Italic, Bold, Bold Italic) model. This guide outlines how to correctly configure FontForge’s metadata settings so your font family displays consistently across both operating systems.
1. Configure the PS Names (PostScript Names)
Open your font in FontForge and navigate to Element > Font Info > PS Names. Set the following standard parameters:
- Fontname: The PostScript name used internally by
printers and PDF engines. It must contain no spaces and use only
standard ASCII characters (e.g.,
MyFamily-Bold). - Family Name: The base name of your family (e.g.,
MyFamily). This groups the family in many macOS environments. - Name for Humans: The full, readable name of the
specific font style (e.g.,
MyFamily Bold). - Weight: Specify the design weight (e.g.,
Bold,Light,Regular).
2. Configure TTF Names for Cross-Platform Support
The TTF Names table (located at Element >
Font Info > TTF Names) governs how Windows and macOS display
font names in application menus. To ensure compatibility, provide values
for both Macintosh and Windows
platforms.
For Standard 4-Style Families (Regular, Italic, Bold, Bold Italic):
- Family (Name ID 1): Enter your common family name
(e.g.,
MyFamily). - SubFamily (Name ID 2): Enter only one of the four
standard styles:
Regular,Italic,Bold, orBold Italic. - Fullname (Name ID 4): Enter the complete name
(e.g.,
MyFamily Bold). - PostScript Name (Name ID 6): Must match the
Fontname from the PS Names tab (e.g.,
MyFamily-Bold).
For Extended Families (Thin, Medium, Black, Condensed, etc.):
Windows software adhering to the legacy model cannot group more than four styles under a single ID 1 entry without breaking menus. To resolve this for modern applications across both operating systems:
- Family (Name ID 1): Group your styles into
synthetic 4-style clusters. For example, for a "SemiBold" style, set ID
1 to
MyFamily SemiBold. - SubFamily (Name ID 2): Set to
Regular(orItalicif it is a slanted variant). - Preferred Family / Typographic Family (Name ID 16):
Set this to the true base family name (e.g.,
MyFamily). Both macOS and modern Windows applications read this to keep all weights together under one menu. - Preferred Subfamily / Typographic Subfamily (Name ID
17): Set this to the exact style name (e.g.,
SemiBoldorSemiBold Italic). - WWS Family (Name ID 21) and WWS Subfamily (Name ID 22): Set these identical to Name IDs 16 and 17 if your font family uses standard weight, width, and slope variants.
3. Ensure Platform Duplication
Inside the TTF Names panel, verify that every defined Name ID has two entries:
- Platform:
Windows, Language:English (US) - Platform:
Macintosh, Language:English
If an entry is missing, click Add, select the target platform, assign the corresponding Name ID, and enter the identical string value.
4. Generate the Font
When exporting via File > Generate Fonts:
- Choose OpenType (CFF) (
.otf) or TrueType (.ttf). - Click the Options button in the file dialog.
- Ensure OpenType is checked and Validate Before Saving is run to confirm there are no syntax errors in the name tables.
- Export the files and test the family simultaneously in a macOS app (such as TextEdit) and a Windows app (such as Microsoft Word or Adobe applications) to ensure consistent grouping.