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 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