Skip to content

FontLab version»

21 March 2019

New features / enhancements»


☆ FontLab 6.1.3 opens fonts 1.5–2× faster, saves VFCs 2× faster, and uses less memory than version 6.1.2.

Drawing and glyph editing»

Right-click improvements»

  • You can now easily delete nodes, handles, anchors, pins and guides using a two-button mouse, like in FontLab Studio 5: press-and-hold the left mouse button on the object, and, while holding the left button, click the right mouse button, then release both buttons. If you do the same on a curve segment, it will be converted to a line segment.

  • You can now easily insert a node on a segment using a two-button mouse, like in FontLab Studio 5: press-and-hold the the right mouse button on the outline of a curve or line segment, and — while holding the right button — click the left mouse button. FontLab will insert a smooth node on a curve segment or a sharp node on a line segment where you clicked.

  • The context menu in the Glyph window now opens when you press the right mouse button (or, on the Mac, also press Ctrl and the left mouse button). Previously, the context opened when you right-clicked (i.e. pressed and released the button), and it was possible to accidentally drag objects or start a selection with the right button pressed. Thanks to this small change, users of tablets and styluses should find it much easier to open the context menu on nodes, handles, guides etc. Note: dragging a segment with the right button pressed still performs non-node editing.

“Pantograph” non-node editing»

If you don’t have any nodes or segments selected, you can edit a segment directly via non-node editing: place your pointer over the outline (not a node) so that a blue rhombus appears, and drag it. Previously, the change of the segment directly corresponded to the distance you dragged.

Now, the segment changes by the half of the dragging distance, so you can control the curve more precisely without zooming in. You can customize this ratio in Preferences > Distances > Non-node editing changes contour by 1/2 of dragging distance. Change 2 to 1 to get the old behavior, or enter a larger number (up to 5) for even more precision. A hundred years ago, type designers used a pantograph for the same purpose!

Scale and flip selections with Selection frame»

In the Glyph window, you can now use the new Selection frame to instantly scale or flip contour selections (in Contour mode) as well as elements and contours (in Contour and Element modes). Turn on View > Selection Frame and a light gray rectangle will be shown around your selection or element with scaling handles at the sides and corners:

  • To scale the selection, drag any of the handles.
  • To also scale in the opposite direction, Alt-drag.
  • To scale proportionally, Shift-drag.
  • To flip the selection vertically, Alt-click the left or right round handle, or tap E.
  • To flip the selection horizontally, Alt-click the top or bottom round handle, or tap W.

Note: Choose Tools > Free Transform (CmdT on Mac, CtrlT on Windows) for more advanced transformation that includes rotation, slanting and the ability to move the center of the transformation.

Move nodes or handles with cursor keys after dragging»

When you drag a node or a handle to move it, it now becomes selected, so you can instantly move it further using cursor keys. Previously, clicking a node or handle selected it, but just dragging it left it unselected.

Tunni lines»

☆ When you turn on Tunni lines (View > Tunni Lines or L) and click a Tunni line, you can edit the line using the cursor keys. As in previous versions:

  • moves both handles closer to their intersection point
  • moves both handles further away from their intersection point

Now, you can use additional keystrokes (the direction of the movements is always from the point of view of a convex segment):

  • Alt moves the Tunni point to the left, parallel to the current angle of the Tunni line, by making the left handle shorter and the right handle longer
  • Alt moves the Tunni point to the right, parallel to the current angle of the Tunni line, by making the left handle longer and the right handle shorter
  • Alt moves the Tunni point away from the segment, orthogonally to the current angle of the Tunni line, so it increases the tension
  • Alt moves the Tunni point closer to the segment, orthogonally to the current angle of the Tunni line, so it decreases the tension

When Preferences > Editing > Live preview is on, editing Tunni lines show live preview in the Preview panel. The preview was only refreshed after releasing the mouse button before.

If Preferences > Editing > Clicking outline selects segment is off and you click a segment, you can perform non-node editing using the cursor keys, just as before. But now, pressing CmdAltL (Contour > Edit Tunni Lines) activates the Tunni line of the current segment for editing. Previously, this activated Tunni lines of all contours for editing.

When a Tunni line is active, you can press Esc to deactivate it.

Deselecting nodes and handles»

The Preferences > Editing > Marquee selection ignores handles when selecting nodes setting controls how the “marquee selection” (rectangular selection that appears when you drag over some nodes and handles) works. When it is off, the marquee will select both nodes and handles. When it is on:

  • When you drag the marquee over some nodes and handles, the nodes will be selected, and handles will be only selected if they belong to a segment between two nodes that you select. In other words, “free-standing” handles will not be selected.

  • When you drag the marquee only over handles, they will be selected.

Previously, when this setting was on, FontLab used the same behavior when deselecting with Shift-marquee. Many users found that confusing because some handles would not be deselected. Now, Shift-marquee always deselects whatever it captures, nodes or handles.

Make slanted glyph guides»

If you create a horizontal or vertical glyph guide, you can now click a tiny circle on the guide to convert it to a “vector” guide. The tiny circle is then replaced by an arrow that you can drag to change the angle of the guide. Previously, converting a horizontal/vertical guide to a slanted vector guide was more cumbersome (right-click, choose Vector, click again to see the arrow).

Improved: Set Start Point»

If a node is selected in the Glyph window, the new Contour > Set Start Point command makes the node the first node of the contour.

If you use the command in the Font window with one or more glyph cells selected, or in the Glyph window with no node selected, Set Start Point will relocate the start point to the “optimal” node in each contour of the current glyph layer. FontLab will chose the sharp node point at the end of a straight vector closest to the origin point (0,0) as the “optimal” node; or if that is not found, the sharp node closest to the origin; or otherwise the node closest to the origin.

Because it is now a menu item, you can assign a keyboard shortcut to Set Start Point via Tools > Commands.

New action: Add Nodes»

Tools > Actions has a new Effects > Add nodes action, familiar to FontLab Studio 5 users. The action lets you specify a desired segment length in font units.

It divides the real length (along the curve) of each existing segment by the desired segment length, and then splits each segment into a number of new segments equal to the rounded result of the division. When splitting, it keeps the existing nodes and inserts new nodes, either at equal distances (so the length of each new segment approximates the desired segment length), or at random distances (if Randomize is on). Optionally, it converts all curve segments into line segments.

For example, if you specify the desired segment length of 100 and turn off Randomize, a line segment that is 752 units long will be split into 8 equal segments of 94 units each.

Improved action: Set Contour Direction»

Tools > Actions > Basics > Set Contours Direction now works better. If different parts of a glyph have different contour direction, they will get the proper TrueType or PostScript direction, depending on your choice.

Drawing ellipses and rectangles»

When you started to draw an ellipse or a rectangle at a sidebearing, FontLab used to move the sidebearing instead of drawing the contour. This no longer happens, but you can still move the sidebearing using the Spacing Controls triangles.

When View > Suggest > Stems is on, FontLab now suggests stem distances (defined in Font Info) as you draw with the Rectangle tool.

Smart Corners»

  • The rounding of coordinates when applying Smart Corners was much improved, so the results (especially very small ink traps) are much smoother now.

  • When a Smart Corner handle is on top of a node, you can now use Alt-drag to grab and manipulate the Smart Corner handle instead of the node.

Esc key in the Glyph window»

When you have selected some object (contour, element etc.) in the Glyph window, the Esc key moves the focus up one level. If your glyph has several levels, such as groups of elements inside other groups, tapping Esc multiple times activates the higher-level object and ultimately deselects the selection. When nothing is selected, tapping Esc deactivates the glyph, so no glyph is active. This is especially useful to preview a longer text in Glyph Window.

You can now reactivate a glyph with a single click anywhere in the Glyph Window. Previously, reactivation needed a double-click the glyph contour.

Elements and components»

Components: coordinates and index»

☆ When View > Show > Coordinates is on, FontLab will now show the component index (starting at 1), its coordinates (if they’re different than 0,0) and its scale and rotation (if non-default) below all components in the Glyph window. The readout for the active component is slightly darker.

Elements/components in Scoreboard»

If you turn on View > Scoreboard, the Scoreboard (the large resizable coordinate readout) now also appears when you move a component or an element, and shows the placement coordinates.

Better rendering of selected elements»

When using Preferences > Glyph Window > Outline thickness > Thick, the selected element now presents more contrast from the unselected ones. The difference is more visible when View > Show > Smooth Outline option is on.

Remove or reorder elements/components while in Font window»

While in the Font Window, you could use the Elements panel to reorder elements via drag-and-drop. You could also select an Element and change its properties. Now, while in Font window, you can also delete the selected element from Elements panel with the button or Del, and you can reorder Elements using Element > Arrange: Send to Back (ShiftCmd[ which makes the element or component “first”), Send Backward (AltCmd[), Send Forward (AltCmd]) and Send to Front (ShiftCmd]).

Previously, you had to open the Glyph window to perform these operations. Note: Elements and components in the Elements panel are ordered in visual stacking order, like layers in design apps. The first element or component is listed at the bottom of the panel.

The Gallery panel lists all elements in the current font layer that have a name.

The panel now has a Filter bar that lists all unique prefixes and suffixes found in element names. This greatly simplifies navigation, especially if you use systematic element names like serif.bottomleft, serif.topright, bowl.topright etc.

The panel now also has a Remove element from Gallery button. When you select one or more elements in the gallery and click the button, the names of these elements will be removed so they will disappear from Gallery. However, all existing references to these elements in the glyphs will not change. To add an element to the Gallery, give it a name in the Elements panel.

Metrics when inserting a component or reference»

The Glyph > Add Component dialog, as well as the Add Element Reference and Replace Element Reference dialogs from Element > Element Reference, now remember whether you last chose Keep metrics or Replace advance width. However, if the glyph is blank, Replace advance width is always chosen.

Add new elements/components to a group»

Now you can add another element or component to an existing group of elements. To do so, select the group and the additional element/component, then choose Element > Group (CmdG). The new element will be added, preserving the group name. This is particularly important when the element group is referenced by other glyphs because the reference is fully preserved this way.

Previously, you needed to ungroup and then regroup the elements with the extra element included, losing references to the group.

Glyphs, layers and masters»

Adding Glyphs»

☆ In Font > Add Glyphs:

  • In the Categories, Scripts and Ranges tabs, you can now enter a Unicode codepoint (e.g. 0105), a Unicode character (e.g. ą) or a glyph name (e.g. aogonek) into the Filter text box. The group that contains the match will be shown in the list. If the list only shows one result, the map automatically shows the matching character cell.
  • When you click a character cell, you can hold Space to display the character rendered in the system font, with additional information.

Append Glyphs now uses references»

When you copy and append glyphs to the same font in the Font window (Edit > Copy Glyphs and Edit > Append Glyphs), FontLab now builds the new glyphs with references instead of unlinked copies. It no longer changes the names of previously existing elements by adding numeric suffixes — the element names are preserved.

Filling layers with the content of other fonts or masters»

If you choose Glyph > Add Layer or click the Plus button in the Layers and Masters panel, and turn on Fill new layer with content of this font, you can add the content of a master layer of another open font or the current font (“content”) as a new layer to your current font. If you haven’t entered your own name for the new layer, FontLab automatically names the new layer .content font (previously, it would always overwrite your name with the autogenerated name).

For each glyph in your current font where you’re adding the new layer, FontLab looks up the glyph name in the content font and master, and when it finds a matching glyph layer:

  • If the content glyph layer contains simple elements or contours, it copies them to the new layer.

  • If the content glyph layer contains components, it copies them as components that refer to the new layer of your current font. If the content glyph layer was a composite, but you haven’t filled the new layer for the component source glyphs, the new layer of the composite glyph will have blank components.

  • If the content glyph layer contains named element references, FontLab previously copied the content elements as standalone, unlinked elements. Now, if you turn on the new Reuse named elements that exist in new font layer setting, FontLab will instead check for any glyphs in the current font that contain a pre-existing layer with the same name as the new layer. If the pre-existing layer in any glyphs already contains elements with the same name as the element references you’re adding from the content font master, FontLab will add references to the pre-existing elements instead of adding standalone elements.

In other words: with Reuse named elements that exist in new font layer on, you copy the element structure from the content font master, but the appearance is taken from the current font. With Reuse off, you copy the elements’ appearance from the content font master.

If you work with element references, you can create different versions of the same-named element across different masters, and then use this new setting to copy the structure of elements of some compound glyph layers from one master to a second master, but use the appearance of the elements already defined in the second master.

Editing across exportable and service layers»

If Edit > Edit Across Layers is on, you can select objects on other exportable layers (e.g. master layers) if an exportable layer is active, or on other service layers (e.g. Mask) is a service layers is active, but you cannot select across both exportable and service layers at the same time. This should improve working with masks and other service layers.


Interpolation of named elements»

☆ FontLab now prefers names of elements over the element order when determining the order in which elements match across masters for interpolation. This change makes it easier to work with compound and color glyphs that use many elements. This does not affect components and elements that don’t use names.

When you interpolate (use the Variations panel to see an instance, generate or export instances), and if your glyph contains named elements:

  1. FontLab now uses names of elements as the first step to identify elements as matching across masters. For each unique element name present in any master, FontLab finds matching elements with the same name in all masters. If more than one element have the same name in each master (when you use several element references within one glyph, e.g. for serifs), FontLab orders the same-named elements by their Elements panel order. If the number of elements with the same name differs across the masters, it matches the smallest common number of elements.

  2. In the second step, FontLab uses the element order defined in the Elements panel to match the remaining elements (this was previously the behavior for all elements).

Metrics and kerning»

In the Kerning panel local menu, Import Kerning is now called Copy Kerning From for consistency.

Locked metrics»

When you turn on View > Lock > Glyph Metrics, you can still edit the glyph metrics in the Metrics mode. The primary purpose of locking glyph metrics is to prevent users from accidentally changing glyph metrics while working with contours or elements.

Metrics Table»

The Metrics table (View > Metrics Table) now shows the metrics fields for the current glyph in bold on a slightly darker background.

Open glyphs for editing more easily»

Previously, in the Metrics and Kerning modes, you could Cmd-double-click (Mac) or Ctrl-double-click (Win) the visible glyph contents (the “black” portion), and the glyph would open in a Glyph window for editing. If Preferences > Spacing > Double-click to glyph in Metrics mode opens it for editing was on, a simple double-click would also open the glyph for editing, and if the setting was off, a double-click would activate the glyph.

Now, all this also works when you double-click (optionally with Cmd or Ctrl) the whitespace of the glyph.

Right-click to remove kerning pair»

In Kerning mode of the Glyph window, while you are changing a kerning pair by dragging either the kerning handle (with View > Show > Spacing Controls on) or the 2nd glyph, you can now remove the kerning pair by also clicking the right mouse button, while already holding the left mouse button (like in Fontlab Studio 5).

Linked metrics, auto layers and expressions»

Auto layer for all layers»

To turn the auto layer property on or off for all layers of a glyph (in Glyph window) or of the selected glyphs (in Font window), hold Alt and choose Auto Layer from the Glyph menu or the context menu.

To toggle auto layer in all layers and also copy the auto layer recipe from the current layer to all other layers when turning auto layer on, hold Cmd (Mac) or Ctrl (Win) and choose Auto Layer from the Glyph menu or the context menu.

Auto layer contents»

Auto layers place components, anchors and guides automatically using recipes, so you cannot visually edit or move them. To indicate this more clearly, the Elements panel now shows names of components in an auto layer in lighter gray and no longer shows the color and the number of contours. This way, you can easily see if the current layer is an auto layer even if the Layers panel is hidden.

Also, previously, you could temporarily drag objects in an auto layer in the Glyph window, and those objects would “snap back” to their recipe-defined positions. Now, you can no longer drag them.

Note: If you want to change the contents of an auto layer, either adjust the auto layer recipe or turn off auto layer and edit the contents manually.

Live update of metrics and auto layers»

FontLab allows you to build complex relationships between and within glyphs using three mechanisms:

  • auto layers: automatically build composite glyphs using “recipes” that you can specify per master; those recipes tell FontLab which glyphs to insert as components and where to position them; auto layers inherit glyph contours, metrics, guides, hints and anchors from the component glyphs; the recipes can also modify the metrics
  • linked metrics: make glyph metrics (width and sidebearings) dependant on the metrics of other glyphs, using expressions
  • location expressions: position guides, alignment zones, anchors and pins using expressions that can refer to positions of other objects (guides, anchors etc.) or to per-master named parameters

In previous versions, FontLab was always automatically recalculating (updating) the location expressions and auto layers whenever you changed some glyph, and was updating the linked metrics either automatically (when the global setting Preferences > Spacing > Automatically update linked metrics was on) or manually (when you triggered Font > Update Metrics).

We have now removed the preference and added a new submenu Font > Live Update. It contains two checkboxes: Live Metrics which causes FontLab to always update the glyph metrics that use expressions, and Live Auto Layers that causes FontLab to keep rebuilding the automatically generated composite glyphs.

If your font uses many auto layers or many linked metrics, live updating may be slow and can impact the performance of FontLab. If that’s the case, turn off either of those checkboxes and periodically trigger Font > Update Glyphs (AltCmdM) to force the update.

FontLab now saves the state of the Live Update checkboxes inside your VFC/VFJ, so you can easily set one font to have live update on and another font to have it off.

Location expressions»

We have also improved some aspects of location expressions for guides, anchors, zones and pins. Note: they are always updated automatically.

  • ☆ You can now search for glyphs that contain a certain location expression (or its portion) in the Search box of the Font window property bar or in Edit > Find Glyphs.

  • If a location expression contains an error, for example an unknown variable, FontLab shows an error message in the Output font whenever you open the VFC/VFJ or you edit an object of that type. These error messages are now more meaningful.

Strong ligature attachment in legacy recipe syntax»

Previously, when writing a glyph generation or auto layer recipe using the legacy syntax, if you wanted to build a ligature, you could use the _ ligature attachment operator. The _ operator had a limitation: the + non-spacing attachment operator ignored _ and always attached marks to the first component of the ligature. The recipe a+acutecomb_b+gravecomb resulted in both acutecomb and gravecomb being attached to a.

We have now added an additional, “strong” ligature attachment operator: &. The recipe a+acutecomb&b+gravecomb will first attach acutecomb over a, then attach gravecomb over b, and then assemble these results into a ligature.

Anchors when decomposing composite glyphs»

When you create an auto layer in a glyph using a recipe, the component glyphs specified in the recipe are used to build anchors in the auto layer as follows: First, the anchors from the source glyph of the first component are inserted, let’s say bottom and top. Then the anchors from the source glyph of the second component are inserted, let’s say left and top. The previously-inserted top anchor is replaced with the new top anchor, so the glyph now has bottom from the 1st component and left and top from the 2nd component. Then the anchors from the source glyph of the third component are inserted in the same way etc., so for any same-named anchors that exist in different source glyphs, the anchor from the last component ends up in the auto layer. When you turn off auto layer or decompose the glyph, those anchors are retained.

When you create a composite glyph by inserting components manually, the new glyph does not receive anchors automatically. When you decompose a manually-made composite glyphs, the anchors now get inherited in the same manner as described above. However, the anchors specified in the composite glyph itself have the highest priority, so decomposing the glyph will not replace those anchors by same-named anchors inherited from the component source glyphs.

Previously, the mechanism of inheriting anchors from component source glyphs was inconsistent. When you decomposed a manually-built composite glyph, the way anchors were inherited was different (the first component had priority rather than the last).

Calculations in numeric text fields»

You can now perform simple calculations in many numeric text fields in the user interface using + for addition, - for subtraction, * for multiplication and / for division. For example, if you select two nodes and the Width field of the property bar will say 400, you can add /2 there (so the field becomes 400/2) and press Enter, the value will become 200 and the horizontal distance between the nodes will be halved. To move a node horizontally by 25 units, just enter +25 after the current node position in the x field in the property bar or the Node panel.

Calculation of zones, hints and guides thickness»

In the fields where you’re supposed to enter a thickness of any guide (including a zone or a hint), you can now enter = followed by the absolute position of the “end” of the guide. For example, if you have a zone that starts at 700 and is supposed to be 20 units thick, in the thickness field, you can enter =720 and it will be recalculated to 20.


Ghost hints»

☆ When FontLab opens a VFB, OTF or Type 1, it now correctly reads the top ghost hints as -20 and the bottom ghost hints as -21. It also correctly exports the top and bottom ghost hints into VFB, OTF and Type 1.

You can now create horizontal ghost hints: select one node or several nodes that have the same y-coordinate, for example on the top or the bottom of the I, and choose Tools > Add Horizontal Hint (CtrlX) command. FontLab will pick the hint value depending on the geometry of the segments adjacent to the node.

Note: When you convert a bottom ghost hint to a link or add a horizontal bottom ghost link, that link gets the width 21 (because the nodes it links from are at the bottom), but FontLab will change the hint back to -21 when you export.

StdW vs. StemSnap PostScript stems»

☆ OpenType PS (.otf) and Type 1 fonts define have two kinds of stems for each direction: one standard stem (horizontal StdHW and vertical StdVW) and a list of common stems (horizontal StemSnapH and vertical StemSnapV). The standard stem is sometimes included in the common stems list, and sometimes it is not — FontLab now supports this distinction.

Previously, when FontLab opened a font, FontLab created the stems list in Font Info > Master Properties > Stems by first checking if the StdHW/StdVW values are also present in the StemSnap lists, and if they were not, it would it would always add them to those lists. Then, it would give the name Hstem name to the horizontal stem value that corresponded to StdHW, and give the name Vstem to the StdVW stem value. When FontLab exported the font to a format with PostScript outlines, it always wrote all Font Info stems into the StemSnap lists.

Now, if the StdHW/StdVW stem values are also found in the StemSnap list, FontLab will name these stems Hstem and Vstem. But if those stem values are not found in StemSnap, it will name them std.Hstem and std.Vstem. When exporting fonts, FontLab will export these stems with the std prefix as StdHW/StdVW stems, but will not include their values in the StemSnap list. If the stems don’t have the std. prefix, FontLab will export them as StdHW/StdVW and will include their values in StemSnap.

Note: When you open a Type 1 or an OpenType PS (.otf) font in FontLab Studio 5 and save a VFB, the app stores the values for StdHW/StdVW but, erroneously, does not expose them in the user interface. If you open such a VFB in FontLab, you’d see these stems in the stems lists even though you do not see them in Studio 5.

Classes and tags»

The Classes panel Class type dropdown now separates the Tags and Virtual Tags entries from the classes entries.

☆ You can now search for partial tag names in the property bar search box and in Edit > Find Glyphs using the * wildcard. For example if you enter la* or *tn and choose the Tags results, all glyphs with the virtual tag latn will be shown.

Import and export classes»

Note: In FontLab, kerning classes are defined per master while tags and OpenType classes are defined per font.

We’ve improved the Classes panel’s local (“hamburger”) menu:

  • Copy Classes From (renamed from Import Classes From) lets you copy classes into the current font and master from a different master or from another currently open font.

  • Remove All Classes… now shows a dialog where you can choose to remove kerning classes (from current master or all masters) and/or OpenType classes from the font.

  • Export Classes.. lets you export all class definitions into:

  • a .classes.json file which will contain kerning classes for each masters, all OpenType classes and all manually assigned tags; tis format is recommended for use in FontLab and is based on the VFJ format

  • an .flc file which will only contain the OpenType classes and the current master’s kerning classes; this format is intended for interchange with FontLab Studio 5

  • Import Classes… lets you import class definitions from a .classes.json or an .flc file.

When you use Copy Classes From or Import Classes…, a dialog appears where:

  • You can choose the type of classes to copy or import. OpenType classes are always copied from the selected font to the current font, and kerning classes are copied from the selected master to the current master.

  • You can turn on Replace existing classes to completely replace the selected type of classes, or turn it off to only import classes with names that don’t already exist in the font (so existing classes will be preserved).

Adding glyphs into a Kerning Class»

When you drag-and-drop or paste some glyphs into a “1st” or “2nd” Kerning class, FontLab checks if the glyphs are already included in another same-side Kerning class. Previously, FontLab silently removed these glyphs from the old classes and placed them in the new class.

Now, FontLab shows a dialog that tells you which glyphs are already part of another same-side Kerning class. You can choose to:

  • Move the glyphs to the new class,
  • Keep the glyphs in the old class and only paste those glyphs that were not part of a class,
  • Cancel the paste operation.

Tags in Classes panel»

  • The Classes panel now works much faster when you create tags, delete tags, or add/remove glyphs in a tag.
  • The Classes panel now sorts tags alphabetically by default and shows larger icons. Text display in the status bar was also improved.

Virtual tags»

FontLab automatically assigns virtual tags to your glyphs based on:

  • linguistic criteria (e.g. uc for uppercase glyphs, lc for lowercase glyphs, fig for figures, and 4-letter tags for glyphs belonging to a particular Unicode script),
  • technical criteria (e.g. blank if all printing layers in the glyph have no contents, composite if any of the layers uses components, references if any of the layers is used as a component or element reference),
  • the OT Glyph Definition Class entry in the Glyph panel (corresponding to the virtual tags otnone, otsimp, otliga, otmark and otcomp), that translates into the GDEF table classes.

In this version:

  • We’ve added the noblank virtual tag that is automatically assigned to all glyphs where at least one visible layer has some visible content (contours, components, images).
  • We’ve added the ALL virtual tag that is automatically assigned to all glyphs in the font.
  • We’ve added the svg virtual tag for all glyphs where at least one exportable layer has an SVG element, and the image virtual tag for all glyphs where any of the layers includes images.
  • The Categories > Properties section of the Font window sidebar now includes additional entries based on virtual tags: Blank, Color, Image and SVG.
  • The color virtual tag no longer appears erroneously.


Applying features in Glyph window and Preview panel»

The setting Preferences > Open Fonts > Compile feature definitions now works as expected.

  • When it’s on, FontLab will compile the feature definitions so you can use features in the Glyph window.
  • When it’s off, FontLab will open the font, but not compile the features. You can now turn on the Features checkbox in the Glyph window sidebar or in the Text mode property bar to compile the features in this situation. Previously, you had to manually compile the features using the Compile features button in the Features panel.

The Script selector in the Glyph window sidebar, in the fi Features dropdown of the Text mode property bar and in the Features popup of the Preview panel now lists:

  • The Auto script that performs automatic script identification and text run segmentation depending on the text that you’re testing.
  • The Default script that lets you test the features defined in the DFLT script.
  • The scripts that the font’s Unicode coverage actually supports.

Previously, the selector listed Auto and all Unicode scripts, which wasn’t useful.

Features panel»

When you add a feature in the Features panel, FontLab asks you to type in the 4-letter feature tag, and then generates the feature code snippet.

The Go to glyph or class at cursor button in the Features panel has a new icon.

Import features»

We’ve improved the Features panel’s local (“hamburger”) menu:

  • Import Features… (renamed from Import Features File) now lets you import feature definitions not just from .fea files, but also from .ufo, .vfb, .vfj or .vfc.
  • Copy Features From was renamed from Import Features for clarity. It lets you copy feature definitions from another open font.

Classes and tags in feature definitions»

When you compile the features in the Features panel or when you export a font into OpenType, FontLab automatically performs a conversion of FontLab classes defined in the Classes panel into “FEA classes”, and includes them on-the-fly into the feature definition code (“FEA code”).

We have now extended how the conversion of FontLab-to-FEA classes works. The Features panel local menu now includes a Include Classes submenu with four checkboxes:

  • Kerning (off by default): this replaces the previous Include Kerning Classes checkbox. If turned on, FontLab also automatically converts and includes in the FEA code on the fly the FontLab Kerning classes defined in the Classes panel. Normally, you should turn this off, because our algorithm that creates the kern feature converts the FontLab Kerning classes into FEA classes in an optimized way that prevents subtable overflows, and writes their definitions inside the feature.
  • OpenType (on by default): this converts OpenType classes from the Classes panel into FEA code, and includes them on the fly when you compile the features or export the font. This setting exposes the functionality that was previously always happening. You may want to turn it off if you prefer to write your own class definition entirely in the FEA code.
  • Tags (on by default): this converts Tags that you can manually define (in the Classes panel or in the Glyph panel) into FEA classes, and includes them on the fly when you compile the features or export the font.
  • Virtual Tags (off by default): this converts the Virtual Tags into FEA classes, and includes them on the fly when you compile the features or export the font.

Below the Include Classes submenu, there is an Import Classes and Tags menu item. Its label changes depending on which checkboxes are on in the Include Classes submenu. When you click Import Classes and Tags, FontLab converts the enabled types of classes and/or tags into FEA classes, and writes them explicitly into the Features panel’s Prefix section.

The types of classes turned on in Include Classes will also be written into the FEA file when you use Export Features….

Why are tags useful in OpenType features when we have OpenType classes? Since you don’t explicitly control the order of the glyphs in tag-based classes, they are not very useful in class-by-class substitutions, but they can be very useful in contextual lookups. For example, you can easily write a contextual substitution that occurs if a glyph is not followed by a noblank glyph (is at the end of a word), or if it’s not followed by an ALL glyph (is at the end of a line or a text run):

feature swsh {
  ignore sub [c e]' @ALL; sub [c e]' by [c.fina e.fina];
  ignore sub f' @noblank; sub f' by f.fina;
} swsh;

If both Tags and Virtual Tags are turned on, FontLab will create FEA classes that are the result of merging a tag and a virtual tag with the same name.

If Tags and/or Virtual Tags are turned on, and also Kerning and/or OpenType are turned on, and there is a kerning or OpenType class with the same name as a tag or virtual tag, FontLab will create an FEA class from the kerning or OpenType class and will ignore the tag. This way, you can define your own ALL or noblank class at any time which will override the classes generated from virtual tags.

Note: glyphs in an OpenType class have an explicit order that you can define in the Classes panel. Glyphs in a tag-based FEA class are ordered by their glyph index.

Font window»

Font window cells»

☆ You can now view the glyph tags in Font window cell captions: choose Tags in the Cell caption dropdown in the Font window property bar.

☆ The text of the glyph notes will start showing in Font windows cells at a smaller cell size than previously.

Font window filters»

In the Font window property bar, the underlined Filter label now correctly shows any current font filter that is applied to the window, including font filters applied via the Search box or the Sidebar. The if you click the Filter label, you can still choose the most popular types of font filters there.

The Font Window presents six filter kinds: Encoding, Unicode, Codepage, Category, Script, and Index. Each (except Index) offers several additional options. Now, when you change the filter type, FontLab remembers the last choice used for that type (for example, Script: Greek or Category: lowercase), and restores it.

☆ When you click Categories > All in the sidebar, the Font window will retain its filter type but will set the filter value to None or All, which always has the effect that no glyph cells are filtered. Previously, Categories > All was less intuitive.

Opening Glyph tabs/windows from a Font window»

When you select many or all glyphs in the Font window, and you open a Glyph window (by tapping Enter, clicking one of the Toolbar buttons or choosing Window > New…):

  • If you’ve selected fewer than 5000 glyphs, FontLab will now open all selected glyphs in the Glyph window.
  • If you’ve selected 5000 or more glyphs, FontLab will show a warning that opening so many glyphs in a Glyph window may slow down the app and offer you to open all selected glyphs or just the first 5000 glyphs.

Previously, FontLab only opened the first 200 selected glyphs in the Glyph window.

User interface»

Measurements panel»

☆ You can now make the text in the Measurements panel larger or smaller using the two new buttons in the panel’s control bar.

Output panel»

In various cases, FontLab prints error messages to the Output panel. Now, whenever FontLab prints the error messages, the Output panel automatically appears on screen.

Keyboard shortcuts»

The Tools > Commands dialog now lists the commands that you can currently run in black, and the disabled commands that you cannot currently run in gray. This allows you to use the dialog to assign custom keyboard shortcuts to all commands, even those that are not accessible in the current UI context.

While editing a value in a panel, you can go to previous or next glyphs using keyboard shortcuts Cmd+BracketLeft and Cmd+BracketRight. These shortcuts were already available when editing an element name, but have now been extended to work in all panels. This makes easier to do repetitive actions, like changing recipes, adjusting metrics or fixing anchors.

Toolbar and dropdown text buttons are easier to click»

You can now activate a Toolbar button or an underscored dropdown text button by clicking the area slightly outside the button, so it’s easier not to miss it.

Windows and tabs configuration»

The settings in Preferences > General > Windows and tabs configuration now have text captions in addition to the icons.

Anchors and Pins panel»

The glyphs table at the bottom of the Anchors and Pins panel is now shown only in the Anchors tab, since it has no relevance for the Pins tab. Pins are only used in elements.

Cell sizes in Add Glyphs dialog»

In the Font > Add Glyphs dialog, cell sizes were increased to better show glyphs that extend to the height limits (diacritics, descenders, etc.).

Sketchboard: Text boxes»

In FontLab, you can use the Text tool on the Sketchboard to create text boxes that you can arrange into “mini-specimens”. Each Sketchboard text box behaves like a Glyph window, so all glyphs are fully editable. You can change the font of a Sketchboard text box using the Fonts panel.

Now, FontLab saves the Sketchboard text boxes that use a particular font in the corresponding VFC/VFJ file. So if you close the font, the text boxes that use it disappear from the Sketchboard, and if you re-open the font, the text boxes appear in the same locations on the Sketchboard.

Also, now, the Text tool is only available on the Sketchboard if at least one font is open.

Opening, saving and exporting fonts»

Improved backups when saving files»

When you save a font, FontLab can create backup copies of the previously-saved versions of your working file. This has now been improved. In Preferences > Save Fonts:

  • If you set Existing font files to Rename and turn on the new Save backup files to subfolder setting, FontLab will create a subfolder named the same as your working file but with a .backup extension, and will save the backups inside that subfolder.
  • If you set Existing font files to Rename and turn off Save backup files to subfolder, FontLab will behave like in previous versions, saving the backup files directly in your working folder.
  • If you set Existing font files to Overwrite, FontLab will not create any backup files.

Easier handling of export profiles»

The File > Export Font As… dialog has a new Customize… button that opens a Customize Profile dialog where you can quickly change the technical settings of the currently selected export profile. Note: If the currently selected profile is a built-in profile, shown in bold in the profiles list, FontLab will create a duplicate custom profile with the name suffix (clone) that you can change.

Previously, to change the export settings, you first had to open File > Profiles, choose or clone a profile, customize it, close the dialog, then open File > Export Font As… and choose the just-customized profile.

When you now open File > Profiles to customize a profile, the profile that you last used in File > Export Font As… will be selected. Previously, the Profiles dialog opened with the first profile selected.

In the File > Profiles dialog, the profiles list is now wider.

Hyphens in glyph names»

FontLab now permits hyphens in glyph names when used in classes and feature definitions, and retains them when opening fonts.

When exporting the font into final formats (OTF, TTF):

  • If the profile setting Use standard PDF-compatible glyph names is used, most glyph names will be converted to small set of standard human-readable names and to uniXXXX names.
  • If the setting Use current glyph names is used or if some glyphs cannot be converted into PDF-compatible names, FontLab will apply “camelCase” to glyph names that contain hyphens: it will remove the hyphen and will convert the letter that follows the hyphen to uppercase (so Zhe-cy will become ZheCy).

Opening and exporting UFO»

  • When you open a UFO package, FontLab now reads the lib entries of each .glif file and stores them as a lib dictionary in the glyph object.
  • When you open a Designspace+UFO package, FontLab reads the lib entries of each .glif file of the first master and stores them.
  • FontLab saves the stored glyph lib dictionaries in VFC/VFJ.
  • You can edit the contents of the lib dictionary using the Source panel.
  • When you export a UFO 3 package, FontLab now writes the glyph lib dictionary for each glyph as a lib dictionary inside the .glif files.
  • FontLab currently ignores custom lib.plist keys when reading UFO. We plan to add support for handling them in the future.
  • This version has many more UFO-related improvements, please check the Bug Fixes section.

Note: the built-in UFO Package and DesignSpace + UFO profiles export UFO version 2. To export UFO version 3, open File > Profiles…, duplicate the built-in profiles and turn off Format settings > Use legacy format version.

Exporting OpenType+CBDT color fonts»

Previously, if your font had ppm.XX layers where the XX PPM size was larger than 127, or if the font had contour-based or SVG color glyphs, and Preferences > Save Fonts > Default rasterization PPM was larger than 127, and you exported the font with a profile that had Export color font files > OpenType+CBDT turned on, FontLab would export a -CBDT.ttf font that would be technically invalid since the OpenType+CBDT color font format has 127 as a technical limit of the maximum permissible PPM size.

Now, when you’re trying to export an OpenType+CBDT font in such situations, FontLab will present a dialog box that will list the PPM sizes that will not be exported or that will prompt you to enter a rasterization PPM smaller no larger than 127. Note: OpenType+sbix fonts can be rasterized into larger PPMs.

Also, OpenType+CBDT export now works with both TTF- and OTF-based font profiles.

Exporting open contours as single-stroke fonts for engravers and plotters»

The Open contours setting in the Outlines section of the export profile is now called Export open contours and has three settings, one of which is new:

  • Do not export ignores contours that are not closed and omits them from the exported font
  • Close with straight line joins both ends of an open contour with a line and exports them as closed contours
  • Duplicate and close (a new option) places a copy of an open contour on top of the original and joins them, in the exported font; this is useful if you’re making fonts for plotting or CNC engraving.

Install stable or beta versions of FontLab»

You can now choose between receiving notifications about the availability of stable versions or beta versions of FontLab.

  • Turn Preferences > General > Get beta versions on to get notified when we release a beta version of FontLab. Beta versions contain preview functionality which is thoroughly tested. They often contain hotfixes for urgent bugs, but may introduce new bugs and problems. If you install beta versions, you may have a greater chance to get a fix for a bug faster, and you can report on functionality changes as we develop it. However, it may be a good idea if you keep the last stable installer around.
  • Leave this setting off (default) to only get FontLab updates that we consider stable. We release stable updates approximately once a month.

Bug Fixes»

Glyph drawing and editing»

Open contours»

  • Joining. When you drag some multiple open contours by a node, and drop onto some other open contours, the contours will be joined in all expected places. Previously, only some of the dropped contours were joined with the other contours.

Smart Corners, Tangent nodes, Tunni lines»

  • Dragging selections. If one of the nodes at the edge of a contour selection is a tangent node, the selection no longer randomly jumps back and forth when you drag it with the Contour tool.

  • Tangent and Tunni distortions. When you were editing a Tangent node or a Tunni line using the mouse (especially with Contour > Coordinates > Round when Editing turned on), the contours could get distorted because rounding errors would accumulate. Now, FontLab applies the coordinate rounding only at the very end of the editing operation, so the contours no longer get distorted.

  • Tunni lines. When you edit Tunni lines (CmdAltL), and you choose Nodes at Extremes or some other operation from the Contour menu, FontLab will now deselect the Tunni lines. Previously, it kept them selected, but the editing behavior was unexpected.

  • Coordinates. After you add a Smart Corner, if View > Show > Coordinates is on, selected nodes now show their coordinates (as expected).


  • Filters. It’s no longer possible to erroneously use the Ctrl-click Eraser mode on contours that are being generated dynamically by a filter such as Power Brush or Smart Contour.

Power Brush»

  • Rough contours. Under some circumstances, Power Brush would create very rough final contours made out of short line segments. Now Power Brush always creates smooth contours as intended.

  • Empty elements. Switching to the Brush tool in Power Brush mode no longer creates an empty element. FontLab will only create an empty element after you’ve actually drawn something with Power Brush.

  • Free Transform. After transforming a curve with Free Transform, Power Brush no longer sometimes acts as if the curve was still in its pre-transformation state.

Suggest stems»

  • Dragging. With the option View > Suggest > Stems on, FontLab suggests the object to use the nearest stem value. The feature was working for rectangles drawn with the Rectangle tool, but not while dragging nodes or segments. It is fixed now.

Remove Overlap»

  • Contour > Remove Overlap now gives more consistent results in some cases.

TrueType curves»

  • Adding nodes to TrueType curves with the Knife tool works correctly.


  • Element guides. Elements guides now follow transformations. Now, when an element or a contour is flipped or transformed, any Element guide linked to nodes follows these changes. Guides are also transformed appropriately if the element is part of a group, and a transformation is applied to the whole group. Previously, element guides lost their node links after transformations.

  • Guide angles. Element guides were wrongly modified, with arbitrary angles applied to them, in two specific situations: (a) when the user duplicates an element/component doing a click, hold and drag operation; and (b) when a reference is unlinked. This is fixed, and neither operation causes a change in element guides now.

  • Direction matching. The x location expression of an anchor can now refer to the position of a vertical guide, but not of a horizontal guide. The y anchor expression can link to a horizontal guide but not to a vertical guide. Previously, you could link the x position of an anchor to a horizontal guide, which was mostly confusing.

  • Font metrics. You can no longer enter location expressions for Font metrics. Font metrics are represented as special guides, but their position is defined in Font Info.

Paste Special»

  • Copy Layer. In a multi-layer font, Paste Special after Copy Layer no longer crashes.

  • References. If you Copy Layer and then Paste Special > contours & images > as references, FontLab no longer pastes a duplicate unlinked element with the same name but correctly pastes a reference instead.

  • References. If you Copy and then Paste Special in another layer with contours & images > as references on, FontLab will now correctly insert an unlinked element. Previously, FontLab inserted an element reference that would link to another layer, but cross-layer references are not implemented reliably and are not supported.

  • Expressions. When using Paste Special to paste a guide whose position uses an expression, the expression is no longer removed from the pasted guide.

  • Expressions. The Paste Special operation was abnormally slow when pasting guides with expressions. This is fixed: all Paste Special operations perform at similar speed now.

Elements and components»

  • Decompose. FontLab no longer crashes when you use Tools > Actions > Contour > Decompose.

  • Contour direction. When you design a glyph using elements, FontLab draws each element separately so you don’t see “holes” in intersecting areas. But when the glyph is decomposed or flattened (manually or during export), holes could appear if the elements were flipped or transformed because of different contour directions. Those holes would also influence how overlaps are removed. Now, FontLab automatically corrects the contour direction of flipped and transformed elements when flattening the glyph.

  • SVG. When you convert an SVG element into editable contours using Element > Image > Make SVG Editable, FontLab no longer creates duplicate nodes at the start points of the contours.

  • Element guides. When you move an anchor, and then you move an element guide to the same position as the new anchor position, FontLab no longer reverts the anchor movement.

  • Deleting elements. Selected elements are deleted if user hits the Delete tool, click the minus button of Elements panel or triggers Edit > Delete, regardless the elements are locked or not. Previously, this procedure was working in an inconsistent way.

  • Deleting elements. After an element was deleted, hitting the up arrow key made the first element selected, instead of the next up. This is fixed now.

  • Element names. Changes in names of elements, components, and groups now show in the History panel and can be Undone.

  • Paste as Glyphs. Element > Place as Glyphs > Current Element no longer sometimes crashes.

  • Windows. Using the arrow keys to move a selected element with rounded corners no longer causes a crash (Windows-only bug).

  • Overlaps. In the Gallery panel, rendering of element groups consisting of overlapping elements is fixed.

  • Paste. Replacing an element with Paste or Paste Special is now immediately reflected in the Gallery panel.

