6

当字符串确实包含我作为默认字体使用的字体中不存在的字符时,我如何告诉 freetype 使用后备字体?

我需要在我的应用程序中正确渲染非拉丁字形。

我必须自己管理回退吗?

如果是这样:如何检测给定字符串中是否缺少字形?

4

2 回答 2

1

对不起,我不知道你是否需要自己处理后备,但我猜你会这样做。至于如何检测是否缺少字形,可以使用以下方法:FT_Get_Char_index如果返回0,则表示未找到符号。

于 2013-09-28T08:50:48.870 回答
1

GNU Unifont 可以作为基本多语言平面 (BMP) 中每个代码点的备用字体,即0x0000-0xFFFF. 这应该涵盖您可能遇到的绝大多数情况。可在此处下载(存档)。

Unicode Last Resort 字体可以作为所有平面中每个代码点的最终后备。这些字形仅显示广泛的类别。可在此处下载。

正如SMart解释的那样,您似乎必须使用FT_Get_Char_Index()检测字形的缺失,在这些情况下,请使用 Unifont 或 Last Resort 字体。

于 2016-08-23T14:09:47.607 回答