Skip to main content

FontCreator Tutorials

Enrich Your Fonts with OpenType Features

written by Erwin Denissen, published March 22, 2020

This tutorial is not about using fonts, but about how font designers can add gems like swashes, ligatures, and stylistic sets to their fonts. It is quite easy to accomplish, and it might add a boost to your font sales.

A font can be so much more than just a bunch of characters. Nowadays all professional fonts come with OpenType layout features, and we will explain how to add several of the most common and popular features to your font:

  • Standard Ligatures
  • Stylistic Sets
  • Slashed Zero
  • Alternate Figures
  • Swashes
  • Contextual Alternates

These features are all used to substitute one or more characters with a replacement. We will not discuss positioning features, as those are already taken care of in other tutorials. <TODO See spacing and kerning>.

With FontCreator all, except for the contextual alternates, can be automatically added to your font. Just make sure you’ve added the extra glyphs and named them according to our glyph name convention.

Within the OpenType Designer window click the first icon from the upper left corner to open the Generate and Update OpenType Features window. You will now be able to select which features you want to generate and/or update.

Below we will provide the required glyph names per feature.

Standard Ligatures (liga)

Use this feature for combinations of letters that look better with a custom designed ligature, such as fi, fl and ffl. In general they improve the appearance of letters that otherwise would overlap. Applications know these ligatures should be used in normal conditions, but the user might disable the liga feature.

FontCreator instructions: standard ligatures are detected automatically, so don’t worry about these. If you want to add additional ligatures, use the ligature name convention, along with a .liga suffix. If you want to add a ligature for the combination of these three characters, “f f b”, name it “f_f_b.liga”.

Stylistic Sets (ss01-ss20)

There are 20 features available for stylistic sets, they all allow for sets of stylistic variant glyphs corresponding to portions of the character set, e.g. you can provide closed alternatives for open letters.

FontCreator instructions: give the glyph the name of the original character and add the corresponding suffix for the stylisitic set. So if you have a variant for letter “g” and you want it in stylistic set 4, name it “g.ss04”.

Slashed Zero (zero)

This one is easy to add, as it only requires a single additional glyph. It allows the end user to replace the default form of zero with an alternative form, which, for example, uses a diagonal slash through the counter to distinguish between 0 and O (zero and capital O).

FontCreator instructions: give the slashed zero this name: “”.

Alternate Figures (onum, tnum)

We highly recommend you add several variants of digits to your fonts, as end users might only use fonts that come with alternate figures. For financial and marketing research documents the tabular figures are most important, while for marketing brochures and advertisements, the old style figures might be more appropriate, as those are designed to look more like lowercase letters.

FontCreator instructions: add “.onum” to all old style digits, e.g. “zero.onum”, and add “.tnum” to all tabular digits, e.g. “zero.tnum”, etc.

Swashes (swsh)

This feature allows the end user to replace default characters with corresponding decorative glyphs. You can provide more than one swash alternate for a given character.

FontCreator instructions: add the “.swsh” suffix to all decorative glyphs.

Contextual Alternates (calt)

The last feature in this tutorial is more complex, as it allows you to add smart substitutions, which are based on what characters are before and/or after the character that is considered for replacement. E.g. you would make it use an alternative glyph for lower-case letter l, if it is preceded by another lower-case letter l.

FontCreator instructions: It requires two manual steps:

1. add a substitution lookup (name it mirror) and add one item: “l -> l.mirrored”.

2. add a chained context substitution lookup to the contextual alternates feature and add this item to it: Backtrack “l”, Input “l”, and add substitution table “mirror” to it.


With FontCreator it is easy to add advanced OpenType layout features to your fonts.

However, not all applications fully support all OpenType layout features, so test your fonts and provide accurate information to your customers about where they can use which OpenType features.

Illustrator, InDesign, CorelDRAW, and Affinity Designer support all substitution features we've shown in this tutorial. Word 2010 and higher support almost all of them (no support for slashed zero and swashes yet), which are accessible by clicking Format → Font → Advanced:

Let us know your results, we love to hear from you!