Skip to content

Creating a Variable Font (example)»

There are several methods to create a variable font depending on what sources you have.

Creating Variations from a Single-master Font»

Given you only have a single-master font, Regular design:

  1. Open the font in FontLab, choose File > Font Info to open the Font Info dialog.

  2. In the bottom-left part of Font Info, click the “Plus” (Add master) button, and choose Duplicate master, copy glyph layers. Give the new master a name like Condensed. This creates the Width axis, creates a second font master named Condensed, copies all glyph layers and kerning from the Regular master and assigns the axis location 75.

  3. Click OK to close Font Info.

Once you’ve done this, you have the Width axis with two font masters Condensed and Regular, and each of your glyphs has two layers, Condensed and Regular. Of course they’re now identical, so you need to change the glyphs in the Condensed master to actually make them condensed. An easy way to do this:

  1. In the Font window property bar (at the top of the Font window), make sure your Condensed master is chosen. You can also use the Layers and Masters panel to switch the masters.

  2. In the Font window, select a few sample glyph cells, choose Tools > Actions and from the Basics section choose Scale. In the right area, turn off the chain link (🔗) and in the Horizontal field enter the scaling factor, for example 80. Turn Scale metrics and Keep vertical stem thickness on. Make sure Active Layer is selected at the top and turn on the option Apply to entire font at the bottom. Click OK and all the glyph layers in the Condensed master will be scaled horizontally by 80.

  3. The automatic algorithm compensates for the weight difference, but it changes the point structure of the contours a bit, so the glyphs are now non-matching, they cannot be interpolated. But there’s a fix for that: with all glyphs selected in Font window, choose Glyph > Match Masters, and your glyphs should interpolate again. To check how the interpolation is working, open the Variations panel.

That’s the automatic step. It still does not make your Condensed master perfect, but it’s a decent start. Now it’s time to dive into actual glyph editing.

Whether you used the “condense + change horizontal weight” automation or not — now it’s time to open the Glyph window. In Font window, select (with Cmd or Ctrl) a few key glyphs you’ll be manually adjusting, like O, H, o, n. Choose Window > New Glyph Tab/Window, and those glyphs open in a new Glyph window.

Activate the O glyph and turn on Contour > Power Nudge. With Power Nudge on, you can select the two rightmost nodes of O and move them to the left or to the right, and FontLab will semi-magically scale the glyph horizontally while keeping the vertical stem thickness.

Go through all your glyphs, make the adjustments, and you’ve made your condensed variant.

Creating Variations from a Set of Fonts»

To create a font with multiple font masters from a set of existing single-master fonts, open all the single-master fonts in FontLab and do one of the following:

Method 1:

Open the Fonts panel, select all the fonts (using Shift or Cmd) and use Font > Merge to Layers. FontLab will create a new font with multiple font masters. You may close the source fonts and continue working with your new variable font.

Method 2:

  1. Activate the font into which the font masters will be added (choose its Font window or double-click it in the Fonts panel). This will be the font that will provide names, classes, features and other font-wide (or family-wide) data. Let it be the Regular style of the family.
  2. Choose File > Font Info to open the Font Info dialog.
  3. Click the “Plus” button in the lower left corner.
  4. Choose the single-master font which will be added as the new font master to your Regular font master.
  5. Repeat the previous step until you’ve added all the fonts as font masters.
  6. Close the source single-master fonts except the one which is multiple-master now.

Use the Master switcher on top of the Font Info dialog to switch between masters. You can also add new blank font masters, or duplicate existing font masters, using the “Plus” button.

Once you have multiple font masters, assign a unique name to each one using the Master name field in the Font Info > Names section.

Then, switch to the Font Info > Masters section to choose the default font master (which will be exported as the neutral master into the variable OpenType font), and set the location of each font master on the design space.

To check how the interpolation is working, open the Variations panel.