Как использовать комбинирование персонажей в НЛО 3? - PullRequest
0 голосов
/ 30 апреля 2018

Я создаю шрифт, записывая XML-файлы в формате Unified Font Object 3 .

Немного неясно, как можно создавать комбинированные символы в формате, поэтому я надеялся, что кто-нибудь сможет указать мне правильное направление с помощью быстрого примера?

В моем случае я использую частную область использования Unicode (U + E000-U + F8FF). Например, я бы хотел, чтобы U+E000 и U+E001 отображались друг на друге, если вводить их один за другим.

1 Ответ

0 голосов
/ 30 апреля 2018

Это звучит как небольшая путаница в терминах; Комбинированные символы Unicode - это четко определенные вещи с точным значением, не связанные с кодовыми точками PUA (которые в основном являются «нерегулируемыми, но адресно-кодированными глифами»). Лучше избегать PUA в современных шрифтах, вместо этого полагаясь на правила GSUB для разрешения -типируемые последовательности кода к внутренним идентификаторам глифов, а затем наличие правил GPOS, которые выполняют необходимое перепозиционирование на основе (пар) внутренних идентификаторов.

Похоже, вы пытаетесь понять, как определить правила, которые в шрифте OpenType являются данными GPOS, для пользовательского позиционирования пар кода. Если это так, то это то, что вы определяете в определении функции , в котором (для данного конкретного случая) вы устанавливаете правила GPOS для осуществления необходимого перемещения.

К сожалению, здесь нет «быстрых» примеров: функции GSUB / GPOS совсем не быстры и просты, и вы обычно не пишете их вручную (такие вещи, как FontForge, Fontlab, FontCreator и т. Д., Все поставляются с пользовательским интерфейсом для автоматизации частей или всего написания определений сценария / функции / поиска OpenType). Если вам абсолютно необходимо, вам, вероятно, придется несколько раз прочитать документацию по функциям, чтобы понять точный синтаксис и тип поиска GPOS, который вам нужно будет использовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...