Настройка IceWM с поддержкой XFT (TTF шрифтов)

Основной целью написания этой статьи является проблема, с которой я столкнулся при установке(обновлении) оконного менеджера IceWM из коллекции портов.

[Алексей Грачев (grach@bmstu.ru)]

Настройка IceWM с поддержкой XFT (TTF шрифтов)

Основной целью написания этой статьи является проблема, с которой я столкнулся при установке(обновлении) оконного менеджера IceWM из коллекции портов. В моем случае это была замена версии 1.2.7 на 1.2.12.

По умолчанию IceWM собирается с использованием XFT, т.е. с включенной поддержкой шрифтов TTF, но при этом, если менеджер был сконфигурирован для работы с обычными шрифтами (cronyx в варианте koi8 или подобными), то вместо русских букв в названии вы увидите пробелы, а в логах X будет что-то вроде glyph not found.

В данной статье предполагается, что locale настроена на использование кодовой страницы KOI8-R и произведены операции по русификации консоли и X.

В качестве донора шрифтов было использовано творение фирмы Microsoft. Шрифты были скопированы в каталог /usr/X11R6/lib/X11/fonts/TrueType, но для того, чтобы ими воспользоваться, необходимо создать файлы с их описанием (fonts.dir, fonts.scale). Для этих целей предназначена программа ttmkfdir, которую можно найти в коллекции портов.

Установим ttmkfdir:

cd /usr/ports/x11-fonts/ttmkfdir
make
make install
Далее создаем необходимые для работы X-сервера файлы:
cd /usr/X11R6/lib/X11/fonts/TrueType
ttmkfdir > fonts.dir
cp fonts.dir fonts.scale
В конфигурационный файл etc/X11/XF86Config в секцию Section "Module" добавляем строку:
    Load 	"freetype"
которая позволит использовать TTF шрифты, соответственно в секцию Section "Files" добавляем строку:
    FontPath   "/usr/X11R6/lib/X11/fonts/TrueType/"
Теперь необходимо запустить X.

Открываем xterm и запускаем xfontsel. Можем увидеть, что необходимые нам шрифты появились в системе и их можно использовать.

Далее редактируем конфигурационные файлы IceWM. Необходимо помнить, что настройки шрифтов заданные в файле prefrences могут быть переопределены в свойствах Тем(themes), т.е. в файлах вида default.theme или имя_предустановки.theme.

В результате должно получиться что-то вроде:

TitleFontName="-monotype-arial-bold-r-*-*-*-100-*-*-*-*-koi8-r"
MenuFontName="-monotype-arial-bold-r-*-*-*-100-*-*-*-*-koi8-r"
StatusFontName="-monotype-arial-bold-r-*-*-*-100-*-*-*-*-koi8-r"
FxFontName="-monotype-arial-bold-r-*-*-*-100-*-*-*-*-koi8-r"
QuickSwitchFontName="-monotype-arial-bold-r-*-*-*-100-*-*-*-*-koi8-r"
NormalButtonFontName="-monotype-arial-bold-r-*-*-*-100-*-*-*-*-koi8-r"
ActiveButtonFontName="-monotype-arial-bold-r-*-*-*-100-*-*-*-*-koi8-r"
NormalTaskBarFontName="-monotype-arial-bold-r-*-*-*-100-*-*-*-*-koi8-r"
ActiveTaskBarFontName="-monotype-arial-bold-r-*-*-*-100-*-*-*-*-koi8-r"
Все. Осталось только перезапустить IceWM.

Оригинал статьи расположен по адресу: http://www.opennet.ru/base/X/icewm_ttf.txt.html.

[ опубликовано 27/11/2003 ]

Алексей Грачев (grach@bmstu.ru) - Настройка IceWM с поддержкой XFT (TTF шрифтов)   Версия для печати