お世話になっております。Windows向けのゲームを作っていまして、中国語版も出すことになっているのですが、
去年の10月の時点では中国語表示に問題がなかったのですが、
今同じようにプログラムを描いても中国語が正しく読み込めず文字化けして表示されるようになりました。
以下のようなプログラムを書いています。
//※↓ DxLib_Init() の前
SetUseCharCodeFormat(DX_CHARCODEFORMAT_UTF8);
LPCSTR font_path = "data/txt/NotoSansCJKsc-Regular.otf"; // 読み込むフォントファイルのパス
if (AddFontResourceEx(font_path, FR_PRIVATE, NULL) > 0) {
} else {
// フォント読込エラー処理
MessageBox(NULL,"フォント読込失敗","",MB_OK);
}
ChangeFont( "Noto Sans CJK SC Regular", DX_CHARSET_DEFAULT );
//テキストファイルから文字を読み込むところ
char strMsg[3][81];
int iFileHandle = FileRead_open("test.txt");
FileRead_set_format(iFileHandle, DX_CHARCODEFORMAT_UTF8);
FileRead_gets(strMsg[0], 80, iFileHandle);
FileRead_gets(strMsg[1], 80, iFileHandle);
FileRead_gets(strMsg[2], 80, iFileHandle);
FileRead_close(iFileHandle);
//読み込んだ文字を表示するところ
DrawString(10, 20, strMsg[0], GetColor(255, 255, 255));
DrawString(10, 40, strMsg[1], GetColor(255, 255, 255));
DrawString(10, 60, strMsg[2], GetColor(255, 255, 255));
去年の10月ごろはこれでOKでした。
そのころと今は開発環境は以下のように変わりました。
・Windows7→Windows10
・VC++も最新のもの
・DXlibも最新のもの
上記のプログラムのままでは今では問題があるのでしょうか?
申し訳ございませんん。なにもわからないため、こちらで質問させていただきます。
以上よろしくお願いいたします。