Хотя это может и не дать прямого ответа на ваш основной вопрос, я надеюсь, что это несколько решит вашу проблему: следующие методы помогли мне сократить работу по ручному кернингу шрифта (который был blackletter; поэтому стандартные пары кернинга не применялись):
Безусловно самый важный: Используйте классы кернинга. Хотя в вашем шрифте может быть много глифов, многие из них идентичны в отношении кернинга в одном направлении. Например, правый кернинг m и n должен быть одинаковым в каждом или почти каждом шрифте. Поэтому, прежде чем начать кернинг, сгруппируйте все свои глифы в разумные классы кернинга, и вы значительно сократите объем работы, которую вам придется сделать. Любой разумный редактор шрифтов должен поддерживать классы кернинга.
В зависимости от вашего шрифта эффективность классов кернинга может быть повышена за счет использования разных классов кернинга для разных ситуаций. Например, a и a будут иметь одинаковый левый кернинг по отношению к большинству строчных букв, но не по отношению к некоторым заглавным буквам и f. Для моего шрифта у меня были разные таблицы кернинга с разными классами кернинга для следующих случаев:
строчные без f, ſ, ľ, ï,… - строчные;
f, ſ, ľ, ï,… - строчные буквы;
верхний регистр Нижний регистр;
верхний регистр - верхний регистр;
строчные - строчные
Приложите усилия к настройке подшипников , т. Е. По умолчанию глифы (необработанные) расстояния справа и слева. Если отношение глифа выбрано неверно, это означает, что вы должны иметь кернинг почти в каждой паре, содержащей этот глиф. С другой стороны, если ваши подшипники хороши, вам не нужно много загибаться, и вы непосредственно видите, где вы должны зародиться.
Хитрость в настройке подшипников и шатунов заключается в следующем :
uuuuuuuuuuuuuuuuuuuuuuuxuuuuuuuuuuuuuuuuuuuuuuu
uıuunımnuınuınınuımunxuınuımuınuınuımuınuınmu
Если Сюй нуждается в кернинге, вы должны обратить на это внимание.
Систематически и тщательно увеличивайте пул глифов с помощью скорректированных горизонтальных метрик. Начните с настройки горизонтальных метрик (подшипники и кернинг) «простых букв», таких как i, m, n и u. Убедитесь, что такие слова, как минимум, алюминий или невосприимчивость выглядят хорошо, в идеале, без использования кернинга между вышеупомянутыми буквами. Затем добавьте другие строчные буквы в пул и убедитесь, что они имеют хорошие ориентиры и кернинг, где это необходимо. Если ваш пул содержит все строчные буквы, добавьте заглавные буквы и заботьтесь только об их правильном значении; и так далее …
Получив этот пул, прочитайте много текста в вашем шрифте, чтобы найти пары, которые вы, возможно, пропустили. Глядя на текст с ног на голову, также помогает.
Наконец, вы можете сгенерировать текст, который содержит все возможные пары букв, и проверить его. Например, следующий скрипт Python 3 выполнит работу для строчных букв:
from random import shuffle
s = "abcdefghijklmnopqrstuvwxyzßþðə"
pairs = [(c,d) for c in s for d in s]
shuffle(pairs)
for i, pair in enumerate(pairs):
print("".join(pair), end=("" if i%3 else " "))
(Это можно легко запустить в системах Unixoid (в основном, во всех, кроме Windows), сохранив его, скажем, в файл, kerningtest.py
а затем позвонив python3 kerningtest.py
из терминала в соответствующей папке.)
Беспокойся о том, что на самом деле используется первым. Наиболее важными кернингами являются строчные-строчные и прописные-строчные. Прописные-прописные и строчные-прописные предназначены только для исключительных целей; в зависимости от вашего шрифта это может быть совсем не важно, например, потому что использование заглавных букв - довольно плохая идея с каллиграфическим скриптом. Надеемся, что никому не нужны пары кернинга с кириллицей, латиной или римскими цифрами, валютой и символом.
Однако, несмотря на все эти трюки, выполнение хорошего ручного кернинга - это долгая и скучная работа.