[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Fw: X11 keysym to Unicode mapping
Ivan Pascal wrote:
>
> > From: Ivan Pascal <pascal@info.tsu.ru>
> > >
>
> Вот и приходится "тулкитам" (если они хотят узнать что-то типа
> encoding_name) или проходить весь путь самостоятельно (читать locale.dir,
> locale.alias, сопоставлять, находить файл, "парсить" его)
> или "городить" что-то свое. Что и сделано в Qt.
В Qt это сделано в основном для поддержки других Unices и старых X. Мы
уже, помнится, говорили, что указанный Александром спосбо определения
charset есть далеко не всюду. То же - и с Xlocale, о чем пишет Иван. Qt
таким отвратительным способом решает задачу определения текущего charset
и (вот это - очень здорово!) подбирает нужные фонты, что закрывает для
ее приложений проблему первой строки в XF86Config (или в config xfs).
>
> Самое интересное в том, что куча функций, дающих нужную информацию,
> в Xlib есть. Пример тому - моя testXlc (но, как не трудно заметить,
> она использует пару "приватных" "хидеров" из Xlib).
> Надо только сделать их "публичными" (или добавить "враперы" к ним).
>
> А вот кто это может решить?
Решается просто. Вы становитесь XFree developer (напишите письмо Пете
Новодворскому petya@logic.ru, он расскажет, как это оформить) и шлете
патчи. Я напишу про Вашу заявку Dirk Hohdell, чтобы вопросов было
меньше. Вы получаете доступ к CVS (они просят не распространять
содержимое, мне мой сын его не показывает:-)), пишете в их mailing list
и шлете патчи. Если совсем неохота это делать, -- шлите патчи Пете, он
проверит, адаптирует и пошлет (как Ваши, of course), но скорость будет
зависеть от его успеваемости :-)
>
> > И это практически при том, что есть готовое 16-bit
> > значение XKB, которое преобразуется в UNICODE
> > как 1:1 .
> Угу. И процедура преобразования в Xlib есть. Но, опять же - приватная.
> А вот как заставить "публичные" (типа X[mb|wc|]LookupString) вызвать
> именно ее (и потом еще не "испаганить" ее выдачу) - я так и не понял.
>
> P.S. Александр. Я тебе отправлял письмо с просьбой о помощи.
> Ты его читал? Или как?
> (Я спрашивал - может ли команда locale и процедурка setlocale показывать
> разные значения? И если да, то - почему?)
Извините, что вмешиваюсь, но, увы, может. Например, елси в locale.alias
(от glibc)
russian ru_RU
и LANG=russain (остальное unset), то locale покажет russian, а setlocale
-- ru_RU. Так было, по крайней мере, в glibc 2.07, я писал об этом сюда.
А вот бага это или фича?
>
Rgrds, AEN