Découper un paragraphe et l’aligner
Un paragraphe découpé en lignes, puis composé de quatre façons : à gauche, à droite, centré, justifié.
Une page de magazine range rarement son texte dans de simples rectangles : une citation s’insère dans le coin d’une colonne, une image interrompt un paragraphe, un macaron est rond. À la main, on mesure et on coupe les lignes une à une, et tout est à refaire le jour où le texte est traduit ou change de longueur.
Ici, le programme décrit chaque forme, et rien d’autre : une colonne avec une note insérée dans son coin supérieur droit, un cercle, et une forme à six côtés avec un cadre d’image en son milieu. Le texte est composé ligne à ligne, chaque ligne seulement là où la forme la contient entière : aucune lettre ne dépasse un bord. Près de la note, les lignes s’arrêtent huit points avant elle ; dans le cercle, elles s’allongent vers le milieu ; quand une ligne rencontre le cadre d’image, elle remplit la portion à gauche du cadre, puis continue à sa droite. La même page existe en sept langues, chacune avec son propre nombre de lignes.
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
Ouvrir le document en anglais Ouvrir le document en français Ouvrir le document en allemand Ouvrir le document en espagnol Ouvrir le document en italien Ouvrir le document en portugais
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, le coupe au bord de la colonne, ou le coupe en finissant la ligne par un trait d’union.
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, quatre fois : des chemins de fichiers et des mots composés qui débordent faute de point de coupure, puis qui passent à la ligne là où une coupure est permise après une barre oblique ou un trait d’union, ensuite partout où leur ponctuation l’autorise, enfin avec des traits d’union insécables qui gardent chaque mot composé entier.
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.
Un bon de livraison réparti dans deux cadres, le second reprenant là où le premier s’est arrêté, et une affiche dont l’image ne tient dans aucun cadre ; chaque cadre indique ce qu’il est advenu de sa pile.