我的客户想要使用的字体是“Courier”。Courier 并非安装在每台计算机或智能手机上。当它不存在时,它会退回到“Courier New”。“Courier New”是比“Courier”更薄的字体,我希望页面的外观在不同的操作系统和浏览器中尽可能保持一致。所以我想:如果没有安装“Courier”,为什么不使用“Courier New Bold”呢?见下图:
创建此图像后,我更加困惑。我在 css 中的 font-family 声明中添加了更多字体名称,以涵盖如何在不同的操作系统上调用字体(即“Courier New Bold”)。这是新的声明:
font-family: Courier, CourierNewPS-BoldMT, 'Courier New Bold', 'Courier New Fett', monospace;
现在出现了奇怪的部分:在 Windows XP 的 Chrome 上,文本被渲染得和以前一样细。Mobile Safari 也是如此。
我怀疑的是:Chrome (WinXP) 和 Mobile Safari 都只检查我声明的第一个字体。他们看到它是“快递员”。他们没有安装“Courier”,所以他们提供“Courier New”。它们没有考虑我在 CSS 中声明的其他字体。
很抱歉这篇冗长的帖子。我的问题归结为:如何让文本在所有操作系统和浏览器中始终显示为“Courier”或“Courier New Bold”?
您可以在此处找到实时示例。
更新:我已经阅读-webkit-font-smoothing: antialiased;
并将其添加到 CSS 中,但这并不能解决问题。在 Windows 和 iOS 上,文本看起来仍然要细得多。
更新 2: 这篇 2007 年的帖子解释了 Courier 如何在 iOS 上显示为 Courier New 以及为什么它很糟糕。不过,我不确定更新版本的 iOS 是否仍然表现相同。