我使用AddFontResourceW(_T(“C:\ Program Files \ MyApp \ MyFont.ttf”));从我的64位C ++应用程序安装2种字体。
返回值为1,但在应用程序中,字体显示小10倍,看起来像Sans Serif(不是我的字体)。
如果我在Windows中手动安装该字体,则它会在应用程序中正确显示。
我尝试过AddFontResourceEx,但效果相同。我也尝试用我的app安装程序在C:\ Windows \ Fonts中复制TTF字体文件,然后调用AddFontResource(_T(“myfont.ttf”));和相同的结果。
如果我根本不调用AddFontResource,那么该字体将被替换为具有正确大小的Arial。
在64位Windows 7,10和Windows 2012 Server中测试。
我尝试过使用Oswald字体和Ubuntu,但我得到的结果相同。
答案 0 :(得分:0)
我通过将字体复制到C:\ Windows \ Fonts然后将其添加到注册表然后添加到AddFontResource来解决了这个问题,否则它无法正确显示字体。使用它作为临时字体资源它不起作用。