2012-03-29 99 views
1

我使用下面的CSS定義網頁上的自定義字體:火狐無法識別自定義的字體

@font-face 
{ 
    font-family:zapfino; 
    src:url("zapfino.ttf"); 
} 

接下來,我定義使用它的ID:

#custom_font 
{ 
    font-family:zapfino; 
    font-size:18px; 
} 

我我已經在Safari和Chrome上測試過這個頁面,它工作正常。但是,在Firefox中字體沒有顯示,它正在恢復爲默認值。對不起,如果這是一個轉發,但我已經搜索了StackOverflow並找不到答案!有誰知道爲什麼會發生這種情況?看到它在這裏:www.moosecodes.com(其仍在建設中!請原諒混亂!)

+3

我相信這個名字應該在引號中。嘗試在@ font-face聲明和定義元素上的font-family時將字體族聲明更改爲「Zapfino」。此外,你應該檢查你的Zapfino字體的許可證。由於它是商業字體,因此可能未獲得與@ font-face一起使用的許可。 – biggles 2012-03-29 16:42:19

+0

@jlego我改變了所有出現的font-family:zapfino;如下所示:font-family:「zapfino」;它沒有改變任何東西。 – Moose 2012-03-29 16:46:39

+0

請參閱:http://caniuse.com/#feat=fontface – 2012-03-29 16:54:09

回答

3

jlego是正確的 - 你應該看看FontSquirrel - 他們建立你的包和轉換文件給你一個很好的工具,你必須始終確保該字體是合法的網站上使用。

但是 Firefox和Chrome應同時支持TTF格式,即您使用的格式。

在研究您網站上的問題時,我發現字體在任何瀏覽器中都無法正確呈現。我發現當樣式表引用正確的文件位置時,但字體文件似乎已損壞。我會建議讓一個新的字體文件替換你正在使用的一個。

+0

我會採用這種方法,因爲它似乎是解決問題的最快方法。我想你對腐敗文件的權利......你是如何檢查的?我會安全地播放它,並找到一個可以自由使用的字體,看起來不錯。這樣我就不必爲我的代碼添加更多不必要和雜亂的黑客...我不必擔心版權問題。順便說一句,這個字體是由蘋果公司擁有的......我想...... – Moose 2012-03-29 17:14:08

+0

我把這個文件下載到了我的電腦上,當我像我要安裝它時,Windows告訴我它已經損壞。 – 2012-03-29 17:21:14

3

每個瀏覽器只讀取一種文件類型的網頁字體。不幸的是,它們都是不同的文件格式。爲了在所有瀏覽器中正確顯示字體,您需要4種不同類型的字體文件 - TTF,WOFF,SVG & EOT。您的代碼將是這個樣子:

@font-face { 
font-family: 'Zapfino'; 
    src: url('Zapfino.eot'); 
    src: url('Zapfino.eot?#iefix') format('embedded-opentype'), 
     url('Zapfino.woff') format('woff'), 
     url('Zapfino.ttf') format('truetype'), 
     url('Zapfino.svg#SansumiRegular') format('svg'); 
} 

該代碼是基於包含FontSquirell字體的樣式表。

FontSquirell有一個轉換器,但你確實需要檢查你的許可證。 Zapfino是Adobe(?)擁有的商業字體,據我所知,使用@ font-face的字體違反了字體EULA。

TypeKit提供與@ font-face一起使用的商業字體,費用符合代工廠EULA。

0

我有同樣的問題.... jlego的答案對我有用。 我的字體在Chrome和IE中被識別。 在FF中,我的TTF沒有被識別,直到我在我的css文件中添加了格式('truetype')。