Smart Components in FontCreator: Reuse Adjustable Glyph Parts
written by Erwin Denissen, published June 26, 2026
Edition: Smart Components are part of FontCreator Professional. Essentials opens and edits fonts that already use them. The comparison chart shows what each edition includes.
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.

The same shoulder twice: unchanged, m’s counters stay as wide as n’s (217 units) and the letter comes out too wide; at Width 75 they narrow to 198 while every stem keeps its 92 units.
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
Designers rarely draw a shoulder from scratch — they cut it out of an existing n, and FontCreator does that well.
Open n and cut the arch off the stem with the Knife, just left of the join. Select the arch and choose Turn into Component… from the right-click menu, and name it _part.shoulder. FontCreator creates the glyph and leaves a component in its place in n.
In _part.shoulder, give the arch’s left end a short tongue that reaches into the stem without touching the stem’s top, so the shoulder overlaps whatever it joins: the stem in n and h, the previous arch’s leg in m.
Watch the stem top. The shoulder may overlap the stem, but it must not include the top of the stem. In m, the second shoulder starts on the first arch’s leg, where there is no stem top; a shoulder that carries part of a stem top puts a bump between the arches.
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).
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
The Default value is where your master drawing sits on the axis; each smart layer is the drawing at another position, usually an extreme. Your master is the widest shoulder, so change Default from 50 to 100.

The source glyph _part.shoulder gets a Width axis; the master drawing sits at its Default 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
In the Masters and Layers panel, right-click the master row and choose Add Smart Layer…. FontCreator creates the layer as a copy of the master outline, so the two start out compatible, and opens Smart Layer Properties. Name the layer (for example Narrow) and drag the Width slider to 0: this layer is the drawing at the narrow end of the axis. The new row appears under the master as Narrow [Width=0].

Each smart layer records where it sits on the axis — here the narrow end, Width 0.
Click that row to edit the layer, and move the existing nodes until you have the narrow shoulder. Don’t add or delete nodes. Change the proportions, not the structure: the same contours, point order, curve types, start points and directions.

The master (left) and the Narrow smart layer (right): the same points, deliberately drawn wide and narrow.
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 with Glyph ▸ Insert Component… (or right-click ▸ Add Component…). Each host is a stem plus one or two shoulders that overlap the stem.
Select the placed component and a box at the bottom of the glyph editor shows one row per smart axis — Width [0 - 100] (100) — with a slider and a number box. Values outside the range are allowed, which extrapolates beyond the drawn extremes.
n— Width100m— both shoulders at Width75h— Width100, the same arch asn; only its stem is taller
The important part is m. Add two references to the same source glyph inside it, and give each its own Width value. This is exactly what a regular component cannot do: one source, reused twice in a single glyph, each instance tuned independently.
At export, with the source glyph set to Include in Exports ▸ None, the shoulders become ordinary contours. For a static font, set Contours: Remove overlap in the export settings; variable fonts normally keep overlaps.

Two references to the same source in m; select either one to set its own Width.
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.
When you add the Crotch Depth smart layer, leave Width at its default in Smart Layer Properties and set only Crotch Depth to its extreme. Each smart layer describes one axis, and FontCreator combines them, so a reference can be narrow and have a deep crotch without a separate layer for that combination.
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.
The image shows this with the radical 口 in 口, 吕, 品 and 回. One source glyph, _part.kou, has three smart axes. Width and Height are measured in font units, so every value is a real size. Feet decides whether the side strokes reach below the bottom bar, as in a free-standing or bottom 口, or whether the box is closed, as in a 口 on top or inside. Each occurrence sets its own values, and the strokes keep their weight at every size — even the small 口 inside 回, which a scaled component would make visibly thinner.

One radical, four characters: each occurrence sets its own width, height and feet, and the strokes keep their weight — even the small closed 口 inside 回.
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 | The smart layer was left at the axis Default in Smart Layer Properties | Right-click the smart layer row, choose Properties, and set its axis value to the extreme it represents |
| 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.