如何:确定字体支持哪些字符范围
当使用不同的字体时,有些字体可能支持阿拉伯字符,而另一些则可能不支持。
C# 有没有办法确定特定字体支持哪些字符范围?
When working with different fonts, some might support, say, arabic characters where another might not.
Is there a way in C# to figure out what character ranges are supported by a specific font?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要 P/调用 GetFontUnicodeRanges()。这并不容易,因为需要在设备上下文中选择字体,这需要更多的 p/invoke。
但最重要的是,这不是正确的做法。您应该依赖 Windows 的自动字体链接,如果需要提供字形,它会找到另一种字体。 本文中介绍了该功能。
You would need to P/Invoke GetFontUnicodeRanges(). Not easy to do because the font needs to be selected in the device context, that requires more p/invoke.
But most of all, it isn't the right thing to do. You should rely on Windows' automatic font linking, it finds another font if necessary to supply the glyph. The feature is described in this article.