If you create a distance with no ‘cvt’ value, Visual TrueType follows this procedure to position the child control point:
1. Fit one edge of the stem to the grid.
2. Calculate the pixels needed to represent the weight of the stem.
3. With that number of pixels in-between, fit the other edge of the stem to the grid.
With a Times New Roman “B,” this approach yields mixed results from rounding fractional numbers up or down:
Rounding varies stroke width in a Times New Roman “B” at 12, 11, and 10 points and 96 dpi.
The left straight stem changes from 2 pixels to 1 pixel at 11 points, while the right round stems do so only at 10 points. By design, these round strokes are wider than the straight one, but not double the width as displayed at 11 points. Apparently, the computer calculated just over 1.5 pixels for the round strokes and just under 1.5 pixels for the straight stroke. Rounded to the nearest number of pixels, the round and straight strokes became 2 and 1 pixels, respectively.
You could use the “round-down-to-grid” or “round-up-to-grid” attributes to control the stems better. However, in this case, the situation is both too frequent and too fundamental a problem to be dealt by changing the rounding attributes.
Instead, the better solution is to refer to a ‘cvt’ value, changing the distance to a link. The key to the solution lies in the fact that several links can then refer to the same control value.
When you create a link, it refers to a control value, so Visual TrueType changes Step 2 of the procedure it follows to position the child point. After working out the fractional number of pixels to represent the weight of the stem, it compares that result to the fractional number of the scaled control value. If these two numbers are “almost the same,” it uses the scaled control value, not the original distance between the control points, to calculate the pixels. As a result, all links that refer to the same control value will “lock into” the same number of pixels at “sufficiently small sizes.”