很久很久以前,用火狐浏览知乎一切正常。然后大概是从 2019 年前后的某一天,应该是知乎升级了系统,知乎上的中文就没有粗体效果,粗体显示得跟普通的非粗体一样。只是中文没有粗体效果,英文数字依然有,可能是由于我的 fontconfig 为中英文配置了不同的字体导致。但偶尔又能看到知乎上的某些中文显示了粗体,这时查看其 HTML 源代码发现用的是 <strong></strong>
标签,而非常见的 <b></b>
.
目前我只发现用火狐浏览知乎有这个问题,其他网站上的粗体似乎没问题。当然可能有些网站的粗体没显示出来,但我没意识到。后来在我摆弄 fontconfig 的配置时发现,通过修改 fontconfig 的配置文件,可以让火狐显示出知乎中文粗体来。在配置 sans 和 serif 等常用的字体别名时,将原先的 <alias>
改成 <alias binding="same">
, 提高其绑定优先级,然后在到火狐里的 about:config 下将 gfx.font_rendering.fontconfig.max_generic_substitutions 的值调大一些,这时就能显示知乎上的中文粗体。如果将 <alias binding="same">
中的 binding=“same” 去掉,退回普通的 “弱绑定”,就没有知乎粗体效果。或者 fontconfig 里的 binding 不去掉,但将火狐里的 about:config 下的 gfx.font_rendering.fontconfig.max_generic_substitutions 的值调小一些,也显示不了知乎粗体。并且这种知乎上的中文粗体突然显示出来了的情况只出现在老版的 Firefox 52 上,因为我保留了一些旧版火狐来测试。对于之后的新版火狐,无论怎样修改 fontconfig 配置,以及调整 gfx.font_rendering.fontconfig.max_generic_substitutions, 都无法将知乎上的中文粗体显示出来。
感觉这个问题似乎是火狐的一个 Bug, 并且跟 fontonfig 的配置、具体的字体以及具体的网页相关。有其他人遇到相似的问题吗?什么解决方法才彻底,因为我上面的方法只是偶尔测试碰巧遇上的,并且只适应于 Firefox 52, 没有根治这个 Bug.