Мини-HOWTO: Настройка шрифтов TrueType Fonts в Debian |
---|
Пред. | | След. |
Настройка программ
Генерация метрик шрифтов AFM AFM
Шрифтовые метрики AFM не нужны для того, чтобы выводить содержимое
существующих файлов, но они нужны для создания новых. Эти файлы метрик
могут быть созданы при помощи программы
/usr/lib/ghostscript/5.50/printafm.ps, входящей в пакет ghostscript, но, я
нашел программу ttf2afm, входящую в пакет tetex-bin, которая значительно
проще в использовании.
Нижеприведенный скрипт создаст afm-файлы для всех шрифтов TrueType в текущем каталоге:
#!/bin/sh
set -e
for i in *.TTF
do
/usr/bin/ttf2afm $i > ${i%TTF}afm
done
for i in *.ttf
do
/usr/bin/ttf2afm $i > ${i%ttf}afm
done |
Одна небольшая проблема, возникающая с ttf2afm - это то, что некоторые
программы предполагают, что afm-файлы начинаются с тэга StartFontMetrics,
но файлы, созданные ttf2afm начинаются с комментария. Эта "проблема" легко
исправляется при помощи текстового редактора.
Создание файлов font.map
Теперь у нас есть afm-файлы, и нам надо указать системе, где их найти.
Обычно это делается при помощи файла font.map.
Я так и не смог обнаружить документацию по формату этого файла, в отличие
от fonts.dir, fonts.scale, и fonts.alias, создаваемых mkfontdir. Однако
минимальный формат достаточно прост:
Алиасы реализуются набором нескольких строк, а расширение файла должно быть написано строчными буквами.
Работа с изображениями: GIMP
GIMP - это программа рисования и обработки
изображений Gnu. Мне не пришлось вносить никаких изменений в систему, чтобы
использовать шрифты TrueType в gimp.
Преобразование ASCII в PostScript: enscript
Enscript - это программа, преобразующая ASCII в PostScript. Для этих же
целей существуют программы a2ps и mpage.. Enscript позволяет производить
повороты на 90 градусов, добавлять водяные знаки, заголовки и окрашивание
текста, базирующееся на применении ключевых слов. Она не форматирует текст,
поэтому чаще всего используется для печати исходных текстов программ.
Чтобы использовать шрифты TrueType в enscript, сделайте следующее:
Добавьте /usr/share/fonts/truetype к переменной AFMPath.
Укажите шрифт TrueType, либо напрямую, либо через алиасинг обычного шрифта.
Более подробно читайте документацию enscript.
После того как я внес эти изменения, у меня не было проблем с использованием шрифтов TrueType.
Форматирование и обработка текста: 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 апреля!)
Набор и форматирование текстов: TeX
TeX - это вторая очень распространенная система набора и форматирования текста во многих системах GNU/Linux.
Шрифты TeX могут быть созданы при помощи mktexmf, но я имею очень скудную информацию по конкретным деталям процесса. Более подробное описание читайте в следующих версиях.