2010-10-19 68 views
1

我正在嘗試更改加載到爲Android開發的瀏覽器應用程序的網頁的字體。目前,我的自定義字體託管在一個URL中&我通過向頁面注入JavaScript來更改樣式表(CSS)字體面,從而訪問該字體。從Android'Assets'文件夾訪問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自定義字體,如果我把我的字體放在我的應用程序的'資產'文件夾。很高興,如果任何人都可以提供的代碼。

任何幫助表示讚賞!

+0

任何人有這個任何想法??? – Dhanika 2010-12-09 19:05:11

回答

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