Печать HTML и PS по русски

Содержание


Выдержки из переписки в Newsgroups: relcom.fido.ru.unix

Печать HTML на Epson-принтере


From: gen
>>>Можно ли заставить Х-овый Netscape 2.0 печатать графику на лазернике без >>>поддержки постскрипта ?
Думаю можно, потому что из Netscape 2.0 я печатаю на матричном Eps LQ-100 без проблем.
Для Linux я делал вот КАК:

      1. Установил nescript-1.13++ (вытаскивал с ftp'шника sunsite.unc.edu/pub/linux/...не помню..../).

      2. Выкинул старый /etc/printcap и заменил его следующим # Printcap: to be used with the inclosed filter # Don't forget to place the filter in /etc and make the /var/spool/lpd/lp # Directory, and set the lp setting to the proper device.
lp:lp=/dev/lp1:sd=/var/spool/lpd/lp:mx%0:if=/etc/filter:sh # конец printcap'a

      3. И, конечно, кинул в /etc файл filter следующего содержания: #!/bin/sh # Set the PRINTER var to a "gs" device. # Try gs -h for a list of drivers # You must have nenscript installed to run this.
# вот тут надо глянуть ghostscript'овские устройства ( файл gs) PRINTER=eps9high nenscript -ZB -p- | gs -q -sDEVICE=$PRINTER \
      -sPAPERSIZE=letter -dNOPAUSE \
      -dSAFER -sOutputFile=- - # конец filter'a
>>>Дело усложняется тем, что он подключен на винюковской тачке в сети. >>>Просто его через самбу побороли, lpr на него отрабатывает текст, а вот >>>нетскэйпа гонит на него исходник на постскрипте, вместо графики.
Должен печатать теперь как миленький.
Всяческих удовольствий !
--------------------- NOTE -------------------------
      Мой Netscape не хочет делать русских PostScript файлов в koi8 (и др.), по причине HE 8bit'тности Nescape'овской конвертилки. Отсюда вопрос:
      КАК преобразовать РУССКУЮ HTML в PS ?????????
      А если есть знатоки PERL, то можно ли быренько, не вдаваясь в ентот язык, исправить конвертер html2ps, который у меня есть ???????????????? ------------------- END NOTE ------------------------

Печать русского PS файла, сгенеренного Netscape


From: maxim@orgland.ru (Maxim Zotov)
      Yura Volodin (yura@fossil.ukrcom.sebastopol.ua) wrote: > Boris Nazarov (nazarov@cecmow.enet.dec.com) wrote: > > Проблема же с Netscape в том, что PostScript принтеры (чаще всего) не > > содержат в себе русских шрифтов. Отсюда вытекает решение (и им я уже > > давно > > пользуюсь) - вставить в сгенеренный Netscape'ом PostScript файл явное > > описание шрифтов. > > а можно для чайника - как именно это делать и где сии описания взять? >

      Следующие шаги привели к желаемому результату :

      1) Берем где-нибудь КОИ-8 шрифты
      вставляем их описание в ghostscrip'овский Fontmap

      2) Редактируем сгенеренный Netscape файл :

      В начале файла (~39 строка) Netscape записывает функции перекодировки :
      /F0
      /Times-Roman findfont
      dup length dict begin
      {1 index /FID ne {def} {pop pop} ifelse} forall
      /Encoding isolatin1encoding def
      currentdict end
      definefont pop
      /f0 { /F0 findfont exch scalefont setfont } bind def

      и так далее с фонтами f1..f7

      Последнюю строчку меняем на :
      /f0 { /TimesKOI findfont exch scalefont setfont } bind def
      ^^^^^^^^ здесь имя нужного КОИ-8 фонта

      В итоге получаем что-то вроде этого :
      /f0 { /TimesKOI findfont exch scalefont setfont } bind def
      /f1 { /TimesKOI-Bold findfont exch scalefont setfont } bind def
      /f2 { /TimesKOI-Italic findfont exch scalefont setfont } bind def
      /f3 { /TimesKOI-BoldItalic findfont exch scalefont setfont } bind def
      /f4 { /CourierKOI findfont exch scalefont setfont } bind def
      /f5 { /CourierKOI-Bold findfont exch scalefont setfont } bind def
      /f6 { /CourierKOI-Oblique findfont exch scalefont setfont } bind def
      /f7 { /CourierKOI-BoldOblique findfont exch scalefont setfont } bind def

      Все!

      Можно удалить за ненадобностью таблицу перекодировки в начале файла :
      [ /.notdef ....
      ...
      ... /ydieresis] /isolatin1encoding exch def
      и функции перекодировки
      /Fn
      ....
      definefont pop
      где n=0..7 -- http://www.inter-soft.ru/~maxim/ Maxim G. Zotov

Печать русского PS файла, сгенеренного Netscape. II


From: Boris Nazarov.
Maxim Zotov wrote: > Следующие шаги привели к желаемому результату : > > 1) Берем где-нибудь КОИ-8 шрифты > (например Type 1 c ftp://ftp.kiae.su/misc/fonts/cyrillic/postscript/) > вставляем их описание в ghostscrip'овский Fontmap [...]

      По-моему, если правильно выполнить вышеуказанные операции, то результат будет такой: gs и "его компания" действительно будут показывать документ с русскими шрифтами. Но, если вы захотите его напечатать, то принтер, естественно, не найдет шрифт, которым вы хотите воспользоваться (TimesKOI etc).

      Значит, возможны два решения этой проблемы:

      1 включить описание шрифта _прямо_в_документ_ (доступно всем пользователям);
      2 загрузить шрифт в принтер и исправить в документе только ссылку на
      шрифт (при этом, загрузку шрифта может выполнить только администратор
      принтера).

Если вы захотите воспользоваться первым способом, то вот решение: (by original solution provider ;-)

      1. "Отцепите" от письма описание русских шрифтов.
      2. Добавьте его в файл, сгенеренный NetScape перед "магической"
      строчкой '/rhc'.

      Вот собственно и все.

      Кроме того, этот файл можно использовать для печати любого документа, использующего шрифты Times и Courier (просто прицепите его перед файлом).

      Но, *внимание*, не все так просто, как это могло бы показаться. Поскольку я не смог найти в разумное время русские Times и Courier (а тащить их у MicroSoft достаточно долго - надо ведь и когда-нибудь работать), я использовал другие шрифты (а именно, Academy и Magazine). Они обладают другой метрикой, и, более того, ни один из них не моноширинный как Courier. Результат не замедлил себя ждать - некоторые документы могут не влезают на лист. Тогда приходится "подкручивать" размер шрифтов руками.

      1. Находите строчку

      /f0 { /F0 findfont exch scalefont setfont } bind def
      и добавляете
      /f0 { /F0 findfont exch 1 sub scalefont setfont } bind def
      ~~~~~
      причем, чем больше число, тем меньше будет использован шрифт.
      Естественно, это надо проделать со всеми такими строчками (f0-f7).
      f0-f3 "отвечают" са один фонт, f4-f7 за другой.

Regards, Boris Nazarov.

Подякувати Помилка?

Дочати пiзнiше / подiлитися