Closed Bug 1279962 Opened 9 years ago Closed 9 years ago

[10.12] Default Font Breaks after upgrading to macOS Sierra 10.12

Categories

(Core :: Graphics: Text, defect)

49 Branch
All
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla50
Tracking Status
firefox47 --- wontfix
firefox48 --- wontfix
firefox49 --- fixed
firefox50 --- fixed

People

(Reporter: ste, Assigned: mstange)

References

Details

(Whiteboard: [gfx-noted][sierra])

Attachments

(5 files)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:49.0) Gecko/20100101 Firefox/49.0 Build ID: 20160613004107 Steps to reproduce: Let's get rolling with the new macOS bugs 1. Using Firefox Dev Edition (49.0a2 (2016-06-13)) 2. Upgraded from 10.11.5 -> 10.12.0 (16A201w) 3. Once complete, Open Firefox Actual results: System Prompt to install missing fonts for Firefox. Font: Osaka, Select yes, Downloads font. Loads Firefox. All fonts are now using Osaka Expected results: Should not have been prompted to install Osaka.
Component: Untriaged → Graphics: Text
Product: Firefox → Core
Attached image Download font prompt
The same on 10.12 Beta (16A201w) fresh install. The prompt to download Osaka font is from plugin-container (see the attached screenshot).
This is 49.0a2 (2016-06-14), but most likely nightly looks the same.
I don't imagine this is a regression as such, but a regression range would help. Although, I would first try to set gfx.content.azure.backends to cg, restart, and see if the problem goes away.
Whiteboard: [gfx-noted]
OS: Unspecified → Mac OS X
We need to fix this early this time around. We were way too late to the game in 10.11 (bug 1201318). Now that John Daggett is gone, who can fix this?
Flags: needinfo?(jfkthame)
Setting gfx.content.azure.backends to cg doesn't help.
It was broken somewhere between Fx-34.0 (fonts are ok) and Fx-35.0 (fonts are not ok). Do you think that bisecting it further will be helpful? I'll try to do it on the weekend if so.
If you can bisecting this further (e.g. to a specific Nightly) that would be helpful, I think. I don't currently have a system running 10.12.x to investigate directly, but if we know what triggered a change in behavior that might help suggest possible solutions.
Flags: needinfo?(jfkthame) → needinfo?(ojab)
Same problem with Firefox 47 stable. Address bar, favourites, menus and tab name don't display the correct font.
Looks like bisecting is impossible here: nightlies from ftp.mozilla.org around 2014-09..2014-12 crash on start (with domething like https://crash-stats.mozilla.com/report/index/4fc6d15d-ef4d-470c-a343-0221a2160620), build from source of the same nightlies using Xcode 8 fails with various errors :(
Flags: needinfo?(ojab)
That's too bad. :( I guess we need a developer with a 10.12 system to do a bit of debugging, then. If I'm understanding the description here, there are two issues we need to investigate: first, why are we triggering a prompt to download Osaka? (Stephen, is it possible you were trying to view a site with some Japanese text -- even just a language name, such as Wikipedia or Facebook might have?) And second, why are we using a default serif font (it looks like Times to me) throughout the UI etc (in attachment 8762670 [details]) instead of the system UI font? That seems to suggest that the Cocoa theme code failed to find the system font (maybe there's some strange meta-family naming stuff going on?) (ojab, if you go into about:preferences#content and change the default font from Times to something clearly different, does that result in the new default being used throughout the UI? That would support the theory that we're failing to resolve the system font name and ending up with CSS fallback instead.)
Flags: needinfo?(stephen.jd.murphy)
Flags: needinfo?(ojab)
It's not caused by any site that may have been visited. I got the same prompt to download Osaka when I first started it after upgrading to macOS 10.12, and I definitely hadn't visited any sites that try to use that font. Besides, I believe the prompt to download the Osaka showed up even before the profile manager, so no sites were loading. FYI, for anyone who needs a workaround for the serif font in the UI, I've temporarily worked around the issue by installing the extension Theme Font & Size Changer and manually overriding the font.
I've got the same prompt with Thunderbird but I declined the offer to download Osaka. Thunderbird looks fine and haven't asked for the font on subsequent launches.
Changing font in about:preferences#content changes font in UI. BTW if I select font doesn't have some symbols (Apple Color Emoji, for example), Osaka is used instead. See the attached screenshot, Apple Color Emoji is used for digits.
Flags: needinfo?(ojab)
(In reply to ojab from comment #13) > Created attachment 8763612 [details] > Screenshot of URL bar w/ Apple Color Emoji selected as Default Font > > Changing font in about:preferences#content changes font in UI. > BTW if I select font doesn't have some symbols (Apple Color Emoji, for > example), Osaka is used instead. See the attached screenshot, Apple Color > Emoji is used for digits. Are you sure that's Osaka? (How can you tell?) It looks like Times Roman to me.
Flags: needinfo?(ojab)
Yeah, my bad, it's not Osaka. By the way, Fx-34.0 (the last w/ proper font) doesn't change interface font after changing "Default Font" in preferences, so looks like it's broken in Fx-35.0 because "Default Font" is being used also for interface. There is a font named just "Times" in Font Book, I assume that it is actually used.
Flags: needinfo?(ojab)
Attached file textrun.out
Log of firefox run with export NSPR_LOG_MODULES=textrunui:5,textrun:5 export NSPR_LOG_FILE=textrun.out After `mv /System/Library/Fonts/SFNS* ~/Fonts/` fonts in firefox UI becomes OK (but it breaks fonts in many other places). Don't know if it's useful observation though.
My current guess is that gfxMacPlatformFontList::LookupSystemFont is failing to find the system font, for reasons currently unknown. It might be that gfxMacPlatformFontList::InitSystemFonts is failing... or maybe gfxMacPlatformFontList::InitFontList() never sees the .SF NS Text/Display families and puts them in the mSystemFontFamilies list in the first place. Markus, do we have access to a 10.12.x pre-release to try and debug this? It's a long time since I worked with Apple developer seed releases....
Flags: needinfo?(mstange)
I can do it next week. I'm on PTO this week.
I currently do not have access to the macOS machine anymore. I could possibly set up a dual boot on my machine and test it
This evening, while Firefox was open, I randomly got prompted yet again to download Osaka. The message specifically states: "plugin-container.app needs to download font “Osaka” before use." At the time, I had opened a new tab and was typing into the search bar. I don't know what specifically triggered it though. (I'm also running macOS Sierra and Firefox 47)
I think the unexpected Osaka download prompt is probably a separate issue from the failure to find and use the right system UI font. Could you file a new bug about that, please?
I have installed 10.12 and can do some debugging now.
Blocks: sierra
I've filed bug 1283573 about the Osaka dialog.
I wonder if there's a workaround or some way to remove Osaka to make UI look OK.
I don't think Osaka is connected with the incorrect UI font here; my guess is they're entirely separate issues.
@jfkthame It very well may be. I'm just operating on the assumption that Osaka is somehow involved in the UI breakage. My evidence are the following: * Firefox asked for Osaka, I agreed, UI is broken. * Thunderbird asked for Osaka, I declined, UI is fine. Apparently, this is not a system-wide issue. I tried running Firefox with a new profile, the UI is still broken, so it's not profile-specific. It seem to be local to an app.
I've debugged this some more. It doesn't have anything to do with Osaka. This is similar to bug 1201318, and like in that bug, the place where we eventually fail is in MacOSFontEntry::GetFontRef(), because CGFontCreateWithFontName returns null. We call CGFontCreateWithFontName with the name ".AppleSystemUIFont". That name comes from the font entry, which gets its name from the corresponding item in the list from [sFontManager availableMembersOfFontFamily:@".SF NS Text"]. The list it returns looks like this: [ [ .AppleSystemUIFont, Regular, 5, 16384 ], [ .AppleSystemUIFontItalic, Regular Italic, 5, 16385 ], [ .AppleSystemUIFontUltraLight, UltraLight, 2, 16384 ], [ .AppleSystemUIFontUltraLightItalic, UltraLight Italic, 2, 16385 ], [ .AppleSystemUIFontThin, Thin, 3, 16384 ], ... ] Applying the patch https://reviewboard.mozilla.org/r/18165/diff/2 fixes this bug. This patch didn't land in bug 1201318 because somehow it wasn't necessary. It's not clear to me why.
Flags: needinfo?(stephen.jd.murphy)
Flags: needinfo?(mstange)
(In reply to Markus Stange [:mstange] from comment #27) > This patch didn't land in bug 1201318 because somehow it wasn't > necessary. It's not clear to me why. On 10.11, the names that availableMembersOfFontFamily:@".SF NS Text" returns are ".SFNSText-Regular", ".SFNSText-Medium" etc. And those names are accepted by CGFontCreateWithFontName on 10.11.
Assignee: nobody → mstange
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Hardware: Unspecified → All
Comment on attachment 8766948 [details] Bug 1279962 - Fall back to getting the CGFontRef from NSFont to support hidden system fonts on 10.12. https://reviewboard.mozilla.org/r/61660/#review58548 Yes, let's take this as an immediate fix with no disruption to anything else. Out of curiosity, what does CGFontCopyFullName() return for the problematic font, once you've gotten its CGFontRef this way? And does that name work with CGFontCreateWithFontName()?
Attachment #8766948 - Flags: review?(jfkthame) → review+
I'll check that on Monday. I realized that this patch breaks the size-based Text / Display thing. Both the text font and the display font have the same font entry names on 10.12.
(In reply to Jonathan Kew (:jfkthame) from comment #30) > Out of curiosity, what does CGFontCopyFullName() return for the problematic > font, once you've gotten its CGFontRef this way? System Font Regular System Font Light System Font Semibold [...] > And does that name work > with CGFontCreateWithFontName()? It returns a font, but it looks like it returns the Display variant instead of the Text variant.
Comment on attachment 8766948 [details] Bug 1279962 - Fall back to getting the CGFontRef from NSFont to support hidden system fonts on 10.12. Review request updated; see interdiff: https://reviewboard.mozilla.org/r/61660/diff/1-2/
This patch makes the size-dependent Text->Display switch work again. But the code is terrible.
Whiteboard: [gfx-noted] → [gfx-noted][sierra]
The issue seem to go away on Sierra beta 2.
Also fixed here with 10.12 beta 2 update.
Confirmed. They went back to calling the font family members names like .SFNSTextItalic_Light and .SFNSDisplay_Semibold. Thanks Apple! I'd still like to clean this up so that we can go e.g. from [NSFont menuBarFontOfSize:0.0] to the NSFont's CGFontRef without going through string font names in the middle, but we can do this in a separate bug without time pressure.
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → WORKSFORME
It seem to be back with new developer beta (16A254g).
Confirming, strange font is back in latest beta.
Reopening. (I haven't updated myself yet.)
Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---
Attachment #8766948 - Flags: review?(mstange)
Comment on attachment 8766948 [details] Bug 1279962 - Fall back to getting the CGFontRef from NSFont to support hidden system fonts on 10.12. https://reviewboard.mozilla.org/r/61660/#review62408 Re-requesting review, because the patch has changed a lot compared to the version you reviewed.
Attachment #8766948 - Flags: review?(mstange)
Attachment #8766948 - Flags: review?(jfkthame)
Attachment #8766948 - Flags: review+
Comment on attachment 8766948 [details] Bug 1279962 - Fall back to getting the CGFontRef from NSFont to support hidden system fonts on 10.12. https://reviewboard.mozilla.org/r/61660/#review62450 It's horrible that we have to do this, but r=me anyway, at least as a short-term fix. Maybe we can eventually re-think how we're managing font references on MacOS and come up with a cleaner approach.
Attachment #8766948 - Flags: review?(jfkthame) → review+
I am still having this issue with Sierra Beta 3 (16A254g) and Firefox Nightly as of 2017-07-20. Let me know what I can do to help fix this. Happy to test a build or provide more detailed feedback.
Pushed by mstange@themasta.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/faf57f9dbeee Fall back to getting the CGFontRef from NSFont to support hidden system fonts on 10.12. r=jfkthame
Status: REOPENED → RESOLVED
Closed: 9 years ago9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla50
Summary: Default Font Breaks after upgrading to macOS Sierra 10.12 → [10.12] Default Font Breaks after upgrading to macOS Sierra 10.12
Comment on attachment 8766948 [details] Bug 1279962 - Fall back to getting the CGFontRef from NSFont to support hidden system fonts on 10.12. Approval Request Comment [Feature/regressing bug #]: macOS 10.12 Sierra [User impact if declined]: Fonts in the Firefox UI are completely wrong; this is extremely easy to notice and looks really bad [Describe test coverage new/current, TreeHerder]: none [Risks and why]: low to medium [String/UUID change made/needed]: none
Attachment #8766948 - Flags: approval-mozilla-aurora?
Comment on attachment 8766948 [details] Bug 1279962 - Fall back to getting the CGFontRef from NSFont to support hidden system fonts on 10.12. This patch fixes the font issue in Sierra. Take it in 49 aurora.
Attachment #8766948 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Hello everyone, I'm not a programmer user, I got the error described here in which "plugin-container.app" asks me to download the font Osaka. Looking to solve the problem on the Internet, this thread was the unique result related to this bug. At this time (Firefox 49.0.1, MacBook Air OSX Sierra 10.12) I get this message every time I click to start a new search, that is almost all the time.
The issue of the prompt to download Osaka was split off to bug 1283573, but was supposed to have been fixed there already. I'm copying your comment over to that bug.
MacOS Sierra 10.12.3 (16D32) FireFox 51.0.1 (64b) "plugin-container.app" asks me 2x to download the font "Osaka" all plugins are disabled, only add-ons allowed. maybe was not commited for mac-users? :) But bug can be reproduced on my MacMini since last 2 Days... Thank you!
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: