Автоматический кернинг шрифта (межсимвольное расстояние) [tool][font]

Автор Dimon_II, 23 марта 2021, 14:36:02

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

Dimon_II

FontKern.exe Freeware,Open Source, исходники в архиве с программой.
Googledrive

Эта программа позволяет выполнить автокернинг для заданных символов, если минимальное расстояние между ними выходит за пределы диапазона. Сам шрифт не меняется - создается файл OTLFD с кернинговыми парами для "настоящих" шрифтовых редакторов. И скорее всего понадобится ручная доработка.
Очень специфическая и недоработанная программа... Сделана потому, что в свободных бесплатных редакторах такой опции нет, и даже весьма продвинутые игнорируют кириллицу. Работает только с файлами TTF.

Что делать:
1. Загрузить шрифт
2. Загрузить файл параметров кернинга, файл прилагается и может быть изменен.
3. Сохранить в формате  OTLFD.
4. Посмотреть в программе: в таблице показано вычисленное минимальное расстояние между каждой парой букв.
  Под таблицей показывается
  - Стандартный текст из пары букв;
  - Буквы по одной с их реальными размерами (на случай, если в паре был кернинг);
  - Мой вариант смещения, зеленый влево, красный вправо (смещается - если расстояние больше max.tst или меньше min.tst).

Для параметров используется файл (пример - abc.txt) из 5 строк:
АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюяЁёҐґІіЇїЄє0123456789@
min.tst=10
min.set=20
max.tst=100
max.set=80

Первая строка - список символов, которые надо обработать. Можно добавить латиницу или убрать маленькие. Пары маленькая+большая буква автоматически исключаются из обработки.
min.tst - минимально расстояние, которое требует исправления. Если раздвигать символы не требуется, можно указать большое отрицательное число, например -1000
min.set - расстояние, до которого раздвигаются слишком близко расположенные.
max.tst - максимально разрешенный интервал между символами
max.set - до которого сближаются растянутые
То есть дистанция в диапазоне min.tst ... max.tst остается без изменений.
В примере max.tst=100 и max.set=80, это значит что интервал может быть и БОЛЬШЕ 80, но интервал 100+ будет уменьшен до 80. 
Можно и везде указать одно значение, например - 50.

Написана на базе примера и с использованием библиотеки PascalType
https://sourceforge.net/projects/pascaltype/

Среда разработки: Delphi 7 (Win32)


  •  
    Пользователи, которые поблагодарили этот пост: Kariotip

Klistir

  •  

Dimon_II

Программа FonFit на Github.

Очередная шрифтовая утилита: для вертикального выравнивания глифов и кернинга (подгонки межсимвольного расстояния между конкретными буквами). Freeware и с открытыми исходниками (на  Delphi10).
Если при чтении шрифта в каталоге рядом с SVG находится одноименный OTF или TTF - от тоже загружается и используется для отображения в дереве глифов и таблице кернинга.


В программе три закладки:

Glyph: выберите символ, к размерам которого будете подгонять иконки. Кнопке SET - запомнит его.
Можно выделять по одному глифу, несколько или всю ветку - область юникода. Отцентровать, подогнать высоту, выровнять по верхнему или нижнему краю... Отображается текущий и запомненный глиф, можно менять масштаб и двигать глиф на заданный шаг.

XML: пользоваться не обязательно, показывает и позволяет редактировать глифы в виде XML(SVG).

Kerning:  выделяя отдельные символы или область юникода добавьте в таблицу строки (1-й символ для кернинга) и столбцы (2-й символ). Существующий кернинг отобразится в таблице. Для автокернинга внизу есть настройка - при каком минимальном расстоянии увеличивать интервал (до какого значения) и при каком максимально - уменьшать.
При выборе ячейки в таблице отображается пара символов, смещение кернинга и (для посчитанного автокернинга) красным кратчайшее расстояние между глифами.
Результать применяется к шрифту кнопкой APPLY


Программа работает только с SVG-шрифтами, чтоб не заморачиваться с двоичными форматами шрифтов, для разборки которых еще и библиотеки не найдешь, а те что есть - под какие-то конкретные старые веррсии.
TTF/OTF <-> SVG можно преобразовывать онлайн или шрифтовыми редакторами.

  •