TrueType hinting tutorial - Intro
Basic hinting philosophies and TrueType instructions
When discussing TrueType hinting it is best to think of TrueType as a programming language. Font companies who produce TrueType all use different approaches. Individual typographic engineers in a font company may also use different hinting philosophies. A single type engineer may use a different overall strategy from typeface to typeface.
(A typeface is a collection of fonts within a family. Times New Roman is a typeface, Times New Roman Italic is a font.)
In this document I begin by discussing the hinting process in a general, high level manner, and then convert that high level description into actual TrueType code.
A note about hinting tools
Tools used to produce professional fonts are not necessarily commercially available. Software and font companies have developed specific software for their development needs. In this document the syntax used for all TrueType instructions should be considered specific to this document and / or a specific TrueType development tool. For a full explanation of TrueType instructions and their syntax see the Microsoft TrueType spec Version 1.66 (or later) or the manual of a specific TrueType editor. In addition to proprietary tools the known TrueType editors are currently: RoyalT from Apple Computer and TypeSolution's TypeMan and StingRay.
If you have ever painted a picture you know you start with a blank surface and sketch out the basic shapes. Then you add the tones. After that you get more and more specific until you decide the painting is complete. In general every painting is done the same way. But the details are always different. The edges are sharpened differently. Highlights are either added or not. Perhaps you will use the classic red line, perhaps not. This is what hinting is about. Decisions.
The first thing you must consider is the kind of fonts you are hinting and how the separate fonts relate to the whole typeface. When the core fonts from the typeface Times New Roman were hinted, the type engineers compared all fonts to be included in the family (regular, italic, bold and bold italic). They measured each font and determined if values such as heights or stem values should be consistent through the family or specific to the font.
Would you like to provide feedback?
Our feedback system is built on GitHub Issues. Read more on our blog.