Android 中的 CTL(复杂文本语言)支持

Posted

技术标签:

【中文标题】Android 中的 CTL(复杂文本语言)支持【英文标题】:CTL (Complex Text Language) support in Android 【发布时间】:2011-07-13 06:12:12 【问题描述】:

我正在尝试为亚洲语言开发 android IME(需要复杂的渲染,例如更改字形形式、重新排序字符顺序等)。在PC中,使用GTK、Pango、Graphite就足够了。在 Android 中,如何解决复杂文本语言的 Unicode 渲染问题。

提前致谢

【问题讨论】:

【参考方案1】:

如果你可以使用 NDK,你可以同时使用 harfbuzz 和 freetype。没有任何依赖。 否则你可以坚持使用 Canvas 类提供的 Android drawText 方法。

【讨论】:

【参考方案2】:

您应该使用 Android 中提供的 Harfbuzz 堆栈。如果你在 PC 中的 Pango 中查看,有一个名为 Harfbuzz 的整形器组件。 Android也应该存在。通过此堆栈传递任何亚洲语言即可完成工作(更改字形、重新排序等)

【讨论】:

以上是关于Android 中的 CTL(复杂文本语言)支持的主要内容,如果未能解决你的问题,请参考以下文章

支持 RTL 语言的 Android Justify 可跨文本视图

Qt for Android 开发大坑

Android启动init.rc中service的权限问题

如何在Android中使用汇编语言

AWK ( 一 )

Android里SystemProperties.set("ctl.start", " ")不能开启服务,程序用的是ROOT权限,系统是4.0的。