Чтобы это "uinicode" пахало - иногда нужно пару пинков. Если не лень прочтите следующее :
-------------------
HOWTO GTK1 with UTF8
Материал из Википедии - свободной
энциклопедии.
Стоит начать с того, что после дружного
перехода на Xorg версии 6.8.2 с версии 6.8.0
абсолютно у всех пользователей с
кодировкой ru_RU.UTF-8 начали вылазить баги
в отображении русских букв - либо
квадратики либо зючки. И начали люди
биться над решением задачи, и в конце
концов пользователи Fedora 2 надавили на
девелоперов Redhat, и те, проведя
исследования, нашли причины и способы
устраниея проблем.
Проблемы
* Неверно работает локаль ru_RU.UTF-8 во
всех версиях Xorg выше 6.8.0
* Неверно вычисляется метрика и resX +
resY для экранного разрешения 1280x1024
* Xorg "забил" на решение этих двух
проблем в принципе - баг в багзилле
есть уже полтора года
* Неверно работают метрики
непропорциональных TTF шрифтов (Arial итд)
Быстрое решение
Чтобы быстро пофиксить проблему, не
вникая в суть вопроса, установите
ебилд gtk1-utf8-fix-1.0.ebuild скачав его тут
https://fantoo.ru/svn/app-i18n/gtk1-utf8-fix/
Затем запустите etc-update или dispatch-conf для
обновления некоторых файлов в /etc/gtk
после этого убираем "вредные" файлы
cd ~
mv .gtkrc .gtkrc.old
mv .gtkrc.mine .gtkrc.mine.old
ВСЁ! Проверяем, запуская ваши
приложения:
xmms
gmplayer
scirbus
ardour
Исследование
Для начала нам необходимо понять суть
происходящего.
проанализировав содержимое каталога
ls /usr/lib/X11/locale/ | grep UTF-8
мы получим список:
el_GR.UTF-8
en_US.UTF-8
ja_JP.UTF-8
ko_KR.UTF-8
pt_BR.UTF-8
th_TH.UTF-8
zh_CN.UTF-8
zh_HK.UTF-8
zh_TW.UTF-8
Ага! Кодировки ru_RU.UTF-8 просто НЕТ!!! на
неё откровенно забили, оставив бедным
"руссиянам" на пропитание только en_US.UTF-8
Точка.
Далее, заглянув в каталог
ls /etc/gtk | grep UTF-8
мы не найдём ничего... попробуем по
другому
ls /etc/gtk | grep ru
и увидим
gtkrc.ru.koi8-r
gtkrc.ru_RU.iso88595
т.е. две никому не нужные кодировки
Теория
* Необходимо положить локаль ru_RU.UTF-8 в
/usr/lib/X11/locale/
* Потом заменить файлы в каталоге
/usr/lib/X11/locale/
compose.dir
locale.alias
locale.dir
на другие, более "правильные, в которых
уже указана ru_RU.UTF-8
* Потом положить в /etc/gtk правильно
названный файл с "правильно"
прописанными шрифтами, такой как:
/etc/gtk/gtkrc.iso-10646-1
и создать симлинка на него:
ln -s /etc/gtk/gtkrc.iso-10646-1 /etc/gtk/gtkrc.ru_RU.UTF-8
ln -s /etc/gtk/gtkrc.ru_RU.UTF-8 /etc/gtk/gtkrc.ru
* установить пакеты corefonts и terminus-font
* рестартовать Xorg.
Решение
Выполняем:
su -
cd /usr/lib/X11/locale/
mkdir /usr/lib/X11/locale/ru_RU.UTF-8
cp -v /usr/lib/X11/locale/en_US.UTF-8/*
/usr/lib/X11/locale/ru_RU.UTF-8/
rm /usr/lib/X11/locale/ru_RU.UTF-8/XLC_LOCALE
далее скачиваем файл
http://chronos.nsu.ru/fantoo/wiki/gtk1_utf8/XLC_LOCALE (ФАЙЛ БЫЛ
ОБНОВЛЁН!)
и копируем его в
cp -v XLC_LOCALE /usr/lib/X11/locale/ru_RU.UTF-8/
теперь удаляем "неправильные" файлы:
rm /usr/lib/X11/locale/compose.dir
rm /usr/lib/X11/locale/locale.alias
rm /usr/lib/X11/locale/locale.dir
далее скачиваем файлы
http://chronos.nsu.ru/fantoo/wiki/gtk1_utf8/compose.dir
http://chronos.nsu.ru/fantoo/wiki/gtk1_ ... cale.alias
http://chronos.nsu.ru/fantoo/wiki/gtk1_utf8/locale.dir
и копируем их в:
cp -v compose.dir /usr/lib/X11/locale/
cp -v locale.alias /usr/lib/X11/locale/
cp -v locale.dir /usr/lib/X11/locale/
Xorg теперь настроен!
....Теперь мучаем GTK1+
далее скачиваем файл
http://chronos.nsu.ru/fantoo/wiki/gtk1_ ... so-10646-1
и копируем его в
cp -v gtkrc.iso-10646-1 /etc/gtk
Теперь создаём симлинки:
ln -s /etc/gtk/gtkrc.iso-10646-1 /etc/gtk/gtkrc.ru_RU.UTF-8
ln -s /etc/gtk/gtkrc.ru_RU.UTF-8 /etc/gtk/gtkrc.ru
ну и последний шаг: заходим в домашний
каталог и выполняем:
cd ~
mv .gtkrc .gtkrc.old
mv .gtkrc.mine .gtkrc.mine.old
Последний шаг - установка шрифтов:
emerge corefonts
emerge terminus-font
далее редактируем /etc/X11/xorg.conf
в секции Section "Files" надо в начале
добавить 2 строчки
FontPath "/usr/share/fonts/terminus"
FontPath "/usr/share/fonts/corefonts"
Самое время перезапустить Xorg ...
Проверка
... и оценить полученные результаты.
Проверять будем в xmms и mplayer
запускаем xmms в любом Xовом терминале:
amax@localhost ~ $ xmms
Message: device: default
Message: fmt 5, channels: 2
не должно вылазить никаких ошибок.
заходим в настройки xmms устанавливаем в
трёх инпутах шрифт:
-xos4-terminus-medium-r-normal-*-*-120-*-*-c-*-iso10646-1
и включаем обе галочки:
* Use fontsets
* Use X font
в случае если xmms у вас собран с патчем
RUSXMMS то при открытии File Selector там должны
быть русские буквы в именах каталогов
и песен, а после добавления в плейлист
вы получите нормальные, автоматически
перекодированные теги
ВЫ МОЖЕТЕ взять ebuild ТУТ
https://fantoo.ru/svn/media-sound/xmms/
чтобы установить полное дерево ebuils
рекомендуется прочитать
http://wiki.fantoo.ru/index.php/HOWTO_Setup_Overlays
Далее. если мы запустим gmplayer в Xовой
консоли мы тоже не должны увидеть
никакой ругани.
amax@localhost ~ $ gmplayer
MPlayer 1.0pre7try2-3.4.4 (C) 2000-2005 MPlayer Team
CPU: Advanced Micro Devices Athlon 64 Clawhammer (Family: 8, Stepping:
Detected cache-line size is 64 bytes
MMX2 supported but disabled
SSE2 supported but disabled
3DNow supported but disabled
3DNowExt supported but disabled
CPUflags: MMX: 1 MMX2: 0 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 0
Скомпилировано для x86 CPU со следующими
расширениями: MMX SSE
vo: X11 running at 1280x1024 with depth 16 and 16 bpp (":0.0" => local
display)
85 аудио & 196 видео кодеков
Установка поддержки LIRC...
mplayer: could not connect to socket
mplayer: No such file or directory
Неудачное открытие поддержки LIRC!
Вы не сможете использовать Ваш пульт
управления
Примерно такой вывод. Во всех меню
должны быть НОРМАЛЬНЫЕ русские буквы!
Примечание: необходимо чтобы mplayer был
скомпилирован с USE=utf8
Заключение
Очень тревожит тот факт что решение
этой проблемы на официальном
http://forums.gentoo.org форуме так и не было
найдено...
делайте выводы, джентельмены..
Дополнительно
При установке экранного разрешения
1280x960 и 1280x800 характеристики resX и resY
вычисляются ПРАВИЛЬНО и шрифты не
коробит.
Получено с
"http://wiki.fantoo.ru/index.php/HOWTO_GTK1_with_UTF8"