8

在我的网站http://helvetitee.com上,我有以下字体堆栈:

font-family: "helvetica neue", helvetica, nimbus-sans;

Nimbus Sans(一种网络字体)是从 TypeKit 中引入的。

在 Windows 机器上,无论使用何种浏览器,都会向用户显示 Arial。似乎 Helvetica 被 Windows 渲染为 Arial 而不是回退到 Nimbus(这是 Helvetica 的克隆,因此比 Arial 更可取)。

除了操作系统嗅探之外,还有其他方法可以防止这种情况发生吗?这是一个已知问题吗?对于 Windows 来说,假设可以显示 Arial 而不是 Helvetica 似乎是一种自由。

4

5 回答 5

9

Windows 用 Arial 代替 Helvetica。(特别是 Helvetica;不是 Helvetica Neue。)查看这一点的一个简单方法是声明font-family: Helvetica, Courier. 然后,Windows 平台上的浏览器使用 Arial,而不是 Courier(应该如此)。

这可以通过编辑 Windows 注册表来更改,但作为网络作者,您对此无能为力(除了通过浏览器嗅探尝试操作系统嗅探)。这是一个老问题(我认为至少可以追溯到 Windows 3),虽然不是很广为人知。

于 2012-09-17T16:29:16.960 回答
2

Windows 没有任何这些字体,但足够聪明,可以默认使用它们的 sans-serif 字体,即 arial。

一个网络安全的替代方案就像font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;

至于使用网络字体,fonts.com 有 Helvetica Neue 45 Light可以嵌入。

于 2012-09-17T14:34:37.073 回答
2

是的,Windows 注册表在其默认配置中将 Arial 替换为 Helvetica,并且此替换优先于除 Opera 之外的所有主要浏览器中的字体堆栈回退。所以大多数 Windows 用户会看到 Arial 而不是 Helvetica ,除非Helvetica 在字体堆栈中前面是

  1. 网络字体,或
  2. Windows 系统上可靠存在的替代字体。在我的类似 Helvetica 的字体堆栈中,我建议使用 Google 的“Arimo”网络字体。在标准的 Windows 字体中,Microsoft Sans Serif 可以很好地替代 Helvetica 的直立字体,但不能容忍斜体字体。
于 2012-11-09T11:41:47.930 回答
0

据我所知,Windows 不附带 Hel​​vetica(或其家族的任何成员),如果它不是已安装的字体,它将无法在网站上运行。

Arial 被认为是对 Helvetica 的公然翻版(尽管它基于 Monotype Grotesque,但它被认为是 Helvetica 的替代品),因此微软不必向 Haas Typefoundry(Helvetica 家族的创建者和许可方)支付高额许可费

我的建议是尝试使用 webfonts,您实际上可以使用它嵌入字体。Font Squirrel是一个很好的起点。(但请记住,未经许可嵌入 Helvetica Neue 在技术上是一种违规行为……)

于 2012-09-17T14:36:13.703 回答
0

我认为跨浏览器和设备的最佳字体堆栈

body {
  font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 300;
}

另外,使用

body {
  font-family: sans-serif
}

在您的字体堆栈覆盖浏览器默认值之前。

于 2012-09-17T14:42:25.700 回答