2011-11-14 6 views
0

新しいフォントを追加し、画面上にテキストを描きたい。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(); 

答えて

0

あなたのフォントのパスを指定することができません。

+0

新しいフォントを追加する方法はもうありませんか? – bTagTiger

0

このフォントはHANGUL_CHARSETをサポートしていないと思われます。 DEFAULT_CHARSETを使用してみてください。

関連する問題