自定义字体和字体平滑化

4

我尝试添加自定义字体,但遇到了很多麻烦 :( 这是我的test.html:

<!DOCTYPE html>
<html>
<head>
    <style type="text/css">
        @font-face {
        font-family: 'OpenSans';
        src: url('OpenSans.eot');
        src: url('OpenSans.eot?#iefix') format('embedded-opentype'),
            url('OpenSans.woff') format('woff'),
            url('OpenSans.ttf') format('truetype');
        font-weight: normal;
        font-style: normal;
    }
    body {
        font-size: 14px;
        font-family: 'OpenSans';
    }
    </style>
</head>
<body>
    <span>Lorem Ipsum is simply dummy text of the printing and typesetting industry<span>
</body>
</html>

我有一个结果(Windows XP SP3 ClearType disable):

22

我不知道为什么我的Opera不想读取本地目录中的字体。Safari和Chrome没有启用字体平滑(据我所知,这取决于操作系统,如果不更改操作系统设置,则无法修复它)。

2个问题:

1)为什么Opera不理解本地路径(如果部署在http服务器上,它将正常工作)?

2)如何为Chrome和Safari启用字体平滑?Firefox可以轻松完成,其他浏览器也可能可以(CSS属性font-smooth无法帮助)。

1个回答

2
我无法解释Opera问题,但cleartype问题似乎很简单。IE和Firefox忽略了您禁用cleartype的系统偏好设置,而Chrome和Safari则按照您的要求执行并遵守它。
我对这个问题的理解是:您(用户)明确告诉系统不使用cleartype。微软决定在IE中忽略该选择,给您留下IE渲染更好的印象。Mozilla受到禁用CT的用户的压力,他们认为IE字体看起来更好,所以他们也忽略了您的选择。苹果公司对Windows上的事物比Mac上的看起来更糟糕感到满意,所以他们什么都没做。Chrome决定采取高姿态,尊重用户的选择。或者我可能是在胡说八道。
原因并不重要,关键是当您禁用CT时,应该禁用它。实际上,您正在询问如何使网站忽略用户的系统偏好设置,简单的答案是 - 您不能,也不应该这样做。就像Web浏览器战争中的许多事情一样,有些浏览器做得对,有些浏览器做得不对,您无能为力。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接