TrueType hinting uses standard stem values and TT zones on each master. Glyphs uses these font-level hints to replicate the glyph-level hints from the main master to all other masters.
Zones help unify the vertical alignment of shapes throughout the font. When outlines are grid-fitted onto the screen pixels, vertical shape extrema that live in the same zone will be rounded to the same height, typically a pixel edge. Place the zones at vertical metrics such as the baseline, descender, ascender, shoulder height, figure height, nabira height, cap height, rekha height, small caps height, or whatever else makes sense for the design.
By default, TT hinting uses the main alignment zones defined in File → Font Info… → Masters → Metrics.
Set up zones specific to TT hinting by adding the
TTFZones custom parameter in File → Font Info… → Masters:
If the font already contains PostScript hinting zones, choose Get PS zones from the actions menu at the bottom-left of the window to import them as TT zones. Add additional zones with the plus button and remove any selected zone with the minus button. A font can have any number of TT zones. Zones have the following properties:
The name identifies a zone in the list. It can be arbitrary text, and each name must be unique. The xHeight name is special: it is used for the x-height zone, which is treated differently in grid-fitting. A zone with that name has a higher probability than other zones of rounding up at small sizes. Names are shown in the Info box when using the TT Instructor tool and a Snap hint is selected.
The position determines the emplacement of the flat edge of the zone. The flat edge is the offset from the baseline from which the zone is extending. Negative positions are placed below the baseline.
The size defines the value of the flattening zone during the overshoot suppression. A top zone has a positive size; a bottom zone has a negative size. Top zones are meant for the top vertical extremes of shapes, like the x-height, shoulder height, cap height, or nabira height. Bottom zones are meant for catching the bottom ends of shapes, like the baseline, the descender, or the bottoms of small figures such as numerators, inferiors, and superiors.
Ensure that the area defined by the position and the size encompasses all overshoots that are supposed to be flattened to the zone position by the rasterizer. For instance, at the x-height, put the Position to the height of the lowercase x, and make sure the Size is large enough to catch all overshoots, like in the lowercase o. This works similarly to PostScript alignment zones.
Link a zone to another zone with the Align option. If a zone is aligned to another, the distance between the zone positions is rounded and applied to the zone.
This will result in more consistent transitions from one PPM size to the next. Use this for zones that are very close to each other, perhaps even overlapping, and where it may be problematic if the zones diverge too far at low-resolution pixel renderings. Aligned zones are displayed at the same height if their distance is less than half a pixel, one pixel apart if their distance is half a pixel, and so on.
(This property only applies to the main master.) Click the delta button to fine-tune a zone at specific PPM sizes. A table of buttons will be shown. The columns of the table are the masters of the font, and the rows are PPM sizes. Click a button to switch between rounding up , down , or no rounding . The delta icon in the zones list is filled with the accent color if any button is set to rounding up or down.
Rounding is helpful if a zone is one pixel too low or too high at a given PPM size. If it is too low, round it up; if it is too high, round it down. Use the Hinting Preview to check for any zones that need to be rounded up or down.
(This property only applies to the main master.) Click the globe button to limit the zone to a subset of glyphs. The subset is defined like a Smart Filter. See Smart Filters for details. The globe icon in the stems list is filled with the accent color if any filters are set.
Stems help unify the displayed size of stroke thicknesses at low resolutions.
By default, TrueType hinting uses the standard stems of a master.
Define stems specifically for TT hinting by adding the
TTFStems custom parameter in File → Font Info… → Masters.
Click the value field of the parameter to edit the stems:
If the font already contains PostScript stems, choose Get PS stems from the actions menu to import them as TT stems. Add additional stems with the plus button and remove a selected stem with the minus button. The following stem properties can be edited:
A hint is oriented vertically (measured top to bottom) or horizontally (measured left to right). Click the double arrow icon to switch between the two orientations.
Note that the orientation of a hint refers to the thickness of a stem, not its length. A vertical hint spans the thickness of a horizontal stem. A horizontal hint spans the thickness of a vertical stem.
The name labels the stem. It can be arbitrary text, but it is a good idea to use descriptive names.
The average stem thickness. In screen rendering, similarly-sized stems will be unified and displayed with the same number of pixels.
(This property only applies to the main master.) Click the delta button to fine-tune a stem at specific PPM sizes. This property works like the Deltas of TT zones. Note that stem deltas are only applied for ClearType-style rendering modes (also referred to as Windows GDI).
(This property only applies to the main master.) Click the globe button to limit the zone to a subset of glyphs. This property works like the Filter of TT zones.
TTFBlueFuzz custom parameter to extend all TT zones by a certain amount.
The specified amount will be added both above and below to each zone.
It defaults to 1 unit.
The parameter is helpful for testing stem values or for fixing imprecisions in interpolation:
Even if the drawings end up nicely in the zones in all masters, they may still drop out of them in interpolated instances.
Such imprecisions can occur due to rounding errors.
Test the font using the Hinting Preview to see if the zones work in all instances, and if not, increase the
Add the parameter in File → Font Info… → Font, Masters, or Exports. Adding it to the Font tab applies it to all instances equally. If the parameter is instead added to the masters, it will be interpolated at export. Add it to a single instance in Exports to overwrite the masters and font settings.