В мире веб-дизайна и типографики расскор (или раскоррекция кернинга / трекинга) — это мощный инструмент, который позволяет изменить визуальную плотность текста, сделать его более воздушным или, наоборот, компактным. Однако многие дизайнеры и верстальщики сталкиваются с неприятной ситуацией: они задают параметры расскора, а текст остается неизменным. Почему это происходит? Давайте разберем самые частые причины, по которым расскор может не сработать, и найдем пути их решения.
Проблемы со шрифтовым файлом
Одна из самых частых и неочевидных причин кроется в самом шрифте. Как известно из архивов свободно распространяемых шрифтов, файлы шрифтов создаются разными авторами, и качество их работы сильно различается.
- Жестко заданные метрики: В некоторых шрифтах авторы намеренно жестко прописывают значения кернинга и трекинга в таблицах OTF (OpenType). Если шрифт не поддерживает динамическое изменение этих параметров, ваши CSS-правила или настройки в графическом редакторе будут игнорироваться.
- Поврежденный файл: Скачанный из интернета файл шрифта может быть поврежден или некорректно сконвертирован (например, из TTF в WOFF2). В таких таблицах, как GPOS (Glyph Positioning), могут отсутствовать необходимые данные.
- Системный шрифт: Некоторые базовые системные шрифты имеют защиту от изменения метрик на уровне операционной системы.
Ошибки в CSS-верстке
Если вы работаете с веб-страницей, причина почти всегда кроется в каскадности таблиц стилей и специфичности селекторов.
- Перекрытие стилей (Специфичность): Ваше правило
letter-spacingможет быть перезаписано другим правилом с более высоким приоритетом; Например, если вы задаете расскор в классе.text, а глобально для тега<p>задано другое значение, последнее может победить. - Свойство не наследуется:
letter-spacingне наследуется автоматически от родителя к дочерним элементам, если для дочерних элементов уже прописано свое значение. - Ошибки синтаксиса: Пропущенная точка с запятой или опечатка в названии свойства (letter-spasing вместо letter-spacing) мгновенно «ломают» правило.
Особенности браузеров и рендеринга
Разные браузеры обрабатывают типографику по-разному. То, что идеально работает в Chrome, может сломаться в Safari.
- Субпиксельный рендеринг: Если вы задаете расскор в пикселях (например,
letter-spacing: 0.5px), некоторые браузеры могут округлять значения, из-за чего визуально изменение будет незаметно. Рекомендуется использовать относительные единицы (emилиrem). - Кэширование: Браузер может упорно отдавать старую версию CSS-файла. Жесткое обновление кэша (Ctrl+F5) часто решает проблему «неработающего» расскора.
- Оптимизация шрифтов: Некоторые браузерные расширения или настройки скорости загрузки могут принудительно отключать загрузку полных шрифтовых таблиц для экономии трафика, заменяя их системными аналогами, к которым ваш расскор не применяется.
Логика работы в графических редакторах (Figma, Photoshop, Illustrator)
Если вы столкнулись с проблемой в дизайн-инструментах, обратите внимание на следующие нюансы:
Разница между Кернингом и Трекингом
Это ключевое различие. Кернинг (Kerning) — это интервал между двумя конкретными буквами. Трекинг (Tracking), который часто называют расскором — это равномерное изменение интервала для всего слова или блока текста.
- Если курсор стоит между двумя буквами, вы меняете кернинг. Если вы выделите весь текст и попытаетесь изменить кернинг, он может не сработать или сброситься, так как программа ожидает ввода для конкретной пары.
- Для изменения расстояния между всеми буквами обязательно используйте поле Tracking (Трекинг).
Векторное контурирование (Outline)
Если текст был переведен в кривые (Create Outlines / Expand), он перестает быть текстом. Это набор векторов. Применить типографические параметры к кривым невозможно — они уже зафиксированы.
Языковые и скриптовые особенности
Некоторые шрифты поддерживают кириллицу лишь частично. Если шрифт изначально разрабатывался для латиницы, а кириллица была добавлена позже или автоматически сгенерирована, таблицы кернинга для русских букв могут просто отсутствовать. В этом случае расскор для русского текста не сработает, хотя для английского будет работать идеально.
Как заставить расскор сработать: Чек-лист
Если вы столкнулись с проблемой, пройдитесь по этому алгоритму:
- Проверьте файл шрифта: Попробуйте заменить шрифт на другой (например, стандартный Arial) и применить расскор. Если работает — проблема в исходном шрифтовом файле.
- Используйте
!importantв CSS (временно): Это поможет понять, не перебивает ли ваш стиль другое правило. - Проверьте выделение: В дизайн-программах убедитесь, что вы выделены текстовый блок целиком, а не стоите курсором между буквами, и используете трекинг, а не кернинг.
- Смените единицы измерения: В верстке замените
pxнаemдля свойстваletter-spacing. - Очистите кэш: Обновите страницу с очисткой кэша или перезапустите программу.
Расскор — это тонкий инструмент, зависимый от множества факторов: от качества исходного файла до специфики браузерного рендеринга и логики работы CSS. Понимание того, как работают шрифтовые таблицы и каскадные стили, позволит вам быстро диагностировать причину и находить элегантное решение, сохраняя идеальную типографику вашего проекта.