从Android“资产”文件夹访问CSS字体

时间:2010-10-19 19:49:13

标签: android css browser font-face assets

我正在尝试将加载的网页字体更改为为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'文件夹中。很高兴,如果有人可以提供代码。

感谢任何帮助!

1 个答案:

答案 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