Типы шрифтов
В Solaris 2.6 используется OpenWindows 3.6 соответсвующая X11R6,
соответственно если вы имели опыт работы с X11 то многое вы уже знаете.
Итак, OpenWindows поддерживает основные виды шрифтов:
-
Растровые (.bdf, .pcf)
-
Масштабируемые - Type1 (.pfb, .pfa) и TrueType (.ttf)
Наименования шрифтов - 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 q - Показывает текущие настройки Х сервера, в том числе и
fontpath
-
xset <fp+ | +fp> <имя_каталога_с_шрифтами> - добавляет указанный
каталог в fontpath, после этого становятся доступными шрифты находящиеся
в заданном каталоге.
-
xset <fp- | -fp> <имя_каталога_с_шрифтами> - удаляет указанный
каталог из fontpath.
-
xlsfonts - показывает список шрифтов находящихся с каталогах указанных
в fontpath. Так как этот список, обычно, очень большой, то xlsfonts
используется с командой grep. Например команда xlsfonts
| grep koi8 | grep helvetica покажет вам все шрифты с гарнитурой
helvetica в кодировке KOI8.
Примечание: обратите внимание на префиксное и постфиксное написание
команды xset:
xset +fp /dir - добавляет /dir в начало
fontpath
xset fp+ /dir - добавляет /dir в конец fontpath
Таким образом можно подставлять свои шрифты, так как список шрифтов создается
на порядке расположения каталогов в fontpath и при поиске используется
первый найденный.
Где и как задавать fontpath
Добалять каталоги с шрифтами, в fontpath можно несколькими способами.
- Путем указания каталогов с шрифтами в файле
/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).
- Указанием команды xset в файле /usr/openwin/lib/Xinitrc
(про xset см. выше)
- Указанием каталогов или сервера шрифтов в каталоге
/usr/openwin/lib/X11/fontserver.cfg
Подробнее о сервере шрифтов см. fs(1)
Примечание 1: В конце файла OWfontpathдолжен быть перевод
строки, иначе ничего не получится.
Примечание 2: По умолчанию в каталоги указанные в файле OWfontpath
добавляются в конецfontpath, если вам необходимо добавить их в начало
fontpath, то просто добавьте пустую строку в начало файла OWfontpath.
Примечание 2: Для всех вышеуказанных файлов можно указать локальный
вариант в своем домашнем каталоге. Таким образом каждый пользователь может
настроить себе окружение как хочет, не прибегая к услугам администратора.
Более правильно говоря:
- Глобальные файлы используются для system wide настройки.
Раз и навсегда :)
- Локальные соответсвенно для дальнейшей настройки, для тестирования
или же в тех случаях когда у вас нет доступа к системным каталогам.
Глобальное имя |
Локальное имя |
/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.
Подключение растровых шрифтов
- Копируем шрифты в какой-нибудь каталог (хотя лучше сразу привыкать к порядку
- в /usr/local/lib/X11/fonts/test - test замените на какое-нибудь значащее
имя)
- В этом каталоге выполняем команду mkfontdir - результатом которой будет
файл fonts.dir
- Если надо создайте файл fonts.alias
- Попробуйте подключить шрифты вручную - xset fp+ `pwd`
- Проверьте шрифты xfd <имя-вашего-шрифта>
- Добавьте ваш каталог в файл OWfontpath
- Перезагружайте сервер - (это необязательно - только для проверки указания
в OWfontpath) и наслаждайтесь.
Подключение Type1 (Postscript) шрифтов.
Подключение шрифтов Type1 производится аналогично за исключением следующих
моментов: (например мы устанавливаем шрифты в каталог $DIR)
- Внимание! Шрифты должны быть в формате pfa/afm
- В каталог $DIR копируем все шрифты (*.pfa)
- Создаем каталог $DIR/afm и копируем туда метрики (*.afm)
- Создаем файл fonts.scale следующего формата:
<число_шрифтов>
имя_файла -полное-имя-шрифта-
Причем все размеры (высота шрифта, dpi и т.д.) укажите нулями. И вместо
koi8-r укажите koi8r-1 !!
-
Запускаем команду mkfontdir - которая просто копирует fonts.scale
в fonts.dir
-
Запускаем команду makepsres
-
Далее аналогично как и для растровых шрифтов
Правда далеко не все шрифты хотят работать с OpenWindows :(
При подготовке этой страницы использована информация
предоставленная:
"Vladimir A. Pertsel"
<voldemar@sagantec.co.il>
Eugene Bobin