Google字體使用Web Open字體格式(WOFF),這很好,因爲它是W3C推薦的字體格式。
早於IE9的IE版本不支持Web Open字體格式(WOFF),因爲它當時不存在。要支持< IE9,您需要在嵌入式打開類型(EOT)中提供您的字體。爲此,您需要編寫自己的@ font-face css標籤,而不是使用Google的嵌入腳本。您還需要將原始的WOFF文件轉換爲EOT。
您可以通過先轉換爲TTF再到EOT你WOFF轉換爲EOT在這裏: http://convertfonts.com/
然後你就可以服務於EOT字體是這樣的:
@font-face {
font-family: 'MyFont';
src: url('myfont.eot');
}
現在,它的工作原理在< IE9。然而,現代瀏覽器不再支持EOT,所以現在你的字體在現代瀏覽器中不起作用。所以你需要指定它們。 SRC屬性由逗號支持這種分離該字體的URL和specefying類型:
src: url('myfont.woff') format('woff'),
url('myfont.eot') format('embedded-opentype');
然而,< IE9不明白這一點,它只是graps第一次報價和最後報價之間的文本,所以它會實際得到:
myfont.woff') format('woff'),
url('myfont.eot') format('embedded-opentype
作爲字體的URL。我們可以通過首先指定一個只有一個URL作爲EOT格式的src,然後指定第二個src屬性來適應現代瀏覽器,並且IE9不理解。因爲< IE9不理解它,它會忽略標籤,所以EOT仍然可以工作。現代瀏覽器將使用它們支持的最後指定字體,所以可能是WOFF。
src: url('myfont.eot');
src: url('myfont.woff') format('woff');
所以,僅僅是因爲在第二SRC屬性指定format('woff')
,< IE9不會理解它(或者實際上它只是不能在URL myfont.woff') format('woff
找到字體),並會繼續使用指定的第一個一(eot)。
所以現在你已經有了你的谷歌Webfonts爲< IE9和現代瀏覽器工作!
有關不同的字體和瀏覽器支持的詳細信息,請閱讀由Alex Tatiyants這個完美的文章: http://tatiyants.com/how-to-get-ie8-to-support-html5-tags-and-web-fonts/
使用IE11效仿回IE8-的開發者的注意事項:你要一定要切換**用戶代理字符串**回到舊的IE版本,因爲只是切換文檔模式不會讓Google的服務器知道發送正確的字體類型(EOT)。 – Impirator 2014-07-25 21:24:22