[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