Типы шрифтов

В Solaris 2.6 используется OpenWindows 3.6 соответсвующая X11R6, соответственно если вы имели опыт работы с X11 то многое вы уже знаете.
Итак, OpenWindows поддерживает основные виды шрифтов:

Наименования шрифтов - XLFD

XLFD - X Logical Font Definition. Это способ указания шрифта в программе.

XLFD выглядит так
-foundry-family-weight-slant-swidth-add_style-px_size-pt_size-resx-resy-spc-avgWidth-registry-encodnig
foundry поставщик adobe, linotype, misc family семейство helvetica, times, courier weight жирность medium, bold slant наклонность r - норм. i,o - наклонный family

Путь поиска шрифтов - fontpath

В Х сервере имеется так называемый fontpath - набор каталогов в которых находятся шрифты. Таким образом в процессе работы с Х сервером возможно подключение или отключение шрифтов. Для настройки X сервера используетя команда xset, позволяющая устанавливать различные аспекты работы Х сервера. Рассмотрим приемы работы с fontpath. Примечание: обратите внимание на префиксное и постфиксное написание команды xset: Таким образом можно подставлять свои шрифты, так как список шрифтов создается на порядке расположения каталогов в fontpath и при поиске используется первый найденный.
 

Где и как задавать fontpath

Добалять каталоги с шрифтами, в fontpath можно несколькими способами.
  1. Путем указания каталогов с шрифтами в файле /usr/openwin/lib/locale/ru_RU.KOI8-R/OWfontpath, где ru_RU.KOI8-R заменяйте на ваше locale (если надо). Внимание!  Этот файл считывается скриптом /usr/openwin/lib/openwin-sys при загрузке OpenWindows или  /usr/dt/config/Xsetup - если у вас установлен CDE).
  2. Указанием команды xset в файле /usr/openwin/lib/Xinitrc (про xset см. выше)
  3. Указанием каталогов или сервера шрифтов в каталоге /usr/openwin/lib/X11/fontserver.cfg Подробнее о сервере шрифтов см. fs(1)
Примечание 1: В конце файла OWfontpathдолжен быть перевод строки, иначе ничего не получится.
Примечание 2: По умолчанию в каталоги указанные в файле OWfontpath добавляются в конецfontpath, если вам необходимо добавить их в начало fontpath, то просто добавьте пустую строку в начало файла OWfontpath.
Примечание 2: Для всех вышеуказанных файлов можно указать локальный вариант в своем домашнем каталоге. Таким образом каждый пользователь может настроить себе окружение как хочет, не прибегая к услугам администратора.
Более правильно говоря:
Глобальное имя Локальное имя
/usr/openwin/lib/Xdefaults ~/.Xdefaults
/usr/openwin/lib/Xinitrc ~/.xinitrc
/usr/openwin/lib/locale/%LANG/OWfontpath ~/.OWfontpath

Будьте внимательны! Xinitrc загружает ресурсы из Xdefaults затем из ~/.Xdefaults, далее запускает openwin-sys, который в свою очередь подключает шрифты из OWfontpath и затем из ~/.OWfontpath
Так что если вы хотите запускать какую либо программу при запуске OpenWindows используйте ~/.openwin-init или просто сохраняйте расположение окон - Save Workspace.

Подключение растровых шрифтов

  1. Копируем шрифты в какой-нибудь каталог (хотя лучше сразу привыкать к порядку - в /usr/local/lib/X11/fonts/test - test замените на какое-нибудь значащее имя)
  2. В этом каталоге выполняем команду mkfontdir - результатом которой будет файл fonts.dir
  3. Если надо создайте файл fonts.alias
  4. Попробуйте подключить шрифты вручную - xset fp+ `pwd`
  5. Проверьте шрифты xfd <имя-вашего-шрифта>
  6. Добавьте ваш каталог в файл OWfontpath
  7. Перезагружайте сервер - (это необязательно - только для проверки указания в OWfontpath) и наслаждайтесь.

Подключение Type1 (Postscript) шрифтов.

Подключение шрифтов Type1 производится аналогично за исключением следующих моментов: (например мы устанавливаем шрифты в каталог $DIR)
  1. Внимание! Шрифты должны быть в формате pfa/afm
  2. В каталог $DIR копируем все шрифты (*.pfa)
  3. Создаем каталог $DIR/afm и копируем туда метрики (*.afm)
  4. Создаем файл fonts.scale следующего формата:
    <число_шрифтов>
    имя_файла -полное-имя-шрифта-

    Причем все размеры (высота шрифта, dpi и т.д.) укажите нулями. И вместо koi8-r укажите koi8r-1 !!
  5. Запускаем команду mkfontdir - которая просто копирует fonts.scale в fonts.dir
  6. Запускаем команду makepsres
  7. Далее аналогично как и для растровых шрифтов
Правда далеко не все шрифты хотят работать с OpenWindows :(


При подготовке этой страницы использована информация предоставленная:
"Vladimir A. Pertsel" <voldemar@sagantec.co.il>


Eugene Bobin
$Id: fonts.html,v 1.2 1998/10/20 05:25:27 gene Exp $