Писал я тогда как и большинство нормальных людей в Windows95/Word. Тут-то и выяснилось, что так работать неудобно, а хорошо бы сразу же и работать с системой и одновременно описывать эту работу.
Поскольку страница на русском языке, возникла необходимость русификации
системы. Я мечтал о том, как устанавливая что-нибудь, тут же переключаюсь в
редактор и пишу несколько строк. К этому времени я уже убедился, что, в
отличие от Windows95 для изменения чего-либо в Линуксе не надо то и дело
перегружать всю систему.
2. О пользе кодовой страницы Cp1251
Но как известно, для русского языка существует уйма кодировок, или выражаясь
на языке майкрософт кодовых страниц. В Windows95 - Cp1251 в UNIX, в том
числе и в Линукс - стандарт - KOI-8. Для меня наиболее насущной была Cp1251.
Все мои документы написаны в ней, на нашем предприятии все работают в Ворде,
у всех есть шрифты Cp1251. Я ничего не имею против KOI-8 но, поскольку эта
веб страница предназначена для новичков, для нее решающее значение имеет
Cp1251.
И вообще моя точка зрения в этом вопросе очень проста - лучше иметь один стандарт, а какой - не так уж и важно. Для Линукса очень важно вербовать новичков, а вербовать их неоткуда, кроме как из виндовс-пипл. Так как Линукс более гибкая система, и Линукс/Юникс пипл более гибки и развиты, они и должны приспосабливаться и доказывать гибкость и возможности этой системы.
Итак, однозначно - Cp1251.
3. Начало приключения
Итак, сижу я себе у компьютера, читаю ньюсы из конференции
relcom.fido.ru.linux, а может relcom.fido.ru.x или что-нибудь похожее. Вдруг
привлекает мое внимание один ответ на вопрос. А вопрос - где взять фонты для
Cp1251. Ответ - взять их на киае архиве. И вот я думаю: ведь это как раз то,
что и мне надо. И совершенно срочно. Приступаю к действиям.
4. Получение файлов
Итак с чего начать? Прежде всего - списываю файлы. Адрес -
http://www.kiarchive.ru:8098/pub/cyrilic/unix/
1. winfonts4X_tar.gz 2. ruskb-1_4_2tar.gz
Изучение литературы После этого иду на LDP Home Page (Linux Documentation Project) нахожу шорткат к HOWTO и списываю The Linux Cyrillic HOWTO.
http://sunsite.unc.edu/mdw/HOWTO/Cyrillic-HOWTO.html
Сажусь и читаю.
5. Установка фонтов
Беру полученный файл winfonts4X_tar.gz и разархивирую его в директорию
/home/MyDir/russ . После разархивации получилось три директории:
Создаю директорию /usr/X11R6/lib/X11/fonts/cyr1251
Копирую из директории /home/MyDir/russ/winfonts_X_package/pcf все файлы в директорию /usr/X11R6/lib/X11/fonts/cyr125
Прописываю путь к фонтам в файле /etc/X11/X86Config:
Section "Files" FontPath "/usr/X11R6/lib/X11/fonts/cyr1251/"
Теперь можно проверить работают ли фонты:
xfd -fn
или
editor -fn
и считав файл, записанный в кодовой странице Cp1251.
editor - редактор из пакета offix.
FontName можно взять из файла:
/usr/X11R6/lib/X11/fonts/cyr1251/fonts.alias
Уже можно получать удовольствие от чтения документов Cp1251!
6. Первая попытка добиться переключения клавиатуры
Итак, фонты готовы. Теперь неплохо бы было печатать в той же кодовой
странице. Для этого надо, чтобы при нажатии на клавишу в файл записывался бы
нужный код. Читаем The Linux Cyrillic HOWTO.
Сажусь и читаю. Вроде все описано довольно подробно и доходчиво. Надо переделать файл /etc/X11/Xmodmap, где и будет таблица перекодировок. Остальное делает XF86. При помощи Ворда составляю таблицу кодировки Cp1251. Беря коды букв из составленной таблицы и вставляя их в Xmodmap, получаем, то что надо.
------------------ Начало файла ----------------------- ! /etc/X11/Xmodmap ! ! This is the global Xmodmap file. It is used by both xdm and xinit. !--------------------- My string -------------------------- ! E Kazanov 04.03.1997 | Small Capital | ! Cp1251 (Windows 95) | | !---------------------------------------------------------- !keysym 4 =4 dollar 4 quotedbl !keysym 5 =5 percent 5 colon !keysym 6 =6 asciicircum 0x36 0x82 !keysym 7 =7 0x26 0x37 0x26 !keysym / =/ ? 0x95 0x82 keysym q =q Q 0xE9 0xC9 keysym w =w W 0xF6 0xD6 keysym e =e E 0xF3 0xD3 keysym r =r R 0xEA 0xCA keysym t =t T 0xE5 0xE5 keysym y =y Y 0xED 0xCD ! 10 keysym u =u U 0xE3 0xC3 keysym i =i I 0xF8 0xD8 keysym o =o O 0xF9 0xD9 keysym p =p P 0xE7 0xC7 keysym bracketleft =bracketleft bracketleft 0xF5 0xD5 keysym bracketright =bracketright bracketright 0xFA 0xDA keysym a =a A 0xF4 0xD4 keysym s =s S 0xFB 0xDB keysym d =d D 0xE2 0xC2 keysym f =f F 0xE0 0xC0 ! 20 keysym g =g G 0xEF 0xCF keysym h =h H 0xF0 0xD0 keysym j =j J 0xEE 0xCE keysym k =k K 0xEB 0xCB keysym l =l L 0xE4 0xC4 keysym semicolon =semicolon colon 0xE6 0xC6 keysym apostrophe =apostrophe quotedbl 0xFD 0xDD keysym grave =grave asciitilde 0xA3 0xB3 keysym z =z Z 0xFF 0xDF keysym x =x X 0xF7 0xD7 ! 30 keysym c =c C 0xF1 0xD1 keysym v =v V 0xEC 0xCC keysym b =b B 0xE8 0xC8 keysym n =n N 0xF2 0xD2 keysym m =m M 0xFC 0xDC keysym comma =comma less 0xE1 0xC1 keysym period =period greater 0xFE 0xDE ! 37 -------------------- Конец файла ----------------------
Примечание: этот файл работает, но еще не доработан. Есть проблемы с точкой и запятой.
После составления Xmodmap согласно Cyrillic HOWTO надо заняться запуском переключения клавиатуры. В HOWTO описаны два способа:
Переключение осуществляется встроенными методами XF86 при помощи программы
xmodmap. К сожалению у меня не заработал ни оюин из этих способов. Файл
Xmodmap работал. Буквы менялись при нажатии модификатора, но упорно не шла
фиксация. Т.е. можно было печатать по-русски, но надо было удерживать правый
Alt нажатым, что вообще-то не совсем удобно. На подбор различных комбинаций
модификаторов, кодов клавиш и т.д. ушло три вечера или около того. все
безуспешно. Но от этого этапа у меня остался работоспособный файл Xmodmap.
7. Вторая попытка переключать клавиатуру
Итак после трех дней попыток, я отправился на разведку. Подключился к
http://www.reference.com (База данных по статьям в ньюс)и стал читать статьи
из конференций relcom.fido.ru.unix, relcom.fido.ro.linux, relcom.fido.ro.x.
Выяснилось, что у многих способы, описанные в HOWTO тоже не идут. Уже легче, значит я не один. Дальше определилось, что народ пользуется программой xrus. Хорошо: я этот пакет уже списал. Ну что же, надо двигаться дальше.
checking mawk...yes gcc...no cc...no
dpkg -i --force gcc_2.7.2-8.deb
gcc установился, но написал, что не установлены binutilits, установил их.
./configure --x-libraries=/usr/X11R6/lib
Все отработало отлично. Узнал Athena Widget, запустил make - опять все OK.
/usr/local/bin/xrus /etc/X11/Xmodmap
8. Счастливый финал.
Ну вот, теперь я сижу и довольный, набиваю эти строки для вас. Xrus мягко
попикивает. Спасибо Александру В. Лукьянову.
9. Проблемы.
На данный момент я не смог сделать хорошую точку и запятую в русском режиме.
Приходится ставить их в английской моде. Если кто занет в чем проблема,
напишите мне по адресу: pmu@mail.iae.lt
10. От автора
Коомментарии и пожелания присылайте по адресу:
Казанов Евгений evgeny@dkd.ot.lt