Family Name, Full Name, and Unique ID in FontForge
When designing or modifying a font in FontForge, correctly configuring the font's metadata is crucial for cross-platform compatibility and proper display in software menus. Navigating to Element > Font Info > PS Names reveals several identifying fields that sound similar but serve distinct technical roles. This article explains the clear differences and specific purposes of the Family Name, Full Name, and Unique ID in FontForge.
Family Name
The Family Name represents the broad collection or design umbrella to which a specific font style belongs.
- Purpose: It groups individual styles—such as Regular, Italic, Bold, and Bold Italic—together inside the font selection menus of design applications, word processors, and operating systems.
- Format: It should contain only the base name of the typeface, without style or weight descriptors.
- Example:
Open SansorMerriweather. - Behavior: When users select "Open Sans" in a program like Microsoft Word or Adobe InDesign, the software uses the Family Name to associate all weight and slope variations under a single menu entry.
Full Name
The Full Name is the complete, human-readable name of the specific font file, combining the family name with its particular weight or style variant.
- Purpose: It provides users and operating systems with a clear, descriptive label for the exact typeface instance being inspected or selected.
- Format: It typically follows the format
[Family Name] [Style/Weight]. In FontForge, this field is often generated automatically by combining the Family Name and the Weight string. - Example:
Open Sans BoldorMerriweather Light Italic. - Behavior: This name often appears in font management utilities (such as macOS Font Book or Windows Font Viewer) to identify the specific font variant.
Unique ID
The Unique ID (often corresponding to the PostScript
UniqueID or the OpenType Name ID 3) is a
machine-readable string intended to globally distinguish that specific
font file from any other font installed on a system or sent to an output
device.
- Purpose: It prevents collisions and caching issues in operating system font caches and PostScript raster image processors (RIPs). If two different fonts share the same name but have distinct Unique IDs, rendering engines can differentiate between them.
- Format: It typically consists of a combination of the creator name, font version, family name, style, and sometimes a timestamp or random identifier.
- Example:
FontForge 2.0 : Open Sans Bold : 12-4-2024or1.000;VENDOR;OpenSans-Bold. - Behavior: FontForge can automatically generate this value. Unlike the Family Name and Full Name, the Unique ID is rarely seen by end users; it is strictly evaluated by system-level software and print hardware.
Summary of Differences
| Field | Primary Audience | Scope | Example |
|---|---|---|---|
| Family Name | Software menus and end users | The entire typeface collection | Roboto |
| Full Name | Operating systems and end users | The specific style/weight instance | Roboto Bold |
| Unique ID | Font caches, OS internals, and printers | The distinct file build/version | 1.000;GOOG;Roboto-Bold |