我们如何知道一个真正的字体的代码点是否高于0xFFFF?
有一个API(GetFontUnicodeRanges / GetGlyphIndices),但它不会超过0xFFFF,因为我怀疑你知道。
编程方式有两种明显的方法:
.ttf
文件( 规范是开放的ish) 这个答案有一个.NET / C#解决方案: 获取支持的字体的字体 – 在C#
如果运行Windows 7 +,可以调用DirectWrite的IDWriteFontFace::GetGlyphIndices
从给定的代码点的cmap或IDWriteFontFace1::GetUnicodeRanges
(Win 8+或Windows 7平台更新)中获取名义字形标识,如果您只想知道所有的范围。 GDI GetGlyphIndices
和Uniscribe ScriptGetCmap
仅支持基本的多语言平面。