Добавить в избранное | Сделать стартовой страницей

Большая Linux библиотека для пользователей OS Linux и ПО для нее
Есть что сказать? Нужен совет? Посети наш форум.




Unicode-шрифты в KDE: mini-HOWTO.

<>Информация для людей, использующих TreuType шрифты (через freetype в XFree 4.x), но не использующих antialiasing по тем или иным соображениям (например, мне не нравится, как выглядит antialiased текст).

Вы могли видеть, что при отображении в konqueror русских web страниц (как в кодировке koi8-r, так и в кодировке windows-1251) вместо длинного тире и некоторых других символов все-таки возникают вопросительные знаки. Это связано с тем, что для отображения страниц используется шрифт в кодипровке koi8-r (страницы в 1251 предварительно перекодируются), а такие символы отсутствуют в кодировке koi8-r и поэтому Qt заменяет их на вопросительные знаки. Однако, в наиболее широко используемых TTF шрифтах - например, шрифтах из Woindows - символы таки присутствуют. Для того, чтобы они отображались правильно, нужно объявить шрифты не как koi8-r, а как iso10646-1 (т.е. юникод).

Freetype позволяет один и тот же ttf файл подключить с несколькими кодировками. Например, в файле fonts.dir в каталоге с TTF шрифтами могла быть строка times.ttf -ttf-times-medium-r-normal--0-0-0-0-p-0-koi8-r Тогда шрифт, находящийся в файле times.ttf доступен, становится доступен в X под указанным XLFD-именем и рассматривается как шрифт с кодировкой koi8-r. Если добавить в fonts.dir строку times.ttf -ttf-times-medium-r-normal--0-0-0-0-p-0-iso10646-1 то тот файл times.ttf породит еще один шрифт, доступный в X, но имеющий кодировку Unicode.

После того, как X серверу станут доступны ttf шрифты в unicode, легко заставить KDE использовать для отображения русских текстов именно их. Тогда вопросики вместо длинных тире исчезнут. Для этого в файле $KDEDIR/share/config/charsets (который в зависимости от дистрибутива может быть расположен и где-то еще, например в Debian это /etc/kde2/charsets) в разделе

[charsetsForEncoding]
следует указать
koi8-r=unicode
koi8-u=unicode
iso 8859-5=unicode
cp 1251=unicode
Можно оставить и старые варианты, но тогда unicode надо подставить на первое место.

Надеюсь, что эта информация окажется полезной. Если есть вопросы, со мной можно связаться по адресу



Обсудить данную тему на нашем форуме "Все о Linux"