現在の仕様では、存在しないフォントハンドルを指定した場合には「フォントハンドル値が異常です」という文字がデバッグ出力に出力されDrawStringToHandleは何も行われない、といった感じになっております。そこで他のいくつかの関数の引数同様、ハンドル指定の部分に-1を入れたらデフォルト値(デフォルトフォントハンドルを返す)と言うようにしてもらえないでしょうか。(-1以外の値で存在しないハンドルを指定した場合は従来のエラー扱いで良いと思います)というのも、フォントハンドル指定の有りと無しでToHandle付きと、そうでないDrawStringを使い分けるのが面倒で(後からハンドル使用したいと思い直したときにソースコードを書き換え無くてはならないため)基本的に、すべて最初からToHandle系のみしか使わない感じに運用してまして。なるとデフォルトハンドルを一切使わないという感じになってしまいデフォルトフォント分のメモリも無駄になってしまいます。そこで、フォントハンドルを指定しない場合にはデフォルトハンドルを使うような形にすれば無駄にならないかなということで、ToHandle系からでもデフォルトフォントを使える様になったらなと思いまして。いちおうGetDefaultFontHandle(デフォルトのフォントハンドルを取得する)という物があるのも知っているのですが単に、まだどのフォントを使うか決まっていない暫定というときなどに-1で省略して書けちゃうのは便利かなとおもいます。CreateFontToHandleが失敗したとき、ハンドルの中身が-1となるので、それをそのまま気付かず使ってしまうというような悪影響も出来てしまう......様な気もしたりしますが。デフォルトフォント絡みでもう一つ。デフォルトフォントの設定変更についてです。;現状ではこれらを組み合わせるしかなく、FontTypeだけ独立した設定変更関数しかなかったりと、一度では出来ません。SetDefaultFontStateのほうにもFontTypeの項目があれば......と。EdgeSizeとItalicの変更方法無いようですし。これらは、内部でフォントデータを再作成する重い処理だということでできれば一度で出来る、CreateFontToHandleと同じ項目数の設定変更方法があると嬉しいです。ちなみにふと思ったのですが、これらのデフォルトフォントの設定変更は画面モード変更時や、InitFontToHandle後などのデフォルトフォントの再作成時にも継続されるのでしょうか。デフォルトフォントハンドルは、DXライブラリが内部に持ってる値を元に作成しているようなので。デフォルトフォントの設定変更で内部の値も変更になっているのかなと思いまして。デフォルトハンドル用に内部に持っている設定値なのですが、DxLib_Init()の前に書き換えることは出来ないのでしょうか。それが出来れば一番無駄がないのですが。確認してみたところChangeFontはDxLib_Init()の前に記述しても有効(値が変ってる?)のようですがChangeFontTypeSetFontSizeSetFontThicknessSetDefaultFontStateの4つはDxLib_Init()以前での設定は無効のようでした。なると、復帰用の値の設定も変更されていないのかな?などと思った次第です。最低限の設定(文字デフォルト、アンチェリ無し等)で設定されているのでDxLib_Init前で書き換えると起動時にフォント絡みのエラーで起動失敗、なんて事がおこる可能性を考えて弄れない様になっている......のでしょうか。まとめといったかんじで現状、メモリの無駄には目を瞑って、デフォルトフォントを完全に無視するかデフォルトフォントを通常のハンドルの一つとして扱うのかその辺りの方向性を決めかねていまして。今回の要望が適わないようなら前者を。デフォルトフォント周りが扱いやすくなるようなら後者をと考えております。(デフォルトフォントハンドルを返す)と言うようにしてもらえないでしょうか。悪影響も出来てしまう......様な気もしたりしますが。画面モード変更時や、InitFontToHandle後などのデフォルトフォントの再作成時にも継続されるのでしょうか。DxLib_Init()の前に書き換えることは出来ないのでしょうか。)についてなのですが、他の関数の引数のデフォルト指定と同じでない......というのはやはりちょっと気になってしまうところです。悪影響も出来てしまう......様な気もしたりしますが。何十箇所も使われるような類でも無いですよね......。それに、CreateFontToHandleが失敗したとしてどのCreateFontToHandleが失敗したかを突き止めるのは直後に返値のハンドルの値をチェックをすれば済むわけですし。いうことで、あまり悪影響という程のものは特に無いのかな?という気もしてきたりしてます。そこで、CreateFontToHandleに失敗したときに-1を返すのはそのままでデバッグ出力にその旨を出力するというような形にすれば済むのではないかと思いました。(CreateFontToHandleにわざと失敗ってどうやるのか判らなくて(たぶんハードとか環境的な問題がないと滅多に失敗しない?)現状ではすでにそのような対処がなされているのか確認できてませんです......)そしてCreateFontToHandleに失敗して-1の入ったハンドルを利用したときはデフォルトハンドル使用というのを規定路線とするという感じでも良いのではと思いました。他の関数の引数のデフォルト値と同じ仕様、というのもメリットが大きいと思う次第です。18:09なるほど、デフォルト引数=-1というのは、(その引数の場合は)明示的にエラー値(設定外)を与えるという様な意味合いなのですね。}のほうが良いのではないでしょうか。することでToHandle系内に-2のときデフォルトハンドルに置き換えるという無駄な処理も無くなりますし。そのためだけにToHandle系のコストが上がってしまうのはもったいない気がします。このようなCreateFontToHandle後のチェックをした場合にはチェック後にはCreateFontToHandleの値は-1以外になるのが規定になるのではないでしょうか。言う意味ではCreateFontToHandle失敗後にハンドルに-1が入ったままで何もしていないと言う事の方がお行儀がよろしくない様に思えます。デフォルトフォントハンドルという等式はそもそも成り立たないのではないでしょうか。基本考えなくても良い状況のように思います。}のような物を記述するわけですし。;と手打ちで簡単にハンドル指定を省略して書きたい。(手軽にDrawStringとDrawStringToHandleを等価にして書き換えのリスクを抑えたい)と言うことだったりします。実のところCreateFontToHandleの返値は個人的にはあまり気にしてなかったりする部分です。普通にCreateFontToHandle直後に返値チェックをすれば良いことなので。そもそも現状のDrawStringToHandle実行時にはハンドルの中身が-1でも、それ以外の有効でないハンドルが入っていた場合でも1.エラー2.「フォントハンドル値が異常です」をデバッグ出力3.DrawStringToHandleは何も行われないという感じでDrawStringToHandle側では単に有効なハンドルかどうかと言うだけしか問題にしてないようですし。DrawStringToHandle実行の時点ではもうCreateFontToHandleが失敗していたかどうかは既に関係のない事になっていると思います。デフォルトフォントハンドルという意味ではなく>「エラーが発生しました」という意味の戻り値なので、それが自然とハンドルになるの部分については、例で言うところのfontHandleのようなフォントハンドル用に作った変数にはCreateFontToHandle(と、同じくフォントハンドルを返す関数であるGetDefaultFontHandle)で取得した値以外を入れるような運用が好ましくない。言うように思われているという解釈で良いのでしょうか。-1;のようなものを作ると言うようなものが好ましくないと。言う意味だとするなら、私もその通りだと思います。;のように手打ちで簡単に省略して書きたい。言いう運用は懸念の範疇には入らないのではないかと思うのですがいかがでしょうか。DX_DEFAULT_FONT_HANDLE;という運用の方がかなり例外的な処置な気もします。......そしてせっかく作っていただいたのですが、DrawStringToHandleでデフォルトフォントハンドルを指定するのに-2およびDX_DEFAULT_FONT_HANDLEという値というのは実際の所あまり使う人もいないような気がします......。GetDefaultFontHandle()で代用出来てしまう上にToHandle系内に余計な条件分岐を含むコストまで嵩むっぽいですし。......なんか我が儘ばかり言ってスミマセン。手打ちで簡単にハンドル指定を省略して書きたい。言うことだったりします。取得した値以外を入れるような運用が好ましくない。言うように思われているという解釈で良いのでしょうか。ように手打ちで簡単に省略して書きたい。言いう運用は懸念の範疇には入らないのではないかと思うのですがいかがでしょうか。実際の所あまり使う人もいないような気がします......。ToHandle系内に余計な条件分岐を含むコストまで嵩むっぽいですし。21:10回答ありがとうございます。フォントハンドル指定の省略につきましては回答のとおり、ラッパーなどで対応することにします。食い下がって申し訳ありませんでした。それから今回修正された、デフォルトフォントの設定関係なのですがChangeFontTypeSetFontSizeSetFontThicknessがDxLib_Init()の前で実行出来るのは確認しました。ある引数を追加しましたとあるのですがSetDefaultFontStateに引数が追加されていない様です。いうエラーがでてしまいます。CreateFontToHandleと同じにしてもダメでしたこちらの場合はこうなります。個の引数を指定できません。URLのファイルの中身はLibファイルだけ更新されてDxLib.hの中身が変っていないっぽい気がします。確認よろしくお願いいたします。23:13すみません、なんだか判らないうちに解決してしまいました。解凍先もあってるのを確認しても間違っておらず他の変更があったと思しきlibファイルなどは2/15日のタイムスタンプに更新されていたのですがなぜか相変わらずDxlib.hファイルは2/8日のままでした。何度か繰り返している内に急にDxlib.hが更新されました。DxLibVCTest.exe実行のときは毎回(A)lways(すべて上書き)を選択していたのですけども。最初に更新かけたとき更新前にDxlib.hをさくらエディタというエディタで開いていた様な気がします。ファイルの排他制御が掛かっていたのかもしれません。今さくらエディタの設定をみてみたら、排他制御はしない設定になっていました。お騒がせして申し訳ありませんでした(ぺこりその後SetDefaultFontStateの動作も確認できました。(記事メンテ時に使用)クッキ。