hay*_*ssi 7 fonts android webview
我正在尝试为我的Web视图建立一个新的自定义字体(otf文件).
我把anbaaarabic_bold.otf放在资产文件中.
我是怎么做的:
String head = "<head><style>@font-face {font-family: 'verdana';src: url('file://"+ getActivity().getFilesDir().getAbsolutePath()+ "/anbaaarabic_bold.otf');}body {font-family: 'verdana';}</style></head>";
String htmlData= "<html>"+head+"<body style=\"font-family: verdana\">"+body+"</body></html>" ;
mBodyArticle.loadDataWithBaseURL("http://nada", htmlData,
"text/html", "utf-8", "");
Run Code Online (Sandbox Code Playgroud)
body:包含我的html代码.
我不知道为什么字体不能用于我的webview.body html字体不会改变.
Jam*_*ess 10
有一个Android 的错误报告似乎表明自定义字体不适用于某些语言(泰语,希伯来语,波斯语和阿拉伯语已被提及).谷歌的任何人都没有证实这一点,但有很多人报告了同样的问题.
其中一个建议的解决方案(至少有一个用户确认为工作)是将字体从otf转换为svg.有许多在线工具可以帮到你(Everything Fonts就是一个例子),但是你可能会遇到版权字体的问题 - 确保你的字体许可允许这样的转换.
此外,转换字体后,在文本编辑器中打开它并检查svg元素是否为命名空间.它应该看起来像这样:
<svg xmlns="http://www.w3.org/2000/svg">
Run Code Online (Sandbox Code Playgroud)
如果它<svg>没有命名空间,您可能需要手动添加xmlns属性.显然,没有命名空间的svg字体也不起作用.