How to Verify OpenType Features in FontForge

Exporting a font from FontForge does not always guarantee that advanced typography features, such as ligatures, kerning, or stylistic alternates, are properly written to the final binary. This guide outlines how to confirm that your OpenType features (GSUB and GPOS tables) have successfully transferred into your exported OTF or TTF file using built-in preview tools, specialized font inspection software, and command-line utilities.

1. Test Feature Lookups in FontForge's Metrics Window

Before exporting, confirm that FontForge is actively applying your feature lookups.

  1. Navigate to Window > New Metrics Window.
  2. Type a string of characters that triggers your feature (for example, "fi" for standard ligatures).
  3. Open the Features menu at the top of the Metrics Window.
  4. Toggle the specific OpenType tags (such as liga, kern, or smcp) on and off to verify that the glyph substitutions and positioning changes occur as expected.

2. Inspect Exported Tables Using TTX (FontTools)

The most definitive way to check an exported font file is to inspect its internal tables using ttx, a tool included with the Python library FontTools.

  1. Install FontTools via your command line:

    pip install fonttools
  2. Decompile the OpenType layout tables of your exported font:

    ttx -t GSUB -t GPOS yourfont.otf
  3. Open the resulting .ttx XML file in any text editor.

  4. Search for the <FeatureRecord> tags. Verify that your designated 4-letter feature tags (e.g., calt, liga, kern) are listed and correctly reference their corresponding lookups. If the GSUB (Glyph Substitution) or GPOS (Glyph Positioning) tables are missing entirely, FontForge failed to compile your feature scripts during export.

3. Use Web-Based Font Testing Tools

Interactive browser-based analyzers allow you to drag and drop your exported font to view compiled tables and test functionality live.

  • Wakamai Fondue: Drag your font into the tool to receive a complete breakdown of every OpenType feature compiled into the binary. It provides a visual interface showing which layout features are available and allows you to test them in real time.
  • FontDrop!: This tool displays general font metadata and lists all supported OpenType features, glyph mappings, and substitution tables directly in your browser.

4. Verify in Layout Applications

Desktop applications handle OpenType tables differently depending on their text layout engines.

  • Adobe InDesign / Illustrator: Install the font, open the OpenType panel, and check if the icons for your features (such as Discretionary Ligatures, Fractions, or Swashes) are active and clickable. If a feature icon remains greyed out, the application did not detect the corresponding feature tag in the font's binary.

  • Web Browsers via CSS: Create a simple local HTML file and apply your font using @font-face. Test the features by explicitly toggling them with CSS:

    p {
      font-family: 'YourFont', sans-serif;
      font-feature-settings: "liga" 1, "kern" 1;
    }

    Toggle the value between 1 (on) and 0 (off) in your browser’s developer tools to ensure the rendering engine executes the substitutions.