Open Bug 1798478 Opened 2 years ago Updated 2 years ago

Consider using Noto fonts Bengali instead of Vrinda, as Edge does

Categories

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

enhancement

Tracking

()

People

(Reporter: twisniewski, Unassigned)

Details

A Reddit user has reported that Edge's choice of Noto Bengali font renders better for them; it might be worth considering using it instead or Vrinda.

This is referring to Windows, presumably? AFAIK, I don't think Windows includes Noto fonts (e.g. see https://learn.microsoft.com/en-us/typography/fonts/windows_10_font_list). Does Edge bundle extra Noto fonts, or has the user installed and chosen it manually?

I unfortunately don't have answers to these questions, as I only filed this bug on the behalf of the reporter on Reddit, and haven't had time to dig in myself.

I would presume it's true on at least Windows, given that they are comparing against Edge, but I do not know if Edge bundles the fonts, or the user simply has them installed, and Chrome happens to prefer them somehow, or if it's just webfonts-related. The reporter does say that Bengali fonts have always looked better to them on Chromium browsers, and that Noto is used while Firefox chooses Vrinda. They have also since mentioned that this makes the fonts on sites like BBC Bengali look worse.

So my best guess based on what you've just stated is that this might be a webcompat issue, where sites like BBC Bengali are preferring Noto over Vrinda somehow. But we'll have to dig in to confirm.

It looks like the BBC Bengali site deploys Noto Serif Bengali as a webfont, but it also sets the font-display: optional descriptor so that if it's slow to load, it doesn't get used, and we end up with a fallback. For my Win10 machine, that ends up being Nirmala UI.

Default Bangla mono space font (Mitra Mono) looks ugly in windows 10. One example is opening a bangla dataset from github.
In linux, If you install flatpak firefox from flathub. And open BBC Bengali. The font looks ugly even if you install noto fonts in system and give font permission.
Overall the bengali fonts experience is bad by default in firefox. Facebook Bengali fonts isn't smooth. If I use noto fonts or Nirmala UI (made by microsoft) I get smooth fonts experience.
My suggestion is Firefox should use Noto fonts bengali for serif, sans serif or monospace. We get much smooth experience.

:jfkthame, is it possible that the default 100ms value for gfx.downloadable_fonts.fallback_delay_short is just too short compared to whatever Chrome is using/doing? Because if I raise that, Firefox also uses the webfont for BBC Bengali on my Macbook. Or if we don't want to change or tweak our heuristic there to also get Noto, it may still be good to consider a different fallback font on Windows (presuming one is available). Thoughts?

Flags: needinfo?(jfkthame)

The font-display: optional descriptor they're using means they really don't want any extra delay; the webfont (i.e. Noto Serif Bengali) should only be used if it is available "immediately". So it's fully expected that users will see a fallback if their connection is a bit slow/congested/high-latency.

Currently our defaults for Windows appear to be the same for both serif and sans-serif, which may be less than ideal. (The use of Vrinda dates back to bug 378105 for WinXP, for example!)

On Win10 with "fonts for all languages" installed, I see three font families that support Bangla: there's Nirmala UI, the pan-Indic UI font (which is the only one installed by default on an en-US system, until the "fonts for all languages" option is added); Vrinda, and Shonar Bangla.

Of these, I think Vrinda remains the most appropriate for the sans-serif generic, as it is a largely monoline design, while Shonar Bangla is a modulated design that would be appropriate for serif. However, it is noticeably smaller overall, which I'm not sure if users would like. So maybe Nirmala UI would be a better choice for serif.

But in any case, the BBC site lists sans-serif as its last fallback, even though their webfont is Noto Serif Bengali, so changing the default font pref for serif won't make any difference there. We'd have to change sans-serif, and I don't see a better option for that among the standard Windows fonts. Of course, users may install other fonts that they like better, but we can't anticipate and preconfigure all such possibilities.

Flags: needinfo?(jfkthame)

As for the comparison with Edge: it appears that Edge is not actually honoring the font-display: optional descriptor. When I load a BBC Bengali news page in Edge, or reload it holding down the Shift key (to bypass cache), I see the content appear with fallback fonts (looks like Nirmala UI) for a moment, then the webfont loads, and it changes to Noto Serif Bengali. That "flash of unfonted text" is supposed to be prevented by font-display: optional: if the webfont isn't available in time for the first paint, it shouldn't be used at all. As the spec says,

An optional font must never cause the layout of the page to "jump" as it loads in.

But that's what I'm seeing happen in Edge.

Ah, that's very interesting. I wonder if this is just a bug in Chromium?

The severity field is not set for this bug.
:TYLin, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(aethanyc)
Severity: -- → S3
Type: defect → enhancement
Flags: needinfo?(aethanyc)
You need to log in before you can comment on or make changes to this bug.