AddFontResource未正确安装字体

AddFontResource does not install the font correctly

本文关键字:安装 字体 AddFontResource      更新时间:2023-10-16

我使用AddFontResourceW(_T("C:\Program Files\MyApp\MyFont.ttf");从我的64位C++应用程序安装2种字体。

返回值为1,但在应用程序中,字体显示得小10倍,看起来像Sans Serif(不是我的字体)。

如果我在Windows中手动安装字体,那么它会在应用程序中正确显示。

我尝试过AddFontResourceEx,但结果相同。我还试图用我的应用程序安装程序复制C:\Windows\Fonts中的TTF字体文件,然后调用AddFontResource(_T("myfont.TTF"));以及相同的结果。

如果我根本不调用AddFontResource,那么该字体将替换为具有正确大小的Arial。

在64位Windows 7、10和Windows 2012 Server中进行了测试。

我尝试过Oswald字体和Ubuntu,但得到了相同的结果。

我已经解决了这个问题,将字体复制到C:\Windows\Fonts,然后将其添加到注册表,然后添加AddFontResource,否则它将无法正确显示字体。将其用作临时字体资源是不起作用的。