Des badges d’une seule taille, des noms de toutes longueurs

Un colloque commande ses badges des semaines avant de savoir qui viendra. Le carton fait une seule taille, la liste des invités non : deux mots courts pour l’un, un nom à rallonge et un prénom composé pour le suivant. Choisissez une taille qui convient au nom le plus long et les noms courts flottent au milieu de leur carton ; choisissez-en une qui convient aux noms courts et les longs sortent du cadre. La veille de l’ouverture, quelqu’un abrège des noms à la main.

Ici, c’est la carte qui décide. Chaque nom reçoit le rectangle exact où il doit tenir et on lui demande à quelle taille il y tient, sur les deux critères à la fois : aucune ligne ne dépasse sur les côtés, et le nom entier s’arrête au-dessus du bord inférieur. Les tailles descendent d’un quart de point à la fois et s’arrêtent à la première qui tient, si bien qu’un nom court garde la taille voulue par la maquette et que seul un nom long sort plus petit. La page imprime sous chaque badge la taille atteinte, et le dernier panneau montre le seul cas qui mérite d’être connu : une étiquette de bagage bien trop petite pour le nom qu’elle contient, où une taille minimale arrête la réduction et où l’imprimeur décide de la suite.

Ce que montre cet exemple

  • Chaque rectangle garde sa taille ; seuls les mots bougent.
  • Un nom court est composé à la taille choisie par la maquette, et seul un nom long sort plus petit.
  • Un plancher est donné avec le rectangle : rien n’est réduit au point de disparaître.

Le code source complet

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

Le document lui-même

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

Exemples proches de celui-ci

Couper un mot trop long

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.

Points de coupure après une barre oblique ou un trait d’union

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.

Une pile mise en page à la main, cadre par cadre

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.

Tous les exemples, par sujet