以下のコードで、CheckFontName関数がFalseを返すのに、フォントの追加に成功します。
フォントはリソースから追加していますが、それが原因ですか?
void Image::SetFont(const char *pFontName, unsigned int pID, int pFontSize, int pFontThick, int pFontEdge)
{
char str[256];
if (pID < 0)
{
AppLogAdd("UserMes: Image::SetFont Illegal Index Number\n");
sprintf_s(str, "フォントの作成に失敗。インデックス番号が不正です。 ID:%d", pID);
MessageBox(NULL, str, ("エラー"), MB_OK | MB_ICONERROR);
return;
}
while ( FontID.size() <= pID )
{
FontID.push_back(-1);
}
if (!CheckFontName(pFontName))
{
AppLogAdd("UserMes: Image::SetFont Cannot Find Font.\n");
// ここが実行される。
}
if (pFontEdge)
{
FontID[pID] = CreateFontToHandle(pFontName, pFontSize, pFontThick, DX_FONTTYPE_ANTIALIASING_EDGE_8X8, DX_CHARSET_DEFAULT, pFontEdge);
}
else
{
FontID[pID] = CreateFontToHandle(pFontName, pFontSize, pFontThick, DX_FONTTYPE_ANTIALIASING_8X8, DX_CHARSET_DEFAULT, pFontEdge);
}
if (FontID[pID] == -1)
{
AppLogAdd("UserMes: Image::SetFont Font Create Error.\n");
MessageBox(NULL, "フォントの作成に失敗。", ("エラー"), MB_OK | MB_ICONERROR);
return;
}
}