. Прочитайте онлайн Linux | Часть 50
Прочитайте онлайн Linux | Часть 50

Прочитайте онлайн Linux | Часть 50

В X Window имеются два способа ввода символов с клавиатуры: устаревший – с помощью утилиты xmodmap и новый – с помощью модуля ХКВ (X KeyBoard). Мы рассмотрим только использование ХКВ.

При старте Х-сервера модуль ХКВ считывает текстовые конфигурационные файлы. Данные, получаемые модулем ХКВ, состоят из 5 компонентов:

• keycodes – таблицы, которые задают символические имена для скан-кодов клавиатуры;

• types – описывает типы клавиш;

• compat – описывает модификаторы. В ХКВ имеется несколько внутренних переменных, которые определяют, какой символ будет генерироваться при нажатии клавиши в конкретной ситуации. В compat описывается, как изменяются переменные при нажатии различных клавиш-модификаторов;

• symbols – таблицы, в которых для каждого скан-кода перечисляются все значения, которые должна выдавать клавиша;

• geometry – описывает расположение клавиш на клавиатуре.

Эти компоненты находятся в одноименных каталогах в дереве каталога библиотек X Window.

Набор компонентов, необходимых для настройки ХКВ, описывается в файле конфигурации Х-сервера в секции Keyboard.

Для настройки ХКВ в файле конфигурации X Window необходимо определить параметры XkbRules, XkbModel, XkbLayout, XkbVariant и XkbOptions.

В вышеприведенном примере определяется, что ХКВ должен воспользоваться правилами, описанными в файле xfree86, использовать настройки для клавиатуры типа рсЮ4 (104 клавиши), русский алфавит (в дополнение к английскому алфавиту), xkbvariant определяет, что используется Windows-клавиатура. XkbOptions определяют дополнительные настройки клавиатуры, в частности, комбинацию клавиш для переключения раскладки клавиатуры «русская-английская».

Варианты клавиш для переключения раскладки клавиатуры:

• grp: toggle – переключение нажатием правой клавиши <Alt>;

• grp: shift_toggle – переключение нажатием комбинации клавиш <Shift>+<Shift>;

• grp: ctrl_shift_toggle – переключение нажатием комбинации клавиш <Ctrl>+<Shift>;

• grp: ctrl_alt_toggle – переключение нажатием комбинации клавиш <Ctrl>+<Alt>;

• grp: switch – переключение нажатием правой клавиши <Alt> (только на момент нажатия);

• ctrl: ctrl_ac – переключение нажатием клавиши <CapsLock>.

Полная документация по настройке ХКВ размещена на Web-странице Ивана Паскаля по адресу www.tsu.ru/

Работа с текстом

Этот раздел посвящен программам, тем или иным способом обрабатывающим текст.

Одна из лучших программ проверки правописания для операционных систем UNIX – программа ispell. Ее путем добавления новых словарей можно использовать при проверке правописания текстов, написанных на языках, отличных от английского.

Для правильной работы ispell необходимо скомпилировать с поддержкой 8-битных символов и установить словарь русских слов. О некоторых таких словарях рассказано ниже.

Словарь Александра Лебедева

Словарь постоянно совершенствуется и дополняется и корректируется. Отличительной чертой его является полноценная поддержка буквы ё. Последнюю версию словаря можно найти по адресу ftp://mch5.chem.msu.su/ pub/russian/ispell/rus-ispell.tar.gz.

Словарь Константина Книжника

В поставку словаря включен скрипт, обеспечивающий инкрементный режим проверки правописания слов для emacs. Найти словарь можно по адресу www.ispras.ru/

После корректной настройки редактор vim нормально работает с кириллическими символами. Единственное неудобство: редактор понимает управляющие команды, набранные только в английской раскладке. Такое ограничение можно обойти, произведя (для командного режима) отображение кириллических символов на английские с помощью опции langmap. Для этого достаточно добавить в файл. vimrc две строки:

Для того чтобы распознавать 8-битные символы, joe использует опцию -asis. Ее можно указать в командной строке или вставить в файл. joerc.

StarOffice 5.2 – может работать с различными кодировками кириллицы. Таких кодировок поддерживается три: KOI8-R, ISO 8859-5, СР1251. Текущая кодировка определяется по значению переменной окружения lang.

StarOffice использует два вида шрифтов: растровые (pcf) для элементов интерфейса и Typel – для печати и отображения документов на экране.

Самая полная информация по русификации StarOffice содержится на Web-странице Леона Кантера по адресу www.blackcatlinux.com/StarOffice/.

Выбор кодировки для работы со StarOffice

Как указывалось выше, StarOffice 5.2 может работать в одной из трех кодировок: KOI8-R, IS08859-5, СР1251. Каждая из этих кодировок имеет свои достоинства и недостатки.

• KOI8-R. Достоинство – позволяет в этой кодировке отправлять письма и сообщения в группы новостей. Недостатки: при импорте из Microsoft Word не хватает символов (недостающие заменяются вопросительными знаками).

• ISO 8859-5. Единственная кодировка, которая позволяет работать в StarOffice 5.2 со встроенными в эту версию словарями для проверки русской орфографии и переносов. Содержит также украинские и белорусские буквы. Недостатки: письма, отправленные в этой кодировке, не читаются большинством доступных клиентов.

• СР1251. Позволяет корректно импортировать документы из Microsoft Office, содержит полный набор специальных символов, включая знак Евро, дает возможность работать на любом из славянских языков. Недостатки – недоступен русский словарь.

Для запуска StarOffice в кодировке, отличной от системной, можно указать полное имя locale непосредственно в командной строке:

/office52/program/soffice Подключение для печати шрифтов Туре1

Для того чтобы работать в StarOffice с кириллицей, необходимо сначала добавить новые шрифты к драйверу печати StarOffice – библиотеке Xprinter с помощью специальной утилиты SPAdmin (входит в пакет). Ее необходимо запустить на выполнение и в пункте меню Add Fonts | Browse указать каталог, где лежат шрифты Typel.

Печать из StarOffice

Для вывода на принтер StarOffice генерирует данные в формате PostScript. Дополнительная русификация интерпретатора Ghostscript не требуется, т. к. все необходимые шрифты встраиваются в документ.

Проблемы при работе со StarOffice 5.2

Основная проблема заключается в том, что в этой версии испорчены все фильтры для работы с форматами, которые не предусматривают указания кодировки: TXT, RTF, MS Word 6.0/95. При сохранении в любом из этих форматов русские буквы заменяются на знак вопроса.

Кириллица в программах электронной почты и чтения новостей

Для настройки программы электронной почты необходимо указать:

• что письма будут содержать 8-битные символы;

• кодировку, в которой вы работаете;

• кодировку, в которой отсылаются письма.

Добавьте следующую запись в файл

Добавьте следующую запись в файл pine.conf для настройки всей системы:

Можно также изменить настройку pine для того, чтобы предотвратить посылку письма в кодировке quoted-printable:

Чтобы настроить перекодировку win в koi в программе pine, в файле. pinerc следует прописать:

Вместо программ icat, wcat и ucat можно воспользоваться другими, например iconv.

Добавьте следующую запись в файл. muttrc:

set charset=koi8-r set allow_8bit

Для перекодировки посылаемых писем из одной кодировки в другую (отображаются символы в кодировке КОИ8, посылается сообщение в кодировке CP 1251) необходимо добавить следующие строки в файл. muttrc:

set charset= koi8-r

set send_charset= windows-1251

Для включения отображения кириллицы в файл конфигурации. tin/tinrc добавьте следующие строки:

Кириллические имена файлов

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

Так, монтируя раздел FAT32, при вызове команды mount добавьте следующие опции: codepage=866, iocharset=koi8-r.

Если компакт-диск содержит файлы с кириллическими шрифтами, используйте следующую команду монтирования:

mount -t iso9660 -о iocharset=koi8-r /dev/cdrom /mnt/cdrom

Поддержка кириллицы в Perl

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

use POSIX qw (locale_h);

Наиболее широко распространены перекодировщики iconv и recode. Для использования iconv следует указать в командной строке кодировку файла и кодировку, в которой необходимо сохранить файл. Например при перекодировке из СР866 в KOM8-R:

iconv -f866 -tKOI8-R -o<outfile> infile

Похожим образом используется и программа recode:

recode СР1251..KOI8-R winfile.txt

• RFC 1489 – стандарт, описывающий кодировку KOI8-R.

• RFC 2319 – стандарт, описывающий кодировку KOI8-U.

• www.unicode.org – сайт, посвященный Unicode.

• charts.unicode.org – на этом сайте можно посмотреть набор символов Unicode.

alec/ – сайт, посвященный локализации.

pascal/x_locale/ – сайт Ивана Паскаля: локаль и X Window.

baldin – Балдин Евгений. The Linux Cyrillic HOWTO (rus). Здесь же расположен Cyrillic HOWTO (old rus), перевод устаревшего англоязычного документа.

📎📎📎📎📎📎📎📎📎📎