Adobe Unique Identifier Format for FontForge

When creating or modifying fonts in FontForge, configuring the Unique Font Identifier (Name ID 3 in the OpenType name table) is essential to avoid system conflicts and caching errors. Adobe defines a standardized string format for this field, which FontForge adheres to, consisting of three semicolon-delimited elements: the font version, the registered vendor ID, and the full PostScript font name.

Adobe's specification requires the Unique Identifier string to follow this exact structure:

Version;Vendor;PostscriptFontName

Each component serves a specific identification purpose:

  1. Version: The version number of the font, commonly formatted as either Version 1.000 or simply 1.000. It must match the version string stored in Name ID 5.
  2. Vendor: A four-character alphanumeric vendor code assigned by or registered with Microsoft/Adobe (such as ADBE for Adobe, MS for Microsoft, or NONE / a custom four-letter foundry tag if unregistered).
  3. PostscriptFontName: The exact PostScript name of the font (Name ID 6), containing only standard ASCII characters and no spaces (e.g., MyFont-Regular).

Example Implementations

Using the Adobe convention, typical Unique Identifier strings appear as:

  • 1.000;ADBE;MinionPro-Regular
  • 2.001;FOUN;CustomDisplay-Bold
  • 1.000;NONE;MyNewFont-Regular

Configuring in FontForge

To set this value properly within FontForge:

  1. Open the font project and navigate to Element > Font Info.
  2. Select TTF Names from the left-hand menu.
  3. Locate Unique ID (Name ID 3).
  4. Enter the formatted string (Version;Vendor;PostscriptFontName). If left default, FontForge often automatically generates this field based on the PostScript name and version values defined in the PS Names tab.

Adhering to this format ensures consistent font caching across operating systems, prevents collision issues when updating font releases, and maintains strict compliance with both Adobe PostScript and OpenType specifications.