関数の外で作成したフォントハンドルで文字列を画面に描画しようとすると、なぜかサイズやアンチエイリアスなどの設定が反映されずに描画されてしまいます。("関数の外"が原因なのかはわかりませんが・・・。)
仕様だとは思えませんので、修正など可能でしたらよろしくお願いします。逆に私のほうでミスがありましたらご指摘願います。
ソースコードを以下に示します。
#include "DxLib.h"
int Fglobal = CreateFontToHandle( NULL , 48 , 3 ,DX_FONTTYPE_ANTIALIASING_EDGE) ;
// プログラムは WinMain から始まります
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
ChangeWindowMode( true ) ;
if( DxLib_Init() == -1 ) // DXライブラリ初期化処理
{
return -1 ; // エラーが起きたら直ちに終了
}
int Fmain = CreateFontToHandle( NULL , 48 , 3 ,DX_FONTTYPE_ANTIALIASING_EDGE) ; //Fglobalと同じ
DrawPixel( 320 , 240 , 0xffff ) ; // 点を打つ
DrawBox(0,0,640,480,GetColor(255,255,255),TRUE); //背景白に
//WinMain内で作成されたフォント
DrawStringToHandle( 60 , 410 , "テスト" ,GetColor( 255 , 0 , 0 ) , Fmain ) ; //正常に表示される
//WinMain外で作成されたフォント
DrawStringToHandle(360 , 410 , "テスト" ,GetColor( 255 , 0 , 0 ) , Fglobal ) ; //サイズ等の設定が反映されない
WaitKey() ; // キー入力待ち
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}