Zum Hauptinhalt springen

FontCreator Tutorials

Smart Components in FontCreator — Reuse One Font Shape

written by Erwin Denissen, published June 26, 2026

You'll need: FontCreator (Windows and macOS), a font project open, and a glyph or detail you want to reuse at more than one size or proportion.

Smart components let you reuse one shape across many glyphs as a single parametric part — and because FontCreator round-trips them through the .glyphs version 3 format, the same smart components move cleanly between FontCreator and Glyphs. This font editor builds them from a donor glyph that defines a smart axis and carries smart layers, so each place you use the part can interpolate to its own proportions.

Why Smart Components: reuse one parametric shape

A plain component is a frozen reference: it always renders the donor glyph exactly as drawn. That's perfect when you want identical copies, but it falls apart the moment you need the same designed element at different proportions — a serif that's longer on one stem than another, a counter that needs to open up, a repeated icon stroke that must stretch.

A Smart Component solves this. In FontCreator's words, it is "a component reference with parameters." The referenced (donor) glyph defines one or more smart axes — for example Width or Weight — and carries smart layers at the extreme positions along those axes. The host glyph then chooses its own value along each axis, and FontCreator renders the component by interpolating between those smart layers.

The key payoff: each reference picks its own coordinates, so two instances of the same smart component in a single host can render at different positions on its axes.

Note: Reach for a smart component when the variation is local to a detail. Full font masters drive variation across the whole font and are overkill for one serif. Plain components stay fixed. Smart components live in between.

Step 1 — Build the Donor Glyph

Start with the shape you want to reuse. A serif works well as a first example.

  1. Create or open a glyph to hold the reusable shape — for instance a glyph named _serif. The leading underscore is a recommended convention, not a rule: it keeps the donor out of the exported font and mirrors the way Glyphs names its parts. What actually makes a glyph a smart component is the next step — adding a smart axis.
  2. Draw the serif at one extreme of the range you want — say, its shortest length.
FontCreator glyph editor showing the donor glyph _serif drawn at its shortest length on the master layer.

The donor glyph `_serif` drawn at its shortest length in the glyph editor

The master layer you just drew will sit at one end of the smart axis. You'll define the opposite end in the next two steps.

Step 2 — Add a Smart Axis

Smart axes are defined on the donor glyph, in the Masters and Layers panel. Adding the first axis is the moment a plain glyph becomes a smart component.

  1. With the donor glyph active, open the Masters and Layers panel.
  2. Right-click a row (or use the Add dropdown at the top of the panel) and choose Add Smart Axis….
  3. In the Smart Axis dialog, give the axis a Name (e.g. Length), a Min, a Max, and a Default value.
FontCreator Masters and Layers panel adding a Length smart axis with Name, Min, Max, and Default value fields.

Adding a "Length" smart axis with Min, Max, and Default in the Masters and Layers panel

Tip: Name the axis for what it does to the shape, not for the master letters. Length, Width, and Weight read clearly when you later set coordinates on a host glyph. A glyph can carry any number of smart axes.

Note: The master layer represents the shape at one end of the axis (its Min or its Max). Decide now which end your drawn shape corresponds to — it determines which extreme you draw next on the smart layer.

Step 3 — Add an Alternate Layer for the Other Extreme

The other end of the axis is a smart layer.

  1. In the Masters and Layers panel, right-click (or use the Add dropdown) and choose Add Smart Layer… on the donor glyph's master row.
  2. Switch to that smart layer and redraw the serif at the opposite extreme — its longest length.
FontCreator Masters and Layers panel showing a smart-component smart layer nested beneath its owning master row.

The Masters and Layers panel showing the smart layer nested under its owning master row

Smart layers appear nested under their owning master row in the panel, so the structure stays readable. For a single Width (or Length) axis, the master sits at one end and a single smart layer covers the other; the editor interpolates everything in between.

Watch out: Interpolation needs compatible outlines on the two layers — same contour count, same point structure, matching start points and directions. The panel flags incompatibilities with a red icon and a letter code (for example M = mismatch in number of contours/components, N = on/off-curve node mismatch, S = mismatched start points, D = different contour directions). Fix every flag before you rely on the result.

Step 4 — Use the Smart Component in a Host Glyph

Now reference the donor from a real glyph.

  1. Open the host glyph (for example a letter that needs the serif).
  2. Reference the donor glyph the way you would any other component — insert it as a component.
  3. Open the component's properties and set its smart coordinates — the values along the component's smart axes.
FontCreator component properties for a host glyph showing the smart coordinates field for the Length smart axis.

A host glyph's component properties showing the smart coordinates for the Length axis

Because each reference chooses its own values, you can drop the same smart serif twice in one host and give each a different length. That's the whole point.

A Second Use Case: A Repeated Adjustable Part

The same workflow scales to any reusable detail. A common case is a CJK radical or an icon element that recurs across many glyphs but needs slightly different proportions each time — a stroke component with a Width axis, reused across a family of characters, each host setting its own coordinate. One donor, one axis, many tuned instances, all editable from a single source shape.

Validation Checklist

  • Donor master and smart layer have compatible outlines (no red flags in Masters and Layers).
  • Smart axis has a sensible Name, Min, Max, Default.
  • Smart layers appear nested under the correct master row.
  • Each host reference shows the expected smart coordinates in component properties.
  • Interpolated extremes and midpoints all look correct in the editor.
  • The project saves and reopens with smart data intact (FontCreator's project file preserves every feature; smart components also round-trip through .glyphs version 3).

Troubleshooting

SymptomLikely causeFix
Component won't interpolate / looks brokenIncompatible outlines between master and smart layerMatch contour count, node structure, start points, and directions; clear all red flags
No smart coordinates on the host referenceDonor glyph has no smart axis definedAdd a smart axis on the donor in Masters and Layers
Both instances render identicallySame coordinates set on each referenceEdit each reference's component properties separately
Smart layer not visible in panelLooking at the host, not the donorAxes and smart layers live on the donor glyph
Smart data lost after export to another toolTarget format doesn't carry itUse the FontCreator project file or .glyphs v3 for round-tripping

Frequently asked questions

What is a smart component? A smart component is a component reference with parameters. The donor glyph defines one or more smart axes (such as Width or Length) and carries smart layers at the extremes, and each host glyph picks its own value along each axis so FontCreator renders the part by interpolating between them.

Smart components vs variable-font masters? Reach for a smart component when the variation is local to a detail — one serif, one counter, one repeated stroke. Full font masters drive variation across the whole font and are overkill for a single element; plain components stay fixed, and smart components sit in between.

Are FontCreator smart components compatible with Glyphs? Yes. Smart components round-trip through the .glyphs version 3 format, so they move between FontCreator and Glyphs intact. The FontCreator project file also preserves all smart data.

What to read next