Previous Next


                                        429
SECTION 5.5                                                             Simple Fonts



posed of words, such as three, ampersand, or parenleft. A Type 1 font’s built-in
encoding is defined by an Encoding array that is part of the font program, not to
be confused with the Encoding entry in the PDF font dictionary.

An Encoding entry can alter a Type 1 font’s mapping from character codes to
character names. The Differences array can map a code to the name of any glyph
description that exists in the font program, regardless of whether that glyph is ref-
erenced by the font’s built-in encoding or by the encoding specified in the
BaseEncoding entry.

All Type 1 font programs contain an actual glyph named . notdef. The effect pro-
duced by showing the . notdef glyph is at the discretion of the font designer; in
Type 1 font programs produced by Adobe, it is the same as the space character. If
an encoding maps to a character name that does not exist in the Type 1 font pro-
gram, the . notdef glyph is substituted.


Encodings for Type 3 Fonts

A Type 3 font, like a Type 1 font, contains glyph descriptions that are keyed by
character names; in this case, they appear as explicit keys in the font’s CharProcs
dictionary. A Type 3 font’s mapping from character codes to character names is
entirely defined by its Encoding entry, which is required in this case.


Encodings for TrueType Fonts

A TrueType font program’s built-in encoding maps directly from character codes
to glyph descriptions by means of an internal data structure called a “cmap” (not
to be confused with the CMap described in Section 5.6.4, “CMaps”). This section
describes how the PDF font dictionary’s Encoding entry is used in conjunction
with a “cmap” to map from a character code in a string to a glyph description in a
TrueType font program.

A “cmap” table may contain one or more subtables that represent multiple encod-
ings intended for use on different platforms (such as Mac OS and Windows).
Each subtable is identified by the two numbers, such as (3, 1), that represent a
combination of a platform ID and a platform-specific encoding ID, respectively.

Glyph names are not mandatory in TrueType fonts, although some font programs
have an optional “post” table listing glyph names for the glyphs. If the consumer

Previous Next