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

Re: KSI Linux



Добрый день!
 

Эта тема  (про русификацию X)- явный offtopic. Настоящее письмо - просто еще одно приглашение к обсуждению. Далее участникам такого обсуждения надо мигрировать в частную переписку или создавать свой  список рассылки. Предложения принимаются.
Alexander L. Belikoff wrote:

aen <aen@logic.ru> writes:

> > Аргументация типа "криво и сбоку" не убеждает. X заточен под разные
> > кодировки. Чем же KOI8-R хуже других? Чем она более "сбоку" нежели
> > latin-5?
>
> Только тем, что она не поддерживается X Consortium, а только XFree и,
> соответственно, не имеет стандартной ESC-sequence (используется
> временная). Это отдельная тема, при желании могу подробнее.

Ага, желание есть. :-) Равно, как и миллион вопросов.

Первым делом введём систему координат ( = моих ущербных знаний)

I. Я знаю, что:

1. В X языковые символы определены в X11/keysymdef.h, как абстрактные
   числовые коды, не привязанные к конкретным кодировкам.

Да.
 

2. Символы в шрифтах (по крайней мере BDF) привязаны к кодам из
   keysymdef.h

Нет.  По крайней мере в моих bdf :-)  Они привязаны к кодировке.
 

3. Вводом ведают Xkb и/или xmodmap. Про первый я мало что знаю.
   Второй переводит скан-коды в keysym-коды и ему глубоко наплевать
   какие keysym'ы он будет генерить. Ergo - задав перевод во всякие
   там agrave/umlaut, получим ввод в KOI8.

xmodmap - плохое название, - это просто таблица перекодировки клавиатуры, которая используется в равной степени в xkb. Ошибка пошла из сообщений программы xf86config. Правильно - core protocol.
Если еще точнее - вводом занимается XIM (X Input Method).
 

4. Аналогично, имея шрифт с кириллицей на месте букв с кодами КОИ8, и
   выводя текст в KOI8, получим KOI8 вывод.

Да, если вводимые буквы  мапированы на коды latun1.
 

>
> >
> >
> > Похоже, автор пытается решить проблем попросту сделав вид, что её не
> > существует. У меня нет особых претензий к идее иметь в ru_RU по
> > умолчанию ISO, но это совершенно не значит, что пользователю нельзя
> > будет переключаться на KOI и/или cp-1251. Вообще, используя locale
> > достаточно трудно напортачить так, чтобы программа была заточена
> > только под, скажем, ISO...
>
> В XFree проблема ровно та, что поддерживаются только 8859-5 и KOI8-R.

Что значит "поддерживаются"?

Это значит, что xkb перекодирует вводимый Cyrillic_* в код символа (в конечном счете), учитывая текущую locale, использууя только те таблицы перекодировки и charmap, которые прописаны в тестах Xlib. На настоящий момент для кириллицы это - 8859-5 и KOI8-R .
 

> Вопрос включения других кодировок - дискуссионный. Кстати, страдаем не
> только мы, но и восточная Европа, которая страстно хочет 1250 в XFree.
> Высказывайте мнения, - я готов внести в Xlib любую кодировку
> _без_ущерба_ для других (в отличе от KSI).

В свете моей неграмотности, в чём заключается "внесение" кодировки в
Xlib?

В дополнении исходных текстов таблцами и просто "знанием " о новой кодировке .
 

> Это не вполне так, точнее, просто не так. В X предусмотрены _все_
> механизмы для многоязыхих wordprocessors, с Unicode или без. Но это
> отдельный разговор.

Если можно, детали?..

Вы можете перекодирвоать вводимый символ в Unicode, в Xlib есть соответствующие таблицы.

Я написал о некоторых деталях в статье: http://www.iplabs.ru/Linux/Article/index.html

 
Там местами конспективно, так что жду вопросов и предложений.
 
 
Rgrds, Алексей Новодворский.