Use SkPaint::measureText() when computing glyph bounds |
||||||
Issue descriptionBlink is currently computing glyph bounds by converting the glyph to a path and then using SkPath::getBounds():https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit/Source/platform/fonts/SimpleFontData.cpp&l=384 This is convoluted, and sometimes inaccurate (e.g. issue 601968 ). Instead we should use the canonical SkPaint::measureText() API. A quick test CL yields mostly expected diffs on Win/Linux, but lots of jarring diffs on Mac: http://crrev.com/1889793006/#ps20001 (I took a stab at classifying the diffs here: https://bugs.chromium.org/p/chromium/issues/detail?id=601968#c5) Turns out measureText() is less accurate than getTextPath+getBounds on Mac only - we need to fix that before switching Blink to measureText().
,
May 6 2016
,
May 17 2016
Emil is it possible for a text export on your team to take on this bug?
,
May 17 2016
s/export/expert/ :)
,
May 17 2016
Yeah, I think Behdad and Drott had some ideas around this.
,
May 23 2016
This depends on https://bugs.chromium.org/p/skia/issues/detail?id=5328 to fix this properly, without rebaselining a lot of tests again once the glyph bounds on Mac are not overreported anymore.
,
May 24 2016
,
Jul 6 2016
,
Aug 3 2016
This is now fixed and unified to be font based glyph metrics for all platforms except Mac, where we're blocked on skia:5238 (too large metrics returned on Mac), see issue 610313 and https://codereview.chromium.org/1980913002
,
Sep 30 2017
|
||||||
►
Sign in to add a comment |
||||||
Comment 1 by e...@chromium.org
, May 2 2016