FLTK - 2.0.x заголовок окна (Неправильная кодировка)

Модератор: Модераторы разделов

Obscurus
Сообщения: 177

FLTK - 2.0.x заголовок окна

Сообщение Obscurus »

Добрый день! Столкнулся с проблемой - в fltk2 в заголовке окна название отображается в неверной кодировке (latin1), хотя в целом utf-8 поддерживается нормально.
Вот такой пример:

Код: Выделить всё

#include <fltk/Window.h>
#include <fltk/Widget.h>
#include <fltk/run.h>

int main(int argc, char *argv[])
{
fltk::Window *window = new fltk::Window(300,180);
window->begin();
fltk::Widget *box = new fltk::Widget(20,40,260,100,"Превед!");
window->end();

window->label("Превед!");
window->show(argc, argv);

return fltk::run();
}


в боксе с буквами всё в порядке, а в заголовке что-то невнятное. Может быть нужно чего-то проинициализировать перед созданием окна? Какие-нибудь дополнительные настройки для оконного менеджера?
Спасибо сказали:
d_n_k
Сообщения: 636
ОС: Gentoo GNU/Linux

Re: FLTK - 2.0.x заголовок окна

Сообщение d_n_k »

твой диспечер окон умеет unicode ?

текст программы точно в unicode'е? (какая локаль)
все сказанное есть имхо...
Спасибо сказали:
Obscurus
Сообщения: 177

Re: FLTK - 2.0.x заголовок окна

Сообщение Obscurus »

Локаль выставлена в ru_RU.UTF-8 и все редакторы работают только в ней. С диспетчером проблем тоже не замечено, у всех других тулкитов окна нормальные, да и сам FLTK 2-й версии держит UTF-8, во всех диалогах кодировка правильная. Единственная коряга в заголовках.
Говорят, в версии 1.3 была такая же проблема, там обнаружилась бага с установкой WM_NAME вместо _NET_WM_NAME, но про двойку ничего такого не написано.
Спасибо сказали:
elshep
Сообщения: 26
ОС: Slackware64 13.1

Re: FLTK - 2.0.x заголовок окна

Сообщение elshep »

Приветствую! :console: Тоже решил посмотреть Фултик, и конечно же всплыла эта проблема! :(

Но не тут было! Исходники же доступны, и не долго думая полез ковырять их. Причина была обнаружена.
Я исследовал исходники fltk-2.0.x-r6671. В файле src/x11/run.cxx в функции void Window::label есть вызовы XChabgeProperty.
Первый раз они вызываются с параметром UTF8_STRING для _NET_WM_NAME и _NET_WM_ICON_NAME, но вторые вызовы уже идут с XA_STRING для XA_WM_NAME и XA_WM_ICON_NAME! После правки всё завелось!

Я сделал заплатку, скопируйте её в папку src/x11 и наложите командой

Код: Выделить всё

patch -p0 < run.patch


Изображение

На оф страничку я пока не рапортовал, хотя может и вряд ли буду -- у меня проблемы с английским :crazy:

Желаю Вам успехов в освоении Fltk!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:
Obscurus
Сообщения: 177

Re: FLTK - 2.0.x заголовок окна

Сообщение Obscurus »

Да, этот патч всё исправляет в лучшем виде. Спасибо! А репорт, я думаю, всё же послать надо - иначе там никто и не почешется чтобы поправить (они скорее всего и вовсе не знают).
Спасибо сказали:
elshep
Сообщения: 26
ОС: Slackware64 13.1

Re: FLTK - 2.0.x заголовок окна

Сообщение elshep »

Отправил описание бага разработчикам (http://www.fltk.org/str.php?L2201+P4+S0+C2+I0+E0+Q). Посмотрим, что ответят :crazy:

Заодно прикрепил крутую картинку :)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали: