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

Re: XFree 4.0.1



> Ivan Pascal wrote:
> 
> >   Хотел в одно из своих писем вставить, но забыл.
> >   Все в курсе, что XFree 4.0.1 вышел?
> >
> 
> Да, и с  нетерпением ждем от Вас комментарий :-)

  Каких? :-)
  Я копаюсь в своем углу. Что делается в других - не знаю.
Да и "сапожник без сапог" - не поддерживают они мою "старую глючную карточку".
Поэтому запускаюсь в жутком режиме, чтобы только клавиатуру потестировать.

  Я подправил пачку багов в серверной части XKB
- радиогруппы теперь можно нумеровать с 1 (но кому это интересно?)
- action SetControls теперь работает (я ее пытался использовать в своих
примерах, но "обломился", да еще кто-то в xfree86 спрашивал об этом.
Теперь можно ее использовать).
- поправил action RedirectKey (опять же - кому это надо?)
- самое существенное, пожалуй - не работал запрет автоповтора для отдельной
клавиши (ни в xkb, но в core. Просто код был расчитан на то, что умные
клавиатуры ("писишная" к ним не относится) сами на уровне "железа" умеют
это делать). Теперь вроде работает.

  Был баг в выборе конфигурации xkb из XF86Config (в 4.0). Реально можно
было использовать только rules/model/layout (и ни дай бог указать еще и keymap).
Теперь логика такая -
- если есть keymap - берется из нее
- иначе - "вычисляется" из rules'ов (если не указаны, используются default'ы)
- если указаны отдельные компоненты (keycodes, symbols, compat и т.п.),
то они "переписывают" то, что вычислено из rules.
  На самом деле и это не совсем правильно. Но объяснять - лень.

  Подправил конверторы CTEXT на предмет кодов C1.
Теперь нестандартные кодировки (типа cp1251 или cp866) будут проходить
"прозрачно". (А в остальные конвертеры и так прозрачны для C1.)

  Очередной раз переписал imConv. :-) Убрал оттуда все esc-sequences.
Теперь можно наши нестандартные кодировки вообще убрать из таблиц Xlib
и описывать их в XLC_LOCALE.
  Единственное место, где приходится держать locale depended таблицы -
это процедурка перевода keysym в восьмибитные char.
  Но я их оттуда тоже уберу и останутся только таблицы UCS->charset
в lcUTF8. Вот туда и только туда надо будет добавлять что-то.
(Я хотел еще обойтись и без этого и сделать таблицы подгружаемыми из текстовых
файлов или использовать iconv, в тех системах, где она есть. Но работа
оказалась сложнее, чем казалась в начале. Делать буду, но не очень быстро.)

  "Допинал" Bruno на исправление его UTF8 (там были т-а-а-кие баги).
Что из этого получилось - я уже писал. Xedit работает в UTF8, только фонты
ему надо не уникодные, а JIS.

  Кстати. Когда я ему написал, что неплохо бы "подхачить" Xlib, чтобы
X[mb|wc]LookupString могли использовать уже имеющиеся уникодные шрифты, он
мне ответил, что
  это только малая часть незаслуживающая внимания, потому, что надо еще
 - для Hebrew автоматически менять направление на right-to-left
 - для Arabic автоматически рисовать лигатуры
 - для Thai комбинировать accents
 - для Devanagary - автоматически комбинировать vowels и consonants
 - для CJK уметь выбирать глифы, совпадающие с европейскими, из тех или иных
фонтов
 - и т.д.
  Короче - надо брать Pango и dynamically load ее в Xlib.

  Поэтому я хочу спросить у всех - кто-нибудь знает - как с этим обстоит
дело в других "мультилингва" программах?
  Действительно работает?
  (Хотя бы Hebrew и Arabic.)

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