New issue
Advanced search Search tips

Issue 740385 link

Starred by 6 users

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Chrome
Pri: 3
Type: Bug-Regression



Sign in to add a comment

Inconsistent and bad kerning on Chrome OS with scale factor 1.0

Project Member Reported by agoode@chromium.org, Jul 9 2017

Issue description

Chrome Version: 59.0.3071.91 (Official Build) (64-bit)
OS: Chrome OS 9460.60.0 (Official Build) stable-channel stumpy

What steps will reproduce the problem?
(1) Open settings window
(2) Resize horizontally

What is the expected result?
Text always looks great.

What happens instead?
The inter-character spacing changes as the window resizes. Letters are often crammed together or spaced too far apart.

Note that this happens everywhere, not just in settings. Settings is an easy reproduction.
 
Screenshot 2017-07-09 at 12.35.39.png
44.4 KB View Download
Screenshot 2017-07-09 at 12.35.34.png
44.4 KB View Download
Summary: Inconsistent and bad kerning on Chrome OS (was: Inconsistent kerning on Chrome OS)
If you flip between the screenshots, you'll see that a 1-pixel change in width flips between good and bad kerning.

Also note that in the text at the top has an example of both good and bad kerning for "yo", and this does not change with the window width.

In "are being shared with you", "you" is well kerned. In "your account", "your" is badly kerned.

Comment 2 by agoode@chromium.org, Jul 10 2017

This happens consistently across devices when the device scale factor is 1.0. I can reproduce on Cave when I set the display to 1920x1080, but not at 1536x834.

This also happens on Chromeboxes with an external display.

Comment 3 by agoode@chromium.org, Jul 10 2017

Summary: Inconsistent and bad kerning on Chrome OS with scale factor 1.0 (was: Inconsistent and bad kerning on Chrome OS)

Comment 4 by e...@chromium.org, Jul 11 2017

Labels: Needs-Bisect Needs-Feedback
Did this use to work?

Comment 5 by agoode@chromium.org, Jul 13 2017

Yes, I think it was a regression around M58 or M59.

Comment 6 by e...@chromium.org, Aug 1 2017

Cc: drott@chromium.org
Status: Available (was: Untriaged)

Comment 7 by drott@chromium.org, Aug 1 2017

Cc: bunge...@chromium.org js...@chromium.org
Looks like hinted glyphs placed with unhinted (non-integer) advances. I'm not sure why these glyphs are being snapped to pixels though, I thought in the settings page in particular you can get any font you want so long as it's Roboto, not sure if there is anything special about stumpy.

I think I narrowed down the settings change to https://chromium.googlesource.com/chromium/src/+log/7279ec4f24f817ebf896786e0497cea494658243..18aeb05270bcd6fac5a33ebb8f1e3614662ac7ec which is where material design was flipped on (at least for the settings page). It seems the position of the div is now no longer on a pixel boundary. This was at #455239 so between M58 and M59.
The effect looks a bit like  issue 707713 , but I'm not sure if it has the same cause.
This is looking correct for me now on minnie 61.0.3163.30 dev. I see individual glyphs placed with subpixel precision.

I haven't used stable channel on this device in a while, so am not sure if it was ever broken on this device.
Yes, it does seem corrected even on stumpy now with 61.0.3163.30.
This is bad again on Minnie.
Version 62.0.3193.0 (Official Build) dev (32-bit)
Labels: -Type-Bug Type-Bug-Regression
I tried a simple uprev to freetype 2.8.1, and this did not fix the problem.
This file is a simple reproduction. Just open in a window and resize the window horizontally. You can see that glyphs are always positioned starting on pixel boundaries. On desktop Linux, the glyphs are subpixel positioned.
roboto.html
2.6 KB View Download
I have a patch I am working on at https://chromium-review.googlesource.com/c/chromium/src/+/914709.
Attached are some before-and-after screenshots from cros.
01-no-subpixel-yes-hinting.png
152 KB View Download
02-yes-subpixel-yes-hinting.png
237 KB View Download
03-yes-subpixel-no-hinting.png
254 KB View Download
04-no-subpixel-no-hinting.png
253 KB View Download
Labels: OS-Linux
Owner: agoode@chromium.org
Status: Started (was: Available)
So before looking at the subpixel and hinting stuff, I think fixing non-subpixel rendering needs to happen.

