Введение
Unicode 2.0
Unicode содержит некоторое количество дублирования символов. Это пары отдельных кодовых точек Unicode, которые канонически эквивалентны. Причина этого – проблемы совместимости с устаревшими системами. Если два символа не являются канонически эквивалентными, они не считаются "дубликатами" в строгом смысле. Однако могут возникать разногласия относительно того, действительно ли два символа Unicode кодируют одну и ту же графему в таких случаях, как versus . Это следует чётко отличать от символов Unicode, которые отображаются идентичными или почти идентичными глифами (гомоглифами), либо из-за исторического родства (например, греческая Η и латинская H), либо из-за случайного сходства (например, греческая Ρ и латинская P, или греческая Η и кириллица Н, или следующая группа из семи гомоглифов: астрономический символ для "Солнца" ☉, "оператор обводящей точки" ⊙, готическая буква 𐍈, символ IPA для билабиального щелчка , буква осейдж 𐓃, буква тифинаг ⵙ и устаревшая кириллическая буква Ꙩ).
This should be clearly distinguished from Unicode characters that are rendered as identical glyphs or near identical glyphs (homoglyphs), either because they are historically cognate (such as Greek Η vs. Latin H) or because of coincidental similarity (such as Greek Ρ vs. Latin P, or Greek Η vs. Cyrillic Н, or the following homoglyph septuplet: astronomical symbol for "Sun" ☉, "circled dot operator" ⊙, the Gothic letter 𐍈, the IPA symbol for a bilabial click , the Osage letter 𐓃, the Tifinagh letter ⵙ, and the archaic Cyrillic letter Ꙩ).
Дублированный или производной символ
Юникод стремится кодировать графемы, а не отдельные "значения" ("семантику") графем, и не глифы. В каждом конкретном случае решается, следует ли предоставлять отдельное кодирование таким символам при использовании в технических контекстах, например, греческим буквам, используемым в качестве математических символов. Таким образом, решение о выделении "знака микро" µ отдельно от греческой μ, но не "знака мега" отдельно от латинской M, было прагматичным решением консорциума Unicode, обусловленным историческими причинами (в частности, совместимостью с Latin 1, который включал знак микро). Технически, µ и μ не являются дублирующими символами, поскольку консорциум рассматривал эти символы как различные (в то время как M для обозначения "Мега" и латинскую M он считал одним и тем же символом). Важно отметить, что одного лишь наличия разных "значений" недостаточно для разделения графемы на несколько символов: например, острый акцент может обозначать ударение в валлийском или шведском языках, качество гласного во французском и длину гласного в венгерском, исландском или ирландском. Поскольку все эти языки используют один и тот же шрифт – латиницу, острый акцент в различных значениях рассматривается как один и тот же комбинируемый диакритический знак (U+0301), и поэтому акцентированная буква é является одним и тем же символом во французском и венгерском языках. Существует отдельный "комбинируемый диакритический знак острого тона" в U+0341 для романизации тоновых языков, одним из ключевых отличий от острого акцента является то, что во французском языке острый акцент может заменять точку над строчной i, а во вьетнамском – добавляться над точкой. Диакритические знаки для алфавитов, считающихся независимыми, могут быть закодированы отдельно, например, для греческого алфавита в U+0384 и для армянского алфавита в U+055B. Некоторые алфавиты на основе кириллицы (например, русский) также используют острый акцент, но отдельного "кириллического острого акцента" не кодируется, и U+0301 следует использовать как для кириллицы, так и для латиницы (см. кириллические символы в Unicode). Тот факт, что одна и та же графема может иметь множество "значений", становится еще более очевидным, если рассмотреть, например, букву U, которая имеет совершенно разные фонетические соответствия в различных языках, использующих ее в орфографии (английский и т.д., французский, немецкий и т.д., не говоря уже о различных применениях U в качестве символа).
Формы CJK с полной шириной
В традиционных китайских кодировках символов символы обычно занимали один байт (известный как полуширинный) или два байта (известный как полноширинный). Символы, занимавшие один байт, обычно отображались вполовину ширины тех, которые занимали два байта. Некоторые символы, такие как латинский алфавит, были доступны как в полуширинном, так и в полноширинном вариантах. Поскольку полуширинные варианты использовались чаще, именно они обычно соответствовали стандартным кодовым точкам для этих символов. Поэтому для сохранения различия требовался отдельный раздел для форм полной ширины.
Буквенные символы
В некоторых случаях отдельные графемы приобрели специализированное символическое или техническое значение, отличное от их первоначальной функции. Ярким примером является греческая буква π, которая широко известна как символ математической константы – отношения длины окружности к диаметру – даже среди людей, не владеющих греческим языком. Ряд вариантов греческого и латинского алфавитов, специально предназначенных для использования в качестве математических символов, закодированы в диапазоне "Математические алфавитно-цифровые символы". Этот диапазон позволяет различать символы, которые обычно рассматриваются как варианты шрифта, но кодируются отдельно из-за их широкого использования в качестве самостоятельных математических символов (например, L, "script L", "blackletter L" и "boldface blackletter L"). Он предназначен исключительно для использования в математической или технической нотации и не должен применяться в нетехнических текстах.
Греческий
Многие греческие буквы используются в качестве технических символов. Все греческие буквы закодированы в греческом разделе Unicode, но многие кодируются повторно под названием технического символа, который они представляют. "Знак микро" (U+00B5, µ) очевидно унаследован от ISO 8859-1, но происхождение остальных менее понятно. Другие варианты греческих глифов, закодированные как отдельные символы, включают лунную сигму Ϲ ϲ, отличающуюся от Σ σ, финальную сигму ς (строго говоря, контекстный вариант глифа), отличающуюся от σ, числовой символ коппа Ϟ ϟ, отличающийся от архаичного Ϙ ϙ.
Греческим буквам присвоены отдельные кодовые точки "символов", включая буквоподобные символы ϐ, ϵ, ϑ, ϖ, ϱ, ϒ и ϕ (отличающиеся от β, ε, θ, π, ρ, Υ, φ); символ Ома Ω (отличающийся от Ω); и математические операторы для произведения ∏ и суммы ∑ (отличающиеся от Π и Σ).
Римские цифры
Unicode содержит ряд символов, специально предназначенных для представления римских цифр, в диапазоне форм чисел от U+2160 до U+2183. Например, римское число 1988 можно также записать как . Этот диапазон включает как прописные, так и строчные цифры, а также предварительно объединенные глифы для чисел до 12 (например, для циферблатов часов). Предварительно объединенные глифы следует использовать только для представления отдельных чисел, когда нежелательно использование отдельных глифов, и не для замены составных чисел. Например, можно объединить с , чтобы обозначить римское число одиннадцать, поэтому U+216A канонически эквивалентно . Такие символы также называют составными символами совместимости или разлагаемыми символами совместимости. Обычно такие символы не включались бы в стандарт Unicode, если бы не необходимость обеспечения совместимости с другими существующими кодировками (см. символы совместимости Unicode). Целью было упростить перевод из существующих кодировок в Unicode. Это усложняет обратный перевод, поскольку несколько символов Unicode могут соответствовать одному символу в другой кодировке. Без учета проблем совместимости, необходимы были бы только символы: ; все остальные римские цифры можно составить из них.