Содержание
Подобно консольному режиму, X Window также требует некоторой настройки. Настройка включает в себя настройку ввода и установку шрифтов для X Window. Данные действия обсуждаются ниже.
Прежде всего, вы должны достать шрифты, содержащие изображения кириллических символов в соответствующих местах. Следует отметить, что все современные дистрибутивы имеют KOI8-R шрифты, более-менее пригодные для использования, так что если xlsfonts не показывает их, то они просто не установлены или не включены в X Font Path.
X Window включила набор KOI8-R шрифтов, разработанных Cronyx, ещё в конце 1995 года. Эти шрифты являются также частью XFree86.
Некоторые дистрибутивы (как правило, очень старые) могут не включать кириллические шрифты для X Window — в этом случае их придётся устанавливать самим.
Подробнее о шрифтах для X Window и о том, где их можно найти, смотрите в разделе “Шрифты для X Window”.
Более современную коллекцию шрифтов для X Window можно взять у Дмитрия Болховитянова по адресу пакет CYR_RFX.
Вам следует проверить, установлены ли эти шрифты в вашей системе. Спросите системного администратора, или, если вы сами являетесь администратором, проверьте вашу систему сами, а именно:
Выполните 'xlsfonts | grep -i koi8'. Если в результате выполнения команды появится список шрифтов, то ваш X сервер уже знает об их существовании.
Или наберите
find / -name crox*.pcf*
для того, чтобы найти местоположение шрифтов кириллицы в системе. Вы должны будете сделать эти шрифты доступными для X сервера, как — описано ниже.
Если вы не нашли таких шрифтов в вашей системе, то вы должны установить их сами:
Скачайте соответствующий набор шрифтов. Подробнее о шрифтах для X Window и о том где их можно найти можно посмотреть в разделе “Шрифты для X Window”.
Теперь, когда у вас есть шрифты, создайте для них каталог. Помещение новых шрифтов в уже существующий каталог шрифтов является, мягко говоря, не очень хорошей идеей. Поместите их, например, в /usr/lib/X11/fonts/cyrillic для настройки всей системы или просто создайте каталог у себя только для персонального пользования.
Если новые шрифты поставляются в формате BDF ( файлы *.bdf), то вы должны скомпилировать их. Для каждого шрифта выполните:
bdftopcf -o <font>.pcf <font>.bdf
Можете сжать их с помощью программы gzip или, если ваш дистрибутив X Window достаточно современный, с помощью bzip2, что даст небольшой выигрыш в степени компрессии:
gzip *.pcf
Если же вы все-таки хотите поместить новые шрифты в уже существующий каталог шрифтов, то вы должны "срастить" старый и новый файлы с именем fonts.alias в том случае, естественно, если они оба существуют.
В каждом каталоге шрифтов для X должен быть список шрифтов, находящихся в нем. Этот список хранится в файле fonts.dir. Вы не должны создавать этот список вручную. Вместо этого выполните:
cd "директория где лежат шрифты" mkfontdir .
Теперь надо сделать этот каталог шрифтов известным для X сервера. Здесь у вас есть ряд возможностей:
Общесистемная настройка для XFree86. Если вы используете эту версию X Window, то добавьте новый каталог к списку каталогов в файле XF86Config. Чтобы найти его расположение, просмотрите, что скажет startx при запуске (в RedHat этот файл обычно находится в /etc/X11). Более подробно смотрите man XF86Config (4/5).
Общесистемная настройка через xinit. Добавьте новый каталог к файлу запуска xinit. Более подробно смотрите xinit(1x).
Персональная настройка. У вас есть специальный файл для запуска X Window — ˜/.xinitrc (им также может быть ˜/.Xclients или ˜/.xsession)
xset +fp <новый каталог шрифтов> xset fp rehash
Обратите внимание на ключ '+fp' — это означает, что новые шрифты будут добавлены в начале списка каталогов со шрифтами. То есть, если прикладная программа запрашивает, скажем, шрифт fixed, то будет подставлен fixed font с кириллическими символами, чего мы и добивались. Если нужно установить шрифты в нескольких кодировках, то команда xset +fp с предпочтительной кодировкой должна быть после других.
Теперь перезапустите X Window. Если вы все сделали правильно, то тесты, описанные в начале раздела, будут пройдены успешно. Также поиграйте с xfontsel (1x), чтобы удостовериться в возможности выбирать шрифты кириллицы.
Чтобы заставить X клиента использовать шрифты кириллицы, вы должны установить соответствующий X ресурс. Например, я делаю кириллический шрифт заданным по умолчанию в моем ˜/.Xdefaults:
*font: 6x13
Так как мои шрифты кириллицы идут первыми в списке поиска шрифтов (смотри вывод программы 'xset q'), то они и подставляются, если программа требует какой-либо шрифт с именем, совпадающем с каким-либо из шрифтов, лежащих в кириллической директории.
Вот простые примеры. Если вы хотите научить соответствующий X клиент пользоваться кириллическим шрифтом, то вы должны узнать тип ресурса, который вам надо изменить (это можно сделать, используя editres (1x)) и определить его или в базе данных ресурсов, или в командной строке. Например,
$ xterm -font '-cronyx-*-bold-*-*-*-19-*-*-*-*-*-*-*'
запустит xterm с несколько уродливым шрифтом;
$ xfontsel -xrm '*quitButton.font: -*-times-*-*-*-*-13-*-*-*-*-*-koi8-*'
установит Cyrillic Times шрифт для кнопки Quit программы xfontsel.