[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: KSI Linux



Ivan Pascal wrote:

> > Это значит, что xkb перекодирует вводимый Cyrillic_* в код символа (в
> > конечном счете), учитывая текущую locale, использууя только те таблицы
> > перекодировки и charmap, которые прописаны в тестах Xlib. На настоящий
> > момент для кириллицы это - 8859-5 и KOI8-R .
>
>   А вот такой вопрос.
> Насколько я понимаю - "xkb перекодирует вводимый Cyrillic_* в код символа"-
> не совсем верно.
>   Перекодирует Xlib, "заточеная под" xkb (XKB-aware). При этом название
> charset она берет
> - из "переменной окружения" _XKB_CHARSET
> - или из описания "иксовой" locale - параметр encoding_name
>  Если собрана с XKB_EXTEND_LOOKUP_STRING, то
> - из "переменной окружения" _XKB_CHARSET
> - или из названия locale (если в названии locale нет названия кодировки,
> то ищет ее через lib/X11/input/charsets)
>
>   А все ли toolkit'ы используют Xlib? Или кто-то сам переводит Cyrillic
> в подходящие коды?

Именно так, я об этом писал в этот лист. Qt 2.0 делает это сам, так как хочет
работать аж с X11R4. Он определяет charset по _имени_ переменной LANG. Если
кодировка в ней указана, то смотрит на LC_CTYPE. Если не указана и там, то
смотрит в свои таблицы, содранные с locale.alias. То есть locale.alias зашит в
коды Qt.
В gtk не пошли так далеко, они претендуют только на поддержку X11R5, но
keysymdef.h подставляют свой.

Rgrds, Алексей.

P.S. Я все жду громкого окрика Хозяина: Off topic!