トップページ > 記事閲覧
フルスクリーン切替時、文字化けする
名前:E 日時: 2017/09/14 04:59

いつもDXライブラリを楽しく使わせていただいてます 既存プログラムのAndroid移植がとてもスムーズに出来てビックリしました スマホにキーボードを繋げばちゃんと認識・動作もしてくれるし素晴らしいです! 今回、バグらしき挙動を確認しましたのでご報告致します。 //===== プログラム実行中にフルスクリーン切替を行うと、文字化けする事象が発生しました。 Windows版 VisualC++ 用のTest最新版で確認しております。(2017/9/9最終更新) 以下の条件下で発生するようです。 ・UTF-8を使用 ・CreateFontToHandle関数のFontNameに存在しないフォント名を与えた場合  (NULLを与えた場合は発生しないようです) 以下事象確認のサンプルプログラムとなります、 ENTERキーでフルスクリーンモードの切替を行うと、文字化けが発生します。 #include "DxLib.h" #include <string> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { SetChangeScreenModeGraphicsSystemResetFlag(FALSE); ChangeWindowMode(TRUE); SetUseCharCodeFormat(DX_CHARCODEFORMAT_UTF8); DxLib_Init(); SetDrawScreen(DX_SCREEN_BACK); std::string str = u8"ABC %d あいう"; int Font ; if (true) { Font = CreateFontToHandle(u8"存在しないフォント名", -1, -1); //切替時文字化け } else { Font = CreateFontToHandle(NULL, -1, -1); //問題なし } bool Push = false; while (ProcessMessage() == 0 && ClearDrawScreen() == 0) { if (DxLib::CheckHitKey(KEY_INPUT_RETURN) && Push == false) { Push = true; DxLib::ChangeWindowMode(!(DxLib::GetWindowModeFlag() == 1)); } else { Push = false; } DrawString(0, 0, str.c_str(), GetColor(0xFF, 0xFF, 0xFF)); DrawFormatString(0, 20, GetColor(0xFF, 0xFF, 0xFF), str.c_str(), 10 + 20); DrawStringToHandle(0, 40, str.c_str(), GetColor(0xFF, 0xFF, 0xFF), Font); DrawFormatStringToHandle(0, 60, GetColor(0xFF, 0xFF, 0xFF), Font, str.c_str(), 10 + 20); DrawExtendStringToHandle(0, 80,1,1, str.c_str(), GetColor(0xFF, 0xFF, 0xFF), Font); DrawExtendFormatStringToHandle(0, 100,1,1, GetColor(0xFF, 0xFF, 0xFF), Font, str.c_str(), 10 + 20); ScreenFlip(); } DxLib_End(); return 0; }
メンテ

Page: 1 |

Re: フルスクリーン切替時、文字化けする ( No.1 )
名前:管理人 日時:2017/09/15 01:21

> 既存プログラムのAndroid移植がとてもスムーズに出来てビックリしました > スマホにキーボードを繋げばちゃんと認識・動作もしてくれるし素晴らしいです! Android版がお役に立てているようで何よりです (^ ^ それにしても、ゲームパッドやマウスも繋ぐと普通に認識するので、スマートフォンは 『電話機能が付いている小さいPC』なんだなと思います (・・;; > プログラム実行中にフルスクリーン切替を行うと、文字化けする事象が発生しました。 ご報告ありがとうございます 載せていただいた事象確認用のサンプルプログラムで手元の環境でも現象を確認できました 存在しないフォント名が指定された際の特別な処理が悪さをしていました 修正版をアップしましたので、よろしければお試しください m(_ _;m https://dxlib.xsrv.jp/temp/DxLibVCTest.exe // Windows版 VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.exe // Windows版 BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCC2Test.exe // Windows版 C++ Builder 10.1 Berlin 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.exe // Windows版 MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // Windows版 .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.exe // ソース ( 中身を既存のライブラリのファイルに上書きして、VisualStudioをお使いの場合は『リビルド』を、  BCCをお使いの場合は『再構築』をして下さい )
メンテ
Re: フルスクリーン切替時、文字化けする ( No.2 )
名前:E(解決) 日時:2017/09/16 00:21

修正版のライブラリで該当事象が発生しないことを確認できました。 ご対応ありがとうございます! p.s. 今回の事象は他のバグの原因究明中に出てきたものだったのですが、 そちらも同時に解決しており一安心です。 (一部フォントでフルスクリーン切替後表示されなくなる現象が発生していました) お聞きした修正箇所的には少し不思議ですが、きっと不具合要因が重なっていたのですね
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存