Open Bug 1366373 Opened 8 years ago Updated 3 years ago

Individual font family members (like Roboto Condensed or Calibri Light) can no longer be selected in the font selector if a "direct write"-based font list is used (when Skia is used)

Categories

(Thunderbird :: Message Compose Window, defect)

defect

Tracking

(Not tracked)

People

(Reporter: forellio, Unassigned)

References

Details

User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0 Build ID: 20170508130652 Steps to reproduce: Nothing, you did an update. Actual results: Calibri light disappears from the font-list Expected results: Bring it back
Which new update? TB 52.1.1? Thunderbird doesn't change the fonts installed on your machine.
Thanks for your answer. Yes, TB 52.1.1. After reopening Thunderbird I wanted to compose an email and my previous setting was changed from calibri light to calibri. Searching calibri light failed because there was no calibri light in the list anymore. The general settings of firefox doesn't list it either.
Then there is something wrong with the font name. TB uses Mozilla core technology also used in FF and if FF doesn't see the font, there's nothing we can do about it. Well, we can refer the problem to the Mozilla team, but usually they point to a faulty font.
Thanks again. Perhaps this information helps: Now I see after opening the 'compose window' calibri light (not installed).
Yes, any fonts we encounter in a composition, say a reply, we flag as "not installed" if they are not contained in the list of fonts we retrieve. "Calbri Light" is part of the MS Calibri family. It works for me in TB 55 Daily, but sadly not in TB 52. Looks like something went broken in Mozilla Core and got fixed later. We had another bug where a font with a space in the name suddenly stopped working: Bug 1357838, in fact, the very same issue. As I said in bug 1357838 comment #9: Mozilla behaviour has also changed from TB 45 to 52 to 55. Alice, what can we tell this user about what to do with "Calibri Light"? Sadly I don't understand your comment about GDI and DirectWrite either. Why do some fonts work in TB 45 and TB 55 but not TB 52? Jonathan, can you please shed some light in this and bug 1357838 also.
Flags: needinfo?(jfkthame)
Flags: needinfo?(alice0775)
TB 45, 51.0b2 listed "Calbri" and "Calbri Light". TB 52 and 55 listed only "Calbri". Regression window: https://hg.mozilla.org/comm-central/pushloghtml?fromchange=635867a05c38&tochange=45dba2f8a9f9 https://hg.mozilla.org/mozilla-central/pushloghtml?startdate=2016-08-26+00%3A00%3A00&enddate=2016-08-27+04%3A00%3A00 Triggered by: 209072396aa5 Mason Chang — Bug 1007702. Enable skia on unaccelerated windows. r=lsalzman setting gfx.content.azure.backends = direct2d1.1,cairo seems fix the problem.
Flags: needinfo?(alice0775)
Sure, ever since Skia arrived I've turned it off since "Courier New" looks terrible with Skia. That's why my TB 55 shows "Calibri Light". Mason, why does the Skia stuff mess with the font names?
Flags: needinfo?(jfkthame) → needinfo?(mchang)
Status: UNCONFIRMED → NEW
Ever confirmed: true
Summary: With the new update (May 17th) the font CALIBRI LIGHT isn't available anymore! → Some font names with spaces in them not detected when using Skia
As mentioned in bug 1357838 comment 8 and 10, this is a result of moving from GDI to DirectWrite for font support. It's not about spaces in the names, it's about the grouping of font faces into font families. To try and explain a bit more fully: individual font faces are grouped into font families, and the list of installed fonts available in Thunderbird (or Firefox) is actually a list of font families. So, for example, the Times New Roman family (a single entry in the font family list) actually has four faces: Times New Roman, Times New Roman Italic, Times New Roman Bold, and Times New Roman Bold Italic. Within a family (selected by the CSS font-family property), a specific face will be selected as the best match for the rest of the CSS properties currently in effect: font-weight, font-style, font-stretch, font-size. The issue here arises because GDI had an extremely limited model of "font families", whereby a family could only contain (up to) four faces, assigned to the "standard" style attributes of regular/bold/italic/bold-italic. Therefore, if the designer of a font family (such as Calibri) wanted to provide more than two weights (say, "light" and "semibold" in addition to "regular" and "bold"), they had to work around this limitation by exposing some of the weights as a separate family (e.g. Calibri Light). The same goes for faces with different width (font-stretch, in CSS terms) such as Arial Narrow or Roboto Condensed. In the DirectWrite world, however, font families do not have this artificially-limited model of what a "font family" is, and therefore in the DW-based font list, these fragmented font families are reunited into single families that encompass all their differently-styled faces. So instead of a separate family "Calibri Light" that appears alongside "Calibri" in the font list, there's a Light face *within* the Calibri family, and it is accessible in Gecko using CSS such as "font-family:Calibri; font-weight: 300;". Similarly, I'd expect Roboto Condensed to be used if CSS calls for "font-family:roboto; font-stretch:condensed;".
Jonathan, thank you so much for the clarification. If I see it correctly, the DW-based font list no longer allows users to select the font they want to use in an e-mail composition or the FF font selector (about:preferences#content, Advanced). That might not be a problem for FF but it is a problem for TB since there is no UI to select "font-family:Calibri; font-weight: 300;". In fact, the Gecko editor (and the TB editor interface to it) still uses the old font tags |font=| since CSS arrived later and was only bolted onto the editor as a "plaster balcony". So what are we going to do with this bug? Do we tell people to switch from gfx.content.azure.backends = direct2d1.1,skia,cairo (default) to gfx.content.azure.backends = direct2d1.1,cairo ? I guess there is nothing left for Mason to answer here.
Flags: needinfo?(mchang)
Summary: Some font names with spaces in them not detected when using Skia → Individual font family members (like Roboto Condensed or Calibri Light) can no longer be selected in the font selector if a "direct write"-based font list is used (when Skia is used)
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.