Библиотека времени выполнения CLIP при старте программы провераят наличие некоторых файлов, и использует их содержимое в качестве значений переменных окружения.(См. Переменные окружения CLIP)
Первым провераяется файл $CLIPROOT/lang/$LANG, где CLIPROOT берется из переменной окружения, либо использется значение, заданное при компиляции, LANG является значение соответствующей переменной окружения, (известной также как локаль). Если LANG не задана, CLIP проверяет значение переменной окружения CHARSET.
Затем проверяется файл $CLIPROOT/term/$TERM, где TERM является, переменной окружения, которая задает тип используемого терминала.
Keymap используется в режиме "сырой" клавиатуры (работа со скан-кодами), этот режим сейчас доступен на Линукс-консоли, а также на некоторых терминалах (или эмуляторах терминалов), которые могут работать в режиме скан-кодов.
CLIP использует те же keymaps, как и ядро Линукса, обработка скан-кодов также во многом заимствована из кода ядра. Это означает, что можно легко добавить новый keymap, а также модифицировать его в случае необходимости.
Добавление нового keymap:
Скопируйте подходящий keymap из каталога /usr/share/keymaps (доступного практически в любом дистрибутиве Linux):
# cp /usr/share/keymaps/i386/qwerty/ru1.kmap.gz . # gunzip ru1.kmap.gz
Используйте $CLIPROOT/keymaps/genmap.sh для генерации keymap в формате CLIP:
# $CLIPROOT/keymaps/genmap.sh `pwd`/ru1.kmap >ru-koi8-r
Предупреждение относительно полного пути | |
---|---|
Парамет скрипта genmap.sh должен записан с полным путем (от корня файловой системы). |
Скопируйте keymap в $CLIPROOT/keymaps:
# cp ru-koi8-r $CLIPROOT/keymaps/
Charsets используются для перекодирования ввода/вывода на терминал, обработки псевдографики, определения порядка сортировки, а также для перекодирования ввода/вывода в файлы и базы данных.
Также как с keymap, CLIP использует свой формат для хранения charset, и предоставляет утилиты для генерации charset из стандартного отображения нужной кодировки в Unicode.
Добавление нового charset:
Скопируйте подходящее отображение кодировки из каталога /usr/share/consoletrans (для Linux):
# zcat /usr/share/consoletrans/koi8-r.sfm.gz > koi8-r.uni
Полнота отображения в Unicode | |
---|---|
Некоторые файлы не содержат отображение для всех 256 символов кодировки. Для таких файлов может понадобиться ручное редактирование. |
Используйте утилиту gen_tbl для генерации .tbl файла:
# zcat $CLIPROOT/charsets/UnicodeData-2.1.8.txt.gz | \ # $CLIPROOT/bin/gen_tbl koi8-r.uni > koi8-r.tbl
Скопируйте .uni и .tbl файлы в $CLIPROOT/charsets:
# cp koi8-r.uni koi8-r.tbl $CLIPROOT/charsets