为什么 Firefox 不使用 Consolas 字体而 fc-match consolas 显示它?

Sim*_*yer 6 firefox fonts fontconfig arch-linux

访问使用 Consolas 等宽字体(例如 [1],[3] 中的最小示例)的页面会呈现 Nimbus Mono。

我根据 arch wiki[1] 安装了 Microsoft 字体,使用 ttf-ms-win8 包和同一台机器上安装的 Windows 8.1 中的字体文件。Chromium 正确使用了 Consolas,而 Firefox 没有改变。

使用 fc-match,我得到以下结果:

fc-match consolas
  consola.ttf: "Consolas" "Regular"
fc-match Courier
  n022003l.pfb: "Nimbus Mono" "Regular"
fc-match 'Consolas,"Liberation Mono",Menlo,Courier,monospace'
  consola.ttf: "Consolas" "Regular"
Run Code Online (Sandbox Code Playgroud)

第三个示例是来自站点 css 的 font-family 行。我认为 Firefox 不只是将它传递给 fc-match,但由于没有阅读代码,我没有想法。

问题是:为什么 Firefox 在指定时不使用 consolas 字体?


软件版本:

  • 铬 48.0.2564.103
  • 火狐 44.0
  • 字体配置 2.11.1-2
  • 拱形测试

笔记

  • [4] 是一个类似的问题,但 consolas 是一种 truetype 字体,因此引用的 firefox 不支持位图字体的事实与此无关。

参考

  1. https://github.com/necolas/idiomatic-css
  2. https://wiki.archlinux.org/index.php/Microsoft_fonts
  3. http://absolute.fail/consolas_problem.html
  4. Firefox 30 无法识别字体

小智 0

我在很长一段时间里都遇到了同样的问题,GitHub 看起来很痛苦。我今天终于安装了fontconfig-ttf-ms-fonts并解决了问题!

  • 现在它使用新的快递。这更好并且似乎有效,因为 fontconfig-ttf-ms-fonts 指定“courier”意味着“courier new”。但 consolas 已经匹配,所以这并不能解决我的问题。 (3认同)