Web字体“正常”字体粗细

时间:2013-02-03 06:49:51

标签: css fonts google-webfonts

即使使用Web字体,假设font-weight:normal和font-weight:400是否相同仍然是合理的吗?

2 个答案:

答案 0 :(得分:3)

font-weight的值中,normal按定义表示400。这不依赖于字体。

使用@font-face,有可能作弊,例如通过将字体表示为具有正常权重(通过默认font-weight,或通过将其设置为normal400),即使字体实际上是粗体(或轻或其他)。 Fontsquirrel @ font-face生成器执行此操作:它有效地将每个字体定义为字体系列。例如:

/* Generated by Font Squirrel (http://www.fontsquirrel.com) on January 22, 2013 */
@font-face {
    font-family: 'source_sans_probold';
    src: url('sourcesanspro-bold-webfont.eot');
    src: url('sourcesanspro-bold-webfont.eot?#iefix') format('embedded-opentype'),
         url('sourcesanspro-bold-webfont.woff') format('woff'),
         url('sourcesanspro-bold-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;

}

这意味着元素的font-weight值可能为400,即使实际使用的字体是粗体设计。

这与400normal的使用无关,而且不仅仅是字体粗细。 FontSquirrel使用font-style播放相同的游戏。

答案 1 :(得分:1)

这可能不是明确的答案,但现在必须要做 - 我在Google网络字体上浏览了整套当前的617种字体。从我可以看到,Normal总是400.所有当前字体指定正常,400。

我应该添加的一件事 - 有一些WOFF字体,例如打开Sans Condensed,实际上根本没有“正常”风格。但是,这不应该打破Normal = 400的假设。

这是Chrome的一个有趣的问题。它默默地用font-weight:bold替换font-weight:700。它不会尝试使用其他字体权重。即便如此,如果您依赖于数值,最好进行一项无声测试,以进行必要的替换。

的内容
var sample = $('#fontSampleA');
var fontwt = sample.css('font-weight');
fontwt = ('normal' == fontwt)?400:(('bold' == fontwt)?700:(('book' == fontwt)?300:fontwt));

以防万一未来版本开始尝试进行更多无声的“智能转换”。