Timetable 2: modern Times
The PDF Font Aquarium > 1993: Acrobat 1.0 (PDF 1.0) supports Type 1, Type 3, and TrueType fonts
> 1995: Adobe ships PostScript CID fonts and CMaps for Asian text
Thomas Merz
> 1996: Adobe and Microsoft jointly announce the OpenType font format
PDFlib GmbH
> 1996: Acrobat 3 (PDF 1.2) improves Unicode support with ToUnicode CMap
München, Germany
www.pdflib.com > 2000: Windows 2000 supports OpenType and Type 1 fonts (but not MM!)
> 2001: Mac OS X supports OpenType and Type 1 (but not MM!)
> 2001: Acrobat 5 (PDF 1.4): Tagged PDFs are fully Unicode-compliant
> 2003: Adobe and other font foundries ship thousands of OpenType fonts
> 2003: Unicode 4.0
Bethesda (MD), June 2003
1 3
Timetable 1: prehistoric Era PostScript Type 1 Fonts
> 1985: Adobe publishes the PostScript and Type 3 specification > Developed by Adobe and part of all PostScript versions
> 1986: Adobe starts distribution of Type 1 fonts (proprietary format) > Glyphs are identified by name; glyph names are arranged into encoding vector
> 1987: Apples starts work on the TrueType font format > 8-bit addressing: a maximum of 256 glyphs can be used at a time
> 1990: Adobe publishes ATM for Mac and the Type 1 font format specification > Fonts may contain an arbitrary number of glyphs
> 1991: Unicode 1.0 > Historic relicts in the font and file format:
– multiple layers of encryption in order to obscure the inner workings
> 1991: Apple supports TrueType fonts in System 6 – ASCII wrapper for the actual font data
– syntactic restrictions because of PostScript and ATM requirements
> 1992: Adobe ships Type 1 Multiple Master (MM) fonts
> Deploying Type 1 Fonts
> 1992: Microsoft supports TrueType fonts in Windows 3.1 – Adobe Type Manager ATM
– Windows 2000/XP, Mac OS X
> 1993: Adobe publishes the Type 42 font format for wrapping TrueType font data
– Acrobat 1 (PDF 1.0) and above
in PostScript
> Type 1 fonts have a very high reputation, and are the publishing workhorse still
> 1993: Windows NT 3.5 converts Type 1 fonts to TrueType (sort of...)
today
2 4
TrueType Fonts CID Fonts
> Developed by Microsoft and Apple > CID fonts are initially targeted at Chinese, Japanese, and Korean (CJK) text
– CJK languages contain thousands of characters
> Thousands of glyphs can be used at a time – character collections summarize all required characters for a region
– CID (Character Identifier) are used to address these characters
> Metrics information contained in the font file (no additional metrics file) – CMap (character maps) defines the mapping of CID for various encodings
> Deploying TrueType Fonts: > CMaps provide for highly flexible mapping of characters
– Windows 3.1 and above
– Mac OS System 6 and above > CID fonts are no longer restricted to CJK text
– Acrobat 1 (PDF 1.0) and above – fully supported in Acrobat 3 (PDF 1.2) and other applications
– modern PDF creators generate PDF output with CID fonts
> TrueType fonts had a touch of low-quality and office use, but are increasingly
used in publishing, too > CID fonts in PDF are usually the result of converted fonts:
– CIDFontType0 (»Type 1 CID«): result of CID PostScript fonts and OpenType
fonts with PostScript outlines
– CIDFontType2 (»TrueType CID«): result of TrueType fonts and OpenType fonts
with TrueType outlines
5 7
OpenType Fonts Font Embedding
> Finally the holy grail of font formats... > Embedding includes the font data in the PDF file for viewing and printing
– unites TrueType and PostScript outline descriptions
– unites Mac and Windows file formats > All font formats can be embedded in PDF, but some are converted
– unites font outline and metrics data
> Embedding increases the PDF file size
> OpenType is based on the TrueType file format (*.ttf), but adds:
– support for Type 1 outlines (*.otf) > TrueType, OpenType, and CID fonts may contain a flag which controls
– extended typographic features (e.g. ligatures and small caps) embedding
– some versions of Fontographer generate undefined embedding flag
> Deploying OpenType Fonts (full support; ttf flavor supported earlier): – many fonts specify embedding restrictions although the designer didn’t
– Windows 2000 and above mean it
– Mac OS X and above – handling of embedding flag relaxed from Distiller 4.0 to 4.05
– Acrobat 3 (PDF 1.2) and above
– Adobe Applications really take advantage of the new font features > Embedding ensures proper text display, and should be avoided only for good
reasons (trading quality for small file size)
> OpenType will be the font format of the next decades:
– supported by major vendors and systems
– full Unicode support
– extended typographic features
6 8
Font Embedding Font Substitution
> Embedding depends on various factors: > Acrobat tries to substitute required fonts which are not embedded
– Distiller settings controlled by the user – Font descriptor describes the missing font
– embedding flag in the font – Latin characters: Multiple Master fonts AdobeSansMM and AdobeSerifMM
– character set and encoding simulate missing fonts
– Acrobat 3.0.1 and above: CJK text with standard character collections (using
> Distiller ignores embedding settings in several situations where successful font the standard CJK fonts from the Asian font pack)
substitution cannot be guaranteed:
– Type 1 Symbol fonts > Compare original and substitute fonts via View, Use Local Fonts
– Type 1 fonts with less than 115 or more than 229 characters
– Type 3 fonts will always be embedded > The following can not be displayed unless they are installed on the system:
– CID fonts with an unknown character collections – symbol (pi) fonts
– TrueType and OpenType fonts with certain encoding schemes – text fonts with characters outside the Adobe standard Latin character set
(e.g. some Polish characters)
– CJK fonts with non-standard character collections (very rare, though)
> Problems:
– limited character set in substitution fonts: some characters work, some don’t
– some text fonts are encoded as symbol fonts, and cannot be substituted
9 11
Font Subsetting PDF Core Fonts (Base 14)
> Subsetting embeds only those characters which are actually used in a > Core fonts as defined in the PDF reference are guaranteed to be always present,
document; advantages: and need not be embedded in the PDF file:
– reduce file size – Courier, Courier-Bold, Courier-Oblique, Courier-BoldOblique
– make it harder to pirate the font – Helvetica, Helvetica-Bold, Helvetica-Oblique, Helvetica-BoldOblique
– Times-Roman, Times-Bold, Times-Italic, Times-BoldItalic
> Subset fonts have a prefix of six random characters in their name – Symbol
– ZapfDingbats
> Subsetting of Latin Type 1 fonts can be controlled via the Distiller UI
> The actual appearance may vary from one instance of Helvetica to another
> Distiller ignores subsetting controls, and always embeds a subset in various
situations: > In Acrobat 4 and above core fonts may be embedded in PDF, and are allowed to
– Non-Latin Type 1 fonts override the standard core font metrics (important for prepress)
– TrueType and OpenType fonts
> Subsetting can happen earlier in the process, e.g. in the printer driver
10 12
The Core Font Mess Q&A
> Alternate names are allowed, and occur (excerpt for Helvetica-Oblique):
– Helvetica-Italic = Helvetica,Italic = Arial-Italic = Arial,Italic, Arial-ItalicMT
– Acrobat maps these names accordingly
– PDFWriter is notorious for creating PDF with alternate core font names
> Acrobat versions ship with different core font sets and map these:
1, 2, 3 Courier Helvetica Times-Roman Symbol ZapfDingbats
4, 5 Courier ArialMT TimesNew- Symbol ZapfDingbats
RomanPSMT
6 CourierStd – – – AdobePiStd
> Implications of the modified Acrobat 6 core font set
– Helvetica and Times are no longer available in the Acrobat installation
– text display in these fonts is subject to font availability on the system
– should better embed these in order to avoid problems
– CourierStd contains 374 glyphs, many more than in previous versions
13 15
Acrobat does a good Text Extraction Job
> Takes into account all available information
– encodings and CMaps
– Unicode mapping tables
– decomposes ligatures into individual characters
– OpenType font information about stylistic glyph variants (GPOS table
inversion)
> Acrobat is pretty smart when it comes to text extraction, but it may fail for
certain PDFs
14