
- •Предпосылки создания и развитие Юникода
- •Версии Юникода
- •Кодовое пространство
- •Система кодирования
- •Модифицирующие символы
- •Формы нормализации
- •Примеры
- •Двунаправленное письмо
- •Представленные символы
- •Способы представления
- •Порядок байтов
- •Юникод и традиционные кодировки
- •Реализации
- •Проблемы Юникода
- •«Юникод» или «Уникод»?
Формы нормализации
Поскольку одни и те же символы можно представить различными кодами, что иногда затрудняет обработку, существуют процессы нормализации, предназначенные для приведения текста к определённому стандартному виду.
В стандарте Юникода определены 4 формы нормализации текста:
-
Форма нормализации D (NFD) — каноническая декомпозиция. В процессе приведения текста в эту форму все составные символы рекурсивно заменяются на несколько составных, в соответствии с таблицами декомпозиции.
-
Форма нормализации C (NFC) — каноническая декомпозиция с последующей канонической композицией. Сначала текст приводится к форме D, после чего выполняется каноническая композиция — текст обрабатывается от начала к концу и выполняются следующие правила:
-
Символ S является начальным, если он имеет нулевой класс модификации в базе символов Юникода.
-
В любой последовательности символов, стартующей с начального символа S, символ C блокируется от S, если и только если между S и C есть какой-либо символ B, который или является начальным, или имеет одинаковый или больший класс модификации, чем C. Это правило распространяется только на строки, прошедшие каноническую декомпозицию.
-
Первичным композитом считается символ, у которого есть каноническая декомпозиция в базе символов Юникода (или каноническая декомпозиция для хангыля и он не входит в список исключений).
-
Символ X может быть первично совмещён с символом Y, если и только если существует первичный композит Z, канонически эквивалентный последовательности <X, Y>.
-
Если очередной символ C не блокируется последним встреченным начальным базовым символом L и он может быть успешно первично совмещён с ним, то L заменяется на композит L-C, а C удаляется.
-
-
Форма нормализации KD (NFKD) — совместимая декомпозиция. При приведении в эту форму все составные символы заменяются, используя как канонические карты декомпозиции Юникода, так и совместимые карты декомпозиции, после чего результат ставится в каноническом порядке.
-
Форма нормализации KC (NFKC) — совместимая декомпозиция с последующей канонической композицией.
Термины «композиция» и «декомпозиция» понимают под собой соответственно соединение или разложение символов на составные части.
Примеры
Исходный текст |
NFD |
NFC |
NFKD |
NFKC |
Français |
Franc\u0327ais |
Fran\xe7ais |
Franc\u0327ais |
Fran\xe7ais |
А, Ё, Й |
\u0410, \u0415\u0308, \u0418\u0306 |
\u0410, \u0401, \u0419 |
\u0410, \u0415\u0308, \u0418\u0306 |
\u0410, \u0401, \u0419 |
が |
\u304b\u3099 |
\u304c |
\u304b\u3099 |
\u304c |
Henry IV |
Henry IV |
Henry IV |
Henry IV |
Henry IV |
Henry Ⅳ |
Henry \u2163 |
Henry \u2163 |
Henry IV |
Henry IV |