Closed Bug 1985250 Opened 5 months ago Closed 4 months ago

Apply gamma 1.4 when rendering freetype glyphs on Android

Categories

(Core :: Graphics: Text, enhancement)

enhancement

Tracking

()

RESOLVED FIXED
144 Branch
Tracking Status
firefox144 --- fixed

People

(Reporter: jfkthame, Assigned: lsalzman)

References

(Blocks 1 open bug)

Details

(Whiteboard: [jp-mvp])

Attachments

(2 files)

This appears to be what Chrome does, and while the effect is extremely subtle, it does seem to help the clarity of glyph rendering slightly. In general it results in glyphs that seem marginally lighter/thinner and crisper, with a less "blurred" appearance.

For complex East Asian glyphs with a lot of internal detail, this may be particularly helpful.

The attached example shows a fragment of text from yahoo.co.jp rendered without gamma vs with the gamma 1.4 setting. The difference is subtle but I think on balance it's an improvement. Zooming in may make it easier to see what changes. Look at complex Kanji glyphs such as the last character of the headline: to my eyes, the gamma-1.4 version seems ever so slightly clearer.

Points: --- → 3
Whiteboard: [jp-triage] → [jp-mvp]

Let's aim to get this change into Nightly so that we can get some wider exposure and feedback on the change.

(Lee has some work in progress towards this, so marking as assigned to him.)

Assignee: nobody → lsalzman
Status: NEW → ASSIGNED

Skia and Chome assume gamma 1.4 for fonts on Android when preblending.
By contrast, Firefox currently does a linear blend on Android.

The gamma 1.4 preblend causes a faster falloff in anti-aliasing than
the linear blend, which can contribute to fonts looking sharper at
smaller sizes.

To ensure that the readability of small fonts on Android is closer
to what users are experiencing in Chrome, let's enable this gamma 1.4
preblend for Android.

Most text in Firefox is rendered through the WebRender font rasterizer
rather than Skia, so we need to add some small amount of support for
preblending in the *nix font backend on Android to support this case.

Status: ASSIGNED → RESOLVED
Closed: 4 months ago
Resolution: --- → FIXED
Target Milestone: --- → 144 Branch
Points: 3 → ---
Regressions: 1985931

Though I have used nightlies (on my pixel 3) on a daily basis (I read articles on yahoo.co.jp), I haven't seen/noticed any difference since this bug land.

Actually as Jonathan mentioned in comment 0 I can see the difference in the attachment in comment 0 though, I initially didn't notice it before I read his comment. The reason, I guess is, I read kanji characters based on its general shape or context between each other characters.

That's being said, I agree that the gamma-1.4 version looks slightly better than the no-gamma version.

Current Android devices has HiDPI and display resolution is high, so I didn't notice that font rendering is changed.
But, after changing this, I feel that font anti-alias is more natural on My old Chromebook (no hidpi, FHD display) with Firefox Android.

With my Pixel 7a, I haven't noticed the difference.

QA Whiteboard: [qa-triage-done-c145/b144]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: