Skip to content

New in FontLab 8: Formats

With FontLab, you can ship in a breeze & deliver with confidence.

Open and export any OpenType flavor: desktop, web, color, variable. Integrate into any workflow by seamlessly interchanging with fontmake, Glyphs.app, RoboFont, Fontographer, FontLab Studio, and FontForge.

New in FontLab 8: Batch-export many fonts into many formats. Open and export the .glyphs format in version 2 or 3. Open FontForge SFD files, bitmap BDF fonts and multi-flavor color fonts. Use improved VFJ, UFO, VF support. Export WOFF2 color web fonts.

New FontLab 8.3 improves support for the DesignSpace+UFO format, adds support for the Glyphs Package (.glyphspackage) format, and generates better optical bounds features.

Opening files

Opening OpenType

When you open an OpenType font, FontLab now:

  • New Assigns tags to alignment zones, so only relevant zones appear in various glyph groups. For example, the uppercase top zone only shows up in uppercase glyphs. Turn off Preferences > Map zones to specific glyphs using tags and open the font to see all zones in all glyphs, or change the zone tags in Font Info > Zones.

Opening TrueType-flavored OpenType (.ttf)

New If Convert TT curves to PS curves and Round coordinates are turned on in Preferences > Open Fonts, and you open an OpenType-TT font, FontLab no longer shows the Round coordinates dialog. Instead, FontLab opens the font with integer coordinates. #6043

Opening variable OpenType

New If you open a variable OpenType font that contains multiple axes in the fvar table that use the same axis tag, FontLab now correctly produces unique axis codes for every axis. Such fonts are used for HOI (higher-order interpolation).

New FontLab opens variable OpenType fonts with many masters over 10× faster.

Open variable installed fonts

New If you open File > Open > Installed Fonts and you have variable fonts installed on your system, they are now listed with the word Variable appended to the name, and with a variable icon. If you select them any choose OK, FontLab now opens the variable fonts as variable. Previously, FontLab listed each predefined instance of the installed variable fonts in the dialog, and opened them as static fonts.

Opening color OpenType+SVG

New If you open an OpenType+SVG font in which different glyphs use different parts of the same SVG document stored inside the SVG table, FontLab now opens the font correctly. FontLab does not retain the native SVG content in this case, but instead automatically converts the glyphs to editable elements (same as Element > Image > Make SVG Editable). Previously, FontLab could not open such fonts correctly.

Opening static and variable color OpenType+COLRv1 with gradients

New You can now open most static and many variable color OpenType TT+COLR fonts with the COLR v1 table, introduced in the OpenType 1.9 specification. Glyphs in such fonts may be filled with gradients, in addition to solid colors, and you can have variable glyphs with gradients and other more advanced color fills. You can edit the gradients visually. For example, try opening Nabla by Arthur Reinders Folmer and Just van Rossum.

Warning

Opening variable color fonts is in beta. If you open some variable OT+COLR v1 fonts in FontLab, the glyphs will not look as intended.

Opening color OpenType+sbix

New You can now open OpenType+sbix fonts that contain embedded images in the emjc flavor that uses LZFSE compression. One such font is the Apple Color Emoji font bundled with iOS. #5802

Opening multi-flavor color OpenType

New You can now open color OpenType fonts that contain multiple “flavors” (technologies for storing multi-color glyphs). For example, if you open a font that contains a COLR table and an SVG table, each glyph will contain multiple layers:

  • The default layer (typically named Regular) contains the COLR content, so it may include components.
  • Additional layers may contain the variation masters if the COLR content is variable.
  • The SVG layer contains the SVG table content, either as native SVG elements or as editable elements
  • The bw layer contains the fallback monochrome contours.

If the font also contains an sbix or CBDT table, each glyph will also contain a ppm.NNN layer with the bitmap content, where NNN is the pixel-per-em size of that content.

Open OpenType fonts with cubic glyf table

New You can now open static and variable fonts that have the experimental glyf table version 1, which can describe the glyph geometry using PostScript (cubic Bézier) and TrueType (quadratic) curves. This works even for fonts in which both types of curves are mixed within one glyph.

Warning

Currently, this format is experimental. It hasn’t been accepted into the official OpenType format yet.

Decompiling features when opening OpenType fonts

New If you open OpenType fonts with features defined for scripts such as Bengali, Devanagari, Kannada, Malayalam, Sinhala, Telugu or Tibetan, FontLab now decompiles the feature definitions more correctly.

Decompiling contextual OpenType features

