20131014

винная магия, или чудеса в локальном вине

относится к: wine, locales

с каких-то (вероятно, незапамятных) времён wine научили реагировать на текущую пользовательскую локаль.
и если она, к примеру "ru_RU.UTF-8", то «на лету» происходит подстановка (или перекодировка, или ещё хрен знает что) локали "ru_RU.CP1251".
и для вызова «виндовой» программы с кириллическим интерфейсом уже не требуется переопределять локаль для отображения кириллицы таким вот образом:
$ LC_ALL=ru_RU.CP1251 wine <программа>

но у данного искусственно-интелектуального поведения (как обычно и бывает с и.и.) возникают подводные камни:
при вводе текста на «англице» вводится что-то типа "ЂЃ", а уж кириллица вообще заменяется по большей части пробелами.
что ещё более замечательно — происходить это может не во всех формах ввода (даже в пределах одной программы), а только в тех, где, вероятно, у поля ввода прописаны какие-то не совсем стандартные шрифтовые свойства.

вариантов обхода данного подводного камня два:
  1. сменить для пользователя умолчальную локаль на "en_US.UTF-8" и добавлять локаль при вызове wine (как написано выше).
  2. запустить winecfg и заменить приоритетность использования библиотеки usp10.dll с "native, builtin" на "builtin, native" или просто на "builtin".
p.s. только не спрашивайте меня, как я «дошёл» до второго варианта.
это «винная магия, или чудеса в локальном вине».

Комментариев нет: