Так сказать ТУ: Есть клиенты (подключенные по XDMCP к серверу OpenSUSE 11.1) работающие с foxpro'шными программами через xdosemu, есть принтер (hp laserjet 1200) подключенный к серверу, настроенный и рабочий cups.
ТЗ: В конце рабочего дня из фоксовских программ надо печать "ведомости" на hp1200 естественно в 866 кодировке.
Приступим:
1. проверяем как правильно ли работает печать из линуксовой консоли
$lpr file.txt
lpr: Error - no default destination available.
Ага, не указан принтер по умолчанию. Идем на http://servername:631 и выбираем принтером по умолчанию hplj1200.
2. Теперь остается научиться печать русские тексты и псевдографику. Для этого будем использовать a2ps и шрифты sharatype. Готовый архив с настройками и шрифтами лежит здесь.
Качаем и дальше делаем следующее:
* Разархивируем архив.
* Скопируем файл encoding/ibm-cp866.edf в /usr/share/a2ps/encoding/
* Добавляем содержимое файла encoding.map.add к файлу /usr/share/a2ps/encoding/encoding.map
* Копируем файлы из папки afm/ в папку /usr/share/a2ps/afm/
* Копируем файлы из папки fonts/ в папку /usr/share/a2ps/fonts/
* В папке /usr/share/a2ps/afm запускаем ./make_fonts_map.sh && mv fonts.map.new fonts.map
При печати указывать кодировку 866 или ту которая нужна и поддерживается a2ps.
Пример:
$a2ps --encoding=866 file
3. Вносим изменения в /etc/dosemu/dosemu.conf
$_lpt1 = "a2ps --encoding=866 --medium=a4 -f 6.5 "
В общем-то все.
ЗЫ: Опции последнего пункта, кроме --encoding=866 не обязательны.
А как насчёт печати ESC-последовательности ? Как печатать вывод в котором есть ESC/P-команды ?
ОтветитьУдалитьПод OpenSuse 11.1 8 месяцев работы - полет нормальный ))
ОтветитьУдалитьА установка позиции каретки, межстрочного и межсимвольного интервала. Установка сжатого, расширенного, жирного, курсивного шрифта... Эти ESC/P команды отрабатывают ?
ОтветитьУдалитьНа епсанах вот таких http://www.nix.ru/autocatalog/printers_epson/Epson_FX890_pin_USB_LPT_19295.html работает.
ОтветитьУдалитьНа принтерах Epson можно и нужно без a2ps.
ОтветитьУдалитьЭто же Epson. Там напрямую можно гнать поток из DOSEmu через lpr на принтер без фильтрации.
Я про Samsung, Xerox и др.
А a2ps ESC-последовательности не обрабатывает. Проверил ещё раз для надёжности.