Из Википедии, бесплатной энциклопедии
  (Перенаправлен из общей категории (Unicode) )
Перейти к навигации Перейти к поиску

Стандарт Unicode присваивает свойства символов в каждой точке кода . [1] Эти свойства могут использоваться для обработки «символов» (кодовых точек) в процессах, таких как разрыв строки, направление скрипта справа налево или применение элементов управления. Немного непоследовательно, некоторые «свойства символа» также определены для кодовых точек, которым не назначен символ, и кодовых точек, которые помечены как «<не символ>». Свойства персонажа описаны в Стандартном Приложении №44. [2]

Свойства имеют уровни силы: нормативный, информативный, вспомогательный или предварительный. Для простоты описания свойство символа может быть присвоено путем указания непрерывного диапазона кодовых точек, которые имеют одно и то же свойство.

Имя [ редактировать ]

Символу Unicode присваивается уникальное имя (na). [1] Имя состоит из прописных букв A – Z, цифр 0–9, - (дефис-минус) и <пробел>. Некоторые последовательности исключены: имена, начинающиеся с пробела или дефиса, имена, заканчивающиеся пробелом или дефисом, повторяющиеся пробелы или дефисы и пробелы после дефиса не допускаются. Имя гарантированно уникально в Юникоде и может использоваться для идентификации кодовой точки и ее символа. Идеографические символы, которых насчитывается несколько десятков тысяч, названы в шаблоне « cjk unified ideograph - hhhh ». Например, U + 4E00 CJK UNIFIED IDEOGRAPH-4E00 . Также названы символы форматирования: U + 00A0 NO-BREAK SPACE   .

Следующие классы кодовых точек не имеют имени (na = ""): элементы управления (общая категория: Cc), частное использование (Co), суррогатное (Cs), несимвольные (Cn) и зарезервированные (Cn). На них могут неофициально ссылаться общее или конкретное мета-имя, называемое «метки кодовых точек»: <control>, <control-0088>, <reserved>, <noncharacter- hhhh >, <private-use- hhhh > , <суррогат>. Поскольку эти метки содержат скобки <>, они никогда не могут отображаться как имя, что предотвращает путаницу.

Имена версии 1.0 [ править ]

В версии 2.0 Unicode были изменены многие имена. С этого момента вступило в силу правило «имя никогда не изменится», включая строгое (нормативное) использование псевдонимов. Неиспользуемые имена версии 1.0 были перемещены в свойство Alias ​​для обеспечения обратной совместимости.

Псевдоним имени персонажа [ править ]

Начиная с версии 2.0 Unicode, опубликованное имя кодовой точки никогда не изменится. Следовательно, в случае неправильного написания имени персонажа или если имя персонажа полностью неверно или серьезно вводит в заблуждение, персонажу может быть назначен формальный псевдоним имени персонажа, и этот псевдоним может использоваться приложениями вместо фактического дефектного имени персонажа. . [1] Например, U + FE18ФОРМА ПРЕЗЕНТАЦИИ ДЛЯ ВЕРТИКАЛЬНОГО ПРАВОГО БЕЛОГО ЛЕНТИКУЛЯРНОГО КРОНШТЕЙНА имеет псевдоним имени символа "ПРЕЗЕНТАЦИОННАЯ ФОРМА ДЛЯ ВЕРТИКАЛЬНОЙ ПРАВОЙ БЕЛЫЙ ЛЕНТИКУЛЯРНЫЙ КРОНШТЕЙН", чтобы избежать ошибки в написании "скобки" как "скобки" в фактическом название характера; U + A015YI СЛОВО WU имеет псевдоним имени символа "YI SYLLABLE ITERATION MARK", потому что, в отличие от имени символа, он не имеет фиксированного слогового значения.

В дополнение к псевдонимам имен символов, которые являются исправлением дефектных имен символов, некоторым символам присваиваются псевдонимы, которые являются альтернативными именами или сокращениями. В стандарте Unicode определены пять типов псевдонимов имен символов:

  • Исправление: исправления неправильно написанных или серьезно неправильных имен персонажей;
  • Управление: имена ISO 6429 для функций управления C0 и C1 (которым не присвоены имена символов в стандарте Unicode);
  • Альтернативные: альтернативные имена для некоторых символов формата (только U + FEFF «ZERO WIDTH NO-BREAK SPACE», у которого есть псевдоним «BYTE ORDER MARK»);
  • Рисунок: Документированные метки для некоторых функций управляющего кода C1, которые не являются действительными именами ни в одном стандарте;
  • Аббревиатура: аббревиатуры или акронимы для управляющих кодов, символов формата, пробелов и селекторов вариантов.

