The TrueType Hinting Model and Workspace

TrueType hinting gives explicit control over how outline points are positioned at a rendering size. FontLab presents that work as visual instructions, backed by font-wide zone and stem data and a preview of the resulting pixels.

TrueType Instructions and Rasterization

A glyph program operates with the font's shared programs and control values. An instruction can position a point directly, establish a distance, or interpolate between reference points.

A point becomes touched in a direction when an instruction explicitly establishes its position there. Untouched coordinates can be moved by the final interpolation pass, commonly called IUP. This lets a small set of controlling instructions guide a larger outline.

Touching is direction-sensitive. A point can be controlled in Y while remaining free to follow interpolation in X. Keep the selected direction visible when editing instructions.

Recall gridfitting, pixels per em, and the imperative instruction model from Hinting and the Pixel Grid. A rasterizer converts the gridfitted outline into pixels. Its rendering mode—bilevel, grayscale, or subpixel—is chosen by the operating system, application, and display, not by the font. Identical instructions can therefore produce different results on different systems. Black-and-white rendering uses on/off pixels; grayscale uses intermediate coverage; subpixel rendering can use display subcomponents. ClearType is associated with Microsoft's rendering technology, not a generic name for every antialiased result.

Choose hinting priorities for the rendering target

Subpixel rendering uses the separate red, green, and blue parts of a display pixel to improve edge placement, especially horizontally. It depends on their physical arrangement and needs filtering to limit colored fringes. Rotating a display changes the relationship between those parts and the text. Rendering text into a surface that is later scaled, rotated, or composited can also change the alignment on which that rendering depends.

Grayscale antialiasing treats each pixel as a whole. It works without assuming an RGB stripe direction, and high-density displays give it more pixels with which to describe the same letter. These are practical reasons to test grayscale output rather than treating a sharp subpixel preview as the universal target.

Platform behavior reflects those choices. Apple removed color-fringe-based font antialiasing in macOS Mojave, describing the change as better suited to different panel technologies and scaling modes. Windows DirectWrite supports both ClearType and grayscale; Microsoft recommends grayscale for some application workflows, so Windows does not imply one fixed rendering mode. FreeType likewise offers different rendering and hinting targets, and its light-hinting approach emphasizes vertical alignment while preserving horizontal spacing. Check the application and configuration used by your audience rather than assigning one universal appearance to an operating system.

For grayscale and high-density targets, begin by checking vertical alignment, consistent horizontal-stroke weight, open counters, and spacing. Add stronger horizontal gridfitting or individual pixel corrections only when the target rendering shows a problem they solve. A correction that improves a black-and-white pixel pattern may add work without improving grayscale text, or may distort another size. Conversely, a low-resolution bilevel target can justify more detailed instruction work.

The waterfall helps compare these decisions, but its Black-and-White and ClearType views do not represent every grayscale renderer, display, or application. Final proofing must include the exported font on the intended targets; see Proofing Environments.

Native and Visual TrueType Hints

Native TrueType hints are the compiled instructions in a production font. FontLab can retain imported native programs for suitable unchanged glyphs and use them for a reference preview. It does not reconstruct every imported program as editable visual instructions.

Visual TrueType hints are FontLab's higher-level source representation. You edit alignments, links, interpolations, and deltas, then compile them into native instructions for supported output.

The Font window distinguishes imported native hinting with a blue T indicator and visual hinting with a brown T indicator. Treat those as evidence of stored hinting, not a quality score.

Editing a glyph’s outline discards its retained native TrueType hints; those low-level instructions depend on the original point structure. Keep an untouched source copy when preserving imported hinting matters, and plan to rehint changed outlines rather than assuming the old bytecode remains valid.

For FontLab’s visual authoring workflow, use an editable contour layer. Component-only composites and auto layers rely on source-component preparation or deliberately resolved contours rather than an independent ordinary visual program on their generated content. Recall the content and hint indicators in Font Window Anatomy. This is a FontLab workflow distinction, not a statement that the TrueType format can never contain composite instructions.

The TrueType Hinting Workspace

Choose Tools > Tool > TT Hinting, press Cmd+Shift+F7 on macOS or Ctrl+Shift+F7 on Windows, or use its toolbar control. This is the specialized mode introduced in Glyph Window Modes. The dedicated panel can also be opened through Window > Panels.

The TrueType Hinting workspace combines the outline, instruction graphics, alignment references, and a size preview.

The TrueType Hinting workspace combines the outline, instruction graphics, alignment references, and a size preview.

The workspace combines:

  • An instruction toolbar with X/Y direction selection, instruction tools, font-level parameter controls, and the Code panel (called Program panel in some sources) with a Compile control for building the visual program.
  • An optional magnified pixel view for inspecting the current PPM.
  • A waterfall and text-controls strip for comparing test text at several sizes—the size-range testing instrument introduced in Hinting and the Pixel Grid.

Set the current PPM in the property bar. Use the grid, pixel-center, rasterized-preview, original/ hinted-outline, and off-curve display controls to isolate the information needed for the current adjustment.

The magnified view offers pixel inspection, including zoom levels from 2× through 16×. The waterfall supplies the complementary overview: a local improvement should not introduce uneven weight or alignment at adjacent sizes.

Compare the available Black-and-White and ClearType previews, then test the exported font in its intended environments. Use a representative string containing several related stems and heights, not just the glyph currently being instructed.

Point Names and Hint Programs

Visual programs need stable identities for the points they refer to. A point index can change when another node is inserted or the contour start is moved; a name can preserve the intended reference independently of that index.

A hidden node name begins with a dot. It provides an internal identity without requiring an ordinary visible label on every point. Use Preferences > Glyph Window > Node names to choose Always, With coordinates, or Never, and Show hidden names when those identifiers need inspection. Distinguish hidden identifiers from descriptive names you assigned yourself.

TrueType autohinting and some generated-outline workflows, including Skin processing, can assign these names automatically. Skin’s naming role is introduced in The Skin Filter. Tools > Actions > Hinting > Reassign node names migrates visible names to hidden naming and updates their TTH references; see Actions. Older files can continue to use their visible names.

Names reduce unnecessary reference breakage, but they do not make arbitrary outline surgery harmless. Deleting the named point, replacing its contour, or changing what it represents can still invalidate the intended instruction. Recheck the program and rendered result after structural edits.

Name-based references help programs survive operations such as overlap removal, PS-to-TT conversion, and Paste Special transfer when the relevant point identities are preserved. After structural changes, inspect the referenced nodes and compiled result rather than assuming a name guarantees the intended geometry.