【问题标题】:Chrome can't estimate bold font-weightChrome 无法估计粗体字重
【发布时间】:2014-03-20 02:19:36
【问题描述】:
Font-Squirrel(Afta Sans 等)和 Google Fonts 上的许多字体不包括给定字体集的粗体“样本”。 Chrome 似乎无法像 Firefox、Safari 甚至 IE 那样估计粗体字重。我已经看了很长一段时间了,怀疑所有浏览器中的 chrome 都没有这个功能。这似乎对我们可以使用的可用字体非常有限,我错了吗?
这似乎也给字体文件增加了不必要的文件大小,而估计的粗体外观也可以。
【问题讨论】:
标签:
css
google-chrome
fonts
frontend
webfonts
【解决方案1】:
Afta Sans,至少通过 Font Squirrel 分发,根本没有粗体字体。这就是为什么没有像 Afta Sans 这样大胆的标本。
如果您仍然通过 HTML 或 CSS 请求粗体字形,大多数浏览器会通过算法将粗体字形从常规字体字形合成粗体字形。这不是要求,只是浏览器倾向于做的事情。 CSS Fonts Module Level 3 CR 在描述 font-weight 时说:“尽管这种做法不受排版人员的喜爱,但粗体字体通常由用户代理合成,用于缺少实际的粗体字体。出于风格匹配的目的,这些面孔必须被视为存在于家族中。作者可以通过使用‘font-synthesis’属性明确避免这种行为。”
如果您的意思是某些平台上的某些浏览器版本不使用合成粗体,那么这是由浏览器供应商决定的。理论上你可以使用font-synthesis 属性来明确地请求合成,但实际上它几乎不会影响任何事情;该属性定义的初始值意味着允许合成粗体,此外,大多数浏览器根本不支持该属性。
但 Windows 上的当前版本 (33) Chrome 会使用合成粗体。
如果您指的是合成粗体的质量,那么这不可避免地取决于浏览器。 Say No to Faux Bold 页面说:“您的用户看到的内容可能更好或更糟,具体取决于他们的浏览器和您开始使用的字体。某些浏览器,例如 Firefox,会更加涂抹粗体,使显示类型变得一团糟。其他浏览器(例如 Chrome)很少涂抹粗体,因此粗体和正常之间的区别可能会丢失。这些人造面孔都无法与您从真实字体中获得的效果相提并论。”