TrueType

TrueType
Filename extension .ttf & .tte (for EUDC usage)
Type code tfil
Uniform Type Identifier public.truetype-ttf-font
Developed by Apple Computer
Type of format outline font

TrueType is an outline font standard originally developed by Apple Computer in the late 1980s as a competitor to Adobe's Type 1 fonts used in PostScript. TrueType has become the most common format for fonts on both the Mac OS and Microsoft Windows operating systems.

The primary strength of TrueType was originally that it offered font developers a high degree of control over precisely how their fonts are displayed, right down to particular pixels, at various font sizes. With widely varying rendering technologies in use today, pixel-level control is no longer certain in a TrueType font.

Contents

History

Apple

On the Macintosh, fonts were originally stored in hand-tuned bitmap font files that specified individual pixel locations for a font at a particular size. If the user wanted to see a font at another size, the Font Manager would find the closest match and apply a basic scaling algorithm. When scaled to large sizes the algorithm was of limited use, with the output becoming blocky.

In contrast, printer fonts for the popular Apple LaserWriter were based on PostScript Type 1 outlines, resulting in excellent output at all printer sizes, but failing on the 72 dot per inch Mac screens. Here Adobe provided hand tune bitmaps to cover the small screen fonts, and ugly scaling of any other size on the screen was also provided. Outline fonts have a set of drawing instructions for lines and curves to create a shape for each character (a "glyph"). By following the drawing instructions, the computer creates an "outline" shape at a specific size, and then "fills" it with ink. But this only works down so small, and then Adobe secretly included hints to reach around 18 point. Below this size in the Mac Postscript could not provide on the fly quality outline font scaling.

In an effort to correct this, Sampo Kaasila at Apple decided to write an entirely new format, which he worked on under the name Bass (because it was a scalable font format, and you can scale a fish, and perhaps as in Bass-o-matic 76 from the Saturday Night Live sketch)[1] and later Royal. In addition, Apple at this time invented an extensible font format the "sfnt" where different parts of the font could be stored in a single file, contrary to PostScript fonts, where bitmaps, metrics data and kerning, and the actual outline font, were in different files.

The system was developed and eventually released as TrueType with the launch of Mac OS System 7 in May 1991. The initial Truetype outline fonts, four-weight families of Times Roman, Helvetica, Courier, and the Pi font replicated the original PostScript fonts of the Apple LaserWriter. Apple also replaced some of their bitmap fonts used by the graphical user interface of previous Macintosh System versions, including, Geneva, Monaco and New York, with scalable Truetype outline fonts. For compatibility with older systems, Apple shipped these fonts, a TrueType Extension and a TrueType-aware version of Font/DA Mover for System Software 6. For compatibility with the Laserwriter II, Apple developed fonts like ITC Bookman and ITC Chancery in Truetype format.

All of these fonts could now scale to all sizes on screen and printer, making the Macintosh OS7 the first to work without any bitmap fonts. The early TrueType systems being still part of Apple's QuickDraw graphics subsystem, did not render Type 1 fonts on-screen as they do today. At the time, many users had already invested considerable money in Adobe's still proprietary Type 1 fonts. As part of Apple's tactic of opening the font format versus Adobe's desire to keep it closed to all but Adobe licensees, Apple licensed TrueType to Microsoft. When TrueType and the license to Microsoft was announced, John Warnock of Adobe gave an impassioned speech in which he claimed Apple and Microsoft were selling snake oil, and then announced that the Type 1 format was open for anyone to use.

Meanwhile, in exchange for Truetype, Apple got a license for TrueImage, a PostScript-compatible page description language owned by Microsoft that Apple could use in their laser printers.This was never actually included in any Apple products when a later deal was struck between Apple and Adobe, where Adobe promised to put a TrueType interpreter in their PostScript printer boards, Apple renewed its agreements with Adobe for the use of PostScript in its printers; resulting in lower royalty payments to Adobe who was beginning to license printer controllers capable of competing directly with Apple's LaserWriter printers.

Part of Adobe's response to learning that TrueType was being developed was to create the Adobe Type Manager software to scale Type 1 fonts for anti-aliased output on-screen. Although ATM initially cost money, rather than coming free with the operating system, it became a de facto standard for anyone involved in desktop publishing. Anti-aliased rendering, combined with Adobe applications ability to zoom in to read small type, further combined with the now open PostScript Type 1 font format, provided the impetus for an explosion in font design, and desktop publishing of newspapers and magazines.

Apple extended TrueType with the launch of TrueType GX in 1994, with additional tables in the sfnt that was part of QuickDraw GX. This offered powerful extensions in two main areas. First was font axes (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 Line Layout Manager 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 Mac OS X. Few font developers outside Apple attempt to make AAT fonts; instead, OpenType has become the dominant sfnt format despite its lack of support for axes or multiple masters.

Adoption by Microsoft

To ensure its wide adoption, Apple licensed TrueType to Microsoft for free[2] . By 1991 Microsoft added TrueType into the Windows 3.1 operating system. In partnership with their contractors, Monotype Corporation, Microsoft spent much effort creating a set of high quality TrueType fonts that were compatible with the core 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 Courier). One should understand "compatible" to mean two things: first, that the fonts are similar in appearance, and second — and very importantly — the fonts have the same character widths, and so can be used to typeset the same documents without reflowing the text.

