The PDF Font Aquarium: Timetable 2: Modern Times
The PDF Font Aquarium: 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
1 3
> 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
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
> 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:
13 15
> Acrobat is pretty smart when it comes to text extraction, but it may fail for
certain PDFs
14