我做了这个简单的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,但没有..
答案 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字体样式表):