Сервер шрифтов с расширенными возможностями
Сервер шрифтов с расширенными возможностями
Возможности, предоставляемые традиционным сервером шрифтов, не соответствуют требованиям, предъявляемым современными операционными системами и выполняющимися в них приложениями. Процедура включения новых шрифтов слишком трудоемкая, а качество текста часто оставляет желать лучшего, в особенности в тех случаях, когда путь к шрифту установлен некорректно или когда используются шрифты, заданные по умолчанию. Немаловажен и тот факт, что система поддержки шрифтов в X Window не предназначена для интеграции экранных шрифтов со шрифтами для печати. Эти и другие недостатки приводят к тому, что разработка приложений, для которых требуется высококачественный пользовательский интерфейс (например, текстовых процессоров или издательских систем), существенно затрудняется. Для разрешения этих проблем были созданы серверы шрифтов с расширенными возможностями. Многие из них встроены в другие приложения, но некоторые могут использоваться как независимые программы.
Среди серверов шрифтов с расширенными возможностями, предназначенных для использования в системе Linux, наибольшей популярностью пользуется FontTastic (http://www.bitstream.com/categories/developer/fonttastic/). Этот сервер распространяется на коммерческой основе, функционирует как сервер шрифтов X Window и предоставляет дополнительные возможности клиентам, ориентированным на взаимодействие с ним. FontTastic снабжает клиента дополнительной информацией, например, может при необходимости предоставить ему шрифты в контурном виде, необработанные данные шрифтов и сведения о кернинге. Эту информацию нельзя получить ни с помощью традиционного сервера шрифтов, ни в результате непосредственной обработки шрифтов X-сервером. Получив подобную информацию, приложение может осуществлять действия, которые невозможно выполнить из-за ограничений, накладываемых традиционными средствами обработки шрифтов X Window. Рассмотрим, например, работу текстового процессора. В обычных условиях пользователь указывает стандартный шрифт для документа. Когда приходит время вывести сформированный документ на печать, текстовый процессор обязан скопировать нужный шрифт на принтер либо каким-то образом сообщить принтеру о том, что тот должен использовать один из встроенных шрифтов. Если пользователь выбрал нестандартный шрифт, текстовый процессор может передать принтеру только битовые карты символов, так как именно в таком виде он сам получает эту информацию. Текстовый процессор должен каким-либо способом узнать разрешающую способность принтера, запросить символы с соответствующим разрешением у сервера шрифтов и вывести требуемые данные. При этом качество часто бывает невысоким.
Работая совместно с FontTastic, текстовый процессор может запросить у него необработанные данные шрифта и включить их в документ. Такой подход обеспечивает гораздо более высокое качество отображения и требует для этого меньших усилий. (При использовании шрифтов TrueType текстовый процессор, работающий с PostScript-принтером, может преобразовать их в формат Туре 42. Кроме того, имея необработанные данные шрифта, он может эффективно восстановить шрифт. При этом достигаются гораздо лучшие результаты по сравнению с использованием битовых карт.) Взаимодействуя с FontTastic, текстовый процессор также получает дополнительные сведения (например, размер символов, кернинг и т.д.), что также позволяет улучшить внешний вид выводимых данных.
Поскольку FontTastic распространяется на коммерческой основе, этот сервер не стал стандартным инструментом для Linux. Однако на работу с ним ориентированы по крайней мере два широко используемых приложения: Corel WordPerfect Office 2000 (которое в в настоящее время уже не поддерживается разработчиком) и VistaSource ApplixWare Office (http://www.vistasource.com/products/axware/). Если вы запустите любую из этих программ, произойдет автоматическая инсталляция FontTastic и данный сервер будет выполняться в течение времени работы приложения. При необходимости FontTastic можно сконфигурировать так, что программы на других компьютерах смогут работать с ним как с обычным сервером шрифтов.
Использование FontTastic — не единственный способ разрешения проблемы несоответствия между выводом на экран и на принтер. Некоторые инструменты, например TeX, ориентированы на работу с принтером, а обеспечению качества при выводе на экран уделяется гораздо меньше внимания. TeX — это язык описания страниц. В некоторых случаях пользователь даже не видит на экране, как будет выглядеть составленный им документ, а лишь вводит требуемые директивы с помощью текстового редактора. Версии WYSIWYG TeX-редакторов появились сравнительно недавно.
Для того чтобы обеспечить согласование шрифтов на экране и на принтере, некоторые программы отказываются от взаимодействия со средствами поддержки шрифтов X Window. В качестве примера такой программы можно привести WordPerfect 8. Данный продукт непосредственно работает со шрифтами. Он самостоятельно растрирует контурные шрифты, отображает их на экране, а также создает битовые карты символов для вывода на принтер.
Еще один подход заключается в том, чтобы сообщить программе расположение файлов шрифтов. Имея такую информацию, программа может передать файлы шрифтов на принтер, обеспечивая таким образом согласование вывода данных на экран и на печать. Такой подход очень прост, но отсутствие в X Window некоторых средств специальной обработки шрифтов приводит к тому, что качество отображения текста на экране становится недопустимо низким. Если же приложение не в полной мере использует информацию, содержащуюся в файлах шрифтов, страдает также качество вывода на принтер. Ни один из описанных выше подходов не ориентирован на использование сетевых средств, поэтому в данной книге они не рассматриваются. Я упоминаю их лишь как альтернативу серверу FontTastic.