Исправление рендеринга хинди (Unicode) в Android

1

Я успешно добавил пользовательский шрифт (DroidSansFallBack.ttf), чтобы отображать символы хинди вместо блоков на Pre ICS. Все хорошо работает на 4. 1+ в любом случае.

Но порядок рендеринга неверен для Froyo и Gingerbread. Я понимаю, что это не разрешено http://code.google.com/p/android/issues/detail?id=4153

Каковы возможные обходные пути для исправления рендеринга? (Я не хочу использовать изображения)

EDIT: Пример,

दिन строка из значений - hi отображается как दनि

नक्षत्र отображается как नक् ष त र

(В 4. 1+ все отображается правильно)

  • 0
    Попробуйте использовать другой шрифт на хинди, попробуйте что-нибудь из wazu.jp/gallery/Fonts_Devanagari.html
  • 0
    @the100rabh the100rabh Я сомневаюсь, что проблема в шрифте, так как он работает для 4.1+
Показать ещё 11 комментариев
Теги:
unicode
hindi

2 ответа

0
Лучший ответ

Я не мог найти простую работу для исправления рендеринга повсюду. Поэтому, наконец, мне пришлось ограничить функцию языка хинди устройствами, имеющими версию Android версии 4.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);

  • 0
    Да, я рассмотрел это решение. Но это будет только решение для добавления хинди. Мне нужно было реализовать решение на основе ресурсов Android для реализации нескольких индийских языков (таких как тамильский) в юникоде.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню