Юникод, объединяющий диакритические знаки в разных блоках - PullRequest
1 голос
/ 29 января 2012

Кто-нибудь знает способ добавления диакритических знаков из разных блоков юникода, например, латинскими буквами (или латинскими диакритиками, например, деванагари)? Например:

Oै

Я пробовал соединение с нулевой шириной, но это не имело никакого эффекта. Есть идеи? Я знаю, например, что арабские диакритические знаки будут работать с латинскими буквами, а иврит - нет. Это случайно?

Ответы [ 2 ]

3 голосов
/ 29 января 2012

Соответствие стандарту Unicode, Глава 2 , раздел 2.11, «Все комбинирующие символы могут быть применены к любому базовому символу и, в принципе, могут использоваться с любым сценарием». Таким образом, латинская буква Oпосле знака гласного Деванагари допускается ай U + 0948.Но стандарт добавляет: «Это не создает обязательства для реализаций поддерживать одинаково хорошо все возможные комбинации.Таким образом, несмотря на то, что допускается применение арабской аннотации к ханскому символу или согласному деванагари, маловероятно, что оно будет хорошо поддержано при рендеринге или имеет какой-либо смысл ».

Так что дело за реализациями.Но есть некоторые «кросс-сценарий» диакритические знаки.Например, острый акцент был объединен с греческой маркой tonos, поэтому латинская буква é и греческая буква when при разложении содержат один и тот же диакритический знак U + 0301.Кроме того, этот знак объединения может быть помещен после кириллицы, и это можно рассматривать как нормальное (хотя и относительно редкое) использование, поэтому мы можем ожидать, что хорошие реализации отобразят его правильно.

0 голосов
/ 29 января 2012

отлично сработало для меня. Я просто набрал символы. Вероятно, зависит от программы, отрисовывающей текст.

O ै

...