JEP 258: HarfBuzz Font-Layout Engine | HarfBuzz 字体布局引擎
摘要
将现有的 ICU OpenType 字体布局引擎替换为 HarfBuzz。
动机
OpenType 布局引擎(如 ICU 或 HarfBuzz)提供了处理某些字体表以正确渲染阿拉伯语和印度语等脚本文本所需的脚本感知代码。如果没有这种支持,这些脚本文本的渲染将不仅是不正确的,而且难以辨认。
ICU OpenType 布局引擎已不再积极开发,IBM 作为项目所有者计划在ICU 项目中将其替换为 HarfBuzz。JDK 必须跟进,否则就只能继续使用不受支持和过时的库。
描述
以与 ICU 和 JDK 中其他开源库(如 libpng)相同的方式将 HarfBuzz 库的副本合并到 JDK 中。将该本地库集成到支持 Java API 和实现的 JDK 中,用作替代 ICU 进行复杂文本布局所需的功能。
替代方案
没有可行的开源替代方案可以取代 HarfBuzz。一些库,如 Pango,正在重新实现为围绕 HarfBuzz 进行封装。
风险和假设
由于不同的实现和对更现代 OpenType 规范的使用,这些库之间可能存在一些轻微的渲染差异。