Церковно-славянская кодировка

До появления стандарта Unicode для работы с текстами использовались 8-ми битные кодировки, в которых для представления каждого отдельного символа отводился один байт, что позволяло кодировать до 255 символов. Стандарт ASCII регламентировал использование кодов первой половины байта (7 бит) от 0 до 127 (00-7F): цифры, строчные и заглавные латинские буквы, знаки. Коды второй (верхней) половины байта от 128 до 255 (80-FF) использовались для кодирования национальных алфавитов (кодовые страницы). Такая кодировка была проста в использовании, а текст эффективно расходовал ограниченную память. Однако 8-ми битная кодировка имела ограниченный диапазон кодов, поэтому была непригодна для кодирования иероглифов и других языков с большим количеством букв. Также в тексте можно было использовать кроме латинских букв только один национальный алфавит. Для русского языка различными международными организациями и компаниями использовались различные системы кодировок, в которых русским буквам были присвоены разные коды: КОИ-8, ISO 8859-5, CP866, Windows-1251, MacCyrillic.

ASCII КОИ-8 CP866 Windows-1251

Стандарт Unicode для кодирования символов взял за основу 16 бит, что позволяет кодировать более 65 тысяч знаков - этого хватило для всех современных и большинства древних языков. Сейчас Unicode использует уже 32 бит, что теоретически позволяет кодировать до 4 миллиардов символов - этого хватает с запасом для различных вариантов начертания символов всех древних языков. Для экономии памяти, чтобы не выделять для каждого символа всегда 4 байта, используется стандарт кодирования символов UTF-8 переменной длины (от 1 до 4 байт), совместимый с ASCII и Unicode. В настоящее время многие типографии и интернет-ресурсы несмотря на развитие Unicode продолжают использовать древние (по компьютерным меркам) нестандартные 8-битные славянские шрифты, несовместимые как между собой, так и со стандартом Unicode. Также используются 16-ти битные шрифты с частичной поддержкой Unicode, где некоторым символам и надстрочным знакам присвоены коды из диапазона для частного использования E000-F8FF.

Первые версии Unicode не учитывали всех особенностей церковно-славянского и старославянского языков, позже в новые версии были добавлены недостающие славянские буквы, а также надстрочные буквы для сокращенной записи слов. В большинстве современных шрифтов отсутствует полный набор старославянских кириллических знаков. Некоторые юникодные шрифты позволяют отображать церковно-славянские тексты, но они малопригодны из-за плохого позиционирования надстрочных знаков над славянскими буквами, различными по высоте и ширине. Для правильного отображения церковно-славянских текстов необходимо разрабатывать шрифты, учитывающие все возможные комбинации букв и надстрочных знаков. Но Unicode не предусматривает отдельного блока (диапазона кодов) для таких лигатур, Такое упущение Unicode можно компенсировать возможностями OpenType шрифтов, где любые комбинации букв и знаков при отображении текста могут быть автоматически скорректированы или заменены на отдельную лигатуру программой внутри шрифта.

Для полноценного набора славянских текстов со множеством букв и надстрочных знаков недостаточно стандартной клавиатуры с русской раскладкой, поэтому для популярных текстовых редакторов были разработаны специальные программы или виртуальные клавиатуры, которые позволяют относительно легко вводить славянские буквы, а также корректировать их согласно правилам церковно-славянской грамматики. Но клавиатуры и программы генерируют не буквы, а их коды для последующего отображения с помощью соответствующего шрифта, что приводит к привязке каждой отдельной программы-макроса к конкретному шрифту со специфической кодировкой, что не позволяет использовать программу для набора текста с иным шрифтом с другой кодировкой. Также для передачи или публикации в интернете славянского теста необходимо прилагать используемый шрифт с соответствующей кодировкой, чтобы гарантировать правильность отображения всех славянских букв и знаков.

Поэтому необходима координация усилий всего сообщества разработчиков славянских шрифтов для выработки общих правил и рекомендаций использования единой кодировки Unicode. Для старославянского языка с большим разнообразием вариантов начертания букв и сокращения слов в разных рукописях следует объединить усилия для систематизации накопленной информации, выработки общих правил использования Unicode и внесения дополнений в новые версии. Для церковно-славянского языка с единообразным начертанием букв и четкими правилами сокращения слов лучшим решением было бы проработать все варианты сочетания букв и надстрочных знаков (их не так много) и выделить для церковно-славянского языка новый отдельный блок в Unicode, как это сделано для древнегреческого языка.

Текущая версия Unicode предлагает:

Церковно-славянские буквы:

