New in FontLab 8: Families & 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.
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. If the source fonts contain Mask layers, FontLab also adds them into the new font.
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. 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:
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.
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¶
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:
If you Shift-click any node in a master, Matchmaker makes the node the start point of the contour.
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.
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:
If you Alt-click any node in a master, Matchmaker reverses the contour to which the node belongs.
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.
If you Shift-click the Set PS contour direction button, Matchmaker corrects the contour direction in all visible masters.
Improved Match Masters¶
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.
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.
It is now much easier to drag these range indicators to change the range.
The collapsed Variations panel now contains the auto-matching buttons.
Variation improvements in Font Info¶
Use Font Info > Axes > Detect Axes to build variation axes info based on the names of the layers¶
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.
FontLab now auto-completes the master names from a list of known master names.
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
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
New action: Adjust by variation¶
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)
If you replace a master with an interpolated instance, the design of the other instances changes accordingly.
Component sources that have font-less masters¶
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
Bold, and has an intermediate glyph master (an unnamed layer with the location
wt=650 or layer named
SemiBold with the location
In the composite glyph (like
eacute), it’s now sufficient to have the font masters you want (like
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.
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.
Use variable components to build live small caps or superscript / subscript glyphs.
Define custom glyph axes for smart variable component sources¶
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
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.
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
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.
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.
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.
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
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.
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
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¶
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.
Components in Mask layer¶
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
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
Regular layer mask that points to the
Regular layer of
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¶
In Preferences > Variations > Show inactive layers as wireframes, you can change the opacity of the wireframes for inactive but visible masters.