トップページ > 過去ログ > 記事閲覧
3.09で文字化けします
名前:コナン 日時: 2012/11/29 19:41

こんばんは。 今、私はDX_CHARSET_GB2312を使って日本語と中国語 の文字を表示しています。 DXライブラリ3.08の時はDebugモードとReleaseモー ド どちらでも表示されていましたが、3.09に変え所、 Releaseモードでは文字化けするようになりました。 今使用しているのは中国語版Windowsです。 作成したexeファイルを日本語のWindowsで起動すると 文字の表示はきちんとされます。 どうして変わってしまったのでしょうか?

Page: 1 |

Re: 3.09で文字化けします ( No.1 )
名前:コナン 日時:2012/11/30 19:32

【修正】 上記、Debagモードでも文字化けします。
Re: 3.09で文字化けします ( No.2 )
名前:管理人 日時:2012/12/02 04:56

中国語版Windowsで実行すると文字化けですか・・・ フォント関係としては 「日本語文字セットが無いフォントでも特に文字セットを指定しなくてもフォントハンドルを作成できるようにする」 という変更を加えましたが、これが原因かは分かりません こちらのページで http://homepage2.nifty.com/natupaji/DxLib/dxolddload.html 一つ前の正式バージョン 3.08e をダウンロードすることができるのですが、 バージョン 3.08e では問題なく表示されますでしょうか? あと、よろしければ中国語表示をするサンプルプログラムをこちらのスレッドに書き込んで頂けないでしょうか?
Re: 3.09で文字化けします ( No.3 )
名前:コナン 日時:2012/12/02 15:46

お忙しい中ご返信いただきありがとうございます。 バージョン3.08eでは日本語版、中国版OSに関係なく文字はきちんと表示されます。 【サンプルプログラム】 int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ){ ChangeWindowMode( true ), SetDrawScreen( DX_SCREEN_BACK ); if( DxLib_Init() == -1 ) return -1 ; SetDrawScreen(DX_SCREEN_BACK); FontHandle = CreateFontToHandle("NSimSun", 17, -1, -1, DX_CHARSET_GB2312); while( ProcessMessage()==0 && ClearDrawScreen()==0 && GetHitKeyStateAll_2(Key)==0 && Key[KEY_INPUT_ESCAPE]==0 ){ DrawFormatStringToHandle(0,0,GetColor(0,0,0), FontHandle, "あああ"); DrawFormatStringToHandle(0,0,GetColor(0,0,0), FontHandle, "你好"); ScreenFlip(); } DxLib_End(); return 0; } バージョン3.08eではフォント指定を中国語にしていても 日本語・中国語共に表示されましたが、バージョン3.09 では2バイト文字は全滅でした。
Re: 3.09で文字化けします ( No.4 )
名前:コナン 日時:2012/12/02 18:39

すみません。上のプログラムで文字の表示位置がかぶってしまっています。実際はY軸を0と40で行っています。 それとGetHitKeyStateAll_2(Key)を設定している部分も記載していませんでした(この部分は消してしまっても文字の表示には影響ありません)。
Re: 3.09で文字化けします ( No.5 )
名前:管理人 日時:2012/12/02 21:04

ご返答ありがとうございます 文字化けの原因と思われる部分に変更を加えたものをアップしましたので、 よろしければ改善されているか試してみて頂けないでしょうか? m(_ _;m http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_DevCppTest.exe // Dev-C++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_MinGWTest.exe // MinGW 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibDotNet.zip // .NET用 http://homepage2.nifty.com/natupaji/DxLib/DxLibMakeTest.exe // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
Re: 3.09で文字化けします ( No.6 )
名前:コナン 日時:2012/12/03 15:19

さっそくのご対応ありがとうございます。 私が使用している環境はVC++のみですが、 確認しましたところ、どちらのOSでも文字はきちんと 表示されるようになりました。 ありがとうございます!!!
Re: 3.09で文字化けします ( No.7 )
名前:コナン(解決済み) 日時:2012/12/03 18:00

VC++以外は確認できないのですが、当方の問題は解決したので「解決済み」と記載させていただきます。

Page: 1 |