5年前こんばんは、アメヒルネです。兼、追加したい部分として、使用フォントを追加しようと思い、勉強していました。その結果、AddFontResource関数またはAddFontResourceEx関数を用いれば使用できるようになる、というお話をどこかのサイトから聞いたので、実際に描いてみました。DX_FONTTYPE_ANTIALIASING_EDGE);デバッグしてもエラーは検出されなかったため、実行してみたところ、なぜかデフォルトのフォントでしか描写されていませんでした。・パスの位置が間違っている・使用不可能文字を描写しようとしている・フォント名が間違っているの3つは考えられないことがわかりました。描写しようとしているのは描写可能文字である数字だけ、フォント名は.ttfファイルを開いて確認しました。念のため、.ttfファイルを添付しておきます。関数の使い方が間違っているのでしょうか?ご指摘、よろしくお願いします。オフトピック開発環境とかを言い忘れてました。VC2008++、DXライブラリを使用しています。誤字や矛盾を指摘したい奴から、前に出てこいよぉおおおおおおおッ!!!※都合により、不定期でしか現れません。載せていただいたフォントデータで成功しました。クラスでまとめてたコードですが、長いしあまり人に見せたくないのでコードの一部を張ります。"フォントの作成に失敗。インデックス番号が不正です。FontIDはvectorです。"フォントの作成に失敗。}}不足してる説明とかあったら言ってください。・フォントのファイルはDXアーカイブではなく、普通のファイルとして存在しますか?・パスに含まれる/を全て\(ソースコード中では\\)に変えてもダメですか?・きちんと読み込んだフォントを使用する設定で描画していますか?・AddFontResourceEx()の戻り値で失敗していないことは確認しましたか?・CreateFontToHandle()でエラーが返ってきていないことは確認しましたか?上から順に回答いたします。ファイルですが、アーカイブで圧縮とかはしていません。よって普通のファイルです。/を\\に変更...ですが、やってみました。結果は変わりませんでした。描写するフォントですが、読み込ませたのがfont[7]に対し、コード:for(i=0;i<2;i++){DrawFormatStringToHandle(400-12*i,23,color[0],font[7],"%d",time%10);time/=10;}となっていたため、間違いはないと思います。AddFontResourceExの戻り値は、失敗した場合0で返ってくるため、戻り値が0ならばメッセージを出すようにしましたが、メッセージは表示されなかったため、問題はなかったと思われます。CreateFontToHandleの失敗時の戻り値は-1であったため、同じような操作をしましたが、メッセージは見られませんでした。誤字や矛盾を指摘したい奴から、前に出てこいよぉおおおおおおおッ!!!※都合により、不定期でしか現れません。5年前まだttfファイルを詳しく調べていませんが、CreateFontToHandleを呼ぶときに、文字セットをDX_CHARSET_DEFAULTに指定した方がいいかもしれません。ttfファイルを詳しく調べていませんが、CreateFontToHandleを呼ぶときに、文字セットをDX_CHARSET_DEFAULTに指定した方がいいかもしれません。回答ありがとうございます。試してみましたが、変化はあまり見られませんでした。オフトピックまさかとは思いながらも、名前の半角だったのを全角にして試してみましたが、案の定違いました。誤字や矛盾を指摘したい奴から、前に出てこいよぉおおおおおおおッ!!!※都合により、不定期でしか現れません。5年前クラスから完全に切り離して作り直してみました。"フォントの作成に失敗。ここまでで実行ファイルに埋め込んだリソースを、フォントとして認識できるようにします。フォント追加関数です。元はクラス内で管理してたので、返り値はないです。5年前DxLibで似たようなプログラムを組んでいるので、添付されていたttfファイルを試したところ、ちゃんと表示されましたーロード部分は以下のような感じです。f.load()でファイル全体をchar配列にバイナリロード。f.begin()で先頭のポインタを返す。f.getSize()でファイルサイズを返す。試してみましたが、きちんと反映されました。DXライブラリを最新版にしてみてください。1と同じにしても成功しました。正しくは-1と比較しないといけません。本質的ではないので、訂正は省略します。肝心のゲームプロジェクトでは、フォントが変更されていません。コンパイラやライブラリに問題がないとするならば、どこに不備があるのでしょうか。誤字や矛盾を指摘したい奴から、前に出てこいよぉおおおおおおおッ!!!※都合により、不定期でしか現れません。5年前ゲームのプロジェクトの方で、さらに問題点が発見されました。DX_FONTTYPE_ANTIALIASING_EDGEはライブラリの方で#defineで定義されているのが確認されましたが、DX_FONTTYPE_ANTIALIASING_8×8は定義が確認されておらず、これを使用したらコンパイル時にエラーが検出されてしまいます。誤字や矛盾を指摘したい奴から、前に出てこいよぉおおおおおおおッ!!!※都合により、不定期でしか現れません。古いバージョンのものを使用してるから定義が古いまま・・・とかそんなことだと思います。追加のライブラリディレクトリ、追加のインクルードディレクトリの設定が古いままで古いバージョンを参照している・・・ってところじゃないですかね。5年前バージョン確認は、実行ログのLog.txtで行えますので確認してみてください。方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。5年前バージョン確認しました。誤字や矛盾を指摘したい奴から、前に出てこいよぉおおおおおおおッ!!!※都合により、不定期でしか現れません。́ω`*)DXライブラリのページに書いてあるようにやれば問題ないです。"の場所を固定して、今までのを消してからコピーしてます。設定を少し変更して、DXライブラリのファイルにPC上の何処にあるプロジェクトからもアクセスできるようにします。メニューの『ツール』→『オプション』を選びます。ディレクトリ』を選びます。右側の『ディレクトリを表示するプロジェクト』から『インクルードファイル』を選びます。ディレクトリリストにDXライブラリのパッケージ内に入っている『プロジェクトに追加すべきファイル_VC用』フォルダのパスを追加します。『ディレクトリを表示するプロジェクト』を今度は『ライブラリファイル』にします。ディレクトリリストに4と同じく『プロジェクトに追加すべきファイル_VC用』フォルダのパスを追加します。『OK』ボタンを押して設定完了です。