CHAPTER 2
40
Overview
PDF provides various means for dealing with font management:
•
The original font programs can be embedded in the PDF file, which ensures the
most predictable and dependable results. PDF supports various font formats,
including Type 1, TrueType, OpenType, and CID-keyed fonts.
•
To conserve space, a font subset can be embedded, containing just the glyph
descriptions for those characters that are actually used in the document. Also,
Type 1 fonts can be represented in a special compact format.
•
PDF prescribes a set of 14 standard fonts that can be used without prior defini-
tion. These include four faces each of three Latin text typefaces (Courier,
Helvetica*, and Times*), as well as two symbolic fonts (Symbol and ITC Zapf
Dingbats
®
). These fonts, or suitable substitute fonts with the same metrics, are
required to be available in all PDF consumer applications.
•
A PDF file can refer by name to fonts that are not embedded in the PDF file. In
this case, a PDF consumer can use those fonts if they are available in its envi-
ronment. This approach suffers from the uncertainties noted above.
•
A PDF file contains a
font descriptor
for each font that it uses. The font descrip-
tor includes font metrics and style information, enabling an application to se-
lect or synthesize a suitable substitute font if necessary. Although the glyphs’
shapes differ from those intended, their placement is accurate.
Font management is primarily concerned with producing the correct appearance
of text—that is, the shape and placement of glyphs. However, it is sometimes nec-
essary for a PDF application to extract the meaning of the text, represented in
some standard information encoding such as Unicode. In some cases, this in-
formation can be deduced from the encoding used to represent the text in the
PDF file. Otherwise, the PDF producer application should specify the mapping
explicitly by including a special object, the
ToUnicode
CMap.
2.2.4 Single-Pass File Generation
Because of system limitations and efficiency considerations, it may be necessary
or desirable for an application program to generate a PDF file in a single pass. For
example, the program may have limited memory available or be unable to open
temporary files. For this reason, PDF supports single-pass generation of files.
Although some PDF objects must specify their length in bytes, a mechanism is
provided allowing the length to follow the object in the PDF file. In addition, in-