У меня есть статический html файл "myhtml.html", хранящийся в моем каталоге assets/html/, и этот html загружает пользовательский шрифт (хранящийся под активами/шрифтами/) следующим образом:
<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, кроме Android 4.2 (API 17).
В Android 4.2 загружается HTML, но пользовательский шрифт не загружается.