Closed Bug 1695528 Opened 3 years ago Closed 3 years ago

Firefox doesn't fall back to the bundled Twemoji font anymore

Categories

(Core :: Layout: Text and Fonts, defect)

Firefox 86
Desktop
Windows
defect

Tracking

()

RESOLVED FIXED
88 Branch
Tracking Status
firefox-esr78 --- unaffected
firefox86 --- wontfix
firefox87 --- fixed
firefox88 --- fixed

People

(Reporter: kanapa1, Assigned: jfkthame)

References

(Regression)

Details

(Keywords: regression)

Attachments

(2 files)

Steps to reproduce:

  1. Have EmojiOne Color font installed on Windows (e.g. LibreOffice installs it automatically for some reason; I don't know whether this issue will still be reproducible with other emoji fonts as well or not, I didn't check it out so thoroughly).
  2. Edit the Windows font list and hide the Segoe UI Emoji font* (as Windows 7 doesn't have this font at all, it may be possible to reproduce on it without this step (I did't check it out, I don't have Windows 7 anymore)).
  3. Launch Firefox.
  4. Go to this website: https://emojipedia.org/emoji/ or any other that has emojis and doesn't use its custom font for them.

Actual results:
Firefox notices that the Segoe UI Emoji font is missing, so it uses other font instead. However, for some reason the other font used by Firefox is not Twemoji (the bundled fallback emoji font), but Firefox somehow finds out that I have another emoji font installed on my system (EmojiOne Color from LibreOffice) and uses it instead.

Expected results:
Firefox should notice that the Segoe UI Emoji font is missing and use the intended fallback emoji font — Twemoji — without searching for any other emojis from other programs installed on the system.

This is how it worked before landing 23756a8322ec8eff97ed178badda5e5d9b081131 (Mozregression helped me find the specific culprit here).


* A real world use case for this is to have emoji parity as the version of Segoe UI Emoji that ships with Windows 8.1 doesn't support anything newer than Emoji 1.0, so another font would have to fill the huge gap anyway, resulting in an emoji mix. Better not let that happen.

This is exactly what is expected after bug 1686274 landed: since Windows ships with an included emoji font, Firefox doesn't need to load Twemoji and can instead rely on what the operating system provides. This makes it more consistent with other applications (and browsers) on the same system.

If you still want the Twemoji font to be used, rather than relying on the Windows font, setting gfx.bundled-fonts.activate to 1 in about:config (instead of the default -1) should enable this.

(Given that the version of Segoe UI Emoji on Windows 8.1 is quite old, I think we might adjust the behavior so that Twemoji is still used by default there; see bug 1695432.)

See Also: → 1695432

Okay, I may have misunderstood the new font selection mechanism. I thought it should have the following states only:

  1. Segoe UI Emoji font available — use it.
  2. Segoe UI Emoji font unavailable/hidden/inaccessible/etc. — use Twemoji regardless of whether other emoji fonts from other programs installed on the system are present or not (simply don't search for anything else).

And thank you for your nice workaround, now I have Twemoji back.

Any chance there's a way to have the fallback to Twemoji for the Unicode range representing flags? Otherwise, you've introduced a visual regression.

https://twitter.com/ericlaw/status/1366421321131950088

Regressed by: 1686274
Has Regression Range: --- → yes

(ni?ing for comment 3)

Flags: needinfo?(jfkthame)

Set release status flags based on info from the regressing bug 1686274

(In reply to Emilio Cobos Álvarez (:emilio) from comment #4)

(ni?ing for comment 3)

See recent discussion in bug 1686274 comment 11 and following.

Given the number of people noticing and reporting various forms of this issue, I think we should take this as an indication that using the bundled Twemoji font was providing significant benefit to users, and revert the decision in bug 1686274 to skip loading it (for startup-time reasons) on Win10. It's possible, especially in cases like cold-start on a system with a slow disk, that it may cost hundreds of milliseconds, but it's unlikely users will see this on most startups.

So I'm intending to post a patch to re-enable the font by default on Win10; and in addition, I think we should add telemetry to report the impact on startup time so that we can better assess the impact in the wild.

Flags: needinfo?(jfkthame)

I agree with Jonathan's suggestion and think this is the right approach. Also collecting some telemetry would be good. Let's monitor the impact of of this change on startup time as a whole.

This essentially reverts what we did in bug 1686274, because users are not happy
with just getting Segoe UI Emoji instead. However, the pref is left in place so
that we can easily experiment with disabling the font to continue testing the
impact on startup, rendering, etc.

Assignee: nobody → jfkthame

Filed bug 1696162 as a followup to add telemetry here.

Pushed by jkew@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/45b9f8ff2818
Activate the bundled Twemoji Mozilla font by default on all Windows versions, for better character coverage than Segoe UI Emoji offers. r=lsalzman
Status: UNCONFIRMED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 88 Branch

Comment on attachment 9206620 [details]
Bug 1695528 - Activate the bundled Twemoji Mozilla font by default on all Windows versions, for better character coverage than Segoe UI Emoji offers. r=lsalzman

Beta/Release Uplift Approval Request

  • User impact if declined: Some emoji, in particular the regional indicator symbols (national flags) fail to display
  • Is this code covered by automated tests?: No
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: Bug 1695432
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): This just re-enables the bundled emoji font we were using up till Firefox 85.

The one "risk" is that there may be a startup-time regression, particularly on cold start, though it will usually be very small, and merely reverts the possible gain we were trying to get in bug 1686274.

  • String changes made/needed:
Attachment #9206620 - Flags: approval-mozilla-beta?

Comment on attachment 9206620 [details]
Bug 1695528 - Activate the bundled Twemoji Mozilla font by default on all Windows versions, for better character coverage than Segoe UI Emoji offers. r=lsalzman

approved for 87.0b6

Attachment #9206620 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: