Understanding Font Metadata
Font metadata controls how fonts appear in application menus, how they group into families, and how operating systems recognize them.
Why Metadata Matters
Ever wondered why some fonts appear as “one style per family” in your font menu instead of grouping properly? Or why “Bold” doesn't appear when you press ⌘B? The answer is almost always metadata.
Common Metadata Problems
- Family splitting: Each style appears as its own family (e.g., “Gotham Light”, “Gotham Medium” instead of “Gotham” with styles)
- Missing style linking: Bold/Italic keyboard shortcuts don't work because the font doesn't declare which style is Bold
- Menu conflicts: Two different fonts have the same PostScript name, causing system confusion
The Name Table
The name table stores human-readable strings: family names, style names, copyright notices, designer credits, and more. Each piece of information has a Name ID.
The Legacy 4-Style Problem
Name IDs 1 and 2 (legacy family/subfamily) were designed when fonts only had four styles: Regular, Bold, Italic, Bold Italic. Modern fonts with many weights need Name IDs 16 and 17 (typographic family/subfamily) to group correctly.
Typographic Names (IDs 16 & 17)
For fonts with more than four styles, Name IDs 16 and 17 tell applications how to properly group the family.
✗ Without Typographic Names
Each weight appears as a separate family
✓ With Typographic Names
All weights grouped under one family
The OS/2 Table
The OS/2 table contains metrics and classification data, including weight and width classes that applications use for font selection and style linking.
Weight Classes (usWeightClass)
Width Classes (usWidthClass)
Style Linking (fsSelection)
The fsSelection field in OS/2 contains bit flags that tell applications which styles are linked—enabling keyboard shortcuts like ⌘B for Bold.
The Style Linking Quartet
Traditional style linking works in groups of four: Regular, Bold, Italic, Bold Italic. Only these four can be properly style-linked. Additional weights (Light, Medium, Black) cannot be accessed via ⌘B—they must be selected from the menu.
PostScript Name (ID 6)
The PostScript name is a crucial identifier used by applications and operating systems. It must be unique and follow strict rules.
Valid PostScript Names
- Gotham-Bold
- HelveticaNeue-LightItalic
- SourceSansPro-Regular
Invalid PostScript Names
Gotham Bold(no spaces allowed)Hélvetica-Bold(no accents)Font[Version2](no brackets)
Important: If two installed fonts share the same PostScript name, applications may load the wrong one. NeedFont detects these collisions and can create repair exports with unique names.
How NeedFont Handles Metadata
NeedFont extracts and normalizes metadata to help you understand and fix problematic fonts.
Extract
Reads all name table records, OS/2 values, and style information from your fonts.
Normalize
Standardizes weight/width values, infers missing typographic names, groups families correctly.
Repair
Generates corrected font files with proper naming for macOS/Windows compatibility.