[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: X'ы, "ескейп-секвесы" и ISO-IR-111
Hi!
> поддерживать _любой_ любой другой charset. Для этого необходимы
> две вещи :
>
> 1) Чтобы _имя_ charset-a было "зарегистрировано" и
> "широко известно" (также неплохо бы поддерживать alias-ы
> имен charset-ов
Нет проблем! :)))
Name: ECMA-cyrillic [RFC1345,KXS2]
MIBenum: 77
Source: ECMA registry
Alias: iso-ir-111
Alias: csISO111ECMACyrillic
> 2) Чтобы был известен mapping этого charset-a на UNICODE.
А разве mapping определяется названием чарсета?
Насколько я понимаю, он определяется стандартными названиями символов.
(Кстати, на твоих страничках сказано, что..
"В стандарте UNICODE кроме определенного изображения каждому
символу присвоено определенное имя". Вообще-то, имя присваивается каждому
символу еще в "INTERNATIONAL REGISTER OF CODED CHARACTER SETS".
Начинная с 1975г :-)
Вот по этим именам и можно построить любой "мэпинг".
И "any way" все буквы koi8-r и iso-ir-111 находятся на одних и тех
же "кодовых позициях". (А "псевдографика", вообще-то, к национальному
чарсету отношения не имеет).
> Я к чему клоню ? Что в настоящее время постепенно
> складыватся практика ссылаться на charset-ы ПО ИМЕНИ
> (как string). Например в заголовках MIME :
> Subject: Re: =?KOI8-R?Q?=C1?=
Я уже сказал. iso-ir-111 такой же стандарт, как и koi8-r.
И даже более стандарт, поскольку в отличии от koi8-r зарегистрирован
в International Register :-)
> Ну, спорить за charset-ы совершенно гиблое дело... Мне вот Windows-1251
> если честно признаться, вполне симпатичен. ;-) Порутчики, молчать! :-)
> Но это все совершенно _разные_ charset-ы. И соответственно, если
> ты хочешь породить *новый* charset, ты должен a) сделать mapping
Ты, наверное, невнимательно прочитал начало моего письма.
Это не *новый*, а "забытый старый". Причем забытый, как мне кажется,
незаслужено. Поскольку сейчас "братья славяне" начали курочить
koi8-r добавляя в него свои буквы (и "вытесняя" по мере необходимости
черновскую псевдографику). При этом, все эти буквы (и на тех же местах!)
уже определены и "застандартизованы" в iso-ir-111.
> Да, koi8-r в чем-то убогий (например нет EURO CURRENCY e.t.c.).
> Но он уже определен. И давайте его не будем трогать.Если
> уж очень хочется - RFC-2278 в руки и вперед ! ;-)
В смысле - "назад, к стандартам" :-)
> > Таким образом, "иксовый" koi8-r ("r" очевидно означает - restricted :-)
> >с одинаковым успехом можно считать как подмножеством Relcom's koi8-r,
> >так и IR-111.
Вот эту фразу просто хоть переписывай еще раз.
Тот чарсет, который в иксах ошибочно (!) называется koi8-r,
как морская свинка не имеет отношения ни к морю, ни к свиньям.
Его можно с одинаковым успехом считать как subset of iso-ir-111,
так и subset of koi8-r ("интренетовского").
То же можно сказать о koi8-u.
> Естественно, раз они не буквы то по-видимому их не пропустит
> X[mb|wc|]LookupString. Или пропустит ?
Ну, я могу для примера отослать тебя к исходникам Xlib.
Файл imConv.c , табличка _Xkoi8[]. На всех codepoint, кроме букв - нолики.
То же и с "фонтами".
> > Спрашивается - какая "добрая душа" воткнула в "иксы" esc-sequence
> >\033%/1\200\210koi8-r\002 ?
> >(к тому же неправильную, должно быть ...\200\211...)
>
> "Воткнул", IMHO ache. А насчет esc-seq то "из общих соображений"
> та, где явно содержится ИМЯ charset IMHO лучше. См. соображения
> выше. Опять же, такая схема расширяема (для новых charset-ов).
А вот нифига! Это может быть и лучше "из общих соображений".
Но, как я писал в "скипнутой" части, Xlib их в общем-то не понимает.
Лучшим доказательством является то, что последовательность для koi8-r
неправильная (не соответствут "иксовому" же стандарту на COMPAUND TEXT).
Если я вставлю в Xlib последовательность типа
\033%/1blin-blin-blin! для koi8-r, ничего принципиально не изменится.
Почему же оно все таки работает - надо углубляться в технические детали.
(Вообще-то, немного подробнее об этом я писал Новодворскому. Могу поискать,
если копия у меня сохранилась.)
Вообще-то, я и не собирался вообще "выкинуть" koi8-r. Тем более - из
Интернетовских стандартов.
Для начала можно было бы просто заменить sequence. С тем аргументом,
что "иксовый" koi8-r можно с одинаковым успехом считать subset'ом
как "релкомовского" koi8-r, так и iso-ir-111.
А второе, что хотелось бы - всеже совместить koi8-r и koi8-u.
Пусть это будет koi8-ru или просто koi8.
P.S. А может быть это вообще смысла не имеет? Unicode "смоет" все
эти "чарсеты".
--
Ivan U. Pascal | e-mail: pascal@tsu.ru
Administrator of | Tomsk State University
University Network | Tomsk, Russia