Fourteen Type 1 fonts that every PDF reader must be able to show, even when the file doesn’t embed them.
/Type, /Subtype and /BaseFont are enough, because the reader brings the
metrics. PDF 1.5 deprecated that shortcut, and PDF 2.0 requires widths and a font descriptor for every Type 1 font.
The standard 14 are three Latin families of four styles each, plus two symbol fonts. They are Type 1 fonts, referred to by their PostScript names in /BaseFont. The PDF 1.0 manual called them the base 14 fonts. A reader must have them, or at least their metrics and suitable substitutes, so a file can use them without embedding anything.
The fourteen fonts
/BaseFont | Style | Built-in encoding |
|---|---|---|
| Times Serif. The Adobe standard Latin character set. | ||
Times-Roman | Roman | StandardEncoding |
Times-Bold | Bold | StandardEncoding |
Times-Italic | Italic | StandardEncoding |
Times-BoldItalic | Bold italic | StandardEncoding |
| Helvetica Sans serif. The Adobe standard Latin character set. | ||
Helvetica | Regular | StandardEncoding |
Helvetica-Bold | Bold | StandardEncoding |
Helvetica-Oblique | Oblique | StandardEncoding |
Helvetica-BoldOblique | Bold oblique | StandardEncoding |
| Courier Fixed pitch: every glyph is as wide as every other. The Adobe standard Latin character set. | ||
Courier | Regular | StandardEncoding |
Courier-Bold | Bold | StandardEncoding |
Courier-Oblique | Oblique | StandardEncoding |
Courier-BoldOblique | Bold oblique | StandardEncoding |
| Symbol Greek letters, mathematical symbols and arrows. Code 160 (octal), the letter p in ASCII, is π. | ||
Symbol | Regular | Its own (symbolic) |
ZapfDingbats ITC Zapf Dingbats: pictographs, stars, ornaments and circled numbers. Its glyph names (a1, a2 …) carry no meaning. | ||
ZapfDingbats | Regular | Its own (symbolic) |
- Times, Helvetica and Courier use the Adobe standard Latin character set, and their built-in encoding is
StandardEncoding. It has no accented letters such as é, so writers usually give/Encoding /WinAnsiEncodingor/MacRomanEncodinginstead. - Symbol and ZapfDingbats are symbolic fonts with built-in encodings of their own, listed in Appendix D of the PDF 1.4 reference and Annex D of ISO 32000-1. Leave out
/Encodingfor them: the Latin encodings don’t apply to their glyphs.
See Encodings for simple fonts for the predefined encodings and /Differences.
A minimal font dictionary
Up to PDF 1.7, this is all a file needs to set text in Helvetica:
5 0 obj << /Type /Font /Subtype /Type1 /BaseFont /Helvetica /Encoding /WinAnsiEncoding >> endobj 6 0 obj % Symbol: no /Encoding, so its own is used << /Type /Font /Subtype /Type1 /BaseFont /Symbol >> endobj
The page lists both under /Resources, and the content stream picks them with Tf:
BT /F1 12 Tf 72 720 Td (Caf\351) Tj % \351 is é in WinAnsiEncoding /F2 12 Tf (p) Tj % code 160 octal, p, is π in Symbol ET
For PDF 2.0 the Helvetica dictionary also needs /FirstChar, /LastChar, /Widths and an indirect /FontDescriptor, filled in from the font’s metrics, just as for any other Type 1 font.
Entries a reader can do without
Any other Type 1 or TrueType font must list its glyph widths and have a font descriptor. For the standard 14 the reader already knows them, so four entries were optional:
| Versions | /FirstChar, /LastChar, /Widths, /FontDescriptor |
|---|---|
| PDF 1.0–1.4 | /FirstChar, /LastChar, /Widths and /FontDescriptor may be left out, and ordinarily are. They go together: all four or none. Including them, with an embedded font program, overrides the standard font. |
| PDF 1.5–1.7 | Readers must still accept the short form, but the exemption is deprecated: writers should give every font, the standard 14 included, its widths and a complete font descriptor. |
| PDF 2.0 | All four entries are required in every Type 1 font dictionary. Leaving them out is described as a PDF 1.0–1.7 practice, and readers still have to supply the widths and descriptor data when an older file does. |
The other entries are the same as for any Type 1 font: /Encoding and /ToUnicode are optional. Acrobat 3.0 and earlier could ignore an attempt to override a standard font with an embedded one.
Substitution and metrics
When a font dictionary names a standard 14 font without embedding it, the reader draws the glyphs with whatever it has: Adobe’s originals if it carries them, otherwise a substitute font. The glyph widths come from the dictionary’s /Widths if it has them, otherwise from the reader’s own metrics for the font, which Adobe has published as AFM (Adobe Font Metrics) files. Text therefore lands in the same place in every reader, but the shapes can differ.
Fonts outside the 14 that aren’t embedded have no such promise. A reader looks for the /BaseFont name on its system and, failing that, picks or fakes a similar font from the font descriptor: its flags, italic angle, stem width and heights. The PDF 1.4 reference describes Acrobat doing this with multiple master fonts, using the glyph widths from the font dictionary. That only worked for fonts using the Adobe standard Latin character set; other fonts had to be embedded, apart from Symbol and ZapfDingbats, which Acrobat assumed present.
Why embed them anyway
- Appearance. Without the font program, each reader shows its own version of the font. Embedding is the only way to know exactly what the page looks like.
- Coverage. The three Latin families have only the Adobe standard Latin character set, and a simple font reaches at most 256 glyphs at once. Text in other scripts needs another font.
- The specifications. PDF 1.5 deprecated the exemption. PDF 2.0 requires the widths and descriptor, and says font programs should be embedded for all text except text in rendering mode 3, which is invisible.
- PDF/A and PDF/X. The archiving (ISO 19005) and print exchange (ISO 15930) profiles of PDF require every font used to draw text to be embedded, the standard 14 included.
Alias names
The PDF 1.4 reference lists other names Acrobat accepted for the standard fonts, in its implementation notes. In each group the standard name is the right one; the others, such as Arial for Helvetica, are alternatives. The comma forms, such as Arial,Bold, follow the PDF 1.4 convention for TrueType fonts whose bold or italic style the operating system synthesized. The same note says Acrobat 4.0 and earlier wrongly let these substitute names skip /FirstChar, /LastChar, /Widths and /FontDescriptor, so only the 14 standard names get the exemption. ISO 32000-1 and ISO 32000-2 don’t list the aliases at all: write the standard names.
| Standard name | Also accepted by Acrobat |
|---|---|
Times-Roman | TimesNewRomanTimesNewRomanPSTimesNewRomanPSMT |
Times-Bold | TimesNewRoman-BoldTimesNewRoman,BoldTimesNewRomanPS-BoldTimesNewRomanPS-BoldMT |
Times-Italic | TimesNewRoman-ItalicTimesNewRoman,ItalicTimesNewRomanPS-ItalicTimesNewRomanPS-ItalicMT |
Times-BoldItalic | TimesNewRoman-BoldItalicTimesNewRoman,BoldItalicTimesNewRomanPS-BoldItalicTimesNewRomanPS-BoldItalicMT |
Helvetica | ArialArialMT |
Helvetica-Bold | Helvetica,BoldArial-BoldArial,BoldArial-BoldMT |
Helvetica-Oblique | Helvetica-ItalicHelvetica,ItalicArial-ItalicArial,ItalicArial-ItalicMT |
Helvetica-BoldOblique | Helvetica-BoldItalicHelvetica,BoldItalicArial-BoldItalicArial,BoldItalicArial-BoldItalicMT |
Courier | CourierNewCourierNewPSMT |
Courier-Bold | Courier,BoldCourierNew-BoldCourierNew,BoldCourierNewPS-BoldMT |
Courier-Oblique | Courier,ItalicCourierNew-ItalicCourierNew,ItalicCourierNewPS-ItalicMT |
Courier-BoldOblique | Courier,BoldItalicCourierNew-BoldItalicCourierNew,BoldItalicCourierNewPS-BoldItalicMT |
Symbol and ZapfDingbats have no alternative names.
Checked against §5.5.1, §5.5.5, Appendix D and Appendix H (implementation notes 43, 44 and 50, Table H.3) of the Adobe PDF Reference, third edition (PDF 1.4); §9.6.2.2, Table 111 and Annex D of ISO 32000-1:2008 (PDF 1.7); §9.6.2.2, Table 109 and §9.9.1 of ISO 32000-2:2020 (PDF 2.0); and the PDF 1.0 manual for the base 14 fonts. The PDF/A and PDF/X point comes from those standards, not from the three specifications.