[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Fw: X11 keysym to Unicode mapping
From: Ivan Pascal <pascal@info.tsu.ru>
>> Since the UTF-8 support in Xlib seems to be still
>> incomplete, UTF-8 has to be hardwired into xterm at the moment and
>> cannot yet be handled via the Xlib multi-byte locale string functions.)
> Вот это - очень мило. Вместо того, чтобы "добить" Xlib (а там utf8
> с таблицами уже есть), будут добавлять "hardwired" поддержку в отдельные
> приложения.
Я кстати заинтересовался этой таблицей и решил ее поискать.
Поскольку Qt 2.0 от Troll Tech многоплатформенная (X11/Win32)
вся внутренняя обработка текста у нее происходит в UNICODE.
Под это дело у них сделан специальный класс QString -
UNICODE-овая строка. Сверху все красиво. Поэтому было
весьма интересно посмотреть, как оно там взаимодействует с X11.
Вот, выкачал ftp://ftp.troll.no/qt/snapshots/qt-2.00beta-DATE.tar.gz
Смотрю, и постепенно прихожу в ужас. Таблицы я не нашел.
Может я неправ, кто копал Qt 2.0, покажите место.
1) Похоже Qt 2.0 ничего не знает про XKB
2) Qt ничего не знает про XPG Extensions и про
nl_langinfo(CODESET)
Поэтому Qt совершенно через через зад пытается
определить текущий Charset : разбором имени locale
вручную, всякими загадочными эвристиками и т.д.
Получив имя Charset, Qt строит таблицу прекодировки
(QTextCodec), получает байты через xmodmap и
для каждого байтика перекодирует байт --> UNICODE .
И это практически при том, что есть готовое 16-bit
значение XKB, которое преобразуется в UNICODE
как 1:1 .
P.S. Во, нашел старую переписку :
http://www.sensi.org/locale/msg00030.html
--
-=AV=-