Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Вперед Назад Содержание

2. Теоретическое обоснование

2.1 Кириллица

Считается, что кириллица составляет видоизменение греческого алфавита. Но существуют и другие точки зрения, например, Срезневский доказывал, что Кириллица в той форме, в какой она встречается в древнейших рукописях XI в., а тем более тот кирилловский устав, который обыкновенно относится к IX в., не может считаться видоизменением тогдашнего греческого алфавита, потому что греки во времена св. Кирилла и Мефодия употребляли уже не устав (унциалы), а скоропись. Из этого бы следовало, что св. Кирилл или один из его учеников (Климент), вероятный изобретатель Кириллицы, взял за образец алфавит греческий прежних времён, или же, что Кириллица известна была на славянской почве задолго до принятия христианства.

Кириллический алфавит этот моложе других известных нам теперь систем. Многие учёные задавали себе вопрос, не существовал ли у Славян алфавит ещё до принятия христианства? На такое предположение наводили некоторые места из древних авторов, а именно слова известного монаха Храбра, жившего около Х в. и написавшего сочинение о изобретении славянских письмен.

Более определённые, точные и верные известия о славянской азбуке являются вместе с известиями о св. апостолах Славянства Кирилле и Мефодии, хотя и здесь на каждом шагу встречаем трудности и сомнения. Прежде всего источники не согласны в разрешении вопроса, где и когда святые мужи изобрели славянскую азбуку. В одном месте мы читаем, что они отправились в путь уже с переведёнными некоторыми священными книгами, другие же источники позволяют думать, что святые братья начали перевод только в Болгарии. Зато относительно самого факта изобретения азбуки везде мы видим согласие. Все вообще сходятся в том, что славянскую азбуку изобрёл св. Кирилл, а имя брата его св. Мефодия упоминается там лишь потому, что они вообще везде действовали вместе и что их имена всегда и везде писались оба рядом. И так мы видим что все источники говорят об одной славянской азбуке и вопрос сделался бы совершенно ясен если бы не обстоятельство, что славяне имеют не одну, а две азбуки: так названную кирилловскую и глаголическую, или кириллицу и глаголицу; эти названия новейшего происхождения и потому они не могут бросить на историю вопроса ни малейшего света. В источниках в этом отношении мы находим только весьма скудные известия.

До сих пор не решён вопрос, кто именно был изобретателем глаголицы и кириллицы. Теперь следует вопрос, какой алфавит лежит в основании этих двух славянских азбук. Для кириллицы дело совершенно ясно, по крайней мере, в одной части, а именно, что главным её основанием служит греческий уставный алфавит, которого буквы без существенных изменений повторяются в кириллице. Не так легко решить вопрос относительно тех букв, которых недостаёт в греческом алфавите: о них высказано несколько различных мнений; между прочим надо заметить, что некоторые из этих букв похожи на соответственные буквы глаголицы. Ещё труднее решить вопрос о глаголице, которая имеет начертания, на первый взгляд совсем не похожие ни на какой известный алфавит. Положительно знаем только, что кириллица распространена на востоке в странах, принадлежащих к восточной церкви, глаголица же только на западе у католических славян в Хорватии, Иллирии и когда то может быть в Чехии. Оттого явилось предание, что изобретателем глаголицы был святой Иероним, который считается апостолом этих стран. Форма начертаний букв этих двух азбук с течением времени несколько изменялась и по этим изменениям иногда можно с довольно большою точностью определить время написания памятника.

После принятия христианства, русские приняли кирилловскую азбуку, которой стали писаться первые появившиеся на русской почве рукописи, как Остромирово Евангелие, Изборники Святослава и др., и азбука без существенных перемен просуществовала до времён Петра Великого.

Пётр, как известно, путешествовал по западной Европе, знал языки и читал много книг. Поэтому неудивительно, что он больше привык к латинской азбуке, которая, как и многое западноевропейское, казалась ему красивее и лучше отечественного. Притом в 1699 году напечатано было амстердамское издание книги Ильи Копьевича под заглавием "Поверстание кругов небесных", где в особенности курсив представляет поразительное сходство с теперешней нашей печатью. Затем последовали и другие амстердамские издания того же характера. Это по мнению Грота ("Спорные вопросы русского правописания от Петра Великого доныне", С.-Петербург, 1876) главным образом поразило Петра и подало ему первую мысль о преобразовании церковной печати для светских изданий.

