FontCreator Tutorials
Smart Components in FontCreator: Reuse Adjustable Glyph Parts
written by Erwin Denissen, published June 26, 2026
Smart Components let you reuse one designed part across many glyphs while adjusting its proportions wherever it appears. A source glyph defines one or more local axes — such as Width, Height, Weight, or Crotch Depth — and carries compatible alternate layers at key positions on those axes. Each place you use the component can then choose its own values.
The feature was originally developed for CJK radicals and other writing systems that reuse many related parts, but it is equally useful for Latin shoulders, counters, bowls, terminals, and recurring symbol or icon elements. In short: Smart Components were designed for reusable complex-script parts, but they help whenever one designed element must recur at different proportions.
Unlike a regular component, a Smart Component does not simply reuse or geometrically scale one fixed outline. It interpolates between variants you deliberately designed, so stroke weight, curves, and proportions stay under your control.
One adjustable shoulder reused in n, m, and h, with each place it is used choosing its own proportions.
Which tool should you use?
Smart Components are one of several ways to reuse or vary shapes in FontCreator. Pick the right one for the job:
| Use | Best choice |
|---|---|
| The part should stay exactly the same everywhere | Regular component |
| The same part needs design-aware width, height, weight, or shape changes | Smart Component |
| A corner, cap, or serif must follow the path geometry | Path Decoration |
| The whole typeface changes across weight, width, or another family axis | Font masters / variable-font axis |
1. Why use a Smart Component?
Suppose you have drawn one lowercase shoulder — the arching stroke that rises from a stem and curves back down — and you want to reuse it in n, m, and h.
A regular component can do this: it places a live reference to your shoulder in each glyph. But its internal design is fixed. You can move, scale, or otherwise transform it geometrically, yet scaling a shoulder to a new width distorts its stroke weight and curvature. The two shoulders in m usually need to be a little narrower than the one in n, and the shoulder in h may want a different crotch depth. One fixed outline cannot satisfy all three without a compromise somewhere.
Reusing one unchanged shoulder leaves too much space in m; Smart Component values let each occurrence be tuned.
A Smart Component solves this. It is still a live reference to a source glyph, but instead of one frozen outline it carries variants you deliberately drew and interpolates between them. Draw a wide shoulder and a narrow shoulder, and every place you use the component can pick any width in between while the stroke weight and curve stay controlled. That is the real difference: a regular component reuses one fixed design and transforms it geometrically; a Smart Component varies a design you drew on purpose.
2. Create the source glyph
Create a glyph to hold the reusable shoulder and give it a name that marks it as an internal part, for example:
_smart.shoulder
or:
_part.shoulder
The leading underscore and the .part naming are conventions borrowed from Glyphs, and they make projects that move between the two editors easier to read. The underscore itself does not stop the glyph from exporting in FontCreator. To keep this construction glyph out of the finished font, right-click it in the Font window and choose Include in Exports ▸ None (see step 8).
Draw your normal — or widest — shoulder on the master layer. This is the shape everything else will interpolate from.
The source glyph defines a local Width axis for the reusable shoulder.
3. Add one Smart Axis
With the source glyph open, go to the Masters and Layers panel and choose Add Smart Axis…. In the Smart Axis dialog, set:
- Name:
Width - Minimum value:
0 - Default value:
100 - Maximum value:
100
Starting with a single axis keeps things clear. A source glyph can define several smart axes — you will add a second one later in this tutorial — but get the basic component working first.
4. Add the alternate layer
Now give the axis something to interpolate toward. In the Masters and Layers panel, choose Add Smart Layer… to create the alternate layer.
Do not redraw the shoulder from scratch — that almost guarantees incompatible outlines. Instead:
- Copy the master outline into the new smart layer.
- Move the existing nodes to make the shoulder narrower.
- Keep the outlines compatible: the same number of contours, the same point order, the same curve types, the same start points, and the same direction.
Because you edited a copy of the master rather than drawing a new shape, the two layers stay structurally identical and interpolate cleanly.

