Чтение онлайн

ЖАНРЫ

Linux для пользователя

Костромин Виктор Алексеевич

Шрифт:

В настоящее время существует три разных сервера фонтов: xfs, xfstt и xfsft.

Фонт-сервер xfs

Если вы пользуетесь дистрибутивом, основанным на Red Hat (Mandrake и т.п.), то фонт-сервер xfs у вас, вероятно, установлен. Сообщение о запуске фонт-сервера xfs появляется на экране монитора в процессе загрузки, а, кроме того, соответствующее сообщение об успешном запуске xfs можно найти в файле /var/log/messages.

В случае применения xfs, в файле XF86Config вместо перечня каталогов со шрифтами вы увидите всего одну строку следующего вида:

FontPath "unix/:-1"

Эта строка является

ссылкой на номер порта, который будет использоваться для связи с фонт-сервером.

Использование фонт-сервера не означает, что имеет место полный отказ от перечня каталогов со шрифтами. Только теперь это перечень переносится в конфигурационный файл программы xfs. По умолчанию это файл /etc/X11/fs/config. В секции "catalogue" этого файла и перечислены теперь все каталоги со шрифтами. Соответствующая секция файла /etc/X11/fs/config должна выглядеть примерно так: catalogue = /usr/X11R6/lib/X11/fonts/misc:unscaled,

/usr/X11R6/lib/X11/fonts/100dpi:unscaled,

/usr/X11R6/lib/X11/fonts/75dpi:unscaled,

/usr/X11R6/lib/X11/fonts/Type1,

/usr/X11R6/lib/X11/fonts/Speedo,

/usr/X11R6/lib/X11/fonts/misc,

/usr/X11R6/lib/X11/fonts/100dpi,

/usr/X11R6/lib/X11/fonts/75dpi,

/usr/local/share/fonts/ttfonts

(обратите внимание на отсутствие запятой в последней строке).

Правда, вы можете по-прежнему включить строки с указанием путей к каталогам шрифтов в файл XF86Config (вместе со строкой "FontPath "unix/:-1"), но они будут обрабатываться не фонт-сервером, а X-сервером. xfs от Redhat способен обслуживать как шрифты Type 1, так и шрифты True Type.

Фонт-сервера xfstt и xfsft

Если ваш дистрибутив не включает фонт-сервер xfs, вы можете воспользоваться одним из альтернативных фонт-серверов

• xfstt или

• xfsft .

xfstt - это фонт-сервер, созданный исключительно с целью обслуживания шрифтов True Type на локальной машине. Поэтому он поддерживает только шрифты True Type и не может обслуживать шрифты на нескольких машинах в сети. Учитывая это, предпочтительнее пользоваться фонт-сервером xfsft или фонт-сервером xfs от Red Hat, о котором мы уже говорили. Заметим, что фонт-сервер xfsft послужил основой для доработки xfs, и модуль работы со шрифтами в XFree86 версии 4 создан разработчиком xfsft. Наверное поэтому этот фонт-сервер перестал поддерживаться разработчиком, так что вам лучше сразу ориентироваться на xfs или переходить на XFree86 версии 4.

11.4.5. Ревизия шрифтового хозяйства

Установлен ли фонт-сервер?

Давайте начнем такую ревизию с проверки того, что корректно установлен фонт-сервер xfs. Вначале запустите команду:

[root]# ps ax | grep xfs

Если xfs уже установлен в вашей системе (в противном случае установите его), вы должны увидеть строку примерно такого вида:

401? S 0:04 xfs -droppriv -daemon -port -1

По этой строке можно определить, какой порт использует эта программа. Этот же номер должен быть указан в строке вида

FontPath "unix/:port_number"

в секции "Files" в конфигурационном файле X-сервера (в xfree86 это файл /etc/X11/XF86Config).

Скорее всего секция "Files" в этом случае вообще содержит только одну строку FontPath, например, такую:

FontPath "unix/:-1"

Впрочем, можно не искать файл /etc/X11/XF86Config, а выполнить команду:

[root]# xset -q,

в выводе которой вы должны увидеть такие строки:

FontPath

"unix/:-1"

Если перечень каталогов шрифтов XFree86 содержит строку типа unix:/port_number, где port_number совпадает с номером порта, используемым программой xfs (Вы получили его по команде ps), то сервер xfs у вас установлен корректно. В противном случае, вы должны добавить ссылку на него в перечень каталогов шрифтов XFree86 либо с помощью команд:

[root]# xset fp+ unix/:port_number

[root]# xset fp rehash

либо путем непосредственной корректировки файла /etc/X11/XF86Config и последующего перезапуска X Window.

Для редактирования файла /etc/X11/XF86Config вы должны иметь права суперпользователя. Если вы таких прав получить не можете, то для корректной установки фонт-сервера вы должны обратиться к администратору. Какие шрифты имеются в Вашей системе?

Давайте теперь посмотрим, какие шрифты установлены в системе. Поскольку вы уже знаете (загляните еще раз в FontPath), в каких каталогах находятся файлы шрифтов, вы можете непосредственно просмотреть эти каталоги. Но одного наличия файла со шрифтом еще недостаточно для того, чтобы шрифт был доступен для X-сервера. Для того, чтобы увидеть список шрифтов, известных X-серверу, лучше воспользоваться командой xlsfonts, которая выводит на экран перечень таких шрифтов. Если запустить ее с опцией -lll, то она дополнительно выдаст массу информации о каждом шрифте. Перенаправьте вывод в файл:

[root]# xlsfonts › fontlist

и вы получите список доступных шрифтов в файле fontlist.

Но для того, чтобы этот список прочитать, надо иметь представление о том, как именуются шрифты. Без этого прочитать полученный файл fontlist будет очень трудно.

Существует стандарт консорциума X (X Consortium) на имена шрифтов для X Window System, который называется X Logical Font Description Conventions (обычно упоминаемый как XLFD). Полное описание его дано в [П13.11]. В соответствии с этим стандартом имя шрифта состоит из 14 полей:

foundry (fndry) - производитель шрифта (Adobe, Bitstream и т.п.);

• family (fmly) - название семейства шрифтов (например, Times);

weight (wght) - толщина (bold, demibold, medium);

slant (slant) - наклон (roman, italic, oblique);

set width (sWdth) - ширина (normal, condensed, double wide);

add style (adstyl) - стиль (serif, sans serif, decorated);

pixel size (pxlsz) - размер символа по вертикали (в пикселах, 0 означает масштабируемый шрифт);

point size (ptSz) - размер символа по горизонтали;

resolutionX (resx) - разрешение по горизонтали;

resolutionY (resy) - разрешение по вертикали;

spacing (spc) - ширина символов (пропорциональный, моноширинный);

avg width (avgWdth) - среднее значение ширины глифов шрифта;

Поделиться с друзьями: