[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: wine и koi8
On Mon, 3 Apr 2000, Dmitry Timoshkov wrote:
> >Хочу. Кстати надо бы Unicode доделать, чтобы все функции преобразования
> >вызывали соотв. локалезависимые функции glibc. А локаль для Wine должна
> >быть, конечно, ru_RU.CP1251.
> Во-первых, забудь о libc. В libc/glibc sizeof(wchar_t) = 4,
> в Windows sizeof(wchar_t) = 2.
Кое-что в wine уже использует libc для конвертирования, но пока не все.
Как два байта превращаются в четыре, я точно сказать не могу, но как-то
это происходит :)
> Если очень заметная потеря производительности на конвертирование строк
> туда <-> сюда не аргумент, добавлю от себя что намучившись с установкой
> локали на ru_RU.CP1251 забил на это.
Я прочел про твои мучения. Ужас :) Но это все совершенно не нужно. См.
ниже.
> Т.к. все русские X-Windows приложения используют или koi8-r или ISO8859-5,
X Window
> то придется полностью от них отказаться из-за бНОПНЯ, СБЮФЕМХЕЛ. Например,
> KDE увидев русскую локаль сразу же пытается говорить по-русски на koi8-r.
Ну вот это-то точно не проблема. Никто не мешает ставить .CP1251 локально
для wine, а для всех остальных оставлять .KOI8-R. Что касается KDE и
других, то это их персональная кривизна - .mo файлы в koi8-r кодировке
надо класть не в /usr/share/locale/ru, а в /usr/share/locale/ru_RU.KOI8-R.
Тогда при локали, установленной в ru_RU.CP1251 они будут говорить
по-английски, если уж тебе хочется ставить ее глобально. Но это совершенно
не обязательно - в юниксах каждое приложение имеет свою копию окружения,
унаследованную от родителя. То, что изменено потомком, на предка не
влияет.
> Советую почитать wine-devel архивы с очень подробным обсуждением этой темы
> между мной и Ove Kaaven.
Прочел. И должен сказать, что я на его стороне :-)
> В настоящий момент я работаю над созданием и использованием NLS файлов,
> имеющих внутренний формат как в NT. NLS файлы с таблицами создаются на
> основе таблиц, взятых с ftp.unicode.org/MAPPINGS/*.txt.
> Программу, создающую NLS-подобные файлы я уже послал в wine-patches и
> теперь жду или появления ее в CVS, или замечаний от Alexandre Julliard.
Я бы предпочел ипользовать libc. И кроме того, что все-таки делать с
кодировками шрифтов, пока иксы не перешли на юникод? Мое предложение -
хранить кодировку (я даже знаю где, сейчас там пусто) и при необходимости
что-либо вывести неким шрифтом, сравнивать его кодировку с системной (из
LANG). Не совпадает - вызываем iconv. Не удается сконвертировать - выводим
как есть.
Я откросспостил это письмо в список рассылки, посвященный локализации
юниксов. Если интересно, подпишись. majordomo@sensi.org, subscribe locale
в теле письма.
Alexander
Homepage: http://www.musicland.spb.ru/ak/ - temporarily unavailable