The master and alternate layers use compatible outlines but hold deliberately designed wide and narrow shoulders.
If FontCreator reports that the layers are incompatible, they no longer match in contour count, point order, curve type, start point, or direction. Use Show Compatibility in the Masters and Layers panel to see where they differ, and Make Compatible to help bring them back into line.
5. Insert it into n, m, and h
Add the source glyph as a component in each host glyph. When you select the placed component in the glyph editor, a slider appears for each of its smart axes — drag the slider (or type a value) to set what this particular instance should look like. Every reference keeps its own values.
n— Width100(the full shoulder)m— each of the two shoulders at roughly Width75, so they sit a little narrowerh— an appropriate width for its proportions
The important part is m. Add two references to the same source glyph inside it, and give each its own Width value if that produces the best design. This is exactly what a regular component cannot do: one source, reused twice in a single glyph, each instance tuned independently.
Two references to the same shoulder source inside m, each with its own Width value.
6. Optional second axis: Crotch Depth
Once the one-axis version works, you can add more control. Add a second smart axis — for example Crotch Depth — when the shoulder in h needs a lower or deeper join than the shoulder in n:
Crotch Depth
Add a matching compatible smart layer for the new extreme, exactly as in step 4. Each reference now has a slider for both Width and Crotch Depth, and can set them independently. This shows that smart axes can control far more than width alone.
7. Why Smart Components matter for CJK
Smart Components were first designed for Asian scripts, and CJK is where they pay off most.
A single radical can appear in dozens or hundreds of ideographs — but almost never at the same proportions. Depending on the character it sits in, the same radical may need a different width, a different height, a heavier or lighter stroke weight, a longer or shorter arm, more or less internal spacing, and different overall proportions to balance the rest of the character.
Drawing a fresh copy for every occurrence is unmaintainable, and a regular component forces every instance to share one fixed design. A Smart Component gives you the middle path a large character set needs: one controlled source, tuned locally at each occurrence. Design the radical once, then adjust each placement by moving along the smart axes instead of editing outlines. The same approach applies to Korean base components and any other script that reuses many related parts.
A CJK radical reused across several characters, with each occurrence adjusted to fit its local structure.
8. Projects, exchange, and export
Smart Components are an authoring feature. Here is how they travel:
- FontCreator project files preserve the complete, editable Smart Component setup — source glyph, smart axes, alternate layers, and every reference's values.
.glyphsversion 3 files preserve the smart axes, alternate layers, and coordinates when you round-trip a project between FontCreator and Glyphs.- Smart axes are authoring controls, not OpenType variation axes. They exist so you can adjust parts while designing. They are never exposed to the people who install your font — an application using the exported font gets no Smart Component slider.
- When you export, smart components are resolved into ordinary outlines. For both desktop fonts (ttf/otf) and web fonts (woff/woff2), FontCreator bakes each reference's interpolated shape directly into the glyph, so the exported font contains no smart components — just the finished outlines. Because of this, remember to exclude the internal source glyph from export: right-click it in the Font window and choose Include in Exports ▸ None.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| FontCreator reports incompatible outlines | The master and alternate layers differ in contour count, point order, curve type, start point, or direction | Use Show Compatibility to find the differences and Make Compatible to resolve them |
| A reference does not change when you move a slider | No smart layer exists for that axis, so there is nothing to interpolate toward | Add a compatible smart layer for the axis (step 4), then set the value again |
| The Smart Component source glyph appears in the exported font | The source glyph is still marked for export | Right-click it in the Font window and choose Include in Exports ▸ None |
What to read next
- Reusable Corners, Serifs & Caps with Path Decorations — another way to reuse a shape when it must follow the path geometry.
- How to Make a Variable Font — when the whole family changes, not just one recurring part.
- Open & Export .glyphs Files (Glyphs ↔ FontCreator) — round-trip smart axes and alternate layers between the two editors.