【问题标题】:Ligatures being applied in iOS's Safari but not on OSX's Safari or Chrome在 iOS 的 Safari 中应用了连字,但在 OSX 的 Safari 或 Chrome 中没有应用
【发布时间】:2015-12-26 08:01:25
【问题描述】:

我正在使用通过 Google 字体加载的免费版PT Serif,有一段时间我认为它没有常见的连字。直到我在 iPad 上启动我的网站并发现它可以正确呈现它们。经过检查,似乎 Chrome 和 OSX 的 Safari 都没有正确呈现它们。 Android 版 Chrome 也忽略了它们。

这是在 OSX El Capitan 上的 Chrome v45 上的渲染:

注意广度优先搜索中的fi。现在在 iOS 上:

这是相关的 CSS:

font-family: 'PT Serif', Georgia, Times, 'Times New Roman', serif;
font-size: $base-font-size;
line-height: $base-line-height;
font-weight: 300;
-webkit-text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
-moz-font-feature-settings: "liga=1, dlig=1";
-ms-font-feature-settings: "liga", "dlig";
-webkit-font-feature-settings: "liga", "dlig";
-o-font-feature-settings: "liga", "dlig";
font-feature-settings: "liga", "dlig";
font-variant-ligatures: contextual;

字体正在使用以下代码加载到页眉中:

<link href='http://fonts.googleapis.com/css?family=PT+Serif:400,700,400italic,700italic' rel='stylesheet' type='text/css'>

您可以查看aforementioned webpage here

这是某种限制、错误还是我的 CSS 遗漏了什么?

【问题讨论】:

  • 有趣的问题:这些字体是一样的吗?撇开名字不谈,它们是相同的版本,大致相同的大小,GSUB 表是否表明 OSX 版本实际上实现了连字?
  • 这是一个有趣的问题,但由于字体通常不会预装在系统中,而且我使用谷歌字体进行导入,我假设他们会是一样的。
  • 有点合理的假设,但谷歌字体实际上根据浏览器是否支持 WOFF 或 WOFF2 来提供不同的 CSS。但是,这通常不会影响连字替换。
  • 您对谷歌字体的猜测是这里行为不端的一种。看我回答。

标签: css fonts cross-browser typography


【解决方案1】:

似乎谷歌字体是罪魁祸首。替换为Brick,我得到了我正在寻找的所有连字:

<link rel="stylesheet" href="//brick.a.ssl.fastly.net/PT+Serif:400,400i,700,700i:f">

还有待理解为什么 iOS 已经正确呈现它,或者为什么 Google 字体行为不端 (?)...

【讨论】:

  • 检查每台设备的网络流量,看看他们获得了哪些实际的字体资源 - 可能值得一试并写博客。
猜你喜欢
  • 2016-01-29
  • 2013-11-24
  • 2019-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-01
  • 1970-01-01
  • 2016-08-22
相关资源
最近更新 更多