New in FontLab 8: Formats¶
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 theCOLR
content, so it may include components. - Additional layers may contain the variation masters if the
COLR
content is variable. - The
SVG
layer contains theSVG
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:
- 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;
- 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 .glyphs
as 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 theAutosave
folder, and opens the files. If FontLab crashes again, you will find the files in theKeep
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
, com1
–com9
or lpt1
–lpt9
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:
- Install a virtual PDF printer such as Microsoft Print to PDF, PDF24 Creator, CutePDF Writer or PrimoPDF.
- Then in FontLab, switch to the Font window, choose File > Print Font…, and choose the virtual PDF printer.
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
.