The fourteen fonts all reading software owns

Set text in one of the fourteen fonts reading software already owns, carrying nothing at all inside the file.

Summary

Three families — one with little feet at the ends of the letters, one without, one where every letter is the same width — plus two sets of signs. All reading software has owned them from the start, so the document stays tiny and opens everywhere. It is the perfect choice for a delivery note, a receipt, a label: anything that has to be light and come out fast.

Technically

Written at the top level of a request, under "standard_fonts"

standard_fonts declares, under a name the request chooses, one of the fourteen normalised fonts reading software draws whether the file carries them or not: a /Subtype /Type1 font with /WinAnsiEncoding, /FirstChar, /LastChar and /Widths, and no /FontFile at all. Nothing of the font travels with the request and nothing of the font is written into the document: only the widths and the encoding appear there. A name declared here is looked for in none of the three font sources. A document claiming an archiving standard, on the other hand, wants its fonts written inside it: it goes through fonts or type1_fonts instead.

Request schema

  • standard_fonts — array, optional, empty by default.
  • standard_fonts[].name — string, required. The name items set text in this font by.
  • standard_fonts[].face — string, required. Fourteen values: courier, courier_bold, courier_bold_oblique, courier_oblique, helvetica, helvetica_bold, helvetica_bold_oblique, helvetica_oblique, times_roman, times_bold, times_bold_italic, times_italic, symbol, zapf_dingbats.

symbol and zapf_dingbats are reached through an encoding of their own. A font declared here may be a link in a font_chains chain. A typographic variant (font_variants) is built on an embedded font, a client font or one from the font store. A document declaring archive wants a font written into the file.

A whole request that creates a PDF

{
  "standard_fonts": [
    { "name": "sans", "face": "helvetica" },
    { "name": "serif_bold", "face": "times_bold" }
  ],
  "items": [
    {
      "type": "text",
      "rect": { "llx": 60, "lly": 750, "urx": 535, "ury": 775 },
      "content": ["Delivery note 2026-014"],
      "font": "serif_bold",
      "font_size": 16
    },
    {
      "type": "text",
      "rect": { "llx": 60, "lly": 720, "urx": 535, "ury": 738 },
      "content": ["Nothing of the lettering travels with this file."],
      "font": "sans",
      "font_size": 11
    }
  ]
}

The line that sends it, in three languages

The fonts

Carrying a font inside the document The older Type 1 font programs The typographic niceties of a font A font whose letters you draw yourself A backup font for the rarer signs Fonts whose letters cost one byte

Where to go next

Every JSON key of a request, in one page The other forty-one settings of a request

See the prices See the examples