Android WebView для загрузки веб-сайта с помощью шрифтов TextKit

Я разработал веб-приложение с использованием Android WebView. Предполагается загрузить мой веб-сайт, который использует шрифты Typekit. Проблема в том, что мое веб-приложение не может открыть сайт с реальными шрифтами, однако браузер Google Chrome или Android по умолчанию может сделать это успешно.

Разве шрифты TextKit не поддерживаются в Android WebView? Есть ли способ заставить Android WebView загружать веб-сайт с помощью шрифтов TypeKit?

заранее спасибо

Сумит


person sumit    schedule 18.10.2013    source источник
comment
Эй, у вас есть файл шрифта, который вы хотите использовать для веб-просмотра, я имею в виду файл .ttf?   -  person Brijesh Patel    schedule 18.10.2013
comment
Шрифты typeKit — это специальные шрифты, которые загружаются динамически. Они доступны не в формате .ttf, а в других форматах, которые не распознаются Android.   -  person sumit    schedule 21.10.2013


Ответы (1)


Делай так..

First pust your font file(.ttf) in assest folder.
Crate one css file in assest folder like(weblayout.css)

weblayout.css:
-------------
@font-face { 
font-family: 'customfont'; 
src: url('file:///android_asset/fonts/Helvetica_LT_55_Roman_0.ttf'); /* but this does */
}

body {
font-family: 'customfont';
}


And load webview_content in webview like this:

    StringBuilder sb = new StringBuilder();
                                    sb.append("<HTML><HEAD><link rel=\"stylesheet\" type=\"text/css\" href=\"weblayout.css\" /></HEAD><body>");
                                    String str = YOUR_WEBVIEW_CONTENT_STRING;
                                    str = str.replaceAll("<iframe width=\"[0-9]*", "<iframe width=\"100\\%");
                                    str = str.replaceAll("<img[\\w]*", "<img height=\"auto\" style=\"max-width:100\\%\";");
                                    sb.append(str);
                                    sb.append("</body></HTML>");
                                    webFull.loadDataWithBaseURL("file:///android_asset/", sb.toString(), "text/html", "utf-8", null);
person Brijesh Patel    schedule 18.10.2013