字体类是由客户端操作系统还是客户端浏览器定义的?

问题描述:

我注意到,在Google Fonts他们从来没有用幻想在FONT-FAMILY后备级。对于所有脚本和典型的幻想字体,它们使用草书。字体类是由客户端操作系统还是客户端浏览器定义的?

我不知道这是否是一个暗示,Chrome不支持幻想作为后备级?对于是这种情况,备用字体类都必须由浏览器通过对典型的衬线实行名单处理,无衬线字体等。或者,浏览器可以查询这些列表的操作系统?

当浏览器需要回退到说客户端系统上的serif字体,会发生什么?它如何获得已安装的衬线字体的信息?

我一直没能找到一个aswer这一点,所以我希望这里有人可能知道。我知道网络安全字体和所有可能成为过去事物的东西,但它们仍然有一些相关性。

+3

你的问题还不清楚。什么? –

+0

什么不清楚?你可以再详细一点吗....? –

+0

'幻想作为后备课程' - 这部分。 –

字样不映射到任何通用字体家族机械。他们只能按照他们的姓氏和谷歌字体和Adobe Typekit等字体列表进行分类。

您可以创建一个由一个无衬线的家庭,衬线家族的字体堆栈,并与fantasy关键字结束:

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

而且浏览器只会把它相同的:无论使用哪一个家庭第一这是支持的,或者如果谈到这一点,可以回到通用系列。

我期望所有浏览器至少实现在CSS2.1css-fonts-3中定义的5个通用系列:serif,sans-serif,cursive,fantasy和monospace。但面对每一属家庭映射到究竟是难以预料 - 一,大多数浏览器实际上为用户提供改变他们的首选默认衬线,无衬线和等宽的家庭的能力。即使如此,安装的字体的完整列表可在每一个类别,这表明,即使浏览器不能(或至少不)字体的种类区分选择。

,一个浏览器附带基于多种假设其中的字体是最有可能任何给定的系统上预装的默认选项。

我不能回答为什么谷歌的字体似乎没有任何其字体栈指定的幻想。

+0

所以答案是,浏览器然后实现自己的列表。谢谢。 –

我已经建立了一个测试案例:

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

.cursive { 
    font-family: cursive; 
} 

.fantasy { 
    font-family: fantasy; 
} 

我看到在Mac铬不同的字体,使显示,Chrome并支持fantasy关键字。我也在Safari和Chrome上看到相同的字体。

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

我猜想,之所以谷歌字体使用草书,而不是幻想的是,如果你使用这种字体,你可能会为一个非常具体看您的网站。用像纸莎草这样的东西替换这种字体将会完全毁掉它。那么,使用Papayrus无论如何都会完全破坏你的网站,但这是另一回事。

+0

好的测试。如果我在电脑上这样做,我会在Chrome和Firefox中得到不同的结果。 Firefox显然无法正确处理幻想。 –

+0

@StephenMiller我不认为有必要处理它不正确。 [spec](https://www.w3.org/TR/CSS2/fonts.html#fantasy-def)仅提供字体类型和一些示例的说明。由浏览器决定使用什么。 – JamieC

+0

所以我想火狐决定不处理的幻想都:似乎退回到无衬线不管,如果我尝试用幻想作为一般家庭或要求一个不存在的字体,没有回退。 –