If Preferences > Open Fonts > OT features > All lookups to Prefix is turned on and you open an OpenType font that contains contextual GSUB substitutions, FontLab decompiles the substitutions into the FEA syntax in the Features panel as follows:

  1. In the Prefix section of the Features panel, FontLab writes the lookup definition for the simple substitution:
lookup calt_2 {
  sub D by D.ss01;
} calt_2;
  1. In the feature section of the panel (e.g. calt), FontLab writes the contextual substitution that references the simple substitution:
sub D' lookup calt_2 C;

Note

Previous versions of FontLab always used this notation. It closely follows the internal structure of the OpenType font, many users don’t find it readable.

New If turn off Preferences > Open Fonts > OT features > All lookups to Prefix and open the font, FontLab now produces a simpler, more intuitive FEA notation for contextual lookups, like:

sub D' C by D.ss01;

Decompilation of Apple AAT features

New If you open an OpenType font that contains Apple AAT layout features in the morx or mort table, FontLab now converts these features into OpenType Layout people, and decompiles them into the FEA notation in the Features panel.

Note

This functionality is somewhat limited. Not all morx features can be expressed in OpenType Layout. Also, FontLab does not export AAT features.

Opening .glyphs

FontLab now correctly imports many additional aspects of the .glyphs font format, both version 2 and version 3.

.glyphs format 3

New You can now open .glyphs files in version 3 of the format. FontLab does not yet read the .glyphspackage format.

New FontLab imports _corner, _segment and _cap components from .glyphsas Skin filters.

New FontLab converts color layers named like Color 0, Color 1 etc. into multiple colored elements.

New FontLab converts the .glyphs stroke assigned to a path to a FontLab stroke. #6093

New FontLab converts the .glyphs format 3 glyph tags into FontLab glyph tags.

Restore tabs

New If Preferences > Open Fonts > Glyphs > Restore tabs is turned on and you open a .glyphs file, FontLab reads the text tabs stored in the file and turn them into tabbed Glyph windows.

Opening UFO or DesignSpace+UFO

Storing original UFO folder and filenames

New If you open a DesignSpace+UFO project:

FontLab adds a custom parameter with the key com.fontlab.masterFilename in Font Info > Master Lib. This parameter stores the base filename of the master UFO package (without the .ufo extension).

FontLab also adds a custom parameter with the key com.fontlab.mastersFolder in Font Info > Font Lib. This parameter stores the relative path to the folder in which the master UFOs are stored, if that folder is not masters. If the master UFOs are in the same folder as the .designspace file, the custom parameter stores the value ".".

Single-master axis

New If you open a DesignSpace+UFO project that refers only to a single master, FontLab now correctly reads the axis information. #5758

Caret offset

New If you open a UFO package that contains an italic font (with a non-0 italic angle), FontLab now correctly calculates the caret offset used to shift the sidebearings. #6168

Opening FontForge .sfd files

New You can now open .sfd files created in FontForge.

Opening BDF bitmap fonts

New You can now open .bdf bitmap fonts created in BitFonter 3 and in other bitmap font editors. FontLab converts them into “pixel fonts”, so that each pixel is represented by a small vector square.

Opening Mac Type 1

New FontLab no longer fails when you open certain Adobe-made Mac Type 1 font suitcases. #6025

Revert Fonts

New The File > Revert Font menu command is now always enabled, even if no changes were made to the current font. This way, you can change any Preferences > Open Fonts settings and quickly re-open the current font. #4895

Import multiple images

In Font window, you can drag-drop multiple images (SVG, PDF, PNG etc.) into the window or New use File > Import > Artwork Collection… and choose the image files. FontLab will create a new glyph for each image, and will place and scale the images according to Preferences > Paste & Duplicate settings.

New FontLab now correctly imports files that contain a hyphen in the file name, and converts the hyphen into an underscore.

Opening fonts or importing artwork with fractional coordinates

New If you open a font that uses fractional coordinates and Preferences > Open Fonts > Round coordinates is turned on, or if you import vector artwork that has fractional coordinates into a font that has Font Info > Family Dimensions > Round coordinates, FontLab shows a dialog that asks you whether to keep fractional coordinates or to round them. The wording in these dialogs is now improved.

Import Sketchboard content

If you open the Sketchboard with Window > Open Sketchboard, you can now choose File > Import > Sketchboard and choose a saved .vfj or .vfc Sketchboard file.

FontLab uses .vfj and .vfc to store the Sketchboard contents, but it’s not identical to a font .vfj/.vfc.

Saving and exporting fonts

Save as VFC or VFJ only

