修正Android中的印地语(Unicode)渲染

时间:2012-11-26 17:09:55

标签: android unicode hindi

我成功添加了自定义字体(DroidSansFallBack.ttf)来显示印地语字符而不是Pre ICS上的Blocks。无论如何,一切都在4.1+上运作良好。

但是Froyo和Gingerbread的渲染顺序是错误的。 我知道它没有得到解决http://code.google.com/p/android/issues/detail?id=4153

更正渲染的可能解决方法是什么? (我不想使用图像)

编辑: 例如,

दिन来自值的字符串-hi呈现为दनि

नक्षत्र呈现为नक्षतर

(在4.1+上一切正确呈现)

2 个答案:

答案 0 :(得分:0)

我为您的问题提供了另一种解决方案,但不是确切的...... 使用字体....

Typeface tf = Typeface.createFromAsset(getAssets(),"Hindi-SARAL1.TTF"); 

用于नक्षत्र使用.......

 TextView tv = (TextView) findViewById(R.id.textView1);

tv.setText("n95"); 

tv.setTypeface(tf);

和दिन........ unicode值继续没有差距..我给了&#和2367之间的空格;

tv.setText(Html.fromHtml("&# 2367;&# 2342;&# 2344;"));

 tv.setTypeface(tf);

答案 1 :(得分:-1)

我找不到一个简单的方法来解决各地的渲染问题。所以最后我不得不将印地语语言功能限制为具有Android 4.0或更高版本的设备。