При разработке шрифта, как я должен относиться к диакритическим знакам, которые могут столкнуться с соседними символами, включая другие диакритические знаки?
В этом примере вы можете видеть, что существует много столкновений:
Это крайний пример, который никогда не произойдет в обычном тексте, и я предполагаю, что столкновения с акцентом являются скорее исключением, чем нормой, но, поскольку я не говорю и не знаком с большинством языков, использующих диакритические знаки, я не являюсь конечно.
Я вижу несколько вариантов борьбы с этими столкновениями:
Отрегулируйте глиф метрики для размещения диакритических знаков. Это решит проблему коллизий, но излишне повлияет на метрики даже в (большинстве) случаях, когда это не нужно.
Вручную определите проблемные пары символов. Кернинг всех возможных коллизий вручную будет долгим процессом, который в большинстве случаев будет в лучшем случае крайним случаем.
Создавайте лигатуры для часто встречающихся столкновений. Это звучит как хорошая идея для наиболее распространенных случаев, но я понятия не имею, какие пары вообще встречаются в обычном тексте, не говоря уже о том, чтобы вообще.
Забудьте об этом ... Если эти столкновения не обычны в обычном тексте, возможно, это пустая трата времени, пытаясь приспособиться к ним.
Должен ли я заботиться об этих столкновениях? Если так, как я должен иметь с ними дело?
Есть ли список часто встречающихся пар столкновений я могу обратиться? Это помогло бы мне керну только пары, которые на самом деле произойдут.
f
,t
,d
иb
? Нечто подобное: при настройке шрифта фонетических символов я видел комбинациюf
и множество акцентированных символов (fi
общеизвестный случай - «лигатура» ). Я создал альтернативуf
с более коротким флагом и решил ее с помощью правил OpenType, поэтому он появлялся только при необходимости.Ответы:
Да, ты должен заботиться. В некоторых языках два диакритических знака могут быть расположены рядом друг с другом, или диакритические знаки следуют за f. Например, Aspell считает měšťáčtější и nejjidášštější действительными чешскими словами¹, а pfählen, fühlen и föhnen являются немецкими словами.
Есть два других варианта, которые обычно используются:
Используйте специальные классы кернинга или даже таблицы - вам не нужно кернинг все эти пары вручную, а не группировать все символы разумно. Например, для диакритических знаков, помещенных над буквой, вы можете посмотреть на следующие группы:
глифы без восходящих, например, а, с, е, g;
глифы с не нависающими надстрочными буквами или диакритическими знаками, например, b, d, i, ä, ñ.
глифы с нависающими надстрочными или диакритическими символами, например, f, ľ, ï.
Теперь вам нужно только рассмотреть следующие группы случаев, для которых вы можете использовать разные таблицы кернинга:
1–1, 1–2, 2–1 и 2–2 - здесь вы можете применить свой стандартный кернинг: метрики для co, cö, ćo и ćö идентичны (при условии, что диакритические метки не нависают для вашего конкретного гарнитура).
3–1 и 1–3 также довольно просты: у io должны быть те же показатели, что и у io.
Только 3–2, 2–3 и 3–3 требуют некоторого внимания, но обычно вы можете поместить разные глифы в один и тот же класс кернинга. Например, î может иметь керн, как ǐ , а ľ может иметь керн, как f. Более того, поскольку диакритические знаки или восходящие элементы доминируют в кернинге, теперь вы можете группировать глифы, которые в противном случае требовали другого кернинга. Например, если o и õ были в классе кернинга, отличном от n и - для кернинга в 1–1, 1–2 и 2–1, они могут быть в том же классе, например, потому что fõ kerns совпадает с FÒ.
Таким образом, вы сможете адекватно охватить все случаи, не затрагивая ваши обычные метрики, учитывая каждую существующую орфографию и не нуждаясь в использовании чрезмерно детализированных классов кернинга. Чтобы увидеть это в действии, вы можете взять за стол кернинга Unifraktur Maguntia (над которым я работал).
Используйте контекстные формы - это альтернатива лигатурам, если кернинг приведет к нежелательно большому разрыву. Например, в Linux Libertine есть альтернативный узкий f, который используется, если следует буква с диакритическим знаком (обратите внимание, что кернинг все же немного отличается):
¹ Я понятия не имею, что означают эти слова, поэтому я надеюсь, что ради комедии это непристойные выражения.
источник