New If you choose File > Save As and choose VFC or VFJ, FontLab remembers the format and keeps saving in the format you’ve selected.

More portable VFJ saving for better interchange

New If your design uses filters or element references, you can now turn on Preferences > Save Fonts > Expanded contours for filters and references. If you save or export a VFJ, FontLab creates a more portable VFJ file that contains simplified contours for each glyph layer in addition to the underlying complex structure.

If you open such a VFJ, FontLab uses the complex structure, but other VFJ parsers may rely on the simplified structure.

Autosave

If you have Preferences > Save Fonts > Autosave turned on, FontLab automatically saves the open fonts that have some modification in its special Autosave folder:

  • ~/Library/Application Support/FontLab/FontLab 8/Autosave on macOS
  • %userprofile%\AppData\Local\Fontlab\FontLab 8\Autosave on Windows

New If FontLab experiences a crash and you re-open it, FontLab now shows a redesigned Restore Autosaved Fonts that offers you three choices:

  • Remove: FontLab moves the autosaved files to the trash bin
  • Open: FontLab opens the autosaved files but moves their autosaved versions to the Trash Bin. You should save the opened files in a folder of your choice.
  • Keep & Open: FontLab moves the autosaved files into the Keep subfolder inside the Autosave folder, and opens the files. If FontLab crashes again, you will find the files in the Keep folder

Temporarily install exported fonts

New If you choose an “OpenType” or “Variable” export profile in File > Export Font As, you can turn on Install fonts until FontLab quits in the bottom-left of the dialog.

FontLab then exports the font(s) and temporarily installs them on your system. The exported fonts are available to other apps as long as FontLab is running.

Note

If you export the fonts again, with the option turned on, some running apps may update the fonts to the newest versions, but other apps may require a restart of the app. This is largely due to the specific app implementation.

Export multiple fonts into multiple profiles in one step

New With File > Export Font As, you can export several fonts that are currently open, and you can turn on multiple target formats (profiles). This can be very handy even with several different profiles that are based on the same format but use different settings

File > Export Font As dialog

New FontLab now remembers the size of the File > Export Font As dialog, and stores it in the app preferences. #6140

Exporting with Same as Source

New If you choose File > Export Font As…, set Destination > Source dialog, and export the font, and you then switch to another font and choose File > Export, FontLab no longer exports the 2nd font to the source folder of the 1st font, but exports to the appropriate location instead. #5759

Save and export confirmations

After you export a font, FontLab shows a confirmation dialog with a link to the exported file. If you click that link, FontLab reveals the file in Finder (macOS) or File Explorer (Windows), and New closes the confirmation dialog.

New If you click Do not show this again in the confirmation dialog and export, FontLab prints a short confirmation to the Output panel. This confirmation now also contains a clickable link.

New If you save a font, FontLab also prints a confirmation to the Output panel with a clickable link to the file path.

Note

If you export or save multiple times, only the last link in the Output panel will be clickable.

Exporting OpenType

Legacy TrueType kern table only includes pairs of encoded glyphs

If you export an OpenType font with a profile that has the option Export legacy TrueType kerning turned on, the font will include kerning in the old-style TrueType kern table. New This kern table now by default only includes pairs for glyphs that have Unicode codepoints. To include all pairs (within the maximum limit defined in the profile), turn off the Legacy kerning only for encoded glyphs profile option. #5825

New DSIG timestamp provider

If you wish to export a digitally signed OpenType font, you should set up your digital certificate in Preferences > Digital Signature. New FontLab now uses a new provider (Sectigo) to generate the DSIG timestamp.

Exporting color OpenType

Exporting OpenType+COLR

New If the elements in your multi-color glyphs are filled with solid colors only, and your OpenType TT, OpenType PS, Web TT or Web PS export profile has the OT+COLR flavor turned on, FontLab exports the COLR table version 0. If the elements use gradients, FontLab exports the COLR table version 1.

If your export profile has the Export auto-generated dark palette option turned off, the exported -COLR font will include a CPAL table that contains a default palette with all unique colors used in your font.

New If the export profile has Export auto-generated dark palette option turned on, the CPAL table in the -COLR font will in addition contain an auto-generated “dark” palette with the colors from the default palette inverted with FontLab’s built-in perceptual color inversion algorithm. This is the same palette that the Preview panel shows if “dark preview” is active. In supporting browsers, end-users can choose the dark palette with CSS font-palette: dark.

Export variable OpenType+COLRv1 fonts

