跳到主要内容

JEP 258:HarfBuzz 字体布局引擎

概括

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

动机

OpenType布局引擎(例如ICUHarfBuzz)提供脚本感知代码来处理正确呈现阿拉伯语和印度语等脚本文本所需的某些字体表。如果没有这种支持,这些脚本中的文本呈现不仅不正确,而且难以辨认。

ICU OpenType 布局引擎不再积极开发,项目所有者 IBM 打算在ICU 项目中用 HarfBuzz 取代它。 JDK 必须效仿,否则只能使用不受支持且过时的库。

描述

将 HarfBuzz 库的副本合并到 JDK 中,其方式与 ICU 和 JDK 中的其他开源库(例如libpng.集成该本机库以支持复杂文本布局所需的 Java API 和实现,以替代 ICU。

备择方案

HarfBuzz 没有可行的开源替代品。 Pango 等库现在被重新实现为 HarfBuzz 的包装器。

风险和假设

由于不同的实现和使用更新的 OpenType 规范,库之间可能存在一些细微的渲染差异。