Microsoft and Monotype technicians used TrueType's hinting technology to ensure that these fonts did not suffer from the problem of illegibility at low resolutions, which had previously forced the use of bitmapped fonts for screen display. Subsequent advances in technology have introduced first anti-aliasing, which smooths the edges of fonts at the expense of a slight blurring, and more recently subpixel rendering (the Microsoft implementation goes by the name ClearType), which exploits the pixel structure of LCD based displays to increase the apparent resolution of text. Microsoft has heavily marketed ClearType, and sub-pixel rendering techniques for text are now widely used on all platforms.

Microsoft also developed a "smart font" technology, named TrueType Open in 1994, later renamed to OpenType in 1996 when it merged support of the Adobe Type 1 glyph outlines.

TrueType today

Macintosh and Windows

TrueType has long been the most common format for fonts on both Mac OS and Windows, although both also include native support for Adobe's Type 1 format and the OpenType extension to TrueType (since Mac OS X 10.0 and Windows 2000). While some fonts provided with the new operating systems are now in the OpenType format, most free or inexpensive third-party fonts use plain TrueType.

Increasing resolutions and new approaches to screen rendering have reduced the requirement of extensive TrueType hinting. Apple's rendering approach on Mac OS X ignores almost all the hints in a TrueType font, while Microsoft's ClearType ignores many hints, and according to Microsoft, works best with "lightly hinted" fonts.

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 in FreeType 2). FreeType is included in many Linux distributions.

There were potential patent infringements 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 published by a major standards body such as ISO are required to disclose the scope of their patents, but TrueType was not such a standard.) FreeType 2 includes an automatic hinter that analyzes glyph shapes and attempts to generate hints automatically, thus avoiding the patented technology.[3] The automatic hinter generally improves the appearance of free or cheap fonts, for which hinting is often either nonexistent or automatically generated, but it can degrade the appearance of professional hand-hinted fonts, and does not work well (or at all) for non-Western text that requires a different approach to hinting. As a result, some users chose to enable the patented hinting technology. As of May 2010, all patents related to bytecode hinting have expired worldwide, so FreeType 2.4 now enables these features by default.

Technical notes

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 mathematically simpler and faster to process than cubic Bézier curves, which are used both in the PostScript-centered world of graphic design and in Type 1 fonts. However, most shapes require more points to describe with quadratic curves than cubics. This difference also means that it is not possible to convert Type 1 losslessly to the TrueType format, although in practice it is often possible to do a lossless conversion from TrueType to Type 1.[4][5]

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) at which the glyph is to be displayed, 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 language 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.

The hallmark of effective TrueType glyph programming techniques is that it does 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.

Creating a very well-hinted TrueType font remains a significant amount of work, despite the increased user-friendliness of programs for adding hints to fonts. Many TrueType fonts therefore have only rudimentary hints, or have hinting automatically applied by the font editor, with variable end results.

Embedding protection

The TrueType format allows for the most basic type of digital rights management – an embeddable flag that specifies if author allows embedding of the font file into things like PDF files and websites. Simple tools exist to modify this flag.[6][7] These tools have been the subject of controversy over potential copyright issues.[8][9]

Font formats

TrueType Collection

TrueType Collection (TTC) is an extension of TrueType format that allows combining multiple fonts into a single file, creating substantial space savings for collection of fonts that only use different glyphs on some characters. They were first available in Chinese, Japanese, and Korean versions of Windows, and supported for all regions in Windows 2000 and later.

Mac OS included support of TTC starting with Mac OS 8.5. In Mac OS, TTC has file type ttcf.

File Formats

Basic

A basic font is composed of multiple tables specified in its header. A table name can have up to 4 letters.

A TrueType Collection file begins with a ttcf table that allows access to the fonts within the collection by pointing to individual headers for each included font. The fonts within a collection share the same glyph-outline table, though each font can refer to subsets within those outlines in its own manner, through its 'cmap', 'name' and 'loca' tables.

A .ttf extension indicates a regular TrueType font, or an OpenType font with TrueType outlines, while a .ttc extension is reserved for TTCs. An OpenType font with PostScript outlines must have an .otf extension. In principle an OpenType font with TrueType outlines may have an .otf extension, but this has rarely been done in practice.

In Mac OS, OpenType is one of several formats referred to as data-fork fonts, as they lack the classic Mac resource fork.

Suitcase

The suitcase format for TrueType is used on Mac OS. It adds additional Apple-specific information.

Like TTC, it can handle multiple fonts within a single file. But unlike TTC, those fonts need not be within the same family.

Suitcases come in resource-fork and data-fork formats. The resource-fork version was the original suitcase format. Data-fork-only suitcases, which place the resource fork contents into the data fork, were first supported in Mac OS X. A suitcase packed into the data-fork-only format has the extension dfont.

PostScript

In the PostScript language, TrueType outlines are handled with a PostScript wrapper as Type 42 for name-keyed, or Type 11 for CID-keyed fonts.

See also

References

External links