android还没有为i18n做好准备。
简单的如下一个问题
1:文本渲染就还没有准备好。
比如简单的bidi支持的有问题,目前只支持hebrew的bidi,
简单的arabic的bidi支持的都有问题。
文本渲染是比较复杂的实际上,可以参考这个网页
这个网页最后更新在2010还算比较新了。
要看arabic的网页?
注意阿拉伯文是从右往左的,但是中间如果夹着英文或者数字
还是按照从左往右的,遇到特殊字符相连的时候字型会变化,
特定的组合的时候两个字符会合并成一个字符。
字体的layout engine, shape engine
http://developers.sun.com/dev/gadc/technicalpublications/presentations/iuc14.pdf
关于bidi
fribidi,icu,
pango,m17n,icu等等。
freetype目前是不管layout的。
android无法使用fontconfig来选字。
kernel和linux共用,kernel部分是支持国际化的。
但是gui部分就不行了,
还有就是使用习惯的问题。
简单的比如文本选择,RTL的字体的输入。插入。
layout的计算也不灵活。
android的图形系统一直大改之中。
原型是高通的msm芯片。
字体本身有多种,bitmap和ttf,ttf的实现又有多种。所以有freetype,各种语言的复杂性,简单的说比如arabic的 字符合并
横排竖排的字体,RTL的排版等,各种字符编码的支持。kernel
已经支持,主要是上面。
字体显示因为有freetype,所以有字体就可以了
简单而言,就是文本处理方面缺乏CTL(complex text layout)
支持,所以arabic,Tibet,tamil,等等,都无法支持。
不过这个也受限于android目前的layout机制,要彻底解决。
改动不小,目前的staticlayout和dynamic layout的机制还有
就是文本选择,文本定位方面都需要修改。
阅读(1657) | 评论(0) | 转发(0) |