/usr/local/apache/htdocs/lib/public_html/book/CYRILLIC/htmlps.txt Библиотека на Meta.Ua О печати HTML и PS по-русски ( )
<META>
Интернет
Реестр
Новости
Рефераты
Товары
Библиотека
Библиотека
Попробуй новую версию Библиотеки!
http://testlib.meta.ua/
Онлайн переводчик
поменять

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

Выдержки из переписки в
Newsgroups: relcom.fido.ru.unix Ў news: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 шрифты
(например Type 1 c ftp://ftp.kiae.su/pub/misc/fonts/cyrillic/postscript/)Ў ftp://ftp.kiae.su/pub/misc/fonts/cyrillic/postscript/
вставляем их описание в 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.

Комментарии
Анонимно
Войти под своим именем


Ник:
Текст сообщения:
Введите код:  

Загрузка...
Поиск:
добавить сайт | реклама на портале | контекстная реклама | контакты Copyright © 1998-2018 <META> Все права защищены