{
  "fonts": [
    {"name": "plex_box", "part": "IBMPlexSans-Regular.otf", "missing_glyph": "notdef"},
    {"name": "plex_nothing", "part": "IBMPlexSans-Regular.otf", "missing_glyph": "drop"},
    {"name": "plex_question_mark", "part": "IBMPlexSans-Regular.otf", "missing_glyph": {"replace": "?"}}
  ],
  "font_variants": [
    {"name": "plex_standing_in", "from": "plex", "stand_ins": true}
  ],
  "font_chains": [
    {"name": "chained", "faces": ["plex", "DejaVuSans"]},
    {"name": "plex_figures_behind", "faces": ["plex"],
     "ranges": [{"from": "0", "to": "9", "font": "DejaVuSans"}]}
  ],
  "items": [
    {
      "type": "text",
      "rect": {"llx": 60, "lly": 758.4, "urx": 535, "ury": 780},
      "content": ["A font behind the font"],
      "font": "plex",
      "font_size": 18
    },
    {
      "type": "text",
      "rect": {"llx": 60, "lly": 694, "urx": 535, "ury": 750},
      "content": ["A house font rarely covers every character a document has to draw. Without a second font behind it, a character it has no glyph for comes out as the empty box below.\nA chain hands that character to the next font instead, so the line is set in as many fonts as it takes and every mark is drawn."],
      "font": "chained",
      "font_size": 10,
      "leading": 14
    },

    {
      "type": "text",
      "rect": {"llx": 60, "lly": 639.2, "urx": 535, "ury": 650},
      "content": ["The house font alone: what it has no glyph for, it cannot draw."],
      "font": "plex",
      "font_size": 9
    },
    {
      "type": "text",
      "rect": {"llx": 60, "lly": 598, "urx": 535, "ury": 616},
      "content": ["✓ Paid · ★ Priority · ☂ Weather hold · ✗ Refused"],
      "font": "plex",
      "font_size": 15
    },

    {
      "type": "text",
      "rect": {"llx": 60, "lly": 549.2, "urx": 535, "ury": 560},
      "content": ["The house font, with a second one behind it."],
      "font": "plex",
      "font_size": 9
    },
    {
      "type": "text",
      "rect": {"llx": 60, "lly": 508, "urx": 535, "ury": 526},
      "content": ["✓ Paid · ★ Priority · ☂ Weather hold · ✗ Refused"],
      "font": "chained",
      "font_size": 15
    },

    {
      "type": "text",
      "rect": {"llx": 60, "lly": 442, "urx": 535, "ury": 470},
      "content": ["The line above is cut into 7 stretches, drawn by two fonts: IBMPlexSans, then DejaVuSans. The words are in the first; the marks it lacks are in the second."],
      "font": "chained",
      "font_size": 10,
      "leading": 14
    },

    {
      "type": "text",
      "rect": {"llx": 60, "lly": 389.2, "urx": 535, "ury": 400},
      "content": ["Mark"],
      "font": "plex",
      "font_size": 9
    },
    {
      "type": "text",
      "rect": {"llx": 106, "lly": 389.2, "urx": 581, "ury": 400},
      "content": ["Status"],
      "font": "plex",
      "font_size": 9
    },
    {
      "type": "text",
      "rect": {"llx": 236, "lly": 389.2, "urx": 711, "ury": 400},
      "content": ["Drawn by"],
      "font": "plex",
      "font_size": 9
    },

    {
      "type": "text",
      "rect": {"llx": 60, "lly": 358, "urx": 535, "ury": 382},
      "content": ["✓"],
      "font": "chained",
      "font_size": 10
    },
    {
      "type": "text",
      "rect": {"llx": 106, "lly": 358, "urx": 581, "ury": 382},
      "content": ["Paid"],
      "font": "chained",
      "font_size": 10
    },
    {
      "type": "text",
      "rect": {"llx": 236, "lly": 358, "urx": 711, "ury": 382},
      "content": ["IBMPlexSans"],
      "font": "chained",
      "font_size": 10
    },

    {
      "type": "text",
      "rect": {"llx": 60, "lly": 340, "urx": 535, "ury": 364},
      "content": ["★"],
      "font": "chained",
      "font_size": 10
    },
    {
      "type": "text",
      "rect": {"llx": 106, "lly": 340, "urx": 581, "ury": 364},
      "content": ["Priority"],
      "font": "chained",
      "font_size": 10
    },
    {
      "type": "text",
      "rect": {"llx": 236, "lly": 340, "urx": 711, "ury": 364},
      "content": ["DejaVuSans"],
      "font": "chained",
      "font_size": 10
    },

    {
      "type": "text",
      "rect": {"llx": 60, "lly": 322, "urx": 535, "ury": 346},
      "content": ["☂"],
      "font": "chained",
      "font_size": 10
    },
    {
      "type": "text",
      "rect": {"llx": 106, "lly": 322, "urx": 581, "ury": 346},
      "content": ["Weather hold"],
      "font": "chained",
      "font_size": 10
    },
    {
      "type": "text",
      "rect": {"llx": 236, "lly": 322, "urx": 711, "ury": 346},
      "content": ["DejaVuSans"],
      "font": "chained",
      "font_size": 10
    },

    {
      "type": "text",
      "rect": {"llx": 60, "lly": 304, "urx": 535, "ury": 328},
      "content": ["✗"],
      "font": "chained",
      "font_size": 10
    },
    {
      "type": "text",
      "rect": {"llx": 106, "lly": 304, "urx": 581, "ury": 328},
      "content": ["Refused"],
      "font": "chained",
      "font_size": 10
    },
    {
      "type": "text",
      "rect": {"llx": 236, "lly": 304, "urx": 711, "ury": 328},
      "content": ["DejaVuSans"],
      "font": "chained",
      "font_size": 10
    },
    {
      "type": "flow",
      "rect": {
        "llx": 60,
        "lly": 260,
        "urx": 535,
        "ury": 280
      },
      "content": "The house font alone, told three ways what to draw for what it lacks:",
      "font": "plex",
      "font_size": 9
    },
    {
      "type": "flow",
      "rect": {
        "llx": 60,
        "lly": 236,
        "urx": 210,
        "ury": 256
      },
      "content": "the box every font carries",
      "font": "plex",
      "font_size": 9
    },
    {
      "type": "flow",
      "rect": {
        "llx": 220,
        "lly": 236,
        "urx": 535,
        "ury": 256
      },
      "content": "✓ Paid · ★ Priority · ☂ Weather hold · ✗ Refused",
      "font": "plex_box",
      "font_size": 11
    },
    {
      "type": "flow",
      "rect": {
        "llx": 60,
        "lly": 212,
        "urx": 210,
        "ury": 232
      },
      "content": "nothing at all",
      "font": "plex",
      "font_size": 9
    },
    {
      "type": "flow",
      "rect": {
        "llx": 220,
        "lly": 212,
        "urx": 535,
        "ury": 232
      },
      "content": "✓ Paid · ★ Priority · ☂ Weather hold · ✗ Refused",
      "font": "plex_nothing",
      "font_size": 11
    },
    {
      "type": "flow",
      "rect": {
        "llx": 60,
        "lly": 188,
        "urx": 210,
        "ury": 208
      },
      "content": "“?” in its place",
      "font": "plex",
      "font_size": 9
    },
    {
      "type": "flow",
      "rect": {
        "llx": 220,
        "lly": 188,
        "urx": 535,
        "ury": 208
      },
      "content": "✓ Paid · ★ Priority · ☂ Weather hold · ✗ Refused",
      "font": "plex_question_mark",
      "font_size": 11
    },
    {
      "type": "flow",
      "rect": {
        "llx": 60,
        "lly": 160,
        "urx": 210,
        "ury": 184
      },
      "content": "told to draw what it lacks as the character it stands for",
      "font": "plex",
      "font_size": 9
    },
    {
      "type": "flow",
      "rect": {
        "llx": 220,
        "lly": 164,
        "urx": 535,
        "ury": 184
      },
      "content": "273 K",
      "font": "plex_standing_in",
      "font_size": 11
    },
    {
      "type": "flow",
      "rect": {
        "llx": 60,
        "lly": 120,
        "urx": 535,
        "ury": 140
      },
      "content": "The house font's figures, drawn once by the house font and once by the second font:",
      "font": "plex",
      "font_size": 9
    },
    {
      "type": "flow",
      "rect": {
        "llx": 60,
        "lly": 96,
        "urx": 210,
        "ury": 116
      },
      "content": "its own figures",
      "font": "plex",
      "font_size": 9
    },
    {
      "type": "flow",
      "rect": {
        "llx": 220,
        "lly": 96,
        "urx": 535,
        "ury": 116
      },
      "content": "0123456789",
      "font": "plex",
      "font_size": 11
    },
    {
      "type": "flow",
      "rect": {
        "llx": 60,
        "lly": 72,
        "urx": 210,
        "ury": 92
      },
      "content": "the second font's figures",
      "font": "plex",
      "font_size": 9
    },
    {
      "type": "flow",
      "rect": {
        "llx": 220,
        "lly": 72,
        "urx": 535,
        "ury": 92
      },
      "content": "0123456789",
      "font": "plex_figures_behind",
      "font_size": 11
    }
  ]
}
