O'Reilly logo

Fonts & Encodings by Yannis Haralambous

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

D.3. General Overview of TrueType Tables

The tables of a TrueType, OpenType, or AAT font are identified by a tag, which must be a string of four ASCII characters (possibly including spaces, but only at the end of the string). Tags that are entirely in lowercase are the private hunting ground of Apple. It was doubtless in response to that that the OpenType-specific tables, as we shall see, use tags consisting of uppercase letters only.

There are some tables that are required in every TrueType font, therefore also in OpenType and AAT fonts:

  • cmap (mapping between characters and glyphs, §D.4.2).

  • head (header, §D.4.3).

  • hhea (header for the horizontal metrics, §D.4.4).

  • hmtx (horizontal metrics, §D.4.4).

  • maxp (maximum profile, §D.4.5).

  • name (table of names, §D.4.6).

  • OS/2 (information related to OS/2 and Windows, §D.4.7). Microsoft considers it mandatory, but Apple does not.

  • post (information that is useful when the font is used in a PostScript environment, §D.4.8).

Next, everything depends on whether the glyph descriptions are written in TrueType or in PostScript. In the first case, there are five other tables that must not be missing:

  • cvt (table of control values, §D.5.3)

  • fpgm (font program, §D.5.3)

  • glyf (glyph descriptions, §D.5.2)

  • loca (pointers to the glyph descriptions, §D.5.1)

  • prep (program of control values, §D.5.3)

In the second case, which is the one seen in Appendix C, §C.8, where the OpenType font contains a PostScript CFF font with Type 2 charstrings, there are two required tables: ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required