【发布时间】:2013-02-16 03:23:03
【问题描述】:
我购买了一个支持一些开放类型功能的网络字体,当然我想使用它们。
不幸的是,我无法在网上找到解释使用该语法的最佳方式的资源——在我看来,font-feature-settings 是前缀地狱的另一个例子。
目前我是这样写的,但我不确定它是否真的涵盖了所有支持这些功能的浏览器。
.element {
-webkit-font-feature-settings: "kern" 1, "liga" 1, "case" 1;
-moz-font-feature-settings: "kern=1", "liga=1", "case=1";
-moz-font-feature-settings: "kern" on, "liga" on, "case" on;
-ms-font-feature-settings: "kern" 1, "liga" 1, "case";
-o-font-feature-settings: "kern", "liga", "case";
font-feature-settings: "kern", "liga", "case";
}
更具体地说,-moz 语法似乎很奇怪。一些消息来源声称这是要使用的语法:
-moz-font-feature-settings: "liga=1"; /* Firefox 14 and before */
-moz-font-feature-settings: "liga" on; /* Firefox 15 */
其他人就是这样做的:
-moz-font-feature-settings: "cswh=1";
-moz-font-feature-settings: "cswh";
-webkit 也是如此;有些人是这样写的:
-webkit-font-feature-settings: "liga" on, "dlig" on;
而其他人则这样做:
-webkit-font-feature-settings: "liga", "dlig";
或者像这样:
-webkit-font-feature-settings: "liga" 1, "dlig" 1;
最重要的是,还有text-rendering: optimizelegibility;,它似乎与"kern" 和"liga" 相同,至少在webkit 浏览器中是这样。
那么,2013 年在 Web 上使用 Open Type 字体功能的正确、防弹方法是什么?
【问题讨论】:
-
The spec 在实际属性值中没有提及
"feature=value"语法,所以我猜测旧的 Mozilla 语法是非标准的。就草案规范而言,您提到的所有三个 WebKit 示例都是等效的。
标签: css font-face webfonts typography