如何确定字体支持哪些字符范围

5

在使用不同的字体时,有些字体可能支持阿拉伯字符,而另一些字体可能不支持。

在C#中,有没有一种方法可以确定特定字体支持哪些字符范围?


我想不出一种字体不支持拉丁字符的例子,至少自ASCII以来是这样。为什么不使用更常见的语言,比如阿拉伯语或希伯来语呢? - Oded
1个回答

4
你需要使用P/Invoke调用GetFontUnicodeRanges()方法。这并不容易,因为需要在设备上下文中选择字体,这需要更多的P/Invoke操作。
但最重要的是,这不是正确的做法。你应该依靠Windows自动字体链接功能,如果需要,它会找到另一个字体来提供字形。该功能在this article中有描述。

+1。感谢您的帮助。你说得很对,在这种情况下,我们没有使用Windows中的字体,这就是为什么我们需要知道的原因。 - Steve Sheldon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接