7. Использование шрифтов в формате type 1 с программой Groff
Пред. |  | След.

## 7. Использование шрифтов в формате type 1 с программой Groff

Теперь, когда новый шрифт может быть использован как с X11, так и в Ghostscript, как использовать его с программой groff? Во-первых, так как мы имеем дело со PostScript®-шрифтами формата type 1, то подходящим устройством groff является ps. Для каждого шрифта, который может использоваться программой groff, должен быть создан файл шрифта. Имя шрифта для groff является просто именем файла из каталога `/usr/share/groff_font/devps`. В нашем примере файлом шрифта может быть `/usr/share/groff_font/devps/SHOWBOAT`. Файл должен быть создан с помощью утилит, поставляемых с программой groff.

Первой утилитой является `afmtodit`. Обычно она не устанавливается, так что она должна быть получена из дистрибутива с исходными текстами. Я обнаружил, что нужно изменить первую строку файла, что я делал так:

`%` `cp /usr/src/gnu/usr.bin/groff/afmtodit/afmtodit.pl /tmp` `%` `ex /tmp/afmtodit.pl :1c #!/usr/bin/perl -P- . :wq`

Эта утилита создаст файл шрифтов для groff из файла метрик (с окончанием `.afm`). Продолжая с нашим примером:

Многие файлы `.afm` в формате Mac … строки разделены символом ^M. Нам нужно преобразовать их в разделитель ^J в стиле UNIX® `%` `cd /tmp` `%` `cat /usr/local/share/fonts/type1/showboat.afm | tr '\015' '\012' >showboat.afm` Теперь создаем файл шрифтов groff `%` `cd /usr/share/groff_font/devps` `%` `/tmp/afmtodit.pl -d DESC -e text.enc /tmp/showboat.afm generate/textmap SHOWBOAT`

Теперь к шрифту можно обращаться по имени SHOWBOAT.

Если в системе для управления принтерами используется программа Ghostscript, то больше ничего делать не нужно. Однако, если используются настоящие PostScript®-принтеры, то для использования шрифта его нужно загрузить в принтер (если только в принтере шрифт showboat не встроен или не имеется на диске со шрифтами). Последний шаг заключается в создании загружаемого шрифта. Утилита `pfbtops` используется для создания шрифта в формате `.pfa`, а файл для `загрузки` изменяется для указания нового шрифта. Файл для `загрузки` должен ссылаться на внутреннее имя шрифта. Оно может быть легко определено из файла шрифтов groff, как это показывается здесь:

Создание файла шрифта `.pfa` `%` `pfbtops /usr/local/share/fonts/type1/showboat.pfb >showboat.pfa`

Конечно, если файл `.pfa` уже имеется, для его использования создаем символическую ссылку на него.

Получение внутреннего имени шрифта `%` `fgrep internalname SHOWBOAT` internalname Showboat Указываем утилите groff, что шрифт должен быть загружен `%` `ex download :$a Showboat showboat.pfa . :wq`

Для тестирования шрифта:

`%` `cd /tmp` `%` `cat >example.t <<EOF .sp 5 .ps 16 This is an example of the Showboat font: .br .ps 48 .vs (\n(.s+2)p .sp .ft SHOWBOAT ABCDEFGHI .br JKLMNOPQR .br STUVWXYZ .sp .ps 16 .vs (\n(.s+2)p .fp 5 SHOWBOAT .ft R To use it for the first letter of a paragraph, it will look like: .sp 50p \s(48\f5H\s0\fRere is the first sentence of a paragraph that uses the showboat font as its first letter. Additional vertical space must be used to allow room for the larger letter. EOF` `%` `groff -Tps example.t >example.ps` Для использования с ghostscript/ghostview `%` `ghostview example.ps` Для его печати `%` `lpr -Ppostscript example.ps`

Справочная информация: `/usr/src/gnu/usr.bin/groff/afmtodit/afmtodit.man`, groff_font(5), groff_char(7), pfbtops(1).

Пред. |  | След.
6. Использование шрифтов type 1 с пакетом Ghostscript | Начало | 8. Преобразование файлов шрифтов TrueType в формат groff/PostScript для использования с groff

Этот, и другие документы, могут быть скачаны с http://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку <doc@FreeBSD.org>.