2014-09-01 2 views
0

Приложение для Android не отображает арабский шрифт правильно в представлении, которое отображает радио-плеер и текст. Я получаю символы в арабском тексте (проценты поют, авторские права и зарегистрированные знаки торговой марки, двойные знаки больше, чем n, знак +/-, двойные запятые ... ВСЕ, смешанные с арабскими символами)., столкнувшись с проблемой рендеринга аравийского шрифта, правильно андроидное приложение

Вот отрывок из файла класса Java:

private void setTypeFace(){ 
     int os_version = ((MiraathRadio)getApplication()).os_version; 
     if(os_version < 9){ 
      Typeface tf = Typeface.createFromAsset(getAssets(), fontpath); 
      audioTitle.setTypeface(tf); 

      tf = Typeface.createFromAsset(getAssets(), fontpathFroyo2); 
      stationTitle.setTypeface(tf); 

      tf = Typeface.createFromAsset(getAssets(), fontpathmotlak); 
      listenerNomber.setTypeface(tf); 

     } 

     else { 

      Typeface tf = Typeface.createFromAsset(getAssets(), fontpath2); 
      audioTitle.setTypeface(tf); 

      tf = Typeface.createFromAsset(getAssets(), fontpathArabic2); 
      stationTitle.setTypeface(tf); 

      tf = Typeface.createFromAsset(getAssets(), fontpathmotlak); 
      listenerNomber.setTypeface(tf); 

     } 
    } 

Я установил Tahoma, Froyo, и mcs_jf2 шрифты (все TTF) и до сих пор он не будет корректно отображать.

Я попытался использовать файл класса Arabizer и Farsi для подключения, но теперь воспользоваться.

У меня есть скриншот проблемы, если кто-то хочет ее увидеть.

Что я делаю неправильно ???

Любая помощь будет принята с благодарностью!

Спасибо! ironmantis7x

strange arabic text

Я отправляю код, в котором я устанавливаю текст:

private void setTypeFace(){ 
     int os_version = ((MiraathRadio)getApplication()).os_version; 
     if(os_version < 9){ 
      Typeface tf = Typeface.createFromAsset(getAssets(), fontpath); 
      audioTitle.setTypeface(tf); 

      tf = Typeface.createFromAsset(getAssets(), fontpathFroyo2); 
      stationTitle.setTypeface(tf); 

      tf = Typeface.createFromAsset(getAssets(), fontpathmotlak); 
      listenerNomber.setTypeface(tf); 

     } 

     else { 

      Typeface tf = Typeface.createFromAsset(getAssets(), fontpathArabic3); 
      audioTitle.setTypeface(tf); 

      tf = Typeface.createFromAsset(getAssets(), fontpathArabic3); 
      stationTitle.setTypeface(tf); 

      tf = Typeface.createFromAsset(getAssets(), fontpathArabic3); 
      listenerNomber.setTypeface(tf); 

Я потерял здесь. Любые указатели и помощь были бы замечательными.

ironmantis7x

+0

Вы пробовали с различными арабскими шрифтами .. ?? – SilentKiller

+0

Да, у меня есть ... вещь, какой арабский шрифт лучше всего использовать ??? – ironmantis7x

+0

который выглядит хорошо, что будет лучше. вы можете проверить его только путем его реализации. – SilentKiller

ответ

1

Alhamdulillah !!! Нашел вопрос !!!

Кодирование было неправильным ... Предыдущий разработчик поставил «windows-1256» в качестве типа кодировки. Я изменил его на «utf-8», и он работает отлично!

Спасибо всем за вашу помощь !!!

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