Date: 30 Jun 97
  From: Dima Barsky (d.barsky@ee.surrey.ac.uk)

     Проблема  старая,  но  чистого  решения я еще ни у кого не
видел. Мое тоже не идеал, но все-таки...

     Излагаю рецепт. Список ингредиентов:

1. GNUшная программа enscript версии 1.5 с любого GNU ftp-сервера,
   например, ftp://src.doc.ic.ac.uk/gnu/enscript-1.5.0.tar.gz

2. Postscript фонты cmtt12 и cmctt12. Я их посылаю уже в правильном
   формате, а изготовить их можно вот так:

    a) берешь cmtt12.pfb и cmctt12.pfb с любого CTAN сервера, например
       ftp://ftp.dante.de/pub/tex/fonts/cm/ps-type1/paradissa/cmctt12.pfb
                                и
       ftp://ftp.dante.de/pub/tex/fonts/cm/ps-type1/bakoma/cmtt12.pfb

    b)  конвертируешь pfb в pfa программой pfb2pfa, которая входит в
        любой приличный TeX-distribution. В teTeX она точно есть.

    c) Извлекаешь font metrics из pfa файлов с помощью getafm (из того
       же teTeXa) и ghostscripta:

        getafm cmtt12  | cat cmtt12.pfa  - | gs -q -DNODISPLAY - >cmtt12.afm
        getafm cmctt12 | cat cmctt12.pfa - | gs -q -DNODISPLAY - >cmctt12.afm

3. Ма-аленькая программа-перекодировщик rusprint (исходный текст прилагается).
   rusprint.tgz
   Занимается тем, что отслеживает переход с латинских букв в русские
   и назад, и вставляет соответствующие переключения фонтов в файл для
   enscript'a, заодно сдвигая русские буквы в нижнюю половину таблицы.

Подготовительные упражнения:

mkdir ~/.enscript
cp cmtt12.pfa cmtt12.afm cmctt12.pfa cmctt12.afm ~/.enscript
cd ~/.enscript
mkafmmap *.afm         (если нет программы mkafmmap - тогда просто:
                        echo cmtt12 cmctt12 >~/.enscript/font.map


Не забудь скомпилировать rusprint.c и положить куда-нибудь в PATH.

Печатаем так:

rusprint < koi.txt | enscript -e -X ps --download-font=cmtt12 --download-font=cmctt12 | lpr

Вроде бы все.. Предложения, замечания, жалобы?

Дима Барский. d.barsky@ee.surrey.ac.uk

Популярность: 39, Last-modified: Wed, 24 Jun 1998 10:56:19 GmT