我正在尝试使用ICU进行复杂脚本的布局。它在布局引擎用户指南(http://userguide.icu-project.org/layoutengine)中有一个示例。它看起来很简单,但是当我开始在示例代码中测试它时,我陷入了创建。ICU布局引擎
它没有任何东西来迎合特定的字体类型(ttf/otf等)。他们给出了一个在letest.cpp
文件中定义和使用PortableFontInstance
中的ttf字体的示例。我从所有这些信息中收集到的信息是,如果我们想要通过名称选择特定的字体,我们必须编写一个新类,它继承自LEFontInstance
并自己选择字体。
这对我来说非常令人沮丧,因为我认为众所周知的字体格式和系统字体表的使用应该被合并到这样的库中,否则我作为用户必须实现字体读取和选择的所有功能。之后,布局引擎可以处理字形。
是否值得使用ICU进行复杂脚本的布局(如SDK和Windows为系统字体表中的字体提供了足够的支持)?
如果我使用ICU布局引擎,涉及哪些工作? (我可以看到我必须自己处理所有的字体格式。)
还有什么我在这里失踪?
另外我知道这是一个非常有用的api的Unicode转换和正则表达式库。 – Saba
你看过ICU布局样本吗? icu/source/samples/layout –