Программа type1inst
просматривает файлы шрифтов, извлекает имена шрифтов и другую XLFD-информацию и на основании полученных данных создает файл fonts.dir
. Данная программа также оповещает пользователя о ходе обработки шрифтов, например, она может сообщить, что на данный момент создана 21 запись в файле fonts.dir
, одна из них описывает шрифт, изготовителя которого не удалось определить. Файл fonts.dir
, созданный программой type1inst
, можно отредактировать вручную и удалить несоответствия, например, выявить файлы шрифтов, принадлежащие одному семейству, но созданные различными производителями. X-программы используют информацию, содержащуюся в файле fonts.dir
, и игнорируют данные в составе шрифтов. Поэтому изменение некоторых деталей файлов шрифтов не влияет на работу этих программ. Несоответствия, о которых шла речь выше, могут привести к возникновению проблем, в частности, если информация о производителе не совпадает, то, запросив шрифт, клиент может получить ту или иную его разновидность.
Программа аналогичного назначения создана и для работы с шрифтами TrueType. Эта программа называется ttmkfdir
и входит в состав библиотеки FreeType, используемой xfsft
и XFree86 4.0. Программа ttmkfdir
работает подобно программе type1inst
, но позволяет задавать имя выходного файла посредством опции -о
. Данная программа не включает в выходной файл сведения о шрифтах, в которых отсутствуют некоторые символы. Для того чтобы сведения об этих шрифтах были включены в выходной файл, необходимо задать опцию -с
. Чтобы учесть изменения, внесенные в каталог со шрифтами, надо задать следующую команду:
# ttmkfdir -с -о fonts.dir
Если вы обнаружите, что при работе с некоторыми шрифтами возникают проблемы, вызовите эту же команду, но без опции -с
. Список шрифтов станет короче, но оставшиеся в нем шрифты скорее всего будут работоспособны.
Как было сказано выше, программы type1inst
и ttmkfdir
создают новый файл fonts.dir
взамен существующего. Если вы добавляете шрифты в каталог, желательно создать резервную копию файла fonts.dir
. Как вы уже знаете, автоматически созданный файл fonts.dir
можно редактировать вручную. Копия файла поможет вам вспомнить, какие изменения уже были внесены в него.
После изменения файла fonts.dir
необходимо остановить и снова запустить сервер шрифтов. Кроме того, надо либо перезапустить X-серверы, использующие сервер шрифтов, либо указать им на то, что список доступных шрифтов должен быть обновлен. Сделать это можно с помощью следующей команды:
# xset fp rehash
Если вы не сделаете этого, новые шрифты будут не доступны X-серверам. Если вы удалили шрифты и не оповестили об этом X-сервер, то при попытке получить отсутствующий шрифт, работа X-сервера будет приостановлена.
Сервер шрифтов с расширенными возможностями
Возможности, предоставляемые традиционным сервером шрифтов, не соответствуют требованиям, предъявляемым современными операционными системами и выполняющимися в них приложениями. Процедура включения новых шрифтов слишком трудоемкая, а качество текста часто оставляет желать лучшего, в особенности в тех случаях, когда путь к шрифту установлен некорректно или когда используются шрифты, заданные по умолчанию. Немаловажен и тот факт, что система поддержки шрифтов в X Window не предназначена для интеграции экранных шрифтов со шрифтами для печати. Эти и другие недостатки приводят к тому, что разработка приложений, для которых требуется высококачественный пользовательский интерфейс (например, текстовых процессоров или издательских систем), существенно затрудняется. Для разрешения этих проблем были созданы серверы шрифтов с расширенными возможностями. Многие из них встроены в другие приложения, но некоторые могут использоваться как независимые программы.