Android 2.3 不支持印度文(hindi),即使你指定了相关的字符串也不行,它们一律显示为方格。

实际上,你在系统的语言设置界面也可以看到,印度文一行也是被显示为方格(既然是方格,如何知道它是印度文呢?写程序测试一些就知道了)。

对于这个问题,很多人第一反应是编码问题,但是实际上不是,真正的原因是字体缺失所导致的。

可以在Android 4.2系统中找到印度文相关的字体:DroidHindi.ttf,也可以在这里下载:下载

如果你期望整个系统支持印度文,可能需要root手机,然后将DroidHindi.ttf拷贝到系统字体目录,具体我没有研究过。

但是,如果你只是希望自己的app支持印度文,那么做法比较简单:

1.将DroidHindi.ttf作为assets资源;

2.使用Typeface.createFromAsset创建字体;

3.为TextView应用该字体。

下面的链接有关于此问题的讨论,可供参考:

https://code.google.com/p/android/issues/detail?id=12981

05-07 15:14