当字符串确实包含我默认使用的字体中不存在的字符时,如何判断freetype使用后备字体?
我需要在我的应用程序中正确渲染非拉丁字形。
我必须自己管理一个后备吗?
如果是这样:我如何检测给定字符串中是否有丢失的字形?
答案 0 :(得分:0)
对不起,我不知道你是否需要自己处理后备,但我的猜测是你做的。至于如何检测是否缺少字形,可以使用此方法:FT_Get_Char_index如果返回0,则表示未找到符号。
答案 1 :(得分:0)
GNU Unifont可以作为基本多语种平面(BMP)中每个代码点的后备字体,它是0x0000-0xFFFF
。这应该涵盖您可能遇到的绝大部分内容。可下载here(archive)。
Unicode Last Resort字体可以作为所有平面中每个代码点的最终回退。这些字形仅显示广泛的类别。可供下载here。
看起来您必须检测到FT_Get_Char_Index()为字符explained时没有字形,并且在这些情况下会转到Unifont或Last Resort字体。