Skip to content

New in FontLab 8: Families & variation

Quickly make variable fonts from static fonts. Define custom per-glyph variation axes. Re-use live interpolated instances to build glyphs with smart variable components.

Set start points and reverse contours in all masters. Make contours compatible with improved Matchmaker. Group layers visually.

Variation

Make variable fonts from static fonts

If you open several static fonts (OpenType, VFB, UFO etc.), then you select them in the Fonts panel (use Shift), and then choose Fonts > Merge Fonts to Masters, FontLab creates a new font that has all the source fonts as masters.

New If the static fonts differ in weight or width, FontLab now correctly builds the variation axes in Font Info and assigns reasonable design coordinates for each master. New If the source fonts contain Mask layers, FontLab also adds them into the new font. #6485

Match when Editing

Apply certain contour operations to all matching masters

If you turn on Edit > Match when Editing and perform edits in the Glyph window, FontLab repeats those edits accordingly on all matching masters to keep variation compatibility. New Now, if Preferences > Variations > Match when editing > Contour operations is turned on, FontLab repeats these editing operations:

  • Contour > Set Start Point (but not Set Start Point from the context menu)

  • Contour > Reverse Contour and Reverse Contour from the context menu

  • Contour > Add Smart Corner and Smart Corner from the context menu

Match Masters and Matchmaker tool

The Matchmaker tool (7 key) is a tool that you can use to inspect the contour order, change the contour direction and relocate the start point. If you have multiple masters, you can also use Matchmaker to make the contours compatible for interpolation.

Depending on the settings in the Layers & Masters panel, Matchmaker shows all or some masters of the current glyph:

  • If no master is set to visible in the panel, Matchmaker shows all masters in the order assigned in Font Info > Masters, but it shows the current master first.
  • If any masters are set to visible in the panel, Matchmaker shows the visible masters and the current master, which it shows first.

Matchmaker draws master relation lines that connect the corresponding nodes between all visible masters. Drag the blue dot to change the stacking view (the arrangement of the masters) in Matchmaker.

Show intermediates turned on

If you turn on Show intermediates in the property bar:

  • Matchmaker colorizes the outlines of each master in the Glyph window with the color that you’ve assigned to the master in the Layers & Masters panel. Alt-click the Layer preview color button on top of the Layers & Masters panel to assign a unique color to each master.

  • Matchmaker shows a series of intermediate interpolation steps between each master. You can change the number of interpolation steps and their opacity in the property bar. Even if your font has multiple axes, Matchmaker shows interpolation steps between each two masters in the Font Info > Masters order, so these steps are not the same as your font instances.

  • If you select a contour or its portion with the Contour tool, or if you double-click a contour in the Elements panel, Matchmaker draws the master relation lines for the selected nodes thicker.

Show intermediates turned off

If you turn off Show intermediates in the property bar:

  • Matchmaker uses a unique color to draw the outlines of each contour across all visible masters. This way, you can easily see if the order of the contours in each master match.

  • If you select a contour or its portion with the Contour tool, or if you double-click a contour in the Elements panel, Matchmaker draws thick outlines for that contour and faded outlines for the other contours.

Manually matching masters with Matchmaker

If the matching status in the property bar is yellow or red, you can use Matchmaker to manually match a section (continuous series of one or more segments) across masters:

  • Select start of section (blue): drag around start nodes of section in all masters, and release. Shift-drag: add nodes to the start of section.
  • Select end of section (orange): drag around end nodes of section in all masters, and release. Shift-drag: add nodes to the end of section.
  • Enter: make sections compatible.

Repeat until status is green.

Match Masters in Matchmaker tool

If you activate the Matchmaker tool, you can now use two different ways to match the masters: #5628

As in previous versions, click the Match masters button in the property bar to perform “weak matching”: FontLab uses the auto-match settings defined in Font Info > Axes, so if Sort contours and start nodes and/or Check masters geometry are off, FontLab does not perform these operations when matching the masters.

New Shift-click the Match masters button in the property bar to perform “strong matching”: FontLab behaves as if both auto-matching settings were turned on. So, if a simple click on the Match masters does not produce a matching result, try Shift-clicking.

Contour order in Matchmaker tool

New If you activate the Matchmaker tool, it now draws the first node (start point) of each contour larger and shows the number of the contour in the middle of the node. The contour numbers start at 0. You can see the same contour order and numbers in the Elements panel.

Start points in Matchmaker tool

If you activate the Matchmaker tool:

New If you Shift-click any node in a master, Matchmaker makes the node the start point of the contour. #5629

New If you click the Relocate startpoints button in the property bar, Matchmaker automatically sets the start point in each contour in the current master: it places the start point as close to the bottom-left of the glyph. #5626

