[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