[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Локаль win1251
> > Надо "пропихивать" в XFree не "патчи для поддержки кодировки", а патчи,
> >которые позволили бы любой новой локали "жить отдельным пакетом".
> > Кстати, есть же такая вещь как iconv.
>
> Здесь есть такое обстоятельство. Довольно долго X Window System жила
> совершенно замкнутой жизнью, как ты верно где-то отметил, это была
> "операционная система внутри операционной системы". Поэтому ее
> интеграция с "системной" средой и "системной" locale до сих пор такая
> странная. И с другой стороны X-ы живут и на VAX VMS, и на Windows NT
> где POSIX locale просто нету. И эту независимость придется сохранить.
Я и не говорю, что добавление новых local'ей для Xlib можно (и можно будет)
делать только добавлением "системной" локали.
Все равно, для каждой новой локали понадобятся "иксовые" раскладки
клавиатуры и набор фонтов. Ну и XLC_LOCALE соответственно.
Но сейчас приходится добавлять еще и таблицы перекодировки и "вызовы"
этих таблиц в код самой Xlib.
А вот с этим надо бороться.
Все таблицы должны быть во внешних фалах - или текстовых, или в виде
модуля типа как для iconv (такой отдельный модуль, если четко оговорен
интерфейс может сделать любой заинтересованный програмер, не влезая в
"дебри" Xlib).
> Насколько в X-ах все другое, можно хотя бы из простейшено примера :
> названия Charset-ов в X "маленько" отличаются от libc.
Ну это можно обойти с помощью какого-нибудь charset.alias.
> А идея интеграции Xlib и iconv довольно здравая. Давай-ка кинем ее
> в i18n@xfree86.org .
Да можно пока не кидать. Единственный человек, который в XFree
реально работает над этим (Bruno Haible) и так уже пишет "иксовую" iconv.
> Более того, в настоящее время iconv и так сделан модульным, например
> для преобразования EUC-JP в UTF-8 нужно в /usr/share/iconv иметь .so
> модули EUC-JP.so и UTF-8.so . Это я говорю по впечатлению от iconv
> имени HPUX, как в glibc's iconv - не смотрел еще.
Кстати, даже не заглядывая в конкретную библиотеку, могу сказать,
что наверняка все модули используют в качестве универсального
промежуточного представления какой-нибудь уникодный wchar - UCS2 или UCS4.
--
Ivan U. Pascal | e-mail: pascal@tsu.ru
Administrator of | Tomsk State University
University Network | Tomsk, Russia