トップページ > 記事閲覧
CreateDXFontData.exeについて
名前:たろう 日時: 2023/11/15 08:00

お忙しいところすみません。 CreateDXFontData.exe /F"Test" /B1 /S16 /O"Test.dft"のようにしてdftを作ってゲームでの呼び出しと問題ない使用を確認できたのですが 各オプションについて分からない点について質問をお許しくださいm(__)m @ /Sサイズ 16に設定したのですが、これは縦16ドットでフォントが出来るという事でしょうか? (※自作フォントは縦横16ドットのドット絵フォントなので、ピッタリにしたいのですが、上記の指定は正しいでしょうか?) A /C文字セット名 ですが、私はSetUseCharCodeFormat( DX_CHARCODEFORMAT_UTF8 );などを使用して UTF8に変更してプログラムを組んでいるのですが、それで使う場合 CreateDXFontData.exe /F"Test" /B1 /S16 /C"UTF8" /O"Test.dft" のようにすべきでしょうか? (※もしくはこの/Cオプションは、どういうケースで指定するものなのでしょうか) B 上記の指定で、生成された.dftの中にはフォント(2000文字ほどあります)を 画像にした情報が全て入っている認識であっているでしょうか? うまくいってはいるのですが、恥ずかしながら フォントについてよくわからずやっている部分もあって 念の為お聞きしようと思いました。 いつもスミマセンm(__)m
メンテ

Page: 1 |

Re: CreateDXFontData.exeについて ( No.1 )
名前:管理人 日時:2023/11/15 20:05

> /Sサイズ > 16に設定したのですが、これは縦16ドットでフォントが出来るという事でしょうか? すみません、概ねその通りなのですが、内部で使用している CreateFont という API の 説明が少し曖昧で、必ずしもドット数とイコールという訳ではないようです ( 偶に指定した値より大きくなるフォントがあったり、逆に小さくなるフォントがあったりするので… ) <CreateFontW 関数> https://learn.microsoft.com/ja-jp/windows/win32/api/wingdi/nf-wingdi-createfontw <サイズとして渡している cHeight の解説> [in] cHeight フォントの文字セルまたは文字の高さを論理単位で指定します。 文字の高さの値 (em height とも呼ばれます) は、文字セルの高さの値から内部の先頭の値を引いた値です。 フォント マッパーは、 nHeight で指定された値を次のように解釈します。 > CreateDXFontData.exe /F"Test" /B1 /S16 /C"UTF8" /O"Test.dft" > のようにすべきでしょうか? はい、/C"UTF8" としておいたほうが確実です > (※もしくはこの/Cオプションは、どういうケースで指定するものなのでしょうか) Unicode でしか存在しない文字を扱う場合や、日本では一般的な シフトJIS には存在しない文字 ( A の上に点がある欧州の方で使用される文字など )と日本語の全角文字などを混在させたい場合などで有用です ともあれゲーム中で UTF8 を使用する場合は CreateDXFontData.exe の /A オプションで渡すテキストファイルの 文字コードも UTF8 にして、 /C"UTF8" も指定して、SetUseCharCodeFormat( DX_CHARCODEFORMAT_UTF8 ); も 使用するようにすれば文字関連のトラブルが発生する可能性は低くなると思います > B > 上記の指定で、生成された.dftの中にはフォント(2000文字ほどあります)を > 画像にした情報が全て入っている認識であっているでしょうか? はい、恐らく入っていると思いますが dftファイルに含めたい文字を全て記載したテキストファイルを作成して、 そのファイルを /A オプションで指定すると確実に含めたい文字を dftファイルに含めることができますので、 よろしければお試しください m(_ _)m
メンテ
Re: CreateDXFontData.exeについて ( No.2 )
名前:たろう 日時:2023/11/15 22:57

いつもすみません、 詳細な解説をありがとうございますm(__)m とても勉強になりますm(__)m 偶に指定した値より大きくなるフォントがある件と 確実に含めたい文字がある場合は/Aオプションで指定する件についてですが、 .dftのファイルを作って、それをDXライブラリで読み込んで使った場合の結果は ユーザー側のPC環境に左右されないという事であっていますでしょうか? ファイルに含めたい文字を全て記載したテキストファイルを作るのは 文字が多くあまりに大変なので、実際に私の環境で試して表示される文字が、 私の環境と同じ見た目で、ユーザー側で表示されればそれで問題ないと思っています もしくは.dftファイルを読む形でも、ユーザー側のPC環境で見た目や文字の有無が 変わるケースがあったりするでしょうか? 重ねて質問をすみませんm(__)m
メンテ
Re: CreateDXFontData.exeについて ( No.3 )
名前:管理人 日時:2023/11/18 00:18

> .dftのファイルを作って、それをDXライブラリで読み込んで使った場合の結果は > ユーザー側のPC環境に左右されないという事であっていますでしょうか? はい、そのご認識であっています > もしくは.dftファイルを読む形でも、ユーザー側のPC環境で見た目や文字の有無が > 変わるケースがあったりするでしょうか? 正常に動作している限りはそのようなケースはありませんが、 ユーザーのPCが壊れていたり、Windows98時代などの物凄く古いPCで最新のDXライブラリが 正常に動作しない環境だったりすると見た目が変わることはあると思います
メンテ
Re: CreateDXFontData.exeについて ( No.4 )
名前:たろう(解決) 日時:2023/11/18 10:10

いつもありがとうございます。 あれから色々試して、 完全にピッタリサイズのフォントで表示させることができました まともなPCであればユーザー環境に左右されないという事で これで安心して本格的にゲームに取り込むことができます。 (※サイズが合わなかったのは、16ドットだと思っていたものが フォントを作るソフトの影響で余白が消えて14ドットになって いたからで、S14にしたらピッタリになりました) お手数をおかけいたしましたm(__)m
メンテ

Page: 1 |

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

   クッキー保存