Closed Bug 1434433 Opened 7 years ago Closed 2 years ago

Cleartype fonts: changes between V51/V52 and between V57/V58

Categories

(Core :: Layout: Text and Fonts, defect, P3)

57 Branch
defect

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: soulmatt2002, Unassigned)

Details

(Whiteboard: gfx-noted)

Attachments

(1 file, 2 obsolete files)

User Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:57.0) Gecko/20100101 Firefox/57.0 Build ID: 20180103231032 Steps to reproduce: It is widely known that Mozilla changed the handling of fonts when they released V52. It is widely known that to fix this cleartype issue you had to change gfx.canvas.azure.backends = direct2d1.1,skia,cairo gfx.content.azure.backends = direct2d1.1,skia,cairo" to gfx.canvas.azure.backends = direct2d1.1,cairo,skia gfx.content.azure.backends = direct2d1.1,cairo,skia" BUG REPORT: This no longer works when you upgrade from V57 to V58. After days spent researching this problem I could NOT find a solution. Is someone aware of this issue?
Component: Untriaged → Layout: Text
Product: Firefox → Core
Oops. Let me be a little clearer. I have cleartype OFF in as many places as possible on Windows 10. In Firefox about:preferences I have "Allow pages to choose their own fonts, instead of your selections above" unchecked & serif and sans-serif both set to Arial. Basically, I only want to see Arial fonts that are not cleartyped, with the emphasis being on 'not cleartyped'. Everything was fine all the way up to Firefox v52. The changes shown above for gfx.*.azure.backends was the hack I did to fix the cleartype characters that were appearing in v52. This hack has been working up until v57 ... but now v58 is all messed up with some sites showing cleartype, noticeably facebook.com. I hope this makes the issue clearer. Is there a setting I can affect that will give me no cleartype fonts. Thanks.
To help further, I have created a blogspot site and posted an entry for your reference: https://firefoxtrivia.blogspot.co.nz/2018/01/cleartype-issue.html Thanks.
Does it make any difference to flip "layers.omtp.enabled"?
I flipped layers.omtp.enabled = false (was [default] = true). I noticed the default in 57.0.4 is false and thought you might be on to something :) Unfortunately, no difference. I have 3 sites as test pages: #1 http://peanuts.wikia.com/wiki/Andy #2 https://www.nytimes.com/2018/01/28/technology/europe-data-privacy-rules.html?smid=tw-share #3 https://www.facebook.com/ On Firefox 57.0.4 these are all showing what I want. On Firefox 58.0.1 #1 and #2 are good, but #3 facebook is showing the fuzzy cleartype.
So the fundamental issue here is that in some cases, Firefox is using subpixel antialiasing (ClearType) even when the Windows preferences have been set to disable it. That sounds like it's simply a bug (in moz2d?) whereby it's not consistently respecting the system antialiasing mode. Moving this to gfx:text, as I think it's an issue on the graphics side of things.
Component: Layout: Text → Graphics: Text
Yeah. Something happened between 57 and 58 where, without any changes to my OS's ClearType settings, sites that showed no ClearType fonts are now either using a mixture of ClearType and non-ClearType, or totally using all ClearType (https://www.facebook.com is the worst offender). In order that I don't get stuck using 57.0.4 for ever, I needed to make a compromise so I have set all the following back to their defaults: gfx.canvas.azure.backends = direct2d1.1,skia,cairo gfx.content.azure.backends = direct2d1.1,skia,cairo layers.omtp.enabled = true The 2 settings gfx.canvas.azure.backends = direct2d1.1,cairo,skia (skia & cairo flipped positions from default) gfx.content.azure.backends = direct2d1.1,cairo,skia (skia & cairo flipped positions from default) were working from 52.0 up to Firefox 57.0.4 and seemed to completely get rid of all ClearType on all webpages, as desired.
I confirm this issue. Something has happened with fonts after transition to 58 from 57. I have cleartype disabled anywhere in Windows, Arial as substitute font in FF on many sites (via Stylus add-on) and gfx.canvas.azure.backends = direct2d1.1,cairo (skia is deleted). Font smoothing even flickers for me on some webpages: http://telegra.ph/file/5c2608eeb0d4861a9a91d.mp4
Also have font flickering on scroll: https://imgur.com/a/48NsO Windows 10 (x64). Cleartype enabled. Firefox 58.0.1 (x86). Hardware acceleration enabled. gfx.canvas.azure.backends = direct2d1.1,cairo,skia gfx.content.azure.backends = direct2d1.1,cairo,skia gfx.direct2d.disabled = true
Attached image Default (obsolete) —
Windows 7 (x64) Cleartype OFF >> Firefox 58 with default settings gfx.canvas.azure.backends = direct2d1.1,skia,cairo gfx.content.azure.backends = direct2d1.1,skia,cairo gfx.direct2d.disabled = false ##Problem Firefox UI show fonts with Cleartype OFF and website content with Cleartype ON >> Firefox 58 with setting in about:config to disbale cleartype that worked before gfx.canvas.azure.backends = direct2d1.1,cairo,skia gfx.content.azure.backends = direct2d1.1,cairo,skia gfx.direct2d.disabled = true So between Firefox 57 and 58 the UI Cleartype setting got separated from content ##Problem Firefox UI show fonts with Cleartype ON and website content with Cleartype OFF
Attached image changesettings.png (obsolete) —
BUMP This issue clearly affects a lot of Firefox users. I have been updating Nightly every day and still this issue is prevalent. Here's a solution: Whoever changed the code that caused this needs to revert the section of code. PROBLEM SOLVED! The chunk of code is in the 'handling of cleartype' logic section. Put it back and this issue disappears.
ClearType over to :bas.
Flags: needinfo?(bas)
Whiteboard: gfx-noted
(In reply to soulmatt2002 from comment #11) > BUMP > > This issue clearly affects a lot of Firefox users. I have been updating > Nightly every day and still this issue is prevalent. > > Here's a solution: Whoever changed the code that caused this needs to revert > the section of code. PROBLEM SOLVED! The chunk of code is in the 'handling > of cleartype' logic section. Put it back and this issue disappears. So the hack probably stopped working because cairo was killed off completely, but that's somewhat of a guess, that's not something that can, or should be undone. (In reply to Jonathan Kew (:jfkthame) from comment #5) > So the fundamental issue here is that in some cases, Firefox is using > subpixel antialiasing (ClearType) even when the Windows preferences have > been set to disable it. That sounds like it's simply a bug (in moz2d?) > whereby it's not consistently respecting the system antialiasing mode. > > Moving this to gfx:text, as I think it's an issue on the graphics side of > things. So, I looked at this, this seems to be a problem with the user report, with cleartype off, I can't see us ever using -cleartype- what I can see is that a lot of places use grayscale AA, where the user would prefer -no- AA whatsoever. (See also his blogpost at: https://firefoxtrivia.blogspot.co.nz/2018/01/cleartype-issue.html, where the page on the right does -not- have cleartype. It just still has grayscale AA. When disabling ClearType, some fonts will be rendered without AA and some with grayscale AA, depending on their font metadata, this is expected behavior. We enable Grayscale AA because that is what Windows tells us, as listed here: http://www.thewindowsclub.com/disable-font-smoothing-windows if you want Grayscale AA disabled as well, you can just turn off Font smoothing completely through Control Panel > Performance Options Visual Effects. As far as I can tell, Moz2D rasterization respects both these settings individually and correctly. I'm not sure I'm a huge fan we do at the job of hinting here, which may have changed, but that would be a layout issue. Let me know if I missed something Jonathan. I would ask the user to disable font smoothing on their system completely and see if that gets them the behavior they want and had before, if it does, this is probably a worksforme, otherwise, something may have changed in our decision making to make it more correct, but possibly our hinting hasn't adjusted along, or something.
Component: Graphics: Text → Layout: Text
Flags: needinfo?(soulmatt2002)
Flags: needinfo?(jfkthame)
Flags: needinfo?(bas)
Attached image firefoxcleartypebug.jpg
Added another screenshot to better describe the problem. The Firefox 58 UX Font cleartype settings are detached from content font cleartype settings. Using settings from other comments : gfx.canvas.azure.backends = direct2d1.1,cairo,skia gfx.content.azure.backends = direct2d1.1,cairo,skia gfx.direct2d.disabled = true disable cleartype for websites fonts and behave like in Firefox 57 BUT it activates cleartype on the Firefox 58 UX font. Default Firefox 58 has UX font without cleartype and content font with cleartype. Default Firefox 57 hax UX font with cleartype and content font with cleartype.
Attachment #8948339 - Attachment is obsolete: true
Attachment #8948340 - Attachment is obsolete: true

Clear a needinfo that is pending on an inactive user.

Inactive users most likely will not respond; if the missing information is essential and cannot be collected another way, the bug maybe should be closed as INCOMPLETE.

For more information, please visit auto_nag documentation.

Flags: needinfo?(soulmatt2002)
Severity: normal → S3

Looks like we should probably call this INCOMPLETE at this point, per comment 15. Lots has changed in our graphics stack over the time since this bug was last touched (~6 years ago), so if there are still any issues here, it'd probably be simplest to start fresh with a new bug anyway.

Status: UNCONFIRMED → RESOLVED
Closed: 2 years ago
Flags: needinfo?(jfkthame)
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: