4

我刚刚在我的应用程序中创建了一个文本页面,现在我想将此页面的语言动态更改为印度语言,如泰卢固语、泰米尔语、孟加拉语、古吉拉特语和旁遮普语。

我研究了很多,发现只有两种方法可以实现这一点(如果我错了,请纠正我):-

1)使用字符串本地化http://developer.android.com/guide/topics/resources/localization.html。但问题在于,如果 android 手机支持这些语言,那么它可以工作,否则它会显示框代替字体。

2)使用自定义字体更改语言,如

 TextView tv=(TextView)findViewById(R.id.custom);
 Typeface face=Typeface.createFromAsset(getAssets(),"fonts/Verdana.ttf");
 tv.setTypeface(face);

但这里的问题是渲染。字体未正确呈现。

请建议我,我应该选择哪个选项以及如何克服它的限制。

我还想提一下,我想在 Android 2.3 及更高版本上支持它。

4

1 回答 1

0

在 Android 3 之前,您需要使用适当的字体和本地化来显示来自特殊脚本的字符。

对于 Android 3+,大多数时候使用本地化就足够了。阿拉伯语、希伯来语、印度语脚本和其他一些例外情况除外,在这些脚本中,除了本地化之外,您可能还需要适当的字体才能在您的 Android 应用程序中正确显示这些特殊字符。

AFAIK,Verdana仅支持欧洲文字,例如Latin-1Latin Extended-ALatin Extended-BLatin Extended AdditionalBasic GreekCyrillic。而泰卢固语、泰米尔语、孟加拉语、古吉拉特语是南亚文字的一部分- 不确定旁遮普语(有关 Unicode 脚本的更多信息,请参阅Unicode Consortium。)我想你需要找到一种开源字体(所以你没有使用专有字体时支付忠诚度)支持您要在应用程序中实现的脚本。

于 2013-01-14T13:30:11.247 回答