Звернутися до підтримки

Відповідаємо електронною поштою, зазвичай протягом двох днів.

Google reCAPTCHA перевіряє це звернення на зловживання; дані передаються до Google. Скрипт завантажується лише тоді, коли ви відкриваєте цю форму.

← Усі записи

Наша власна перевірка міряла на 32 відсотки ширше

Перевірка, написана 27 серпня, повідомила про 196 підписів на діаграмах як про надто широкі для картинки, у якій вони стоять. Лагодження забрало день. 103 з них ніколи не були надто широкими.

підписи, позначені як надто широкі перше повідомлення 196 вимірювання та сутності 93 геометрію зсунуто 38 правило краю виправлено 3 чотири підписи скорочено 0 виміряно 5 093 підписи у 77 дописах і одинадцяти мовах 103 зі 196 ніколи не були широкими — широкою була перевірка

Пункти — не пікселі

Перевірка міряє підпис засобами GD проти справжнього файлу шрифту:

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

13 — це розмір шрифту з таблиці стилів, у пікселях. imagettfbbox() приймає розмір у пунктах. Мірялися, отже, 13pt, тобто 17,3px, і кожен підпис виходив на 96/72 — на третину — ширшим.

Певність з’явилася, коли запитали того, хто справді малює текст. Chromium без вікна вміє завантажити справжню діаграму й повідомити для кожного підпису getComputedTextLength(). При 13 ці двоє розходилися на третину. При 13 * 72 / 96, тобто 9,75, вони сходяться в межах піввідсотка: 219 проти 219 пікселів на одному підписі, 561 проти 559 на довшому.

Шрифт увесь час був обраний правильно

Перевірка міряє проти DejaVu Sans, і коментар над нею за це перепрошував: DejaVu ширший за те, що бачить більшість читачів, тому поріг стояв на 92 відсотках.

Після вимірювання вибір виявляється рівно правильним, але з іншої причини, ніж заявлена. Зі шрифтів, до яких стос цього сайту взагалі може дотягнутися, DejaVu найширший. Та сама фраза: DejaVu 219 пікселів, Liberation 194, Cantarell 193, FreeSans 188. Хто читає під Windows або на Mac, дістає більше місця, ніколи менше. Вимірювання не обережне, воно і є найгірший випадок, а саме його перевірка й має міряти.

Що лишилося після арифметики

93 повідомлення пережили виправлене вимірювання. З них 33 виявилися правилом, а не вадою: перевірка тримала десять одиниць відступу від краю картинки й уважала його жорсткою межею, тож рік, що стоїть за три одиниці від краю, ішов як обрізаний. Обрізано не було нічого. Межею тепер є сам край, а питання тісноти віддане порогові в 95 відсотків.

Те, що лишилося, було справжнім: підписи, що заходять під смуги, стовпці, надто вузькі для російської фрази, підпис упоперек сусіднього блоку. Виправлено зсувом геометрії, і це дешево: геометрія в усіх одинадцяти мовних рядках однакова, отже одна дослівна заміна лагодить одинадцять. Чотири підписи справді були довші за всю картинку, кожен у своїй мові, і їх скоротили.

Що тут узагальнюється

Перевірка, що хибить в один бік, гірша за жодну, бо вона виробляє роботу. Дві третини дня пішли на діаграми, з якими все було гаразд, і єдина причина, чому полагодили решту, — що хибні повідомлення стояли поруч зі справжніми.

Справу вирішило не уважніше читання коду. Справу вирішило вимірювання вимірювання чимось незалежним, що малює справжній текст, — і це забрало десять хвилин після тижня довіри до перевірки.

Реклама