1

我正在调用 API 并接收英语和乌尔都语的响应。响应存储在字符串中,乌尔都语部分显示字符文本,如“/u024/”。

我一直在实现这个代码集,它给出的结果与以前的 urdu 字符相同。如果有人可以帮助我解决这个问题

    String fontPath = "urdu.ttf";

    // text view label
    TextView txtGhost = (TextView) findViewById(R.id.ghost);

    // Loading Font Face
    Typeface tf = Typeface.createFromAsset(getAssets(), fontPath);

    // Applying font
    txtGhost.setTypeface(tf);
4

2 回答 2

2

你的 Unicode 回复,试试这个

TextView tv=(TextView)findViewById(R.id.textViewmyView);
final Typeface tf = Typeface.createFromAsset(this.getAssets(),"asunaskh.ttf");
tv.setTypeface(tf);
tv.setText(Html.fromHtml(yourText);

如果上面不起作用,请添加此内容

String str = myString.split(" ")[0];
str = str.replace("\\","");
String[] arr = str.split("u");
String text = "";
for(int i = 1; i < arr.length; i++){
int hexVal = Integer.parseInt(arr[i], 16);
text += (char)hexVal;
}

或这个

textview.setText(Html.from(StringEscapeUtils.unescapeJava(unicode))); //this method

有关更多信息:请参阅如何在 Android 资源中使用 unicode?

如何将具有Unicode编码的字符串转换为字母字符串

于 2015-11-02T13:15:13.087 回答
0

试试这个字体,而不是你当前的字体:http ://www.quran.or.kr/urdu/font/asunaskh.ttf

try {
    txtGhost.setTypeface(Typeface.createFromAsset(this.getAssets(),"asunaskh.ttf"));
    txtGhost.setText("ur text");
}
catch(Exception ex) {
    Log.e("TAG", ex.toString());
}

而且,您在案例中遇到了什么错误?

有关语言支持的更多信息:如何将语言支持添加到 android

于 2015-11-02T12:40:43.573 回答