2015-05-04 69 views
2

每一个状态,我使用GDI +渲染文本用我自己的字体,但使用的成员函数AddFontFile(WCHAR *)时,我总是得到一个错误状态InvalidParameter PrivateFontCollection加载我的字体文件,这里是我的代码:GDI + PrivateFontCollection AddFontFile总是返回与“无效参数”

PrivateFontCollection m_font_collection; 
... // initialize window 
GdiplusStartup(&gdi_token, &gdi_startup_input, NULL); 
// here the result always is 2 (that specified as "InvalidParameter") 
Status result = m_font_collection.AddFontFile(L"myfont.ttf"); 

我找不到为什么这个错误发生的任何解释,没有人知道如何解决这个问题?谢谢! PS:原谅我的英语不好... :)


我已经解决了这个问题,这是一个愚蠢的问题,所以,原谅我......请检查下面
My answer

+0

明显的问题:是你自己的字体坏了? (也就是说,你可以在Windows上安装它,TTX是否发出任何问题,fontforge会加载它,等等) –

+0

@ Mike'Pomax'Kamermans感谢您的评论,我已经解决了这个问题,请检查我的答案〜:) – Artiano

回答

2

确定我的回答,我已经解决了这个问题...我是多么愚蠢......问题很愚蠢,我很早就定义了m_font_collection!应该功能GdiplusStartup被称为后进行定义,只有在GDI +已经初始化PrivateFontCollection可以加载自己的字体文件...希望能帮助别人