Формально шрифтом называется представление символов определенного фиксированного размера, а для определения одинаковых шрифтов, отличающихся только размерами, используется термин начертание, или семейство шрифтов. Таким образом, растровый шрифт действительно является шрифтом, а к контурному шрифту лучше подходит термин начертание. Однако в литературе, посвященной компьютерам, этими различиями обычно пренебрегают. В данной книге я буду называть шрифтом как шрифт конкретного размера, так и все семейство шрифтов.
При отображении контурных шрифтов необходимо анализировать контур символа, чтобы определить, каким
цветом должен быть закрашен тот или иной пиксель. В результате для вывода символов, представленных в контурном формате, требуется намного больше времени, чем для отображения тех же символов, представленных в растровом виде. Ускорить процесс отображения текста можно различными способами. Один из этих способов заключается в том, что шрифт определенного размера заранее растрируется (т.е. переводится в растровую форму) и хранится в виде битовой карты. Именно этим занимается сервер шрифтов. Клиент, обращающийся к серверу шрифтов, всегда получает шрифт в растровом виде, независимо от того, в каком формате был представлен исходный шрифт.
Существуют различные форматы представления контурных шрифтов. В качестве примеров можно привести Bitstream Speedo, Adobe Type 1, Type 3, Type 5, Type 42 и Apple TrueType. (Шрифты Type 42 на самом деле представляют собой шрифты TrueType, преобразованные для вывода на PostScript-принтеры.) Различия между разными форматами контурных шрифтов гораздо более существенны, чем в случае растровых шрифтов, так как в них используются различные типы описаний прямых и кривых линий. В большинстве случаев шрифты можно преобразовать из одного формата в другой, но при этом начертания символов будут незначительно отличаться друг от друга. В частности, в процессе преобразования могут быть потеряны рекомендации разработчика, что ухудшит внешний вид символов при выводе на устройства с низким разрешением. Поэтому рекомендуется использовать исходный формат шрифта, а если это невозможно, то следует приобрести у разработчика тот же шрифт, представленный в нужном вам формате.
В Linux (а точнее, в XFree86) реализована поддержка контурных шрифтов Speedo и Adobe Туре 1. Шрифты Speedo используются достаточно редко, а шрифты Туре 1 нашли широкое применение; они распространяются на компакт-дисках и доступны через Internet. Кроме того, некоторые шрифты Туре 1 входят в поставку Linux. В Windows и MacOS шрифты TrueType намного более популярны, чем Туре 1. В частности, TrueType является стандартным форматом шрифтов для системы Windows. Считается, что шрифты TrueType позволяют обеспечить более высокое качество отображения на устройствах с низким разрешением, чем Туре 1, однако такое утверждение справедливо только в тех случаях, когда в состав шрифта включены подробные рекомендации разработчика. При отсутствии рекомендаций разработчика символы TrueType отображаются ничуть не лучше, чем символы Туре 1.
СОВЕТ
Корпорация Microsoft разработала шрифты TrueType, снабженные подробными рекомендациями. Они предназначены для использования в Web-броузерах и доступны по адресу
http://www.microsoft.com/typography/fontpack/
. Если вы скопируете файлы, ориентированные на применение в Windows 3.1, то сможете непосредственно использовать их в системе Linux. Эти шрифты поставляются в виде самораспаковывающихся (в системе Windows) zip-файлов; в Linux вы можете извлечь их содержимое с помощью утилиты
unzip
. Порядок инсталляции шрифтов будет описан далее в этой главе. Разработчики многих Web-узлов предполагают, что шрифты, о которых идет речь, уже установлены на клиентской машине, поэтому, инсталлировав их, вы сможете наиболее корректно отобразить соответствующие Web-страницы.
В версиях XFree86, предшествующих 4.0, шрифты TrueType не поддерживались, поэтому единственным способом работы с ними было применение сервера шрифтов. В настоящее время есть возможность непосредственного использования шрифтов TrueType в X Window, однако в большинстве дистрибутивных пакетов для работы с TrueType традиционно применяется сервер шрифтов.
X Window — не единственная система, в которой используются контурные шрифты. С помощью специальных инструментальных средств можно, например, обеспечить работу TeX с этим типом шрифтов. Программа Ghostscript (PostScript-интерпретатор для
принтеров, не поддерживающих PostScript) также использует растровые шрифты: чаще всего Ghostscript работает со шрифтами Туре но в некоторых случаях может применяться и формат TrueType. Растровые шрифты необходимы для обеспечения работы текстовых процессоров. Упомянутые здесь программы, за исключением текстовых процессоров, не используют сервер шрифтов.
Обеспечение работы традиционного сервера шрифтов
В данной главе термин традиционный сервер шрифтов будет использоваться для обозначения программы
xfs
, поставляемой в комплекте с XFree86, и других подобных ей программ. Сервер шрифтов поставляет X-программам шрифты, представленные в растровом виде, используя для этого стандартный протокол. Исходные файлы шрифтов могут быть как растровыми, так и контурными. Серверы шрифтов в основном предназначены для поддержки вывода символов на экран монитора и не обеспечивают согласование экранных шрифтов с символами, выводимыми на принтер. В состав XFree86 входит
xfs
, поэтому, даже если сервер шрифтов не инсталлирован, на вашем компьютере скорее всего имеется в наличии все необходимое программное обеспечение для организации его работы. Настройка сервера шрифтов сводится к редактированию нескольких конфигурационных файлов. Если на компьютере уже установлен локальный сервер шрифтов, вы можете перенастроить его так, чтобы к нему могли обращаться X-серверы, работающие на других машинах.
Программы, реализующие сервер шрифтов в Linux
Чаще всего в качестве сервера шрифтов в Linux используется программа
xfs
, которая поставляется в составе XFree86. По сути эта программа представляет собой набор кодов X Window, используемых для обработки шрифтов и дополненный средствами поддержки сетевого взаимодействия. Как правило, данный сервер помещается в каталог
/usr/X11R6/bin
; пакет, используемый для инсталляции, обычно называется
XFree86-xfs
или
xfs
.
При работе с версиями XFree86, предшествующими версии 4.0, вам понадобится модифицированный вариант сервера шрифтов, в котором реализована поддержка TrueType. Два сервера, обеспечивающих такую поддержку, описаны ниже.
•
xfstt
. Данный сервер ориентирован исключительно на работу с TrueType. Type 1, BDF и другие форматы шрифтов не поддерживаются. Этот продукт удобен для обеспечения поддержки TrueType в версиях XFree86, выпущенных раньше, чем XFree86 4.0. Если же вас интересует только работа с форматом TrueType,
xfstt
можно использовать в качестве сетевого сервера шрифтов. Инсталляционный пакет
может быть переименован). Принимая решение об использовании
xfstt
, следует помнить, что этот сервер предоставляет клиентам шрифты в формате, который зависит от порядка следования байтов, принятого в компьютере. Если в сети присутствуют компьютеры с различными сочетаниями байтов (например, x86 и PowerPC),
xfstt
не может выполнять функции сетевого сервера шрифтов.
•
xfsft
. Данный сервер представляет собой модифицированный вариант стандартного пакета
xfs
, входящего в состав XFree86 3.3.x. Сервер
xfsft
включает поддержку TrueType средствами FreeType (
http://freetype.sourceforge.net/index2.html
). Результатом данной модификации стал сервер, поддерживающий TrueType, Type 1, BDF и другие форматы шрифтов. Все возможности
xfsft
обеспечивает также стандартная программа
xfs
, входящая в состав XFree86 4.0; ее вы можете использовать даже при работе с ранними версиями XFree86. Если же вы по каким-либо причинам предпочтете работать с сервером