Заработай на задачках

Была у меня такая проблема : не хотел печатать русские буковки ratpoison в своих сообщениях, проблема в общем-то несущественная, но всё же проблема. Тут делать мне было нечего и я её захотел решить. Скачал PKGBUILD c исходниками. И начал в них копошится. Немного расскажу об этом действе:

Расставил волшебных printf’ов и заметил, что строка, которая выводится на экран, printf’ом выводится с русскими символами, а на экране – кракозябры. Стал искать эту злостную функцию, которая выводит строку на экран и нашел её: в файле globals.c rp_draw_string().

Немного помедитировал и собрал ratpoison с опцией –without-xft

Теперь у меня есть ratpoison, который нормально выводит русские буквы в своих сообщениях.

Если вы нашли другой способ – просьба написать его. :)

Русские буковки и ratpoison: 2 комментария

  1. staunch_thomas on 23.01.2011 at 18:50 пишет:

    Спасибо за наводку.
    Другой способ следующий: в файле globals.c в функции rp_draw_string() есть вызов функции XftDrawString8(), который срабатывает, если Ratpoison скомпилирован с поддержкой XFT (X FreeType — такая библиотека для отрисовки векторных шрифтов). Эта функция не понимает строки UTF-8 (как у меня в системе). Поэтому я заменил её на вызов функции XftDrawStringUtf8() и перекомпилировал Ratpoison (опять же с поддержкой XFT). После этого у меня Ratpoison пишет русские буквы с своих сообщениях. В библиотеке XFT ещё есть функции XftDrawString16() и XftDrawString32() для UTF-16 и UTF-32 соответственно.

  2. jukovec-oo on 24.01.2011 at 17:12 пишет:

    и вам спасибо )

Я буду очень рад комментарию!

Не переживайте, e-mail нигде не отображается. Обязательные поля помечены *

Навигация по записям