首页 > 解决方案 > “不存在支持的字形形状表”[OpenType 字体]

问题描述

运行此命令时出现这些错误:

fontbakery check-googlefonts FontRegular.otf
  • dsig 表
  • 等宽字体的 hhea.advanceWidthMax 等于每个字形的 AdvanceWidth?
  • 检查等宽元数据的正确性。
  • 检查字体版本字段(头部和名称表)。
  • FAIL: head version is ('1', '000'), name version string for platform 1, encoding 0, is ('0', '000') [code: mismatch]
  • 错误:AssertionError 失败:offSize 太大:185
  • 失败:以下代码点缺少空白字形:0x0020、0x00A0。
  • 字体包含 .notdef 作为第一个字形?
  • 错误:AssertionError 失败:offSize 太大:185
  • 失败:OS/2 sTypoAscender 和 hhea ascent 必须相等。[代码:上升器]
  • FAIL: OS/2.usWinAscent 值应该等于或大于 200,但得到了 0 [code: ascent]
  • 警告:即使此字体中的 unitsPerEm (1000) 是合理的。强烈建议考虑将其更改为 2000,因为它会通过避免插值时过度舍入坐标来提高可变字体的质量。
  • 失败:字体缺少“EURO SIGN”字符(unicode:0x20AC)
  • 字体是否应用了旧的 ttfautohint?
  • 警告:OS/2 VendorID 值“XXXX”不是已知的注册 ID。您应该将其设置为您自己的 4 字符代码,并在https://www.microsoft.com/typography/links/vendorlist.aspx [代码:未知]向 Microsoft 注册该代码
  • 失败:“FontRegular.otf”中使用的样式名称不规范。您应该使用 ots-sanitize 重建字体检查。
  • 失败:ots-sanitize 返回错误代码 (1)。输出如下:
    • 警告:错误的搜索范围
    • 警告:差速档
    • 警告:表目录未正确排序
    • 警告:名称:名称记录未排序。
    • 警告:名称:名称记录未排序。
    • 错误:不存在支持的字形形状表
    • 无法清理文件!

主要的是最后一个。它似乎也与我遇到的另一个错误有关(来自 Mac 验证器):

kATSFontTestMessageTextKey sfnt:字体包含“sfnt”数据但没有可识别的字形数据。

我不确定这是否是因为我的字形定义不完全正确,或者是什么。因为我的CFF2表格中确实有字形。或者也许我需要有glyf桌子来代替或除了CFF2桌子。任何帮助,将不胜感激。我在CharStrings INDEX中有字形数据。我不得不问:我什至不确定 CFF2 是否有效。有兴趣知道它是否真的有效,或者我应该使用 TTF,或者只是 CFF。

了解这意味着什么也将有所帮助:

等宽字体的 hhea.advanceWidthMax 等于每个字形的 AdvanceWidth?

我使用的代码来自OpenType.js。我添加了对 CFF2 的支持。我将 OpenType.js 移植为 1 > 3000 行文件。但这一切都不应该有太大帮助,因为关键是输出。我基本上想知道我应该有什么输出与我有什么。

标签: fontsopentype

解决方案


推荐阅读