字体类是由客户端操作系统还是客户端浏

时间:2016-02-05 15:38:09

标签: css browser fonts google-font-api fallback

我注意到在Google Fonts他们从未使用幻想作为font-family中的后备类。对于所有脚本和典型的幻想字体,他们使用草书。

我想知道这是否暗示chrome不支持幻想作为后备类?对于这种情况,后备字体类必须由浏览器通过典型的serif,sans-serif等字体的实现列表来处理。或者,浏览器可以在OS中查询这些列表吗?

当浏览器需要回退以在客户端系统上说出serif字体时会发生什么?它将如何获得已安装的serif字体的信息?

我无法找到这个,所以我希望这里的人可能知道它。我知道网络安全字体以及所有可能成为过去的东西,但它们仍然具有一定的相关性。

2 个答案:

答案 0 :(得分:1)

字体不会机械地映射到任何通用字体系列。它们仅以其姓氏和字体列表(如Google字体和Adobe Typekit)进行分类。

您可以创建一个由sans-serif系列,serif系列组成的字体堆栈,并以fantasy关键字结尾:

font-family: Helvetica, 'Times New Roman', fantasy;

浏览器会对它进行同样的处理:使用最先支持的家庭,或者如果涉及到这一点,则回归通用家庭。

我希望所有浏览器至少实现CSS2.1css-fonts-3中定义的五个通用系列:serif,sans-serif,cursive,fantasy和monospace。但哪个面对每个通用族映射的确不太可预测 - 例如,大多数浏览器实际上为用户提供了更改其首选默认serif,sans-serif和monospace系列的能力。即使这样,每个类别都可以选择安装字体的整个列表,这表明即使浏览器也不能(或至少不能)区分字体类别。

浏览器附带的默认首选项基于对任何给定系统上最可能预安装哪些字体的假设。

我无法回答为什么Google字体似乎没有在任何字体堆栈中指定幻想。

答案 1 :(得分:0)

我已经设置了一个测试用例:

http://codepen.io/jaycrisp/pen/NxOrOy

.cursive {
  font-family: cursive;
}

.fantasy {
  font-family: fantasy;
}

我在Mac上看到Chrome中的不同字体,因此显示chrome确实支持fantasy关键字。我在Safari和Chrome上也看到了相同的字体。

我看到了纸莎草纸的幻想字体,我认为它是Mac OS捆绑字体。我也在Firefox和Safari上看到了相同的字体。

我猜想谷歌字体使用草书而非幻想的原因是,如果您使用这种字体,您可能会对您的网站进行非常具体的查看。用像纸莎草纸之类的东西替换这种字体将彻底毁掉它。好吧,使用Papayrus无论如何都会完全破坏你的网站,但这是另一回事。