Variations, Layers and Masks»

  • Layers & Masters panel. and arrow key work as expected in the Layers & Masters panel (switch between layers) after using keyboard shortcuts for menu commands.

  • Deleting from mask. If all the settings in Preferences > Variations > Synchronize in matching masters are on and you delete some objects from a Mask layer, the master layers will not be affected. Previously, deleting nodes or contours from a Mask layer would sometimes delete nodes or contours from a master layer.

  • Copy to mask. You can now copy selected contours to Mask (CmdM) even if the contours are part of a filter that has an element transformation

  • Variations panel. Turning on/off the options Sort contours and start nodes and Check masters geometry in Font Info > Axes correctly updates the corresponding options in the Variations panel.

Glyph window»

  • Context menus. The context menus in the Glyph window now appear slightly further away from the pointer so it’s no longer possible to accidentally trigger menu items when you merely open the context menu. The context menu for elements now behaves correctly.

  • Property bar. The Current font (F) indicator in the Glyph window property bar now only shows the font name. Previously, it also showed the master name but did not update that name when you switched the master.

  • Light fonts. In the Glyph window, extremely light glyphs no longer render with dropouts at some size/zoom levels.

  • View. Showing or hiding Zones, Hints, or Guides no longer moves the view in the Glyph window.

  • Lock. View > Lock > Anchors and Pins was no longer working in 6.1.2, works again.

Metrics and kerning»

  • Disappearing kerning. FontLab no longer completely removes kerning and kerning classes after some operations.

  • RSB. Changing the right sidebearing in one Glyph/metrics window is now correctly reflected in all other windows.

  • LSB. Editing the LSB using the keyboard (Ctrl with arrow keys) works correctly now.

  • Expressions. If you used metrics expressions (linked metrics) in auto layers, the metrics values would sometimes be set to 0 and then updated to the correct values later. Now, glyph metrics of auto layers are correctly calculated if expressions are used.

  • Expressions. If the left sidebearing has an expression, the LSB value in the glyph window is now rendered red. Previously, only RSB and Width fields that contained an expression were rendered red.

Font Window»

  • Copy. Select all and copying in the Font window no longer causes a crash.

  • Layers. The Layers & Masters panel no longer sometimes fails to update its content, after you replace a glyph in the Font window.

  • Drag-drop. Drag-drop of selected glyph cells in the Font window no longer sometimes fails for glyphs without Unicodes.

  • Gallery. A double-click any cell in the Gallery panel selects the matching glyph in the Font window. This now still works in cases when the Gallery shows an element that appears only once in the font.

  • Docking. FontLab no longer crashes if you dock a Font window to the main window. It is also no longer allows you to dock the toolbar to a Font window (as that causes problems with changing Font windows). You can dock the Toolbar and panels to the main window, however.

  • Context menu. The Font window context menu now correctly highlights menu items when you hover over them.

  • Copy. You can once again copy selected glyph cells in the Font window and paste them in the Glyph window.


  • Decompose. When you delete some glyphs from the font using the Font window, components in the remaining glyphs that pointed to the deleted glyphs are no longer shifted to the origin point when they are decomposed.

  • Tags. Glyph tags are no longer lost after you assign them. Previously, if you used the Glyph panel to assign a tag to a glyph, and then jumped to the previous or next glyph by keyboard shortcut (Cmd[/Cmd]) without first clicking in the glyph, the tag would not be assigned.

  • Recipes. Improved initial auto-generation of the fax glyph (facsimile or uni213B). The glyph is now built by adding the glyphs F, A, and X side by side rather than on top of each other. FontLab’s internal standard.nam and alias.dat files were updated.

  • Recipes. The _ ligature operator in the legacy syntax for generating glyphs now works correctly even if the component glyphs have . in their names.

  • Required glyphs. Glyphs uni0000 and uni000D no longer erroneously marked with a red horizontal line that would indicate that they had an incorrect name or Unicode, even if their names and codes were correct. This was fixed.

Font window»

  • Changed glyphs. When sidebearing in one glyph is changed, FontLab no longer masks unrelated glyph cells as changed (with the grey bar).

