【发布时间】:2014-09-05 17:02:31
【问题描述】:
我今天注意到我开发的一个网站突然停止在 chrome 中渲染“Arial Black”字体。
有谁知道最近的 Chrome 更新是否会导致“arial black”停止工作?
即使是 w3schools 上的示例也已停止在 chrome 中运行:http://www.w3schools.com/cssref/css_websafe_fonts.asp
【问题讨论】:
标签: css google-chrome
我今天注意到我开发的一个网站突然停止在 chrome 中渲染“Arial Black”字体。
有谁知道最近的 Chrome 更新是否会导致“arial black”停止工作?
即使是 w3schools 上的示例也已停止在 chrome 中运行:http://www.w3schools.com/cssref/css_websafe_fonts.asp
【问题讨论】:
标签: css google-chrome
最新的 Chrome 更新(版本 37.x)默认设置(最初在 Chrome 35 测试版上,默认情况下未设置),这就是 Chrome 使用 Windows 上的DirectWrite API 呈现字体的方式。
如果您希望旧行为打开 chrome://flags/ 并启用 Disable DirectWrite。
这将禁用实验性DirectWrite 字体渲染系统。
也如this bug report中所述:
这一切都来自 DW 将字体粗细视为不同的变体 与 GDI 不同,字体相同。因此 Arial Black 被认为是 重量为 900 且与指定系列匹配的 Arial。
因此,如果“Arial Black”回退到“Arial”,重量为 900,并且 Arial 中 900 的重量与 Arial Black 的“重量”不同,那么您将看到渲染字体的差异。
【讨论】:
font-family: "Arial Black", Courier 进行测试来看到这一点。
font-family: Arial; font-weight: 900 将导致使用 Arial Black;但它会导致 Arial Bold。
在我的情况下,启用Disable DirectWrite 并不能解决问题。
我发现here 发现问题实际上不仅在于 Arial Black 字体,还在于 Helvetica Neue。
简单编辑:
C:\Users[YourName]\AppData\Local\Google\Chrome\User Data\Default\User StyleSheets\custom.css
并添加下面给出的两个代码
@font-face { font-family: ‘helvetica neue’; src: local(‘Arial’); }
@font-face { font-family: ‘helvetica neue’; font-weight:bold; src: local(‘Arial’); }
【讨论】:
Use arial black or arial narrow.
Example:
font_formats: "Andale Mono=andale mono,times;"+
"Arial=arial narrow,avant garde;"+
"Arial Black=arial black,avant garde;"+
"Courier New=courier new,courier;"+
"Georgia=georgia,palatino;"+
"Impact=impact,chicago;"+
"Symbol=symbol;"+
"Tahoma=tahoma,arial,helvetica,sans-serif;"+
"Times New Roman=times new roman,times;"+
"Verdana=verdana,geneva;"+
"Webdings=webdings;"+
"Wingdings=wingdings,zapf dingbats",
【讨论】: