Мини-HOWTO: Настройка шрифтов TrueType Fonts в Debian |
---|
Пред. | | След. |
Печать (ghostscript)
Начиная с версии 4, в ghostscript встроена внутренняя поддержка шрифтов
TrueType. ghostscript представлен в Debian двумя пакетами:
main/binary-*/text/gs_*.deb - это DFSG-совместимая версия 5.10,
non-free/binary-*/gs-aladdin_*.deb - это не-DFSG-совместимая версия 5.50.
Обе версии поддерживают шрифты TrueType.
Настройка Ghostscript на использование шрифтов TrueType
Если у вас есть работающий сервер xfstt, то настроить ghostscript на
использование шрифтов TrueType достаточно просто. Выполните
следующую команду:
# xfstt --gslist --sync >> /etc/gs.Fontmap |
На самом деле, я счел необходимым внести небольшие изменения в определения
шрифтов, созданные xfstt. Во-первых, если стандартное название шрифта не
содержит пробелов, то я изменяю имя файла на стандартное название. Если в
названии шрифта есть пробелы, то я меняю все пробелы в имени на тире, а
исходное название включаю в виде алиаса на новое.
Затем я добавляю к именам шрифтов префикс TTF- (или MS-) для того, чтобы
минимизировать риск пересечения имен шрифтов TrueType с уже установленными.
Таким образом,
(Arial) (/usr/share/fonts/truetype/arial.ttf) ;
(Arial Bold Italic) (/usr/share/fonts/truetype/arialbi.ttf) ; |
Станет
/MS-Arial (/usr/share/fonts/truetype/arial.ttf) ;
/MS-Arial-Bold-Italic (/usr/share/fonts/truetype/arialbi.ttf) ;
(Arial Bold Italic) /MS-Arial-Bold-Italic ;
/Arial /MS-Arial ; |
Алиасы существуют для того, чтобы и ghostscript и xfstt смогли найти шрифт по его стандартному имени.
Значительно более важен тот факт, что с подобной сменой имен можно
заставить ghostscript использовать шрифты TrueType, вместо обычных. В
документации сказано, что это возможно сделать и при помощи вводной
нотации, но я так и не смог этого сделать.
Мы можем, например, указать ghostscript заменить шрифт Helvetica на
бесплатный шрифт Microsoft Arial, добавив в файл /etc/gs.Fontmap следующие
строки:
/Helvetica /MS-Arial ;
/Helvetica-Oblique /MS-Arial-Italic ;
/Helvetica-Bold /MS-Arial-Bold ;
/Helvetica-BoldOblique /MS-Arial-Bold-Italic ; |
Подобные алиасы можно определить и для других стандартных шрифтов. Эти
алиасы очень хороши, в случае использования samba-принтеров, работающих с
Windows-клиентами.
Печать образцов шрифтов TrueType
Самый лучший способ проверить, что ghostscript правильно настроен на
использование шрифтов TrueType - это напечатать образцы шрифтов.
Предполагая, что у вас запущен ghostscript версии 5.50, и что он является
вашей очередью печати по умолчанию, вы можете напечатать образцы всех
шрифтов TrueType командой:
# xfstt --gslist --sync | printfont |
где printfont - это следующий скрипт:
#!/bin/sh
set -e
IFS= ')'
while read fontname rest
do
cat << EOM | lpr
%!PS
(/usr/lib/ghostscript/5.50/prfont.ps) run
$fontname) DoFont
EOM
done |
Если вы хотите напечатать только некоторые шрифты, то скрипт будет проще:
#!/bin/sh
set -e
while read -p "Введите имя шрифта или ^D для выхода: " fontname
do
cat << EOM | lpr
%!PS
(/usr/lib/ghostscript/5.50/prfont.ps) run
$fontname DoFont
EOM
done |