试图为一个Windows商店应用程序调用EnumFontFamilies(...)说它是未定义的。这是为什么?还有其他选择吗?

时间:2012-11-10 17:37:10

标签: windows winapi windows-8 visual-studio-2012 windows-store-apps

我正在尝试在Surface上安装字体列表。 但是,即使包括在内,我也无法调用EnumFontFamilies。 这是为什么?我怎么能,如果我不能,我能做些什么来实现类似的功能。 感谢。

2 个答案:

答案 0 :(得分:1)

a thread on the Dev Center forums开始,看起来你可以通过C ++ / DirectX作为WinRT组件来实现这一点(code here将是一个开始)。

或者看看Christophe Wille的WinRT snippets project on GitHub

答案 1 :(得分:1)

EnumFontFamilies()是一个winapi函数。 非常您可以在商店应用中使用其中的一些,当然不是这个。从技术上讲,你可以破解阻止你使用该功能的宏,但是你不会通过商店验证。

您可以在Windows.Globalization.Fonts命名空间中找到与字体相关的方法,但不是您要查找的方法。注意命名空间名称,WinRT不再忽略这样一个事实,即机器上可用和可用的字体与用户说的语言有很大关系。或者更确切地说,该语言的书面文字中使用的字形。任意挑选字体对于生活在亚洲的数十亿人来说效果不佳。