Пётр велел вылить в Амстердаме новый шрифт, который был привезён в Россию в 1708 г., но этот шрифт признан был не вполне удобным, и уже с 1710 года начались его изменения. Одна из главнейших реформ того времени последовала 1735 г. по распоряжению Академии Наук; она состояла в следующем: буква "зело"  была изгнана, а на её место введено "земля"; отменены были тоже "кси"  и "V"  (ижица), хотя впрочем эта последняя снова в скором времени была возвращена; прибавлена была буква "и", и снова введено существовавшее уже раньше в России "э"; наконец тогда постановили одинаково пишущиеся слова, вроде з_амок и зам_ок, отмечать ударением. Наконец в 1758 г. последовали новые перемены; эта реформа была проведена учреждённым при академии "Российским собранием"  и все постановления по этому предмету были изданы как обязательное руководство для типографий двумя записками Тауберта и Шумахера. Тогда звук и постановили изображать тремя знаками: "и", "i", "y", а именно: и "и"  постановили писать перед согласными, "i"  -- перед гласными и в иностранных словах, кроме греческих, где на месте о пишется "y". Кроме того тогда ввели новый знак "Ю"  для звука, который после стал изображаться посредством "ё"; этот последний знак был придуман и введён в употребление Карамзиным.

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

Русская азбука мало по малу начинает выступать за пределы русского языка и даже славянских наречий. Западные славяне употребляют латинский, более или менее прилаженный к своим языкам, алфавит; русская же азбука употребляется за пределами России ещё в Болгарии, и её ввёл с некоторыми изменениями и в Сербию Вук Степанович Караджич.

Русский алфавит

Русский алфавит -- последовательный ряд букв, передающих звуковой состав русской речи и создающих письменную и печатную форму для русского языка. Русский алфавит восходит к кириллице, в современном виде существует с 1918. Содержит 33 буквы, 20 из них передают согласные звуки (б, п, в, ф, д, т, з, с, ж, ш, ч, ц, щ, г, к, х, м, н, р, л); 10 -- гласные звуки (а, э, о, ы, и, у) или (в определённых позициях) сочетания "j + гласный"  (я, е, ё, ю); буква "й"  передаёт "и неслоговое"  или "j"; "ъ"  и "ь"  не обозначают отдельных звуков. Русский алфавит служит для основы некоторых других языков.

2.2 Настройка вашего окружения

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

Linux поддерживает два интерфейса для отображения информации, два различных режима. Один из них -- это текстовый режим, а другой -- графический, предоставляемый средствами X-Window. Оба этих режима требуют разной настройки, которая описывается ниже.

2.3 Символы и кодировки

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

Во время создания большинства операционных систем никто не позаботился предусмотреть возможность представления информации в программах на других языках, отличных от английского. Поэтому наиболее популярной кодировкой была (и фактически ей и остаётся) ASCII (Американский Стандартный Код для Информационного Обмена).

Стандарт ASCII (или ASCII с 7-ми битами) включает в себя 128 уникальных символов. Они подразделяются на символы, которые ASCII определяет как собственно печатаемые символы, и на так называемые символы управления, большая часть которых использовалась в старых протоколах связи. Каждому элементу набора соответствует целочисленный символьный код (0-127). Подмножество печатаемых символов представляют те, которые находят на клавиатуре пишущей машинки, с некоторыми добавлениями. Каждый символ занимает одно из значений, представляемых 7ю битами, тогда как старший разряд использовался для целей управления (то есть для управления передачи в старых системах связи).

ASCII с 7 битами была расширена до ASCII с 8 битами (или расширенный ASCII). В этой кодировке диапазон символов соответствует кодам от 0 до 255. Младшие биты (0-127) -- старый добрый ASCII, в то время как старший разряд добавляет ещё 128 символов. Так как эта кодировка обратно совместима с ASCII (символ все ещё занимает 8 бит и коды полностью соответствуют старому ASCII), эта кодировка стала широко использоваться.

