PostScript, TrueType and OpenType:
Curves and Outlines

Today there are several types of outline fonts available for PC's. Outlines (the curves that form characters) are stored as a series of points, using one of two methods to mathematically describe their shape. We can say that fonts either have PostScript outlines or TrueType outlines. This article briefly describes the difference between the two, and the implications for font creation and editing.

1. Types of outline fonts

TrueType
extension: .ttf
TrueType outlines

Type 1
extension: .pfb & .pfm
PostScript outlines.

OpenType (TT)
extension: .ttf
TrueType outlines.
Actually identical to TrueType fonts, but may contain extra OpenType information.

OpenType (PS)
extension: .otf
PostScript outlines.
Essentially Type 1 fonts wrapped in a TrueType file structure.

Abode's intention is that Type 1 fonts be eventually phased out and replaced by OpenType PS fonts.1 OpenType was jointly developed by Microsoft and Adobe to unify the earlier formats.

2. TrueType and PostScript outlines

Outlines in a font are described by a series of points. To describe a straight line, you only need to specify the co-ordinates of the two end points, but to specify a curve, you need some extra points in between. A mathematical equation called a bezier curve is used.

Allan Murray Fig. 1a A curve described by two end points and two off-curve points. This is a quadratic bezier, or TrueType outline.
Fig. 1b The same curve with three nodes and their control points. This is a cubic bezier, or PostScript outline.

In fact, quadratic beziers are a subset of cubic beziers, so any TrueType curve can be converted exactly to a PostScript one (like in Figure 1). Conversion in the other direction is not so simple, and it may require several quadratic curves to approximate a particular cubic bezier.2

Allan Murray
Fig. 2a shows a circular curve represented by a PostScript outline.

Fig. 2b, the equivalent TrueType outline, requires many more points and is only a near approximation to the original curve.


So conversion of TrueType fonts to PostScript ones is an exact science (aside from other factors such as scale and hinting), but conversion of PostScript fonts to TrueType is only a close approximation. The irony is that most commercial TrueType fonts have been designed as PostScript curves, and then converted to TrueType.

Because PostScript curves are a superset of TrueType, a greater range of curves can be drawn with fewer points, making design much easier. So the cubic bezier, with its nodes and control points, is the design industry's drawing standard.

3. Font editors

Most font editors, however, allow both options:
1. Drawing PostScript outlines with nodes and control points (industry standard)
2. Drawing TrueType outlines with on-curve and off-curve points.

FontLab Ltd range of font editors
Opens: TrueType, Type 1, OpenType TT, OpenType PS
Saves: TrueType, Type 1, OpenType TT, OpenType PS
Drawing method: Choice of drawing with PostScript or TrueType outlines.

FontCreator (High-Logic)
Opens: TrueType, OpenType TT, OpenType PS
Saves: TrueType, OpenType TT only
Drawing method: TrueType outlines only. Opentype PS fonts are converted to TrueType outlines before editing.

Type 3.2
Opens: TrueType, OpenType TT, OpenType PS
Saves: TrueType, OpenType TT, OpenType PS
Drawing method: Choice of drawing with PostScript or TrueType outlines.
An additional 'pseudo' PostScript drawing mode for TrueType curves (restricts curves to ones that can be converted exactly to TrueType).

References:
1. http://blogs.adobe.com/typblography/2005/10/phasing_out_typ.html
2. http://pfaedit.sourceforge.net/bezier.html

To post a comment email: allanmurray@cr8software.net