Windows:从其他字体获取替换字符的字形轮廓

时间:2009-12-01 12:23:49

标签: windows fonts gdi+ true-type-fonts glyph

我需要将字体渲染到3D游戏世界中,因此我使用GetGlyphOutline轮廓函数来获取字形以呈现为纹理。但是,我希望能够处理给定字体中不存在字符的情况(亚洲其他国际文本通常就是这种情况)。 Windows文本呈现将自动替换具有所需字符的字体。但GetGlyphOutline不会。如何检测此案例,并获取替换字形的轮廓? Mac OS X Core Text有一个函数来获取给定字体和字符串的匹配替换字体 - 在Windows上是否有类似的东西?

2 个答案:

答案 0 :(得分:2)

找出我需要了解的内容:IMLangFontLink interface,尤其是MapFont方法包含了查找应在Windows上使用哪些替换字体所需的功能。

答案 1 :(得分:1)

我也对GetGlyphOutline感到困惑。我不确定您是否能够这样做,但我可以使用TextOut()结合BeginPath()EndPath()和{{1}来获得混合脚本文本大纲}}

例如,即使使用Arial字体,我也可以获得日文文本「テスト」的路径(使用C ++,但也可以在C中轻松完成):

GetPath()