Kniga-Online.club

Родерик Смит - Сетевые средства Linux

Читать бесплатно Родерик Смит - Сетевые средства Linux. Жанр: Программное обеспечение издательство -, год 2004. Так же читаем полные версии (весь текст) онлайн без регистрации и SMS на сайте kniga-online.club или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Перейти на страницу:

Изменяя список, задаваемый с помощью ключевого слова catalogue, вы можете добавлять или удалять каталоги со шрифтами. Так, например, если вы хотите добавить набор шрифтов, скопированный из Internet или полученный на компакт-диске, то должны поместить файлы в каталог и включить его в запись. При инсталляции некоторых серверов в конфигурационном файле указываются каталоги, которые содержат шрифты, поставляемые вместе с сервером. Если эти шрифты вам не нужны, удалите путь к каталогу из списка. (При этом необходимо следить за тем, чтобы после последнего каталога в списке не было запятой.)

Включение шрифтов в каталог

Настройка сервера шрифтов предполагает создание файлов описания каталогов. Файл описания каталогов имеет имя fonts.dir, а его содержимое представляется в следующем формате:

число

имя_файла_шрифта1 XLFD1

имя_файла_шрифта2 XLFD1

...

Первая строка содержит число, которое указывает, сколько шрифтов описано в данном файле. Каждая последующая строка описывает один шрифт. Все строки, кроме первой, начинаются с имени шрифта (например, goodfont.ttf или t1f32.pfb). Файл шрифта с указанным именем должен присутствовать в каталоге.

Каждый шрифт Туре 1 реализуется в виде нескольких файлов. Файл PFB (Printer Font Binary — двоичный шрифт печати) содержит основную информацию о шрифте; имя этого файла обычно указывается в fonts.dir. Вместо PFB-файла вы можете задать в составе fonts.dir файл PFA (Printer Font ASCII — ASCII шрифт печати), в котором находятся те же данные, представленные в другом формате. Прочие файлы, определяющие шрифт, имеют расширения pfm, .afb и .afm. Эти файлы необходимы для того, чтобы сервер шрифтов мог предоставлять клиентам шрифты Туре 1.

Остальная часть строки представляет собой логический дескриптор шрифта (XLFD — X Logical Font Descriptor). Ниже приведен пример подобного дескриптора.

-bitstream-charter-medium-r-normal--0-0-0-0-p-0-iso8859-1

Логический дескриптор шрифта состоит из нескольких полей, разделенных дефисами (-). В полях дескриптора содержатся информация об изготовителе шрифта (bitstream); название семейства шрифтов (charter); "вес" шрифта (medium); сведения о том, представлены ли символы шрифта курсивом (r); ширина символов (normal); дополнительное имя стиля (в данном примере не используется); обобщенные данные о размере (строка, состоящая из нулевых значений, означает, что шрифт допускает масштабирование); сведения о том, является ли шрифт моноширинным или пропорциональным (p); средняя ширина (0 для масштабируемого шрифта) и кодировка (iso8859-1).

При составлении XLFD легко допустить ошибку, а в случае ошибки сервер не сможет предоставить шрифт клиенту. Поэтому для создания XLFD и даже для формирования всего файла fonts.dir предусмотрены специальные утилиты.

На заметку

Для поддержки семейства шрифтов серверу требуется несколько файлов. Предположим, что в текстовом процессоре используется шрифт Times и возникает необходимость выделять фрагменты текста полужирным шрифтом или курсивом. Разновидности шрифта Times по сути являются отдельными шрифтами, для их представления используются отдельные файлы шрифтов, а в файле fonts.dir создаются XLFD. Многие текстовые процессоры и подобные им программы могут имитировать курсив и полужирный текст, но гораздо лучшие результаты получаются при использовании специальных шрифтов, в особенности это относится к символам, представленным курсивом.

Утилита, позволяющая создавать файл fonts.dir на основании файлов шрифтов Туре 1, содержащихся в каталоге, называется type1inst. Эта утилита поставляется в составе многих дистрибутивных пакетов Linux, но по умолчанию она не инсталлируется. После установки данной программы надо сделать текущим каталог со шрифтами Туре 1 и ввести следующую команду:

# type1inst

Программа 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 не предназначена для интеграции экранных шрифтов со шрифтами для печати. Эти и другие недостатки приводят к тому, что разработка приложений, для которых требуется высококачественный пользовательский интерфейс (например, текстовых процессоров или издательских систем), существенно затрудняется. Для разрешения этих проблем были созданы серверы шрифтов с расширенными возможностями. Многие из них встроены в другие приложения, но некоторые могут использоваться как независимые программы.

Среди серверов шрифтов с расширенными возможностями, предназначенных для использования в системе Linux, наибольшей популярностью пользуется FontTastic (http://www.bitstream.com/categories/developer/fonttastic/). Этот сервер распространяется на коммерческой основе, функционирует как сервер шрифтов X Window и предоставляет дополнительные возможности клиентам, ориентированным на взаимодействие с ним. FontTastic снабжает клиента дополнительной информацией, например, может при необходимости предоставить ему шрифты в контурном виде, необработанные данные шрифтов и сведения о кернинге. Эту информацию нельзя получить ни с помощью традиционного сервера шрифтов, ни в результате непосредственной обработки шрифтов X-сервером. Получив подобную информацию, приложение может осуществлять действия, которые невозможно выполнить из-за ограничений, накладываемых традиционными средствами обработки шрифтов X Window. Рассмотрим, например, работу текстового процессора. В обычных условиях пользователь указывает стандартный шрифт для документа. Когда приходит время вывести сформированный документ на печать, текстовый процессор обязан скопировать нужный шрифт на принтер либо каким-то образом сообщить принтеру о том, что тот должен использовать один из встроенных шрифтов. Если пользователь выбрал нестандартный шрифт, текстовый процессор может передать принтеру только битовые карты символов, так как именно в таком виде он сам получает эту информацию. Текстовый процессор должен каким-либо способом узнать разрешающую способность принтера, запросить символы с соответствующим разрешением у сервера шрифтов и вывести требуемые данные. При этом качество часто бывает невысоким.

Перейти на страницу:

Родерик Смит читать все книги автора по порядку

Родерик Смит - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки kniga-online.club.


Сетевые средства Linux отзывы

Отзывы читателей о книге Сетевые средства Linux, автор: Родерик Смит. Читайте комментарии и мнения людей о произведении.


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор kniga-online.


Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*