我正在尝试将加载的网页字体更改为为Android开发的浏览器应用。目前我的自定义字体托管在URL&我通过向页面注入一个JavaScript来更改样式表(CSS)字体面来访问该字体。
以下是当前代码:
var css = '@font-face {font-family: "dhanika"; src: url(http://www.sample.lk/DhanikaWeb.ttf);} si {font-family: "dhanika"}';
var style = document.getElementsByTagName("style")[0];
style.appendChild(document.createTextNode(css));
此代码完美无缺。但是从URL加载字体需要一些时间。而且每次加载字体都不好,因为它可能会产生数据费用。
因此我想知道天气有一种方法可以从JavaScript访问我的自定义字体,如果我将我的字体放在我的应用程序的'Assets'文件夹中。很高兴,如果有人可以提供代码。
感谢任何帮助!
答案 0 :(得分:0)
根据我对Android和@ font-face的了解,Android目前在local()
声明中窒息。在所有浏览器中使用@ font-face的最佳方法是使用双重声明。实施例
@font-face { font-family:'fontName'; src:url('fontName.eot'); font-weight:normal; font-style:normal; }
@font-face { font-family:'fontName'; src:url(//:) format('no404'), url('fontName.woff') format('woff'), url('fontName.ttf') format('truetype'), url('fontName.svg') format('svg'); font-weight:normal; font-style:normal; }
最简单的方法是使用FontSquirrel's @font-face generator