2013-03-23 102 views
0

从一开始我就需要说我知道我正在尝试做的不是“正确的做法”,但我正在拼命工作的客户端需要这个特定的字体。自定义字体显示很奇怪

因此,我需要在客户的网站上使用VOGUE使用的确切字体。所以我拿了.eot & .ttf并上传到我的服务器上。然后,我添加CSS定义:

/*fonts fonts for IE*/ 
@font-face { 
    font-family: VogueDidot; 
    src: url('font/FBDidotL-Regular.eot') format('embedded-opentype'); 
    font-weight: normal; 
    font-style: normal; 
} 

@font-face { 
    font-family: "VogueDidot Light"; 
    src: url('font/FBDidotL-Light.eot') format('embedded-opentype'); 
    font-weight: normal; 
    font-style: normal; 
} 

/*fonts for other browsers*/ 
@font-face { 
    font-family: VogueDidot; 
    src: url('font/FBDidotL-Regular.ttf') format('truetype'); 
    font-weight: normal; 
    font-style: normal; 
} 

@font-face { 
    font-family: "VogueDidot Light"; 
    src: url('font/FBDidotL-Light.ttf') format('truetype'); 
    font-weight: normal; 
    font-style: normal; 
} 

而对于我的元素的CSS是:

.post h1 { 
    display: block; 
    height: 100%; 
    font-family: VogueDidot; 
    font-size: 55px; 
    text-transform: uppercase; 
    overflow: hidden; 
    line-height: 58px; 
} 

而且,通常情况下,我期望看到的一切工作就像一个魅力。

但它不是...

下面是它看起来应该像:

https://lh.rs/8M9Q7EvRBapv

这是我的版本:

https://lh.rs/Lbini5YbQZlX

任何想法?

回答

0

请务必注意,使用自定义字体在所有浏览器中都不是完美的,因为所有浏览器都倾向于以不同的方式呈现字体。另一个问题可能是人们不能在Windows中启用ClearType,我相信在这种情况下它不是,但对于其他读者,我决定包含这些信息。

这似乎是你的字体支持是相当有限的,因为你只使用的.ttf和.eot - 最大兼容和限制渲染问题,最好用“全” 5种字体分别是:

  • TTF(TrueType字体)
  • 经常(的Adobe /微软开放字体类型,AKA的OpenType)
  • EOT(嵌入式OpenType字体)
  • WOFF(网络开放字体格式)
  • SVG(可缩放矢量图形)

理想情况下,您希望尽可能多地使用SVG,因为它提供了最好的质量,SVG在Andriod Browser,Firefix,Safari,Opera,Chrome的现代版本中得到支持,但在IE中不支持。

就我个人而言,我会将字体转换为所有这些文件类型,并查看结果是否改善,浏览器将自动使用它们的首选字体类型。您可以使用Font 2 Web转换为其他格式,其中重要的一点是注意字体受版权保护,您的客户需要授权,一些字体甚至不允许使用网络。