我创建了一个Android应用程序,我想显示无条件的bengali句子 为此我完成了以下步骤。
步骤1:我将名为Siyamrupali.ttf
的bengali字体存储在Assets文件夹中。
步骤2:在main.xml文件中,我拿了一个文本视图,显示字符。
第3步:在我的MainActivity中。 Java我写了这个......
public class mainAc extends Activity
{
AssetManager arabi_font;
TextView tx;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tx=(TextView)findViewById(R.id.tv);
try
{
String str="\u0986";
tx.setTypeface(Typeface.createFromAsset(getAssets(),"Siyamrupali.ttf"));
tx.setText(str);
}
catch(Exception ex)
{
tx.setText("font cannot load: "+ ex.toString() );
}
}
然后输出show আ
哪一个是正确的但是当我写String str="\u0986\u09AE\u09Bf"
时;
在MainActivity中。 Java
然后输出显示আমই
但我应该是আমি
我现在可以做些什么来解决这个问题。任何机构都会给我一些建议或链接或示例代码。
答案 0 :(得分:0)
\ u0986 \ u09A \ u09BF不是有效的unicode字符。我担心你为什么没有得到错误。请查看以下内容,如
Unicode character of Bengali scripts
由于
答案 1 :(得分:0)
Android尚未对所有Unicode提供完整的复杂文本布局支持,而孟加拉语matras是一项无法正确渲染的功能。见issue 5925。遗憾!