这三个开源库在android中使用非常频繁。我只知道这些库是用来处理字体的。我在想,这些库之间的区别是什么,它们之间是否相互关联?或者它们可以互相替代。
发布于 2013-04-11 04:40:10
OpenType不是一个库,它是“智能”字体的标准,“智能”字体是用于高级排版和支持复杂书写系统的最广泛使用的格式。
ICU是一个支持Unicode的库,它提供了许多特性,比如Unicode字符属性、Unicode双向算法实现、编码转换等等。ICU还提供了一个OpenType实现,ICU LayoutEngine,但Android AFAIK没有使用它,它也没有维护,将来会被HarfBuzz取代。
HarfBuzz是一个文本整形库,简而言之,它接受一个字体,一个文本字符串和一些属性(脚本,语言,可选的OpenType特性),并返回一系列字体字形ids,渲染引擎将在屏幕上绘制它们。它主要是一个OpenType实现,但可以支持其他字体技术。它是一个低级库,需要对字体和文本渲染有一定的了解才能正确使用。
https://stackoverflow.com/questions/15377088
复制相似问题