Font HOWTO: Making Fonts Available To Ghostscript
Далее Назад Оглавление5. Обеспечение доступа к фонтам для Ghostscript
Чтобы сделать фонт доступным для ghostscript, достаточно сообщить
ghostscript, где расположен файл(ы) соответствующего фонта. Для этого
необходимо подредактировать файл
/usr/share/ghostscript/version/Fontmap
.
Этот файл имеет очень простой формат, почти очевидный, если его внимательно
просмотреть.
5.1 Type1
Добавление фонтов Type1 осуществляется очень просто. Запустите
type1inst
в каталоге, содержащем файл фонта. type1inst
создаст файл с именем Fontmap
. Присоедините этот файл к
ghostscript-овскому файлу Fontmap
.
5.2 True Type
Добавление фонтов truetype немного сложнее, потому что мы должны получить
имя фонта. Первый способ сделать это (увы, грубой силой)
состоит в использовании конвертера TrueType фонтов в Type1
ttf2pt1
и последующем извлечении имени фонта из файла
afm
(вероятно должен существовать и более эффективный путь! но этот способ
работает, как бы уродлив он не был). Вы можете сделать это примерно так:
ttf2pt1 -A fontname - 2 > /dev/null | grep FontNameЗатем Вы добавляете в ghostscript-овский файл
Fontmap
строку
правильного формата, примерно так:
some-font (/usr/share/fonts/subdirectory/somefont.pbf);Этот способ, конечно, работает, но попробуйте сделать это для 500 фонтов! Такого рода вещи просто требуют создания короткого скрипта на Perl:
#!/usr/bin/perl # ttfontmap -- generate fontmap file for TrueType fonts my $directory=shift || print STDERR "Usage: ttfontmap {directory}\n"; $directory=~s/\/$//; for my $fontname ( glob ( "$directory/*.ttf" ) ) { open ( R, "sh -c \"ttf2pt1 -A $fontname - 2>/dev/null\" |" ); while ( <R> ) { if ( $_ =~ /^FontName/ ) { s/^FontName\s*//; chomp; print "/" . $_ . " ($fontname);\n" ; } } close R; }Вы можете скачать этот скрипт.
Чтобы установить этот скрипт, скопируйте его в файл с именем
ttfontmap
и поместите в один из каталогов, указанных
в переменной PATH
(например, в /usr/bin
).
После этого Вы можете запускать его следующим образом:
ttfontmap directory > output_fileгде
directory
- это каталог, содержащий файлы фонтов.
Вы получите output_file
, который сможете присоединить
к перечню фонтов ghostscript. Примечание: кто-то может заметить, что
можно просто запустить команду
ttfontmap directory >> /usr/share/ghostscript/version/Fontmapно я не рекомендую этого делать (что будет, если Вы введете ``>'' вместо ``>>''?).
5.3 Использование Ghostscript для предварительного просмотра фонтов
Как только Вы сделали фонты доступными для ghostscript, Вы можете их
просмотреть. Это делается путем запуска интерпретатора языка ghostscript на
файле prfont.ps
из Вашей инсталляции ghostscript. После его
запуска напечатайте (введите)
/Fontname DoFontгде
FontName
- это имя в ghostscript
фонта, который Вы хотите увидеть. Существует несколько разных способов
вызвать gs
. Например, если Вы хотите создать
postscript-файл, который Вы хотите просматривать в одной из более удобных
программ, к примеру gv
, Вы можете использовать команду
gs -sDEVICE=pswrite -sOutputFile=somefile.ps prfont.psВоспользовавшись этим способом, Вы сможете также распечатать выходной файл.
Далее Назад Оглавление