ファイル選択時に日本語ファイル名が文字化けする件
(追記:Linux上での2.49b)
Windowsから来たファイルを使う都合上、日本語のファイル名が表示ができないと大変困る。
オブジェクト名など他の部分はLanguage & Fontで日本語フォントを選択すれば問題ないのだが、ファイル選択時だけ何故か文字化けするので調べた。
原因は、source/blender/src/filese.cの769行目(2.48aの場合)付近の以下の場所にあった。
#ifdef WITH_ICONV { /* ここは日本語のpoファイルをインストールして、なおかつ * choose languageで日本語を選択した場合にのみ有効になる。 * poファイルの導入の予定は無い(メニューが日本語になったら困る) * のでコメントアウトして英語モードでも選択フォントで表示するように * している。 struct LANGMenuEntry *lme; lme = find_language(U.language); if ((lme !=NULL) && (!strcmp(lme->code, "ja_JP") || !strcmp(lme->code, "zh_CN"))) */ if(1) { // ここを通った時だけ日本語が出る。 BIF_RasterPos((float)x, (float)y); #ifdef WIN32 BIF_DrawString(G.font, files->relname, ((U.transopts & USER_TR_MENUS) | CONVERT_TO_UTF8)); #else BIF_DrawString(G.font, files->relname, (U.transopts & USER_TR_MENUS)); #endif } else { // 組み込みのASCIIフォント BMF_DrawString(G.font, files->relname); } } #else BMF_DrawString(G.font, files->relname); #endif /* WITH_ICONV */
文字列はUTF-8で運用していれば日本語でも大丈夫っぽい。
WindowsでもUTF-8に変換すればオブジェクトやマテリアルが日本語でも表示できた。
(一部化けていたが・・・)
さらに、Action Editorでボーン名が日本語だと文字化けなことが発覚。
ソースを見てみると、BMF_DrawString決め打ちになっているよw
(poファイルがあっても関係なく)
しかも、BIF_DrawStringで置き換えても微妙に表示がおかしくなってしまった。
これは、いちいちすのはさすがに骨なのでBlenderには日本語を持ち込まない方がいいかもれない。
Blender2.5で直っているか見てからどうするか決めよう。