Все формальные псевдонимы имен символов соответствуют правилам для допустимых имен символов и гарантированно уникальны как в псевдониме имени символа, так и в пространстве имен символов (по этой причине имя ISO 6429 «BELL» не определено как псевдоним для U +0007, потому что U + 1F514 назван "BELL"). [1]

Начиная с Unicode версии 12.1, двадцать восемь формальных псевдонимов имен символов определены как исправления для дефектных имен символов. [3]

Помимо этих нормативных имен, в таблицах кодов Unicode могут отображаться неофициальные имена . Это другие часто используемые имена для символа, и их необязательно ограничивать буквами A – Z, цифрами 0–9, - (дефис-минус) и <пробел>. Уникальность этих неофициальных имен не гарантируется, и они могут быть изменены или удалены в более поздних версиях стандарта.

Общая категория [ править ]

Каждой кодовой точке присваивается значение для общей категории. Это одно из свойств символа, которые также определены для неназначенных кодовых точек и кодовых точек, которые определены как «не символ».

Пунктуация [ править ]

У символов есть отдельные свойства, чтобы обозначить, что они являются символом пунктуации . Все свойства имеют значения Да / Нет : Dash , Quotation_Mark , Sentence_Terminal , Terminal_Punctuation .

Пробел [ править ]

Пробелы - это часто используемое понятие для создания типографского эффекта. В основном он охватывает невидимые символы, которые имеют эффект интервала в отображаемом тексте. Он включает в себя пробелы , табуляции и элементы управления форматированием новой строки. В Юникоде для такого символа установлено свойство WSpace = yes. В версии 13.0 25 пробелов.


Прочие общие характеристики [ править ]

Идеографический, буквенный, безхарактерный.

Свойства, связанные с отображением [ править ]

Формовка, ширина.

Двунаправленное письмо [ править ]

К двунаправленному письму относятся шесть свойств символов: Bidi_Class, Bidi_Control, Bidi_Mirrored, Bidi_Mirroring_Glyph, Bidi_Paired_Bracket и Bidi_Paired_Bracket_Type.

Одной из основных функций Unicode является поддержка двунаправленного ( Bidi ) отображения текста справа налево (R-to-L) и слева направо (L-to-R). Двунаправленный алгоритм Unicode UAX9 [17] описывает процесс представления текста с изменением направления сценария. Например, он включает цитату на иврите в английском тексте. Bidi_Character_Type отмечает поведение персонажа при направленном письме. Чтобы переопределить направление, Unicode определил специальные символы управления форматированием ( Bidi-Control s). Эти символы могут определять направление и по определению влияют только на двунаправленное письмо.

У каждой кодовой точки есть свойство Bidi_Class . Он определяет его поведение в двунаправленном тексте, интерпретируемом алгоритмом:

Двунаправленный тип символа ( свойство символа Unicode Bidi_Class) [1]

В обычных ситуациях алгоритм может определять направление текста по этому свойству символа. Для управления более сложными ситуациями с Bidi, например, когда в английском тексте есть цитата на иврите, в Unicode добавляются дополнительные параметры. Двенадцать символов имеют свойство Bidi_Control = Yes : ALM, FSI, LRE, LRI, LRM, LRO, PDF, PDI, RLE, RLI, RLM и RLO, как указано в таблице. Это невидимые управляющие символы форматирования, используемые только алгоритмом и не имеющие никакого эффекта за пределами двунаправленного форматирования. [17] Несмотря на название, они являются символами форматирования, а не управляющими символами, и имеют общую категорию «Другой, формат (Cf)» в определении Unicode.

По сути, алгоритм определяет последовательность символов с одним и тем же строгим типом направления (R-to-L или L-to-R) с учетом отмены специальных элементов управления Bidi. Числовым строкам (слабые типы) присваивается направление в соответствии с их сильным окружением, как и нейтральным символам. Наконец, символы отображаются в соответствии с направлением строки.

Два свойства символа имеют отношение к определению зеркального отображения глифа в двунаправленном тексте: Bidi_Mirrored = Yes указывает, что глиф должен быть зеркальным при записи R-to-L. Свойство Bidi_Mirroring_Glyph = U + hhhh может затем указывать на зеркальный символ. Например, скобки «()» отражаются таким образом. Формирование рукописных шрифтов, таких как арабский, и зеркальное отображение глифов, имеющих направление, не является частью алгоритма.

