2015-11-02 6 views
1

Я звоню в API и получаю ответ на английском и урду. Ответ хранится в строке, а урду - текстовый текст типа «/ u024 /».Декодирование кода урду в Android

Я реализую этот набор кодов, который дает тот же результат, что и раньше, для символов урду. Пожалуйста, если кто-нибудь может помочь мне в этом

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); 

ответ

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 

больше: см это How to use unicode in Android resource?

How to convert a string with Unicode encoding to a string of letters

+0

зачем устанавливать шрифт после заданного текста? –

+0

извините моя ошибка –

+0

btw это не сработало. {«успех»: «100», «сообщение»: «успешное», «имя»: «\ u0645 \ u062d \ u0645 \ u062f \ u0639 \ u0628 \ u062f \ u0627 \ u0644 \ u0644 \ u0647 \ u0627 \ u0639 \ u0638 \ u0645 \ u062e \ u0627 \ u0646 "} Это точный возврат из API, хранящийся в строке, а \ u062f \ etc - урду. –

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()); 
} 

И, какие ошибки вы получаете в вашем случае?

Более подробную информацию о языковой поддержке: how to add language support to android

+0

нет ошибок. Он просто не показывает шрифт урду –

Смежные вопросы