2013-03-04 2 views
11

У меня есть статический html-файл «myhtml.html», хранящийся в моем каталоге assets/html /, и этот html загружает пользовательский шрифт (хранящийся под активами/шрифтами /) следующим образом :Проблема с загрузкой пользовательских шрифтов в Android 4.2 (API 17)

<style type="text/css"> 
    @font-face { 
     font-family: 'MyFont'; 
     src: url('file:///android_asset/fonts/myfont.ttf'); 
    } 
</style> 

Я загрузке HTML, используя следующий код:

String html = getHtml(); // This method loads the myhtml.html from asset. This loads properly. 
WebView webView = (WebView) findViewById(R.id.webbox); 
WebSettings webSettings = webView.getSettings(); 
webSettings.setDefaultTextEncodingName("utf-8"); 
webSettings.setFixedFontFamily("fonts/myfont.ttf"); 
webView.loadDataWithBaseURL("file:///android_asset/", html, "text/html", "UTF-8", null); 

этот код работает тонкие все андроид версии, кроме Android 4.2 (API 17).

В Android 4.2 загружается HTML, но пользовательский шрифт не загружается.

+1

такая же проблема здесь –

+0

Фактически, это использовалось для работы с API 17. Я подозреваю, что он был поврежден последним обновлением патча. – Christopher

+0

Такая же проблема здесь. –

ответ

2

Я думаю, что это ошибка. Я подал https://code.google.com/p/android/issues/detail?id=54516

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

1

Пожалуйста, используйте (svg font). он работает для меня

0

У меня такая же проблема. Изменение

webView.loadDataWithBaseURL("file:///android_asset/", html, "text/html", "UTF-8", null); 

в

webView.loadDataWithBaseURL("http://example.com", html, "text/html", "UTF-8", null); 

устраняет проблему.

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