Fix Missing Reference Glyph Errors in FontForge
Missing reference glyph errors in FontForge occur when a composite glyph depends on a base character or accent that has been deleted, emptied, or corrupted. This guide explains why this error happens and provides direct steps to locate the affected glyphs, restore missing base outlines, unlink dependencies, and successfully validate your font for export.
Why the Error Occurs
FontForge uses composite glyphs to build complex characters efficiently. For instance, the accented letter é is typically constructed by referencing the base glyph e and the accent glyph acute. If you delete, rename, or clear the outlines of the base glyph while a composite character still references it, FontForge generates a missing reference error because it cannot render the dependent shape.
Step 1: Identify the Broken References
- Open your font project in FontForge.
- Open the Font View grid containing all your characters.
- Go to the top menu and select Element > Validation > Find Problems.
- In the dialog box, navigate to the References tab.
- Check the box labeled Check for missing references.
- Click OK. FontForge will scan the font and select or highlight any glyphs that contain broken references.
Alternatively, if this error occurs when generating a font (File > Generate Fonts), note the character codes or glyph names listed in the warning output box.
Step 2: Fix the Glyph Using the Appropriate Method
Depending on how you want to handle the affected glyphs, choose one of the following solutions:
Method A: Unlink the Reference (Best for Preserving Shapes)
If the composite glyph already has the visual elements you need and you do not require a live link to a base glyph:
- Double-click the problematic glyph in the Font View to open its Outline window.
- From the top menu, go to Edit > Select > Select All.
- Select Edit > Unlink Reference.
- This converts the linked component into standalone, editable Bézier curves, permanently severing the missing link.
Method B: Restore the Base Glyph (Best for Maintaining Reusability)
If the reference points to a standard character or diacritic that was accidentally deleted:
- Identify the missing base glyph name by double-clicking the broken glyph and checking the reference box properties (Element > Get Info).
- Locate the corresponding empty slot for that base character in the
Font View (for example, the
graveoracuteslot). - Draw, import, or paste the correct outline paths into that base glyph slot.
- Return to the composite glyph. FontForge will automatically resolve the reference now that the base glyph contains valid outlines.
Method C: Delete Orphaned References
Sometimes invisible, empty reference boxes remain in a glyph due to accidental copying or imported vector errors:
- Double-click the affected glyph to open the Outline window.
- Press Tab or select Edit > Select > Next Point to cycle through the elements in the glyph until the empty reference box is selected.
- Press Delete or Backspace to remove the empty reference frame.
Step 3: Clean and Revalidate
After applying the fix:
- Select the modified glyphs.
- Run Element > Correct Direction to ensure all contour paths are oriented correctly.
- Open Element > Validation > Find Problems and run the reference check once more.
- When no errors return, navigate to File > Generate Fonts to export your font file.