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

Issue 607483002: Separate advance from offset in GlypBuffer (Closed)

Created:
6 years, 2 months ago by eae
Modified:
6 years, 2 months ago
CC:
blink-reviews, eae+blinkwatch, fs, kouhei+svg_chromium.org, rwlbuis, jamesr, krit, rune+blink, danakj, Rik, jchaffraix+rendering, pdr+svgwatchlist_chromium.org, zoltan1, jbroman, pdr+graphicswatchlist_chromium.org, gyuyoung.kim_webkit.org, blink-reviews-rendering, pdr+renderingwatchlist_chromium.org, leviw+renderwatch, mkwst+moarreviews_chromium.org, ed+blinkwatch_opera.com, f(malita), Stephen Chennney
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Project:
blink
Visibility:
Public.

Description

Separate advance from offset in GlypBuffer Change GlyphBuffer to store advances and offsets independently. This greatly simplifies shaping and drawing of complex text. As advances are now a single float value per glyph it is made clearer that the simple text path only handles horizontal advances (as opposed to vertical and horizontal offsets in addition to horizontal advances). Also gets rid of HarfBuzzShaper::adjustStartPoint as it is no longer needed now that offsets and advances are separate. Must land after 175253002. TEST=Source/platform/fonts/GlyphBufferTest.cpp BUG=418071 R=behdad@chromium.org,dominik.rottsches@intel.com Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=182991

Patch Set 1 #

Patch Set 2 : w/memory optimization and vertical text support #

Patch Set 3 : w/shaper fix #

Patch Set 4 : w/TestExpectations #

Total comments: 9

Patch Set 5 : Split GlyphBuffer #

Patch Set 6 : w/fix for emphasis #

Total comments: 3

Patch Set 7 : Addressing Dominik's comments #

Total comments: 6

Patch Set 8 : Patch for landing #

Patch Set 9 : Rebase w/HEAD #

Patch Set 10 : Patch for landing #

Patch Set 11 : Rebase w/HEAD #

Unified diffs Side-by-side diffs Delta from patch set Stats (+163 lines, -156 lines) Patch
M LayoutTests/TestExpectations View 1 2 3 4 5 6 7 8 9 10 1 chunk +3 lines, -0 lines 0 comments Download
M Source/core/rendering/svg/SVGTextRunRenderingContext.cpp View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
M Source/platform/fonts/Font.cpp View 1 2 3 4 5 6 7 8 7 chunks +10 lines, -12 lines 0 comments Download
M Source/platform/fonts/GlyphBuffer.h View 1 2 3 4 5 6 7 8 3 chunks +51 lines, -29 lines 0 comments Download
M Source/platform/fonts/GlyphBufferTest.cpp View 1 2 3 4 10 chunks +45 lines, -56 lines 0 comments Download
M Source/platform/fonts/harfbuzz/FontHarfBuzz.cpp View 1 2 3 4 5 6 7 5 chunks +20 lines, -21 lines 0 comments Download
M Source/platform/fonts/harfbuzz/HarfBuzzShaper.h View 1 2 3 4 5 6 chunks +4 lines, -7 lines 0 comments Download
M Source/platform/fonts/harfbuzz/HarfBuzzShaper.cpp View 1 2 3 4 5 6 7 8 4 chunks +29 lines, -30 lines 0 comments Download

Messages

