HarfBuzz 是一个文本整形引擎。它主要支持 OpenType,但也支持 Apple Advanced Typography。 HarfBuzz 用于 Android、Chrome、ChromeOS、Firefox、GNOME、GTK+、KDE、Qt、LibreOffice、OpenJDK、XeTeX、PlayStation、Microsoft Edge、Adobe Photoshop、Illustrator、InDesign、Godot Engine、Unreal Engine 等地方。
有关错误报告、邮件列表和其他信息,请访问:
http://harfbuzz.org/
有关许可证信息,请参阅复制。
有关用户手册以及 API 文档,请查看:https://harfbuzz.github.io
有关 HarfBuzz 的 tarball 版本,请查看此处。在同一位置,您还可以找到 Win32/Win64 二进制包,其中包括libharfbuzz
DLL、 hb-view.exe
、 hb-shape.exe
和所有依赖项。
规范的源代码树可以在 github 上找到。
hb.h
自带的API不会发生不兼容的变化。其他外围设备标头更有可能进行较小的修改,但我们再次尽力不以不兼容的方式更改 API。我们永远不会破坏 ABI。
如果您不确定 Pango 还是 HarfBuzz 是否适合您,请阅读 Pango 与 HarfBuzz 对比。
有关构建信息,请参阅 BUILD.md。
对于自定义配置,请参阅 CONFIG.md。
有关测试和分析,请参阅 TESTING.md。
为了更好地了解 HarfBuzz 在文本渲染堆栈中的地位,您可能需要阅读 State of Text Rendering 2024。以下是多年来在国际化和 Unicode 会议上关于 HarfBuzz 的一些演示幻灯片:
围绕 HarfBuzz 的开发和用户支持讨论都在 github 上进行。
要报告错误或提交补丁,请使用 github issues 和 pull-requests。
有关新旧 HarfBuzz 内存消耗的比较,请参阅此内容。
HarfBuzz(Эрف巴巴)是“OpenType”的波斯语直译,使用拉丁字母音译。它还意味着“健谈”或“油嘴滑舌”(也是对 HarfBuzz 起源的 GNOME 项目的致敬)。
背景: 最初有一种称为 TrueType 的字体格式。人们和公司开始将他们的类型引擎称为所有以 Type 结尾的东西:FreeType、CoolType、ClearType 等。然后出现了 OpenType,它是 TrueType 的后继者。因此,对于我的 OpenType 实现,我决定坚持这个概念,但使用波斯语翻译。这是合适的,因为波斯语是用阿拉伯脚本编写的,而 OpenType 是 TrueType 的扩展,增加了对复杂脚本渲染的支持,而 HarfBuzz 是 OpenType 复杂文本整形的实现。