Хоча це може не відповісти безпосередньо на ваше титульне запитання, я сподіваюся, що це дещо вирішує вашу проблему: Наступні методи допомогли мені зменшити роботу над ручним керуванням шрифту (що було блекатером; тому стандартні пари кернінгу не застосовувалися):
На сьогодні найголовніший: Використовуйте класи кернінгу. Незважаючи на те, що у вашому шрифті може бути багато гліфів, багато з них однакові щодо кернінгу в одному напрямку. Наприклад, праворуч з m і n має бути однаковим у кожному або майже кожному шрифті. Отже, перш ніж почати керувати, згрупуйте всі свої гліфи разом у розумні класи кернінгу, і ви масово скоротите роботу, вам доведеться це зробити. Будь-який розумний редактор шрифту повинен підтримувати класи кернінгу.
Залежно від вашого шрифту, ефективність класів кернінгу можна підвищити, використовуючи різні класи керування для різних ситуацій. Наприклад, à і a матимуть однаковий лівий шрифт стосовно більшості малих літер, але не стосовно деяких великих літер і f. Для мого шрифту у мене були різні таблиці кернінгу з різними класами кернінгу для таких випадків:
малі літери без f, ſ, ľ, ï,… - малі літери;
f, ſ, ľ, ï,… - малі літери;
великі літери - малі;
велика літера - велика;
малі - малі літери.
Докладіть зусиль для налаштування підшипників , тобто відстань за замовчуванням (нерозбірлене) гліфа праворуч і ліворуч. Якщо несучість гліфа вибрана неправильно, це означає, що вам доведеться відірвати майже кожну пару, що містить цей гліф. З іншого боку, якщо ваші підшипники хороші, вам не потрібно сильно кернувати, і ви прямо бачите, куди вам доводиться курвати.
Трюк для налаштування підшипників і кернінга полягає в тому, щоб подивитися на щось таке :
uuuuuuuuuuuuuuuuuuuuuxuuuuuuuuuuuuuuuuuuuu
uıuunımnuınuınınuımunxuınuımuınuınuımuınuınmu
Якщо xu потрібен кернінг, ви можете помітити, поглянувши на це.
Систематично та ретельно розширюйте свій набір гліфів за допомогою коригуваних горизонтальних показників. Почніть з коригування горизонтальних метрик (підшипників і кернінгах) простих літер, таких як 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
з терміналу у відповідну папку.)
Турбуйтеся про те, що насправді використовується спочатку. Найважливіші корни - це малі та малі літери та великі літери. Великі і малі літери - великі регістри призначені лише для виняткового використання; Залежно від вашого шрифту, це може бути зовсім не важливим, наприклад, тому що all-caps - це дуже гарна ідея з каліграфічним сценарієм. Будемо сподіватися, що нікому не потрібні кирилично-латинські або римсько-цифрова – валютно-символьні пари.
Однак навіть з усіма цими хитрощами виконувати гарне ручне керування - це довга і нудна робота.