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

Re: [Fwd: NEW charset!!! Было: Re: KOI8]



Ivan Pascal wrote:
> 
> > >   Более правильным было бы если бы оно действовало только если locale - "C".
> > ??? Вот это просто непонятно. А если я хочу в 8859-5 писать? И
> > StarOffice тогда при locale ru_RU.KOI8-R не запустишь
> 
>   Так. Кто-то кого-то не понял. :-)
> 
>   Сейчас логика выбора "входного енкодинга" в Xlib такая -
> - Если есть переменная _XKB_CHARSET, то берем значение оттуда
> - иначе - смотрим в "текущей locale"
> 
>   Естественно - плохо. Если я один раз задал этот _XKB_CHARSET в начале
> сессии, и по ходу хочу одно единственное приложение запустить с другой
> locale, то должен не забыть еще и отменить/переопределить _XKB_CHARSET.
Да.
> 
>   Если бы логика была такая -
> - если locale НЕ "C" то берем оттуда
> - если "C" - то пытаемся взять из _XKB_CHARSET
А зачем нужно устанавливать чужую locale при своей кодировке? Внутри
программы это иногда оправдано, в системе -- сомнительный трюк, ничем
принципиально не лучше предыдущего случая. К тому же, установка
_XKB_CHARSET тоже не всегда помогает.
Мне не очень нравится любое действие, которое требует явной внешней
(т.е. не из программы) установки environment variable, особенно если она
начинается с подчеркивания. 

> - ну и если и это не прошло - то обычный encoding для "C" - STRING
> 
> ...  было бы намного лучше.
> 
>   "Правильные" приложения брали бы encoding откуда нужно - из locale (LANG),
> общей для всей сессии или той, что вы установили специально для данной
> "апликухи".
>   А "неправильным" можно было бы подсунуть принудительно нужный encoding,
> даже если они и "забыли" посмотреть на LANG.

Много ли осталось "неправильных" программ, которые мы не можем
исправить? Навскидку я могу назвать лишь Star Office, да и у того должны
открыть тексты. Трудно (точнее -- неприятно) лечить Applix. Если есть
другие проблемы -- давайте перечислим и решим.

> 
>   Как я уже сказал - если LANG=C, то ...
> >> В большинстве случаев это означет не то, что приложению нужна действительно
> >> default locale, а просто оно ее не установило.
>   Ну или "юзер" не настроил locale.
Да. Последнее -- вина юзера, если он занимается Unix профессионально или
берет его в сомнительных местах. Все современные дистрибутивы
устанвливают locale в процессе установки.
> 
> P.S. Пользуясь случаем - небольшой анонс -
>   Я исправил/дополнил свою страничку по XKB.
> В понедельник будет на http://www.tsu.ru/~pascal/other/xkb/
> Новое -
>  - полностью переписано - "Что делать с неправильными приложениями"
> (ксати, ache заметил мой "наезд" (или кто подсказал) и исправился :-)
>  - добавился небольшой обзорчик - "программы, имеющие отношение к XKB"
>  - ну и исправил "рекомендации по настройке" в связи с тем, что теперь
> переключатель групп надо "заказывать явно" даже если это CapsLock
> 
Ждем!
Rgrds, AEN