如何确定字体是否具有给定字符的字形?

时间:2014-03-19 23:10:59

标签: .net fonts glyph

如何从.NET运行时确定对于给定字体是否具有字符的字形?我想将字体切换为Arial Unicode MS,如果我有指定字体没有字形的文本(非常常见于CJK)。

更新:我正在寻找一个C#(即所有托管代码)解决方案。我认为GlyphTypeface可能是我需要的东西,但我无法看到它询问给定角色是否有字形。你可以回到整个地图,但我认为这将是一个昂贵的电话。

1 个答案:

答案 0 :(得分:2)

我已经完成了一些unicode工具,我使用的技术是获取地图并对其进行处理 对于每种使用的字体。

IDictionary<int, ushort> characterMap = GlyphTypeface.CharacterToGlyphMap

将为每个代码点提供定义的字形索引。

msdn ref

if (characterMap.ContainsKey(CodePoint))
    glyphExists = true;
else
    glyphExists = false;