Contextual alternates are replacement letterforms built into an OpenType font. They appear automatically when particular letters occur together, helping improve joins, prevent awkward collisions or introduce more natural variation. The feature is normally identified by the OpenType tag calt. You type normally; the font handles the substitutions according to rules created by its designer.
You may already own fonts with contextual alternates and never have seen them working. The feature can sit quietly inside the font while your software ignores it, disables it or buries the control in a panel.
That is a shame, because contextual alternates can completely change how a typeface feels. I use them in fonts such as Misfitz, Just Like Heaven, Gilly and Little Wonder. The same OpenType feature performs a different job in each one.

What are contextual alternates in fonts?
A contextual alternate is a different version of a glyph that appears when a particular typographic condition is met. That condition might involve the character before it, the character after it or a longer sequence surrounding it.
The official OpenType specification describes calt as a feature that replaces default glyphs with alternate forms in specified situations. The rules and replacement glyphs live inside the font; the application reads those instructions while it shapes the text. You can read the full technical definition in the Microsoft OpenType specification.
The important word is contextual. The font does not simply replace every letter A with another letter A. It examines what surrounds that A and applies the alternate only when the programmed rule matches.
A character and a glyph are not quite the same thing
This distinction sounds technical, but it explains the whole feature.
- A character represents the underlying letter, number or symbol.
- A glyph is the particular visual shape used to display that character.
One character can have several glyphs. A font might contain a standard lowercase a, a wider a, a swashed a and another version designed to sit beside a particular letter.
Contextual alternates change the glyph without changing the underlying character. Your text remains editable, searchable and available for copying. Only its appearance changes.
What do contextual alternates actually do?
There is no single visual style attached to the feature. Contextual alternates are a mechanism, not a look. A type designer decides what problem they should solve.
They can improve joins in script fonts
Two individually attractive letters do not always connect cleanly when placed beside one another. A contextual alternate can replace one of them with a version designed for that particular join.
This matters in script and handwritten fonts, where the end of one stroke needs to meet the beginning of the next. Without the correct alternate, the join may leave a gap, overlap badly or create an odd bump.

They can stop repeated letters looking repeated
Identical letters are one of the quickest ways to expose a supposedly handmade font. Write a word containing two matching characters and the exact duplication becomes obvious.
A font can use contextual rules to substitute another version of the repeated letter. The result feels less mechanical because the shapes vary, even though the user typed the same character twice.
That is how contextual alternates work in Just Like Heaven. Its OpenType rules cycle through alternative letterforms as you type, helping repeated characters look more like genuine brush lettering and less like an obvious digital copy.
They can prevent collisions
Large swashes, extended crossbars and unusual letter shapes sometimes crash into neighbouring characters. A contextual alternate can use a shorter or differently positioned form when the full version would cause trouble.
It is a small intervention, but it can save a considerable amount of manual adjustment.
They can create stronger word shapes
Contextual alternates do not have to repair a problem. They can also create a more deliberate composition.
In Misfitz, interlocking letter pairs can pull characters into tighter arrangements. Other alternates change the width and rhythm of particular words. The result feels built rather than simply typed.

