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

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

Но порядок рендеринга неправильный на Froyo и Gingerbread. Насколько я понимаю, проблема не решена http://code.google.com/p/android/issues/detail?id=4153

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

РЕДАКТИРОВАТЬ: пример,

Строка दिन из values-hi отображается как दनि

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

(На 4.1+ все отображается корректно)


person Alok    schedule 26.11.2012    source источник
comment
Попробуйте использовать другой шрифт хинди, вы можете попробовать что-нибудь из wazu.jp/gallery/Fonts_Devanagari.html< /а>   -  person the100rabh    schedule 26.11.2012
comment
@ the100rabh Я сомневаюсь, что проблема в шрифте, так как он работает для 4.1+   -  person shkschneider    schedule 26.11.2012
comment
Можете ли вы показать, как отображать строки? Это в коде, xml (значения-привет)?..   -  person shkschneider    schedule 26.11.2012
comment
@ the100rabh Я пробовал некоторые другие шрифты Mangal.ttf Akshar.ttf и другие. Но проблема не в шрифте, это известная проблема рендеринга глифа h, как описано в проблеме на code.google.com. Что я хочу знать, так это возможный технический обходной путь для устройств pre ics.   -  person Alok    schedule 26.11.2012
comment
@shkschneider Я добавил образцы строк. Но проблема хорошо известна и задокументирована, как объяснено в проблеме с кодом Google. Я хотел бы что-то, что позволило бы мне правильно отображать их (по крайней мере, для веб-просмотра)   -  person Alok    schedule 26.11.2012
comment
@ Алок, ты нашел решение?   -  person Bipin Chandra Tripathi    schedule 16.03.2013
comment
@BCT К сожалению, я не смог найти решение или обходной путь для этого. Мне пришлось отключить опцию хинди для устройств Pre ICS.   -  person Alok    schedule 18.03.2013
comment
@Alok: Привет, я хотел бы поддерживать язык хинди в своем приложении. Не подскажете, с чего начать?   -  person Mehul Joisar    schedule 17.04.2013
comment
@MehulJoisar Я добавил Unicode Hindi только для устройств с Android версии 4.0 или новее. Для предыдущих версий мне пришлось отключить использование хинди.   -  person Alok    schedule 22.04.2013
comment
@Alok: Это нормально, но я новичок во всем процессе поддержки хинди-шрифта в приложении. Предположим, у меня есть электронная копия хинди-истории в формате word / pdf. Затем how to get its unicode и как отобразить ее в приложении без программы чтения PDF или Quick Office программное обеспечение?   -  person Mehul Joisar    schedule 25.04.2013
comment
@MehulJoisar Я справился с этим в своем приложении «Индуистский календарь», чтобы дать возможность изменить языковой стандарт приложения. Поэтому, как только он поменялся на привет (хинди), он берет ресурсы из папки values-hi. В файлах xml там написан текст на хинди, соответствующий английским.   -  person Alok    schedule 26.04.2013
comment
@Alok: Но как ты получил тексты на хинди? то есть, если у вас есть электронная книга сборника рассказов на хинди, то как вы отобразите это в своем приложении?   -  person Mehul Joisar    schedule 26.04.2013
comment
@MehulJoisar Отображение электронной книги (в формате pdf) — это задача средства визуализации pdf. Я говорю о отображении текста в TextField или WebViews. Я не знаю, как pdf может отображаться внутри приложения.   -  person Alok    schedule 27.04.2013


Ответы (2)


У меня есть альтернативное решение вашей проблемы, но не точное... используйте шрифт....

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

person kamlesh    schedule 02.05.2013
comment
Да, я рассматривал это решение. Но это будет только решение для добавления хинди. Мне нужно было реализовать решение на основе ресурсов Android для реализации нескольких индийских языков (например, тамильского) в Unicode. - person Alok; 03.05.2013

Я не мог найти простой обходной путь для исправления рендеринга везде. Итак, наконец, мне пришлось ограничить функцию языка хинди устройствами с версией Android 4.0 или более поздней.

person Alok    schedule 22.04.2013