搜索 | 用户支持

防范以用户支持为名的诈骗。我们绝对不会要求您拨打电话或发送短信,及提供任何个人信息。请使用“举报滥用”选项报告涉及违规的行为。

详细了解

Firefox Linux: Available Monospace Font ignored and falls back to the 3rd font on font-family font stack

  • 4 个回答
  • 1 人有此问题
  • 1 次查看
  • 最后回复者为 mz_experience

more options

On GitHub page, the code block is styled with

> font-family: SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;

I have SFMono installed on the system, however, Liberation Mono is used instead.

If I update the CSS value to

> font-family: SF Mono;

Or

> font-family: SF Mono,Consolas,Liberation Mono,Menlo,Courier,monospace;

It would work properly.

What is wrong with my setup?

Below are 2 command outputs:

$ fc-match -s 'SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace' | head -2

SFMono-Regular.otf: "SF Mono" "Regular"

DroidSans.ttf: "Droid Sans" "Regular"

$ fc-match -s 'SFMono-Regular' | head -2

SFMono-Regular.otf: "SF Mono" "Regular"

DroidSans.ttf: "Droid Sans" "Regular"

On GitHub page, the code block is styled with > font-family: SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace; I have SFMono installed on the system, however, Liberation Mono is used instead. If I update the CSS value to > font-family: SF Mono; Or > font-family: SF Mono,Consolas,Liberation Mono,Menlo,Courier,monospace; It would work properly. What is wrong with my setup? Below are 2 command outputs: $ fc-match -s 'SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace' | head -2 SFMono-Regular.otf: "SF Mono" "Regular" DroidSans.ttf: "Droid Sans" "Regular" $ fc-match -s 'SFMono-Regular' | head -2 SFMono-Regular.otf: "SF Mono" "Regular" DroidSans.ttf: "Droid Sans" "Regular"
已附加屏幕截图

由mz_experience于修改

被采纳的解决方案

I think this doesn't work for the same reason "Arial Bold" doesn't work: Firefox only wants the font family name and not a specific face name or file name.

Perhaps Github accidentally used the font's file name instead of the font name, or they meant to create an @font rule defining what "SFMono-Regular" refers to, but that got lost in the shuffle somewhere. Your guess is as good as mine.

定位到答案原位置 👍 0

所有回复 (4)

more options

Do other browsers understand this font name? If so, maybe they are considering the font's file name or stopping at the hyphen.

more options

jscher2000 said

Do other browsers understand this font name? If so, maybe they are considering the font's file name or stopping at the hyphen.

It seems not, I have tried Chromium, same behavior. However, I believe Firefox should use fontconfig, and the command output shows the font is properly installed and should match. Picture 2 and 3 shows it working. Why "SFMono-Regular" would cause issue?

more options

选择的解决方案

I think this doesn't work for the same reason "Arial Bold" doesn't work: Firefox only wants the font family name and not a specific face name or file name.

Perhaps Github accidentally used the font's file name instead of the font name, or they meant to create an @font rule defining what "SFMono-Regular" refers to, but that got lost in the shuffle somewhere. Your guess is as good as mine.

more options

I think you are properly right, I ended up created an alias for "SFMono-Regular" in fontconfig, then it started to work.

 <alias>
   <family>SFMono-Regular</family>
   <prefer><family>SF Mono</family>
   </prefer>
 </alias>