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:
- 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.
- Export to UFO Format: Export each master font file
from FontForge into the Unified Font Object (
.ufo) format. - Define a DesignSpace: Create a
.designspaceXML file that defines the variation axes (such as weight or width), default positions, and references to each exported UFO master. - Compile with Fontmake: Use
fontmake, a modern open-source command-line compiler maintained by Google Fonts. Runningfontmake -m font.designspace -o variablecompiles 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
fontmakeremains 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.