Des polices dont les lettres coûtent un octet
Une police dont les lettres coûtent un octet, ajustée au texte que vous dessinez : une page deux fois plus légère, et des mots qu'on peut écarter.
En mots de tous les jours
Écrit pour tout le monde. Il dit ce que cela pose sur une feuille de papier, et ne vous demande rien de plus.
Dans un PDF, chaque lettre dessinée sur une page s'écrit sous forme de nombre. Normalement ce nombre prend deux octets. Si vous dites d'avance quelles lettres votre document emploiera — et un document en emploie bien moins qu'une police n'en porte — chacune peut recevoir un petit numéro qui tient sur un octet. La page pèse alors environ deux fois moins pour le même texte. Il y a un second gain, moins visible : le réglage qui écarte les mots pour justifier un paragraphe agit sur le code de l'espace, et ce code n'existe que sous cette forme. Une police déclarée ainsi est donc à la fois plus légère et celle dont un paragraphe bien justifié a besoin.
Pour un développeur
Écrit pour celui qui écrit le programme appelant : le modèle, les unités, et les réglages qui portent le poids.
Écrit au premier niveau d'une requête, sous
"simple_fonts"
simple_fonts fabrique, à partir d'une police déjà déclarée, une police que les articles atteignent par des codes d'un octet plutôt que par numéro de dessin. fitted_to est le texte auquel les codes sont ajustés : chaque caractère de ce texte que la fonte sait dessiner reçoit un code, l'espace gardant 32 et le reste prenant le plus petit code libre à partir de 33, dans l'ordre où on les rencontre. Un caractère que ce texte laisse de côté est un caractère que la police ne peut pas dessiner : la chaîne doit donc porter chaque lettre, chaque accent et chaque signe que le document montrera sous ce nom. La source doit être une police qui a un fichier derrière elle — une que la demande embarque, une du client, une de la bibliothèque — et jamais une des quatorze fontes standard, qui voyagent hors du document et n'ont donc rien à ré-encoder. Deux gains suivent : une lettre coûte un octet de flux de page au lieu de deux, et l'écartement des mots a un code à atteindre — sous des codes de deux octets, le réglage qui élargit le blanc n'a aucun effet.
Chaque clé, avec son défaut
La référence : quelles clés sont obligatoires, lesquelles sont facultatives, ce que vaut chacune par défaut et quelles combinaisons le serveur décline.
-
simple_fonts— tableau, facultatif, vide par défaut. -
simple_fonts[].name— chaîne, obligatoire. Le nom sous lequel les articles dessinent avec cette police. -
simple_fonts[].from— chaîne, obligatoire. Le nom de la police dont celle-ci est tirée : une que la demande embarque dansfonts, une du client, ou une de la bibliothèque. Jamais une destandard_fonts: ces quatorze fontes voyagent hors du fichier, il n'y a donc aucun fichier à qui donner des codes d'un octet. -
simple_fonts[].fitted_to— chaîne, obligatoire. Le texte auquel les codes sont ajustés. Chaque caractère de ce texte que la fonte sait dessiner reçoit un code ; un caractère qu'il laisse de côté ne peut pas être dessiné sous ce nom.
Portée : le nom déclaré, et lui seul. La police dont il est tiré reste atteignable sous son propre nom, inchangée. Un document peut porter les deux, et un article prend celle qu'il nomme.
Une requête entière qui le dessine
Envoyez ceci tel quel et un PDF revient. Rien n'en a été retiré.
Un nom ci-dessous tient lieu d'un fichier de police : mettez le fichier encodé à sa place, ou envoyez le fichier lui-même à côté de la description, comme une partie du même appel.
{
"fonts": [{ "name": "body", "data": "PASTE_THE_FONT_FILE_BASE64_HERE" }],
"simple_fonts": [
{
"name": "coded",
"from": "body",
"fitted_to": "One byte a letter, and the file says which."
}
],
"items": [
{
"type": "text",
"rect": { "llx": 72, "lly": 700, "urx": 523, "ury": 740 },
"content": ["One byte a letter"],
"font": "coded",
"font_size": 18
}
]
}
Les lettres
Emporter sa police dans le document Les anciens programmes de police Type 1 Les quatorze écritures que tout logiciel de lecture possède Les finesses typographiques d'une écriture Une écriture dont vous dessinez les lettres Une écriture de secours pour les signes rares
Où aller ensuite
Chaque clé d'une requête, en une page Les trente-deux autres réglages d'une requête
Glossaire
- bibliothèque PDF
- Un logiciel que vos propres programmes utilisent pour écrire des documents PDF. Il n'a ni fenêtre ni bouton : votre programme lui dit quoi dessiner, et il rend le fichier fini. Ce site l'appelle aussi le moteur, c'est la même chose sous un autre nom. Le serveur est un second programme, qui contient le moteur et répond à qui lui demande un document par le réseau ; et le service de rendu, c'est ce serveur quand il tourne sur nos machines plutôt que sur les vôtres.
- octet
- L'unité dans laquelle se compte le poids d'un fichier, comme un colis se compte en grammes. Mille octets font un kilo-octet, un million font un méga-octet — la taille d'une photo prise avec un téléphone. Un PDF d'une page pèse ici entre six mille et cent vingt mille, donc cent PDF tiennent dans la place de cinq photos.
- police
- Le dessin de chaque lettre, de chaque chiffre et de chaque signe qu'un document écrit, rangé dans un fichier à part. Un PDF emporte à l'intérieur de lui-même les polices dans lesquelles il est composé : c'est pour cela qu'il s'ouvre à l'identique sur une machine qui ne les a jamais eues. Sans elles, un logiciel de lecture en met une autre à la place, et la mise en page bouge.
- texte justifié
- Un texte dont toutes les lignes s'arrêtent sur le même bord droit, comme dans une colonne de journal. On n'ajoute rien aux mots : ce sont les espaces entre eux qui sont étirés, ligne après ligne, jusqu'à ce que la ligne atteigne le bord. C'est agréable à lire dans une colonne large et cela se relâche dans une colonne étroite, où les espaces étirés creusent des rivières blanches de haut en bas de la page.