跳到主要内容

JEP 258:HarfBuzz 字体布局引擎

QWen Max 中英对照

概述​

用 HarfBuzz 替换现有的 ICU OpenType 字体布局引擎。

动机​

一个 OpenType 布局引擎,例如 ICU 或 HarfBuzz,提供了能够识别脚本的代码,用于处理某些字体表,这些表是正确渲染阿拉伯文和印度文等文字所必需的。没有这种支持,这些文字的渲染结果不仅不正确,而且难以辨认。

ICU OpenType 布局引擎已经不再积极开发,项目所有者 IBM 打算在 ICU 项目 中用 HarfBuzz 取代它。JDK 必须跟进这一变化,否则将面临使用不受支持且过时的库的风险。

描述​

以与 JDK 中的 ICU 和其他开源库(例如 libpng)相同的方式,将 HarfBuzz 库的一个副本整合到 JDK 中。集成该原生库以支持 Java API 和实现复杂文本布局所需的实现,作为 ICU 的替代方案。

替代方案​

目前没有可行的 HarfBuzz 开源替代品。像 Pango 这样的库现在正被重新实现为围绕 HarfBuzz 的封装器。

风险与假设​

由于不同的实现方式以及使用了更新的 OpenType 规范,这些库之间可能会存在一些细微的渲染差异。