Кириллица в Юникоде

Материал из Циклопедии
Перейти к навигации Перейти к поиску

Кириллица — одна из приблизительно 93 современных письменностей (систем письма), включённых в Юникод. Указание на принадлежность к кириллице содержится в свойстве «письменность» для 443 кодовых позиций Юникода.[1] Однако, подавляющее большинство использований имеют коды в диапазоне U+0400–U+045F, то есть, первые 96 позиций кириллицы в Юникоде. Буквы с указанными кодами почти покрывают славянские языки и большинство из них присутствует в «кодовой странице 1251» — форме кодирования славянской кириллицы, преобладавшей в начале XXI века.

Если для языков славянских переход от кодовых страниц к Юникоду был сменой доминирующего цифрового стандарта, не принёсшей существенных[Прим. 1] выгод, то многие другие языки с кириллической письменностью вообще не поддерживались полноценно кодовыми страницами.[Прим. 2] Использование Юникода является практически необходимым для работы с текстами, к примеру, на абхазском, или для цифрового кодирования древних славянских рукописей.

В набор символов Юникода включены многочисленные видоизменения букв кириллицы. Помимо того, в соответствии с идеологией Юникода, приходится отдельно включать ещё и отдельные заимствования из латиницы или греческого, используемые в редких кириллических орфографиях. Каждый закодированный в Юникоде знак письма (англ. letter) относится к ровно одной письменности, и использование в словах знаков другой письменности не поощряется. Так, коды выделены буквам «Ԛ» (U+051A, U+051B) и «Ԝ» (U+051C, U+051D), не отличающимся от латинских прототипов «Q» и «W» ни написанием, ни фонетической нагрузкой.

Блоки[править]

Cyrillic (кириллица): U+0400–U+04FF[править]

Крупнейший, важнейший и старейший блок на 256 кодовых позиций, все из которых заняты. Исторически составлен из двух частей, первой из которых следует U+0400–U+045F, содержащий 48 прописных (в U+0400–U+041F) и соответствующие им 48 строчных букв. Эти буквы преобладают в кириллической письменности славянских языков и достаточны для поддержки русского, белорусского, болгарского, сербского, македонского языков в современных орфографиях; украинский покрывается ими за исключением буквы «ґ», находящейся в другом месте блока (U+0490, U+0491).

В Интернете встречается неточное утверждение, что эта первая часть блока якобы получена «перемещением ISO 8859-5 на 864 позиции»; при этом имеются в виду 96 печатных символов ISO 8859-5, лежащих в 8-битной области (за пределами ASCII). На самом же деле Юникод кодирует таким образом только 46 букв (в прописном и строчном варианте каждая), находившихся в этом месте до версии 3. Помимо этих (имеющихся также в код.стр. 1251) 46 букв, ISO 8859-5 содержит ещё и 4 небуквенных символа: неразрывный пробел, мягкий перенос, знак «§» (все три Юникод размещает в Latin-1 Supplement), а также «буквоподобный» знак «». Четыре ненужных (для указанных символов) места в блоке Cyrillic были в 1999 году заняты нужными для македонского языка комбинированными буквами «ѐ» и «ѝ» («е» и «и» с обратным знаком ударения).

Начиная с U+0460 следуют символы исторических языков (таких, как старославянский) и устаревших орфографий, а также менее употребительные в живых языках буквы. Блок Cyrillic в целом достаточен для текстов на монгольском, казахском, таджикском, татарском, якутском, бурятском, чувашском, марийском, башкирском, ряде языков Северного Кавказа и некоторых других, а также для русского языка в имперской орфографии.

Таблица кодовых позиций блока Cyrillic
U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F
0400 Ѐ Ё Ђ Ѓ Є Ѕ І Ї Ј Љ Њ Ћ Ќ Ѝ Ў Џ
0410 А Б В Г Д Е Ж З И Й К Л М Н О П
0420 Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я
0430 а б в г д е ж з и й к л м н о п
0440 р с т у ф х ц ч ш щ ъ ы ь э ю я
0450 ѐ ё ђ ѓ є ѕ і ї ј љ њ ћ ќ ѝ ў џ
0460 Ѡ ѡ Ѣ ѣ Ѥ ѥ Ѧ ѧ Ѩ ѩ Ѫ ѫ Ѭ ѭ Ѯ ѯ
0470 Ѱ ѱ Ѳ ѳ Ѵ ѵ Ѷ ѷ Ѹ ѹ Ѻ ѻ Ѽ ѽ Ѿ ѿ
0480 Ҁ ҁ ◌҂ ◌҃ ◌҄ ◌҅ ◌҆ ◌҇ ◌҈ ◌҉ Ҋ ҋ Ҍ ҍ Ҏ ҏ
0490 Ґ ґ Ғ ғ Ҕ ҕ Җ җ Ҙ ҙ Қ қ Ҝ ҝ Ҟ ҟ
04A0 Ҡ ҡ Ң ң Ҥ ҥ Ҧ ҧ Ҩ ҩ Ҫ ҫ Ҭ ҭ Ү ү
04B0 Ұ ұ Ҳ ҳ Ҵ ҵ Ҷ ҷ Ҹ ҹ Һ һ Ҽ ҽ Ҿ ҿ
04C0 Ӏ Ӂ ӂ Ӄ ӄ Ӆ ӆ Ӈ ӈ Ӊ ӊ ӊ ӌ ӌ ӎ ӏ
04D0 Ӑ ӑ Ӓ ӓ Ӕ ӕ Ӗ ӗ Ә ә Ӛ ӛ Ӝ ӝ Ӟ ӟ
04E0 Ӡ ӡ Ӣ ӣ Ӥ ӥ Ӧ ӧ Ө ө Ӫ ӫ Ӭ ӭ Ӯ ӯ
04F0 Ӱ ӱ Ӳ ӳ Ӵ ӵ Ӷ ӷ Ӹ ӹ Ӻ ӻ Ӽ ӽ Ӿ ӿ
Легенда:
Unicode 1.0 Unicode 4.0
Unicode 1.1 Unicode 4.1
Unicode 2.x Unicode 5.0
Unicode 3.0 Unicode 5.1
Unicode 3.1 Unicode 6.0
Unicode 3.2 Unicode 7.0

Cyrillic Supplement: U+0500–U+052F[править]

Название блока передаётся по-русски как дополнение к кириллице или кириллица дополнительная. Содержит 24 буквы (каждая в прописном и строчном варианте), не используемых для славянских языков. Помимо восьми букв для письменности языка коми и букв для алеутской орфографии, там есть также буква «Ԥ» (U+0524, U+0525), нужная для современной абхазской орфографии. Высказывающееся на некоторых вебсайтах мнение, что блок содержит «[только] устаревшие буквы», является ошибочным, хотя большинство из представленных 24 букв вышли из употребления.

Таблица кодовых позиций блока Cyrillic Supplement
U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F
0500 Ԁ ԁ Ԃ ԃ Ԅ ԅ Ԇ ԇ Ԉ ԉ Ԋ ԋ Ԍ ԍ Ԏ ԏ
0510 Ԑ ԑ Ԓ ԓ Ԕ ԕ Ԗ ԗ Ԙ ԙ Ԛ ԛ Ԝ ԝ Ԟ ԟ
0520 Ԡ ԡ Ԣ ԣ Ԥ ԥ Ԧ ԧ Ԩ ԩ Ԫ ԫ Ԭ ԭ Ԯ ԯ

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

Cyrillic Extended-A (U+2DE0–U+2DFF) содержит 32 выносных варианта букв, именуемых «буквотитла» — надстрочных, не занимающих ширину букв, специфичных для православного славянского письма.

Cyrillic Extended-B (U+A640–U+A69F) содержит буквы, использовавшиеся для старославянского языка (включая ещё несколько буквотител), а также для устаревших орфографий абхазского. Там также есть комбинационные символы для чисел на основе кириллицы, не вошедшие в блок Cyrillic.

Cyrillic Extended-C (U+1C80–U+1C8F) не содержит независимых символов — см. ниже.

Характеристики и особенности[править]

