Невозможно видеть символы индийского языка даже в Android 2.3 - PullRequest
1 голос
/ 24 января 2011

Я установил String myText = "\ u2327 \ u2381 \ u2352 \";и попытаться отобразить его в Textview, но я просто вижу 3 прямоугольника в эмуляторе Android.Хотя в примечании к выпуску android 2.3 сказано, что хинди поддерживается, я все равно не вижу в эмуляторе символа хинди.

Ответы [ 7 ]

2 голосов
/ 30 октября 2011

Даже если у вас установлен шрифт Devanagari, вы не сможете правильно отобразить текст на хинди на телефонах Android.

Одинаковые яблоки для всех сложных индийских шрифтов (бангла, деванагари, каннада, тамильский, телегу, тибетский, пенджабский, сингальский и т. Д.)

Проблема в том, что, хотя Android «поддерживает Unicode», нет сложной поддержки рендеринга скриптов - даже в эмуляторе Andoid 4.0 (ICS). Из-за этого буквы не соединяются, чтобы правильно образовать конъюнкты, и поэтому текст довольно нечитаем.

Пока Google не исправит этот индийский язык не будет отображаться должным образом.

Это на самом деле не составит большого труда для них исправить. В Linux (на котором основан Android) сложный рендеринг текста для индийских сценариев поддерживается библиотекой, известной как Pango или Harfbuzz с открытым исходным кодом, но по какой-то причине (отсутствие реального интереса к рынку Индии и Южной Азии?) Google решил не реализовывать это в Android.

Индикаторные скрипты отлично работают на телефонах, которые используют другие операционные системы на базе Linux, такие как Nokia N900. Даже некоторые телефоны Symbian могут отображать индийский текст через поддержку в Qt.
Apple iPhone теперь также правильно отображает индийские языки.

Если Google и их производители заботятся о продаже телефонов Android в Индии, им действительно необходимо срочно устранить этот дефект.

1 голос
/ 02 июня 2011

У меня Samsung Galaxy S. Я установил DDJV6, используя Kies поверх JP6.Но я чувствую себя абсолютно обманутым Samsung, так как этот так называемый «Индийский релиз» не поддерживает шрифты хинди или индийский.Я говорю о чтении хинди.Что касается ввода текста, хинди даже не отображается как язык ввода данных.Позор Samsung, что он не может использовать присущие им пряники!Я говорю об этом потому, что даже официальный релиз Galaxy S от Froyo в Индии мог правильно отображать шрифты хинди.Было много заявлений о том, что Gingerbread будет поддерживать 52 языка (как для чтения, так и для письма), и вот этот Samsung, который не может даже отобразить возможности чтения индикаторов в Galaxy S на базе Android 2.3.3.

1 голос
/ 24 января 2011

Вы можете использовать DroidHindi.ttf шрифт (например, поиск в google.com).Добавьте его в папку assets в своем проекте и загрузите этот шрифт в ваши Views.

Typeface t = Typeface.createFromAsset(getContext().getAssets(), "DroidHindi.ttf");
textView.setTypeface(t);
1 голос
/ 24 января 2011

Телефоны Android не поставляются с ошибкой хинди по умолчанию.

Вы должны убедиться, что используете пользовательский шрифт хинди.

Создайте папку с именем fonts в папке assests.

Поместите свой custom_font_hindi.ttf в assets/fonts.

 Typeface tf = Typeface.createFromAsset(getAssets(),"fonts/custom_font_hindi.ttf");
        TextView tv = (TextView) findViewById(R.id.CustomFontText);
        tv.setTypeface(tf);

Тогда вы увидите нужный шрифт хинди в вашем TextView

1 голос
/ 24 января 2011

Индийские языки в настоящее время не поддерживаются во многих устройствах, включая эмулятор.

Только устройства Samsung, продаваемые в Индии, поддерживают хинди.

Вы не одиноки с этимпроблема друг!: -)

0 голосов
/ 14 мая 2015

Я нашел решение для Как использовать шрифт хинди в Android.Это очень простое решение.Но трудно исправить шрифт хинди.

использовать

DroidHindi.ttf

это шрифт, который поддерживает язык хинди.

Загрузите его и поместите в папку «Активы».Выполните следующий код для установки шрифта:

TextView tv = (TextView) findViewById(R.id.textView);       

Typeface fontHindi = Typeface.createFromAsset(getAssets(),    "fonts/DroidHindi.ttf");      

tv.setTypeface(fontHindi);

Теперь вы можете легко найти свое решение.

Кроме того, вы можете поместить текст на хинди в файл .txt ичитать из этого также.Вот так.

Поместите все файлы хинди .txt в папку «Активы» и вызовите функцию для получения текста на хинди, например:

public void readData(int tag) {


        // file to inputstream
        InputStream input = null;
        try { 

             int tagV = tag +1;

             input = ctx.getAssets().open("sample "+tagV+".txt");

             int size = input.available();
             byte[] buffer = new byte[size];
             input.read(buffer);
             input.close();

            // byte buffer into a string

             detailtext = new String(buffer);
         } catch (IOException e) {

             e.printStackTrace();
         }

     }

Я использую 15 файловвот так я прохожу петлю.

0 голосов
/ 24 января 2011

Похоже на проблему со шрифтом, попробуйте настроить TextView на использование шрифта с подходящими глифами.

...