[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