2017年3月18日土曜日

Wineの文字化けを直す


日本語が文字化けするのは少なくとも2種類の原因があり、
一つはWine のロケール設定が英語などになっているせい。
もう一つはフォントの設定。


よってロケールを日本語にするにはターミナルから以下のように起動すれば良い。
LANG="ja_JP.UTF-8" wine アプリ名.exe
ショートカットなら
env LANG="ja_JP.UTF-8" wine アプリ名.exe
 これで内部でロケール""(既定のロケール)とWin32 APIのW版(ワイド文字)を使っているアプリケーションの文字化けが治った。

regedit コマンドを使えばこれによって何が変わるかわかる。
HKEY_CURRENT_USER\Control Panel\International\ の Locale や LC_CTYPE の値が英語の 00000409 から日本語の 00000411 へ変更されているのがわかる。

そしてフォントの設定はwinetricks fakejapaneseを導入するか、winetricks takaoでtakaoフォントを導入して
regedit で HKEY_CURRENT_USER\Software\Wine\Fonts\Replacements\MS UI Gothic 等 の有名所のフォントを TakaoPGothic などで代替してやるだけでよい。