2010-12-08 3 views
4

Я переношу приложение, отображающее иврит на Android 2.3. Эмулятор 2.3 отображает строки правильно, когда в TextView, но когда я пытаюсь поместить строки в WebView, веб-просмотр просто отображает тарабарщину.Android 2.3 Ивритские шрифты в Webview

Это говорит мне, что в эмуляторе доступны ивритские шрифты, но код веб-прочтения отсутствует.

Это код:

 WebView mWebView = (WebView) findViewById(R.id.webview); 
    mWebView.loadData("<html><body>"+temp1 +"</body></html>", 
      "text/html", "UTF-8"); 

Любые идеи о том, как получить эмулятор для корректного отображения WebView.

+0

Добро пожаловать в Stackoverflow. Пожалуйста, просмотрите свои предыдущие вопросы и отметьте лучший ответ как «правильный» ответ, установив флажок рядом с ответом. – 2010-12-08 21:33:16

+0

Пожалуйста, закройте этот вопрос, он уже достаточно подробно ответил ниже (в комплекте с фрагментами кода даже). – evandrix 2011-09-02 01:35:58

ответ

1

Я изменил шрифт WebView, добавив

  mWebView.getSettings().setFixedFontFamily("DroidSansHebrew.ttf"); 

текст отображается в правильном шрифте, но влево-вправо, которая не является правильной ориентацией на иврит.

2

Когда вы показываете страницу, вы не предоставляете браузеру возможность узнать, что ваша страница использует скрипт справа налево.

Вы можете использовать атрибут HTML dir в элементе разметки, который окружает текст справа налево (он должен автоматически определять, какие символы следует отменить, а какие нет). (Для получения более подробной информации, смотрите на this note from W3C - это, кажется, реализована в Chrome по крайней мере.)

Вероятно, наиболее целесообразным способом было бы переписать первый тег как:

<html dir="rtl"> 
Смежные вопросы