New If you Shift-click the Relocate startpoints button, Matchmaker automatically sets the start point in each contour in all visible masters.

Contour direction in Matchmaker tool

When the Matchmaker tool is active:

New If you Alt-click any node in a master, Matchmaker reverses the contour to which the node belongs.

New If you click the Set PS contour direction button in the property bar, Matchmaker performs the automatic correction of the contour direction in the current master. #5627

New If you Shift-click the Set PS contour direction button, Matchmaker corrects the contour direction in all visible masters.

Improved Match Masters

New If you have a font with more than two masters, and the masters are not compatible for interpolation, FontLab can now perform matching of the masters in more cases if you use Glyph > Match Masters, or if you click the Match masters button in the Matchmaker tool property bar.

Variations panel

Sliders in the Variations panel show thin vertical bars: the “from” and “to” range indicators. If you click a Play button next to a variation slider in the panel’s List view, FontLab animates the variation within that range.

New It is now much easier to drag these range indicators to change the range.

New The collapsed Variations panel now contains the auto-matching buttons. #6719

Variation improvements in Font Info

Use Font Info > Axes > Detect Axes to build variation axes info based on the names of the layers

New Click Font Info > Axes > Detect Axes and FontLab detects the variation axes used in your font based on the names of the layers.

FontLab browses all glyph masters, and tries to decode the axis location from the master name. The master name can contain one of the known keywords for weight (like “Black”), width (like “Wide”) or slope (like “Italic”). The master name may also provide the axis location using the serif=10 notation. This is mostly useful if you’ve added glyph or font masters, and now you wish to add an axis.

Font Info > Add master

If you use Font Info > Add master (+ in the bottom-left corner), and you choose one of the options there, FontLab shows the Add master dialog.

New FontLab now auto-completes the master names from a list of known master names.

New If you use a known master name, FontLab also adds an axis in Font Info > Axes if needed, and also sets reasonable values for the master’s Weight, Width and Slope class in Font Info > Names. This functionality was previously only available in Font > Add Variations.

Specify location of font-less masters

Font-less masters are glyph layers that participate in variation, typically as intermediate masters located between font masters. A font-less master only exists in a glyph. It does not have its own list of kerning classes or pairs, and it does not have any Font Info > Master properties like font dimensions, font guides or zones. Previously, the axes location of a font-less master was encoded in the layer’s name (: followed by a comma-separated list of axis codes and their numeric values, like :wt=650,wd=100).

New Now each layer has its own location field which is separate from the name. The field is located in the layer properties section of the Layers & Masters panel. Click the Show layer properties button on top of the panel to open the section.

By default, the location field is empty. You can enter the comma-separated location into the text field, without the : prefix, like wt=650,wd=100. Once you confirm the change, FontLab asks you if you want to relocate the corresponding layer in Current Glyph, Selected Glyphs or All Glyphs.

You can also click the Select location button to open the visual location selector. There, add axes one by one and specify the location on that axis with the slider. Click + to add a custom axis, or click +⃞ to add all font axes. You don’t need to specify a location for every axis. At the bottom, choose in which glyphs you want to relocate the corresponding layer.

You may also give the layer an optional human-readable name, which now independent of the location. Enter the name in the Name field above the Location field, or double-click the layer entry in the list.

The Layers & Masters section of the Font window sidebar shows font-less master layers in the old format: the optional name followed by :, followed by the location, like ShortThin:length=30,thickness=40.

New action: Adjust by variation

New If your font has multiple masters, use the new Adjust > Adjust by variation action to replace a master with an interpolated instance that has a different axis location.

You can use absolute axis coordinates (replaces the master with the contours from another location), you can also specify relative axis coordinates (then, you can run the action on multiple masters). Use this for example if you:

  • wish to “move” a central / neutral master (e.g. make it bolder or lighter), especially if your neutral master is purely interpolated
  • extrapolate the min or max master (to allow extrapolation, you first need to adjust the min and max values in Font Info > Axes > Axis Graph > Design coordinates)
  • convert a non-rectangular design space into a rectangular one (needed if you’re producing a variable font)

Note

If you replace a master with an interpolated instance, the design of the other instances changes accordingly.

Component sources that have font-less masters

New If you have a base or mark glyph that has intermediate font-less masters, and you build a composite glyph that points to such a glyph, the composite glyph now uses the intermediate masters when you produce variations.

For example you can have glyph e that has font masters Light and Bold, and has an intermediate glyph master (an unnamed layer with the location wt=650 or layer named SemiBold with the location wt=650).

In the composite glyph (like eacute), it’s now sufficient to have the font masters you want (like Light and Bold). You no longer need to build the intermediate master in the composite glyph. Previously, composite glyphs in FontLab ignored intermediate masters in component sources.

Smart variable components

Choose dynamic instance for a smart, variable component

