Provjera oznaka mjerila je tipografske točke, a ne piksele
O sadržaju i njegovoj provjeri
U ovom članku
Provjera napisana 27. kolovoza prijavila je 196 oznaka dijagrama preširokima za sliku u kojoj se nalaze. Njihova obrada trajala je dan. Za 103 od 196 pokazalo se da su posljedica same provjere i provjera je ispravljena istog tjedna.
Tipografske točke nisu pikseli
Provjera mjeri oznaku pomoću GD-a i stvarne datoteke fonta:
$bb = imagettfbbox(13, 0, $font, $text);
13 je veličina fonta iz stilske tablice, u pikselima. imagettfbbox() prima veličinu u tipografskim točkama. Mjerila je 13pt, odnosno 17,3px, i svaka je oznaka ispala 96/72 — trećinu — preširoka.
Sigurnost je trebalo dobiti pitanjem nečemu što doista iscrtava tekst. Headless Chromium može učitati stvarni dijagram i prijaviti getComputedTextLength() za svaku oznaku. Pri 13 razlikovali su se za trećinu. Pri 13 * 72 / 96, što je 9,75, podudaraju se unutar pola posto: 219 prema 219 piksela za jednu oznaku, 561 prema 559 za dulju.
Font je cijelo vrijeme bio ispravan
Provjera mjeri prema fontu DejaVu Sans, a komentar iznad ispričavao se zbog toga: DejaVu je širi od onoga što većina čitatelja vidi, pa je prag postavljen na 92 posto da ostane prostora.
Mjerenje pokazuje da je izbor upravo ispravan, ali iz drugog razloga od onoga u komentaru. Od fontova koje skup fontova ovog web-mjesta doista može dosegnuti DejaVu je najširi. Ista rečenica: DejaVu 219 piksela, Liberation 194, Cantarell 193, FreeSans 188. Čitatelj na sustavu Windows ili računalu Mac dobiva više prostora, nikada manje. Mjerenje nije pesimistično, nego najgori slučaj, a to bi provjera trebala mjeriti.
Što je ostalo nakon aritmetike
93 prijave preživjele su ispravljeno mjerenje. Zatim se za 33 od njih pokazalo da su posljedica pravila, a ne greške: provjera je držala odmak od deset jedinica od ruba slike i tumačila ga kao čvrstu granicu, pa se oznaka godine tri jedinice od ruba brojila kao odrezana. Ništa nije bilo odrezano. Granica je sada sam rub, a pitanje zbijenosti pripada pragu od 95 posto.
Ono što je ostalo bilo je stvarno: oznake koje ulaze ispod stupaca, stupci preuski za rusku rečenicu, natpis preko susjednog. To je popravljeno pomicanjem geometrije, što je jeftino — geometrija je jednaka u svih jedanaest jezičnih redaka, pa jedna doslovna zamjena popravlja jedanaest. Četiri oznake doista su bile dulje od cijele slike, svaka na jednom jeziku, i skraćene su.
Što vrijedi općenito
Provjera koja griješi u jednom smjeru stvara posao i zato vrijedi provjeriti provjerivač. Dvije trećine dana otišle su na ispravne dijagrame — a isti je prolaz popravio neispravne jer su pogrešne prijave stajale pokraj stvarnih.
Nije presudilo pažljivije čitanje koda. Presudilo je mjerenje samog mjerenja prema nečemu neovisnom što iscrtava stvarni tekst — i to je trajalo deset minuta. Provjera sada postavlja veličinu na 13 * 72 / 96 i otad radi na toj osnovi.