Are contextual alternates random?
No. Contextual alternates normally follow programmed substitution rules; they are not genuinely random.
A type designer can create a sequence that cycles through several versions of a letter. To the eye, that variation may appear random. Underneath, the font still follows a predictable set of instructions.
This matters when you use the same wording more than once. Identical text in an identical context will usually produce the same substitutions. The font is making decisions, but it is not rolling dice behind your back.
Contextual alternates versus ligatures
Contextual alternates and ligatures both substitute glyphs, which is why people often mix them up. They do different jobs.
| OpenType feature | What it does | Typical use |
|---|---|---|
| Contextual alternates (calt) | Changes a glyph according to surrounding characters | Better joins, fewer collisions or varied repeated letters |
| Standard ligatures (liga) | Usually combines two or more glyphs into one | Common combinations such as fi or fl |
| Discretionary ligatures (dlig) | Provides optional, more decorative combinations | Expressive headlines, logos and display typography |
| Stylistic alternates (salt) | Offers alternative forms selected by the user | Choosing another version of an individual character |
| Stylistic sets (ss01–ss20) | Applies a coordinated group of alternative glyphs | Changing the overall character of a setting |
| Contextual swashes (cswh) | Applies swash forms in suitable positions | Adding flourishes without creating obvious collisions |
A simple way to remember the difference is this: a stylistic alternate gives you a choice, while a contextual alternate asks the font to make that choice according to its rules.
Are contextual alternates switched on automatically?
The OpenType specification recommends that contextual alternates should be active by default. In practice, software support varies. Some applications apply them automatically, some provide a switch and others do not expose the feature properly at all.
Do not assume that the feature is missing simply because nothing changes when you start typing. First check that the font contains contextual alternates, then inspect the application’s OpenType controls.
How to use contextual alternates in Adobe Illustrator
- Select your text with the Type tool.
- Choose Window → Type → OpenType.
- Open the panel’s additional options.
- Enable Contextual Alternates.
The option will only have an effect if the selected font contains the relevant feature. Adobe’s current Illustrator instructions also distinguish contextual alternates from standard and discretionary ligatures.
How to use them in Photoshop, InDesign and Affinity
In Photoshop and InDesign, select the text and look in the Character or OpenType controls. The exact panel arrangement can change between versions, but the feature should appear as Contextual Alternates when both the application and selected font support it.
Affinity applications place supported OpenType controls in the Typography panel. If the feature does not appear, check that you have selected the correct font and text before deciding that something has broken.
You can also open a Glyphs panel to inspect alternate characters manually. This is useful when you want control over one particular letter rather than automatic substitutions throughout the selected text.
Can contextual alternates work on websites?
Yes, provided the webfont contains the calt feature and the browser applies it correctly.
You can request contextual forms with CSS:
.contextual-type {
font-variant-ligatures: contextual;
}
You can also address the OpenType feature directly:
.contextual-type {
font-feature-settings: "calt" 1;
}
The first method uses a higher-level CSS property and is generally easier to understand. The second targets the OpenType feature tag directly. Adobe documents both approaches in its OpenType CSS guide, while MDN documents browser support for contextual forms.
Test the actual words you intend to use. Browser support may be broad, but the result still depends on the font file, its OpenType tables and the rules built into it.
Do all OTF fonts include contextual alternates?
No. An OTF file does not automatically contain contextual alternates.
OpenType is the format and technical framework. Each type designer decides which glyphs and features to include. One font may contain hundreds of alternates and carefully programmed substitutions; another may provide only the standard character set.
The filename tells you the format, not how much thought went into it.
OpenType fonts can also contain different kinds of outline data, and OpenType layout features are not restricted to one filename extension. Microsoft’s OpenType overview explains the underlying format in more detail.
Why should a font buyer care?
Contextual alternates can save time, but their real value is visual. They allow a font to respond to the letters around it rather than treating every character as an isolated object.
That can give you:
- Cleaner joins in script lettering
- Less obvious repetition in handmade fonts
- Fewer awkward collisions
- More distinctive logos and headlines
- Word shapes that feel closer to custom lettering
They do not automatically make a font good. A badly drawn alternate remains a badly drawn alternate. But when the glyphs and programming work together, the feature gives you considerably more control without turning every headline into a manual lettering job.
Fonts that use contextual alternates differently
I do not add contextual alternates simply to make the specification longer. They need a reason to exist.
- Misfitz uses alternates and interlocking pairs to create tighter, more distinctive word shapes.
- Just Like Heaven cycles through alternative forms so repeated letters look less mechanical.
- Gilly combines contextual alternates with ligatures, initial forms and terminal forms to improve the flow of its script lettering.
- Little Wonder uses contextual alternates alongside ligatures and positional forms to give its brush lettering more natural variation.
Same four-letter OpenType tag. Four quite different jobs.
Frequently asked questions
What does calt mean in a font?
calt is the registered OpenType tag for Contextual Alternates. It tells compatible software to substitute particular glyphs when the surrounding context matches rules stored inside the font.
Are contextual alternates the same as stylistic alternates?
No. Contextual alternates respond automatically to surrounding characters. Stylistic alternates generally let the user choose a different form of an individual character.
Are contextual alternates the same as ligatures?
No. A ligature usually replaces several glyphs with one combined glyph. A contextual alternate normally changes a glyph because of what appears around it.
Why are my contextual alternates not working?
The font may not include them, the feature may be disabled or the application may not support it properly. Confirm that the product lists Contextual Alternates, select the correct text and font, then check the application’s OpenType or Typography panel.
Can I choose contextual alternates manually?
Often, yes. If the application includes a Glyphs panel, you may be able to select an alternate directly. The result becomes a manual choice rather than an automatic contextual substitution.
Do contextual alternates cost extra?
No. If a font includes them, they are part of the font file. Your permitted use of the font still depends on its licence, but using an included OpenType feature does not normally require a separate purchase.
The short version
Contextual alternates let a font react to the letters around it. They can improve joins, vary repeated characters, prevent collisions and create more considered word shapes automatically.
Look for Contextual Alternates or calt in the product information, then make sure your chosen software supports the feature. It is a small technical detail that can make a large visual difference—which is generally where the interesting bits of type design are hiding.