В последнее время я несколько раз сталкивался с одной конкретной проблемой с пользовательскими шрифтами. Независимо от того, программировал ли я для iOS, Android или Интернета, проблема всегда возникала.
Вертикальное выравнивание шрифтов. Давайте посмотрим на пример:
Работа с любыми отступами работает, но это плохо, учитывая, что приложение должно быть отзывчивым.
Итак, как я могу удалить это пространство/расстояние под шрифтом?
Проблема с пользовательскими шрифтами заключается в том, что они часто имеют восходящий/нисходящий элементы.
В этом случае спусковое устройство вызывает проблему. Чтобы решить эту проблему, нам нужно отредактировать сам шрифт.
Как мы можем это сделать?
Есть несколько инструментов для редактирования ваших шрифтов. Поскольку я работаю на Mac, я использую файл Набор инструментов для шрифтов Apple. После того, как вы установили это, вам нужно открыть Терминал и перейти в каталог, содержащий ваш шрифт. После этого введите следующую команду:
ftxdumperfuser -t hhea -A d font.ttf
Это создаст файл с именем font.hhea.xml, откроет этот новый файл в текстовом редакторе и настроит значения для выносного элемента. После редактирования и сохранения введите в терминал следующую команду, чтобы восстановить файл шрифта:
ftxdumperfuser -t hhea -A f font.ttf
Обратите внимание, что в большинстве шрифтов есть три разных набора вертикальных метрик. В таблице OS/2 в метриках: (1) WinAscent, WinDescent, (2) TypoAscender, TypoDescender и (3) в таблице hhea: Ascender, Descender и LineGap.
Команды будут такими:
ftxdumperfuser -t OS/2 -A d font.ttf - when finished editing: ftxdumperfuser -t OS/2 -A f font.ttf
Изменение только выносного элемента в таблице hhea изменит шрифт для любого устройства Apple, но не для устройств Windows. Следовательно, всегда рекомендуется менять все три восходящих/нисходящих элемента (особенно hhea и TypoAscender/TypoDescender).
В случае, если вы работаете в другой операционной системе. Просто получите любой инструмент для редактирования шрифтов и отредактируйте заданные значения.