[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Fwd: NEW charset!!! =?koi8-r?Q?=E2=D9=CC=CF?=: Re: KOI8]
>
> Сейчас логика выбора "входного енкодинга" в Xlib такая -
> - Если есть переменная _XKB_CHARSET, то берем значение оттуда
> - иначе - смотрим в "текущей locale"
>
> Естественно - плохо. Если я один раз задал этот _XKB_CHARSET в начале
> сессии, и по ходу хочу одно единственное приложение запустить с другой
> locale, то должен не забыть еще и отменить/переопределить _XKB_CHARSET.
>
> Если бы логика была такая -
> - если locale НЕ "C" то берем оттуда
> - если "C" - то пытаемся взять из _XKB_CHARSET
> - ну и если и это не прошло - то обычный encoding для "C" - STRING
>
> ... было бы намного лучше.
Да, думаю это было бы более оптимально.
> P.S. Пользуясь случаем - небольшой анонс -
> Я исправил/дополнил свою страничку по XKB.
> В понедельник будет на http://www.tsu.ru/~pascal/other/xkb/
> Новое -
> - полностью переписано - "Что делать с неправильными приложениями"
> (кстати, ache заметил мой "наезд" (или кто подсказал) и исправился :-)
Увы :-(, а мои замечания игнорирует, на страничке описаны не существующие
баги NN3: http://nagual.pp.ru/~ache/koi8/n3x11.html, а еще одного реального
нет. А я ему сам писал...
Кстати, а может ли кто по подробней рассказать об XLC_LOCALE ?
XLC_FONTSET
# fs0 class (7 bit ASCII)
fs0 {
charset ISO8859-1:GL
font KOI8-1:GL; ISO8859-1:GL
}
# fs1 class
fs1 {
charset KOI8-R:GR
font KOI8-1:GR
}
END XLC_FONTSET
Как я понял опытным путем, именно этот фонт и charset используется NN3 в
полях ввода, а что за функции используются для этого?
XLC_XLOCALE
encoding_name KOI8-R -- Это вроде понятно, но как связано с выше?
mb_cur_max 1 -- ??
state_depend_encoding False -- ??
А тут вообще не понятно, одном месте я нашел \x30000000, в другом \x00000080
#wc_encoding_mask \x30000000
wc_encoding_mask \x00000080
wc_shift_bits 7
use_stdc_env True -- А каком std. C env и где идет речь
force_convert_to_mb True -- ?
# cs0 class
cs0 {
side GL:Default
length 1
wc_encoding \x00000000
ct_encoding KOI8-R; ISO8859-1:GL
# ct_encoding ISO8859-1:GL
# ct_encoding KOI8-R:GL; ISO8859-1:GL
}
# cs1 class
cs1 {
side GR:Default
length 1
wc_encoding \x00000080
ct_encoding KOI8-R:GR; ISO8859-1:GR
}
Еще один ct_encoding - не совсем понятно, какой (charset, encoding_name или
ct_encoding) все же используется.
END XLC_XLOCALE
Но еще в одном файле я нашел:
ct_encoding KOI8-1:GR:\x1b-K
# ct_encoding KOI8-R:GR
# NOTE: Due to a bug, we should use KOI8-1...
Что дает \x1b-K ??? ( это файл идет с irix).
И еще, GR и GL - это намертво пришитые модификаторы, или же Xlib сам
разберется с ними? А вопрос возник вот почему: у меня команда
"strings /usr/lib32/libX11.so.1 | grep -i koi8" дает только 'KOI8-R:GR',
а 'KOI8-R:GL' нет - значит ли это что использовать последние нельзя?
Где бы почитать обзор, не вдаваясь в тонкости реализации, всех этих
настоек. Я смотрел на http://www.tsu.ru/~pascal/other/xkb/problems.html,
но все же там очень не много.
--
С наилучшими пожеланиями, Евгений Бырганов.
Best regards, Eugene Byrganov.
mailto:E.B.Byrganov@inp.nsk.su
work - http://www.inp.nsk.su/