### ----------------------------------------------------
### -- PDF::ISO_32000_2
### -- Licenses: Artistic-2.0
### -- Authors: David Warring
### -- File: resources/ISO_32000_2/Table_110-Entries_in_a_Type_3_font_dictionary.json
### ----------------------------------------------------
{
  "table": {
    "caption": "Table 110 — Entries in a Type 3 font dictionary",
    "head": [
      "Key",
      "Type",
      "Value"
    ],
    "rows": [
      [
        "Type",
        "name",
        "(Required) The type of PDF object that this dictionary describes; is Font for a font dictionary."
      ],
      [
        "Subtype",
        "name",
        "(Required) The type of font; is Type3 for a Type 3 font."
      ],
      [
        "Name",
        "name",
        "(Required in PDF 1.0; optional otherwise) See \"Table 109 — Entries in a Type 1 font dictionary\"."
      ],
      [
        "FontBBox",
        "rectangle",
        "(Required) A rectangle (see 7.9.5, \"Rectangles\") expressed in the glyph coordinate system, specifying the font bounding box. This is the smallest rectangle enclosing all marks that would result if all of the glyphs of the font were placed with their origins coincident and their descriptions executed.\nIf all four elements of the rectangle are zero, a PDF processor makes no assumptions about glyph sizes based on the font bounding box. If any element is non-zero, the font bounding box is accurate. If any glyph’s marks fall outside this bounding box, behaviour is implementation dependent and may not match the creator’s expectations."
      ],
      [
        "FontMatrix",
        "array",
        "(Required) An array of six numbers specifying the font matrix, mapping glyph space to text space (see 9.2.4, \"Glyph positioning and metrics\").\nNOTE A common practice is to define glyphs in terms of a 1000-unit glyph coordinate system, in which case the font matrix is [0.001 0 0 0.001 0 0]."
      ],
      [
        "CharProcs",
        "dictionary",
        "(Required) A dictionary in which each key is a glyph name and the value associated with that key is a content stream that constructs and paints the glyph for that character. The stream includes as its first operator either d0 or d1, followed by operators describing one or more graphics objects. See below for more details about Type 3 glyph descriptions."
      ],
      [
        "Encoding",
        "dictionary",
        "(Required) An encoding dictionary whose Differences array specifies the complete character encoding for this font (see 9.6.5, \"Character encoding\")."
      ],
      [
        "FirstChar",
        "integer",
        "(Required) The first character code defined in the font’s Widths array."
      ],
      [
        "LastChar",
        "integer",
        "(Required) The last character code defined in the font’s Widths array."
      ],
      [
        "Widths",
        "array",
        "(Required; is an indirect reference) An array of (LastChar - FirstChar + 1) numbers, each element being the glyph width for the character code that equals FirstChar plus the array index. For character codes outside the range FirstChar to LastChar, the width is 0. These widths is interpreted in glyph space as specified by FontMatrix (unlike the widths of a Type 1 font, which are in thousandths of a unit of text space).\nIf FontMatrix specifies a rotation, only the horizontal component of the transformed width is used. That is, the resulting displacement is horizontal in text space, as is the case for all simple fonts."
      ],
      [
        "FontDescriptor",
        "dictionary",
        "(Required in Tagged PDF documents; is an indirect reference) A font descriptor describing the font’s default metrics other than its glyph widths (see 9.8, \"Font descriptors\").\nNOTE (2020) The conditions for when the FontDescriptor key is required were corrected in this document to match ISO 32000-1:2008."
      ],
      [
        "Resources",
        "dictionary",
        "(Optional but is used; PDF 1.2) A list of the named resources, such as fonts and images, required by the glyph descriptions in this font (see 7.8.3, \"Resource dictionaries\"). If any glyph descriptions refer to named resources but this dictionary is absent, the names is looked up in the resource dictionary of the page on which the font is used."
      ],
      [
        "ToUnicode",
        "stream",
        "(Optional; PDF 1.2) A stream containing a CMap file that maps character codes to Unicode values (see 9.10.3, \"ToUnicode CMaps\")."
      ]
    ]
  }
}