Кириллица в Юникоде занимает так много кодовых позиций, главным образом, из-за обилия лигатур, вариантов с диакритиками и оригинальных букв, созданных советскими лингвистами для письменностей народов СССР — многие из которых вышли из употребления — а также исторических графических вариантов букв, ничем кроме элементов начертания не отличающихся от знаков славянского алфавита. Это отличается от ситуации с латиницей, где много кодового пространства уходит на выделенные (precomposed) комбинации базовых 26 букв с диакритическими знаками такими, как « ̀», « ́», « ̂», « ̈». Если в испанской орфографии символы для находящихся под ударением гласных можно напрямую брать из Latin-1 Supplement (восходящему к ISO 8859-1), то ру́сские ударения приходится отмечать комбинационным символом U+0301, не имеющим ширины, но занимающим отдельную позицию в данных.

Все блоки Юникода, выделенные под кириллицу, принадлежат так называемой Основной плоскости (BMP, она же «плоскость 0»). Это значит, что каждая кодовая позиция требует ровно одно 16-битное кодовое слово в кодировке UTF-16.

Каждый код из блока Cyrillic, а также прилегающего к нему блока Cyrillic Supplement, требует 2 байта в кодировке UTF-8. Коды из прочих упомянутых блоков требуют в UTF-8 по 3 байта каждый.

История[править]

Блок Cyrillic был основан с версией стандарта 1.0 (1991), хотя 4 определённых тогда кодовых позиции были затем переназначены. В 2006–2007 годах имели место оживлённые дискуссии между восточноевропейскими и балканскими славистами, а также американскими представителями консорциума Unicode, по поводу кодирования старославянской кириллицы. Нехватка свободного пространства в блоке Cyrillic делала очевидно необходимым грядущее создание новых блоков. Высказывались также предложения (в частности, белградским филологом Зораном Костичем) о регистрации старославянской кириллицы как системы письма, отдельной от современной; в ином случае для старославянских текстов предлагалось использовать так называемый Private Use Area U+Exxx с разработкой неофициального стандарта кодировки. Включение в Юникод отдельного «старославянского алфавита» было, в итоге, отвергнуто. Последний символ в блок Cyrillic назначила версия 5.1 (2008); она же дала весь Cyrillic Extended-A и начала наполнение Cyrillic Extended-B. Версии с 3.2 (2002) по 7.0 (2014) населяли также Cyrillic Supplement. Представление кириллицы было в основном завершено версией стандарта 8.0 (2015), однако 9.0 (2016) добавила блок Cyrillic Extended-C, содержащий девять особых графических вариантов букв, встречающихся в религиозных книгах старообрядцев.

Интересные факты[править]

  • Количество кодов, выделенных в Юникоде под кириллицу (считающуюся алфавитом), почти втрое превосходит этот показатель для деванагари, являющегося слоговым письмом.[1]
  • В число 443 «официально» кириллических символов не входят расположенные в блоке Cyrillic комбинационные символы U+0485 COMBINING CYRILLIC DASIA PNEUMATA и U+0486 COMBINING CYRILLIC PSILI PNEUMATA, «письменность» которых задана как Inherited (то есть, они могут использоваться с другими системами письма).
  • Несмотря на шесть лет, прошедшие с завершения стандартизации кодов для старославянской кириллицы, в конце 2021 года ещё существуют сайты, предлагающие средневековые тексты в нестандартных вариантах кодировки. Несколько кодировок[2] помещают кириллицу в Private Use Area (см. выше). Другие[3] заменяют в шрифтах латинские и прочие символы на старославянскую кириллицу. В обоих случаях напрочь игнорируются достижения современных версий стандарта Unicode.

Примечания[править]

  1. Исключением является простановка ударений в русском[⇨] и македонском[⇨] языках.
  2. Причина бывает разной. Иногда букв слишком много, чтобы комфортно разместиться в 8-битной кодовой странице. Чаще заинтересованные стороны не могут договориться о едином стандарте, то есть, имеются конкурирующие версии кодовой таблицы. В отдельных случаях хромает поддержка фирмами-производителями ПО: к примеру, система Windows, по-видимому, не поддерживает KZ-1048 — стандарт Казахстана.

Источники[править]

  1. 1,0 1,1 https://www.unicode.org/Public/UNIDATA/Scripts.txt
  2. Пример: http://mns.udsu.ru/mns/srch.search; присутствует также на домене manuscripts.ru.
  3. Пример: http://www.orthlib.info/ англ.

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

Официальные таблицы символов:

 
Основы
Исторические кодировки
современное
8-битное
представление
Многобайтные
Связанные темы

Категория Компьютерные кодировки