Closed Bug 1671660 Opened 5 years ago Closed 5 years ago

[macOS 11] Variable fonts are broken

Categories

(Core :: Graphics: WebRender, defect)

All
macOS
defect

Tracking

()

RESOLVED FIXED
83 Branch
Tracking Status
firefox-esr78 --- unaffected
firefox82 --- unaffected
firefox83 --- fixed

People

(Reporter: mstange, Assigned: jrmuizel)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: regression)

Attachments

(3 files, 1 obsolete file)

Attached image before

On Big Sur, the latest Nightly has changed the way system fonts look in some places, for example the tab text, the url bar text, or the text on github.

Attached image after

The starkest difference is in the percentage glyph, see the last line of the github comment.
These San Francisco fonts come in multiple variants, and some APIs choose the variant based on the font size. I think what's happening is that the content process has chosen a different variant for the text layout than WebRender chose for the glyph rendering.

Regressed by: 1671034
No longer regressed by: 1625590
Has Regression Range: --- → yes
Summary: System fonts are rendered differently, at least on Big Sur → Variable fonts are broken on Big Sur

It seems the patch also broke font variations:

Blocks: 1648487
Summary: Variable fonts are broken on Big Sur → [macOS 11] Variable fonts are broken
Attached patch Try to fix it (obsolete) — Splinter Review
Assignee: nobody → jmuizelaar

It seems that, starting with Big Sur, CTFontDescriptorCreateCopyWithAttributes
(and similar functions) no longer accepts axis names as the attribute dictionary
keys. Instead, the dictionary keys need to be CFNumbers of the axis tag.

Pushed by mstange@themasta.com: https://hg.mozilla.org/integration/autoland/rev/431f3b75086b Use CFNumber for the axis keys in the font variation dictionary. r=jrmuizel

Sorry, missed that "unused variable" compiler warning when I built locally.

Flags: needinfo?(mstange.moz)
Pushed by mstange@themasta.com: https://hg.mozilla.org/integration/autoland/rev/f986cf8131c6 Use CFNumber for the axis keys in the font variation dictionary. r=jrmuizel
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → 83 Branch
Attachment #9182130 - Attachment is obsolete: true
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: