[UC-FreeBSD] CUPS, PPD от производителя , и печать из Mozilla (workaround)

Yury Konovalov yurix на unixcenter.ru
Пн Дек 2 12:56:00 MSK 2002


Hi all !

 Предлагается грязный хак для CUPS, который позволяет включать шрифты, если
приложение этого не делает. Работает с любыми PPD, включая PPD от
производителя, но нужен только для PS принтеров.

 Самое правильное место для подобной функциональности - фильтр pstops. Но
поскольку пока в нем это не реализованно, временный выход - реализовать эту
функцию в скрипте, который должен вызываться вместо pstops (прототип скрипта
приложен). Наилучший результат, как выяснилось, дает преобразование PS2PDF
(gs), а потом pdftops (CUPS).

для установки:
- скопировать pstops-wrapper в /usr/local/lib/cups/filter/
- изменить /usr/local/etc/cups/mime.convs
  ...
  application/postscript  application/vnd.cups-postscript 66 pstops-wrapper
  ...
- для того, чтобы включать/выключать эту функцию на клиенте, нужно добавить
  опцию в используемый PPD:

bash# cat - >>/usr/local/etc/cups/ppd/yourprinter.ppd
*OpenUI *EmbedFonts/Embed all fonts: Boolean
*OrderDependency: 21 DocumentSetup *EmbedFonts
*DefaultEmbedFonts: False
*EmbedFonts True/On:  ""
*EmbedFonts False/Off: ""
*CloseUI: *EmbedFonts

- killall -9 cupsd; cupsd

Теперь все работает как и прежде, если клиент не включит опцию "Embed all 
fonts".

PS. Поскольку это всеже грязный хак, то не рекомендуется включать эту опцию на
    клиенте по умолчанию (сохраняя настройку например), так как это чревато
    проблемами с печатью уже из "правильных" приложений, т.е из тех которые
    сами включают шрифты при печати (особенно Type3 шрифты).


 -- 
Yury Konovalov [mailto:yurix на unixcenter.ru, phone: +7 (095) 1584526]
Moscow Aviation Institute,
Information Networks Dep. [ http://www.unixcenter.ru ]


----------- следущая часть -----------
rЙl╕кh╕л+j ^╝ж╚o= ╕≥bq╚b╒Я╣╪ЖъN╝Xm╤÷Ъ√+-╡ИБег╖╣ЙК╩Ж╚r╞zоъ╜Г⌡╠ъз╤ж°├g╖╤оЖсM╣шM©сnoo[Щк╘╡⌡-╒⌡0╜╙iz╩Z╜╦╖


Подробная информация о списке рассылки FreeBSD