Alignment Zones and Standard Stems

Set font-level hinting data to describe the design, then use glyph hints to connect individual outlines to it. A small, coherent set of zones and stems is more useful than a long list of unrelated measurements.

Alignment Zones

Open Font Info > Zones. A zone has an alignment position and a width extending into the overshoot region. Top zones normally extend above an alignment line; bottom zones extend below it.

The Zones page separates top and bottom zones and provides Local zones and Family zones views below the lists.

The Zones page separates top and bottom zones and provides Local zones and Family zones views below the lists.

PostScript's primary BlueValues set accommodates a bottom zone, commonly the baseline, and top zones, with up to seven zones in total. The secondary OtherBlues set accommodates up to five additional bottom zones. These limits count zones, each represented by two boundary values. Recall the design-height references from Font Metrics and Glyph Metrics.

To establish a zone:

  1. Identify a flat alignment level and the rounded or pointed forms that overshoot it.
  2. Click Add top zone or Add bottom zone on the Zones page.
  3. Double-click the new row to edit its name, position, and width. Set the position and width from the actual drawings.
  4. Show zones in the Glyph window and compare representative glyphs.
  5. Inspect small rendered sizes after the glyphs have suitable hints.

To revise a zone, double-click its row. You can select several rows together and filter the lists by zone tags using the search field. To delete zones, check the selected rows and use the removal control for the relevant top or bottom list.

Auto-detect zones supplies a starting set from representative designs. Review it for the font's script coverage, figures, small caps, and other heights. A Latin-oriented detection set does not know every alignment relationship in a multiscript font.

Zones must not overlap. Their spacing also needs to accommodate the BlueFuzz tolerance around their boundaries. Read export warnings and correct the underlying zone definitions rather than merely reducing a warning threshold.

The Zones page uses numeric positions and widths, not the live expression model of anchors or guides. Do not depend on a guide formula remaining attached to a zone after conversion.

Zone fills can be shown in the Glyph window, with their display opacity controlled by the relevant view preferences. That opacity is an editing aid; it does not change the strength of a hint in the exported font.

Family Alignment Zones

Local zones describe the current design. Family zones realize the family-property consistency principle from Naming Fonts and Families and Font Metrics and Glyph Metrics through PostScript FamilyBlues/FamilyOtherBlues. Related members need agreeing shared-height references if those heights are to round consistently together.

Use the Local/Family controls on the Zones page to inspect the two sets. The copy control can start the family set from local values; review which values should actually be shared before copying them across a family.

Copying the full local-zone set to family zones replaces the existing family-zone set; the confirmation makes that scope explicit.

Copying the full local-zone set to family zones replaces the existing family-zone set; the confirmation makes that scope explicit.

To copy only selected zones between the local and family sets, select those rows and hold Shift while clicking the copy control. Selected zones are merged into the destination, replacing same-named zones while preserving other entries. This differs from an ordinary whole-set copy, which replaces the destination set. Inspect both the selection and destination afterward.

Family alignment is useful when related weights should hold common pixel heights, but it does not require every local overshoot width to be identical. Coordinate the shared references with the real designs and inspect the family at the same rendering sizes.

Standard stems also need coherent treatment across the family, but they describe each design's intended thicknesses. Do not make a bold master's stem values equal to a light master's merely to achieve numerical consistency.

Standard Stems

Open Font Info > Stems. Standard widths help strokes intended to be equal round to equal pixel thicknesses. Horizontal stems describe horizontal strokes measured vertically; vertical stems describe vertical strokes measured horizontally.

The Stems page separates vertical and horizontal standard widths.

The Stems page separates vertical and horizontal standard widths. The example names Vstem and Hstem identify the two directions.

PostScript distinguishes a dominant width, StdHW or StdVW, from additional StemSnapH or StemSnapV widths. The standard Type 1 stem-snap capacity is up to twelve widths per direction. Use that as a limit, not a target number of values to fill.

FontLab's naming conventions distinguish their roles:

Name Intended output role
Hstem / Vstem Dominant width, also included in the corresponding stem-snap set.
std.Hstem / std.Vstem Dominant width without adding that entry to the stem-snap set.
Other stem names Additional representative stem-snap values.

Use Add horizontal stem or Add vertical stem, or choose the direction from the + menu. Double-click the new row’s name and thickness to enter a descriptive name and a measured, representative value. To remove a redundant entry, select its row and click Remove stem. If the dominant width has no explicit standard name, output can fall back to an available stem; naming it deliberately makes the intent clearer.

Auto stems can derive candidates from existing glyph hints. For a completely unhinted font, that is why a preliminary autohinting pass can precede automatic stem detection. Inspect the proposed values before retaining them.

A glyph hint whose width matches a declared standard stem is displayed in bold with View > Measurements > Hints enabled. This helps inspect the relationship; it does not prove that every small-size result is correct.

PostScript zones and stems can also seed the separate TrueType hinting setup. Importing them there is a starting conversion, not a guarantee that the TrueType rounding behavior needs no further work.

Control Values and Guide Conversion

Font Info > Other Values contains PostScript controls that influence rasterizer behavior:

  • BlueScale controls when overshoot suppression ceases: below the threshold, overshoots are suppressed. FontLab's BlueScale in points field uses a 300-DPI reference device; do not enter a raw PostScript fraction as though the units were the same.
  • BlueShift controls the character-space overshoot distance used by the suppression/enforcement decisions.
  • BlueFuzz extends the zone's effective tolerance around its boundaries.
  • ForceBold requests a boldness-preserving behavior where the rasterizer supports it; it is not a substitute for drawing a bold master.

Change these only to address an observed rendering problem, then compare several sizes and related glyphs.

A thick horizontal font guide can become an alignment zone. Position the guide, Shift-drag to give it the intended width, then use Make alignment zone in the guide property bar or Guides panel. For a suitable thick glyph guide, Make hint in the guide controls converts the measured band into a stem hint. Check the resulting type, position, and width; use the reverse conversion when you need ordinary construction guidance again.

Export profiles can recalculate zones or stems and can choose which hints to retain. Keep those policies consistent with your source work so a carefully edited setup is not unexpectedly replaced at export.