Настройка программ

Форматирование и обработка текста: groff

Groff - это передний план системы форматирования документов groff/troff Gnu. Возможности Groff можно оценить, просмотрев руководство пользователя (man).

user shell

$ zcat /usr/man/man1/groff.1.gz | groff -man | lpr

Огромное количество документации в Unix использует форматирование при помощи troff и макросов ms (и, иногда, me). Пакет xbooks в Debian, например, содержит 43 файла, использующих troff с макросами ms. Можно очень красиво распечатать эти документы, используя groff.

Groff - это очень мощная система, но, в любом случае, это внук (или правнук) программ, использовавшихся в 60-х годах на печатных прессах. Поддержка шрифтов в groff полностью отражает суть этой наследственности. Groff, в отличие от своих предков, использует PostScript в качестве формата вывода по умолчанию, поэтому наши предыдущие изменения, внесенные в ghostscript, займутся решением наших проблем -- groff не должен заниматься чтением файлов со шрифтами TrueType. Ему также не нужны точные метрики шрифтов, и в этом разделе мы только опишем восстановление необходимых groff файлов:

Файлы описания PostScript Groff

/usr/share/groff/font/devps/DESC
    Файл описания устройств
/usr/share/groff/font/devps/text.enc
    Таблицы кодировок используемые для шрифтов
/usr/share/groff/font/devps/generate/textmap
    Стандартная таблица преобразования
/usr/share/groff/font/devps/generate/Makefile
    Стандартный makefile

Теперь надо отредактировать Makefile,

/usr/share/groff/font/devps/generate/Makefile

- afmdir=/usr/local/afm
+ afmdir=/usr/share/fonts/truetype

Измените названия шрифтов на их TrueType-эквиваленты (например, если мы используем бесплатные шрифты Microsoft TrueType, мы бы заменили Helvetica на Arial), и измените раздел TEXTFONTS, и подобные ему, вставив только те, которые нам необходимы.

Также вам надо отредактировать файл /usr/share/groff/font/devps/generate/afmname, чтобы использовать имена шрифтов TrueType и afm-файлов, и убрать флаг "-e" у awk.

После этого можно перестроить таблицы groff командой

user shell

$ cd /usr/share/groff/font/devps
$ make -f generate/Makefile

Как всегда, лучший способ проверить сделанные изменения - использовать нестандартно выглядящий шрифт. Например, вы можете использовать шрифт Mistral из бесплатных шрифтов Microsoft Truetype для печати TR.

(Я жду благодарностей от всех, кто перенастроит свою систему так, что она будет печатать man-ы староанглийским шрифтом не ранее следующего 1 апреля!)