Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(357)

Issue 2737533002: Replace subpixel font size heuristics with using OpenType gasp table (Closed)

Created:
3 years, 9 months ago by drott
Modified:
3 years, 9 months ago
Reviewers:
bungeman-chromium, eae
CC:
ajuma+watch_chromium.org, blink-reviews, blink-reviews-platform-graphics_chromium.org, Rik, chromium-reviews, danakj+watch_chromium.org, dshwang, drott+blinkwatch_chromium.org, krit, fmalita+watch_chromium.org, jbroman, Justin Novosad, kinuko+watch, pdr+graphicswatchlist_chromium.org, rwlbuis, Stephen Chennney
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Replace subpixel font size heuristics with using OpenType gasp table Respect the gasp table settings in fonts for smoothing and DirectWrite rendering mode, i.e. activating rendering mode DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL_SYMMETRIC when the gasp table instructs to do so. This should allow us to remove the custom minSizeForSubpixel and minSizeForAntiAlias cut-off thresholds and rendering mode overrides. Multi-layer GIMP image files attached to the bug help illustrate the rendering differences between Chrome stable and Chrome with gasp table controlled rendering. In these files, significant readability improvements especially with regards to Simsun and PMingLiu fonts at low font sizes can be observed. Thanks to Ben Wagner for the enabling Skia fix in https://skia-review.googlesource.com/c/8268/ BUG=645055

Patch Set 1 #

Patch Set 2 : Rethinkg subpixel positioning logic #

Patch Set 3 : No subpixel without smoothing, not even for layout tests #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+17 lines, -97 lines) Patch
M skia/BUILD.gn View 1 1 chunk +1 line, -4 lines 0 comments Download
M third_party/WebKit/Source/platform/fonts/FontPlatformData.h View 2 chunks +0 lines, -8 lines 0 comments Download
M third_party/WebKit/Source/platform/fonts/FontPlatformData.cpp View 7 chunks +6 lines, -20 lines 0 comments Download
M third_party/WebKit/Source/platform/fonts/win/FontCacheSkiaWin.cpp View 2 chunks +0 lines, -46 lines 0 comments Download
M third_party/WebKit/Source/platform/fonts/win/FontPlatformDataWin.cpp View 1 2 1 chunk +10 lines, -19 lines 1 comment Download

Messages

Total messages: 20 (15 generated)
drott
3 years, 9 months ago (2017-03-06 15:34:46 UTC) #4
eae
This is awesome, the new results look a lot better and I'm glad we can ...
3 years, 9 months ago (2017-03-07 00:07:43 UTC) #7
drott
I think I have the flag logic right now, waiting for another round of bot ...
3 years, 9 months ago (2017-03-17 09:48:55 UTC) #17
eae
LGTM https://codereview.chromium.org/2737533002/diff/40001/third_party/WebKit/Source/platform/fonts/win/FontPlatformDataWin.cpp File third_party/WebKit/Source/platform/fonts/win/FontPlatformDataWin.cpp (right): https://codereview.chromium.org/2737533002/diff/40001/third_party/WebKit/Source/platform/fonts/win/FontPlatformDataWin.cpp#newcode64 third_party/WebKit/Source/platform/fonts/win/FontPlatformDataWin.cpp:64: // Subpixel text positioning leads to uneven spacing ...
3 years, 9 months ago (2017-03-17 16:53:16 UTC) #19
drott
3 years, 9 months ago (2017-03-24 13:21:01 UTC) #20
Message was sent while issue was closed.
>
https://codereview.chromium.org/2737533002/diff/40001/third_party/WebKit/Sour...
> third_party/WebKit/Source/platform/fonts/win/FontPlatformDataWin.cpp:64: //
Subpixel text positioning leads to uneven spacing without font
> This explanation is a little confusing at first as only describes a problem
and not the solution. How about starting with "Only use sub-pixel positioning if
anti aliasing is enabled."?

Addressed in: https://chromium-review.googlesource.com/c/458377/ and moved the
CL there.

Powered by Google App Engine
This is Rietveld 408576698