2010-08-12 61 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

相關問題