お世話になっております。
C言語と DirectX 9.0c で現在ゲーム制作をしています。
DirectX の文字表示は重いため、テクスチャーに描画して絵として表示しようと思っているのですが、
2バイトコードの変換時に失敗してしまい、文字化けしてしまいます。
なお、以下の引数で添付した関数を呼んでいます。
LPDIRECT3DTEXTURE9 string_tex = NULL;
StrTex_DrawText("あいうえお\nGAME" , &string_tex);
これを添付したプログラムで呼んでいます。
添付したプログラムは一番下の関数から順に呼んでいます、
「あいうえお」は文字化けしているのですが、「GAME」は正しく表示されている状態です。
なのでユニコードの変換の仕方を教えていただきたいです。
OSは[Windows Vista]で開発環境は[Microsoft Visual C++ 2008 Express Edition]です。
よろしくお願いします。
文字コードについて
Re:文字コードについて
UTF-16は0x0000~0x00FFの範囲について,ISO-8859-1と一致しますが,それ以外の範囲は,他の文字コードと基本的に一致しません。
そのため,単純にShift_JISの文字を変換することはできません。
Shift_JIS → UTF-16であれば,MultiByteToWideChar APIなどを使って変換することができます。
そのため,単純にShift_JISの文字を変換することはできません。
Shift_JIS → UTF-16であれば,MultiByteToWideChar APIなどを使って変換することができます。
Re:文字コードについて
YuO様のご指摘通り、 MultiByteToWideChar 関数を使うことで解決しました。
本当に助かりました。
YuO様ありがとうございました。
本当に助かりました。
YuO様ありがとうございました。