Пакет программ 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