icu4c opentype harfbuzz 的区别

Posted

技术标签:

【中文标题】icu4c opentype harfbuzz 的区别【英文标题】:difference between icu4c opentype harfbuzz 【发布时间】:2013-02-28 21:39:17 【问题描述】:

这三个开源库在android中使用非常频繁。我只知道这些库是用来处理字体的。 我在想这些图书馆有什么区别,它们是否相互关联?或者他们可以互相替代。

【问题讨论】:

【参考方案1】:

OpenType 不是一个库,它是“智能”字体的标准,是最广泛使用的高级排版格式并支持复杂的书写系统。

ICU 是一个支持 Unicode 的库,它提供了许多功能,如 Unicode 字符属性、Unicode 双向算法实现、编码转换等。 ICU 还提供了一个 OpenType 实现,ICU LayoutEngine,但它不被 Android AFAIK 使用,它也是无人维护的,将在某个时候被 HarfBuzz 取代。

HarfBuzz 是一个文本整形库,简而言之,它需要一个字体、一个文本字符串和一些属性(脚本、语言、可选的 OpenType 特性)并返回一个渲染引擎将绘制它们的字体字形 ID 序列屏幕上。它主要是一个 OpenType 实现,但可以支持其他字体技术。它是一个低级库,需要对字体和文本渲染有所了解才能正确使用。

【讨论】:

以上是关于icu4c opentype harfbuzz 的区别的主要内容,如果未能解决你的问题,请参考以下文章

通过 Harfbuzz 和 FreeType 在文本编辑器中显示混合复杂脚本

[HarfBuzz] HarfBuzz API 设计

Harfbuzz 在字体文件中选择本地斜线字符

记录一次brew 回滚 icu4c 操作

php icu4c 降级

dyld:库未加载:VSCode终端中的/usr/local/opt/icu4c/lib/libicui18n.63.dylib