Давайте сначала определим некоторые термины точно.
Юникод различает символы и графемы (или кластеры графем).Вы говорите о символах, но на самом деле вы имеете в виду символы.Символ - это просто свойство символа:
U+0928 ‹न› \N{DEVANAGARI LETTER NA} Other_Letter
U+25CC ‹◌› \N{DOTTED CIRCLE} Other_Symbol
U+094D ‹◌्› \N{DEVANAGARI SIGN VIRAMA} Combining_Mark
Каждый символ имеет числовой идентификатор (четыре или пять шестнадцатеричных цифр), который называется кодовой точкой.
Все предыдущиенизкоуровневая детализация, которая не должна касаться конечных пользователей или программистов, имеющих дело с текстом, она должна иметь отношение только к нескольким программистам, реализующим Unicode для языка программирования.(К сожалению, большинство программного обеспечения - включая языки программирования - сломано, плохо спроектировано или плохо реализовано, поэтому абстракция протекает.) Один уровень Unicode, न्न состоит из двух графем:
› perl -Mutf8 -E 'say scalar split /\b{g}/, "न्न"'
2
› perl6 -e '"न्न".chars.say'
2
› node -e 'console.log((new(require("grapheme-splitter"))).countGraphemes("न्न"))'
2
(ответ Python, показывающий3 неверно.)
Вы по-прежнему можете видеть две графемы при выделении текста или при удалении текста, начиная с правой стороны, с помощью клавиши ⌫ Backspace:
ders отображается как один глиф, потому что это лигатура.Многие сценарии такие странные, не только Деванагари. Эта тема не имеет ничего общего с Unicode, однако, это задача средства визуализации шрифтов. Следовательно, ваш вопрос по поиску идентификатора в Unicode для глифа не имеет смысла - он имеет только один идентификатор внутрифайл шрифта.Например, в семействе шрифтов «Пользовательский интерфейс Noto Sans Devanagari» глиф можно найти по его идентификатору nanadeva
.