工具介绍
完整的 harfbuzz 形状算法移植到 Rust
注意: 此项目没有进一步开发,不维护,已归档。我们建议所有用户使用 HarfRust 代替。
主要变更
- 子集已删除。ttf-parser完全处理了 TrueType 解析。虽然解析算法有很大不同,但并不更好或更差,只是不同而已。- 格式不正确的字体会导致错误。HarfBuzz 在此情况下使用了备用/虚拟形状器。- 没有字体大小属性。形状器始终使用 UnitsPerEm。您应该手动缩放结果。- 大部分的 TrueType 和 Unicode 处理代码都被移到单独的 crate 中。- rustybuzz 不提供与外部库的集成,因此不支持 FreeType、CoreText 或 Uniscribe/DirectWrite 的字体加载集成,也不支持 ICU 或 GLib 的 Unicode 函数集成,以及不支持
graphite2 库。- mort 表不受支持,因为 Apple 已经弃用了它。- 没有阿拉伯语的备用形状器。这需要能够动态构建查找表。在 HarfBuzz (C++) 中,这需要与子集相关的序列化代码。- avar2 以及其他无聊扩展规范的部分尚未受支持。
性能