Main Page | See live article | Alphabetical index


TrueType is an outline font standard developed by Apple Computer in the late 1980s as a competitor to Adobe's Type 1 fonts used in PostScript. The primary strength of TrueType is that it offers font developers a high degree of control over precisely how their fonts are displayed, right down to particular pixels, at various font heights.

Table of contents
1 TrueType history: Apple
2 TrueType history: Microsoft
3 TrueType in Mac and Windows today
4 TrueType on Linux and other platforms
5 Technical note: outlines
6 Technical note: hinting language
7 Related articles
8 External links

TrueType history: Apple

TrueType made its major appearance with the launch of Mac OS System 7 in May 1991. The project was largely the work of one man, Sampo Kaasila. The fonts, four-weight families of Times Roman, Helvetica, Courier together with a handful of others, fully exploited the format's capabilities for rendering type at small sizes on screen. Apple released an add-on package for System 6 to allow use of TrueType fonts.

At this time Apple and Adobe were having a disagreement over PostScript. Apple wished to be able to deploy PostScript-compatible products without being dependent on Adobe. To this end Apple licensed TrueType to Microsoft in exchange for a license for TrueImage, a Microsoft-developed PostScript-compatible driver, that Apple planned to use in laser printers. This driver was never actually included in any Apple products, and Apple made renewed agreements with Adobe for use of PostScript.

Apple extended TrueType with the launch of TypeType GX in 1994. This offered powerful extensions in two main areas. First was font morphing, for example allowing fonts to be smoothly adjusted from light to bold or from narrow to extended - competition for Adobe's "multiple master" technology. Second was substitution, where particular sequences of characters can be coded to flip to different designs in certain circumstances, useful for example to offer ligatures for 'fi', 'ffi', 'ct', etc. while maintaining the backing store of characters necessary for spell-checkers and text searching. However, the lack of user-friendly tools for making TrueType GX fonts meant there were no more than a handful of GX fonts. Much of the technology in TrueType GX, including morphing and substitution, lives on as AAT (Apple Advanced Typography) in OS X. Few font developers outside Apple attempt to make AAT fonts.

TrueType history: Microsoft

By around 1991 Microsoft had built TrueType into the Windows operating system. In partnership with their contractors Monotype, Microsoft spent much effort creating a set of high quality TrueType fonts that were compatible with the main fonts being bundled with PostScript equipment at the time. This included the fonts that are standard with Windows to this day: Times New Roman (compatible with Times Roman, Arial (compatible with Helvetica) and Courier New (compatible with the Courier. By "compatible" one should understand this to mean two things: first, that the fonts are similar to look at (Arial is by no means identical to Helvetica); and second, very importantly, the fonts have the same character widths so can be used to typeset the same documents without reflowing the text. (The disjunction of the names, particularly between Arial and Helvetica, led some to believe there was a general problem of having to determine an "equivalent" Apple or PostScript font whenever a particular Windows font was called for, or vice versa. In fact, a given font is almost always available on both major platforms.) Microsoft and Monotype technicians used TrueType's hinting technology to make these fonts possibly the best made up to that time in terms of legibility at small sizes on screen.

Microsoft have been more successful than Apple in enhancing TrueType technology. Windows 95 saw a major rewrite of the code they had licensed from Apple, and the addition of anti-aliasing technology to smooth the edges of fonts in all applications. More recently ClearType, included with Windows XP, significantly improves readability on LCD based displays.

TrueType in Mac and Windows today

Today's Mac OS X and Windows XP still support TrueType fonts fully, but they also have native support for Adobe's Type 1 format and the OpenType format of Microsoft and Adobe. However most of the system fonts included in standard installations of OS X and Windows are in the TrueType format: system fonts have to be highly legible under a wide variety of conditions, making TrueType the natural format choice.

TrueType on Linux and other platforms

The FreeType project of David Turner attempts to create an independent implementation of the TrueType standard (as well as other font standards). FreeType is included in Linux distributions.

There are potential patent infringement in FreeType 1 because parts of the TrueType hinting virtual machine were patented by Apple, a fact not mentioned in the TrueType standards. (Patent holders who contribute to standards not published by a major standards body such as ISO are not required to disclose the scope of their patents.) More recent FreeType releases include an automatic hinter that analyzes glyph shapes and corrects them, thus avoiding the patented technology. [1]

Technical note: outlines

The outlines of the characters (or glyphs) in TrueType fonts are made of straight line segments and quadratic Bézier curves. These curves are slightly more efficient to process than the cubic Bézier curves prevalent in the PostScript-centered world of graphic design and used in Type 1 fonts. A TrueType glyph outline specification typically takes up less space than a Type 1 outline.

Technical note: hinting language

TrueType systems include a virtual machine that executes programs inside the font, processing the "hints" of the glyphs. These distort the control points which define the outline, with the intention that the rasterizer produces fewer undesirable features on the glyph. Each glyph's hinting program takes account of the size (in pixels) that the glyph is being displayed at, as well as other less important factors of the display environment.

Although incapable of receiving input and producing output as normally understood in programming, the TrueType hinting langauge does offer the other prerequisites of programming languages: conditional branching (IF statements), looping an arbitrary number of times (FOR- and WHILE-type statements), variables (although these are simply numbered slots in an area of memory reserved by the font), and encapsulation of code into functions. Special instructions called "delta hints" are the lowest level control, moving a control point at just one pixel size.

Good TrueType glyph programming techniques are to do as much as possible using variables defined just once in the whole font (e.g. stem widths, cap height, x-height). This means avoiding delta instructions as much as possible. This helps the font developer to make major changes (e.g. the point at which the entire font's main stems jump from 1 to 2 pixels wide) most of the way through development.

Making a very well-hinted TrueType font is still a significant amount of work, despite the increased user-friendliness of programs for adding hints to fonts compared with the early 1990s. Many TrueType fonts therefore have only rudimentary hints, or have hinting automatically applied by the font editor, with variable and results.

Related articles

External links