Example 1: Creating Links

Just rounding control points fails to preserve the weights of the stems in a 12-point Times New Roman “m”:

The bitmap of a 12-point Times New Roman “m” after rounding

The bitmap of a 12-point Times New Roman “m” after rounding.

Linking control points, however, can add hints that tell the rasterizer to:

·       Fit one edge of the stem to the grid.

·       Work out the number of pixels needed to represent the weight of the stem.

·       Turn on that number of pixels, and fit the other edge of the stem to the grid.

·       Let all the other control points following “accordingly.”

That requires three X links, each starting on the left side of the stems. These short links may be easier to see if you choose Grid Fit on the Display menu:

Linking across the three stems of the “m”...

Linking across the three stems of the “m”...

Bitmap of m with stem weights preserved

...preserves the weights of the stems.

However, the serifs still are missing because, as shown above, they are less than half a pixel high at 12 point and 96 dpi. Linking vertically across the serifs like this:

Linking across the serifs

Linking across the serifs...

restores the serifs because the link says any link entirely “inside” the outline should maintain a minimum distance of one pixel.

Bitmap of m with serifs preserved

...not only preserves the weight of the serifs, but the serifs themselves.

The serifs are back, yet several problems remain. The two arches fall on the grid but are disjoined. Joining them is just a matter of adding links, as done to restore the serifs:

Linking across the arches and other parts to be preserved

Linking across the arches and other parts to be preserved.

The left stem illustrates that:

·       More than one link can start from the same point.

·       One link can entail another.

Both features come in handy when instructing the computer how to fit the outlines of the “m” on the grid:

The “m” linked to have serifs and joined arches

The “m” linked to have serifs and joined arches.

By creating a chain of links, you can control the spacing of the three stems. The chain starts at the left side-bearing point and runs through the entire character to end at the right side-bearing point:

A chain of X links

A chain of X links (Note: On the Visual TrueType menu,
Show Y Direction is not selected.)

The “m” looks better, but it’s still not perfect:

The improved “m”

The improved “m”

You might do additional hinting to link the lengths of the serifs. Then you might use the size run to see if the “m” looks good at all sizes, and fix individual pixels with exceptions (for details about exception hinting, see “Refining Pixel Patterns”).

The hinting done so far assumes that the glyph outline falls on the grid. As long as that happens, the hinting controls stem weights, the counterforms between the stems, even the spaces before and after the character. However, if the outline doesn’t fall on the grid, the pixels in the left-to-right chain of stem links may have to be rounded down by less than half a pixel. By the time the chain arrives at the right side-bearing point, the overall advance width will be off by more than 3 pixels (less than 0.5 pixels multiplied by 7 occurrences).