Kontaktovať podporu

Odpovedáme e-mailom, zvyčajne do dvoch dní.

Google reCAPTCHA kontroluje toto podanie na ochranu pred zneužitím; údaje sa prenášajú spoločnosti Google. Skript sa načíta až pri otvorení tohto formulára.

← Všetky príspevky

Kontrola označení merala body, nie pixely

O obsahu a jeho overovaní

V tomto článku

Kontrola napísaná 27. augusta nahlásila 196 označení diagramov ako príliš širokých pre svoj obrázok. Prejsť ich trvalo deň. Pri 103 zo 196 sa ukázalo, že sú dôsledkom samotnej kontroly, a kontrola sa v ten istý týždeň opravila.

označenia nahlásené ako príliš široké pre diagram prvé hlásenie 196 meranie a entity opravené 93 geometria presunutá 38 pravidlo okraja opravené 3 štyri označenia skrátené 0 5 093 označení zmeraných v 77 príspevkoch v jedenástich jazykoch 103 zo 196 nikdy nebolo príliš širokých — príliš široko merala kontrola

Body nie sú pixely

Kontrola meria označenie pomocou GD so skutočným súborom písma:

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

13 je veľkosť písma zo štýlopisu v pixeloch. imagettfbbox() prijíma veľkosť v bodoch. Meralo sa 13pt — čo je 17,3px — a nameraná šírka každého označenia dosiahla 96/72-násobok skutočnej šírky, teda bola o tretinu väčšia.

Istotu priniesla otázka niečomu, čo naozaj vykresľuje text. Headless Chromium dokáže načítať skutočný diagram a nahlásiť hodnotu getComputedTextLength() pre každé označenie. Pri 13 sa obe merania líšili o tretinu. Pri 13 * 72 / 96, čo je 9,75, sa zhodujú s odchýlkou do pol percenta: 219 oproti 219 pixelom pri jednom označení, 561 oproti 559 pri dlhšom.

Písmo bolo celý čas správne

Kontrola meria pomocou písma DejaVu Sans a komentár nad ňou sa za to ospravedlňoval: DejaVu je širšie než to, čo vidí väčšina čitateľov, preto sa prahová hodnota nastavila na 92 percent na ponechanie rezervy.

Po zmeraní sa výber ukazuje ako presne správny, no z iného dôvodu než v komentári. Z písiem, ku ktorým sa sada tohto webu naozaj dostane, je DejaVu najširšie. Tá istá veta: DejaVu 219 pixelov, Liberation 194, Cantarell 193, FreeSans 188. Čitateľ na systéme Windows alebo počítači Mac dostáva viac miesta, nikdy menej. Meranie nie je pesimistické, je to najhorší prípad a ten by kontrola mala merať.

Čo zostalo po aritmetike

Opravené meranie prežilo 93 hlásení. Potom sa pri 33 z nich ukázalo, že ide o pravidlo, nie chybu: kontrola nechávala desaťjednotkovú rezervu od okraja obrázka a považovala ju za pevnú hranicu, takže označenie roka tri jednotky od okraja sa počítalo ako odrezané. Nič sa neodrezávalo. Hranicou je teraz samotný okraj a otázka tesnosti patrí k prahovej hodnote 95 percent.

Čo zostalo, bolo skutočné: označenia pod stĺpcami, stĺpce príliš úzke pre ruskú vetu, popis zasahujúci do susedného. Opravili sa posunutím geometrie, čo je lacné — geometria je totožná vo všetkých jedenástich jazykových riadkoch, takže jedna doslovná náhrada opraví jedenásť. Štyri označenia boli naozaj dlhšie než celý obrázok, každé v jednom jazyku, a tie sa skrátili.

Čo sa dá zovšeobecniť

Kontrola chybujúca jedným smerom vytvára prácu, preto sa oplatí kontrolovať kontrolný nástroj. Dve tretiny dňa sa venovali diagramom, ktoré boli v poriadku — a ten istý prechod opravil tie, ktoré neboli, pretože nesprávne hlásenia boli vedľa skutočných.

Rozhodujúce nebolo pozornejšie čítanie kódu. Bolo to porovnanie merania s niečím nezávislým, čo vykresľuje skutočný text — a trvalo desať minút. Kontrola teraz meria veľkosť pri 13 * 72 / 96 a odvtedy beží na tomto základe.

Reklama