Nasza własna kontrola mierzyła o 32 procent za szeroko
Kontrola powstała 27 sierpnia zgłosiła 196 podpisów na diagramach jako za szerokie dla obrazka, w którym siedzą. Naprawa zajęła dzień. 103 z nich nigdy nie były za szerokie.
Punkt to nie piksel
Kontrola mierzy podpis biblioteką GD wobec prawdziwego pliku kroju:
$bb = imagettfbbox(13, 0, $font, $text);
13 to rozmiar pisma z arkusza stylów, w pikselach. imagettfbbox() przyjmuje rozmiar w punktach. Mierzone było więc 13pt, czyli 17,3px, i każdy podpis wychodził o 96/72 — o jedną trzecią — za szeroki.
Pewność dało dopiero zapytanie czegoś, co naprawdę rysuje tekst. Chromium bez okna potrafi wczytać prawdziwy diagram i podać dla każdego podpisu getComputedTextLength(). Przy 13 obie liczby rozjeżdżały się o jedną trzecią. Przy 13 * 72 / 96, czyli 9,75, zgadzają się co do pół procenta: 219 wobec 219 pikseli przy jednym podpisie, 561 wobec 559 przy dłuższym.
Krój był dobry od początku
Kontrola mierzy wobec DejaVu Sans, a komentarz nad nią się z tego tłumaczył: DejaVu jest szersze niż to, co widzi większość czytelników, więc próg ustawiono na 92 procent.
Po zmierzeniu wybór okazuje się dokładnie słuszny, tylko z innego powodu niż podany. Spośród krojów, do których stos tej strony może w ogóle sięgnąć, DejaVu jest najszersze. To samo zdanie: DejaVu 219 pikseli, Liberation 194, Cantarell 193, FreeSans 188. Kto czyta na Windowsie albo Macu, dostaje więcej miejsca, nigdy mniej. Pomiar nie jest ostrożny, jest najgorszym przypadkiem, a właśnie to kontrola ma mierzyć.
Co zostało po rachunku
93 zgłoszenia przeżyły poprawiony pomiar. Z nich 33 okazały się regułą, a nie usterką: kontrola trzymała dziesięć jednostek odstępu od krawędzi obrazka i traktowała go jak twardą granicę, więc rok stojący trzy jednostki przed krawędzią uchodził za obcięty. Nic obcięte nie było. Granicą jest teraz sama krawędź, a pytanie o ciasnotę należy do progu 95 procent.
To, co zostało, było prawdziwe: podpisy wchodzące pod słupki, kolumny za wąskie na rosyjskie zdanie, podpis leżący w poprzek sąsiedniego pola. Naprawione przesunięciem geometrii, a to jest tanie — geometria jest we wszystkich jedenastu wierszach językowych ta sama, więc jedno dosłowne zastąpienie trafia w jedenaście. Cztery podpisy naprawdę były w jednym języku dłuższe niż cały obrazek i te skrócono.
Co się uogólnia
Kontrola myląca się w jedną stronę jest gorsza niż żadna, bo tworzy pracę. Dwie trzecie dnia poszły w diagramy, którym nic nie brakowało, a jedynym powodem, dla którego naprawiono resztę, jest to, że fałszywe zgłoszenia stały obok prawdziwych.
Przeważyło nie uważniejsze czytanie kodu. Przeważyło zmierzenie pomiaru czymś niezależnym, co rysuje prawdziwy tekst — a to zajęło dziesięć minut, po tygodniu wiary w tę kontrolę.