PostScript Autohinting

PostScript autohinting analyzes outlines and proposes stem and ghost hints using alignment zones and available standard stems. Like autospacing in Spacing Glyphs, it supplies a refinable baseline rather than a final design judgment. Use it to establish consistent coverage, then refine the cases that render poorly. Its output depends on both the drawing and the font-level information available to guide it.

Prerequisites for PostScript Autohinting

Review alignment zones before the main hinting pass. They identify the heights and overshoots the design should preserve. Standard stems provide useful calibration once available.

For a completely unhinted font, there is a practical dependency: Auto stems derives values from existing hints. FontLab's autohinter can analyze outlines before those stems have been established, allowing a preliminary hinting pass to supply the measurements used by Auto stems.

Thus the setup is not an impossible requirement to have automatically detected stems before any hints exist. Establish zones, create preliminary hints, derive and refine the stems, then review or repeat hinting with that calibration in place.

Settle major contour changes first where possible. Remove accidental geometry problems and inspect the intended stroke structure. Autohinting cannot decide that a kink or unwanted overlap is part of your design rather than an error.

Running PostScript Autohinting

Before a pass, check Preferences > Autohinting for the replacement and node-link choices described below. Save a native copy if the selected glyphs contain manual hints you may need to recover.

With the intended glyph or Font-window selection active, choose Tools > Hints > Autohint, or press F7. Review the generated hints in the Glyph window and inspect rendered results at several sizes.

The Autohint Action under Tools > Actions, taught in Actions, provides a batch route for a glyph selection or an entire font. Remove hints provides the inverse cleanup operation, including directional choices where offered. Review the Action's target scope before applying it across a developed source.

The Autohint action generates PostScript hints for the glyph and master scope selected above the operation.

The Autohint action generates PostScript hints for the glyph and master scope selected above the operation.

Export profiles offer autohinting policies such as unhinted glyphs, all glyphs, or no autohinting; see Export Profiles. An all-glyph policy can replace deliberate manual work. Match the policy to whether the source hints are authoritative or whether the output should regenerate them.

Limit the measured range

The horizontal and vertical minimum/maximum controls under PostScript hinting in Font Info use font units. They limit the stem thicknesses the autohinter considers. Horizontal refers to horizontal strokes measured in Y; vertical refers to vertical strokes measured in X.

Use these ranges to focus on meaningful strokes, especially in high-contrast designs. Values chosen for another UPM or another weight are not automatically appropriate.

Overlaps are temporarily removed for analysis to avoid spurious hints through overlap regions; this does not require replacing the editable source. Recall Overlaps and Boolean Operations. Component-only composites are skipped because their hints come from source components at supported export; hint those sources and inspect the resolved result, as described in Glyph-Level PostScript Hints.

When exporting a variable font or instances from a multi-master source, FontLab uses the main master’s hints and adjusts the corresponding hints proportionally for other masters. Keep those hints and the corresponding outlines coherent, and inspect intermediate results. Do not assume that an unrelated hand-built hint set in every master will be merged into one consistent variable program.

Autohinting Preferences

In Preferences > Autohinting, review the PostScript options before running a pass:

  • Remove existing hints chooses replacement rather than accumulation. Keep it on for a deliberate fresh pass; turn it off only when preserving existing hints is part of the plan.
  • Link hints to nodes when autohinting ties generated measurements to outline nodes so they can follow subsequent edits.

Both PostScript options are on in the initialized defaults. Inspect your actual saved settings before a pass. Node links help maintain the result, but they do not make incorrect edge choices correct.

Check these options for the autohinting route you use and inspect export policies separately; export can rebuild or omit source hint data. Do not assume that the interactive and export choices are interchangeable.

Setup Workflows

For a font without hinting data:

  1. Auto-detect zones and correct them against representative drawings.
  2. Run a preliminary autohinting pass on suitable glyphs or the intended batch.
  3. Use Auto stems and refine the resulting standard widths.
  4. Review the autohinting ranges and replacement/link preferences.
  5. Run the calibrated pass where needed and proof a range of sizes.

A quick setup can use the same sequence on a representative selection first. Expand it to the full font only after the zones and stems describe the design sensibly.

For a selective multi-pass approach, establish one thickness range and hint it, then disable removal of existing hints before adding another range. Inspect the combined result for redundant or conflicting measurements. Restore the preference afterward so the next ordinary pass does not unintentionally accumulate hints.

Power Stroke's generated geometry can participate in the supported hinting workflow, but check the actual resolved outline and output. A skeleton's visual envelope is not a substitute for inspecting which geometry the hinter used.

Finish by testing the exported font in the intended environments. A complete set of green hint bands is an authoring result; consistent, readable small-size text is the goal.