New You can now export many color variable fonts in the COLRv1 flavor, so they can include gradients. You need to turn on this ability:

  • Open Nabla by Arthur Reinders Folmer and Just van Rossum.
  • Choose File > Export Font As….
  • Choose the Variable TT profile, click Customize….
  • Change the Profile name to Variable TT color and turn on OT+COLOR: Chrome, Windows in the Export color font files section, click OK.
  • Choose the Destination and click Export.

Export static OpenType fonts with a cubic glyf table

The OpenType font format can describe the glyph geometry using two kinds of curves:

PostScript (cubic Bézier) curves: PostScript curves, or cubic Bézier curves, are the curves that most typeface designers use to draw their glyphs. These are also the curves that are natively supported in vector graphics apps. In 1985, Adobe introduced the Type 1 font format that used PostScript curves. The OpenType format introduced around 2000 added the CFF table, which is used to express glyph geometry with cubic curves, and the Type 1 format was declared obsolete. In 2016, OpenType added the CFF2 table, which is used to describe variable cubic glyphs.

TrueType (quadratic) curves: TrueType curves, or quadratic curves, were introduced in 1991 by Apple and Microsoft as part of the TrueType font format. Quadratic glyph descriptions reside in the glyf table, which was later incorporated into the OpenType format. Since 2016, the overwhelming majority of variable OpenType fonts has been using quadratic curves. Most typeface designers use cubic curves for drawing, and then use automated tools to convert them to quadratic curves when they export the final fonts.

Geometrically speaking, quadratic and cubic curves are related, but inside the OpenType font format, they’re stored in fundamentally different ways. Very few applications support the new variable CFF2 table, while support for TrueType-based variable fonts is widespread. The glyf table that is used for quadratic glyphs has abilities that the CFF tables lack, such as the ability to use components. The technical structures of the glyf table are simpler than those of the CFF tables, and support for TrueType-based fonts is easier to implement correctly in apps and systems.

The problem has been that TrueType-based OpenType fonts can only use quadratic curves, which are not the types of curves the designs are created with. In a sense, TrueType-based OpenType fonts are like lightly compressed JPEG images — the quadratic curves produced by the conversion are usually close, but not identical, to the original designs.

In 2022, Behdad Esfahbod has proposed several extensions to the OpenType font format. One of them includes a new backwards-compatible version of the glyf table, which has the ability to describe glyphs using PostScript (cubic Bézier) curves, in addition to TrueType (quadratic) curves. The new table even allows mixing cubic and quadratic curved in one glyph.

FontLab has allowed mixing cubic and quadratic curves in the font sources for years. As of February 2023, the HarfBuzz library has experimental-api support for the new glyf table, and the fontTools library also has support for the new table. The new table is not yet supported in FreeType or other font renderers.

New FontLab can now export static OpenType fonts with the new glyf table. You need to turn on this ability:

  • Choose File > Export Font As….
  • Choose the OpenType TT profile, click Customize….
  • Change the Profile name to OpenType TT cubic and set Curve conversion > Keep existing curve type, click OK. This will export the curve types as they are in the font, so you may have mixed flavors of curves.
  • Choose the Destination and click Export.

Warning

Currently, this format is experimental. It hasn’t been accepted into the official OpenType format yet.

Export large Asian OpenType fonts

New If you export an OpenType font with the post v2 table, which uses cidXXXX glyph naming, FontLab now exports the names using the _XXXX naming scheme.

Exporting Webfonts

Exporting WOFF2 faster

New If you export your font with he built-in Web PS or Web TT profile or with any custom profile that has the Export Web font files > WOFF2 setting turned on, the export is now 4–5× faster, and uses most up-to-date WOFF2 libraries.

Exporting variable WOFF2

New When you turn on the setting WOFF2 in the Variable TT or Variable PS export profile, FontLab now exports the .woff2 version alongside the uncompressed version.

Note

FontLab does not export variable fonts as .woff or .eot even if you turn on WOFF or EOT in the profile. This is by design. All browsers that support variable fonts also support .woff2.

Exporting color WOFF2

  • New When you turn on the settings OT+COLR and WOFF2 in an OpenType TT or OpenType PS export profile, FontLab now exports the .woff2 version alongside the uncompressed version.
  • New When you turn on the settings OT+sbix and WOFF2 in an OpenType TT profile, FontLab now exports the .woff2 version.

Previously, FontLab exported .woff2 only for OT+SVG or OT+CBDT if you turned on the settings.

Note

FontLab only exports .woff or .eot for the monochrome fallback font, not for the color fonts, if you turn on the WOFF or EOT settings in the profile. This is by design.

Generating supporting HTML + CSS files

New If you export fonts using the Web TT or Web PS profiles, FontLab no longer by default exports the supporting HTML and CSS files. To export them, customize the profile and turn on the new Export HTML and CSS files profile setting. #5793

Exporting .glyphs

New FontLab now correctly exports many additional aspects into the .glyphs format, both version 2 and version 3.

New When you export a .glyphs version 3 format, FontLab exports FontLab glyph tags as .glyphs glyph tags.

Exporting .glyphs format version 2 or 3

New If you export the font with the Glyphs profile, FontLab by default exports it in version 3 of the .glyphs format.

New To export into .glyphs version 2, go to File > Export Font As, choose Glyphs, click Customize and turn on Use legacy format version. Change the Profile name from Glyphs (clone) to something like Glyphs v2, click OK and export the font.

Exporting UFO or DesignSpace+UFO

Better handling of reserved Windows filenames

New If you have glyphs named con, prn, aux, nul, com1com9 or lpt1lpt9 and you export a UFO, FontLab prepends a _ to the GLIF filenames. This is to better handle filenames that are reserved in Windows. #6207

Exporting Current layer or Masters

New If you export the Current layer or Masters and the custom com.fontlab.masterFilename parameter is present in Font Info > Master Lib, FontLab uses its value as the base for the filename of the master.

New If the parameter is not present, FontLab builds the filename from the master name. Unlike previous versions, FontLab now builds the filename of the master from the current VFC/VFJ filename plus - plus the sanitized master name.

Exporting DesignSpace+UFO

If you export the font to DesignSpace+UFO:

New If the custom com.fontlab.mastersFolder parameter is present in Font Info > Font Lib, FontLab uses its value as the folder into which it exports the UFO masters. If the value is ".", FontLab exports them into the same folder as the .designspace file.

If the parameter is not present, FontLab exports the UFO masters into the masters subfolder.

For building the filenames of UFO masters, FontLab uses the method described in the “Exporting Current layer or Masters” section above.

Exporting artwork / images

Export multiple glyphs as single PDF, SVG or PNG images

New Set the pixel-per-em (PPM) size in Preferences > Save > Export artwork. In the exported images, FontLab will scale the UPM size to the specified pixel size. For example, if your UPM size is 1000, you set the export size to 100, and export the A glyph that is 700 units tall to PNG, the resulting image will be 70 pixels tall.

New To export the current layer of one or more multiple glyphs, one PDF, SVG or PNG image per glyph:

  • Select the glyph(s) in Font window.
  • Choose File > Export > Artwork Collection….
  • Choose the format.
  • Choose the output folder.
  • In the filename field, enter the subfolder name. FontLab will create the subfolder in the output folder, and will name the glyph images automatically.

New To export the current layer of the current glyph, you can also choose File > Export > Artwork… in the Glyph window. Here, you can specify the actual filename of the exported image.

Export Glyph window text as PDF or SVG

Set the text size in the Glyph window sidebar or Text mode property bar. This affects glyph size in the exported PDF or SVG files.

To export the full content of the current Glyph window or Font window (the entire text), choose File > Export > Window Contents…. Here, you can choose one of two formats:

  • Choose PDF (*.pdf) to export the contents of the window preview mode into a PDF file. For a Glyph window, the PDF will show all glyphs filled, as if you were using Text mode.
  • Choose SVG (*.svg) to export the contents of the window editing mode into an SVG file. For a Glyph window, the SVG will show all currently visible view details like nodes, handles, guides, so you get a “vector screenshot” of the window.

Export Preview as PDF

To export the Preview panel contents as PDF:

  • Open the panel sidebar to specify the content (masters, waterfalls etc.) and size.
  • Right-click or Ctrl-click the panel canvas, and choose Export as PDF….

Export Font window (glyph table) as PDF

FontLab doesn’t currently offer a native way to export the Font window as PDF, but you can export a PDF using the printing functionality.

On macOS:

  • Switch to the Font window.
  • Choose File > Print Font….
  • Choose Save as PDF… from the dialog dropdown and save the PDF.

On Windows:

Note

This method also works from the Glyph window.

Export Sketchboard

If you open the Sketchboard with Window > Open Sketchboard, you can now choose File > Export > Sketchboard… to save the content of the Sketchboard as a .vfj or .vfc file, or to export it as a .svg or .pdf file.

FontLab uses .vfj and .vfc to store the Sketchboard contents, but it’s not identical to a font .vfj/.vfc.