トップページ > 記事閲覧
UTF-8文字セットを描画する方法
名前:たいき 日時: 2019/05/14 21:46

DXライブラリ付属のCreateDXFontData.exeを使用しUTF-8文字セットの「OriginalFont.dft」というフォントデータを作成しましたが、フォントデータがうまく表示できません。 どのような原因が考えられますでしょうか。 ご教示頂けますと幸いです。 ▼フォント作成用のバッチファイル CreateDXFontData.exe /FPixelMplus12 /B1 /S12 /CUTF8 /AOriginalFontList.txt /OOriginalFont.dft ▼OriginalFontList.txtの内容(文字コードはBOM無UTF-8) ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォャュョッ゙゚ !#$%&'()=^@[];:+-*/,.<>?_\~ ▼ソースコード(文字コードはBOM有UTF-8) #include "DxLib.h" int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { SetUseCharCodeFormat(DX_CHARCODEFORMAT_UTF8); // ウィンドウモード ChangeWindowMode(TRUE); if (DxLib_Init() == -1) return -1; DrawString(100, 100, "コンニチワ", GetColor(255, 0, 0)); int handle = LoadFontDataToHandle("OriginalFont.dft"); DrawFormatStringToHandle(100, 100, GetColor(255, 0, 0), handle, "コンニチワ"); WaitKey(); DxLib_End(); return 0; } ▼開発環境 ・DXライブラリ(DxLib_VC3_20e) ・Visual Studio 2017 ※vcprojのプロジェクトの文字セットは「マルチバイト文字セットを使用する」になっています。
メンテ

Page: 1 |

Re: UTF-8文字セットを描画する方法 ( No.1 )
名前:帰宅部 日時:2019/05/14 22:45

上のコードだと最初のDrawStringも表示されないのでは? "コンニチワ" を u8"コンニチワ" にしましょう "OriginalFont.dft" も念のためu8を付けておきましょう(今は無くても大丈夫ですが)
メンテ
Re: UTF-8文字セットを描画する方法 ( No.2 )
名前:たいき(解決済み) 日時:2019/05/15 10:30

> 上のコードだと最初のDrawStringも表示されないのでは? はい、表示されていませんでした。 > "コンニチワ" を u8"コンニチワ" にしましょう 文字列リテラルというのを付けないといけないんですね。 表示されることを確認しました。 ありがとうございます。
メンテ
Re: UTF-8文字セットを描画する方法 ( No.3 )
名前:yumetodo(解決済み) 日時:2019/05/19 16:27

もう見てないだろうけど "コンニチワ" が文字列リテラルでu8はそのprefixですね。
メンテ
Re: UTF-8文字セットを描画する方法 ( No.4 )
名前:たいき(解決済み) 日時:2019/06/08 23:22

yumetodoさん 文字列リテラルとprefixのご指摘ありがとうございます。 勉強になりました。
メンテ

Page: 1 |

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

   クッキー保存