A backup face for the rarer signs
Chain several faces together: each character is drawn by the first one in the list that has a shape for it.
Written at the top level of a request, under
"font_chains"
In plain words
Written for anybody. It says what this puts on a sheet of paper, and asks nothing of you beyond that.
No typeface holds every sign in the world. A handsome text face may well know nothing of the Greek alphabet, of an ideogram, or of a rarer currency symbol. Rather than leave a hole, several typefaces are lined up: the first draws what it knows how to draw, and for the rest the next one takes over. The reader sees a complete text.
For a developer
Written for somebody who writes the calling program: the model, the units, and the settings that carry the weight.
font_chains declares a font made of several others, under its own name: a character is drawn by the first font of the chain that carries a shape for it. Each font in the chain stays usable as it is elsewhere. Links are looked for among the embedded fonts, the client's, the library's, and among the fonts the request declares itself: the fourteen normalised faces, the Type 1 programs, the drawn letters.
Every key, with its default
The reference: which keys are required, which are optional, what each one defaults to and which combinations the server declines.
-
font_chains— array, optional, empty by default. -
font_chains[].name— string, required. The name items set text in the chain by. -
font_chains[].faces— array of strings, required, at least two names. The fonts it is made of, in the order a character is offered to them. A chain of one name is refused.
A link names an embedded font, a client font, a library font, or a font the request declares: standard_fonts, type1_fonts, type3_fonts. The fonts a request declares are loaded before the chains, so a chain can lean on them.
A whole request that draws it
Post this as it stands and a PDF comes back. Nothing has been left out of it.
{
"standard_fonts": [
{ "name": "sans", "face": "helvetica" },
{ "name": "signs", "face": "symbol" }
],
"font_chains": [
{ "name": "text_and_signs", "faces": ["sans", "signs"] }
],
"items": [
{
"type": "text",
"rect": { "llx": 60, "lly": 740, "urx": 535, "ury": 765 },
"content": ["Angle α = 30 degrees"],
"font": "text_and_signs",
"font_size": 14
}
]
}
The lettering
Carrying a font inside the document The older Type 1 font programs The fourteen faces every reader owns The typographic niceties of a face A face whose letters you draw yourself
Where to go next
Every key of a request, in one page The other thirty-two settings of a request
Glossary
- PDF library
- A piece of software your own programs use to write PDF documents. It has no window and no buttons: your program tells it what to draw, and it hands the finished file back. This site also calls it the engine, which is the same thing under another name. The server is a second program that holds the engine and answers whoever asks it for a document over the network, and the rendering service is that server running on our machines rather than on yours.
- font
- The drawing of every letter, digit and mark a document writes, held in a file of its own. A PDF carries the fonts it is set in inside itself, which is why it opens looking the same on a machine that has never had them. Leave them out and a reader puts another font in their place, and the layout moves.
- request
- One call to the service: you send what the document should say, and get the document back. Your bill counts these calls, one for each document. The number of pages inside a document is never counted.
- Type 1 font
- The older shape a typeface file comes in, still used where a particular cut of a typeface only ever existed that way. A document carries the file as it was supplied.