Axes and Master Locations
Axes give masters a coordinate system. A name such as Bold identifies a design for you; its location tells FontLab how that design participates in interpolation. Keep those two roles distinct when configuring a family.
Defining Axes
Open Font Info > Axes and use + to add an axis. Choose a predefined type when it describes your design, or create a custom axis. Select an axis and use − to remove it only after considering the master and instance locations that depend on it.
Each axis has three identifiers:
| Identifier | Purpose | Weight example |
|---|---|---|
| Name | Human-readable label | Weight |
| Code | FontLab location strings and expressions | wt |
| Tag | Four-character identifier in the exported font | wght |

The Axes page brings an axis’s name, tags, coordinate ranges, and master information into one entry.
The registered tags are wght, wdth, opsz, slnt, and ital. They describe weight, width, optical size, slant, and italic respectively. Use the appropriate registered meaning and scale instead of assigning one of these tags to an unrelated effect.
A custom axis can describe another change, such as a decorative treatment. FontLab initially supplies zz and ZZZZ; replace them with deliberate, unique identifiers before developing dependent locations and before export. Custom exported tags begin with an uppercase letter and use uppercase letters or digits. A placeholder is not invalid solely because it spells ZZZZ, but leaving generic or duplicate identifiers makes the design ambiguous and can produce conflicts.
Slant and italic are different ideas. A slant axis controls slope; an italic axis distinguishes upright and italic design states. Naming an axis does not automatically slant the outlines, change italic-angle values, or draw alternate italic forms. Those changes must exist in the masters and their data. Recall the per-master italic angle from Preparing for Italics when setting up slnt variation or ital design states; an axis name does not supply those values automatically.
Detect Axes can infer axes from existing master/layer names and encoded locations. Use it after assembling named designs, then inspect its results. If you change an axis code, review the master, instance, and expression references that used the old code.
An axis can also have named axis instances, such as Light=300, (Regular)=400, Bold=700. These describe positions on one axis. They can later supply combinations for the font's predefined-instance list; they are not separate master drawings.
Design and User Coordinates
Design coordinates are the working values used to place masters and instances inside FontLab. User coordinates are the values exposed by the font to applications. A mapping connects the two scales. The default is linear; where the same scale is used for both, it is the identity mapping and the coordinates coincide.
You might place two weight masters at design values 0 and 100, then map them to user values 300 and 700. A linear mapping puts design 50 at user 500. If you use the same scale for both, the mapping can be an identity: a design value of 400 is also user 400.
“Linear” does not always mean “identical numbers.” It means a constant relationship between the scales. A nonlinear mapping can associate unequal design intervals with equal user intervals when that better describes the intended progression.
Registered user scales have defined meanings. Width uses a percentage convention, for example, rather than a count of font units. Axis coordinates therefore should not be confused with a point's X/Y coordinates in the glyph drawing. A weight location of 700 does not place a node at X=700 or require a 700-unit stem.
Keep three ranges distinct:
- Master-location range: the positions actually covered by the participating masters.
- Design range: the working span of the axis, which can extend beyond those masters.
- User range: the external scale associated with that span through the mapping.
The range displays on the Axes page summarize the configuration. The Axis Graph edits the mapping and its endpoints; see Advanced Axis Management. Extending a displayed range alone does not supply a drawn master at its new limit or guarantee that the exported variable font offers that extension. FontLab derives the exported axis range in fvar and DesignSpace from the actual minimum and maximum master locations, not merely from the user range entered in the Axis Graph. Review source coverage before extending the advertised range.
Variable-font internals also use normalized coordinates around a default location, conventionally expressed on a −1…0…1 scale. Use design coordinates for the FontLab location fields described here; do not substitute normalized values for them.
Placing Masters on Axes
After changing the axis list, click Apply or OK so that the Masters page has the updated axes. Then select each master in Font Info > Masters and set its location.
Use the per-axis numeric controls or a location string such as wt=400,wd=100. The identifiers are the FontLab axis codes. Check every axis, including values that remain at a default; a two-axis location is not fully explained by its weight alone.
For a basic weight-and-width design, four useful corner locations might be:
| Design | Weight wt |
Width wd |
|---|---|---|
| Light Condensed | 300 | 75 |
| Bold Condensed | 700 | 75 |
| Light Normal | 300 | 100 |
| Bold Normal | 700 | 100 |
These example values describe a connected arrangement: from Light Normal, a step can change width alone to reach Light Condensed, or weight alone to reach Bold Normal. Bold Condensed completes the combinations. A lone diagonal master without the necessary axis connections is not equivalent to that grid.
Plan usable single-axis connections from the main master through the participating masters. Do not assume that any collection of points automatically fills a rectangular designspace. Check intermediate locations along each axis and in combined directions.
Name inference and Detect Axes can save entry work, but inspect the final numeric values. Two differently named masters can still occupy the same location, and changing a location does not redraw its glyphs.
The AAA control on a master entry governs participation in interpolation; its use is covered in Previewing, Diagnosing, and Fixing Interpolation. Keep the intended source masters participating and treat exclusion as a separate choice from hiding their overlays. Before continuing, check distinct locations, intended axis codes, main-master placement, and the connections between designs.