长话短说,我在不使用 FreeType 或 HarfBuzz(出于各种原因)的情况下渲染字体,通过手动解析 TrueType 和衍生格式以提取元数据和字形信息,然后在运行时从其轮廓构建位图和距离字段。我关心的是必要的可靠字形替换,即必须根据语言规则将某些序列替换为另一个。
我不清楚的是通常可以假设 GSUB 表有多可靠。换句话说,例如,期望阿拉伯字体应该提供一个填充的 GSUB 表,其中包含阿拉伯文字所需的替换,这是否合理?或者,鉴于这是每个脚本,是否通常假设字体只会提供特殊的每个字体替换,而假设整形引擎将任何每个脚本替换作为全局规则处理?我不担心替换的字形可能不可用,因为在这种情况下系统会搜索回退,否则会恢复到原始序列。
显然,为每个脚本设置一个全局规则集作为后备是完全可靠的,但我希望尽可能地减少这一点。很抱歉,这不完全是一个经验性问题,但我很难找到有关这方面的大量信息,而不必实际检查各种字体的大量样本。该概述似乎表明将定义每个脚本的替换,但鉴于表是模块化的,当然不能保证甚至会有一个表,更不用说所需的定义了。如果做不到这一点,是否有任何已知的各种脚本替换数据库?