Total messages: 38 (14 generated)
eae
Ready for review, depends on 175253002 (or it won't compile on Mac).
6 years, 2 months ago (2014-09-25 15:56:47 UTC) #2
behdad_google
lgtm
6 years, 2 months ago (2014-09-25 16:08:35 UTC) #4
f(malita)
I like the idea of storing offsets, and I think ultimately we'll want to do ...
6 years, 2 months ago (2014-09-25 16:42:05 UTC) #7
jbroman
I'm not an expert on the complex-shaping side of things, but I have a few ...
6 years, 2 months ago (2014-09-25 17:03:32 UTC) #8
jbroman
https://codereview.chromium.org/607483002/diff/60001/Source/platform/fonts/GlyphBuffer.h File Source/platform/fonts/GlyphBuffer.h (right): https://codereview.chromium.org/607483002/diff/60001/Source/platform/fonts/GlyphBuffer.h#newcode98 Source/platform/fonts/GlyphBuffer.h:98: m_offsets.reverse(); Are these offsets from the text origin, or ...
6 years, 2 months ago (2014-09-25 17:11:35 UTC) #9
eae
https://codereview.chromium.org/607483002/diff/60001/Source/platform/fonts/GlyphBuffer.h File Source/platform/fonts/GlyphBuffer.h (right): https://codereview.chromium.org/607483002/diff/60001/Source/platform/fonts/GlyphBuffer.h#newcode48 Source/platform/fonts/GlyphBuffer.h:48: void reserveOffsetsCapacity(size_t size) { m_offsets.reserveCapacity(size); } On 2014/09/25 17:03:31, ...
6 years, 2 months ago (2014-09-26 05:26:51 UTC) #10
Dominik Röttsches
Great - looking forward to landing this. LGTM. https://codereview.chromium.org/607483002/diff/100001/Source/platform/fonts/harfbuzz/FontHarfBuzz.cpp File Source/platform/fonts/harfbuzz/FontHarfBuzz.cpp (right): https://codereview.chromium.org/607483002/diff/100001/Source/platform/fonts/harfbuzz/FontHarfBuzz.cpp#newcode170 Source/platform/fonts/harfbuzz/FontHarfBuzz.cpp:170: // ...
6 years, 2 months ago (2014-09-26 11:58:53 UTC) #11
eae
Thanks! https://codereview.chromium.org/607483002/diff/100001/Source/platform/fonts/harfbuzz/FontHarfBuzz.cpp File Source/platform/fonts/harfbuzz/FontHarfBuzz.cpp (right): https://codereview.chromium.org/607483002/diff/100001/Source/platform/fonts/harfbuzz/FontHarfBuzz.cpp#newcode170 Source/platform/fonts/harfbuzz/FontHarfBuzz.cpp:170: // FIXME: text rendering speed: On 2014/09/26 11:58:53, ...
6 years, 2 months ago (2014-09-26 11:59:50 UTC) #12
jbroman
LGTM with nits I can see that this is more rational for the complex path. ...
6 years, 2 months ago (2014-09-26 13:02:11 UTC) #13
eae
Thanks jbroman, I'll make the suggested changes.
6 years, 2 months ago (2014-09-26 13:04:06 UTC) #14
f(malita)
lgtm
6 years, 2 months ago (2014-09-26 13:13:35 UTC) #15
Dominik Röttsches
175253002 has landed in r182920. https://src.chromium.org/viewvc/blink?view=revision&revision=182920 Mac build should succeed now.
6 years, 2 months ago (2014-09-30 14:00:55 UTC) #16
behdad_google
On 2014/09/25 17:11:35, jbroman wrote: > https://codereview.chromium.org/607483002/diff/60001/Source/platform/fonts/GlyphBuffer.h > File Source/platform/fonts/GlyphBuffer.h (right): > > https://codereview.chromium.org/607483002/diff/60001/Source/platform/fonts/GlyphBuffer.h#newcode98 > ...
6 years, 2 months ago (2014-09-30 14:13:17 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/607483002/140001
6 years, 2 months ago (2014-09-30 14:54:25 UTC) #19
commit-bot: I haz the power
Try jobs failed on following builders: blink_presubmit on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/blink_presubmit/builds/16379)
6 years, 2 months ago (2014-09-30 15:02:56 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/607483002/160001
6 years, 2 months ago (2014-09-30 15:26:14 UTC) #23
commit-bot: I haz the power
Try jobs failed on following builders: linux_blink_dbg on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/linux_blink_dbg/builds/27221) linux_blink_rel on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/27114)
6 years, 2 months ago (2014-09-30 16:33:59 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/607483002/180001
6 years, 2 months ago (2014-09-30 18:39:12 UTC) #27
commit-bot: I haz the power
Try jobs failed on following builders: android_blink_compile_dbg on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/android_blink_compile_dbg/builds/14389) linux_chromium_gn_rel on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/linux_chromium_gn_rel/builds/12172)
6 years, 2 months ago (2014-09-30 18:46:40 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/607483002/180001
6 years, 2 months ago (2014-09-30 18:48:35 UTC) #31
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_gn_rel on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/linux_chromium_gn_rel/builds/12174)
6 years, 2 months ago (2014-09-30 19:00:23 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/607483002/180001
6 years, 2 months ago (2014-09-30 19:02:28 UTC) #35
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/607483002/200001
6 years, 2 months ago (2014-09-30 21:02:59 UTC) #37
commit-bot: I haz the power
6 years, 2 months ago (2014-09-30 22:16:13 UTC) #38
Message was sent while issue was closed.
Committed patchset #11 (id:200001) as 182991

Powered by Google App Engine
This is Rietveld 408576698