How to use custom font with WebView How to use custom font with WebView android android

How to use custom font with WebView


loadData didn't work for me either, so I used file:///android_asset in the src path.

It worked with loadDataWithBaseURL!

For this example I changed the CSS to:

@font-face {    font-family: 'feast';    src: url('fonts/feasfbrg.ttf');}body {font-family: 'feast';}

Then use the assets path as the base url:

loadDataWithBaseURL("file:///android_asset/",myhtml,"text/html","utf-8",null);


Apparently, you can use a custom font for WebView, as @raychung above suggested. But this won't work for 2.1 (Bug is reported here). This should work for 1.5, 1.6 and 2.2.

You can put your custom font TTF file in your /assets folder, then in your CSS file you can put in:

@font-face {     font-family: "myIPA";     src: url('IPA.TTF'); }.phon, .unicode{    display: inline;        font-family: 'myIPA', Verdana, sans-serif;      font-size: 14pt;    font-weight: 500;    font-style:normal;    color: black;}

You can now reference this font style in your HTML file.


You can get it to work on all versions by copying the font file from your assets to your files folder on the first launch of the app, and then reference it as:

"@font-face { font-family: cool_font; src: url('file://"+ getFilesDir().getAbsolutePath()   + "/cool_font.ttf');}"