Стандарт ASCII с 8 битами не определяет содержание верхней половины таблицы кодировки. Поэтому МЕЖДУНАРОДНАЯ ОРГАНИЗАЦИЯ ПО СТАНДАРТИЗАЦИИ (ISO) взяла ответственность по определению семейства стандартов, известных как семейство ISO 8859-X. Это семейство представляет собой совокупность 8-ми битных кодировок, где младшая половина каждой кодировки (символы с кодами 0-127) соответствует ASCII, а старшая половина определяет символы для различных языков. Например, следующие кодовые страницы определены для:

  • 8859-0 -- Новый европейский стандарт (так называемый Latin 0)
  • 8859-1 -- Европа, Латинская Америка (также известный как Latin 1)
  • 8859-2 -- Восточная Европа
  • 8859-5 -- Кириллица
  • 8859-8 -- Идиш

В Latin 1 старшая половина таблицы определяет различные символы, которые не являются частью английского алфавита, но присутствует в различных европейских языках (немецкие umlauts, французские диакритические знаки и т.д.).

Другая популярная реализация расширенного ASCII -- это так называемая кодовая страница IBM (названная по имени компьютерной компании, которая создала эту кодировку для своих персональных компьютеров). Эта кодировка в старшей половине содержит псевдографические символы.

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

Для информации о том, как создавать своё чисто 8-ми битное программное обеспечение, смотрите раздел Locale зависимое программирование.

Так как в большинстве систем символы описываются 8-ю битами, то нет никакого способа расширить ASCII ещё больше. Способ создания новых символов в ASCII -- это просто создание других расширенных ASCII реализаций. Именно так кириллица и была введена в ASCII.

Мы уже упомянули стандарт ISO 8859-5 как тот, в котором определяются кодировки для кириллицы. Но поскольку (как это часто случается со стандартами) он был разработан без принятия во внимание реальных процессов, проходящих в СССР (когда это ещё было), то единственное, что было действительно достигнуто с введением этого стандарта, так это только увеличение беспорядка с кодировками кириллицы. В сообществе Internet очень популярна кодировка KOI8-R (см. ниже). Кодировка ISO 8859-5 используется большими компаниями, создающими программное обеспечение с возможностью обработки кириллической информации. К подобным программам, как правило, относятся большие базы данных, решения, основанные на базе OpenVMS и т.д.

Сказанное выше относится только к пост-российскому пространству -- кодировка ISO 8859-5 является стандартом кириллицы по крайней мере в Македонии и Югославии.

Другие стандарты для кириллицы включают так называемую альтернативную кодировку (CP866) и кодовую страницу Microsoft CP1251.

Альтернативная кодировка -- это та самая IBM кодовая страница, где все специфические европейские символы в верхней половине были заменены на кириллицу, оставляя псевдографические символы нетронутыми. Следовательно, это не портило вид программ, использующих для работы текстовые окна, а также обеспечило символы кириллицы в них. CP866 все ещё жив и чрезвычайно популярен в среде MS-DOS (система MS-DOS тоже жива, про OS/2 говорят, что она тоже жива -- примерно раз в пол года разносится слух о её смерти :) ). Microsoft CP1251 кодовая страница -- это попытка Microsoft придумать новый стандарт для кодировки кириллицы в Windows. Насколько я знаю, это не совместимо с чем-либо ещё.

Однако, в некоторых странах -- например, в Болгарии и, вероятно, в республике Беларусь, cp1251 является стандартной кодировкой для Linux и для e-mail.

Ну и наконец: стандарт КОИ-8. В отличие от CP866 и CP1251, он был разработан довольно давно.

Ещё раз вернёмся в далёкое прошлое. Обычно все работали только со стандартным (7-ми битным) ASCII. 8-ой бит каждого символа указывал на то, что он или управляющий символ, или просто мусор. Обычно никто не слал данные чисто 8-ми битными (каждый норовил оттяпать 8-ой бит у символов). Разработчики КОИ-8 применили очень продуманный подход. Они поместили символы русской кириллицы в верхней части расширенной ASCII таблицы таким образом, что позиции кириллических символов соответствуют их фонетическим аналогам в английском алфавите в нижней части таблицы. Это означает, что если в тексте, написанном в КОИ-8, убирать восьмой бит каждого символа, то мы все ещё имеем "читабельный"  текст, хотя он и написан английскими символами!

Следует отметить, что KOI8-R подходит только для русских текстов, и как следствие был создан украинский вариант KOI8: KOI8-U.

