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

Re: А может ну ее нафиг, эту Xkb.




>  Как я понял, изначально XKB придумали японцы и для японцев.
  Это с моих слов? Или сам догадался? :-)

  Я говорил, что
- input method'ы в Xlib и X[mb|wc]LookupSyring "придумали японцы и для японцев"
- XKB написан неким Eric Fortune и Copyrigh'ы в файлах стоят
Silicon Graphics.
  (Я в географии не силен. Silicon Graphics - это в Японии?)

> И если понять, как например устроен их JIS и ShifJIS, то XKB
> становится не такой уж пугающей, общая ммм... идеология
> прослеживается. :-) Но по большому счету эта архитектура
> получается довольно плохо заточена под MultiLingual. Например,
> сделать греческий+русский+западноевропейский в одной
> программе, если стоит LANG=ru_RU.KOI8-R -- сложно.

  Так и не надо. На это и есть Unicode.

>  По-видимому, есть и другая крайность -- самим ловить event-ы,
> начихать на LANG и XmbLookupString. Благо табличка
> соответствия XKB --> UNICODE имеется. Но это как-то уж
> совсем радикально.

  Кстати, в последней XFree (скоро выйдет 4.0.1) уже почти работает utf8.
Во всяком случае в xedit. Если locale en_US.UTF-8, а в "ресурсах"
указано - "*international: TRUE", то он
- вводит любые буквы (Latin, Cyrillic, Greek)
- сохраняет файл в utf-8
- ессесно, может его потом прочитать
- "выделения" между двумя xedit таскаются без проблем
  Вот только с отображением проблемы :-)
В "иксовой" en_US.UTF-8 указаны фонты для JIS и GB. К счастью, они имеют
и кириллицу и греческий. Но очень уж тяжелые - при старте xedit Xserver
просто замирает на несколько секунд.
  Можно сочинить свою локаль для ru_RU.UTF-8 и указать там шрифты koi8.
Но тогда и будем иметь только то, что в них рисуется.
  И хотя в дистрибутиве уже куча фонтов (-misc-*) уникодных, но вот они то
и никак не вяжутся с уникодной локалью. :-)
(Прелесть этих фонтов еще и в том, что в них как-раз нет иероглифов. Только
разнообразная латиница, кириллица, греческий, еврейский и "служебные символы".
Так что эти шрифты сравнительно "легкие".)

  Да. Самое интересное, не то, что xedit работает.
Он достаточно примитивен и в основном работает текстовый виджет из Xaw.
То есть, по идее должна работать любая программа, которая не "умничает",
а просто использует Xaw'овские виджеты.

  Ну, а что касается прикручивания уникодных фонтов, то - будем работать.
В 4.0.1 уже не успеем, а к следующей надеюсь будут.

  Вот только после этого должен начаться новый этап "допинывания".
Если раньше софт "допинывали" на выставление setlocale и использования
X[mb|wc]LookupString. То теперь надо будет всех заставлять и для вывода
использовать X[mb|wc]DrawString или использовать стандарные виджеты
(да еще как и с setlocale - не забывать делать их international).

-- 
 Ivan U. Pascal         |   e-mail: pascal@tsu.ru
   Administrator of     |   Tomsk State University
     University Network |       Tomsk, Russia