Kontaktirajte podršku

Odgovaramo e-poštom, obično u roku od dva dana.

Radi zaštite od zloupotrebe, Google reCAPTCHA proverava ovo slanje. Pritom se podaci prenose Googleu. Skripta se učitava tek kada otvorite ovaj formular.

← Sve objave

Provera oznaka merila je tačke, a ne piksele

O sadržaju i njegovoj proveri

U ovom članku

Provera napisana 27. avgusta prijavila je 196 oznaka dijagrama kao preširokih za sliku u kojoj stoje. Prolazak kroz njih trajao je dan. Ispostavilo se da je 103 od 196 artefakt same provere, a provera je ispravljena iste nedelje.

oznake prijavljene kao preširoke za svoj dijagram kako je prvo prijavljeno 196 merenje i entiteti ispravljeni 93 geometrija pomerena 38 pravilo ivice ispravljeno 3 četiri oznake skraćene 0 5.093 oznake izmerene u 77 objava na jedanaest jezika 103 od 196 nikad nisu bile preširoke — provera je bila pogrešna

Tačke nisu pikseli

Provera meri oznaku pomoću GD-a prema stvarnoj datoteci fonta:

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

13 je veličina fonta iz stilskog lista, u pikselima. imagettfbbox() veličinu uzima u tačkama. Merila je 13pt, što je 17,3px, pa je svaka oznaka ispala 96/72 — trećinu — preširoka.

Siguran način bio je pitati nešto što zaista crta tekst. Headless Chromium može da učita pravi dijagram i prijavi getComputedTextLength() za svaku oznaku. Pri 13 su se dva rezultata razlikovala za trećinu. Pri 13 * 72 / 96, što je 9,75, slažu se u okviru pola procenta: 219 prema 219 piksela za jednu oznaku, 561 prema 559 za dužu.

Font je ceo put bio ispravan

Provera meri prema fontu DejaVu Sans, a komentar iznad se zbog toga izvinjavao: DejaVu je širi od onoga što većina čitalaca vidi, pa je prag postavljen na 92% da ostane prostora.

Izmereno, izbor se pokazuje potpuno ispravnim, ali iz drugog razloga nego što je komentar naveo. Od fontova do kojih skup fontova ovog sajta zaista može da dođe, DejaVu je najširi. Ista rečenica: DejaVu 219 piksela, Liberation 194, Cantarell 193, FreeSans 188. Čitalac na Windowsu ili Macu dobija više prostora, nikad manje. Merenje nije pesimistično, ono je najgori slučaj, a to je ono što provera treba da meri.

Šta je ostalo posle aritmetike

93 prijave preživele su ispravljeno merenje. Zatim se za 33 od njih pokazalo da su pravilo, a ne greška: provera je držala rezervu od deset jedinica od ivice slike i tretirala je kao tvrdu granicu, pa je oznaka godine tri jedinice od ivice računata kao odsečena. Ništa nije bilo odsečeno. Granica je sada sama ivica, a pitanje tesnoće pripada pragu od 95%.

Ono što je ostalo bilo je stvarno: oznake koje idu ispod traka, kolone preuske za rusku rečenicu, natpis koji prelazi preko suseda. To je ispravljeno pomeranjem geometrije, što je jeftino — geometrija je identična u svih jedanaest jezičkih redova, pa jedna doslovna zamena popravlja jedanaest. Četiri oznake su zaista bile duže od cele slike u po jednom jeziku, i one su skraćene.

Šta se može uopštiti

Provera koja greši u jednom smeru stvara posao, zbog čega vredi proveravati i samu proveru. Dve trećine dana otišlo je na dijagrame koji su bili u redu — a isti prolaz je popravio i one koji nisu bili, jer su pogrešne prijave stajale pored stvarnih.

Ono što je to rešilo nije bilo pažljivije čitanje koda. Bilo je merenje merenja nečim nezavisnim što crta pravi tekst — i to je trajalo deset minuta. Provera sada meri pri 13 * 72 / 96 i od tada radi na toj osnovi.

Oglas