Комментарии 3
Большинство современных пользовательских интерфейсов и веб-сайтов используют базовый размер шрифта 16px. Это всегда хорошее значение по умолчанию для начала, так как оно удобно для чтения текста на экране.
Это не просто плохое значение, это отвратительное значение, как и любое другое абсолютное значение. Нужно забыть вообще об абсолютных значениях размера шрифта, если его не задаёт пользователь непосредственно.
Пользователь задал уже базовый размер шрифта в настройках браузера и/или в настройках ОС: не надо диктовать ему свои правила!
Для лучшей читаемости ваших текстов важно правильно выбрать межстрочный интервал.
Не надо этого делать! Размер интерлиньяжа задаётся дизайнером шрифта для корректного отображения. Увеличение интерлиньяжа имеет смысл лишь для создания спецэффектов, которым не место ни в базовом тексте, ни в заголовках, ни в подписях элементов управления. А уменьшать его вообще нельзя: начнётся наложение элементов одних глифов на другие.
Не нравится интерлиньяж? Выберите более профессионально выполненный шрифт (гарнитуру).
Большинство шрифтов изначально имеют значение трэкинга 0% и его практически не имеет смысла менять. Но, например, в хедерах иногда все же стоит это делать и в меньшую сторону, но в пределах 5%.
И снова: не нужно этого делать. Выберите более профессионально выполненный шрифт (гарнитуру).
Расстояние между строками действительно зависит от длины строки -- чем длиннее строка, тем больше расстояние, а в коротких строках его можно уменьшить. Аналогично с трекингом, он действительно зависит от размера шрифта, заголовки можно набирать плотнее, чем мелкий шрифт. Компьютерный шрифт обычно разрабатывается для некоторого условного размера шрифта (12 пунктов) и не учитывает такие тонкости, там даже нет механизма для этого.
Я уже написал выше, что при уменьшении вы получите наложение глифов или, по крайней мере, слишком их близкое расположение. Забота об интерлиньяже и трекинге — это работа дизайнера шрифта, а не его пользователя.
То, что вы описываете — это костыли вокруг кривых шрифтов: я не просто так два раза предложил посмотреть в сторону более профессиональных шрифтов. Если вы генерируете картинку, которую будете отдавать пользователю, то такой способ имеет право на жизнь. Но вот при попытке их использовать для текста, рендеринг которого производится браузером вы с большой вероятностью получите кривое отображение.
Или вы хотите написать костыли для всего множества экранов и алгоритмов рендеринга шрифта? Достаточно посмотреть на разнообразие ноутбуков и телефонов, чтобы сильно опечалиться от перспектив реализации такой затеи. Проще найти нормальный экранный шрифт. Экранный.
Как сделать удобную дизайн-систему. Шрифты. Часть 2