我需要将字体渲染到3D游戏世界中,因此我使用GetGlyphOutline轮廓函数来获取字形以呈现为纹理。但是,我希望能够处理给定字体中不存在字符的情况(亚洲其他国际文本通常就是这种情况)。 Windows文本呈现将自动替换具有所需字符的字体。但GetGlyphOutline不会。如何检测此案例,并获取替换字形的轮廓? Mac OS X Core Text有一个函数来获取给定字体和字符串的匹配替换字体 - 在Windows上是否有类似的东西?
答案 0 :(得分:2)
找出我需要了解的内容:IMLangFontLink interface,尤其是MapFont方法包含了查找应在Windows上使用哪些替换字体所需的功能。
答案 1 :(得分:1)
我也对GetGlyphOutline
感到困惑。我不确定您是否能够这样做,但我可以使用TextOut()
结合BeginPath()
,EndPath()
和{{1}来获得混合脚本文本大纲}}
例如,即使使用Arial字体,我也可以获得日文文本「テスト」的路径(使用C ++,但也可以在C中轻松完成):
GetPath()