### PostScript, TrueType and OpenType:

Curves and Outlines

By Allan Murray | Posted September 08, 2007

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.

**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

**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