[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=-