буквыназваниезвуккоды буквнадстрочный
вариант
А аа̓́зъ[а]0410 04302DF6
Б ббꙋ́ки[б]0411 04312DE0
В ввѣ́ди[в]0412 04322DE1
Г гглаго́ль[г]0413 04332DE2
Д ддобро̀[д]0414 04342DE3
Е є еє̓́сть[э]0415 0454 04352DF7
Ж жживѣ́те[ж]0416 04362DE4
Ѕ ѕѕѣлѡ̀[з]0405 0455
З зземлѧ̀0417 04372DE5
И ии̓́же[и]0418 0438A675
І і їи̓̀0406 0456 0457A676
К кка́кѡ[к]041A 043A2DE6
Л ллю́ди[л]041B 043B2DE7
М ммы́слѣте[м]041C 043C2DE8
Н нна́шъ[н]041D 043D2DE9
Ѻ ѻѻ̓́нъ[о]047A 047B
О о041E 043E2DEA
Ѡ ѡѡ̓ме́га0460 0461A67B
Ѽ ѽ047C 047D
Ꙍ ꙍA64C A64D
Ѿ ѿѿ[от]047E 047F
П ппоко́й[п]041F 043F2DEB
Р ррцы̀[р]0420 04402DEC
С ссло́во[с]0421 04422DED
Т ттве́рдо[т]0422 04422DEE
Ѹ ѹѹ̓́къ[у]0478 0479A677
Ꙋ ꙋA64A A64B2DF9
Ф ффе́ртъ[ф]0424 0444A69E
Х ххе́ръ[х]0425 04452DEF
Ц ццы̀[ц]0426 04462DF0
Ч чче́рвь[ч]0427 04472DF1
Ш шша̀[ш]0428 04482DF2
Щ щща̀[щ]0429 04492DF3
Ъ ъє̓́ръ[-]042A 044AA678
Ы ыє̓ры̀[ъи]042B 044BA679
Ь ьє̓́рь[-]042C 044CA67A
Ѣ ѣꙗ̓́ть[е]0462 04632DFA
Ю юю̓̀[йу]042E 044E2DFB
Ꙗ ꙗꙗ̓̀[йа]A656 A6572DFC
Ѧ ѧю̓́съ0466 04672DFD
Ѯ ѯѯѝ[кс]046E 046F
Ѱ ѱѱѝ[пс]0470 0471
Ѳ ѳѳита̀[ф]0472 04732DF4
Ѵ ѵѵ̓́жица[в]0474 0475
Ѷ ѷ[и]0476 0477

Старославянские буквы:

буквыназваниезвуккоды буквнадстрочный
вариант
Ꙉ ꙉгервь[г]A648 A649
Ꙁ ꙁземля[з]A640 A641
Ү үчервь[ч]-
Ꙑ ꙑеры[ъи]A650 A651
Ѥ ѥйотированная Е[йе]0464 0465A69F
Ѩ ѩюс малый йотированный[йэ]0468 0469
Ѫ ѫюс большой[о]046A 046B2DFE
Ѭ ѭюс большой йотированный[йо]046C 046D2DFF

Примечание: для некоторых букв и надстрочных знаков имеются варианты кодов в разных блоках Unicode.

Надстрочные знаки:

знакназваниеварианты
кодов
а́острое ударение0301
а̀тупое ударение0300
а̑облеченное ударение0311, 0484
а̓придыхание0313, 0486
а҃титло0483, A66F
а҇покрытие0303, 0487
а͠а0360
а̾паерок033E, A67D
ӑкавыкаA67C

Примечание: для надстрочных знаков для заглавных букв с большей высотой нет отдельных кодов, поэтому необходимо предусмотреть для них отдельные лигатуры в шрифте и подстановку в программном коде OpenType.

Дополнительные знаки:

знакназваниекод
҂тысяча0482
кавыкаA67E
звездочкаA673
🕀знаки
типикона
1F540
🕁1F541
🕂1F542
🕃1F543
🕄1F544
🕅1F545

Полезные ссылки

Ірмологїй

На сайте представлена подробная историческая информация, а также славянские шрифты и программы для набора славянских текстов в популярной в прошлом авторской кодировке UCS8. Развитие проекта прекращено. За двадцать лет информация заметно устарела: 8-ми битные шрифты и кодовые страницы уже в прошлом, появились дополнительные кириллические блоки Unicode, расширились возможности позиционирования надстрочных знаков в шрифтах OpenType, современные текстовые редакторы и интернет-браузеры корректно отображают надстрочные знаки над славянскими буквами.

Проект Пономарь

На данном сайте доступны шрифты, программы, актуальная техническая документация, различные тексты и книги на славянском и других языках. Непосредственно на сайте можно набрать небольшой церковно-славянский текст, используя виртуальную клавиатуру. Информация обновляется благодаря инициативной группе трех активных участников проекта. Преимуществом данного информационного ресурса является использование и продвижение славянской кодировки на основе Unicode для разных платформ.

patermax.ru

Последняя версия авторского церковно-славянского шрифта patermax с полной поддержкой Unicode всегда доступна в корне сайта. Данный шрифт содержит также старославянские буквы и надстрочные варианты, учитывает особенности постановки надстрочных знаков над буквами разной высоты и ширины используя современные возможности программного кода OpenType. При этом размер шрифта минимальный из возможных, что позволяет его интегрировать в тексты и программы без заметного увеличения размера итогового файла. Также при работе над диссертацией со старославянскими рукописями была разработана программа-макрос для Word для быстрого и удобного набора церковно-славянских текстов с учетом и коррекцией орфографии Ц/С языка. Программа, шрифт и все набранные тексты совместимы и взаимозаменяемы с другими славянскими шрифтами и текстами на основе Unicode.