Open Bug 1243157 Opened 8 years ago Updated 2 years ago

Firefox 44 selects Segoe UI Mono instead of Segoe UI

Categories

(Core :: Graphics: Text, defect, P3)

44 Branch
Unspecified
Linux
defect

Tracking

()

Tracking Status
firefox49 --- wontfix
firefox50 --- fix-optional
firefox51 --- fix-optional
firefox52 --- fix-optional

People

(Reporter: github, Unassigned)

References

Details

(Keywords: regression, Whiteboard: [gfx-noted])

Attachments

(2 files)

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:44.0) Gecko/20100101 Firefox/44.0
Build ID: 20160126104524

Steps to reproduce:

I upgraded my x64 Arch Linux Firefox package from 43.0.4-1 to 44.0-1 and visited google.com.


Actual results:

On many websites, a lot of text now renders in monospace. See attached screenshot. It did not before. It does not happen to all text. It looks like the text to which it happens is never using a webfont, but not all text that does not use a webfont is now rendered as monospace (not even all sans-serif text). In all cases where this did happen, the last font specified in css was "sans-serif". Affected pages include the Firefox feedback page, all text on http://google.com/, all text on http://news.ycombinator.com/, some text on facebook.com (when logged in). Pages that don’t appear to be affected: http://youtube.com/, http://reddit.com/, vimeo.com (logged in). At the pages where this does happen, it happens consistently.


Expected results:

A sans-serif font should have been selected.
Component: Untriaged → Graphics: Text
Product: Firefox → Core
Did you use the version build by Mozilla?
https://www.mozilla.org/en-US/firefox/all/
I tried the Linux x64 build from that page. The same thing happens.
I can't reproduce with a fresh profile, it only happens on my current profile.

I can reproduce with firefox-43.0a1.en-US.linux-x86_64.tar.bz2 on my current profile.

After downgrading the system package to 43.0.4-1 the problem goes away when using the system-installed Firefox. After downgrading I can still reproduce with firefox-43.0a1.en-US.linux-x86_64.tar.bz2.
This has to be something going on with your profile then. Can you try the Reset Firefox feature in about:support on your profile?
Ruud, which font did you select by default in Options > Content > Fonts & Colors?
@Anthony Hughes: I backed up my profile and clicked the "Refresh Firefox..." button. That fixes the font issue, but I lose all of my settings.

@Loic: I use the following settings:

  Poportional: Serif (size 16)
        Serif: Minion Pro
   Sans-serif: Segoe UI
    Monospace: Consolas (size 12)

