我正在为OpenGL编写一个简单的位图字体渲染器,我想同时渲染一些Unicode字符。然而,在许多字体中,一些字符会丢失并被渲染成方块。这些方块会浪费我的纹理空间,我想把它们去掉。是否有WinAPI函数可以检测在使用特定字体的情况下,某个特定字符是否会被渲染成豆腐块?
我正在使用GDI,使用
目前,我考虑通过比较像素来检测豆腐块的光栅形式,这种方法有点奇怪。它还需要我获取一些特定字体肯定没有的Unicode字符,以便获取“模板”进行比较。我猜我迟早会遇到麻烦。
我正在使用GDI,使用
CreateDIBSection
创建离屏位图,然后使用CreateFontIndirect
获取字体,并使用ExtTextOutW
呈现字形。目前,我考虑通过比较像素来检测豆腐块的光栅形式,这种方法有点奇怪。它还需要我获取一些特定字体肯定没有的Unicode字符,以便获取“模板”进行比较。我猜我迟早会遇到麻烦。
WCRANGE
结构没有为代理对保留空间... - andlabsCreateDIBSection
创建一个离屏位图,然后使用CreateFontIndirect
获取字体,并使用ExtTextOutW
逐个呈现字形。 - the swineGetGlyphIndices()
或ScriptGetCMap()
。 - Remy Lebeau