Ключевые слова:wm, font, icewm, ttf, truetype, rus, (найти похожие документы)
From: Алексей Грачев <grach@bmstu.ru>
Newsgroups: email
Date: Mon, 25 Sep 2003 14:31:37 +0000 (UTC)
Subject: Настройка 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.