谷歌Chrome错误的角色 - 错误?

时间:2015-02-20 19:21:02

标签: html css google-chrome character-encoding

我做了这个简单的HTML来向你展示困扰我的东西..

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<html>

    <style>
        @font-face {
            font-family: "ubuntu-light";
            src: url(Font/ubuntu/Ubuntu-L.ttf) format("truetype");
        }

        h1 {
            font-family: "ubuntu-light";
        }
    </style>

    <body>
        <h1>Ubuntu font test</h1>
        <h1>Š š Ž ž Č č</h1>
    </body>
</html>

您可以在此处获取字体:http://font.ubuntu.com

所以关键是如果我在Safari或Firefox中打开页面,页面打开正确,但如果我在Chrome中打开它,字母Š和š不能正确显示。

我试着把它放在我的风格中,但是不起作用:

body {
    -webkit-animation-duration: 0.5s;
    -webkit-animation-name: fontfix;
    -webkit-animation-iteration-count: 1;
    -webkit-animation-timing-function: linear;
    -webkit-animation-delay: 0.5s;
}

@-webkit-keyframes fontfix {
from {opacity: 1;}
to {opacity: 1;}
}

我还尝试使用这种样式创建一个CSS文件,然后使用JS在页面的en中调用它,但它不起作用。

我在Apache中有“AddDefaultCharset utf-8”。在谷歌浏览器中,我将编码设置为中欧,也设置为UTF-8,但没有..

1 个答案:

答案 0 :(得分:2)

这确实是一个错误,请参阅启动板上的描述:Bug #1334363 “Wrong characters appear in some Mac apps ([‘] → [⁸], [’] → [⁹], [–] → [ẃ], [—] → [Ẅ])” : Bugs : Ubuntu Font Family

原因似乎是破解了Unicode cmap子表。

如果您使用Ubuntu的精简版本(例如Google字体提供的子集版本),您可以规避此错误,例如使用以下样式:

@import url(http://fonts.googleapis.com/css?family=Ubuntu:300&subset=latin);

但是,在安装了Ubuntu字体的计算机上,字符仍会显示错误。

如果您想在自己的计算机上修复显示,如果您不需要完整的Ubuntu字体,则可以从Google字体中获取精简版本。要执行此操作,请访问Safari中的以下Google字体样式表,将链接复制到TTF文件并下载(在其他浏览器中,将使用无法在Mac OS X上安装的WOFF字体生成Google字体样式表):

http://fonts.googleapis.com/css?family=Ubuntu:300,400,500,700,300italic,400italic,500italic,700italic|Ubuntu+Condensed&subset=latin,latin-ext

相关问题