CHAPTER 5
412
Text
Most font programs (and related programs, such as CIDFonts and CMaps) con-
form to external specifications, such as the
Adobe Type 1 Font Format.
This book
does not include those specifications. See the Bibliography for more information
about the specifications mentioned in this chapter.
The most predictable and dependable results are produced when all font
programs used to show text are embedded in the PDF file. The following sections
describe precisely how to do so. If a PDF file refers to font programs that are not
embedded, the results depend on the availability of fonts in the consumer appli-
cation’s environment. The following sections specify some conventions for refer-
ring to external font programs. However, some details of font naming, font
substitution, and glyph selection are implementation-dependent and may vary
among different applications and operating system environments.
5.5 Simple Fonts
There are several types of simple fonts, all of which have the following properties:
•
Glyphs in the font are selected by single-byte character codes obtained from a
string that is shown by the text-showing operators. Logically, these codes index
into a table of 256 glyphs; the mapping from codes to glyphs is called the font’s
encoding.
Each font program has a built-in encoding. Under some circum-
stances, the encoding can be altered by means described in Section 5.5.5,
•
Each glyph has a single set of metrics, including a horizontal displacement or
width, as described in Section 5.1.3, “Glyph Positioning and Metrics;” that is,
simple fonts support only horizontal writing mode.
•
Except for Type 0 fonts, Type 3 fonts in non-Tagged PDF documents, and cer-
tain standard Type 1 fonts, every font dictionary contains a subsidiary dictio-
nary, the
font descriptor,
containing font-wide metrics and other attributes of
the font; see Section 5.7, “Font Descriptors.” Among those attributes is an op-
tional
font file
stream containing the font program.
5.5.1 Type 1 Fonts
A Type 1 font program is a stylized PostScript program that describes glyph
shapes. It uses a compact encoding for the glyph descriptions, and it includes hint
information that enables high-quality rendering even at small sizes and low reso-