Developing fonts > Tools & SDKs > VTT resources
Hinting italics using Visual TrueType
Beat Stamm and Ian Patterson
NOTE: For this explanation of italic hinting, a working knowledge of Microsoft Visual TrueType graphical hinting is assumed.
There are many ways one could hint italic characters, the following is a quick and simple guide using the graphical hinting tools available in the latest version of VTT. I am assuming you have set up your font in VTT, and now have a Control Program. Make sure you fill in the italic rise and run cvts for caps (cvt 20 and 21 in the standard template) and lowercase (cvt 22 and 23), otherwise VTT will assume the font is upright and will not give you the option to set the 'GlyphStrokeAngle'. (Likewise for figures and all other character groups that have italics.)
Let us start with a sanserif, italic, capital letter 'I'. Make sure grid fit and pixels are off, and 'x' and 'y' links are on. Select the 'GlyphStrokeAngle' tool (the one above the 'x-link' tool). Select the bottom left corner of the stem and drag the cursor to the top left corner. A pair of arrows appear, with cvts 20 (italic run) and 21 (italic rise). You can right-click the interstate signs to change these cvts where necessary. VTT will look for:
UpperCase Grey X ItalicRun absolute
UpperCase Grey Y ItalicRise absolute
For characters with no italic stroke, such as an 'o', drag the tool from the origin in the direction of the italic stroke.
For fonts with differing italic stroke angles (such as Garamond), you can introduce new cvts for different italic runs. The rise (x-height for lowercase, cap height for Uppercase) should be the same for any new runs. Now that you have several varying run cvts, you may wish to make them all the same at smaller screen sizes. To do this you can overwrite a run cvt with another run cvt until a specified size e.g. below 12 ppem all glyph stroke angles become the same. This is 'inheritance', and can be controlled in the same way as any other inheritance in the ControlProgram. Controlling italic angles with cvts will become especially useful when attempting to delta the italic angle for a whole font or range of characters.
Next, you can add your 'y' hints (I recommend always hinting the 'y' direction first). Make sure that any points you intend to use in a stroke are touched in some way in the 'y' direction. In the case of the cap 'I', fix the bottom left corner to the grid in the 'x' direction (if you don't, the stroke tool will do it for you). Select the diagonal stroke tool and drag it from point 0 to 3, then point 1 to 2. An interstate sign will appear in the middle of the stroke, which you can now edit. If the font you are working on has strokes that taper, you can force them to stay straight until a specified size. Go to the (smallest) size where you would like the stroke to taper, right click on the padlock in the middle of your stroke (if you cannot see the padlock, choose ppem limits from the Tools/Options/Glyph visuals menu). Select the open padlock.
For a sanserif italic character such as a cap 'H', hint the two stems and the horizontal bar in the 'y' direction, then all that needs to be done in the 'x' direction is to hint the two italic strokes, then diagonally align the points of the horizontal bar to the respective sides of the strokes. Once again you will see a padlock, which allows you to switch off the constraints of the align command at a chosen point, just as with the stroke. Notice that with the padlock feature you can safely align points that belong to an 'inktrap', since you can always open the padlock at the size at which there are enough pixels to render the 'inktrap' (see also the VTT 4.2 release notes).
For an italic serifed capital 'I' the procedure is much the same. I would once again recommend adding the 'y' hints first, being careful to make sure you touch the points in 'y' that you intend to use in the stroke ( a 'y' interpolate is generally best). As for which points to use for the stroke, this is not always as obvious as one might think. I recommend you use the off curve points at each end of the straights of the stroke (18 to 8 then 21 to 5 on the serifed cap) as this gives a nicer shape. Once the stroke is hinted, you can then hint out to the end of the serifs using shifts, shifts and anchors, dists or links as you see fit.
To space an italic character use the same methods as those used for upright fonts. Either link from the sidebearing to a point on the character using a cvt, or simply anchor a point. All other hinting is the same as that used for upright fonts.
Top of page