Closed Bug 1592293 Opened 5 years ago Closed 5 years ago

Introduce config variable to control sub-pixel positioning

Categories

(Core :: Graphics: Text, enhancement, P3)

72 Branch
Unspecified
Linux
enhancement

Tracking

()

RESOLVED FIXED
mozilla72
Tracking Status
firefox71 --- fixed
firefox72 --- fixed

People

(Reporter: gh5681, Assigned: lsalzman)

Details

Attachments

(2 files)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0

Steps to reproduce:

I recently submitted bug 1568603 in which I showed that some glyphs had bad inter-glyph spacing.
After this got fixed, another user reported bug 1585931 where the user showed that some of their fonts are rendering too blurry.
The fix for bug 1585931 reverted the fix for bug 1568603 if hintstyle=hintfull is used.

Unfortunately, hintstyle=hintfull is my preferred configuration and the fix for bug 1585931 reintroduced the bad inter-glyph spacing for me. I did not experience the blurriness with hintstyle=hintfull that user reported because I am using different fonts on my system. However, I must now use hintstyle=hintslight in order to get proper inter-glyph spacing and that does result in blurrier rendering on the Y-axis (as expected from hintslight).

In the end it comes down to which fonts the user is using on their system. Some fonts are particularly susceptible to blurriness when positioned with sub-pixel granularity. Other users use screen fonts that have specifically been developed with such use cases in mind.

To get the best of both worlds and empower the user to make their decisions, based on their system and individual taste, I would like to propose a ternary config variable, with the following configuration values:

auto - automatically decide whether sub-pixel positioning should be used (default, on for hintnone/hintslight, behavior like in trunk)
force off - always disable sub-pixel positioning
force on - always enable sub-pixel positioning (except for bitmap fonts)

Introducing a config variable would also help to mitigate upcoming user complaints if the new sub-pixel positioning code lands in regular Firefox releases.

Attached image interglyph-spacing.png
Priority: -- → P3
Assignee: nobody → lsalzman
Status: UNCONFIRMED → ASSIGNED
Component: Graphics: WebRender → Graphics: Text
Ever confirmed: true
OS: Unspecified → Linux

The component has been changed since the backlog priority was decided, so we're resetting it.
For more information, please visit auto_nag documentation.

Priority: P3 → --
Priority: -- → P3
Pushed by lsalzman@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/9cefd2ad7e52
add gfx.text.subpixel-position.force-enabled and force-disabled prefs. r=jrmuizel
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla72

Comment on attachment 9105034 [details]
Bug 1592293 - add gfx.text.subpixel-position.force-enabled and force-disabled prefs. r?jrmuizel

Beta/Release Uplift Approval Request

  • User impact if declined: As of version 71, bug 1583707 and bug 1585931 introduce substantial changes to how fonts appear on Linux. This introduces prefs that allows users who are not satisfied with said changes to toggle them via pref. I would like to make sure the pref appears in the same version as the font changes, so that we can refer users to the pref if they want the old behavior.
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Just gates some new features with a pref. Doesn't introduce new behavior by default.
  • String changes made/needed:
Attachment #9105034 - Flags: approval-mozilla-beta?

Comment on attachment 9105034 [details]
Bug 1592293 - add gfx.text.subpixel-position.force-enabled and force-disabled prefs. r?jrmuizel

Add internal prefs to control our new 71 font behaviour on Linux, the patch has tests and may be useful for linux packagers, uplift approved for 71 beta 10, thanks.

Attachment #9105034 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: