Implement shaper-driven line breaking |
|||
Issue descriptionUsing complex text shaping information to implement faster and more correct line breaking in Blink. Design doc: https://docs.google.com/document/d/1eMTBKTnWEMDu00uS2p8Xj-l9Pk7Kf0q5y3FbcCrWYjU/edit
,
Aug 26 2016
,
Aug 26 2016
,
Mar 28 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b47c12e89f5134efe6a68cb45e28a92451fcdb3e commit b47c12e89f5134efe6a68cb45e28a92451fcdb3e Author: eae <eae@chromium.org> Date: Tue Mar 28 00:41:24 2017 Add support for shaper-driven line breaking to HarfBuzzShaper Shapes a line of text by finding the ideal break point based on existing shape results for the paragraph and then looking backwards until a valid and appropriate break opportunity is identified. Re-shapes the beginning and/or end of the line as needed (if the break position affect shaping). This allows for significantly faster and more efficient line breaking by only re-shaping when absolutely needed and by only measuring between the start/end of lines and the nearest suitable and valid break opportunity. The nextSafeToBreakBefore and previousSafeToBreakAfter functions will be updated to use safe-to-break information when exposed by HarfBuzz. R=drott@chromium.org, kojii@chromium.org BUG= 609117 TEST=Source/platform/fonts/shaping/HarfBuzzShaperTest.cpp Review-Url: https://codereview.chromium.org/2740083002 Cr-Commit-Position: refs/heads/master@{#459953} [modify] https://crrev.com/b47c12e89f5134efe6a68cb45e28a92451fcdb3e/third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzShaper.cpp [modify] https://crrev.com/b47c12e89f5134efe6a68cb45e28a92451fcdb3e/third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzShaper.h [modify] https://crrev.com/b47c12e89f5134efe6a68cb45e28a92451fcdb3e/third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzShaperTest.cpp [modify] https://crrev.com/b47c12e89f5134efe6a68cb45e28a92451fcdb3e/third_party/WebKit/Source/platform/fonts/shaping/ShapeResult.cpp [modify] https://crrev.com/b47c12e89f5134efe6a68cb45e28a92451fcdb3e/third_party/WebKit/Source/platform/fonts/shaping/ShapeResult.h [modify] https://crrev.com/b47c12e89f5134efe6a68cb45e28a92451fcdb3e/third_party/WebKit/Source/platform/fonts/shaping/ShapeResultInlineHeaders.h
,
Mar 28 2017
|
|||
►
Sign in to add a comment |
|||
Comment 1 by e...@chromium.org
, Aug 26 2016