В чем разница между 'сочетание символов и ' расширители графем в Юникоде?
Они, похоже, делают то же самое, насколько я могу судить, хотя набор расширителей графем больше, чем набор комбинаций символов. Im явно чего-то не хватает. Почему различие?
Стандарт Unicode, глава 3, D52
- Комбинирующий символ: символ с общей категорией объединения метки (M).
- Комбинированные символы состоят из всех символов с значениями общей категории интервала, объединяющего знак (Mc), знак нераспространения (Mn) и знак закрытия (Me).
- Все символы с ненулевым каноническим сочетанием классов объединяют символы, но обратное не так: сочетаются символы с нулевым каноническим сочетанием класса.
- Интерпретация символов private-use (Co) как объединение символов или не определяется реализацией.
- Эти символы обычно не используются изолированно, если они не описаны. Они включают в себя такие персонажи, как акценты, диакритические знаки, иврит, арабские знаки гласных и инди-матрас.
- Графическое позиционирование комбинирующего символа зависит от последнего предшествующего базового символа, если только они не разделены символом, который не является ни комбинирующим символом, ни стопором с нулевой шириной или нестационарной шириной. Говорят, что символ объединения применяется к этому базовому символу.
- Не может быть такого базового символа, например, когда комбинационный символ находится в начале текста или следует за символом управления или форматирования, например, возврат каретки, вкладка или правая левая метка. В таких случаях комбинирующие символы называются изолированными комбинациями символов.
- С изолированными комбинационными символами или когда процесс не может выполнить графическую комбинацию, процесс может представлять комбинирующий символ без графической комбинации; то есть он может представлять его, как если бы он был базовым.
- Репрезентативные изображения комбинирующих символов изображаются с пунктирным кругом в кодовых диаграммах. Когда он представлен в графической комбинации с предыдущим базовым символом, этот базовый символ должен появиться в позиции, занятой пунктиром.
Стандарт Unicode, глава 3, D59
- Расширитель Grapheme: персонаж с свойством Grapheme_Extend.
- Символы расширителя Grapheme состоят из всех нестационарных меток, стопоров с нулевой шириной, без столяров с нулевой шириной, U + FF9E, U + FF9F и небольшого количества меток интервала.
- Расширитель графемы можно представить в первую очередь как вид несанкционированного графического знака, который применяется выше или ниже другого символа интервала. нулевой ширины и нулевой ширины без формального соединения формально определяются как расширители графем, так что их присутствие не разрушает последовательность других расширителей графемы.
- Небольшое количество меток, имеющих свойство Grapheme_Extend, - это все две части комбинированной метки из двух частей.
- Набор символов с свойством Grapheme_Extend и набором символов с свойством Grapheme_Base по определению не пересекаются.