Пакет программ EastKey предоставляет возможность работать с буквами русского алфавита в среде SCO UNIX. Основные характеристики: - Четыре кодировки кириллицы: cp866, koi8-r, windows-1251, iso8859-5. - Хранение и обработка информации в любой из четырех кодировок (технология NLS). Преобразование файлов, содержащих кириллицу, из одной кодировки в другую. - Смена кодировки кириллицы во время работы, запуск отдельной программы в произвольной кодировке. EastKey предназначен для русификации: - системной консоли SCO UNIX. - персональных компьютеров, используемых в качестве эмулятора терминала. - терминалов, имеющих встроенные русские шрифты и переключатель РУС/LAT. Пакет EastKey поддерживает кодировки: cp866, koi8-r, windows-1251, iso8859-5. Эти кодировки могут быть как внутренними, так и внешними. Кодировка, в которой хранятся данные называется внутренней; кодировка, в которой работает перифе- рийное устройство называется внешней. При вводе данные преобразуются из внеш- ней кодировки во внутреннюю, а при выводе из внутренней во внешнюю. В аргумен- тах команд, переменных окружения и именах системных файлов применяются обозна- чения: Название кодировки Обозначение Значение переменной LANG cp866 alt en_RU.CP866 ru_RU.CP866 koi8-r koi en_RU.KOI8-R ru_RU.KOI8-R windows-1251 win en_RU.CP1251 ru_RU.CP1251 iso8859-5 iso en_RU.ISO8859-5 ru_RU.ISO8859-5 В пакете имеется возможность выбора языка для вывода дней недели, названий ме- сяцев и т.д. Поддерживаемые языки: английский (en), русский (ru). Инсталляция и настройка пакета EastKey. Для установки пакета зарегистрируйтесь в системе как root и при помощи команды tar xv скопируйте находящиеся на дистрибутивной дискете файлы. Для настройки введите команду /usr/lib/eastkey/config. Процедура предложит следующее меню: 1. Set codeset 2. Set default language 3. Remove q. Quit Для изменения внутренней кодировки выберете 1. Для изменения языка, используе- мого при выводе сообщений, выберете 2. Для удаления пакета выберете 3, при этом восстановятся настроечные файлы, существовашие до инсталляции пакета. После инсталляции переключение РУС/LAT осуществляется клавишей 'CapsLock', так же возможен набор русских букв при нажатой клавише 'Alt'. Настройка пакета для конкретного пользователя. Пользователи могут работать в кодировке, отличной от установленной по умолча- нию. Для этого необходимо (например, в .profile'е) определить переменную LANG=<язык>_RU.<внутренняя кодировка> export LANG и выполнить команду mapchan -f /usr/lib/mapchan/ek.<устройство>.<внешняя кодировка>. <внутренняя кодировка> где <устройство> это либо console для системной консоли SCO UNIX, либо pc для персональных компьютеров и терминалов. Если пользователь работает на системной консоле, то внешняя кодировка должна быть alt. Например, если пользователь работает в MS Windows и заходит на UNIX в режиме эмуляции терминала, то в его .profile необходимо добавить: LANG=ru_RU.KOI8-R export LANG mapchan -f /usr/lib/mapchan/ek.pc.win.koi Запуск команды в произвольной кодировке. Для запуска команды в произвольной кодировке предназначена утилита newlocale. Формат: newlocale [-h] [-e extcode|'console'] [-i intcode] [-l lang] [-c string] -h получить краткий список опций -e extcode внешняя кодировка (если команда запускается на системной консоле, то вместо кодировки должно стоять console) -i intcode внутренняя кодировка -l lang язык для сообщений -c cmd исполняемая команда и ее аргументы Если не указана внутренняя кодировка или язык, то берутся значения, установ- ленные при настройке пакета. Если не задана внешняя кодировка, то используется альтернативная. Если не задана команда, то запускается командный интерпрета- тор. Например, если по умолчанию стоит внутренняя кодировка cp866, а необходимо редактировать файл в iso8859-5, то достаточно запустить редактор в iso8859-5: newlocale -e console -i iso -c vi <файл> если вы работаете на консоле или newlocale -i iso -c vi <файл> если вы работаете на терминале с альтернативной кодировкой. Реальный пример: на сервере принята альтернативная кодировка, но почта поль- зователей и конференции хранятся в koi8-r. Для нормального чтения почты и новостей в домашнем каталоге пользователя создается каталог bin (который ста- вится первым в переменной PATH) и в этом каталоге создаются слинкованные друг с другом командные файлы mutt, tin, lynx: #!/bin/sh exec newlocale -i koi -e console -c "/usr/local/bin/`basename $0` $*" В результате при запуске mutt будет запускаться командный файл из домашнего каталога пользователя, который настроит перекодировку ввода/вывода и запустит mutt из каталога /usr/local/bin. Также полезно сделать командный файл /usr/local/bin/k: #!/bin/sh exec newlocale -i koi -e console -c "$*" В итоге для просмотра текста в koi8-r достаточно запустить: k less filename Перекодировка файлов. Для преобразование файлов, содержащих кириллицу, из одной кодировки в другую предназначены утилиты вида: <входная кодировка>2<выходная кодировка> Например, для преобразования файла из кодировки windows-1251 в iso8859-5 необ- ходимо запустить: win2iso < <входной файл> > <выходной файл> Для преобразования текста из quoted-printable или HTML escape последователь- ностей (в случае необходимости с одновременной перекодировкой) предназначены ключи '-q' и '-w'. Если перекодировка не нужна, следует использовать утилиту reconv. Данный пакет программ дается без гарантии, как есть. За любые последствия, связанные с его использованием, я ответственности не несу. Николай Парфенов E-mail: nik@eastsoft.saratov.su FidoNet: 2:5053/44