Вывеска издалека · Ipak

> I и l, O и 0, средняя точка и стрелки: мелочи, которые решают, прочтут ли табличку с другого конца зала.

[Oʻzbekcha](https://ipak.xronocode.com/maqolalar/signs-at-distance/index.md) · [English](https://ipak.xronocode.com/en/maqolalar/signs-at-distance/index.md) · [Русский](https://ipak.xronocode.com/ru/maqolalar/signs-at-distance/index.md) · [Español](https://ipak.xronocode.com/es/maqolalar/signs-at-distance/index.md) · [Português](https://ipak.xronocode.com/pt/maqolalar/signs-at-distance/index.md) · [中文](https://ipak.xronocode.com/zh/maqolalar/signs-at-distance/index.md)

[Статьи] · [Этап 4 · Рабочий шрифт]

# Вывеска издалека

I и l, O и 0, средняя точка и стрелки: мелочи, которые решают, прочтут ли табличку с другого конца зала.

Рабочий шрифт Ipak Davlat делался прежде всего для надписей: табличек, указателей, номеров выходов. Текст на них короткий, его читают на ходу, издалека, часто под углом. Здесь мелкая неточность шрифта превращается в ошибку чтения: человек видит не ту букву или не ту цифру.

Основа шрифта, Overpass, по происхождению дорожная. Она выросла из Highway Gothic — шрифта американских дорожных знаков, который проектировали для чтения издалека и на скорости. Но даже у неё нашлось, что поправить именно для табличек.

![Макет указателей, набранный Ipak Davlat](https://ipak.xronocode.com/images/p/signs-at-distance/mockup-davlat-wayfinding.png)

*Макет указателей аэропорта, набранный Ipak Davlat: латиница, кириллица, стрелки, номера выходов с перечёркнутым нулём. Ipak; шрифт — SIL OFL 1.1 · CC BY 4.0 · Ipak*

## I и l

В большинстве гротесков прописная I и строчная l — одна и та же вертикальная палка. В обычном тексте это не мешает: слово подсказывает. На табличке слово может быть незнакомым, а буква — первой. В узбекском таких слов много: Ilm (наука), Islom, Ilmiy. Читатель не знает, I там или l.

Решение — **l с хвостиком**: внизу стойка загибается вправо. Так I и l не спутать даже в незнакомом слове. В Ipak Davlat такая l стоит **по умолчанию**: шрифт делается для надписей, и различимость важнее привычного вида.

![I и l, O и 0 в основе и в Ipak Davlat](https://ipak.xronocode.com/images/p/signs-at-distance/il-o0.png)

*I и l, O и 0: основа Overpass, Ipak Davlat по умолчанию, с наборами ss02 и ss03. Ipak; набрано HarfBuzz (hb-view), Overpass и Ipak Davlat Regular; шрифты — SIL OFL 1.1 · CC BY 4.0 · Ipak*

Тем, кому нужна обычная l, есть **набор ss03 «Plain l»**.

**Справка.** Стилистический набор (ss01–ss20) — переключатель внутри шрифта OpenType. Он заменяет одни формы букв другими: например, обычный ноль на перечёркнутый. В вёрстке и на сайте его включают одной настройкой; в CSS это font-feature-settings: "ss02".

С хвостатой l пришлось повозиться больше, чем казалось.

**Дыра справа.** После l с хвостиком сочетания ln, lo оказались на 13–25 % шире, чем nn. Хвост лежит внизу, где и так много воздуха. Правый отступ уменьшили на 0,45 толщины штриха — теперь разница в пределах ±6 %.

**Чужие буквы.** Сначала хвост получил сам глиф l. Но из него собраны ĺ ļ ľ ŀ и лигатура fl (две буквы, слитые в один знак), и они слиплись с соседями. Глиф — рисунок одного знака в шрифте. Исправили так: хвостатая l стала отдельным глифом на том же коде, а исходная l основы осталась нетронутой.

**Каталанское l·l.** В каталанском есть сочетание l·l с точкой посередине. Правило основы ждало обычную l. Хвостатую добавили во все такие правила.

## O и 0

Вторая классическая путаница — буква O и цифра 0. На табличке «Выход 20» и «Выход 2O» неразличимы, если не знать заранее. Особенно тяжело с номерами рейсов, мест и кабинетов, где буквы и цифры идут вперемешку.

Решение — **перечёркнутый ноль**, набор **ss02**. Его включают для указателей, номеров, кодов. Перечёркнут и табличный ноль — цифра одинаковой ширины для колонок таблиц. Поэтому в расписании с выравниванием по столбцам ноль тоже отличается от O.

Почему не по умолчанию? В обычном тексте перечёркнутый ноль выглядит технически. Ноль в «2026 год» не нужно отличать от буквы — контекст ясен.

## Средняя точка, которая исчезала

Средняя точка · (U+00B7) на табличках разделяет пункты: «Metro · Taksi». В основе с ней была ошибка, которую мы долго не видели.

![Средняя точка в основе и в Ipak Davlat](https://ipak.xronocode.com/images/p/signs-at-distance/middle-dot.png)

*Средняя точка в основе и в Ipak Davlat. Ipak; набрано HarfBuzz (hb-view), Overpass и Ipak Davlat Regular; шрифты — SIL OFL 1.1 · CC BY 4.0 · Ipak*

В Overpass точка была помечена как надстрочный знак — как точка над буквой, а не как отдельный символ. Такие знаки не занимают места: они садятся на предыдущую букву. «5·10» читалось как «510», а в «KIRISH·CHIQISH» (вход · выход) точка садилась внутрь H.

**Справка.** В шрифте OpenType у каждого глифа есть класс: обычный знак, лигатура, надстрочный знак и другие. Класс хранится в таблице GDEF. Надстрочный знак по правилам другой таблицы, GPOS (она отвечает за положение знаков), «прикрепляется» к букве перед ним. Если отдельный символ ошибочно помечен надстрочным, он теряет своё место в строке.

Ошибку нашли при проверке. Мы исправили класс в GDEF — и решили, что всё. Следующая проверка нашла тот же дефект снова: точка всё ещё садилась внутрь H. Оказалось, что она была записана и в правила «посадить знак на букву» в GPOS. Первый фикс был неполным. Только после второго, когда точку убрали из этих правил, «5·10» стало «5·10».

Урок, который мы вынесли: проверять нужно результат набора, а не таблицу, которую поправил.

## Стрелки

У основы стрелки были разные. У ← → ↑ ствол сужался к хвосту, у ↓ — нет. Ширина отличалась: 1004 и 976 единиц. В одной строке «← →» это заметно.

![Стрелки основы и стрелки Ipak Davlat](https://ipak.xronocode.com/images/p/signs-at-distance/arrows.png)

*Стрелки основы и стрелки-пиктограммы Ipak Davlat в Regular и Bold. Ipak; набрано HarfBuzz (hb-view); шрифты — SIL OFL 1.1 · CC BY 4.0 · Ipak*

Мы нарисовали свои стрелки из одного контура: правую — один раз, остальные получены поворотом и зеркалом. Ровный ствол, треугольный наконечник, одинаковые поля. Стрелки прошли три итерации.

**Одинаковая форма.** При проверке заметили разницу стрелок основы. Нарисовали свои.

**Пиктограммы, а не буквы.** Затем стрелки оказались мелкими — наконечник в Regular был в половину высоты прописной, а пропорции в Regular и Bold различались. Решили, что стрелка на табличке — пиктограмма. Теперь она одинакова в обоих начертаниях: по весу как в Bold, длиной 1,2 высоты прописной, наконечник 0,85.

**Общий центр.** Потом выяснилось, что ↑ и ↓ стоят на разной высоте, «↑↓» выглядели лесенкой. Все четыре стрелки получили общий центр — середину высоты прописной. Теперь они выступают за строку поровну сверху и снизу.

## Проверка на 9–16 пикселях

Табличку издалека глаз видит маленькой. Поэтому мы смотрели шрифт в мелком кегле (размере шрифта) на экране — 9, 12 и 16 пикселей.

![Ipak Davlat в 9, 12 и 16 пикселях](https://ipak.xronocode.com/images/p/signs-at-distance/small-sizes.png)

*Ipak Davlat Regular в 9, 12 и 16 пикселях, увеличено в четыре раза без сглаживания. Ipak; набрано HarfBuzz (hb-view) с ss02 и --language=uz; шрифт — SIL OFL 1.1 · CC BY 4.0 · Ipak*

При проверке контрольные слова смотрели при 9 пикселях. Читаются все. Различимы Қ Ғ Ҳ Ў, I, l и 1, O и 0 с набором ss02, 5 и S, 8 и B. Стрелки стоят по центру прописной.

Отдельно проверялись знаки ʻ и ʼ. В первой версии оба выглядели как «/» и различались только толщиной концов. В мелком кегле это не работает. Теперь у ʻ масса внизу, у ʼ — вверху, и силуэты смотрят в разные стороны.

## Что мы советуем для табличек

Из проверки вырос короткий список правил применения:

**Bold** — основное начертание табличек.

Высота прописной на экранных указателях — **не меньше ~12 пикселей**.

Для номеров — **ss02**; для колонок номеров — **ss02 вместе с tnum** (табличные цифры одинаковой ширины).

Разделитель «·» ставить **с пробелами**: «Metro · Taksi».

Техническая сторона тоже проверена. Font Bakery — набор автоматических проверок шрифта: замечания, которые остались, относятся к основе Overpass, а не к узбекскому слою. OTS — проверка, которой браузеры Chrome и Firefox пропускают веб-шрифты перед загрузкой, — замечаний не нашла.

## Итог

Ни одна из этих правок не заметна в обычном тексте. Хвостик у l, перечёркнутый ноль, точка на своём месте, ровные стрелки — их видишь только тогда, когда их нет. Но именно они решают, найдёт ли человек свой выход с первого взгляда.

## Источники

Highway Gothic и его назначение — Wikipedia.

U+00B7 MIDDLE DOT, стрелки U+2190–U+2193 — таблицы Юникода.

Стилистические наборы и табличные цифры (tnum) — спецификация OpenType, Microsoft Typography; классы глифов — описание таблицы GDEF там же.

Перечёркнутый ноль — Wikipedia, «Slashed zero».

Font Bakery и OTS — репозитории проектов.

Правки и замеры — наши, на сборке Ipak Davlat v0.1, октябрь 2026 года.

Ссылки:

Highway Gothic — Wikipedia. [https://en.wikipedia.org/wiki/Highway_Gothic](https://en.wikipedia.org/wiki/Highway_Gothic)

Unicode: Latin-1 Supplement (U+00B7 MIDDLE DOT). [https://www.unicode.org/charts/PDF/U0080.pdf](https://www.unicode.org/charts/PDF/U0080.pdf)

Unicode: Arrows (U+2190–U+21FF). [https://www.unicode.org/charts/PDF/U2190.pdf](https://www.unicode.org/charts/PDF/U2190.pdf)

OpenType: стилистические наборы ss01–ss20 и tnum (Microsoft Typography). [https://learn.microsoft.com/en-us/typography/opentype/spec/features_pt](https://learn.microsoft.com/en-us/typography/opentype/spec/features_pt)

OpenType: таблица GDEF (классы глифов). [https://learn.microsoft.com/en-us/typography/opentype/spec/gdef](https://learn.microsoft.com/en-us/typography/opentype/spec/gdef)

Slashed zero — Wikipedia. [https://en.wikipedia.org/wiki/Slashed_zero](https://en.wikipedia.org/wiki/Slashed_zero)

Font Bakery. [https://github.com/fonttools/fontbakery](https://github.com/fonttools/fontbakery)

OpenType Sanitizer (OTS). [https://github.com/khaledhosny/ots](https://github.com/khaledhosny/ots)

---
Страница: https://ipak.xronocode.com/ru/maqolalar/signs-at-distance/ · SIL Open Font License 1.1 · avenex@xronocode.com
