Contacter l'assistance

Nous répondons par e-mail, en général sous deux jours.

Pour prévenir les abus, Google reCAPTCHA vérifie cet envoi ; des données sont transmises à Google. Le script n'est chargé qu'à l'ouverture de ce formulaire.

← Tous les articles

Notre propre contrôle mesurait 32 pour cent de trop

Un contrôle écrit le 27 août a signalé 196 étiquettes de diagramme comme trop larges pour l’image où elles se trouvent. Les corriger a pris une journée. 103 d’entre elles n’ont jamais été trop larges.

étiquettes signalées comme trop larges premier signalement 196 mesure et entités corrigées 93 géométrie déplacée 38 règle du bord corrigée 3 quatre étiquettes raccourcies 0 5 093 étiquettes mesurées dans 77 billets et onze langues 103 des 196 n’ont jamais été trop larges — le contrôle l’était

Les points ne sont pas des pixels

Le contrôle mesure une étiquette avec GD contre un vrai fichier de police :

$bb = imagettfbbox(13, 0, $font, $text);

13 est la taille de police de la feuille de style, en pixels. imagettfbbox() prend sa taille en points. Il mesurait donc 13pt, soit 17,3px, et chaque étiquette ressortait 96/72 — un tiers — trop large.

La certitude est venue en demandant à quelque chose qui dessine vraiment du texte. Un Chromium sans fenêtre peut charger le vrai diagramme et donner pour chaque étiquette getComputedTextLength(). À 13, les deux divergeaient d’un tiers. À 13 * 72 / 96, soit 9,75, ils s’accordent à un demi pour cent près : 219 contre 219 pixels pour une étiquette, 561 contre 559 pour une plus longue.

La police était juste depuis le début

Le contrôle mesure contre DejaVu Sans, et le commentaire au-dessus s’en excusait : DejaVu est plus large que ce que voit la plupart des lecteurs, d’où un seuil à 92 pour cent.

Mesuré, le choix se révèle exactement juste, mais pour une autre raison que celle annoncée. Parmi les polices que la pile de ce site peut atteindre, DejaVu est la plus large. La même phrase : DejaVu 219 pixels, Liberation 194, Cantarell 193, FreeSans 188. Qui lit sous Windows ou sur un Mac a plus de place, jamais moins. La mesure n’est pas prudente, elle est le pire cas, et c’est ce qu’un contrôle doit mesurer.

Ce qui restait après le calcul

93 signalements ont survécu à la mesure corrigée. Parmi eux, 33 se sont révélés être une règle et non un défaut : le contrôle gardait dix unités de marge par rapport au bord et la traitait en limite dure, si bien qu’une année posée à trois unités du bord passait pour coupée. Rien n’était coupé. La limite, c’est désormais le bord lui-même, et la question de l’étroitesse revient au seuil de 95 pour cent.

Ce qui restait était réel : des étiquettes passant sous des barres, des colonnes trop étroites pour une phrase russe, une légende en travers de la case voisine. Corrigé en déplaçant de la géométrie, ce qui est bon marché : la géométrie est identique dans les onze lignes de langue, une substitution littérale en corrige donc onze. Quatre étiquettes étaient vraiment plus longues que l’image entière, dans une langue chacune ; celles-là ont été raccourcies.

Ce qui se généralise

Un contrôle faux dans un seul sens est pire que pas de contrôle, parce qu’il fabrique du travail. Deux tiers d’une journée sont partis dans des diagrammes qui allaient bien, et la seule raison pour laquelle le reste a été réparé, c’est que les faux signalements côtoyaient les vrais.

Ce qui a tranché n’est pas d’avoir relu le code plus attentivement. C’est d’avoir mesuré la mesure contre quelque chose d’indépendant qui dessine du vrai texte — et cela a pris dix minutes, après une semaine de confiance accordée au contrôle.

Publicité