Découper un paragraphe et l'aligner
Un paragraphe découpé en lignes, puis composé de quatre façons : à gauche, à droite, centré, justifié.
Cent soixante-neuf pages d'un roman français, et pas une seule posée à la main. C'est Le tour du monde en quatre-vingts jours de Jules Verne, paru en 1873 et depuis longtemps libre de droits, mis en page par le même petit programme qui a mis en page le roman anglais d'à côté. Aucun des deux romans n'est la traduction de l'autre : ils se ressemblent parce qu'un seul programme les met en page tous les deux. Trente-sept chapitres sur autant de pages, c'est à peu près là où une mise en page cesse d'être une démonstration et devient une épreuve — un chapitre qui s'ouvre au mauvais endroit, un titre courant resté sur une page où il n'a rien à faire, cela se voit sur la page. Un chapitre se marque autrement ici : une ligne qui contient le numéro seul, là où le livre anglais écrit le mot CHAPTER devant. C'est la seule chose qu'on en dit, et les ouvertures de chapitre comme les titres courants en découlent dans les deux romans.
Ce qui complique les choses, c'est l'alphabet. Un texte français trace les lettres accentuées en plus des lettres simples, si bien que la police gardée dans le fichier contient plus de formes de lettres qu'un texte anglais n'en demande. Seules les formes que le livre trace vraiment sont gardées, jamais la police entière, et c'est pourquoi cent soixante-neuf pages de prose tiennent encore dans environ cinq cent mille octets — le poids d'une seule photographie. Les noms de chapitres sont composés comme le français les compose, et non dans les capitales où le texte est arrivé, parce qu'en français les capitales perdent les accents qui distinguent deux mots.
Rien n'est omis et rien n'est simplifié : c'est le programme exactement tel qu'il tourne, pour le développeur qui utilise cette bibliothèque. La troisième est la description elle-même : une simple liste de ce que la page doit dire, et c'est elle qu'on envoie au service.
Voir le code Rust Voir le code Python Voir le code JSON
Un paragraphe découpé en lignes, puis composé de quatre façons : à gauche, à droite, centré, justifié.
Un mot plus long que la colonne qui le contient : la bibliothèque le laisse entier, ou le coupe au bord de la colonne.
Une colonne justifiée composée deux fois : les mots longs coupés à leurs traits d'union conditionnels, trait d'union affiché, ou laissés entiers, et un nombre qu'une espace insécable garde d'un seul tenant.
Une colonne justifiée composée deux fois : des chemins de fichiers et des mots composés qui débordent du bord faute de points de coupure, puis qui passent à la ligne là où une coupure après une barre oblique ou un trait d'union est autorisée.
Un titre, un filet, deux paragraphes, un intertitre, un tableau de vingt-six lignes et une note, donnés dans l'ordre de lecture et répartis sur deux pages par le moteur.
Une même ligne d'états composée deux fois : d'abord dans la police de l'entreprise seule, où les caractères dont elle n'a pas le glyphe sortent en cases vides ; puis avec une seconde police derrière elle, qui trace ces caractères.