【发布时间】:2013-02-28 21:39:17
【问题描述】:
这三个开源库在android中使用非常频繁。我只知道这些库是用来处理字体的。 我在想这些图书馆有什么区别,它们是否相互关联?或者他们可以互相替代。
【问题讨论】:
这三个开源库在android中使用非常频繁。我只知道这些库是用来处理字体的。 我在想这些图书馆有什么区别,它们是否相互关联?或者他们可以互相替代。
【问题讨论】:
OpenType 不是一个库,它是“智能”字体的标准,是最广泛使用的高级排版格式并支持复杂的书写系统。
ICU 是一个支持 Unicode 的库,它提供了许多功能,如 Unicode 字符属性、Unicode 双向算法实现、编码转换等。 ICU 还提供了一个 OpenType 实现,ICU LayoutEngine,但它不被 Android AFAIK 使用,它也是无人维护的,将在某个时候被 HarfBuzz 取代。
HarfBuzz 是一个文本整形库,简而言之,它需要一个字体、一个文本字符串和一些属性(脚本、语言、可选的 OpenType 特性)并返回一个渲染引擎将绘制它们的字体字形 ID 序列屏幕上。它主要是一个 OpenType 实现,但可以支持其他字体技术。它是一个低级库,需要对字体和文本渲染有所了解才能正确使用。
【讨论】: