Использование в TeX глифов TrueType и Type 1 шрифтов на примере утилиты TTFtoGF

Константин Васильев
Московский государственный университет
 

Ограниченность набора шрифтов в традиционном TeX - проблема и пути решения

Традиционно сложилось, что с TeX используется почти исключительно шрифтовая гарнитура Computer Modern, разработанная Дональдом Кнутом при помощи системы METAFONT. Вот уже два десятилетия эта гарнитура формирует узнаваемое лицо документов, подготовленных в системе TeX. Однако, использование одной этой гарнитуры, при всех ее достоинствах, не может исчерпать многобразия случаев создания печатных документов, и, как следствие, возникает необходимость в подключении шрифтов третьих производителей.

Обычно выход из этого положения лежит на пути использования с TeX шрифтов PostScript и программных средств типа dvips (dvipdf) и ghostscript. Другим средством использования сторонних шрифтов из TeX является коммерческий продукт TrueTeX, работающий в MS Windows с шрифтами TrueType.

Помимо этого существует еще один способ, позволяющий открыть доступ к широкому набору полиграфических шрифтов в условиях, сильно приближенных к традиционной TeXнологии. Ядром этой производственной цепи является утилита TTFtoGF.
 

TTFtoGF как один из способов расширения 
набора используемых шрифтов

Основной идеей TTFtoGF является преобразование внешних масштабируемых шрифтов к растровым форматам, используемым в TeX. Таким образом TTFtoGF берет на себя функции, которые обычно выполняет METAFONT и сопутствующие ему утилиты.

TTFtoGF - программа, работающая в среде Microsoft Windows и позволяющая выделить начертания и метрики любых TrueType и Type 1 шрифтов, используемых в MS Windows. В результате создаются 8-битные шрифты форматов, используемых в TeX

 Масштабируемые шрифты TrueType являются базовыми для системы MS Windows, число существующих гарнитур TrueType измеряется сотнями и они находят все большее применение в полиграфии.

Масштабируемые шрифты Type 1 архитектуры Adobe снискали широкое признание и распространение в книжно-журнальной полиграфии. Поддержка шрифтов Type 1 в MS Windows осуществляется, как правило, посредством Adobe Type Manager - специализированного программного продукта Adobe. Его последняя (4-я) версия является результатом сотрудничества в рамках корпоративного соглашения Miscrosoft и Adobe, и воплощает, по-видимому, все функциональные возможности управления шрифтами, которые могут быть достигнуты в рамках MS Windows.
 

TTFtoGF предоставляет интерфейс пользователя, позволяющий выбрать нужную гарнитуру, размер шрифта, задать разрешение для устройства отображения, просмотреть набор глифов. В результате конвертации шрифтов, проводимой TTFtoGF на свет появляются растровые шрифты в форматах GF (General Font) и PL (Prorerty List). Первый из файлов содержит сами растры символов, так же как это происходит при работе METAFONT, а второй - метрики шрифта в текстовом виде. После этого происходит вызов утилит GFtoPK и PLtoTF, первая из которых преобразует растровый шрифт формата GF в упакованный растровый формат PK, принятый для большинства драйверов dvi. Вторая утилита преобразует текстовые метрики PL в бинарный формат TFM, принятый Д.Кнутом для использования в TeX. Вызов GFtoPK и PLtoTF автоматизирован, а результирующие файлы помещаются в директории, заданные пользователем.

Кроме того, в TTFtoGF встроен гибкий механизм изменения на лету кодировки обрабатываемого шрифта, что позволяет, например, приводить русские TrueType шрифты с кодовой страницей 1251 к наиболее употребимой в русском TeX кодовой странице 866.
 

Использование полученных TFM/PK шрифтов в ТеХнологии

Для того, чтобы использовать полученный шрифт в TeX документе необходимо провести следующие процедуры:
   

Обсуждение технологии

Описанный способ открывает доступ к использованию из TeX шрифтов высокого качества сотен различных начертаний.

К достоинствам технологии подключения шрифтов на основе TTFtoGF следует отнести то, что решение проблемы подключения дополнительных шрифтов приведено к традиционным для TeX средствам (обычные dvi-драйверы, стандартные шрифтовые форматы, типовые утилиты gftopk, pltotf).

К недостатку технологии TTFtoGF относится базирование ее на операционной системе MS Windows, которая, несмотря на распространенность, в отдельных местах может отсутствовать. В то же время, хотелось бы отметить два обстоятельства:
 

  1. в силу того, что TTFtoGF является 16-разрядным приложением Windows, условия его запуска значительно ослаблены. Это могут быть не только разновидности MS Windows от 3.1 и выше, но и IBM OS/2 Warp, а так же, возможно, UNIX, оснащенный WABI;
  2. для подключения шрифтов третьих производителей наличие TTFtoGF на данной машине, вообще говоря, не требуется. Достаточно располагать результатами его работы в виде PK/TFM файлов, а сама утилита может запускаться на соседней машине в сети.
Другой функциональный недостаток TTFtoGF состоит в том, что он не способен осуществлять генерацию шрифтов по запросу dvi-драйвера так, как это делает METAFONT вместе с mfjob.

В то же время есть и общие проблемы подключения шрифтов к TeX, какими бы средствами они ни проводились. Во-первых, сразу встает проблема совместимости для пользователей, которая отсутствует при единообразном употреблении шрифтов семейства cm и только их. Во-вторых, встает вопрос о легитимизации употребления других шрифтов на уровне, например, стилевых файлов. Создание собственных стилей становится необходимым для тех корпоративных пользователей, которые решаются на применение нестандартных шрифтов в TeX.
 

Совместимость и распространение

Утилита TTFtoGF выполнена как 16-разрядное приложение Windows, что и определяет выбор операционной системы для ее запуска: MS Windows 3.1x, MS Windows 95/98, MS Windows NT, IBM OS/2 Warp версий 3 и выше. Работа под эмуляторами Windows не проверялась. Взаимодействие со шрифтами Adobe Type 1 тестировалось на платформах MS Windows 95, 98 и MS Windows NT 4.0 с Adobe Type Manager 4.0.

TTFtoGF с 1998 года имеет статус свободно распространяемого обеспечения (freeware) и доступна в Интернет, например по адресу:
http://www.geocities.com/CapeCanaveral/Lab/7032  на домашней странице автора - Константина Васильева.