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

Re: Локаль win1251



From: Ivan Pascal <pascal@info.tsu.ru>


>  Но сейчас приходится добавлять еще и таблицы перекодировки и "вызовы"
>этих таблиц в код самой Xlib.
>  Все таблицы должны быть во внешних фалах - или текстовых, или в виде
>модуля типа как для iconv

 Ну дак и давай эту идею пропихивать. Идея-то здравая.

  Но мне кажется, надо это делать в несколько этапов : все-таки выпустить
для начала патчи под XFree86 3.3.5 под NN штук работающих X locale в
комплекте с работающими системными locale. Хотя бы для российского
употребления и оттестировать идеи.  А потом поставить вопрос : хотим
_подключаемые_ модули ! И реализовать это в XFree86 4.0 .

 В свое время А.Чернов не побоялся оппортунистически ввести патч для
KOI8-R в CTEXT. Так все на нем и живут. :-)

 UNICODE, это конечно хорошо. Но никто 8-ми битные charset-ы не отменял
и как показывает практика, в 97% случаев они гораздно удобнее.

>  Более того, в настоящее время iconv и так сделан модульным, например
> для преобразования EUC-JP в UTF-8 нужно в /usr/share/iconv иметь .so
> модули EUC-JP.so и UTF-8.so .
>
>модули используют в качестве универсального
>промежуточного представления какой-нибудь уникодный wchar
> - UCS2 или UCS4.

  Ну похоже, да.

  Кстати, довольно здравая идея делать всякие загружаемые
модули в формате ld.so . Тогда линкер их сам куда надо подключит и
всякие внешние ссыки отрезолвит. Например в новых Солярисах даже
"объекты локализации" типа LC_CTYPE - это на самом деле 32-Bit ELF
Shared Object. И тогда setlocale(3) реализуется сильно проще и
унифицировано (через ld.so, а тот уже через mmap). А localedef - это
будет на самом деле препроцессор для cc. :-)

 Непонятно, почему в glibc не так. Надо Ulrich-у идею подкинуть.

--
-=AV=-