Beyond the Uniform Blend
Some designs need more than a uniform blend between complete masters. You can separate the horizontal and vertical calculation for a static result, add local corrective sources, shape point trajectories with Sigma, or divide a glyph into bracket ranges; see The Sigma Tool and Bracket Layers. Conditional substitutions provide a separate-glyph alternative when the switch belongs in the layout workflow.
Anisotropic Interpolation
Ordinary interpolation uses the same designspace location for a point's X and Y coordinates. Anisotropic interpolation uses different effective locations for those coordinates. The resulting outline can take its horizontal development from one part of the designspace and its vertical development from another.
In the Variations panel's List view, the independent X/Y controls adjust those contributions. Widen the panel if the controls are hidden. Inspect the displayed effective locations while adjusting them, and reset both controls to 100% when returning to ordinary interpolation. Their documented range is 0–200%. Independent X/Y contributions can produce a non-uniform result, such as progressing width farther than weight, without simply scaling an already finished outline.
For example, you might explore the horizontal proportions of a later weight while retaining the vertical development of an earlier one. This is not simply scaling a finished outline: each coordinate comes from the relevant source blend. Check curves and diagonals, where combining two progressions can produce unexpected shapes.
The Generate Instance dialog provides the same kind of controls for creating a static source font or master. They do not create independent X/Y sliders in a delivered variable font. To make such a result part of a variable design, retain and refine it as source data within an appropriate master model.
Sparse and Font-less Masters
A complete master supplies drawings across the intended glyph set. A sparse master is a registered font master populated only in the glyphs that need a source at that location. A font-less master is a variable glyph layer with its own location but no corresponding font-master record.
“Intermediate” describes a location inside the designspace; it is not a synonym for complete. Either a complete or a sparse source can serve an intermediate correction.
Use a sparse font master when the location needs master-level context, including kerning. Use a font-less layer for a local glyph correction without adding a font-wide master. Neither requires you to invent new drawings for all the glyphs that already interpolate well.
Add a local correction
- Preview the problem location and select the glyph or glyphs that need correction.
- Use the Variations panel's add-glyph-master control to create layer content at that location.
- In the creation dialog, check the glyph scope and whether a font master is being added.
- Inspect the new layer's location in the Layers & Masters properties.
- Edit the correction and preview the intervals on both sides of it.

Adding a layer from a variation location exposes a scope choice: the current glyph, selected glyphs, or all glyphs.
For a sparse registered master, first add an empty or no-glyph-layers master record in Font Info and assign its location. Populate only the intended glyphs, using corresponding layers and names. For a font-less correction, use the layer's dedicated Location field and keep it unregistered as a font-wide master.
The location field accepts axis-code values such as wt=650,wd=100. Older sources encode locations in colon-prefixed layer names. Recognize that notation in imported files, but use the dedicated location control when editing current source data.
Do not create a duplicate correction at a location without inspecting what already exists there. A new source changes the interpolation around it; check its coverage and participation as carefully as its drawing.
Switching Glyphs Dynamically
A double-storey a and a single-storey a need not be forced into one interpolating contour structure. Conditional substitution selects a different glyph in a specified region of the designspace. Both glyphs remain in the source, and each can have its own compatible drawings across masters.
A conditional tag belongs to the replacement glyph. It identifies the glyph to replace and the conditions under which to use the replacement.
Assign an explicit conditional tag
Assume a font with axis code wt, an encoded glyph dollar, and a replacement named dollar.heavy:
- Draw the replacement and check its master compatibility, metrics, and anchors.
- Select
dollar.heavyand add the tagdollar~wt>700through the Glyph tags field or the Classes panel's Tags mode. In an additive tag-entry field, enter+dollar~wt>700. - Preview text containing the dollar character below, at, and above weight 700.
- Check the replacement's spacing and attachment behavior as well as its shape.
The source name before the marker makes the relationship explicit. If omitted, FontLab infers it by removing the replacement name's last dot suffix. Thus inference from a.ss01.heavy yields a.ss01, not a. Use an explicit source name when that distinction matters.
Define the region
Conditions use design coordinates and FontLab axis codes. In this syntax the boundaries are inclusive:
| Condition | Meaning |
|---|---|
wt>700 |
Weight at or above 700. |
wd<90 |
Width at or below 90. |
500<wt<700 |
Weight from 500 through 700. |
wt>700&wd<90 |
Both conditions must hold. |
Use a range expression for two bounds on one axis. Assign separate tags to the same replacement when either of two regions should trigger it. Spaces separate those tags; they are not part of one condition expression.
Avoid overlapping alternatives that leave it unclear which replacement you intend. Test the boundary itself as well as nearby values. Combining rectangular regions can describe stepped regions, but it does not create an arbitrary curved boundary in a multi-axis space.
Choose when the substitution runs
A tilde marker, ~, describes the early required-variation route, associated with rvrn. Its default glyph must carry a Unicode codepoint so that it can be reached from the initial character mapping. A caret marker, ^, describes a later route, associated by default with rclt, which can target an unencoded glyph produced by another substitution.
For example, an oldstyle figure produced later by a number-style feature is not present at the early character-mapping stage. A caret condition can target that glyph explicitly. An early tilde rule cannot directly target that unencoded, later-produced form.
Keep the default character mapping deliberate when designing a workaround. Adding a codepoint to a duplicate can affect which glyph the mapping reaches; inspect that mapping and the downstream substitutions rather than assigning duplicate codepoints merely to satisfy the early rule.
Check conditional substitutions in the intended output as well as the live preview. A static instance can apply a caret condition when its source glyph is encoded, but it does not reproduce the full sequence of later substitutions that a text application performs. A caret rule targeting an unencoded glyph produced by another feature therefore may not take effect in the static result.
Complete the replacement family
A substitution changes a glyph in the text stream; it does not rewrite component references inside every accented composite. For conditionally different accented letters, either build and tag the corresponding replacement composites, or use a deliberate decomposition-and-mark-attachment workflow with matching anchors and suitable export settings.
For the latter route, generating mark/mkmk attachment code is only part of the preparation. The text must actually reach the separate base and mark glyphs for attachment to apply. Enabling mark generation alone does not turn every precomposed character into that sequence.
The feature-code layer is developed in Generated and Conditional Substitution. Both the default and replacement need suitable kerning coverage; see Kerning Visually. Check pairs on either side of the threshold, and test marks, ligatures, and optional features that can precede or follow the switch. A successful one-character preview does not establish the behavior of those combinations.