【问题标题】:freetype use fallback for missing glyphsfreetype 对丢失的字形使用后备
【发布时间】:2013-04-19 09:18:57
【问题描述】:

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

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

我必须自己管理回退吗?

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

【问题讨论】:

  • Unicode Last Resort 字体可用于download
  • GNU Unifont 可以作为一种很好的备用字体,因为它包含基本多语言平面 (BMP) 中每个代码点的字形。服务器目前似乎处于离线状态,但您可以在archive.org 找到存档的内容。
  • 我觉得到目前为止这个问题的答案很差。后备字体是一个在 GUI 中得到很好实现的概念,令我惊讶的是,freetype 会期望你从零开始重新实现它们。使用“最后的手段”字体或像素化 Unifont 并不能解决问题。您想显示一个好的字形,使用适当的安装字体,而不仅仅是任何字形。

标签: freetype freetype2


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    看起来您必须将FT_Get_Char_Index() 的字形缺失检测为智能explained,在这种情况下,请使用 Unifont 或 Last Resort 字体。

    【讨论】:

      猜你喜欢
      • 2020-06-16
      • 1970-01-01
      • 1970-01-01
      • 2020-08-07
      • 2011-08-07
      • 2011-03-03
      • 2012-12-24
      • 2019-04-15
      • 1970-01-01
      相关资源
      最近更新 更多