Table 122 – Entries common to all font descriptors

Key

Type

Value

Type

name

(Required) The type of PDF object that this dictionary describes; shall be FontDescriptor for a font descriptor.

FontName

name

(Required) The PostScript name of the font. This name shall be the same as the value of BaseFont in the font or CIDFont dictionary that refers to this font descriptor.

FontFamily

byte string

(Optional; PDF 1.5; should be used for Type 3 fonts in Tagged PDF documents) A byte string specifying the preferred font family name.

EXAMPLE 1 For the font Times Bold Italic, the FontFamily is Times.

FontStretch

name

(Optional; PDF 1.5; should be used for Type 3 fonts in Tagged PDF documents) The font stretch value. It shall be one of these names (ordered from narrowest to widest): UltraCondensed, ExtraCondensed, Condensed, SemiCondensed, Normal, SemiExpanded, Expanded, ExtraExpanded or UltraExpanded.

The specific interpretation of these values varies from font to font.

EXAMPLE 2Condensed in one font may appear most similar to Normal in another.

FontWeight

number

(Optional; PDF 1.5; should be used for Type 3 fonts in Tagged PDF documents) The weight (thickness) component of the fully-qualified font name or font specifier. The possible values shall be 100, 200, 300, 400, 500, 600, 700, 800, or 900, where each number indicates a weight that is at least as dark as its predecessor. A value of 400 shall indicate a normal weight; 700 shall indicate bold.

The specific interpretation of these values varies from font to font.

EXAMPLE 3 300 in one font may appear most similar to 500 in another.

Flags

integer

(Required) A collection of flags defining various characteristics of the font (see 9.8.2, "Font Descriptor Flags" ).

FontBBox

rectangle

(Required, except for Type 3 fonts) A rectangle (see 7.9.5, "Rectangles" ), expressed in the glyph coordinate system, that shall specify the font bounding box. This should be the smallest rectangle enclosing the shape that would result if all of the glyphs of the font were placed with their origins coincident and then filled.

ItalicAngle

number

(Required) The angle, expressed in degrees counterclockwise from the vertical, of the dominant vertical strokes of the font.

EXAMPLE 4 The 9-o’clock position is 90 degrees, and the 3-o’clock position is –90 degrees.

The value shall be negative for fonts that slope to the right, as almost all italic fonts do.

Ascent

number

(Required, except for Type 3 fonts) The maximum height above the baseline reached by glyphs in this font. The height of glyphs for accented characters shall be excluded.

Descent

number

(Required, except for Type 3 fonts) The maximum depth below the baseline reached by glyphs in this font. The value shall be a negative number.

Leading

number

(Optional) The spacing between baselines of consecutive lines of text. Default value: 0.

CapHeight

number

(Required for fonts that have Latin characters, except for Type 3 fonts)The vertical coordinate of the top of flat capital letters, measured from the baseline.

XHeight

number

(Optional) The font’s x height: the vertical coordinate of the top of flat nonascending lowercase letters (like the letter x), measured from the baseline, in fonts that have Latin characters. Default value: 0.

StemV

number

(Required, except for Type 3 fonts) The thickness, measured horizontally, of the dominant vertical stems of glyphs in the font.

StemH

number

(Optional) The thickness, measured vertically, of the dominant horizontal stems of glyphs in the font. Default value: 0.

AvgWidth

number

(Optional) The average width of glyphs in the font. Default value: 0.

MaxWidth

number

(Optional) The maximum width of glyphs in the font. Default value: 0.

MissingWidth

number

(Optional) The width to use for character codes whose widths are not specified in a font dictionary’s Widths array. This shall have a predictable effect only if all such codes map to glyphs whose actual widths are the same as the value of the MissingWidth entry. Default value: 0.

FontFile

stream

(Optional) A stream containing a Type 1 font program (see 9.9, "Embedded Font Programs" ).

FontFile2

stream

(Optional; PDF 1.1) A stream containing a TrueType font program (see 9.9, "Embedded Font Programs" ).

FontFile3

stream

(Optional; PDF 1.2) A stream containing a font program whose format is specified by the Subtype entry in the stream dictionary (see Table 126 ).

CharSet

ASCII string or byte string

(Optional; meaningful only in Type 1 fonts; PDF 1.1) A string listing the character names defined in a font subset. The names in this string shall be in PDF syntax—that is, each name preceded by a slash (/). The names may appear in any order. The name . notdef shall be omitted; it shall exist in the font subset. If this entry is absent, the only indication of a font subset shall be the subset tag in the FontNameentry (see 9.6.4, "Font Subsets" ).