В системах Windows и MacOS реализована возможность сглаживания границ символов (anti-aliasing). Чтобы границы символов выглядели более ровно, вместо черного или белого цвета некоторые пиксели закрашиваются оттенками серого цвета. Если пользователю не понравится внешний вид обработанных подобным образом символов, он имеет возможность отключить средства сглаживания. В X Window до появления версии 4.0.2 сглаживание не поддерживалось. Чтобы включить сглаживание, необходимо выполнить дополнительные действия по настройке, которые описаны в документе
При настройке различных серверов шрифтов, предназначенных для работы в системе Linux, выполняются практически одинаковые действия. Шрифты располагаются в специально
предназначенных для них каталогах, и создаются файлы, которые описывают находящиеся в них шрифты. Затем сервер шрифтов конфигурируется для просмотра каталогов и предоставления необходимых шрифтов клиентам. Последующие разделы посвящены настройке
xfs
и
xfsft
. Конфигурация
xfstt
лишь незначительно отличается от этих серверов.
Конфигурация серверов шрифтов, установленная по умолчанию
После инсталляции Linux и XFree86 система создает конфигурационный файл XFree86 с именем
XF86Config
и помещает его в каталог
/etc
или
/etc/X11
. Как было сказано ранее, в этом файле содержатся записи Font
Path
, которые указывают на каталоги в файловой системе компьютера или на серверы шрифтов. Примеры записей в файле
XF86Config
приведены ниже.
FontPath "/usr/X11R6/lib/fonts/Type1/"
FontPath "unix/:7100"
FontPath "tcp/zapf:7100"
На заметку
В конфигурационном файле, созданном по умолчанию, вы никогда не встретите такой набор записей. Приведенные выше строки лишь иллюстрируют три основных типа записей
FontPath
.
Первая строка определяет локальные шрифты, которые используются без участия сервера шрифтов. В большинстве версий Linux шрифты размещаются в нескольких каталогах, поэтому в файле
XF86Config
присутствует несколько строк, определяющих локальные каталоги со шрифтами (по одной строке на каждый каталог). Когда система получает команду найти шрифт с определенным именем, она просматривает каждый каталог по очереди до тех пор, пока шрифт не будет найдет или пока записи
FontPath
не будут исчерпаны.
Вторая строка иллюстрирует использование сервера шрифтов, расположенного на локальном компьютере. Ключевое слово
unix
указывает на то, что к серверу можно обращаться через сетевое соединение, используя гнезда UNIX. Число в конце записи (7100) определяет порт, по которому сервер принимает обращения. Если в вашем конфигурационном файле присутствует подобная запись, строки, непосредственно указывающие на каталоги со шрифтами, скорее всего будут отсутствовать. Вопросы настройки для использования дополнительных шрифтов рассматриваются далее в этой главе.
Третья строка определяет сервер шрифтов, доступный по сети. Ключевое слово
tcp
указывает на то, что к серверу можно обращаться с помощью стандартных средств TCP/IP. Имя после косой черты (в данном случае
zapf
) — это имя компьютера, на котором выполняется сервер шрифтов. (При необходимости вы можете задать полное доменное имя узла, например
zapf.threeroomco.com
.) Число, следующее за именем, определяет порт, по которому сервер принимает обращения.
Как локальный сервер шрифтов, так и сервер, доступный по сети TCP/IP, традиционно используют для приема обращений от клиентов порт 7100. (Иногда для обработки обращений от локальных программ применяется порт -1). В некоторых случаях данное соглашение приводит к возникновению конфликтов. Это может случиться, если в системе выполняется программа, которая запускает сервер шрифтов с расширенными возможностями. В подобной ситуации вам следует использовать другой порт, например 7101 или 7102.
Порядок выполнения сервера шрифтов определяется содержимым конфигурационного файла. В большинстве случаев роль конфигурационного файла выполняет файл
/etc/X11/fs/conf
, но в некоторых системах вместо
conf
используется файл с именем
config
. В этом файле указывается расположение файлов шрифтов и определяются особенности работы сервера. Для запуска сервера шрифтов обычно применяются сценарии SysV,
но если вы включаете сервер в систему, в котором по умолчанию его выполнение не предусмотрено, вы можете воспользоваться локальным сценарием запуска. В некоторых системах, например в Red Hat, сценарий SysV проверяет каталоги со шрифтами и определяет, должен ли быть обновлен список шрифтов. При необходимости список обновляется автоматически. Это существенно упрощает включение новых шрифтов, так как вам достаточно записать новые файлы в соответствующий каталог и перезагрузить сервер шрифтов. Если же утилита, автоматически генерирующая конфигурационный файл, некорректно работает с каким-либо из шрифтов, вы можете запретить автоконфигурацию для одного или нескольких каталогов и создавать конфигурационный файл вручную.
Настройка сервера шрифтов для работы в сети
Если в дистрибутивном пакете по умолчанию предусмотрено выполнение сервера шрифтов, то в системе, как правило, принимаются меры для того, чтобы этот сервер не был доступен с остальных компьютеров. Доступ по сети блокируется исходя из соображений безопасности. Если же вы хотите, чтобы другие компьютеры могли обращаться к вашему серверу шрифтов, вам необходимо выполнить одно из следующих действий.
• Запустить второй экземпляр сервера шрифтов и обеспечить доступ к нему. Если вы будете использовать данный подход, вам придется модифицировать сценарий запуска или обеспечить выполнение второго сервера другим способом. Чтобы два экземпляра сервера использовали различные конфигурационные файлы, можно при вызове
xfs
указать опцию
– config /путь_к_конфигурационному_файлу
.
• Модифицировать конфигурационный файл сервера шрифтов и разрешить в нем доступ с других компьютеров. Такой способ более эффективен, но он непригоден в тех случаях, когда вам необходимо предоставлять локальным и удаленным клиентам различные наборы шрифтов.
На заметку
Сервер шрифтов можно запустить даже на компьютере, на котором отсутствует система X Window. Чтобы это стало возможным, вам придется установить все программы, которые нужны для работы сервера. Несмотря на то что эти программы составляют основную часть X Window, X-сервер на этом компьютере запускать не обязательно.
Существуют два способа, позволяющие ограничить доступ к серверу шрифтов.
• Запрет установления TCP-соединения. В системе Red Hat 7.2 в файле
/etc/X11/fs/config
содержится строка
no-listen = tcp
, которая запрещает серверу принимать запросы на установление TCP-соединения. Если эта строка отсутствует, сервер принимает обращения от клиентов через порт 7100. Таким образом, чтобы обеспечить доступ к серверу, надо закомментировать данную строку, завершить работу сервера и запустить его снова. В системе Red Hat для остановки и запуска сервера может быть использован сценарий SysV с именем
xfs
.
• Использование порта -1. В системе Mandrake 8.1 сервер шрифтов по умолчанию настраивается для приема обращений через порт с номером -1. Такая настройка запрещает установление сетевых соединений с другими компьютерами. Для того чтобы изменить конфигурацию сервера, надо отредактировать сценарий запуска (обычно он содержится в файле
/etc/rc.d/init.d/xfs
) и изменить в нем номер порта. Найдите строку, которая начинается с daemon
xfs -port -1
, и замените число -1 на 7100 или на другой номер порта, который вы собираетесь использовать. Вам также надо отредактировать файл
/etc/XF86Config
, содержащийся в каталоге
/etc/X11
(в зависимости от используемого X-сервера этот файл может также называться
XF86Config
или
XF86Config-4
), и указать в нем, что обращение к серверу шрифтов должно осуществляться с использованием другого номера порта. Найдите запись
FontPath
, ссылающуюся на
unix/:-1
, и замените -1 на 7100 или другой номер порта, который вы указали в сценарии запуска
xfs
. После этого вам придется завершить работу
xfs
и снова запустить его, а также перезапустить X-сервер (для этого можно использовать кнопку Restart X Server в окне регистрации Mandrake).