fonts - “不存在支持的字形形状表”[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 行文件。但这一切都不应该有太大帮助,因为关键是输出。我基本上想知道我应该有什么输出与我有什么。
解决方案
推荐阅读
- jenkins - Terraform Jenkins 集成 - 强制(绕过)自动审批流程
- javascript - JS输出选项选择值作为链接中的get参数
- jsf - p:galleria 在底部没有褪色,就像 PrimeFaces 展示页面上的情况一样
- bash - 运行 .command bash 脚本时出现“未指定的异常”
- asp.net - 使用 .NET Core 对象持久性模型查询 DynamoDB GSI 组合键时出现问题
- java - “在 SpringMVC 中找不到类型的返回值的转换器:类 java.lang.Integer”
- python - 为什么只有在使用 input() 方法时才会收到 TypeError?
- python - 如何从默认的 Django 模型重命名模型字段?
- javascript - 使用函数检查项目是否在数组中,然后从数组中删除该项目
- ios - 在 iOS 13 测试版中,应用程序在应用程序启动时崩溃