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, or Bold 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 (or Italic if 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., SemiBold or SemiBold 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:

  1. Platform: Windows, Language: English (US)
  2. 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:

  1. Choose OpenType (CFF) (.otf) or TrueType (.ttf).
  2. Click the Options button in the file dialog.
  3. Ensure OpenType is checked and Validate Before Saving is run to confirm there are no syntax errors in the name tables.
  4. 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.