Can FontForge Export Variable Fonts?

FontForge is a widely used open-source font editor, but its support for modern OpenType variable fonts is a frequent source of confusion for type designers. While FontForge has historical support for interpolation technologies like Type 1 Multiple Master and Apple TrueType GX, it cannot natively export modern OpenType variable font files directly through its standard interface. This article explains FontForge's current technical limitations regarding variable fonts and outlines the standard workflow required to generate them using FontForge alongside external tools.

FontForge's Native Limitations

OpenType Font Variations, introduced in OpenType 1.8, rely on specific tables such as fvar, gvar, HVAR, and MVAR to define design axes and glyph outline deltas. FontForge does not contain the internal generation logic to compile these modern variation tables into an exported font file.

Although FontForge allows you to design interpolation masters using its Multiple Master architecture (Element > Multiple Master), the export dialog can only output static instances (single-weight TTF or OTF files) or older Apple GX formats, which are largely unsupported across modern web browsers and design applications.

The Standard Variable Font Workflow Using FontForge

Because FontForge cannot compile the final variable font file on its own, designers must use it as part of an external toolchain. The standard pipeline involves designing in FontForge and exporting to an open interchange format:

  1. Design Master Glyphs: Create the extreme weights, widths, or styles as separate FontForge layers or independent font files with identical point counts, point orders, and contour directions.
  2. Export to UFO Format: Export each master font file from FontForge into the Unified Font Object (.ufo) format.
  3. Define a DesignSpace: Create a .designspace XML file that defines the variation axes (such as weight or width), default positions, and references to each exported UFO master.
  4. Compile with Fontmake: Use fontmake, a modern open-source command-line compiler maintained by Google Fonts. Running fontmake -m font.designspace -o variable compiles your UFO masters and designspace file directly into a fully compliant OpenType variable font (.ttf).

Alternative Tools for Direct Export

If your workflow requires a graphical interface that handles variable font compilation natively without external command-line scripts, dedicated alternatives are generally preferred:

  • Commercial Software: Applications like Glyphs and FontLab offer native OpenType 1.8 variable font authoring, live variation previews, and one-click variable font export.
  • Open-Source Alternatives: For an entirely free pipeline without manual script execution, visual tools like BirdFont offer basic native variable font export, though fontmake remains the industry standard for production-quality builds.

FontForge remains a capable editor for drawing compatible masters and managing static fonts, but producing variable font files requires pairing it with modern compilation utilities like fontmake.