# Софт для QNX

Редакторы
Архиваторы
Библиотеки
Файловые менеджеры
Раскладки клавиатуры для консоли QNX в текстовом режиме и переключалки раскладок клавиатуры
Шрифты для консоли QNX
Шрифты для Photon'а
Украинская кодировка для Photon
Прочий софт для QNX

## Редакторы

### Vedit. Консольный текстовый редактор для QNX 4

vplus516.F или ftp://ftp.kti-git.nsc.ru/pub/qnx/vedit/vplus516.F — Vedit Plus v5.16, требует лицензию `vedit`. Вы также можете скачать этот архив на сайте www.vedit.com и там же купить лицензию `vedit`.

### SciTE. Профессиональный текстовый редактор с подсветкой синтаксиса для Photon 1.14 (QNX4)

http://www.avts.ru/SciTE.tgz — SciTE — текстовый редактор, основанный на свободно распространяемом виджете Scintilla. Имеет русский интерфейс (UTF 8).

## Архиваторы

bzip2.tar.gz — BZIP v0.9.0c, 18-Oct-98 (портировал под QNX 4 Mike Gorchak).

unrar-2_50.tar.gz или ftp://ftp.kti-git.nsc.ru/pub/qnx/misc/unrar-2_50.tar.gz — UnRAR v2.50 for QNX 4

Смотрите также ftp://ftp.kti-git.nsc.ru/pub/qnx/Archivers/ и http://skyscraper.fortunecity.com/scanner/723/

unrar — UnRAR v3.20 for QNX 4 (на основе исходников unrarsrc-3.2.3.tar.gz)

unrar-4.0.7-QNX6-x86.tar.gz — UnRAR v4.00 FREEWARE (unrar, default.sfx, libunrar.so) for QNX 6 (x86) на основе исходников unrarsrc-4.0.6.tar.gz

## Библиотеки

tv-1.03.00g.tar.gz — Turbo Vision v1.03.00g Source package (портировал под QNX 4 Mike Gorchak).
или здесь ftp://ftp.kti-git.nsc.ru/pub/qnx/tvision/tv-1.03.00g-src.tar.gz
http://skyscraper.fortunecity.com/scanner/723/files/tv-1.03.00g-lib.tar.gz — Turbo Vision v1.03.00g Library package

## Файловые менеджеры

mqc.trial.tar.F — демо-версия 2.3 MiShell QNX Commander, которая была выложена на сайте SWD (www.qnx.ru/download/mqc.trial.tar.F) в конце 2000 года. Пожалуйста, обратите внимание, что эта версия — нормальная программа без любого вида ограничения, но когда эта версия стартует, она распределяет dump buffer ~ 5МБ из пространства пользователя. Хотя нормальная версия mqc занимает только ~200KB из пространства пользователя. Нормальная версия продаётся SWD и требует лицензию `swdqc`. Существует ещё {share|free}ware версия 2.2 MQC, но автор Mikhail Nefedov говорит: "That free version was a mistake on my side. MQC is free for QNX6 anyways".

MQC 2.3 для QNX 4 (от 15.05.2005) и MQC build 46 для QNX 6.3 (от 30.09.2009) можете скачать на страничке автора http://www.mishell.ca/mqc.html

Midnight Commander 4.1.36 для pterm [ported by Engineer]
или здесь ftp://ftp.kti-git.nsc.ru/pub/qnx/misc/mc-4.1.36-pterm-qnx.tar.gz

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

Russia — русская раскладка клавиатуры для консоли QNX 4, кодировка IBM 866.

russhell.tgz — Russhell by Alexander Smirnov — утилита русификации (КОИ8-Р) консоли в текстовом режиме (shell). Набор русских букв — КОИ8-Р. Переключение русский/латинский — по нажатию клавиш LeftCtrl-LeftShift.
Эту переключалку можно использовать и для OEM кодировки IBM 866, в этом случае для её установки нужно сделать следующее:
Эта переключалка — единственная из трёх мне известных (RusKey, Russhell, kbdswitch), которая работает на виртуальной машине Connectix Virtual PC v5.2

1. Скопировать файлы:
   `Russia` (см. ниже), `USA` — в каталог `/etc/config/kbd/`
   `rk` — в каталог `/usr/local/bin/`
   `cp866.08`, `cp866.14`, `iso866.16`, `cp866.16` (см. ниже) — в каталог `/etc/config/cfont/`
2. Изменить файл `/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`
   `/usr/local/bin/rk /etc/config/kbd/USA /etc/config/kbd/Russia &`
3. Команду
   `tic ./terminfo.src`
   выполнять не нужно!

kbdswitch.tar.gz или здесь http://skyscraper.fortunecity.com/scanner/723/fido/kbdswitch-1.00.tar.gz — пеpеключалка pаскладок клавиатypы (pyсификатоp консоли) `kbdswitch` by Hoodwin (Vladimir Dashevsky). Устанавливать аналогично `rk` (russhell, см. выше), только вместо строки
`/usr/local/bin/rk /etc/config/kbd/USA /etc/config/kbd/Russia &`
нужно прописать строку типа
`/usr/local/bin/kbdswitch .001010 @9 /etc/config/kbd/:USA:Russia`
Здесь .001010 означает, что переключение раскладок клавиатуры будет происходить по нажатию клавиш RightCtrl-RightShift
К `kbdswitch` можно подключить несколько раскладок и настроить переключение на любое сочетание клавиш RightAlt, LeftAlt, RightCtrl, LeftCtrl, RightShift, LeftShift, Подробнее об использовании утилиты `kbdswitch`, о том, как передавать ей параметры смотрите
`use kbdswitch`

## Шрифты для консоли QNX

cp866.08 — шрифт размером 8x8, кодировка IBM 866. Шрифт взят из MS-DOS, из файла EGA3.CPI.

cp866.14 — шрифт размером 8x14, кодировка IBM 866. Шрифт взят из MS-DOS, из файла EGA3.CPI.

cp866.16 — шрифт размером 8x16, кодировка IBM 866. Шрифт взят из MS-DOS, из файла EGA3.CPI.

iso866.16 — шрифт размером 8x16, кодировка IBM 866. Шрифт взят из MS-DOS, из файла ISO.CPI.

fnt-bolkhov.tar.gz — Консольные шрифты в кодировках IBM 866 и RUSCII (CP 1125) с размерами 8x8, 8x14 и 8x16, сделаны на основе шрифтов от Дмитрия Болховитянова.

## Шрифты для Photon

### PHF-шрифты для Photon 1.14 (QNX 4)

#### Терминальные шрифты

dos08.phf — шрифт размером 8x8. Содержит символы: 0x00-0xFF в кодировке IBM 866. Шрифт сделан на основе шрифта cp866.08.

dos14.phf — шрифт размером 8x14. Содержит символы: 0x00-0xFF в кодировке IBM 866. Шрифт сделан на основе шрифта cp866.14.

dos16.phf — шрифт размером 9x16. Содержит символы: 0x00-0xFF в кодировке IBM 866. Шрифт сделан на основе шрифта cp866.16.

iso16.phf — шрифт размером 9x16. Содержит символы: 0x00-0xFF в кодировке IBM 866. Шрифт сделан на основе шрифта iso866.16.

term20.phf — шрифт размером 10x20. Содержит символы: 0x00-0xFF в кодировке IBM 866. Шрифт сделан на основе шрифта Windows 8514OEM.FON.

pcterm14.phf — тот же шрифт, что dos14.phf, только с другим именем: PC Terminal.

pcterm16.phf — тот же шрифт, что dos16.phf, только с другим именем: PC Terminal.

pcterm20.phf — шрифт PC Terminal размером 10x20. Содержит символы: 0x00-0xFF в кодировке IBM 866. Это шрифт сделан путём преобразования стандартного шрифта `pcterm20.phf` (который в OEM кодировке IBM 437), русские буквы взяты из CYR-RFX (см. файл `10x20d.bdf` из архива cyr-rfx-ibm-cp866-1.1.bdfs.tgz)

pcterm12.phf — шрифт PC Terminal размером 6x12. Содержит символы: 0x00-0xFF в кодировке IBM 866. Этот шрифт сделан на основе шрифта `6x12.bdf` из архива ucs-fonts.tar.gz.

pcterm20.phf — ещё один шрифт PC Terminal размером 10x20. Содержит символы: 0x00-0xFF в кодировке IBM 866. Этот шрифт сделан на основе шрифта `10x20.bdf` из архива ucs-fonts.tar.gz.

#### Шрифты общего назначения

cyr-rfx-iso10646-0400-1.1-phfs-qnx4-31011.tar.gz — русские PHF-шрифты, сделанные из BDF-шрифтов CYR-RFX (см. шрифты из каталога `iso10646-0400/75dpi/` архива cyr-rfx-iso10646-0400-1.1.bdfs.tgz)
Шрифты: Courier (`cour`), Helvetica (`helv`), Times (`time`), Lucida (`lu`), Lucida Terminal (`lut`)
Размеры: 8, 10, 12, 14, 18, 19 (только `lu` и `lut`) и 24.
Содержат символы: 0x20-0x4F9 в кодировке Unicode.

rusfonts_phf.tgz — русские шрифты PHF by Alexey Kropachev.
Шрифты: Courier (cour), Helvetica (helv), Times (time).
Размеры: 8, 10, 12, 14, 18 и 24.
Содержат символы: 0x20-0x45F в кодировке Unicode.

ftp://ftp.kti-git.nsc.ru/pub/qnx/misc/rus_helv.tar.gz — В этом архиве есть 4 русских PHF-шрифта в кодировке SWD (IBM 866): `helv10.phf`, `helv10b.phf`, `helv12.phf`, `helv12b.phf`

### PHF2-шрифты для Photon 2.0 (QNX 6)

#### Терминальные шрифты

iso16.phf — шрифт ISO размером 9x16. Содержит символы: 0x00-0xFF в кодировке IBM 866. Шрифт сделан на основе шрифта iso866.16.

pcterm14.phf — шрифт PC Terminal размером 8x14. Содержит символы: 0x00-0xFF в кодировке IBM 866. Шрифт сделан на основе шрифта cp866.14.

pcterm16.phf — шрифт PC Terminal размером 9x16. Содержит символы: 0x00-0xFF в кодировке IBM 866. Шрифт сделан на основе шрифта cp866.16.

pcterm20.phf — шрифт PC Terminal размером 10x20. Содержит символы: 0x00-0xFF в кодировке IBM 866. Этот шрифт сделан путём преобразования стандартного шрифта `pcterm20.phf` (который в OEM кодировке IBM 437), русские буквы взяты из CYR-RFX (см. файл `10x20d.bdf` из архива cyr-rfx-ibm-cp866-1.1.bdfs.tgz)

pcterm12.phf — шрифт PC Terminal размером 6x12. Содержит символы: 0x00-0xFF в кодировке IBM 866. Этот шрифт сделан на основе шрифта `6x12.bdf` из архива ucs-fonts.tar.gz.

pcterm20.phf — ещё один шрифт PC Terminal размером 10x20. Содержит символы: 0x00-0xFF в кодировке IBM 866. Это шрифт сделан на основе шрифта `10x20.bdf` из архива ucs-fonts.tar.gz.

pcterminal_866.tgz — Шрифты «PC Terminal» от Александра Оркина. Сделаны на основе шрифтов «PC Terminal» из пакета русификации QNX 4 «RusKey 3.2». Эти шрифты — точные копии шрифтов «PC Terminal» от SWD (размеров 12, 14 и 20), сделаны с целью облегчить перенос в QNX 6 проектов, сделанных для QNX 4 с RusKey-русификацией.

#### Шрифты общего назначения

cyr-rfx-iso10646-0400-1.1-phfs-qnx6-31011.tar.gz — русские PHF-шрифты, сделанные из BDF-шрифтов CYR-RFX (см. шрифты из каталога `iso10646-0400/75dpi/` архива cyr-rfx-iso10646-0400-1.1.bdfs.tgz)
Шрифты: Courier (`cour`), Helvetica (`helv`), Times (`time`), Lucida (`lu`), Lucida Terminal (`lut`)
Размеры: 8, 10, 12, 14, 18, 19 (только `lu` и `lut`) и 24.
Содержат символы: 0x20-0x4F9 в кодировке Unicode.

pcterminal_unicode.tgz — Шрифты «PC Terminal Unicode» от Александра Оркина. Сделаны на основе шрифтов «PC Terminal» из пакета русификации QNX 4 «RusKey 3.2». BoundingBox в этих шрифтах выставлен с таким расчетом, чтобы в Фотоне символы этих шрифтов имели ровно такие же размеры, что и их прототипы в этом самом первоисточнике (RusKey 3.2 для qnx4/Photon 1.xx). Эти шрифты сделаны с целью облегчить перенос в QNX 6 проектов, сделанных для QNX 4 с RusKey-русификацией.

### TTF-шрифты

#### Из QNX 6.1.0

tt0003m_.ttf — Swis721 BT Roman. Содержит русские буквы. Схож со шрифтом Arial.

tt0005m_.ttf — Swis721 BT Bold. Содержит русские буквы. Шрифт жирный. Схож со шрифтом Arial Bold.

tt0011m_.ttf — Dutch801 Rm BT Roman. Содержит русские буквы. Шрифт с засечками. Схож со шрифтом Times New Roman.

tt0013m_.ttf — Dutch801 Rm BT Bold. Содержит русские буквы. Шрифт с засечками, жирный. Схож со шрифтом Times New Roman Bold.

tt2001m_.ttf — PrimaSans BT Roman. Содержит русские буквы. Схож со шрифтом Arial.

tt2003m_.ttf — PrimaSans BT Bold. Содержит русские буквы. Шрифт жирный. Схож со шрифтом Arial Bold.

tt2009m_.ttf — PrimaSansMono BT Roman. Содержит русские буквы. Шрифт жирный. Схож со шрифтами Lucida Console и Andale Mono.

tt3012z_.ttf — Symbol Set BT. Русские и даже английские буквы не содержит, на их месте содержит греческие буквы, математические символы и пр. аналогично шрифту Symbol из Windows 98.

#### Из Windows 98

arial.ttf — Arial. Содержит русские буквы.

arialbd.ttf — Arial Bold. Содержит русские буквы. Шрифт жирный.

ariali.ttf — Arial Italic. Содержит русские буквы. Шрифт курсив.

arialbi.ttf — Arial 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. Содержит русские буквы. Шрифт с засечками, жирный, курсив.

cour.ttf — Courier New. Содержит русские буквы. Шрифт моноширинный, с засечками.

courbd.ttf — Courier New Bold. Содержит русские буквы. Шрифт моноширинный, с засечками, жирный.

couri.ttf — Courier New Italic. Содержит русские буквы. Шрифт моноширинный, с засечками, курсив.

courbi.ttf — Courier New Bold Italic. Содержит русские буквы. Шрифт моноширинный, с засечками, жирный, курсив.

lsansuni.ttf — Lucida Sans Unicode. Содержит русские буквы. Схож со шрифтом Arial.

lucon.ttf — Lucida Console. Содержит русские буквы. Шрифт моноширинный. Немного схож со шрифтом Arial.

## Украинская кодировка для Photon

koi8u.tab — Поддержка кодировки «Ukrainian (KOI8-U)» (RFC 2319) для Photon 1.14 (QNX 4) или для Photon 2.0 (QNX 6).
Поместите данный файл в каталог `/usr/photon/translations` и добавьте в файл `/usr/photon/translations/charsets` перед секцией `[windows-1250]` следующие строки:

    [KOI8-U]
    MIBenum		=	2088
    Alias		=	csKOI8U,KOI8-U,KOI8_U,koi8-u,21866,koi8-ru,windows-21866
    Method		=	8bit
    Table		=	koi8u.tab
    MIME		=	KOI8-U
    Description	=	Ukrainian (KOI8-U)

cp1125.tab — Поддержка кодировки «Ukrainian (RUSCII)» (CP 1125) для QNX/Photon. Отличия, имеющиеся в этом файле от файла `cp866.tab` приведены ниже в таблице.

Отличия кодировки RUSCII от кодировки IBM 866
Код символа | IBM 866 | RUSCII
--- | --- | ---
Символ | Код Unicode | Символ | Код Unicode
0xF2 | Є | 0x0404 | Ґ | 0x0490
0xF3 | є | 0x0454 | ґ | 0x0491
0xF4 | Ї | 0x0407 | Є | 0x0404
0xF5 | ї | 0x0457 | є | 0x0454
0xF6 | Ў | 0x040E | І | 0x0406
0xF7 | ў | 0x045E | і | 0x0456
0xF8 | ° | 0x00B0 | Ї | 0x0407
0xF9 | ∙ | 0x2219 | ї | 0x0457

Поместите данный файл в каталог `/usr/photon/translations` и добавьте в файл `/usr/photon/translations/charsets`, например, такие строки:

    [RUSCII]
    Alias		=	CP-1125,CP1125,ibm-1125,IBM1125
    Method		=	8bit
    Table		=	cp1125.tab
    MIME		=	RUSCII
    Description	=	Ukrainian (RUSCII)

Какой должен быть MIBenum — не знаю, но по крайней мере для утилиты `ptermcs` и для функции PxTranslateSet() вышеприведённой информации достаточно.

## Прочий софт для QNX

pcf2bdf — Утилита (для QNX 4) для декомпиляции PCF шрифтов (X Window) в текстовый формат BDF
Из BDF затем возможно скомпилировать шрифт в PHF формат с помощью утилиты `bdf_2_phf` (`/qnx4/photon/bin/bdf_2_phf`) для QNX 4 или `bdftophf2` для QNX 6

`translate` — программа фильтр-перекодировщик, которая используя функции 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`.

Утилита `loadfont` для загрузки консольного шрифта в видеокарту (для QNX 6): `loadfont`, исходник: `loadfont.c`. См. также здесь.