我是android新手.我想知道android是否支持Unicode.如果是,那么我们如何通过java代码使用它.我写了一个程序
TextView tv = new TextView(this);
tv.setText("Hello, ?????");
setContentView(tv);
Run Code Online (Sandbox Code Playgroud)
孟加拉语的unicode角色就像盒子一样.
提前致谢.
Sah*_*aja 34
"支持Unicode" - 这只是一个字符编码标准 - 并以可以正确读取的方式显示Unicode文本是完全不同的事情.
后者需要有关脚本的正确字体和复杂的文本呈现引擎,该引擎应用嵌入在字体中的规则来正确显示文本.在Windows中,它由名为Uniscribe的系统库,ATSUI在Apple系统上以及Pango在Linux系统上处理.Android基于Linux,但遗憾的是Google似乎已经删除了处理复杂脚本的部分.(这是一个相当奇怪的决定,因为大多数Android设备都用于通信,包括文本.)使用基于Linux的操作系统(如Nokia N9和N900),复杂脚本在其他移动设备上运行良好
Android还使用户难以安装可供不同应用程序使用的其他字体或键盘布局,而无需"生根"他们的手机或平板电脑.
一些Android设备制造商已经实现了自己的支持(例如,索尼爱立信的ST和MT系列手机似乎非常支持梵文和其他印度语片段.)在一些Android手机上,印度语脚本将在浏览器中呈现正常 - 因为浏览器开发者已经添加了自己的支持 - 但不会在其他应用程序中工作.
请参阅:http://code.google.com/p/android/issues/detail?id = 4153
在Android中正确修复此问题之前,对于想要使用梵文,泰米尔语,孟加拉语,卡纳达语,旁遮普语,泰卢固语,藏语,高棉语,僧伽罗语,马拉雅拉姆语,缅甸语等脚本的用户来说,运行此操作系统的大多数设备似乎都是一个糟糕的选择.等等在他们的智能手机或平板电脑上.
需要修复以支持复杂脚本的Android部分是libskia.so和libwebcore.so.因此,如果您正在编写支持印度语言的应用程序,您可能希望尝试使用自己的修改版本替换这些库.
Android确实支持Unicode,但包含的字体不包括所有Unicode字符,并且渲染不支持所有类型的脚本.特别是,所包含的字体仅涵盖西欧(拉丁文),西里尔文,希腊文和CJK字符.即使您安装了新字体,似乎Android也没有正确支持像Devanagari这样的某些形式的文本文本布局,如错误4153中所述.我不太熟悉孟加拉语脚本,知道它是否需要任何像Devanagari那样的特殊渲染,但如果确实如此,那么即使您安装了支持它的字体,它也可能在Android上不受支持.
| 归档时间: |
|
| 查看次数: |
48504 次 |
| 最近记录: |