如何以编程方式获取字体支持的字符编码?

发布于 2024-10-11 09:50:32 字数 31 浏览 1 评论 0原文

有没有办法使用 C# 来获取字体支持的字符编码?

Is there a way, using C#, to get the character encoding a Font supports?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

草莓酥 2024-10-18 09:50:32

简短的回答:

在 .Net 世界中,没有代码页:一切都是以 Unicode 完成的。

字体是映射到 Unicode 代码点(32 位整数)子集的字形(字符的图形表示)的集合。

CLR 字符串是 System.Char(无符号 16 位整数)的 UTF-16 编码列表。这意味着某些 Unicode 代码点(0x00000080 及更高)在字符串中表示为一对 16 位字符,根据 UTF-16 计算。在内部[1],字符串从 UTF-16 转换为 UTF-32,并且现在的 32 位字符用于查找适当的字形。

[1]无论如何,从逻辑上讲。我不知道实际的实施细节是什么。

Short answer: No

In the .Net world, there are not code pages: everything is done in Unicode.

A font is a collection of glyphs (a graphic representation of a character) mapped onto a subset of Unicode codepoints (32-bit integers).

CLR strings are UTF-16 encoded lists of System.Char (unsigned 16-bit integers). This means that certain Unicode codepoints (0x00000080 and higher) are represented in the string as a pair of 16-bit characters, computed according to UTF-16. Internally[1], the string is converted from UTF-16 to UTF-32 and the now-32-bit characters are used to look up the appropriate glyph.

[1]Logically, anyway. I've got no idea what the actual implementation details are.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文