If your font has variation axes defined in Font Info and multiple masters, you can use any dynamic instance of any variable glyph as a smart, variable component in any layer of another glyph.

New If you have a component that points to a variable glyph, click it and click the Select component instance button in the property bar. A dropdown appears where you can use the sliders to choose a dynamic instance for the component. Click the Reset button to set the component to use the current layer.

To use the same dynamic instance for multiple components, open the Elements panel, turn on Show element properties and then click Expand properties on the right of the element name. At the bottom of the panel, you’ll see a Base layer name field.

There, you can enter a layer name (like Black) or a #-prefixed variation location such as #wd=112,wt=550. Copy the contents of the field, click another component and paste.

Tip

Use variable components to build live small caps or superscript / subscript glyphs.

Define custom glyph axes for smart variable component sources

New The source glyph of a smart, variable component can also use custom glyph axes that are not defined in Font Info. You can encode arbitrary axis names in the layer’s location. For example, you can create an unnamed layer with the location le=30,th=40, and another layer with the location le=300,th=40 etc.

FontLab interprets le and th as glyph-specific axis codes. If you use this glyph as a component and select the instance in the Elements panel, you can use these codes in addition to the font-wide axis codes to specify the variation location of a component. These glyph-specific axis codes also show up as sliders when you visually choose the dynamic instance for the variable component.

In your layer location, you can also use longer names of axes (like length=30,thickness=40) as long as the first two letters don’t conflict with each other or with font axes codes defined in Font Info > Axes.

Tip

Create glyph portions like serifs, shoulders, stems or marks as a separate glyphs, create additional masters and custom axes, for example for width or height, and then add these glyphs as variable components to your regular glyphs.

Font-wide metrics in the #instance layer

New If you choose the #instance layer in the Layers & Masters panel or the Glyph window property bar, the Glyph window now shows interpolated positions for zones, font dimensions and font guides.

Layers

Visual grouping of layers in the Layers & Masters panel

If a layer like Bold has an associated Mask layer named mask.Bold, the Layers & Masters panel in FontLab 7 showed the associated Mask layer as visually indented if the Show Mask layers in panel button at the bottom of the panel was turned off. FontLab 8 improves the presentation of Mask layers and other associated layers, and extends the visual grouping to other other layers.

Mask layer

If a glyph has a design layer named, for example, Regular, it may also have an associated Mask layer named mask.Regular. FontLab creates Mask layers if you use Mask operations from the Tools menu. Designers use Mask layers to hold visual reference artwork for the glyphs they’re working on.

New In the Layers & Masters panel, a Mask layer is shown as a “child layer”: it is shown below its “parent layer”, indented, and now it shows a mask icon followed by the name of the associated design layer. The mask. prefix is no longer shown. If you double-click to edit the layer’s name, you can still edit the full name including the mask. prefix.

New The Show mask layers button at the bottom of the Layers & Master panel is now only visible if the glyph layer has any Mask layers.

Associated layers

New The Layers & Masters panel now supports visual grouping of arbitrary layers.

If a glyph has a layer named, for example, Regular, and it has another layer named Regular.draft (so it’s the same base name plus a . followed by a suffix), the Layers & Masters panel forms a visual group of “associated” layers: it shows the Regular.draft as a child layer, indented underneath its parent Regular layer, and only shows the draft part of the name, prefixed with an arrow icon.

This visual grouping of layers is just a presentational mechanism, and only works one level deep. The layers don’t form any technical parent-child structure. The Regular.draft layer is still completely independent of its associated Regular parent layer. If you rename the Regular layer to something else, FontLab does not automatically rename associated layers like Regular.1 or mask.Regular. Those layers will become visually ungrouped (disassociated), will no longer appear nested, and their prefix/suffix will be shown.

Filling new layers with contents of other layers

New If you use the New Layer dialog to add new layer, and you choose to fill new layer with contents of another layer of an open font, FontLab now also copies the associated mask layer if present. You can remove the mask if you do not need it. #6436

Components in Mask layer

New If you add a component to the Mask layer, FontLab now adds a component that points to the parent layer.

For example, if you create a glyph P and draw some contours in its Regular layer, and then in the glyph R, you choose Tools > Edit Mask or click Mask in the View panel, FontLab enters the mask.Regular layer of R.

If you now choose Glyph > Add Component, type P, turn off Apply to all masters and click OK, FontLab will insert a component into the R Regular layer mask that points to the Regular layer of P.

Now you can turn off Tools > Edit Mask or click Outline in the View panel, and you can edit your R while seeing the P in the Mask. If you update the P, the mask in the R will also update.

Inactive layers as wireframes

New In Preferences > Variations > Show inactive layers as wireframes, you can change the opacity of the wireframes for inactive but visible masters. #4961