The monospace font that is used in places where it shouldn't is Consolas.
(In reply to Ruud van Asseldonk from comment #7)
> @Anthony Hughes: I backed up my profile and clicked the "Refresh Firefox..."
> button. That fixes the font issue, but I lose all of my settings.

This is expected. That means one (or more) of your settings is causing this issue. If you can figure out which setting is causing this you can change it back to a working value and preserve the rest of your settings. 

I'm not sure there's anything we can actually fix here in code other than preventing other people from making whatever change you did to cause this.
I fiddled with the settings some more, and I now have narrowed it down to the following:

The "font.name.sans-serif.x-western" setting being set to "Segoe UI" is the sole cause of this. Setting that to a different font resolves the issue.

Furthermore, the monospace font that shows up everywhere is not Consolas, it is Segoe UI Mono. (I didn't recognise it at first, they look quite similar but Consolas has more serifs.)

So Segoe UI Mono is selected where Segoe UI should be selected.
This happens in general for Segoe UI. It just was more apparent for me because I had set it as the default sans-serif font.
Summary: Firefox 44 renders everything in monospace → Firefox 44 selects Segoe UI Mono instead of Segoe UI
If you go back to FF43, it works normally? POssible regression?
So even with "font.name.sans-serif.x-western" set to its default value, Firefox still selects Segoe UI Mono instead of Segoe UI, as can be seen in the attached screenshot.

Some font information about my system:

    $ fc-list | grep Segoe
    /usr/share/fonts/Segoe/segoeuii.ttf: Segoe UI:style=Italic,Cursiva,kurzíva,kursiv,Πλάγια,Kursivoitu,Italique,Dőlt,Corsivo,Cursief,Kursywa,Itálico,Курсив,İtalik,Poševno,Etzana
    /usr/share/fonts/Segoe/segoeprb.ttf: Segoe Print:style=Bold
    /usr/share/fonts/Segoe/segoeui.ttf: Segoe UI:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta
    /usr/share/fonts/Segoe/SegoeMarker.ttf: Segoe Marker:style=Regular
    /usr/share/fonts/Segoe/segoeuiz.ttf: Segoe UI:style=Bold Italic,Negreta cursiva,tučné kurzíva,fed kursiv,Fett Kursiv,Έντονα Πλάγια,Negrita Cursiva,Lihavoitu Kursivoi,Gras Italique,Félkövér dőlt,Grassetto Corsivo,Vet Cursief,Halvfet Kursiv,Pogrubiona kursywa,Negrito Itálico,Полужирный Курсив,Tučná kurzíva,Fet Kursiv,Kalın İtalik,Krepko poševno,Lodi etzana
    /usr/share/fonts/Segoe/segoescb.ttf: Segoe Script:style=Bold
    /usr/share/fonts/Segoe/segoepr.ttf: Segoe Print:style=Regular
    /usr/share/fonts/Segoe/segoesc.ttf: Segoe Script:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta
    /usr/share/fonts/Segoe/segoeuib.ttf: Segoe UI:style=Bold,Negreta,tučné,fed,Fett,Έντονα,Negrita,Lihavoitu,Gras,Félkövér,Grassetto,Vet,Halvfet,Pogrubiony,Negrito,Полужирный,Fet,Kalın,Krepko,Lodia
    /usr/share/fonts/Segoe/segoeuil.ttf: Segoe UI,Segoe UI Light:style=Light,Regular
    /usr/share/fonts/Segoe/SegoeUIMono-Bold.TTF: Segoe UI,Segoe UI Mono:style=Mono Bold,Bold
    /usr/share/fonts/Segoe/SegoeUIMono-Regular.TTF: Segoe UI,Segoe UI Mono:style=Mono Regular,Regular
    /usr/share/fonts/Segoe/SegoeKeycaps.TTF: Segoe Keycaps:style=Regular
After downgrading to 43.0.4, microsoft.com again renders correctly. So yes, a regression.
Well, could you install Mozregression to find a regression range in FF44.
See http://mozilla.github.io/mozregression/ for details/doc (mozreg is a python 2.7 package).
You can run the command "mozregression --good=43"
If need be, you can use a custom profile with your font settings to reproduce the issue for every build downloaded by Mozreg.
(In reply to Loic from comment #15)
> Well, could you install Mozregression to find a regression range in FF44.
> See http://mozilla.github.io/mozregression/ for details/doc (mozreg is a
> python 2.7 package).
> You can run the command "mozregression --good=43"
> If need be, you can use a custom profile with your font settings to
> reproduce the issue for every build downloaded by Mozreg.

No need, I think. I'm pretty confident this was triggered by bug 1180560. You can confirm that by setting the pref gfx.font_rendering.fontconfig.fontlist.enabled to false in about:config (and restart Firefox); that will revert to the old behavior.

The problem arises because as the list in comment 13 indicates, the SegoeUIMono-Regular.TTF (and similarly the -Bold) font has the family name "Segoe UI" in addition to "Segoe UI Mono", and so it gets included in the Segoe UI family. But then there's no basis for the font-matching code to distinguish between the "normal" Segoe UI Regular face and the Segoe UI Mono Regular one, so it's a toss-up which one you'll get.
Blocks: 1180560
Status: UNCONFIRMED → NEW
Ever confirmed: true
OS: Unspecified → Linux
(In reply to Ruud van Asseldonk from comment #13)

> So even with "font.name.sans-serif.x-western" set to its default value,
> Firefox still selects Segoe UI Mono instead of Segoe UI, as can be seen in
> the attached screenshot.

which version of Segoe and Segoe UI are you using? Did you copy it from a Windows install? If so, which version?

I'd like to try and reproduce the problem here.
I can confirm that settigng gfx.font_rendering.fontconfig.fontlist.enabled to false resolves the issue.

Segoe UI version: 5.11 (sfnt revision 5.11)
Segoe UI Mono version: 0.70 (sfnt revision 0.699997)

I copied those from a Windows 7 x64 installation. They definitely are on my Windows partition, though I am not sure if they were part of the original installation. According to the following pages they were not:

https://www.microsoft.com/typography/fonts/product.aspx?PID=161
https://www.microsoft.com/typography/fonts/product.aspx?PID=164
Also, Segoe UI Mono has the following TTF Names:

  Family: Segoe UI Mono
  Styles (subfamily): Regular
  UniqueID: Segoe UI Mono
  Fullname: Segoe UI Mono
  Preferred Family: Segoe UI
  Preferred Styles: Mono Regular

So I think that is where the "Segoe UI" name is coming from.
Jonathan, any thoughts about the severity of this?
Flags: needinfo?(jfkthame)
(In reply to Ryan VanderMeulen [:RyanVM] from comment #20)
> Jonathan, any thoughts about the severity of this?

Pretty minor, IMO. It's a quirk of how fonts are organized/named in the Segoe UI family, which doesn't play nicely with our Linux font backend; but most users probably shouldn't be using those fonts on Linux anyway, as they're shipped with Windows and I doubt the license allows copying them to other operating systems.

If we see widely-available/installed font families with similar issues, it might become more important to try and come up with some way of fixing this.
Flags: needinfo?(jfkthame)
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: