Давайте начнем такую ревизию с проверки того, что корректно установлен фонт-сервер 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) - среднее значение ширины глифов шрифта;
• registry (rgstry) - название стандарта на кодировку символов (koi8, iso8859);
• encoding (encdng) - язык или кодовая страница (r, u).
Здесь в начале каждой строки указано наименование поля, затем (в скобках) сокращение этого наименования, используемое в программе xfontsel (о ней чуть ниже), после чего дается перевод (приблизительный) наименования поля. В скобках после русского перевода названия поля приводится по несколько примеров возможных значений этого поля, которые поясняют его назначение.
При задании конкретного шрифта поля в его имени принято разделять дефисами. Приведем пару примеров имен в стандарте XLFD:
-adobe-times-medium-r-normal-*-14-140-75-75-p-74-iso8859-1
-misc-fixed-medium-i-semicondensed-*-13-120-75-75-c-60-koi8-r
-adobe-courier-bold-o-normal-*-10-100-75-75-M-60-iso8859-1
(если какое-то поле не определено, то в соответствующей позиции ставится звездочка; таким образом можно одной строкой задать множество шрифтов).
В качестве параметра команде xlsfonts можно указать имя конкретного шрифта или семейства шрифтов (этой возможностью просто необходимо воспользоваться, если вы задали опцию -lll, иначе масса полученной информации окажется слишком велика).
Но просмотр списка шрифтов, выдаваемого командой xlsfonts, мало информативен в том смысле, что при этом вы не видите изображений символов, которые будет давать на экране данный шрифт. В этом плане гораздо удобнее воспользоваться программой xfontsel, которая работает в графическом режиме и выводит в своем окошке изображения некоторых символов данного шрифта, позволяющих представить себе, как будет выглядеть выводимый текст.
Эти две команды могут оказаться полезными, как для определения того, какие шрифты уже имеются в системе, так и для проверки того, что новые шрифты успешно установились. Я не буду здесь подробно описывать, как пользоваться этими командами. Воспользуйтесь соответствующими man-страницами или системой info.
На мой взгляд, пользователь обычно руководствуется в выборе шрифта только следующими признаками из перечисленных выше: семейство шрифтов (fmly), вариант шрифта - жирный шрифт или обычный (wght), наклон (slant), ширина шрифта (sWdth), размер шрифта в пикселах (pxlsz), стандарт (rgstry) и язык (encdng).
Попробуйте выбирать разные значения этих параметров в программе xfontsel и вы получите неплохое представление о том, какие шрифты установлены в вашей системе. Для русскоязычных пользователей выбор шрифта для просмотра стоит начать с двух последних полей. Задайте для поля rgstry значение koi8, а для поля encdng - значение r, и вы увидите сколько русскоязычных шрифтов в кодировке koi8-r у вас установлено. Кириллические шрифты задаются также значениями iso8859-5 в двух последних полях.
Кроме xlsfonts и xfontsel cуществуют еще несколько программ для просмотра установленных в системе шрифтов.
• Чтобы увидеть полный набор символов шрифта, можно воспользоваться командой xfd -fn fontname. В качестве fontname здесь можно использовать как полное имя шрифта, так и строку с символами маскирования (*), а также синонимы имен шрифтов, заданные в файле font.alias. Пример:
xfd -fn -*-helvetica-medium-r-*
• В графической среде KDE имеется Менеджер шрифтов, который тоже показывает все установленные шрифты, а также позволяет удалить некоторые (но устанавливать новые,