新しいフォントを追加し、画面上にテキストを描きたい。DirectXに自分のフォントを追加するにはどうしたらいいですか?
しかし、このフォントを使用してテキストを描画すると、テキストフォントはArialになります。
理由はわかりません。
ここに私のコードです。
ご覧ください。
HANDLE hFind;
WIN32_FIND_DATA wfd;
WCHAR szFontPath[MAX_PATH];
int nNum;
swprintf(szFontPath, L"%s\\Fonts\\*.*", m_szAppPath);
hFind = FindFirstFile(szFontPath, &wfd);
if(hFind == INVALID_HANDLE_VALUE)
return;
do
{
if(wfd.cFileName[0] == L'.')
continue;
swprintf(szFontPath, L"%s\\Fonts\\%s", m_szAppPath, wfd.cFileName);
nNum = AddFontResource(szFontPath);
}
while(FindNextFile(hFind, &wfd));
PostMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
FindClose(hFind);
----------------------他の参照機能----------------- ---------------
int nHeight;
LPDIRECT3DSURFACE9 pSurface;
HDC hDC;
m_pDevice = pDevice;
m_pDevice->GetBackBuffer(0, 0, D3DBACKBUFFER_TYPE_MONO, &pSurface);
pSurface->GetDC(&hDC);
nHeight = -MulDiv(dwSize, GetDeviceCaps(hDC, LOGPIXELSY), 72);
pSurface->ReleaseDC(hDC);
m_hFont = CreateFont(nHeight, 0, 0, 0, bBold, bItalic, false, false,
HANGUL_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, ANTIALIASED_QUALITY,
DEFAULT_PITCH/* | FF_DONTCARE*/, L"Helvetica-Condensed-Black-Se");
pSurface->Release();
新しいフォントを追加する方法はもうありませんか? – bTagTiger