Duplicate PostScript Names in FontForge
Duplicate PostScript glyph names violate core font formatting specifications, causing FontForge to raise validation warnings during the generation process. If these duplicates are ignored, FontForge may automatically rename conflicting glyphs, or it will generate a corrupted font file that triggers rendering glitches, printing failures, and text-copying errors in downstream operating systems and applications.
Generation Warnings and Prompts
When you attempt to generate an OpenType (CFF), TrueType, or Type 1 font that contains duplicate PostScript names, FontForge detects the collision and prompts you with a warning dialog. The software explicitly flags that the font contains duplicate glyph names and gives you the option to cancel the export or proceed anyway. Running Element > Find Problems prior to generation will also catch these collisions under the glyph naming checks.
Automatic Disambiguation
If you force FontForge to generate the font despite the warning, its behavior depends on the target format and font settings:
- Glyph Renaming: FontForge frequently attempts to
resolve the collision automatically by appending a numeric suffix (such
as
.1,_dup1, or an incremental index) to subsequent instances of the repeated name. - Fallback to Production Names: Depending on your
export options (such as checking "Force glyph names to match namelist"),
FontForge may overwrite custom names with standardized production names
derived from Unicode values (such as
uniXXXX).
Impact on Font Tables
Every glyph in a PostScript-flavored font (OTF) or font utilizing a
standard post table (TTF) requires a unique identifier.
Duplicate names break the internal mapping dictionaries:
- CFF Table Collisions: In OpenType-CFF fonts, the Name INDEX and Charset data rely on unique identifiers. Duplicate names break the index references, creating invalid byte structures.
postTable Inconsistencies: In TrueType fonts, Version 2.0 of theposttable stores glyph names. Duplication creates conflicting array pointers for glyph indices.
Downstream Failures in Applications
Fonts exported with duplicate names cause severe usability issues once installed:
- Text Selection and Search Failures: PDF generators and document readers match characters to their underlying text using glyph names. Duplicates cause incorrect character extraction, resulting in garbled text when copied or searched.
- Glyph Substitution Errors: Layout engines (such as HarfBuzz, DirectWrite, or Core Text) rely on unique identifiers to apply OpenType features (like ligatures or stylistic alternates). Collisions cause the rendering engine to display the wrong glyph entirely.
- OS Installation Rejection: Modern font parsers on macOS, Windows, and Linux validate name tables during installation. A font with unresolved collisions may be flagged as invalid or rejected outright by font validation tools like Appleās Font Book or FontDoctor.
Resolving the Duplicates
To ensure a clean generation process, eliminate duplicates directly inside the FontForge glyph canvas or font view:
- Select Element > Find Problems.
- Navigate to the Names tab and select Check for duplicate names.
- Allow FontForge to select the offending glyphs.
- Open Element > Glyph Info for each duplicate and update the Glyph Name field to a unique descriptive label or an accepted production standard before regenerating the font files.