How to Fix Unencoded Glyphs in FontForge

This guide explains how to identify and resolve unencoded glyph warnings in FontForge. Unencoded glyphs are glyph outlines that exist within your font file without an assigned Unicode code point or character slot, frequently appearing after importing SVGs, designing OpenType alternates, or modifying existing fonts. You can fix this issue by assigning appropriate Unicode values, mapping alternates to the Private Use Area (PUA), properly organizing OpenType features, or removing orphaned glyphs entirely.

Method 1: Assign a Standard Unicode Code Point

If the unencoded glyph represents a standard character that simply lost its mapping:

  1. Double-click the unencoded glyph in the Font View to open the Glyph Window, or select it in the main grid.
  2. Navigate to Element in the top menu and select Glyph Info.
  3. In the Unicode tab, locate the Unicode Value field.
  4. Enter the correct hex code for the character (for example, 0x0041 for a capital "A") or select Set From Name if the glyph already has a recognized name (such as ampersand or adieresis).
  5. Click OK. FontForge will move the glyph into its proper position in the standard encoding grid.

Method 2: Assign Alternates and Ligatures to the Private Use Area (PUA)

OpenType features (such as ligatures, small caps, and stylistic alternates) do not strictly require Unicode values to function via feature lookups. However, if your workflow demands encoded glyphs or you want to suppress warnings:

  1. Select the alternate glyph in the Font View.
  2. Open Element > Glyph Info.
  3. Assign a code point in the Unicode Private Use Area (PUA), which spans from U+E000 to U+F8FF for the Basic Multilingual Plane.
  4. Ensure the glyph retains its proper naming convention (such as f_i for a ligature or a.ss01 for a stylistic set) so OpenType feature tables continue to reference it properly.
  5. Click OK.

Method 3: Remove Unused or Orphaned Glyphs

Often, unencoded warnings are caused by empty, duplicate, or test glyphs created during font production:

  1. Locate the unencoded glyph at the bottom of the Font View grid or within the unencoded section.
  2. Select the glyph cell.
  3. Go to Edit > Clear (or press the Delete key) to erase the contours.
  4. To remove the slot entirely from the font structure, select the cell and go to Encoding > Detach Glyphs or remove it via font cleanup.

Method 4: Switch the View Encoding or Compact the Grid

If your unencoded glyphs are intentional OpenType alternates and you simply want FontForge to display the font without visual warnings or clutter:

  1. Go to the Encoding menu at the top.
  2. Select Compact. This collapses the view to show only the glyphs currently present in the font, hiding thousands of empty Unicode slots and grouping unencoded glyphs cleanly at the end.
  3. To reset the layout cleanly, you can also reapply the Unicode mapping by going to Encoding > Reencode > Unicode, Full (or Unicode, BMP).