Кроме Русской кириллицы KOI8-R описывает ещё и Болгарскую кириллицу. Но кодировка KOI8 неизвестна и поэтому её употребление в Болгарии бессмысленно, хотя самые первые кириллизации писюков были сделаны именно в Болгарии с применением КОИ-8. В настоящее время в Болгарии используется кодировка CP1251.

Не удивительно, что KOI8-R быстро стал фактически стандартом для русской кириллицы в Internet. Андрей А. Чернов проделал огромный объем работы, чтобы создать стандарт. Он - автор RFC 1489 ("Registration of a Cyrillic Character Set").

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

UNICODE

UNICODE -- частичная реализация стандарта ISO 10646, совместим снизу вверх, т.е. первые 256 символов UNICODE = Latin-1 (ISO 8859-1). В настоящее время распределено около 40.000 позиций из возможных 65.535 (2 байта на букву), и им соответственно присвоены стандартные имена. Последнее значительное изменение -- введение символа валюты EURO -- произошло в сентябре 1998 г. Позиции зарезервированы за буквами практически всех известных алфавитов, включая древнеегипетские иероглифы -- то есть, используя этот стандарт, можно писать одновременно на русском и греческом, делая вставки на японском, с использованием одного-единственного шрифта (Подробности -- `man 7 utf-8').

Позиции, под которые по стандарту надо отводить по 4 байта -- то есть 2147418112 символов -- пока не заняты.

Подробнее про этот формат можно посмотреть по адресу http://www.unicode.org.

Посмотреть набор символов UNICODE можно здесь : http://charts.unicode.org/ .

2.4 Языковая специфика

Следует различать "славянские"  языки и "кириллическую"  письменность.

Из всей группы славянских языков, кириллическую письменность используют Русский (ru), Украинский (uk), Белорусский (by), Болгарский (bg). Другие : Сербский (si) и хорватский (hr) языки используют латиницу и кириллицу, с преобладанием в последнее время латиницы.

Остальные славянские языки используют модифицированную латиницу с диакритиками : Чешский (cs), Польский (pl), Словацкий (sk).

В советское время (примерно в 1930 годы) Академия Наук СССР разработала около десятка письменностей для неславянских народов республик CCCP и братских стран на основе кириллической графики.

Из того, что знаю: Монгольский, Коми-зарянский, Коми-пермяцкий, Чувашский, Башкирский, Чеченский, Якутский и т.д. (попробую собрать полный список). Модифицированная кириллица. Большинство букв есть в кириллической секции UNICODE.

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

Hа сайте www.peoples.org.ru собрано подробная информация о языках имеющих хождение на территории России.

Беларуский язык

Пока пусто

Болгарский язык

Пока пусто

Македонский язык

Пока пусто

Украинский язык

Специфика кириллизации для Украины состоит в том, что часто нужно использовать украинский и русский одновременно. Отказаться от последнего практически не возможно. Из-за этого макросы Злобина (См. раздел consoletools), мало пригодны т.к. не позволяют использовать 3 языка одновременно. Приходится редактировать существующие раскладки. На пример раскладки для иксов можно глянуть на www.linux.org.ua

Украинский алфавит можно посмотреть, есть на cad.ntu-kpi.kiev.ua или на Странице Верховного Совета Украины.

Кроме стандартных KOI8-U и CP1251 на Украине имеет хождение кодировка RUSCII или РСТ2018-91 или CP1125. Подробнее можно посмотреть здесь: www.cad.ntu-kpi.kiev.ua Эта кодировка используется очень часто, например, в эхе kiev.money можно получить [+] за использование другой.

Кроме KOI8-U (RFC2319) часто встречаются упоминания о KOI8-RU.

Русский язык

В этом разделе мне хотелось бы сказать пару слов в поддержку буквы "ё". Эту букву незаслуженно забывают при наборе текстов. Более того, некоторые деятели ратуют за её полное упразднение. Однако, коль уж вам довелось узнать русский язык, то говорить и писать на нём следует правильно.

Поставь букву "ё" на её место!

Для проверки правописания надо использовать словарь Александра Лебедева, где есть реальная поддержка "ё".

Сербский язык

Пока пусто


Вперед Назад Содержание