Корпус [ править ]

Значение Case является нормативным в Юникоде. Это относится к тем скриптам, которые содержат прописные (они же заглавные, маюскульные) и строчные (маленькие, минускульные) буквы. Разница в регистре встречается в адламском, армянском, чероки, коптском, кириллице, десеретском, глаголице, греческом, хуцури и мхедрули грузинском, латинском, медефайдринском, старовенгерском, осейдж и варанг сити.

(верхний, нижний, заголовок, складной - простой и полный)

Числовые значения и типы [ править ]

Десятичный [ править ]

Символы классифицируются по числовому типу . [1] Такие символы, как дроби, подстрочные и надстрочные индексы, римские цифры, числители денежных единиц, числа в кружках и цифры, относящиеся к конкретному сценарию, относятся к типу «Числовой». Они имеют числовое значение, которое может быть десятичным, включая ноль и минус, или обычную дробь. Если такого значения нет, как у большинства символов, числовой тип - «Нет».

Символы, которые имеют числовое значение, разделены на три группы: десятичные (De), цифровые (Di) и числовые (Nu, т. Е. Все остальные). «Десятичный» означает, что символ представляет собой прямую десятичную цифру. Числовой тип Decimal имеют только символы, входящие в непрерывный диапазон кодирования 0–9. Другие цифры, например надстрочные, имеют числовой тип Digit. Все числовые символы, такие как дроби и римские цифры, заканчиваются типом «Числовой». Предполагаемый эффект состоит в том, что простой синтаксический анализатор может использовать эти десятичные числовые значения, не отвлекаясь, скажем, на числовой верхний индекс или дробь. Семьдесят три иероглифа CJK, которые представляют собой числа, в том числе используемые для бухгалтерского учета, набираются числовыми.

С другой стороны, символы, которые могут иметь числовое значение в качестве второго значения, по-прежнему помечаются как числовой тип «Нет» и не имеют числового значения («»). Например, в нумерации абзацев можно использовать латинские буквы, такие как «II.A.1.b», но буквы «I», «A» и «b» не являются числовыми (тип «None») и не имеют числового значения.

Шестнадцатеричные цифры [ править ]

Шестнадцатеричные символы - это символы в серии с шестнадцатеричными значениями 0 ... 9ABCDEF (шестнадцать символов, десятичное значение 0–15). Свойство символа Hex_Digit имеет значение Да, когда персонаж находится в такой серии:

Сорок четыре символа помечены как Hex_Digit. Те, что в блоке Basic Latin, также помечены как ASCII_Hex_Digit .

Юникод не имеет отдельных символов для шестнадцатеричных значений. Следствием этого является то, что при использовании обычных символов невозможно определить, предназначено ли шестнадцатеричное значение или даже предназначено ли оно вообще. Это должно быть определено на более высоком уровне, например, добавлением «0x» к шестнадцатеричному числу или контекстом. Единственная особенность заключается в том, что Unicode может отметить, что последовательность может быть или не может быть шестнадцатеричным значением.

Заблокировать [ редактировать ]

Блок представляет собой уникальное имя, непрерывный диапазон кодовых точек. Он идентифицируется его первой и последней кодовой точкой. Блоки не перекрываются . Блок может содержать кодовые точки, которые зарезервированы, не присвоено и т.д. Каждый символ , который будет назначен, имеет один «имя блока» значение из 308 имен , присвоенных в версии Unicode 13.0 Нераспределенных кодовых точек вне существующего блока, имеет значение по умолчанию «No_block».

Скрипт [ править ]

Каждый назначенный символ может иметь одно значение для своего свойства «Сценарий», указывающее, к какому сценарию он принадлежит. [18] Значение представляет собой четырехбуквенный код в диапазоне Aaaa-Zzzz, как это доступно в ISO 15924, который отображается в систему записи . Помимо описания фона и использования сценария, Unicode не использует связь между сценарием и языками, которые используют этот сценарий. Итак, «иврит» относится к еврейскому письму, а не к еврейскому языку.

Специальный код Zyyy для «Common» допускает одно значение для символа, который используется в нескольких сценариях. Код Zinh «Унаследованный сценарий», используемый для объединения символов и некоторых других кодовых точек специального назначения, указывает на то, что символ «наследует» свою подлинность сценария от символа, с которым он сочетается. (Ранее для этой цели Unicode использовал частный код Qaai.) Код Zzzz «Неизвестно» используется для всех символов, которые не принадлежат сценарию (т. Е. Значения по умолчанию), таких как символы и символы форматирования. В целом, символы одного скрипта могут быть разбросаны по нескольким блокам, как латинские символы . И наоборот: может присутствовать несколько скриптов в одном блоке, например, блок буквоподобных символов. содержит символы латинского, греческого и общеупотребительного алфавита.

Когда сценарий "" (пустой), в соответствии с Unicode символ не принадлежит сценарию. Это относится к символам, поскольку существующие коды сценариев ISO «Zmth» (математическая нотация), «Zsym» (символ) и «Zsye» (символ, вариант эмодзи) не используются в Unicode. Свойство «Сценарий» также пусто для кодовых точек, не являющихся типографскими символами, таких как элементы управления, замены и кодовые точки для частного использования.

Если есть конкретный сценарий имя псевдонима в ISO 15924, она используется в имени персонажа: U + 0041 A LATIN заглавной буквы A , и U + 05D0 א ЕВРЕЙСКОГО ПИСЬМО Алеф .


Свойства нормализации [ править ]

Декомпозиции, тип декомпозиции, канонический класс комбинирования, исключения композиции и многое другое.

Возраст [ править ]

Возраст - это версия Стандарта, в которой кодовая точка была впервые обозначена. Номер версии сокращен до нумерации major.minor, хотя используются более подробные номера версий: версии 4.0.0 и 4.0.1 обе называются 4.0 как Age. Для выпусков возраст может быть из диапазона: 1.1, 2.0, 2.1, 3.0, 3.1, 3.2, 4.0, 4.1, 5.0, 5.1, 5.2, 6.0, 6.1, 6.2, 6.3, 7.0, 8.0, 9.0, 10.0, 11.0. , 12,0, 12,1 и 13,0. [24] Длинные значения для Age начинаются с буквы V и используют подчеркивание вместо точки: например, V1_1. [2] Кодовые точки без специально назначенного значения возраста имеют значение «NA» с длинной формой «Unassigned».

Устарело [ править ]

После определения символа он не будет отозван или изменен при определении свойств (кодовая точка, имя). Но его можно объявить устаревшим : закодированный символ, использование которого категорически не рекомендуется . [25] Начиная с версии Unicode 10.0, пятнадцать символов устарели:

  • U + 0149 СТРОЧНАЯ ЛАТИНСКАЯ БУКВА N ПРЕДШЕСТВУЮЩИЙ АПОСТРОФУ: используйте вместо этого последовательность ʼ0020 006E (ʼ n)
  • U + 0673 АРАБСКАЯ БУКВА ALEF С ВОЛНЫМ ХАМЗА НИЖЕ: используйте вместо этого последовательность 0627 065F (اٟ)
  • U + 0F77 TIBETAN VOWEL SIGN VOCALIC RR: используйте вместо этого последовательность 0FB2 0F81 (ྲཱ ྀ)
  • U + 0F79 TIBETAN VOWEL SIGN VOCALIC LL: используйте вместо этого последовательность 0FB3 0F81 (ླཱ ྀ)
  • U + 17A3 KHMER INDEPENDENT VOWEL QAQ: используйте 17A2 KHMER LETTER QA (អ) вместо
  • U + 17A4 KHMER INDEPENDENT VOWEL QAA: используйте вместо этого последовательность 17A2 17B6 (អា)
  • U + 206A ЗАПРЕТ СИММЕТРИЧНОЙ ЗАМЕНА
  • U + 206B АКТИВИРОВАТЬ СИММЕТРИЧЕСКУЮ ЗАМЕНУ
  • U + 206C ЗАПРЕЩАЕТ ФОРМИРОВАНИЕ АРАБСКОЙ ФОРМЫ
  • U + 206D АКТИВАЦИЯ АРАБСКОГО ФОРМЫ
  • ФОРМЫ НАЦИОНАЛЬНЫХ ЦИФРОВ U + 206E
  • НОМИНАЛЬНАЯ ФОРМА ЦИФРОВ U + 206F
  • U + 2329 ЛЕВЫЙ УГЛОВОЙ КРОНШТЕЙН: вместо этого используйте ЛЕВЫЙ УГОЛ U + 3008 (〈)
  • U + 232A УГЛОВОЙ КРОНШТЕЙН НАПРАВО: вместо этого используйте КРОНШТЕЙН ПРАВОГО УГЛА U + 3009 (〉).
  • U + E0001 ЯЗЫКОВЫЙ ТЕГ

