Font spacing guide
Font spacing and side bearings: build rhythm before kerning
Learn how advance width and side bearings shape type rhythm, then space control glyphs, diagnose patterns, and proof the results inside Typelure.
Spacing is the repeated interval between forms, not a cleanup task performed after the alphabet is drawn. A strong outline can still make a weak font when every word alternates between crowded and loose patches.
The useful unit of work is therefore not an isolated letter box but a sequence. Typelure exposes advance width and both side bearings for each glyph, then renders editable proof text from the project outlines so you can judge those values as rhythm.
HHOHOO
Compare the white intervals between flat and round edges, not equal numeric bearings.
1. Read the three horizontal metrics as one system
Advance width is the distance the text cursor moves after a glyph. The left side bearing is the distance from that glyph origin to the left edge of its outline. The right side bearing occupies the remaining space after the outline. In the OpenType metric model, right side bearing equals advance width minus the left side bearing and the outline width.
In Typelure, the Glyph inspector lets you edit Advance Width, Left Side Bearing, and Right Side Bearing. Editing the right bearing adjusts advance width from the current outline bounds and left bearing; it does not move the outline. Moving an outline and changing a bearing may produce the same visual offset in one pair, but they are different design decisions.
| Metric | What moves | Use it to control |
|---|---|---|
| Left side bearing | The space before the outline | How the glyph approaches its left neighbor |
| Outline position | The drawing inside the advance box | The glyph’s placement relative to its origin |
| Right side bearing | The remaining space after the outline | How the next glyph approaches |
| Advance width | The next cursor position | The glyph’s total horizontal measure |
2. Establish control letters before spacing the alphabet
Begin with shapes that expose different edge conditions. H gives you two vertical sides; O gives you two rounds; n and o repeat the same comparison at x-height. A, V, and T reveal how diagonals and overhangs resist the values that work for straight forms.
Do not seek equal numeric bearings. Seek an even visual interval. A round edge normally needs to project farther into the neighboring space than a flat stem to appear equally close, while a diagonal creates a wedge-shaped opening that cannot be described by a single measured gap.
- 1
Set H
Choose a calm starting interval for two vertical stems and proof HHHH.
- 2
Fit O beside H
Compare HHOHOO and adjust the round bearings until the white intervals feel related.
- 3
Repeat with n and o
Use nnonn, noon, and nonoon to establish the lowercase rhythm.
- 4
Introduce diagonals
Test AVATAR, WAVY, VA, and TA without distorting all-purpose bearings to perfect one difficult pair.
3. Transfer spacing by edge family, then correct optically
Reuse a control value only where the visible edge behaves similarly. E, F, H, I, and L may share a useful starting logic on a stem side, while C, G, O, and Q form a round family. Similarity is a hypothesis, not a promise: an open C and a closed O often need different compensation.
Punctuation deserves its own families. A period, comma, colon, quotation mark, and parenthesis interact with text at different heights. Centering each mathematically inside the same width usually produces uneven sentences.
| Edge family | Start with | Then inspect |
|---|---|---|
| Flat stems | H, I, n, l | Repeated vertical color and narrow counters |
| Rounds | O, C, o, e | Overshoot, openings, and curved white space |
| Diagonals | A, V, W, X, Y | Triangular gaps and overhangs |
| Open forms | C, G, c, s | The apparent pull of terminals |
| Punctuation | . , : ; ! ? quotes | Height, neighboring case, and sentence texture |
| Figures | 0, 1, 8 | Tabular-looking rhythm versus proportional shapes |
4. Use proof strings that isolate a question
A pangram is useful for coverage, but it is inefficient for diagnosis because too many variables change at once. First repeat one control form around the glyph under review. Then move to words and sentences after the local interval is stable.
Choose the Spacing preset in Typelure’s Outline proof and keep Track at zero while judging the stored metrics. Use tracking only to explore a setting; a nonzero preview value can conceal bearings that are intrinsically too tight or too loose.
- Uppercase flats and rounds: HHOHOO HOHO OHHO OHOH
- Lowercase flats and rounds: nnonn nonoon noon onion
- Diagonals and overhangs: AVATAR WAVY VA VA TA To Ty
- Long rhythm: minimum aluminum Hamburgefontsiv
- Figures: 00 11 88 0123456789 12:34 99.9%
- Punctuation: H.H,H:H;H!H? n.n,n:n;n!n?
- Mixed text: AVATAR, Type & rhythm. Sphinx of black quartz, judge my vow!
5. Diagnose the pattern, not the loudest pair
When one side of a glyph fails with many neighbors, change that side bearing. When both sides fail, review advance width and outline placement together. When only a specific pair fails while both glyphs work elsewhere, that is normally a kerning problem rather than a reason to damage the base spacing.
Typelure’s current project model does not store kerning. Use difficult pairs such as AV and To as diagnostics, but do not force their ideal fit through bearings if that breaks AA, AO, TV, or ordinary words. Record those exceptions for kerning in a production tool after the base spacing is dependable.
| Symptom | Likely cause | Check next |
|---|---|---|
| A glyph looks loose on its left in many words | Left bearing is too large | Place it between H/H or n/n controls |
| Both sides look tight | Advance box or both bearings are too small | Compare outline width and family peers |
| Only AV looks open | Pair-specific diagonal space | Preserve base bearings and flag for kerning |
| Words drift despite good pairs | Inconsistent family values | Compare repeated control strings |
| Space looks visible | U+0020 contains an outline | Keep space blank with a positive width |
6. Finish with a metric audit
Run validation after spacing, then return to Outline proof at small and large sizes. Typelure checks that selected-goal glyphs have finite bearings and usable widths, but those checks cannot decide whether the rhythm is optically convincing.
Record difficult pairs separately from the base-spacing decisions so a future kerning pass can address true exceptions without reopening otherwise dependable bearings.
- Proof with tracking set to zero.
- Check H/O and n/o control strings before full paragraphs.
- Keep ordinary spacing characters blank and positively measured.
- Investigate negative bearings in context; they can be intentional, but they must remain finite and avoid unwanted collisions or clipping.
- Review letters, figures, punctuation, and symbols rather than stopping at alphabetic words.
- Export and reopen the font because the compiled file—not the inspector—is the deliverable.
Frequently asked questions
Should the left and right side bearings be equal?
Not generally. Symmetrical glyphs may begin with symmetrical values, but visual edge shape matters more than numeric equality. Rounds, diagonals, open forms, and punctuation often need asymmetric optical spacing.
Is a negative side bearing always an error?
No. An overhang can be intentional, especially for diagonals or punctuation. Treat it as a value to proof carefully rather than an automatic failure; Typelure requires the bearing to be finite and leaves the optical judgment to you.
Can I fix AV and To with kerning in Typelure?
Not in the current project model, which does not store kerning. Build sound general spacing in Typelure, keep a list of pair-specific exceptions, and finish those pairs in a production workflow that supports OpenType kerning.
Primary references
These references support the standards and file-format details in this guide. Typelure-specific behavior is described from the current product implementation and is dated above.
- hmtx — Horizontal Metrics Table — Microsoft Typography