Русификация

Русификация QNX 4/Photon 1.14

Русификация QNX 6/Photon 2.0

Перекодировка файлов

Ссылки


Русификация QNX 4/Photon 1.14

Здесь описана русификация консоли QNX 4.25 в текстовом режиме, русификация Photon 1.14 и русификация окна Photon Terminal (pterm).
А также здесь упомянуто о следующих программных продуктах: RusKey, RTWin, PhCyr, PhaCyr.

Русификация консоли QNX 4.25 в текстовом режиме

Цель русификации консоли QNX 4.25 в текстовом режиме: возможность отображения и ввода с клавиатуры русских символов в OEM кодировке IBM 866.

Для отображения русских букв нужны консольные шрифты, содержащие русские буквы в кодировке IBM 866. Эти шрифты загружаются в память видеокарты с помощью утилиты cfont. Для ввода русских букв с клавиатуры нужна русская раскладка клавиатуры и переключалка раскладок клавиатуры.

Консольные шрифты 8x8, 8x14, 8x16 в OEM кодировке IBM 866 вы можете взять здесь.

Чтобы установить эти шрифты, нужно скопировать их в каталог /etc/config/cfont/ и изменить файл /etc/config/sysinit.node следующим образом: после строки
reopen //0/dev/con1
добавить строки:
cfont -f 3 /etc/config/cfont/cp866.08
cfont -f 2 /etc/config/cfont/cp866.14
cfont -f 0 /etc/config/cfont/iso866.16
cfont -f 1 /etc/config/cfont/cp866.16

Переключение шрифтов в консоли производится с помощью клавиш Ctrl-Alt- <  и Ctrl-Alt- > 

Об утилите cfont читайте в документации к QNX 4.25 в разделе «Utilities Reference».

Раскладку клавиатуры для консоли QNX в текстовом режиме и переключалки раскладок клавиатуры вы можете взять здесь.

Создавать и редактировать раскладки клавиатуры можно с помощью утилиты kedit. Загружать с помощью утилиты kbd, примеры:
kbd /etc/config/kbd/Russia
kbd /etc/config/kbd/USA

Об утилитах kedit и kbd читайте в документации к QNX 4.25 в разделе «Utilities Reference».


Русификация консоли QNX 4.25 в текстовом режиме с помощью Ruskey v3.20

Для русификации консоли QNX 4.25 в текстовом режиме может быть использован RusKey v3.20. Для установки запустите из корневого каталога:
/etc/install -u ruskey3_20.tar.F

Для переключения раскладки клавиатуры в QNX используется следующее сочетание клавиш: RightCtrl-RightShift. При переключении раскладки клавиатуры издаётся звуковой сигнал.

Примечание 1: RusKey — коммерческий продукт и требует лицензию swdrk

Примечание 2: Чтобы после установки RusKey v3.20 не получить чёрный текст на чёрном экране, проследите, чтобы в файле /etc/config/sysinit.* была записана следующая последовательность команд:

cfont -f0 /etc/config/cfont/rus/vga!.f16
stty font=0 < /dev/con1
Если после установки Ruskey вы забыли проверить sysinit и после перезагрузки получили на экране черную дыру, ничего страшного, переключитесь на русскую кодировку — текст станет зеленым.

Из FAQ по QNX сайта qnx.al.ru:
Q: ruskey при запуске nettrap start & (т.е. в фоновом режиме — с &) вешает консоль. Экран становится пустым. Что делать?
A: Нажать клавиши перехода на другой язык (обычно по умолчанию это либо левый Ctrl-Shift, либо правый). Появится синяя рамка, и скорее всего, будет видно сообщение от менеджера Net. Далее необходимо открыть файл /etc/config/sysinit.node, и исправить в нем строчку
nettrap start &
на
nettrap start
(убрать амперсанд).


Русификация Photon 1.14

Цель русификации Photon 1.14: возможность отображения и ввода с клавиатуры русских символов, желательно в кодировке Unicode (UTF-8). UTF-8 в Photon используется как внутренняя кодировка.

Для отображения русских симолов в Photon нужны шрифты, содержащие русские буквы.

Для ввода русских симолов в Photon нужен файл с русской раскладкой клавиатуры (keyboard table).

Шрифты для Photon 1.14

Файлы шрифтов для Photon находятся в каталоге /qnx4/photon/font

Photon «понимает» следующие типы шрифтов:

Шрифты *.phf — немасштабируемые (bitmapped), шрифты *.pfr и *.ttf — масштабируемые (scalable).

В стандартной поставке Photon есть следующие PHF-шрифты общего назначения в кодировке Unicode (ISO 8859-1):
char — Charter,
cour — Courier,
helv — Helvetica,
lu — Lucida,
lub — Lucida Bright,
lut — Lucida Terminal,
ncen — New Century Schoolbook,
symb — Symbol,
tech — Technical,
time — Times,
uselss — Useless,
utop — Utopia
и терминальные шрифты (для Photon Terminal) в кодировке IBM 437:
pcs — PC Serif,
pcss — PC Sanserif,
pcterm — PC Terminal.

Шрифты в формате PHF для QNX 4 можно создать из BDF-шрифтов с помощью утилиты bdf_2_phf. Шрифты в формате PHF2 для QNX 6 можно создать из BDF-шрифтов с помощью утилиты bdftophf2. О том, как использовать утилиты bdf_2_phf и bdftophf2 смотрите в документации соответственно на QNX 4 и QNX 6.
BDF-шрифты, содержащие русские буквы, можно найти в Интернете (например, здесь http://www.inp.nsk.su/~bolkhov/files/fonts/cyr-rfx/00index.ru.html), сконвертировать из PCF-шрифтов (X Window) или из TTF-шрифтов. Утилиты для создания BDF-файлов из PCF- и TTF-шрифтов смотрите на страницах other.html и qnxsoft.html.

О формате PHF-шрифтов в QNX 4 читайте здесь: Description of Photon Font files

Кроме PHF шрифтов в QNX 4 и QNX 6 можно использовать TTF-шрифты в кодировке Unicode, взять их можно, например, из дистрибутива Windows 98 SE, из каталога C:\WINDOWS\FONTS\. Русские буквы содержат, например, следующие шрифты:
cour.ttf — Courier New,
courbd.ttf — Courier New Bold,
couri.ttf — Courier New Italic,
courbi.ttf — Courier New Bold Italic,
times.ttf — Times New Roman,
timesbd.ttf — Times New Roman Bold,
timesi.ttf — Times New Roman Italic,
timesbi.ttf — Times New Roman Bold Italic,
arial.ttf — Arial,
arialbd.ttf — Arial Bold,
ariali.ttf — Arial Italic,
arialbi.ttf — Arial Bold Italic,
tahoma.ttf — Tahoma,
tahomabd.ttf — Tahoma Bold,
verdana.ttf — Verdana,
verdanab.ttf — Verdana Bold,
verdanai.ttf — Verdana Italic,
verdanaz.ttf — Verdana Bold Italic,
lsansuni.ttf — Lucida Sans Unicode,
lucon.ttf — Lucida Console,
andalemo.ttf — Andale Mono,
Шрифты Courier New, Lucida Console и Andale Mono — фиксированные (моноширинные).

Скопировать их можно таким образом:
cp /dos/c/windows/fonts/cour.ttf /qnx4/photon/font
и затем установить с помощью fontcfg. Запускать fontcfg нужно с опцией -G для пользователя root. Подробно об утилите fontcfg читайте в документации.

Русские шрифты для Photon вы можете взять здесь.

Для установки PHF-шрифтов потребуется: если заменяете шрифт, нужно вначале, используя fontcfg, удалить, например, старый шрифт helv*, затем физически удалить файлы helv*.phf из /qnx4/photon/font/, скопировать новые файлы helv*.phf в /qnx4/photon/font/ и используя fontcfg установить шрифт. Лучше это все проделать для каждого шрифта отдельно.

Раскладки клавиатуры для Photon 1.14

В поставку Photon входит русская раскладка клавиатуры для Photon, обеспечивающая ввод русских символов в кодировке Unicode (UTF-8) — файл ru_RU_102.kbd, этот файл включает в себя также стандартную раскладку, которая позволяет вводить английские символы, переключение этих раскладок производится по клавише RightAlt.

Файл с русской раскладкой клавиатуры ru_RU_102.kbd можно подключить в Photon с помощью утилиты kbsel:

С помощью kbsel можно настроить подключение нескольких файлов с раскладками клавиатуры и настроить клавиши для их переключения. Информация сохраняется в файле /.photon/keyboards. Об утилите kbsel читайте в документации на Photon microGUI.

Файл с русской раскладкой клавиатуры ru_RU_102.kbd нужно также подключить, используя переменную среды окружения KBD, Например, добавив следующую строку к вашему файлу sysinit.node (или файлу /etc/profile):
export KBD=ru_RU_102.kbd

Файл ru_RU_102.kdef (в каталоге /usr/photon/keyboard), поставляемый вместе с Photon, содержит исходник русской раскладки клавиатуры. Это текстовый файл, который можно отредактировать в любом текстовом редакторе.

Декомпилировать двоичный файл с раскладкой клавиатуры (*.kbd) в текстовый файл (*.kdef) можно с помощью утилиты kbcvt. Скомпилировать исходник (*.kdef) в бинарный файл (*.kbd) можно с помощью утилиты mkkbd.
Подробнее об утилитах kbcvt и mkkbd читайте в документации к Photon microGUI в руководстве «Installation & Configuration» в главе «Unicode Multilingual Support», параграф «Keyboard tables».


Русификация Photon 1.14 с помощью RusKey v3.20

RusKey v3.20 может быть также использован для русификации Photon 1.14. При установке RusKey v3.20 устанавливаются Photon'овские PHF-шрифты, содержащие русские буквы в кодировке IBM-866:
CourierCyr (courc) с размерами 08, 10, 12, 14, 18 и 24,
TimesCyr (timec), с размерами 08, 10, 12, 14, 18 и 24,
HelveticaCyr (helvc), с размерами 08, 10, 12, 14, 18 и 24,
Helvetica (helv), с размерами 10, 12 (только обычный и жирный шрифты),
PC Terminal (pcterm), с размерами 12, 14 и 20,
Шрифты helv и pcterm заменяют стандартные шрифты.

Файл раскладки клавиатуры, устанавливаемый RusKey — это ru_RU_101.kbd, подключить его можно с помощью утилиты kbsel:

Для переключения раскладки клавиатуры в Photon при использовании RusKey используется то же сочетание клавиш, что и в консоли QNX в текстовом режиме: RightCtrl-RightShift. При переключении раскладки клавиатуры издаётся звуковой сигнал.

Примечание 1: Так как раскладка клавиатуры для Photon ru_RU_101.kbd, устанавливаемая RusKey, обеспечивает ввод символов в кодировке IBM-866 (SWD), а не Unicode (UTF-8), и шрифты CourierCyr (courc), TimesCyr (timec), HelveticaCyr (helvc), Helvetica (helv), установленные с помощью RusKey, содержат символы в кодировке IBM-866, а не Unicode, то вместо кодировки UTF-8 в фотоновских приложениях (Photon Editor, PhAB, Helpviewer и т. д.) получается и отображается нестандартная кодировка, которую условно назовём SWD.

Примечание 2: Так как Helpviewer использует шрифты только со стандартными именами (lu — Lucida, lub — Lucida Bright, ncen — New Century Schoolbook, helv — Helvetica, time — Times Roman, dutch — Dutch, swiss — Swiss, utop — Utopia), а RusKey заменяет из стандартных шрифтов только шрифты helv с размерами 10 и 12 и учитывая примечание 1, то при просмотре файлов справки на русском языке нужно использовать именно шрифт Helvetica с размером 10 или 12 и файлы справки должны быть соответственно не в кодировке UTF-8, а в этой нестандартной кодировке SWD.

Примечание 3: Вы не сможете читать тексты в кодировках Unicode, UTF-8, используя PHF-шрифты, установленные RusKey и не сможете вводить текст в кодировке UTF-8, используя файл раскладки клавиатуры ru_RU_101.kbd, установленный RusKey, но PHF-шрифты в кодировке IBM 866, а не Unicode имеют небольшое преимущество: они меньше по своему размеру (что может иметь значение для встраиваемых систем, где создание и чтение текстов в кодировках Unicode и UTF-8 может не понадобится, а размер установленных файлов имеет значение), так как коды русских символов в кодировке IBM 866 находятся внутри диапазона 128 – 255, а в кодировке Unicode — внутри диапазона 1024 – 1279 и описываются коды символов, содержащихся в PHF-шрифте следующим образом:

и есть таблица метрик по 8 байт для каждого символа (это в QNX 4, а в QNX 6 в шрифтах формата PHF2 таблица метрик содержит уже по 32 байта для каждого символа) и даже если символ «отсутствует» в шрифте, то метрики для него всё равно есть, но только ширина такого «отсутствующего» символа в этих метриках указана нулевая.


RTWin RUS для QNX 4.25/Photon 1.14

Русская RTWin CACSD (по крайней мере, известные мне версии 2.0 и 2.1) устанавливает шрифты helv (Helvetica) с размерами 08, 10, 12, 14, 18 и 24 в кодировке IBM 866 (SWD), которые заменяют собой стандартные шрифты helv (Helvetica), и весь руский интерфейс к RTWin и файлы справки соответственно устанавливаются в кодировке SWD. Поэтому для ввода русских букв, которые будут отображаться установленным шрифтом helv (Helvetica) в этой кодировке, нужен файл с русской раскладкой клавиатуры, обеспечивающей ввод символов в этой нестандартной кодировке SWD (например, раскладка клавиатуры, устанавливаемая русификатором RusKey) и при просмотре файлов справки тоже нужно использовать этот установленный шрифт helv (Helvetica).


Русификация Photon 1.14 с помощью Photon Cyrillic Supplement (PhCyr)

Существует отдельный продукт, называемый «Photon Cyrillic Supplement» (PhCyr), содержащий в том числе следующие PHF шрифты в кодировке Unicode:
crxcour — RusCourier,
crxtms — RusTimes,
crxhelv — RusHelvetica.
Эти шрифты сделаны кем-то для QSSL на основе Cronyx шрифтов и содержат только по 64 русские буквы (32 строчные и 32 заглавные) с кодами от 0x0410 до 0x44F, то есть не содержат даже русские буквы Ё и ё.

PhCyr также устанавливает следующие масштабируемые (scalable) шрифты в формате TrueDoc (*.pfr):

Рекомендую после установки PhCyr в файле /qnx4/photon/font/fontmap заменить везде строки dutchs и swisss соответственно на строки cdutch80s и cswiss72s.

Устанавливать PhCyr нужно из корневого каталога с помощью команды
/etc/install -u phcyrv1.00.tar.F
либо, если дистрибутив в формате .tarx, то устанавливать PhCyr нужно из-под Photon с помощью утилиты pkginstall.

Photon Cyrillic Supplement — коммерческий продукт и требует лицензию phcyr.


Русификация Photon 1.14 с помощью PhaCyr 2.0

С помощью PhaCyr 2.0 от компании InfoMarket (сейчас, все права на PhaCyr 2.0 принадлежат SWD) можно русифицировать только Photon 1.14, но не консоль QNX в текстовом режиме.

Для установки PhaCyr 2.0 запустите из корневого каталога:
/etc/install -u phacyr-2.0.tar.gz

Дистрибутив PhaCyr включает в себя:

При установке нужно выбрать по нажатию каких клавиш будет переключаться раскладка клавиатуры:
1. LeftShift-LeftAlt, ru_RU_101
2. LeftShift-LeftCtrl, ru_RU_101
3. LeftCtrl-LeftAlt, ru_RU_101
4. RightAlt, ru_RU_102


Русификация Photon Terminal (pterm)

Цель русификации pterm: отображение и ввод с клавиатуры символов в OEM кодировке (IBM 866) в окне Photon терминала.

Для pycификации pterm:

  1. Нужен PHF-шpифт, содержащий русские буквы. Это может быть как шрифт в OEM кодировке IBM-866, так и в кодировке Unicode. Шрифт должен быть обязательно фикcиpованным (моноширинным), то есть все символы шрифта должны иметь одинаковую ширину.
    Если требуется отображение символов псевдографики, то шрифт также должен содержать псевдографические символы.
    В стандартной поставке Photon моноширинными шрифтами, предназначенными для pterm, являются шрифты PC Terminal (pcterm), PS Serif (pcs), PS Sans Serif (pcss) — все они содержат символы с кодами от 0 до 255 в OEM кодировке IBM 437.
  2. Необходимо cоздать файл тpанcляции кодиpовок для pterm c помощью утилиты ptermcs:
             ANSI charset: Cyrillic (IBM 866)
    Internal/QNX  charset: Cyrillic (IBM 866)
             Font charset: (same as internal)


    Здесь:
    «ANSI charset» — кодировка, которую вы хотите использовать, когда «Terminal Emulation» установлено в «ANSI» в диалоговом окне «Terminal Properties»
    «Internal/QNX charset» — кодировка, которую вы хотите использовать, когда «Terminal Emulation» установлено в «QNX» в диалоговом окне «Terminal Properties»
    «Font charset» — кодировка, которую использует ваш шрифт. Если кодировка используемого шрифта совпадает с кодировкой «Internal/QNX charset», то можно указать «(same as internal)».
    Сохраните созданный файл трансляции кодировок с расширением .cs в каталоге, например, /qnx4/photon/translation/.
    Вы можете создать несколько файлов трансляции кодировок, если захотите использовать различные кодировки, а не только IBM 866, например, koi8r_koi8r_cp866.cs:
             ANSI charset: Cyrillic (KOI8-R)
    Internal/QNX  charset: Cyrillic (KOI8-R)
             Font charset: Cyrillic (IBM 866)
    или koi8u_koi8u_cp866.cs:
             ANSI charset: Ukrainian (KOI8-U)
    Internal/QNX  charset: Ukrainian (KOI8-U)
             Font charset: Cyrillic (IBM 866)
    или cp1251_cp1251_cp866.cs:
             ANSI charset: Cyrillic (Windows 1251)
    Internal/QNX  charset: Cyrillic (Windows 1251)
             Font charset: Cyrillic (IBM 866)
    или 8859-5_8859-5_cp866.cs:
             ANSI charset: Cyrillic (ISO 8859-5)
    Internal/QNX  charset: Cyrillic (ISO 8859-5)
             Font charset: Cyrillic (IBM 866)
    Если захотите редактировать файлы в различных кодировках, вам придётся менять файлы трансляции кодировок.

  3. Нужно указать pyccкий PHF-шpифт в кодировке, указанной вами в «Font charset» текyщим в pterm и подключить файл тpанcляции, для этого запустите какую-нибудь программу в pterm, например, ksh или mqc, вызовите окно свойств терминала (Ctrl-Alt-C), в поле «Text Font» выберите «Custom...»



    и нажмите кнопку «Customize...». Откроется окно «Customize font list». В поле «Fonts» выберите нужный вам шрифт в необходимой кодировке и его размер. Нажмите кнопку «Add». Выбранный шрифт появится в списке шрифтов. Можете таким образом добавить несколько шрифтов в список. Используйте кнопки «Shift Up» и «Shift Down» для выбора приоритета шрифтов. Замечание: для корректного отображения псевдографических символов нужен шрифт в кодировке, в которой есть псевдографические символы, например, шрифт в кодировке IBM 866 или шрифт в кодироке Unicode, содержащий псевдографические символы (в Unicode псевдографические символы имеют коды в диапазоне 0x2500 – 0x25FF). Для подключения файла трансляции кодировок в качестве «Charsets File» нажмите кнопку «Browse...» и выберите нужный файл трансляции кодировок:



    В окне «Customize font list» нажмите кнопку «Done». Выбранную конфигурацию можно сохранить в файле pterm.rc либо pterm.имя_программы.rc В окне свойств терминала нажмите кнопки «Apply» и «Save & Close». Сохраняя конфигурацию в файлах с именами pterm.имя_программы.rc, вы можете создать различные конфигурации для всех программ, которые запускаются вами в pterm. Конфигурации pterm хранятся в файлах $HOME/.photon/pterm*.rc.

  4. Должна быть включена pyccкая клавиатypа в Photon, котоpая обеcпечивает коды UTF-8.

Файл тpанcляции для кодиpовки IBM 866 для pterm вы можете скачать здесь: cp866_cp866_same.cs

Прочие файлы трансляции:
8859-5_8859-5_cp866.cs
cp1125_cp1125_cp866.cs
cp1251_cp1251_cp866.cs
koi8r_koi8r_cp866.cs
koi8u_koi8u_cp866.cs
8859-5_8859-5_cp1125.cs
cp1251_cp1251_cp1125.cs
cp866_cp866_cp1125.cs
koi8r_koi8r_cp1125.cs
koi8u_koi8u_cp1125.cs
8859-5_8859-5_unicode.cs
cp1125_cp1125_unicode.cs
cp1251_cp1251_unicode.cs
cp866_cp866_unicode.cs
koi8r_koi8r_unicode.cs
koi8u_koi8u_unicode.cs
8859-5_8859-5_same.cs
cp1125_cp1125_same.cs
cp1251_cp1251_same.cs
koi8r_koi8r_same.cs
koi8u_koi8u_same.cs

Украинскую кодировку «Ukrainian (KOI8-U)» для Photon вы можете найти здесь.


Особенности русификации терминала Photon'а (pterm) при использовании RusKey

Несмотря на то, что в Readme к Ruskey v3.20 сказано, что «Окно терминала в Photon неправильно воспринимает русские буквы, что делает невозможным ввод русских букв в редакторе», ввод русских в окне терминала Photon при использовании Ruskey всё же возможен (по крайней мере в Photon v1.14): для русификации Photon терминала pterm нужно при создании файла тpанcляции кодиpовок для pterm использовать кодировку не IBM-866, а ISO 8859-1:

Фокус состоит в том, что кодировка Unicode совпадает с ISO 8859-1 в диапазоне кодов символов от 0 до 255, поэтому преобразование из кодировки Unicode в кодировку ISO 8859-1 и обратно равнозначно преобразованию из кодировки IBM 866 в кодировку IBM 866.

Файл тpанcляции кодиpовок для pterm, который нужно использовать, если у вас установлен RusKey v3.20 вы можете скачать здесь: ruskey.cs


SWD Cyrillic Pack

SWD Cyrillic Pack для QNX4 — программный пакет, предназначенный для русификации текстовых консолей QNX4, а также подсистем шрифтов и клавиатурного ввода графической оболочки Photon 1.1х, включая псевдотерминалы pterm.

Подробнее о SWD Cyrillic Pack читайте здесь: http://www.swd.ru/index.php3?pid=140


Русификация QNX 6/Photon 2.0

Русификация консоли QNX 6 в текстовом режиме

Утилита для загрузки консольного шрифта в видеокарту: loadfont
Исходник loadfont.c компилировать так:
make loadfont
Используется только для текстового режима. Примеры запуска:
loadfont cp866.08
loadfont iso866.16

Если загружен шрифт с другим размером, чем был до этого, то нужно перезагрузить devc-con:
slay devc-con; devc-con
Возможно, что будет работать и если шрифт загружать при загрузке QNX 6 до запуска devc-con.
Консольные шрифты вы можете скачать здесь.

Русская раскладка клавиатуры для консоли QNX 6 в текстовом режиме

Существует пакет SWD Cyrillic Pack для QNX 6, который содержит в своём составе модифицированный драйвер консоли devc-con (не знаю, правда, от какой версии QNX 6), который позволяет переключать раскладки клавиатуры (русская, английская) по нажатию клавиши ScrollLock.

Русификация Photon 2.0

После установки QNX 6.2.1 настройте локализацию. Для установки часового пояса запустите программу «User's Configuration» (кнопка «Localization» в меню). Рекомендую также снять флажок «The hardware clock uses UTC/GMT».

Программа «User's Configuration» в Photon 2.0.4/QNX 6.2.1 в отличие от утилиты kbsel в Photon 1.14/QNX 4.25 не позволяет выбрать несколько раскладок клавиатуры и горячие клавиши для их переключения, поэтому русификацию клавиатуры в Photon 2.0.4/QNX 6.2.1 придётся производить вручную с помощью редактирования файла /etc/system/trap/.KEYBOARD.host, где host — имя машины, например, localhost. В этом файле должны быть две следующие строки:
en_US_101.kbd
ru_RU_102.kbd
Переключение раскладок клавиатуры происходит по нажатию клавиш LeftAlt-LeftShift.
В QNX 6.1 достаточно было только прописать строку ru_RU_102.kbd или выбрать на закладке «Keyboard» программы «User's Configuration» раскладку клавиатуры «Russian», так как файл ru_RU_102.kbd содержит кроме русской раскладки клавиатуры также и стандартную английскую (американскую) раскладку клавиатуры и переключение раскладок по нажатию клавиши RightAlt, но в QNX 6.2 это почему-то не работает.

Для того чтобы видеть скрытые (hidden) файлы, то есть файлы, имена которых начинаются с точки (как, например, .KEYBOARD.localhost), настройте их отображение в менеджере файлов, которым вы пользуетесь (Photon File Manager и/или MQC).

В QNX 6.2.1, также как и в QNX 4.25 можно использовать TTF-шрифты и делать подстановки шрифтов.

Для установки шрифтов в QNX 6.2.1 нужно скопировать файлы шрифтов в каталог /usr/photon/font_repository и запустить утилиту /usr/photon/bin/mkfontdir, которая просканирует каталог /usr/photon/font_repository и пропишет найденные шрифты в файл /usr/photon/font_repository/fontdir. В Photon 2.0.4/QNX 6.2.1 после запуска утилиты mkfontdir и перезагрузки Photon возможно исчезновение курсора. Возможно, причина этого связана с файлом /usr/photon/font_repository/phcursor.phf. Символы этого файла являются изображениями курсоров и в Photon версии 2.0.4 имеют Unicode-коды не в диапазоне 0xE900-0xE921, как это было в предыдущих версиях, а 0x0000-0x0021. В файле fontdir однако после установки QNX 6.2.1 прописаны правильные значения E900-E921 и курсор отображается нормально, но утилита mkfontdir просканировав шрифты, извлекает из заголовков шрифтов параметры шрифтов и прописывает их в файл fontdir, в результате попытки отобразить символы с кодами 0xE900-0xE921 из шрифта phcursor.phf оказываются неудачными и курсор пропадает. Чтобы «вернуть» курсор, нужно в файле fontdir для шрифта phcursor.phf заменить 0000-0021 на E900-E921 и перезагрузить Photon. Также желательно пропатчить файл phcursor.phf, чтобы после следующего запуска mkfontdir курсор снова не исчез:
phcursor.phf
00000025: 00 E9
Это можно сделать при помощи стандартной утилиты spatch или с помощью HEX-редактора BIEW, либо скачайте уже пропатченный файл phcursor.phf.

Русификация Photon Terminal (pterm)

Что касается русификации терминала Photon'а (pterm), то хочу заметить, что русификация pterm в QNX 6.2.1 почти не отличается принципиально от русификации pterm в QNX 4.25. Отличие в том, что в окне свойств терминала нельзя выбрать/сменить тип терминала, по умолчанию тип терминала — «ANSI», если вам нужен тип терминала «QNX», то вам нужно запустить pterm с опцией -Q, но если вы сохраните конфигурацию в файле с именем pterm.rc, то может так получиться, что вы не сможете потом вернуться к типу терминала «ANSI» — это лечится удалением файла конфигурации $HOME/.ph/pterm/pterm.rc. Поэтому следующий совет: сохраняйте конфигурацию терминала в файлах с именами pterm.имя_программы.rc, и если собираетесь сохранить конфигурацию в файле pterm.rc, то не запускайте pterm с типом терминала «QNX», то есть с опцией -Q.
Например, делайте так: запускаете
pterm -Q mqc &
и сохраняете конфигурацию в файле pterm.mqc.rc, запускаете
pterm mc &
и сохраняете конфигурацию в файле pterm.mc.rc.

В pterm QNX 6.2.1/Photon 2.0 можно использовать TTF-шрифты. Например, копируете:
cp /fs/hd0-dos/windows/fonts/lucon.ttf /usr/photon/font_repository
Создаёте с помощью утилиты ptermcs файл трансляции кодировок /usr/photon/translations/cp866_cp866_unicode.cs:

        ANSI charset: Cyrillic (IBM 866)
Internal/QNX charset: Cyrillic (IBM 866)
        Font charset: Unicode
Жмёте правой кнопкой мыши на окне pterm, выбираете пункт «Properties», в нём: «Font», «Custom...», «Edit», добавляете шрифт: Lucida Console, Size 14 (lucidaconsoles14), подключаете файл трансляции кодировок /usr/photon/translations/cp866_cp866_unicode.cs

Терминальные шрифты в формате PHF2 (QNX 6) для русификации Photon Terminal (pterm) вы можете скачать здесь.

Файлы трансляции кодировок *.cs для pterm (смотрите выше) в Photon 2.0/QNX 6 абсолютно точно такие же как и в Photon 1.14/QNX 4. pterm стал их поддерживать, кажется, ещё в QNX версии 6.1, но только в Photon 2.0.4/QNX 6.2.1 появилась утилита ptermcs для их создания и редактирования.

ЗОСРВ КПДА.10964-01

В ЗОСРВ КПДА.10964-01 вся русификация, включая патченный драйвер devc-con-hid уже проведена. Кроме того там русифицирован Photon.

Прочее

Настройте шрифты для программ, которыми вы пользуетесь, например, для HelpViewer:



и для Voyager




Перекодировка файлов

Бывают ситуации, когда нужно перекодировать текстовые файлы из одной кодировки в другую. Например, вы хотите перекодировать HTML-файлы из кодировки KOI8-R в кодировку UTF-8, чтобы создать файлы справочной системы, или хотите перенести ваши проекты из кодировки SWD в кодировку UTF-8 (для этого опять же надо перекодировать файлы справки и перекодировать виджеты).
Перекодировать текстовые файлы из одной кодировки в другую возможно с помощью Note Pad (ped — Photon editor).
Для стандартных кодировок это делается так (на примере перекодировки из кодировки IBM 866 в кодировку UTF-8):

  1. Запустить Note Pad:
    ped &
  2. Через меню «Options», пункт меню «Encoding» (или Ctrl-E) выбрать кодировку «Cyrillic (IBM 866)».
  3. Открыть текстовый файл. При этом файл перекодируется из выбранной кодировки (IBM 866) в UTF-8.
  4. Через меню «Options», пункт меню «Encoding» (или Ctrl-E) выбрать кодировку «Unicode in UTF-8».
  5. Сохранить текстовый файл. При этом файл перекодируется из UTF-8 в выбранную кодировку (UTF-8).
  6. Закрыть файл.
Для кодировки SWD особый случай: чтобы перекодировать файл из кодировки SWD в какую-либо другую кодировку (отличную от IBM 866), нужно предварительно перекодировать файл из кодировки SWD в кодировку IBM 866, для этого нужно:
  1. Запустить Note Pad:
    ped &
  2. Через меню «Options», пункт меню «Encoding» (или Ctrl-E) выбрать кодировку «Unicode in UTF-8».
  3. Открыть текстовый файл.
  4. Через меню «Options», пункт меню «Encoding» (или Ctrl-E) выбрать кодировку «Western European (ISO 8859-1)».
  5. Сохранить текстовый файл.
  6. Закрыть файл.
Таким образом, чтобы перекодировать файл из кодировки SWD в кодировку, например, UTF-8, нужно сначала перекодировать файл из кодировки SWD в кодировку IBM-866, а затем уже из кодировки IBM 866 перекодировать его в кодировку UTF-8 (таким образом придётся два раза открывать и закрывать файл). А для перекодировки из какой-либо кодировки, отличной от IBM 866 в кодировку SWD нужно предварительно перекодировать файл в кодировку IBM 866.

Программно перекодировка текстовых строк осуществляется с помощью функций PxTranslate. Для перекодировки с помощью функций PxTranslateStateFromUTF() или PxTranslateFromUTF() из кодировки SWD в кодировку IBM 866 или для перекодировки с помощью функций PxTranslateStateToUTF() или PxTranslateToUTF() из кодировки IBM 866 в кодировку SWD нужно для функции PxTranslateSet() в качестве второго параметра указать "ISO-8859-1".

Вы можете скачать программу фильтр-перекодировщик, которая используя функции PxTranslate считывает символы со стандартного устройства ввода stdin, перекодирует их в другую кодировку и записывает на стандартное устройство вывода stdout. Символы, которые не удаётся перекодировать, заменяются на символы подчёркивания '_'. Программу можно использовать для перекодировки файлов, используя перенаправление ввода-вывода. Программа требует задания в командной строки двух параметров: кодировка входного файла и кодировка выходного файла. В качестве кодировки (charset) может быть имя секции, один из алиасов или значение переменной Description файла /usr/photon/translations/charsets. Примеры запуска:
translate windows-1251 IBM866 <readme.txt >readme
translate KOI8-R UTF-8 <index.html >bookset.html
translate UTF-8 ISO-8859-1 <base.wgtw |translate IBM866 UTF-8 >base1.wgtw
Версия для QNX 4: translate.
Версия для QNX 6: translate.


Ссылки

Здесь вы можете прочесть старый документ (от 01.08.2000) с сайта qnx.al.ru о русификации ОС QNX4.

А по этим ссылкам — читайте о русификации QNX 6:
Статья «Инсталляция операционной системы QNX версии 6.2» на сайте www.swd.ru. Там описано в том числе, как русифицировать клавиатуру в Photon 2.0 (QNX 6).
«Локализация и интернационализация», FAQ на сайте qnx.org.ru. http://web.archive.org/web/20051001001126id_/http://www.archive.org/ Описано как установить TTF-шрифты и сделать подстановку шрифтов, как русифицировать PhIRC, Xphoton, Midnight Commander, Voyager.

«Русификация pterm в Photon» на сайте andy.qnx.org.ru.
Пакет для русификации терминала Photon 2.0 (QNX 6) RusPterm устанавливает TTF-шрифты в кодировке Unicode: Arial, Courier New, Times New Roman, Verdana, а также терминальные PHF2-шрифты PC1Terminal (pcter_12.phf, pcter_12b.phf, pcter_14.phf, pcter_14b.phf).


Hosted by uCoz