2010-08-12 87 views
5

使用不同的字体时,有些字体可能支持阿拉伯字符,而另一些则可能不支持。如何:确定字体支持哪些字符范围

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

+0

我想不出一个不支持拉丁字符的字体,反正不是ASCII。为什么不使用更可能的语言,如阿拉伯语或希伯来语? – Oded 2010-08-12 20:51:52

+0

更新,谢谢:) – 2010-08-12 21:18:04

回答

4

您需要P/Invoke GetFontUnicodeRanges()。这并不容易,因为需要在设备上下文中选择字体,这需要更多的p/invoke。

但最重要的是,这不是正确的做法。你应该依靠Windows的自动字体链接,如果需要提供字形,它会找到另一种字体。该功能在this article中描述。

+0

+1,这是一篇很棒的文章。很有用! – 2010-08-14 15:12:51

+0

+1。谢谢您的帮助。你说得很好,在这种情况下,我们没有在窗口中使用字体,这就是我们需要知道的原因。 – 2010-08-14 18:10:43

相关问题