The issue is this:

1. Text blobs are shaped with integer advances, except between kerned glyphs. Example: 
"a great" has DrawTextBlob positions [0, 13, 19, 32, 39.77734375, 52.77734375, 65.77734375]
(kerning pair: e-a)

2. When the layer is translated, a non-integer offset is added to each glyph position.

3. When skia draws with subpixel positioning turned off, the glyphs appearing after kerning points round differently, causing the bad kerning and jumping text effects.


Now I am investigating what to do about this problem.

- should shaping result in integer positions?
- should DrawTextBlob pre-round before translation?
- something else?


See the attached skp file (feed into skia debugger).
something.skp
53.6 KB Download

Comment 19 by drott@chromium.org, Feb 19 2018

FYI, back when working on Calibri spacing issues on Windows ( issue 707713 , bitmap fonts, which may be considered as "very strongly hinted" + subpixel positioning), I made a subpixel test http://roettsch.es/winspacing.html which I used to check for consistent spacing. I found it helpful to highlight the spacing issues in an animation or using the slider.

Regarding your preliminary CL: Were there any changes to CrOS fontconfig configuration, where the rendering parameters are populated from? Is there a reason to not want to enable subpixel rendering, in other words, can we not always force it on in Chrome?

Also:
-    // To enable subpixel positioning, we need to disable hinting.
-    if (params.subpixel_positioning)
-      params.hinting = FontRenderParams::HINTING_NONE;

Yes, this should be removed.

Definitely with FreeType > 2.7.1 and when running with interpreter version 40, hinting should be kept switched on with subpixel. Jungshik might know whether Chrome OS is running at interpreter version 40 by default already.

Thanks for that page. I made a similar one for Roboto (but anything with kerning seems to show the inconsistent spacing).

I don't know about CrOS fontconfig changes. That's something to look at but first I do want to try to fix the non-subpixel rendering issue.

We don't want to subpixel render in all cases (if glyphs are horizontally hinted), but Freetype doesn't seem to give us a way to know (yet). See this thread: http://lists.nongnu.org/archive/html/freetype-devel/2018-02/msg00051.html

If we are sure of the version of Freetype and the engine in use, we can hardcode these assumptions into Chrome and make decisions based on that. The code you point to above tries to make this kind of decision. So does other code in Chrome:
https://chromium.googlesource.com/chromium/src/+/master/third_party/WebKit/Source/platform/fonts/WebFontRenderStyle.cpp#110

So yeah, that does seem a little odd and duplicates the logic higher up the stack. I think there should be as few places as possible where this logic exists.
 Issue 707713  has the best terminology I've seen for this effect: "letter spacing polka dance".

Comment 22 by apodt...@gmail.com, Feb 20 2018

Glyph images in Comment 17 look identical despite scaling. They might be cached at a certain close but rounded size, whereas advances are truly scaled. Is that what you are trying to describe?

Also, no, subpixel rendering does not benefit from horizontal hinting. LCD targeting has become synonymous to LIGHT hinting relatively recently.
Cc: behdad@chromium.org
It looks like for OT fonts (at least roboto), harfbuzz will never call the callback set with hb_font_funcs_set_glyph_h_kerning_func. This seems to be because OT fonts have a different mechanism for kerning (setting the 'kern' feature and using gpos tables) from TT fonts.

https://chromium.googlesource.com/chromium/src/+/master/third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzFace.cpp#180

The callbacks in HarfBuzzFace.cpp round to int when !subpixel, but it never sees the kerning callback, so kerning doesn't get rounded. (I am not sure the callback properly does this rounding anyway, but it doesn't matter because it is never called).

I don't know if this is something that could be fixed in harfbuzz, or if we should rethink these callbacks and simply round the results of hb_shape before sending them to skia.
As you noticed, the callbacks are not enough to guarantee rounded shape results. You can forgo rounding in callbacks and round the results.

Comment 25 by js...@chromium.org, Feb 27 2018

re: comment 19 (sorry for the late reply)

> Definitely with FreeType > 2.7.1 and when running with interpreter version 40, hinting should be kept switched on with subpixel. Jungshik might know whether Chrome OS is running at interpreter version 40 by default already.

CrOS has TT_CONFIG_OPTION_SUBPIXEL_HINTING  set to 2. So, it must be using the interpreter version 40 (https://www.freetype.org/freetype2/docs/subpixel-hinting.html ). 

However, CrOS has kept "FT_CONFIG_OPTION_SUBPIXEL_RENDERING". Given that Chrome on Linux does not use it any more (it's OFF by default in FT 2.8.x or later), CrOS may as well turn it off, too. 

Another potential difference is that Roboto is configured to use full hint (that means hinting in both directions) on CrOS. I think that should be changed to 'light hint' (hinting only in the vertical direction). 

On Linux, Roboto is used as a web font and FT's light auto hint (only in the vertical direction) is applied. 

Comment 26 by js...@chromium.org, Feb 27 2018

> However, CrOS has kept "FT_CONFIG_OPTION_SUBPIXEL_RENDERING". Given that Chrome on Linux does not use it any more (it's OFF by default in FT 2.8.x or later), CrOS may as well turn it off, too.

Ooops. I was wrong. FT_CONFIG_OPTION_SUBPIXEL_RENDERING is ON in Chrome on Linux as well. 

Comment 27 by js...@chromium.org, Feb 27 2018

> Roboto is configured to use full hint (that means hinting in both directions) on CrOS. I think that should be changed to 'light hint' (hinting only in the vertical direction). 

I'll switch Roboto to use light hint. 
Nice! Note that the current recommendation is to set all fonts to use light hint:
https://www.freetype.org/freetype2/docs/text-rendering-general.html

If we do that, then we can use subpixel positioning in all cases on Chrome OS.

Comment 29 by js...@chromium.org, Feb 28 2018

Yup, I'm aware of that. The reason I didn't make a switch to truetype outline fonts is the caveat quoted below. (I made a switch for CFF fonts). ᅟI meant to change that for truetype outline fonts as well (once FreeType is updated). It's a part of bug 654563. 

--------
Use native vertical-grid-only-snapping if driver and font supports it and vertical-grid-only auto-hinter otherwise”. Right now, only the OpenType/CFF driver is supported. In the future, this will hopefully include the TrueType engine once full support for ClearType arrives. 
--------------

It's not clear whether that's been changed since. I'm checking with Werner Lemberg.  

In the meantime, can you try out my CL at https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/940537 .

Comment 30 by js...@chromium.org, Feb 28 2018

If native light hinting does not work yet for truetype outline fonts, an alternative is to use just autohinting.  

Comment 31 by js...@chromium.org, Feb 28 2018

 bug 694137  might have to be resolved as well to use autohinting (because opentype-based kerning may require FreeType to call HB. Not sure, though). 

> If native light hinting does not work yet for truetype outline fonts, an alternative is to use just autohinting.  

This is what Werner Lemberg (FT maintainer) told me:

> https://www.freetype.org/freetype2/docs/text-rendering-general.html
> has the following about light hinting [...]. It's from 2.6.2
> release.  Does this now (2.9) work for TrueType engine as well?

Not yet.  What's still missing is stem darkening, which is a
non-trivial issue with TrueType.

See commit

  a364e38ae7c98992a67b8d5be744445a826926ef , whose log is

http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=a364e38ae7c98

Use Adobe hinting engine for `light' hinting of both CFF and Type 1.
Since Ewald Hew factored the Adobe hinting engine out of the CFF
driver code, we can now use it on Type 1 (and CID) font formats, as
both have the same hinting philosophy.

This change activates the Adobe hinter when in LIGHT mode, and
therefore always unless explicitly asking for the auto-hinter.  This
makes LIGHT behavior consistent with CFF fonts.  As of this commit,
the hinting engine table looks as follows.

             LIGHT  NORMAL
  -------------------------
   TrueType  Auto   v40
   CFF       Adobe  Adobe
   Type 1    Adobe  Adobe



Project Member

Comment 33 by bugdroid1@chromium.org, Mar 6 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dafc61619308d253b80d3e0b3cd3f5feca9cb7c8

commit dafc61619308d253b80d3e0b3cd3f5feca9cb7c8
Author: Adam Goode <agoode@chromium.org>
Date: Tue Mar 06 21:37:05 2018

Add LayoutTestSupport::IsTextSubpixelPositioningAllowedForTest

Subpixel positioning test overrides are inconsistent between platforms.
While not a perfect solution, this change makes it possible to
at least explicitly enable/disable subpixel positioning in tests.

This is necessary for getting the unit tests to work on all platforms
in crrev.com/c/933805.

Bug:  740385 
Change-Id: I336231170306bb44c5feaae6daf9439e89049f47
Reviewed-on: https://chromium-review.googlesource.com/944012
Reviewed-by: Emil A Eklund <eae@chromium.org>
Reviewed-by: Dominik Röttsches <drott@chromium.org>
Commit-Queue: Emil A Eklund <eae@chromium.org>
Cr-Commit-Position: refs/heads/master@{#541198}
[modify] https://crrev.com/dafc61619308d253b80d3e0b3cd3f5feca9cb7c8/third_party/WebKit/Source/platform/LayoutTestSupport.cpp
[modify] https://crrev.com/dafc61619308d253b80d3e0b3cd3f5feca9cb7c8/third_party/WebKit/Source/platform/LayoutTestSupport.h
[modify] https://crrev.com/dafc61619308d253b80d3e0b3cd3f5feca9cb7c8/third_party/WebKit/Source/platform/fonts/FontPlatformData.cpp
[modify] https://crrev.com/dafc61619308d253b80d3e0b3cd3f5feca9cb7c8/third_party/WebKit/Source/platform/fonts/mac/FontCacheMac.mm
[modify] https://crrev.com/dafc61619308d253b80d3e0b3cd3f5feca9cb7c8/third_party/WebKit/Source/platform/fonts/mac/FontPlatformDataMac.mm
[modify] https://crrev.com/dafc61619308d253b80d3e0b3cd3f5feca9cb7c8/third_party/WebKit/Source/platform/fonts/win/FontPlatformDataWin.cpp

Project Member

Comment 34 by bugdroid1@chromium.org, Mar 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/993e5eaf14e467c24caf216dab919f673d2edeee

commit 993e5eaf14e467c24caf216dab919f673d2edeee
Author: Adam Goode <agoode@chromium.org>
Date: Thu Mar 08 14:23:12 2018

When not subpixel positioning, round glyph positions after hb_shape call

Subpixel positioning is not (yet) enabled for all situations in Chrome.
Currently, the choice of enabling this for the UI is made on a platform
specific basis in ui/gfx/font_render_params_*.cc.

Separately, the choice for enabling this for blink is made
in third_party/WebKit/Source/platform/fonts/WebFontRenderStyle.cpp,
third_party/WebKit/Source/platform/fonts/FontPlatformData.cpp,
and third_party/WebKit/Source/platform/fonts/*/FontPlatformData*.

Typically the choice comes down to user and system preferences and
the device scale factor. For example, some hinting algorithms hint
glyphs in the horizontal direction, fitting precisely to the grid.
Subpixel positioning should be disabled in this case. Newer hinting
algorithms hint only vertically, so glyphs should be subpixel positioned.
(See https://www.freetype.org/freetype2/docs/glyphs/glyphs-5.html#section-2)

When subpixel positioning is disabled, we need to round an entire run of
text at a time. Otherwise, spacing between some letters
becomes position dependent.

Offset and extent rounding is currently done with the use of
hb_font_set_funcs, but positions affected by kerning cannot be rounded
unless the font uses a legacy 'kern' table instead of 'gpos'.

Bug:  740385 
Change-Id: Ie34134c33b52889b8d7bfcec05fc7d24e0180596
Reviewed-on: https://chromium-review.googlesource.com/933805
Commit-Queue: Adam Goode <agoode@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Reviewed-by: Dominik Röttsches <drott@chromium.org>
Cr-Commit-Position: refs/heads/master@{#541788}
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/android/css3/selectors3/html/css3-modsel-18-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/android/css3/selectors3/xhtml/css3-modsel-18-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/android/css3/selectors3/xml/css3-modsel-18-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/android/editing/pasteboard/drop-text-without-selection-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/android/editing/pasteboard/paste-line-endings-001-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/android/editing/pasteboard/paste-line-endings-002-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/android/editing/pasteboard/paste-line-endings-003-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/android/editing/pasteboard/paste-line-endings-004-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/android/editing/pasteboard/paste-line-endings-005-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/android/editing/selection/6476-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/android/editing/selection/leave-requested-block-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/android/fast/backgrounds/background-clip-text-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/android/fast/css/compare-content-style-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/android/fast/css/first-letter-hover-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/android/fast/css/first-letter-visibility-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/android/fast/css/invalid-percentage-property-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/android/fast/css/nth-child-dynamic-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/android/fast/css/text-overflow-ellipsis-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/android/fast/css/text-overflow-ellipsis-strict-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/android/fast/layers/normal-flow-hit-test-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/android/fast/layers/opacity-transforms-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/android/fast/selectors/018-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/android/images/imagemap-focus-ring-outline-color-not-inherited-from-map-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/compositing/sibling-positioning-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/css3/selectors3/html/css3-modsel-18-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/css3/selectors3/html/css3-modsel-18-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/css3/selectors3/xhtml/css3-modsel-17-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/css3/selectors3/xhtml/css3-modsel-18-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/css3/selectors3/xhtml/css3-modsel-18-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/css3/selectors3/xml/css3-modsel-17-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/css3/selectors3/xml/css3-modsel-18-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/css3/selectors3/xml/css3-modsel-18-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/editing/pasteboard/drop-text-without-selection-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/editing/pasteboard/drop-text-without-selection-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/editing/pasteboard/paste-line-endings-001-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/editing/pasteboard/paste-line-endings-001-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/editing/pasteboard/paste-line-endings-002-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/editing/pasteboard/paste-line-endings-002-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/editing/pasteboard/paste-line-endings-003-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/editing/pasteboard/paste-line-endings-003-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/editing/pasteboard/paste-line-endings-004-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/editing/pasteboard/paste-line-endings-004-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/editing/pasteboard/paste-line-endings-005-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/editing/pasteboard/paste-line-endings-005-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/editing/selection/6476-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/editing/selection/6476-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/editing/selection/leave-requested-block-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/editing/selection/leave-requested-block-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/editing/selection/previous-line-position-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/backgrounds/background-clip-text-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/backgrounds/background-clip-text-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/block/float/002-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/block/float/centered-float-avoidance-complexity-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/block/float/float-in-float-hit-testing-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/block/float/float-in-float-painting-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/css/clip-zooming-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/css/compare-content-style-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/css/compare-content-style-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/css/first-letter-hover-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/css/first-letter-hover-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/css/first-letter-visibility-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/css/first-letter-visibility-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/css/invalid-percentage-property-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/css/invalid-percentage-property-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/css/nth-child-dynamic-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/css/nth-child-dynamic-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/css/text-overflow-ellipsis-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/css/text-overflow-ellipsis-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/css/text-overflow-ellipsis-strict-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/css/text-overflow-ellipsis-strict-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-links-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-not-propagated-by-out-of-flow-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/css3-text/css3-text-decoration/text-decoration-style-inherit-simple-underlines-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/inline-block/14498-positionForCoordinates-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/inline-block/overflow-clip-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/inline/inline-box-background-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/inline/inline-box-background-repeat-x-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/inline/inline-box-background-repeat-y-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/inline/inline-focus-ring-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/layers/normal-flow-hit-test-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/layers/normal-flow-hit-test-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/layers/opacity-transforms-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/layers/opacity-transforms-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/lists/003-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/overflow/position-fixed-transform-clipping-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/replaced/selection-rect-transform-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/selectors/018-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/selectors/018-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/table/border-collapsing/004-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/table/border-collapsing/004-vertical-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/text/international/bidi-LDB-2-HTML-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/text/international/bidi-LDB-2-formatting-characters-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/text/stroking-decorations-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/fast/writing-mode/english-lr-text-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/images/imagemap-focus-ring-outline-color-not-inherited-from-map-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/images/imagemap-focus-ring-outline-color-not-inherited-from-map-expected.txt
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/paint/invalidation/selection/selected-replaced-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/tables/mozilla/bugs/bug1188-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/tables/mozilla/bugs/bug2479-3-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/tables/mozilla/bugs/bug2479-4-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/tables/mozilla/bugs/bug59354-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/tables/mozilla/bugs/bug7342-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/tables/mozilla/collapsing_borders/bug41262-3-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/tables/mozilla/core/bloomberg-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/tables/mozilla_expected_failures/bugs/bug1010-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/tables/mozilla_expected_failures/bugs/bug1055-2-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png
[add] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/fuchsia/transforms/transformed-caret-expected.png
[modify] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/linux/animations/3d/matrix-transform-type-animation-expected.png
[modify] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/linux/compositing/compositing-visible-descendant-expected.png
[modify] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/linux/compositing/compositing-visible-descendant-expected.txt
[modify] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/linux/compositing/direct-image-compositing-expected.png
[modify] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/linux/compositing/direct-image-compositing-expected.txt
[modify] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/linux/compositing/generated-content-expected.png
[modify] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/linux/compositing/generated-content-expected.txt
[modify] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/linux/compositing/geometry/abs-position-inside-opacity-expected.png
[modify] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/linux/compositing/geometry/abs-position-inside-opacity-expected.txt
[modify] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/linux/compositing/geometry/clipping-foreground-expected.png
[modify] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/linux/compositing/geometry/fixed-in-composited-expected.txt
[modify] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/linux/compositing/geometry/fixed-position-expected.txt
[modify] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/linux/compositing/geometry/partial-layout-update-expected.png
[modify] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/linux/compositing/geometry/partial-layout-update-expected.txt
[modify] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/linux/compositing/geometry/root-layer-update-expected.png
[modify] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/linux/compositing/geometry/root-layer-update-expected.txt
[modify] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/linux/compositing/geometry/transfrom-origin-on-zero-size-layer-expected.png
[modify] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/linux/compositing/geometry/transfrom-origin-on-zero-size-layer-expected.txt
[modify] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/linux/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png
[modify] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/linux/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png
[modify] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/linux/compositing/gestures/gesture-tapHighlight-pixel-transparent-expected.png
[modify] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/linux/compositing/gestures/gesture-tapHighlight-with-squashing-expected.png
[modify] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/linux/compositing/iframes/composited-iframe-alignment-expected.png
[modify] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/linux/compositing/iframes/iframe-copy-on-scroll-expected.png
[modify] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/linux/compositing/iframes/iframe-copy-on-scroll-expected.txt
[modify] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/linux/compositing/images/direct-image-background-color-expected.png
[modify] https://crrev.com/993e5eaf14e467c24caf216dab919f673d2edeee/third_party/WebKit/LayoutTests/platform/linux/com
Status: Fixed (was: Started)
This change should fix the non-subpixel case. There are a few other related issues, but I will file other bugs for them. Thanks for all the reviews!
Just to remind myself on a few other bugs to file:
- getting subpixel turned on in cros more
- properly reacting to system settings change in the UI (subpixel in the UI doesn't change if the DSF or hinting changes)
- maybe ignoring hinting settings for web content, to allow subpixel positioning more often

Sign in to add a comment