Instructions

Add TrueType instructions by selecting nodes and choosing one of the available instruction types from the context menu. Click and drag to reposition instructions.

Choose Autohint from the context menu to add some instructions automatically. This action will add Snap and Stem hints, but not Shift, Interpolate, or Delta hints. The result can be useful as a starting point for manual TT hinting. Some glyphs cannot be autohinted. In that case, the error message There was a problem compiling TrueType instructions appears. Autohint the current glyph by pressing Cmd-Opt-Ctrl-Shift-I (configure the shortcut in the Commands section in the app settings). This shortcut also works when multiple glyphs are selected in Edit View.

Remove all glyph-level hints from the current glyph by choosing Remove Hints from the context menu.

Snap (A)

Snap instructions  (shortcut A) round the position of previously untouched points to the nearest pixel edge. Apply a Snap instruction by selecting one or more untouched points and pressing A or selecting Snap Point from the context menu.

Select a Snap instruction by clicking its purple badge. The Info box (View → Show Info, Cmd-Shift-I) shows configuration options for the selected instructions. From the pop-up menu located at the top of the Info box, choose one of the following options:

The icon buttons on the bottom of the Info box indicate the rounding that the instruction triggers:

Stem (S)

Stem instructions  (shortcut S) round the positions of either two previously untouched points or one touched and one untouched point to a distance determined by the TT stem. A Stem hint has an originating point and a target point (indicated by the arrowhead). The target point is moved to follow the distortion of the originating point. Stem hints can be added to multiple point pairs at the same time, provided an even number of points is selected. Flip the origin and target points by choosing Reverse from the context menu on the Stem hint.

If a Stem hint starts in a zone, it will automatically snap the originating point in the zone. A Snap instruction is therefore not needed for the originating node.

Select a Stem hint by clicking its sky-blue  badge. Configure the selected Stem hint in its Info box. From the pop-up menu located at the top of the Info box, choose one of the following options:

The icon buttons on the bottom of the Info box indicate the rounding that the instruction triggers:

The stem widths taken from the TTFStems parameter are rounded according to the oversampling of the respective rendering intent. Stems should not be rounded (with the default No rounding  mode) not to overwrite that. Having stems that are not rounded to full pixel edges means that at least one side of the stem will get a gray border. The resulting rendering is a little less sharp but much better preserves the details of the design. It also produces fewer problems with distorted outlines, for example, fewer collapsed counters.

If there are three horizontal stems, select all three Stem hints by consecutively Shift-clicking them, then choose Make Triple Hint from the context menu. The Stem hints will turn purple , indicating they are connected and will try to preserve at least one-pixel distance even in the worst of circumstances:

Shift (F)

Shift instructions  (shortcut F) transfer the movement of a touched (originating) point to an untouched (target) point. This shifts the target point the same way the originating point is shifted. Use Shift instructions to make sure that two parts of a glyph implement the same distortion.

Apply a Shift instruction by selecting a touched and an untouched point, and press F or choose Shift Points from the context menu. Multiple Shift instructions with the same originating point can be added simultaneously, provided only one of the selected points is touched (originating point), and all others are untouched (target points).

Select a Shift hint by clicking its dark blue  badge. The icon buttons in the Info box indicate the rounding that the instruction triggers:

For example, consider the two legs of a Latin lowercase sans-serif n. The left leg should get snapped in the baseline zone. But, after adding a Stem hint for the shoulder between the two legs, the right leg is out of sync with the left leg.

This happens because, along the line of the path, the effect of the Snap instruction in the lower left is interrupted by the Stem instruction on the top. Therefore, for the right leg, the ensuing IUP (interpolation of untouched points) can only extrapolate the distortion caused by the Stem instruction, not the Snap instruction. Effectively, the Snap instruction is confined to the left leg. Mitigate this by adding a Shift instruction from the touched (snapped) point on the left leg to one of the points on the right leg:

The Shift instruction duplicates the movement of the left leg to the right leg, making the target point a touched point. This way, the right leg will always perform the same movement as the left leg. The lowercase Latin m may use multiple Shift instructions:

Interpolate (G)

Interpolate instructions  (shortcut G) keep a previously untouched point at the same relative position to two touched points as in the original uninstructed outline. Apply an Interpolate instruction by selecting two touched points and a third, untouched point. Then press the G key or choose Interpolate from the context menu.

The main intention of Interpolate hints is to remedy unwanted side effects of IUP. For example, use an Interpolate instruction to keep a middle stem at the same relative distance from the (already touched) outer stems, as in this lowercase e:

Select a Shift hint by clicking its green  badge. The icon buttons in the Info box indicate the rounding that the instruction triggers:

Delta (E)

Delta instructions  (shortcut E) move a point up or down by exactly one pixel, but only in a specific static instance and a specific PPM size. Delta hints are intended as final pixel corrections after all other hints have been applied. Add a Delta hint by selecting any number of points and pressing E or choosing Delta from the context menu. Select one or more Delta hints, click the Delta  icon in the Info box, and configure them like the deltas of a TT zone. See TrueType Zones: Deltas for details.

Delta hints should be used sparsely, if at all, and should be added last, after all other hints. Delta hints are only available for vertical  hinting and are ignored in variable fonts.

Points in Overlapping Intersections

Instructions may be placed on any node shown in the TrueType Instructor tool. However, path intersections are handled separately. When a font is exported with the Remove Overlaps option selected, overlapping intersections are reduced to a single point. Glyphs will move any hints on points that are removed as part of the overlap removal to the nearest resulting intersection point. Thus, the following two hints are equivalent in non-variable fonts:

In variable fonts, overlaps are not removed. Hints added to extra nodes, such as the right hint in the image above, are ignored. When exporting variable fonts, only add hints to normal nodes, like the left hint in the image above.