Linux
Шрифт:
При старте Х-сервера модуль ХКВ считывает текстовые конфигурационные файлы. Данные, получаемые модулем ХКВ, состоят из 5 компонентов:
• keycodes – таблицы, которые задают символические имена для скан-кодов клавиатуры;
• types – описывает типы клавиш;
• compat – описывает модификаторы. В ХКВ имеется несколько внутренних переменных, которые определяют, какой символ будет генерироваться при нажатии клавиши в конкретной ситуации. В compat описывается, как изменяются переменные при нажатии различных клавиш-модификаторов;
• symbols – таблицы, в которых для каждого скан-кода перечисляются все значения, которые должна выдавать клавиша;
• geometry – описывает расположение клавиш на клавиатуре.
Эти компоненты находятся в одноименных каталогах в дереве каталога библиотек X Window.
Набор компонентов, необходимых для настройки ХКВ, описывается в файле конфигурации Х-сервера в секции Keyboard.
Настройка
Для настройки ХКВ в файле конфигурации X Window необходимо определить параметры XkbRules, XkbModel, XkbLayout, XkbVariant и XkbOptions.
Например,
XkbRules «xfree86»
XkbModel "pc104"
XkbLayout "ru"
XkbVariant "winkeys"
XkbOptions "grp:shift_toggle"В вышеприведенном примере определяется, что ХКВ должен воспользоваться правилами, описанными в файле 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/~pascal/other/xkb/.
Работа с текстом
Этот раздел посвящен программам, тем или иным способом обрабатывающим текст.
Проверка правописания
Одна из лучших программ проверки правописания для операционных систем UNIX – программа ispell. Ее путем добавления новых словарей можно использовать при проверке правописания текстов, написанных на языках, отличных от английского.
Для правильной работы ispell необходимо скомпилировать с поддержкой 8-битных символов и установить словарь русских слов. О некоторых таких словарях рассказано ниже.
Словарь Александра ЛебедеваСловарь постоянно совершенствуется и дополняется и корректируется. Отличительной чертой его является полноценная поддержка буквы ё. Последнюю версию словаря можно найти по адресу ftp://mch5.chem.msu.su/ pub/russian/ispell/rus-ispell.tar.gz.
Словарь Константина КнижникаВ поставку словаря включен скрипт, обеспечивающий инкрементный режим проверки правописания слов для emacs. Найти словарь можно по адресу www.ispras.ru/~knizhnik.
Редактор vim
После корректной настройки редактор vim нормально работает с кириллическими символами. Единственное неудобство: редактор понимает управляющие команды, набранные только в английской раскладке. Такое ограничение можно обойти, произведя (для командного режима) отображение кириллических символов на английские с помощью опции langmap. Для этого достаточно добавить в файл. vimrc две строки:set langmap=ж;;
set lang-
тар=е`,йq,цw,уe,кr,et,ну,гu,шi,щo,зр,х[,ъ],фа,ыs,вd,аf,пg,рh,оj,лк,дl,э\',яz,чx,cс,мv,иЬ,тn,ьm,б\,,ю.,Е~,ЙQ,ЦW,УE,КR,ЕT,НY,ГU,ШI,ЩO,ЗP,Х{,Ъ},ФA,ЫS,ВD,АF,ПG,РH,ОJ,ЛK,ДL,Ж:,Э\",ЯZ,ЧX,СC,МV,ИB,ТN,ЬM,Б<,Ю>
Редактор joe
Для того чтобы распознавать 8-битные символы, joe использует опцию -asis. Ее можно указать в командной строке или вставить в файл. joerc.
StarOffice
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 непосредственно в командной строке:LANG=ru_RU.CP1251 ~/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-битные символы;
• кодировку, в которой вы работаете;
• кодировку, в которой отсылаются письма.
elm
Добавьте следующую запись в файл ~/.elm/elmrc:CHARSET=koi8-r
pine
Добавьте следующую запись в файл pine.conf для настройки всей системы:character-set=koi8-r
Можно также изменить настройку pine для того, чтобы предотвратить посылку письма в кодировке quoted-printable:
enable-8bit-nntp-posting enable-8bit-esmtp-negotiation
Чтобы настроить перекодировку win в koi в программе pine, в файле. pinerc следует прописать:
display-filters=_CHARSET(iso8859-5)_ /usr/local/bin/icat,
_CHARSET(utf-8)_ /usr/local/bin/ucat,
_CHARSET(windows-1251)_ /usr/local/bin/wcatВместо программ icat, wcat и ucat можно воспользоваться другими, например iconv.
mutt
Добавьте следующую запись в файл. muttrc:set charset=koi8-r set allow_8bit
Для перекодировки посылаемых писем из одной кодировки в другую (отображаются символы в кодировке КОИ8, посылается сообщение в кодировке CP 1251) необходимо добавить следующие строки в файл. muttrc:
set charset= koi8-r
set send_charset= windows-1251
set allow 8bit
tin
Для включения отображения кириллицы в файл конфигурации. tin/tinrc добавьте следующие строки:post_mime_encoding=8bit
mail_mime_encoding=8bit
Кириллические имена файлов
При стандартном монтировании разделов FAT32 созданные в Windows имена файлов с кириллическими символами видны как набор вопросительных знаков. Для решения этой проблемы необходимо при монтировании раздела указать кодировку символов, в которой хранятся имена файлов, и кодировку, в которой необходимо эти имена файлов отображать.
Так, монтируя раздел FAT32, при вызове команды mount добавьте следующие опции: codepage=866, iocharset=koi8-r.
Если компакт-диск содержит файлы с кириллическими шрифтами, используйте следующую команду монтирования:mount -t iso9660 -о iocharset=koi8-r /dev/cdrom /mnt/cdrom
Поддержка кириллицы в Perl
Для того чтобы можно было правильно применять регулярные выражения в кириллических текстах, а так же использовать стандартные функции преобразования текста, в программу на Perl необходимо добавить следующие строки:use locale;
use POSIX qw (locale_h);
setlocale(LC_CTYPE, \'ru_RU.KOI8-R\');
Перекодировщики
Наиболее широко распространены перекодировщики 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.
• www.sensi.org/~alec/ – сайт, посвященный локализации.
• www.tsu.ru/~pascal/x_locale/ – сайт Ивана Паскаля: локаль и X Window.
• www.inp.nsk.su/~baldin – Балдин Евгений. The Linux Cyrillic HOWTO (rus). Здесь же расположен Cyrillic HOWTO (old rus), перевод устаревшего англоязычного документа.