Русификация
ОС QNX4 (01.08.2k)
|
В этом документе я попытаюсь обобщить весь свой
опыт решения проблемы русификации ОС QNX 4. Опишу каким образом мне удалось
это сделать от начала и до конца (с некоторыми огрехами и оговорками конечно, но в общем
сносно).
А именно:
Консоль (shell в
текстовом режиме работы монитора)
Photon MicroGUI (1.14)
Photon Terminal (1.14 и не только)
и опишу подмеченные мной особенности работы с русским языком некоторых приложений:
Midnight Commander 4.1.36-qnx
Voyager 2.02
Voyager Mail 2.02
Photon ICQ [by S. Prozhogin]
Photon Editor
Photon HTML demo и Photon Help Viewer
Длинные русские имена в FAT-разделе
Консоль (shell в текстовом режиме работы монитора)
Итак, начнем с русификации консоли. Мне очень
понравился пакет russhell, разработанный
Александром Смирновым. Этот пакет
содержит русский консольный шрифт и драйвер клавиатуры. Раскладка КОИ-8Р, что
вполне подходит для большинства консольных *nix-приложений. Переключение русский/латинский
- левый <Control> + левый <Shift>. Установка пакета сводится к следующему:
1. Распакуйте архив russhell.tgz
в каком-нибудь директории "tar xzvf russhell.tgz"
2. Скопируйте:
KOI8-R, USA --> /etc/config/kbd/
koi8-8x16 --> /etc/config/cfont/
rk --> /usr/local/bin/
3. Измените /etc/config/sysinit.1:
после строки:
reopen //0/dev/con1
добавьте:
cfont -f 0 /etc/config/cfont/koi8-8x16
/usr/local/bin/rk /etc/config/kbd/USA /etc/config/kbd/KOI8-R
4. Выполните:
tic ./terminfo.src
Все. Перезагрузитесь и наслаждайтесь.
Примечание: пакет работает только в режиме QNX-терминала с установками:
stty protocol=0 term=qnx && export TERM=qnx
Photon MicroGUI (1.14)
Для русификации Photon уже разработано несколько пакетов, а именно ruskey 3.20
от SWD, phonon cyrillic supplement от QSSL,
возможно есть и другие. Если кому-то лень долго настраивать все вручную - можно
воспользоваться этими пакетами, устанавливаются они оба как обычно все в QNX
4 - распаковываются в корне файловой системы. После перезагрузки Вы получите
русскую раскладку Unicode + набор русских шрифтов (по моему скромному мнению
- ужасного начертания). Переключаться клавиатура будет с помощью <Caps Lock>
или <Alt>.
Но мне эти пакеты честно говоря, не понравились и я решил придумать свой способ
и "приучить" Photon к хорошо знакомым мне и, я думаю, большинству
пользователей, TTF-шрифтам от Windows 95/98, благо они Unicode (что является
необходимым условием для их использования в Photon MicroGUI) и отличаются хорошим
качеством начертания.
Сначала заставляем нормально работать клавиатуру. Я использовал драйвер клавиатуры
от пакета cpterm (о нем мы вспомним
когда займемся русификацией терминала Photon). В этом пакете есть уже готовый
драйвер клавиатуры ru_UN_101.kbd и его исходник - файл описаний ru_UN_101.kdef
(специально для тех, кто-то хочет что-то поправить). Архив с вышеперечисленными
файлами можно взять здесь. Этот
драйвер привлекателен лично мне тем, что он достаточно корректно отрабатывает
русскую раскладку с привычным переключением - левый <Control> + левый
<Shift>. Копируем эти файлы в /etc/config/kbd. Запускаем Photon. Запускаем
менеджер раскладок - программу /qnx4/photon/bin/kbsel - добавляем в список раскладок
клавиатур раскладку ru_UN_101.kbd, раскладку en_US_101.kbd из списка удаляем.
Можно теперь вручную подредактировать файл в /.photon с названием keyboards.
Он у меня такого содержания:
-------------------------------- cut here ------------------------------------
/etc/config/kbd/ru_UN_101.kbd ru_UN_101
sw=2
dir=/etc/config/kbd
-------------------------------- cut here ------------------------------------
Далее дописываем в файл /etc/profile следующую строчку:
export KBD=ru_UN_101.kbd
Все. Русская клавиатура после перезагрузки машины будет готова к употреблению.
Переключение - левый <Control> + левый <Shift>. Индикатор - Scroll
Lock. Горит - английский, не горит - русский.
Далее из Windows 95/98 берем шрифты Arial, Times New Roman, Courier New, а именно:
C:\WINDOWS\FONTS\arial.ttf
C:\WINDOWS\FONTS\arialbd.ttf
C:\WINDOWS\FONTS\arialbi.ttf
C:\WINDOWS\FONTS\ariali.ttf
C:\WINDOWS\FONTS\cour.ttf
C:\WINDOWS\FONTS\courbd.ttf
C:\WINDOWS\FONTS\courbi.ttf
C:\WINDOWS\FONTS\couri.ttf
C:\WINDOWS\FONTS\times.ttf
C:\WINDOWS\FONTS\timesbd.ttf
C:\WINDOWS\FONTS\timesbi.ttf
C:\WINDOWS\FONTS\timesi.ttf
Ярые противники содержания "ОС" Windows на своем компьютере могут
взять архив этих шрифтов здесь.
Также понадобится русифицированный шрифт Helvetica. Его можно взять здесь.
Шрифт Helvetica я принципиально не удалял, так как он "жестко завязан"
на использование в Photon Desktop Manager - проще PDM.
Любым возможным способом (например используя Dosfsys или скачав и распаковав
архив) переносим эти файлы в каталог
QNX: /qnx4/photon/font.
Запускаем менеджер шрифтов - /qnx4/photon/bin/fontcfg -G (для пользователя root).
Если предыдущий шаг выполнен верно, в правой панели окна программы появятся
шрифты - Arial, Times New Roman, Courier New. Помечаем их мышкой и нажимаем
кнопку Install. Теперь удаляем все лишние (по моему скромному мнению) шрифты
из левой панели (их можно удалить и физически из каталога /qnx4/photon/font
- чтобы не занимали лишнего места на диске - если это актуально). У меня это
выглядит так:
Все. Нажимаем на Save и затем
Apply. В этот момент система может сильно "глюкануть" и "тормознуть"
по непонятным мне пока до конца причинам - скорее всего не может сразу распределить
память для новых TTF-шрифтов (а они увесисты) или мгновенно "перестроить"
все программы на работу с новыми шрифтами. Подождем минуты 2-3 и комбинацией
<Ctrl>+<Alt>+<Shift>+<Backspace> аварийно завершаем
сеанс Photon. Теперь перезагружаем машину "shutdown -f". После этого
все должно работать правильно.
Photon Terminal
Исходный документ на эту тему я нашел здесь.
Позволю себе его процитировать.
-------------------------------- cut here ------------------------------------
Русификация
pterm в Photon 1.14
Начиная с версии 1.14, Photon microGUI поддерживает отображение и ввод национальных
символов в окне псевдотерминала (pterm). Своими рекомендациями о том, как заставить
pterm "говорить" по-русски, делится служба технической поддержки SWD Real-Time
Systems.
1. Запустите Photon.
2. Запустите программу ptermcs (пункт "Run..." меню Photon Desktop Manager).
3. Выберите нужные Вам кодировки в полях "ANSI charset", "Internal/QNX charset"
и "Font charset" (для последнего полезно сохранить установку по умолчанию -
"совпадает с Internal/QNX charset").
4. Сохраните созданный файл раскладки (пункт меню "File/Save As...", или Ctrl-A),
желательно в Вашем "домашнем" каталоге (например, $HOME/.photon/charsets).
5. Повторите пп. 3-4 для каждой необходимой Вам раскладки.
6. Запустите какую-нибудь программу в pterm (например, ksh).
7. Вызовите окно свойств терминала (Ctrl-Alt-C).
8. В поле "Text font" выберите "Custom" и нажмите кнопку "Customize". Откроется
окно "Customize font list".
9. В поле "Fonts" выберите нужный Вам шрифт в необходимой кодировке и его размер
(подробности об установке шрифтов в Photon см. в замечаниях по установке Photon
Cyrillic Supplement - файл /etc/readme/phcyr).
10. Нажмите кнопку "Add". Выбранный шрифт появится в списке шрифтов.
11. По необходимости повторите пп. 9-10 для всех необходимых Вам шрифтов.
12. Используйте кнопки "Shift Up" и "Shift Down" для выбора приоритета шрифтов.
Первый в списке шрифт будет установлен по умолчанию. Примечание: для корректной
обработки псевдографических символов рекомендуется использовать по умолчанию
шрифты в кодировке CP866 (alt). Шрифты в других кодировках неправильно отображают
псевдографику.
13. В поле "Charsets File" нажмите кнопку "Browse". Откроется окно "Choose file".
14. Выберите один из созданных Вами в пп. 2-5 файлов раскладки и нажмите кнопку
"Select". Окно "Choose file" закроется. Примечание: для корректного отображения
вводимого текста кодировки шрифта и клавиатуры должны совпадать. Поэтому установите
по умолчанию раскладку с той же кодировкой, что и у принятого по умолчанию шрифта.
Для корректного отображения файлов в кодировке, отличной от принятой по умолчанию,
Вы можете переключаться между установленными шрифтами консоли "на лету" стандартными
комбинациями клавиш (Ctrl-Alt-> и Ctrl-Alt-<). Но если Вам придется редактировать
этот текст, то Вам придется сменить также раскладку клавиатуры (см. выше), как
это описано в пп. 13-14. Это позволяет создавать текстовые файлы в различных
кодировках.
15. В окне "Customize font list" нажмите кнопку "Done".
16. В окне свойств терминала нажмите кнопки "Apply" и "Save & Close".
17. Повторите пп. 6-16 для всех программ, которые запускаются Вами в pterm (например,
из меню Photon Window Manager или при помощи Photon Desktop Manager) и используют
различные его конфигурации (конфигурации pterm хранятся в файлах $HOME/.photon/pterm*.rc).
И наслаждайтесь! P.S. Слишком быстрое последовательное нажатие некоторых клавиш
может быть воспринято pterm как управляющая последовательность терминала и привести
к неприятным последствиям. Так, быстрый ввод последовательности "яд" в редакторе
vedit (терминал QNX, раскладка клавиатуры в кодировке Windows 1251) вызывает
переключение режима отображения (меню "View/Toggle Display mode"), а последовательность
"ям" вызывает установку маркера строки, что и произошло несколькими строчками
выше. =%-O
-------------------------------- cut here
------------------------------------
От себя добавлю, что этот метод действительно
работает и оправдывает себя.
Иногда бывает необходимо дополнительно установить русские шрифты PCTerm. Их
можно взять здесь.
Я сделал 3 файла - cp866.cs, win1251.cs, koi8r.cs (архив здесь), которые легко можно менять для каждого конкретного случая, установив по умолчанию один из них (мне например чаще приходится работать в кодировке win-1251, например писать эти строки ;) поэтому я выбрал по умолчанию win1251.cs. Окно ptermcs выглядит для всех случаев настройки следующим образом:
win1251.cs: ANSI charset Cyrillic (Windows 1251) Internal/QNX charset Cyrillic (IBM 866) Font charset (same as internal) cp866.cs: ANSI charset Cyrillic (IBM 866) Internal/QNX charset Cyrillic (IBM 866) Font charset (same as internal) koi8r.cs: ANSI charset Cyrillic (KOI8-R) Internal/QNX charset Cyrillic (IBM 866) Font charset (same as internal)
Шрифт, который я использовал
в свойствах pterm - pcterm12, файл раскладки клавиатуры остался тот же без изменений
(см. выше о русификации Photon).
Midnight Commander 4.1.36-qnx
Для того чтобы можно было пользоваться русским языком в редакторе и вьювере
Midnight Commander 4.1.36
/речь идет именно об этой версии, т.к. остальными, попадавшимися мне "версиями",
уважающий себя человек пользоваться не будет вообще ;) / я проделал следующее:
выбрал в меню F9 -> Options -> Display bits... и поставил звездочку напротив
"ISO 8859-1" и крестик около "Full 8 bits input". Нажал Ok, выбрал снова F9
-> Options -> Save setup. Все.
Voyager 2.02
Запускаем Voyager (лучше конечно, если это будет версия 2.02), выбираем в меню
Edit --> Configuration. На закладке Appearance вписываем Body Font Family -
Times New Roman, Heading Font Family - Arial, Preformatted Text Font Family
- Courier New. Сохраняем параметры. Теперь Voyager готов к длительным путешествиям
по Рунету, причем текст просматриваемых страничек будет выглядеть как в Internet
Explorer или Netscape Navigator.
Voyager Mail 2.02
Для корректной обработки и обеспечения "читабельности" текстов писем
лучше все-таки использовать принятую в *nix кодировку КОИ-8Р.
Photon ICQ [by S. Prozhogin]
при посылке сообщения есть возможность выбрать шрифт - выбираем Arial 10 Bold
- теперь можно общаться с другими пользователями ICQ, которые сидят под Windows
и пишут в кодировке 1251. Шрифт Helv (по умолчанию) у меня не заработал корректно
по-русски.
Photon Editor
В меню Options -> Defaults устанавливаем шрифт по умолчанию - Arial 10 Bold
- нажимаем Save. Теперь по умолчанию при работе с Photon Editor текст будет
выглядеть привычно как в MS Notepad. При чтении и сохранении документов можно
выбирать кодировки Options --> Encoding или Ctrl-E. Работоспособность проверена
с кодировками DOS-866, КОИ8-Р, Win-1251.
Photon HTML demo и Photon Help Viewer
Эти приложения "упорно" не хотят показывать русские буквы в просматриваемых
документах. Дело тут в том, что Photon "жестко завязан" на использование
Unicode, ему просто нет дела до каких-то там разнообразных русских кодировок.
Так что если придется создавать свой русскоязычный help (например для своей
собственной разработки), нужно поступить следующим образом:
1. Загружаем Photon Editor.
2. Меняем кодировку по умолчанию на Windows-1251 (или другую, смотря в какой
кодировке наши исходные html-файлы).
3. Загружаем html-файл в редактор.
4. Меняем кодировку на Unicode (UTF-8).
5. Сохраняем файл.
6. Проделываем шаги 2-5 для всех имеющихся html-файлов.
Теперь новые html-файлы должны отображаться корректно, с русскими буквами.
Есть, конечно, еще один вариант (для наиболее продвинутых пользователей). Благо
в PhAB есть исходники htmldemo (а вроде бы и helpviewer'а). Можно добавить туда
модуль перекодировки аналогичный Voyager и VMail. Его можно попытаться найти
там же, в Voyager SDK или написать свой собственный. Но это уже тема другой
статьи.
Длинные русские имена в FAT-разделе
Если использовать Dosfsys, то обычно длинные русские имена в FAT-разделе (Windows)
не просматриваются, либо вместо них наблюдается нечто непонятное. Частично проблема
решается использованием нового менеджера файловой системы FAT - Fatfsys (включен
в QNX 4.25 Patch D). Т.к. Photon понимает исключительно Unicode, а Windows хранит
длинные русские имена файлов в Unicode, то просматриваться они будут только
из-под Photon'овских программ, таких как Photon File Manager. В консоли и pterm
это пока к сожалению не работает, т.к. они не понимают кодировку Unicode.
Если Вы найдете в этом документе ошибки, хотите предложить свой метод русификации,
может быть, описание русификации для конкретных программ, здесь не описанных
- пишите мне, я с удовольствием внесу в этот
текст все необходимые поправки и дополнения.
01.08.2000
Engineer rtos@mail.ru