不支持 Safari 中的字体功能设置?
Posted
技术标签:
【中文标题】不支持 Safari 中的字体功能设置?【英文标题】:No support for font-feature-settings in Safari? 【发布时间】:2013-12-15 00:57:20 【问题描述】:尝试使用font-feature-settings
,我在所有主流浏览器中都获得了成功,但 Safari(无论是桌面还是移动)。我使用这种语法:
.smallcaps
font-feature-settings: 'smcp' 1;
-webkit-font-feature-settings: 'smcp' 1;
-moz-font-feature-settings: 'smcp' 1;
Safari 不支持font-feature-settings
,还是我有什么问题?如果 Safari 中仍然支持 OpenType 功能,我希望看到一个实时示例。
【问题讨论】:
(小写字母?为什么不用font-variant: small-caps
?)
首先,font-variant: small-caps
制作虚假的小型大写字母,请参见示例:content.screencast.com/users/z1011001010111010010/folders/…。其次,我的问题不仅与小型大写字母有关,而且还与一般的 OpenType 功能有关。看来 Safari 不支持它们。
您是否尝试过任何其他 OpenType 功能,例如老式数字?如果你让它工作,请告诉我,因为我从来没有在任何浏览器中使用任何一组前缀或字体。 :'(
这里是一些 OpenType 功能的示例,包括旧式图形:2.chebykin.cz8.ru/opentype.html。它适用于除 Safari 之外的所有现代浏览器。
【参考方案1】:
根据MDN info,Safari 和Opera 不支持font-feature-settings
。但是,该信息已过时:CanIuse 表示支持从 Safari 6.1 版开始(以及未指定的“部分支持”从 4.0 版开始)。但是最后一个适用于 Windows 的 Safari 版本是 5.1.7,它缺乏支持(在我的测试中得到证实)。在 Opera 中,从 15.0 版本开始支持(测试 18.0,工作正常)。
几乎所有浏览器都支持font-variant: small-caps
,这在理论上是首选方法,但 Safari(与大多数浏览器一样)以与其他浏览器相同的方式实现它:使用缩小大小的大写字母,而不是适当的小写字母。 (这至少适用于 Safari 5.1.7。)
【讨论】:
我刚刚检查了最新的Windows Opera 版本,它完美支持font-feature-settings
。这就是为什么我不信任 MDN 之类的网站,而是更愿意在 Stack Overflow 上咨询专家。
@user3047089,我的测试另有说明:在 Win 7 上使用 Opera 12.16 Build 1860 进行测试(并且“检查更新”说这是最新版本),测试页面 cs.tut.fi/~jkorpela/font-features.html8 我看不到支持的迹象。我们有什么不同?
哎呀,对,那是错误的 Opera(在旧分支中)。新的基于 WebKit 的 Opera(版本 17)确实支持字体功能。以上是关于不支持 Safari 中的字体功能设置?的主要内容,如果未能解决你的问题,请参考以下文章
任何 iOS Web 浏览器是不是都通过 CSS 支持 OpenType 字体功能?