[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Где вы, знатоки локали?
> Столкнулся тут с такой ситуацией: после настройки всех локалей и
> xkb, перестал вводиться русский язык в xterm. Копание в исходнике показало
> на использование функции XmbLookupString ().
> А теперь внимание, вопрос: почему, при замене функции на "древний"
> XLookupString () ввод русских букв в xterm нормализовался? Судя по Паскалю,
> на XmbLookupString () влияет файлец XLC_LOCALE. Файлец взят у Чернова на
> сайте ( классы encoding_name и ct_encoding выставлены в KOI8-R ).
> Кто что скажет? Subj.
Это означает, что ... насчет "настройки всех локалей и xkb" вам только
показалось.
На самом деле, xkb или locale не настроены как надо (второе - более
вероятно).
Во всяком случае, мне известна одна ситуация, когда "древняя" XLookup*
работает как положено, а "модерновая" XmbLookup* - нет.
Это в том случае, если вы используете "хакерский" метод с подменой
локали "С" на koi8-r. Если при этом приложение не использует setlocale
или locale в системе настроена неправильно, то эффект будет именно таким.
Но заподозрить xterm в игнорировании setlocale трудно (если только у вас
не музейный экспонат). Значит - не настроена locale.
Проверьте моей программкой testXlc.
(Где ее взять, надеюсь, знаете).
P.S. "Судя по Паскалю" файлец XLC_LOCALE влияет на обе процедуры.
Только на XLookup влияет один из параметров внутри этого XLC,
а на XmbLookup - сразу несколько.
--
Ivan U. Pascal | e-mail: pascal@tsu.ru
Administrator of | Tomsk State University
University Network | Tomsk, Russia