Font Info»

  • Curve tension. You can now set Font Info > Font Dimensions > Curve tension to 0, and the value is saved to VFC/VFJ correctly.

  • Stems. After importing an OpenType PS (.otf) font, FontLab now shows the imported Type 1 standard stems on the Font Info > Stems page.


  • aalt feature. Incorrect parsing of the aalt feature in FEA code is fixed.

  • GPOS. When you applied a positioning feature such as palt in the Glyph window that changed both the origin point and the width (e.g. pos [uni30A3] <-137 0 -339 0>;), the rendering in the Glyph window only reflected the change the width. Now it adjusts both.

  • Features panel. FontLab now correctly displays the line numbers in the Features panel code, and correctly reports line numbers when you compile the features, taking the automatically included classes into consideration.

  • Features panel. FontLab no longer displays { in the features list erroneously.

  • Kerning. If the font includes FontLab kerning pairs that refer to a class that is not defined in the Classes panel, FontLab now omits such kerning pairs when generating the kern feature. Previously, FontLab would fail to compile the kern feature.

TrueType Hinting»

  • TTH. Renaming a stem or a zone in the TTH Stems or the TTH Zones dialog box no longer causes FontLab to hang.

  • TTH. The dialog asking whether to also change names in existing links or keep the old names is fixed now.

  • TTH. Tools > Actions > Hinting > TT autohint no longer crashes on hinting rotated/transformed element references.

User interface»

  • Cell sizes. Clicking the button to increase the cell size in mini-glyph maps (in the Classes, Elements, Font Map and Gallery panels) no enlarges the cell by two sizes (from 1 to 3), but by one size.

  • Panels. FontLab no longer (under some circumstances) crashes trying to restore panels’ sizes and positions from a VFC workspace.

  • Measurements. The contents of the Measurements panel are no longer blanked out by doing File > Revert Font on a multi-layer font. (Windows-only bug).

  • Elements. The Name field of the Insert and Replace Reference dialogs now allows you to copy or cut the text. The right-click (Ctrl-click) context menu in the dialog no longer shows white text on white background.

  • Preview. If the Preview panel is in the Context mode and you switch between font windows/tabs, the preview now correctly shows the glyph of the current font in context.

  • Tab key. FontLab no longer gets stuck, with panels hidden and the interface blocked, from hitting the key repeatedly.

  • Quick Find. In the Quick Find Glyph dialog (invoked with the / key), it’s now possible to paste, and issues with typing some characters have been resolved.

  • Commands. In the Tools > Commands dialog (ShiftCmdP), Classes is now correctly named Export Classes, and Classes panels is now Classes panel.

  • Actions. FontLab no longer crashes on opening the Actions dialog, when a multi-master font is active and the #instance layer is present.


  • Remove Overlap. FontLab no longer crashes when you undo a Remove Overlap operation that involved empty elements.

  • Guide expressions. When you edit an expression in one font guide, then move another font guide, then undo, FontLab no longer undoes both edits.

  • Import Artwork. FontLab no longer crashes after you importing artwork into a glyph cell in the Font window and then Undo.

  • Elements. After Element > Separate Contours to Elements, Undo only undoes that operation, instead of also undoing the previous one.

  • Expand Filter. Undo after an Expand Filter operation now reverts only the previous operation.

  • Cut. If you move a component, cut it, and then do Edit > Undo, FontLab undoes just the cut, and not the move as well.

  • FontAudit. Undoing and then redoing the Fix All FontAudit operation no longer also undoes the previous operation (for example, glyph note editing).

  • Paste. Undo works as expected for pasting contours via Paste Special.

  • TTH. When using the TrueType Hinting tool, Undo now reverts only the last change, instead of reverting all the TrueType hinting.

  • Element names. Changes in names of elements, components, and groups now show in the History panel and can be Undone.

  • Paste. When repeatedly doing Place as Glyph from the Sketchboard, Undoing one no longer reverts all previous placing operations.

  • Paste. Undo of pasting glyphs in the Font window correctly restores glyphs that were over-written by the paste operation.

  • Gallery. Undo for dropping elements from the Gallery to glyph cells in a Font window is fixed.

  • History. Append Glyphs no longer appears as Replace Glyphs in the History panel.

  • Numerous other Undo fixes

Opening, saving and exporting»

FontLab (.vfc, .vfj)»

  • VFC. FontLab no longer crashes when opening certain VFCs.

  • VFC. FontLab now correctly opens VFC files saved in old versions of FontLab.

  • VFJ. In very rare cases, FontLab would export a VFJ that contained some invalid data. This no longer happens.

  • Typo metrics. FontLab correctly saves and reads the Font Info > Other values > Prefer typo metrics option to and from VFC/VFJ files.

  • Zones. FontLab now correctly saves Font Info > Zones in multi-master fonts to VFC/VFJ.

  • Linespacing. The Custom hhea linespacing setting is read correctly from VFJ.

OpenType fonts (.ttf, .otf)»

  • DSIG. When you sign the font with DSIG, FontLab no longer exports an additional font with a dummy DSIG.

  • OpenType PS. FontLab no longer sometimes crashes when exporting some particular fonts as OpenType PS (.otf).

  • Element references. Exporting a font no longer fails when there is a glyph with a duplicated element reference, one on top of the other. The font is now exported correctly.

  • Legacy kerning. When exporting a legacy kern table, FontLab correctly uses the specified maximum number of pairs. The default number for the maximum pairs in the kern table was changed in the built-in export profiles from 10240 to 10920 (the actual technical limit), and FontLab will not export more pairs even if you enter a larger number.

  • Anchors. FontLab no longer misses anchors in composite glyphs when importing and decompiling mark and mkmk features from TTF files.


  • Web PS. The built-in Web PS export profile correctly uses .otf instead of .ttf in the sample CSS file.

Color OpenType fonts»

  • OpenType+CBDT. PNG compression works again when exporting OpenType+CBDT color fonts.

  • OpenType+CBDT. When exporting OpenType+CBDT color fonts, FontLab no longer includes an empty glyf table. Previously, this table caused the font to not render on Android.

  • OpenType+sbix. Under some circumstances FontLab could generate an empty OpenType+sbix color font. This is fixed now.

  • OpenType+SVG. When some OpenType+SVG font with PostScript outlines (.otf) were opened, the SVG color glyphs were incorrectly shifted below the baseline. This is now fixed.

OpenType Variations (.ttf)»

  • STAT. FontLab no longer crashes when opening a variable TTF with an invalid STAT table.

  • varLib. The varLib library, used in variable fonts export, was updated. It now does more error checking during the export process. Some fonts that did not export before can now be exported.

Generating instances»

When you generate an instance via Font > Generate Instance, FontLab will now:

  • Tags. Correctly assign tags to font guides, the same way they were assigned in the masters.

  • Hints. No longer lose hints when there are two links linking the same pair of nodes.

Exporting instances»

Export of instances. When you export instances as fonts, FontLab will now:

  • TTF auto-layers. Export all glyphs built with auto-layers (TTF).

  • Version. Write the Font Info-specified version to the name table. Previously, it would always write 1.000.

  • OTF components. Correctly interpolate and apply hints to decomposed shifted components (OTF).

  • Mark attachment. No longer create and export mark and mkmk features if the export profile is set to not export them (OTF).

  • Mark attachment. Generate and export mark and mkmk features even if generating these features issues some warnings, for example, if some anchors are missing (OTF, TTF).

  • GDEF. Export the GDEF table (OTF, TTF).

  • Glyph masters. Export glyphs that contain glyph masters (named :axislocation) if they contain element references (all formats).

  • Tags. Include tags and virtual tags if enabled in the Features panel local menu’s Include Classes submenu when compiling feature definitions (OTF, TTF).

  • VFB/UFO color flags. Write color flags and the contents of the Font Info pages Unicode Ranges and Codepages (VFB, UFO).

  • VFB/UFO components. No longer drop components in glyphs that contain both components and contour elements (VFB, UFO).

  • VFB/UFO kerning. Generate the kern feature for all instances (not just masters) if the option Create [kern] code if not present is on in the export profile (VFB, UFO).

FontLab Classic (.vfb)»

  • VFB creation date. When FontLab opens a VFB, it now retains the font creation date embedded in the VFB.

  • VFB version. When FontLab exports a VFB, it now correctly writes the Font Info > Creator > Version into the TrueType Version record.

  • VFB ghost hints. FontLab will no longer set wrong direction to ghost hints from files saved in FontLab Studio 5. Fonts exported as VFB also get the hints correctly.

  • VFB font and glyph notes. Texts embedded inside VFB files (font note, glyph notes, license text, copyright info, designer name etc.) can have different encodings.

  • FontLab Studio 5.1 for Mac OS X saved these texts in UTF-8, FontLab Studio 5.0.x for Mac OS X saved them using MacOS Roman, and FontLab Studio 5 for Windows saved them using the current user’s 8-bit encoding.

  • When FontLab opens such a file, it presents a dialog that lets you choose which encoding to use when converting these text to Unicode.
  • Previously, FontLab did not include MacOS Roman in the list of the encodings, and only showed this dialog when glyph notes had non-ASCII contents.
  • Now it also shows the dialog when non-ASCII characters are found in other texts embedded inside VFB. ~#3601

UFO Packages and DesignSpace+UFO (.ufo)»

  • UFO marks. FontLab now stores glyph color flags (marks) in a new “compact” format (public.markcolor lib key) when exporting to UFO3.

  • UFO lib. FontLab-specific keys for layer attributes now use com.fontlab. prefix instead of the incorrect public. prefix when exporting to UFO3.

  • UFO guides. Glyph guides are exported to UFO3 correctly now. Note: element guides (created with the Guides tool) are not exported to UFO.

  • UFO guides. Vertical guides are correctly imported from UFO3, instead of being converted to horizontal guides.

  • UFO Typo Metrics. Font Info > Other values > Prefer typo metrics is no longer automatically turned on when importing and exporting UFO3 files.

  • UFO layers. When opening UFO, different glyphs of the same layer always get the same visibility attribute.

  • UFO Mask. When opening UFO, FontLab no longer changes the contents of the mask layer. FontLab also exports the mask back to UFO correctly for all glyphs.

  • UFO fontinfo. When exporting UFO, FontLab now sorts the fontinfo.plist keys.

  • UFO Groups. Import and export of UFO groups is improved so that FontLab no longer adds duplicate groups in the feature file.

Importing and exporting artwork»

  • Import Artwork. After you use the CtrlD shortcut for File > Import > Artwork once in the current font, FontLab no longer disables that shortcut so you can use it again.

  • Exporting Window Contents. Export > Window Contents:

  • ☆ When exporting as SVG, the resulting SVG file will contain vector graphics rather than rasterized bitmaps.

  • ☆ When exporting as PDF, the resulting PDF file will actually contain PDF data, and its page formatting is improved. In 6.1.2, the files erroneously contained SVG data.


  • Python Kerning Groups. Using fgKerningGroups.asDict() in Python no longer causes a Memory Error.