搜尋 Mozilla 技術支援網站

防止技術支援詐騙。我們絕對不會要求您撥打電話或發送簡訊,或是提供個人資訊。請用「回報濫用」功能回報可疑的行為。

了解更多

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

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>