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


    (например Type 1 c 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.