Символы формата от U + 206A до U + 206F и U + E0001 вообще не должны использоваться, но для других устаревших символов есть рекомендуемые альтернативы, как показано выше.

Границы [ править ]

Стандарт Unicode определяет следующие свойства, связанные с границами:

  • Кластер графема
  • Слово
  • Линия
  • Приговор

Ссылки [ править ]

  1. ^ a b c d e "Стандарт Unicode, Глава 4: Свойства символов" (PDF) . Unicode, Inc. марта 2020 . Проверено 15 марта 2020 .
  2. ^ a b «Приложение № 44 к стандарту Unicode: База данных символов Unicode» . Стандарт Юникода . 2017-06-14.
  3. ^ "UCD: Псевдонимы" . База данных символов Юникода . Консорциум Unicode. 2019-03-08.
  4. ^ «Стандарты дизайна персонажей - символы пробела» . Стандарты дизайна персонажей . Microsoft . 1998–1999. Архивировано из оригинального 23 августа 2000 года . Проверено 18 мая 2009 .
  5. ^ Стандарт Unicode 5.0, печатное издание, стр.205
  6. ^ "Общая пунктуация" (PDF) . Стандарт Юникода 5.1 . Unicode Inc . 1991–2008 гг . Проверено 13 мая 2009 .
  7. Сарджент, Мюррей III (29 августа 2006 г.). «Кодирование почти простого текста Unicode математики (версия 2)» . Техническая записка по Unicode № 28 . Unicode Inc . С. 19–20 . Проверено 19 мая 2009 .
  8. ^ Гиллам, Ричард (2002). Unicode Demystified: Практическое руководство программиста по стандарту кодирования . Эддисон-Уэсли. ISBN 0-201-70052-2.
  9. ^ а б Хиксон, Ян . «12.5 Ссылки на именованные символы» . Стандарт HTML . WHATWG .
  10. ^ Вольфрам . "\ [NegativeThickSpace]" . Документация по языку Wolfram Language .
  11. ^ Вольфрам . "\ [NegativeMediumSpace]" . Документация по языку Wolfram Language .
  12. ^ Вольфрам . "\ [NegativeThinSpace]" . Документация по языку Wolfram Language .
  13. ^ Вольфрам . "\ [NegativeVeryThinSpace]" . Документация по языку Wolfram Language .
  14. ^ Faltstrom П., изд. (Август 2010 г.). «Несоединение нулевой ширины» . Кодовые точки Unicode и интернационализированные доменные имена для приложений (IDNA) . IETF . сек. А.1. DOI : 10,17487 / RFC5892 . RFC 5892 . Проверено 4 сентября 2019 года .
  15. ^ Faltstrom П., изд. (Август 2010 г.). «Столяр нулевой ширины» . Кодовые точки Unicode и интернационализированные доменные имена для приложений (IDNA) . IETF . сек. А.2. DOI : 10,17487 / RFC5892 . RFC 5892 . Проверено 4 сентября 2019 года .
  16. ^ "Приложение № 44 к стандарту Unicode, База данных символов Unicode" .
  17. ^ a b «Приложение № 9 к стандарту Unicode: двунаправленный алгоритм Unicode» . Стандарт Юникода . 2017-05-14.
  18. ^ "Приложение № 24 к стандарту Unicode: Свойство сценария Unicode" . Стандарт Юникода . 2015-06-01.
  19. ^ a b c d e f g h i «Предлагаемые новые сценарии» . Консорциум Unicode . 2018-05-25 . Проверено 12 сентября 2019 .
  20. ^ Майкл Эверсон (1997-09-18). «Предложение по кодированию клингонов в плоскости 1 стандарта ISO / IEC 10646-2» .
  21. ^ Консорциум Unicode (2001-08-14). «Утвержденный протокол совместного заседания UTC 87 / L2 184» .
  22. ^ Мори, Стивен; Панди, Аншуман (07.01.2021). «Предложение о добавлении скрипта Tangsa в SMP UCS» (PDF) . Консорциум Unicode . L2 / L2021 / 21027 . Источник 2021-02-19 .
  23. ^ «Ближний Восток-II, Древние сценарии» (PDF) . 13.0.0. The Unicode Consortiumtitle = Ближневосточные скрипты II . Источник 2021-01-28 .
  24. ^ "UCD: Производный возраст" . База данных символов Юникода . Консорциум Unicode. 2019-09-08.
  25. ^ «Стандарт Unicode, Глава 3.4. Символы и кодирование, D13: устаревший символ» (PDF) . Стандарт Юникода . Март 2020.