- 22, Oct 2024
- #1
При разработке шрифта для другого языка в Юникоде, как изменить положение символов, чтобы они отображались так, как им нужно?
Редактировать: поскольку у некоторых из вас символы не отображаются, я включаю изображение с текстом и буду ссылаться на ту строку изображения, на которую я ссылаюсь при использовании символов (Формат: [символ]/[ номер строки на изображении])
Например, в Гурмукхи символ ਿ/1 (гласная) должен появляться перед (согласным) символом, к которому он присоединен. Например, если он прикреплен к ਸ/2, он отображается как ਸਿ/3. Хотя он появляется раньше, символ ਿ/1 на самом деле находится после символа ਸ/2 (с точки зрения того, как он хранится). Вы можете увидеть это, скопировав символы вместе в другое текстовое поле и нажав клавишу Backspace.
Примечательно, что он даже сдвигает символ, к которому прикреплен, чтобы освободить место, когда это необходимо. См. этот пример: ਨਾਮ/4 и ਨਾਮਿ/5. Здесь вы можете сдвинуть символ ਮ/6 вправо, чтобы освободить место для символа ਿ/1 (опять же, вы можете увидеть это лучше, если скопируете и нажмете Backspace).
Я видел другие позиции персонажей, обрабатываемые с помощью якорей, но, похоже, они здесь не совсем применимы. Даже для других персонажей в Гурмухи для изменения положения персонажа используются якоря. Например, ੁ/7 должна располагаться под согласной, например: ਸੁ/8. Шрифты Unicode справляются с этой задачей с помощью привязок, но когда дело доходит до ਿ/1, это не тот случай. Открыв шрифт Unicode на чем-то вроде FontForge, вы можете увидеть, что в символе ਿ/1 нет привязки (U+0A3F, если хотите). Кроме того, я видел, что в языках с написанием справа налево, таких как арабский, также нет привязок, поэтому они, вероятно, тоже обрабатываются по-другому.
Но как именно решаются эти дела?
#шрифты #типографика #дизайн шрифтов #unicode