RESOLVED FIXED 232917
[GPU Process] [iOS] Vertical text is incorrectly displaced
https://bugs.webkit.org/show_bug.cgi?id=232917
Summary [GPU Process] [iOS] Vertical text is incorrectly displaced
Devin Rousso
Reported 2021-11-09 17:21:43 PST
.
Attachments
Patch (9.00 KB, patch)
2022-03-31 01:00 PDT, Said Abou-Hallawa
mmaxfield: review+
Patch (9.04 KB, patch)
2022-03-31 17:02 PDT, Said Abou-Hallawa
no flags
Patch (8.66 KB, patch)
2022-03-31 17:57 PDT, Said Abou-Hallawa
no flags
Radar WebKit Bug Importer
Comment 1 2021-11-16 17:22:21 PST
Said Abou-Hallawa
Comment 2 2022-03-31 01:00:50 PDT
Said Abou-Hallawa
Comment 3 2022-03-31 01:02:11 PDT
*** Bug 236907 has been marked as a duplicate of this bug. ***
Said Abou-Hallawa
Comment 4 2022-03-31 01:03:36 PDT
*** Bug 236908 has been marked as a duplicate of this bug. ***
Said Abou-Hallawa
Comment 5 2022-03-31 01:06:45 PDT
*** Bug 236911 has been marked as a duplicate of this bug. ***
Said Abou-Hallawa
Comment 6 2022-03-31 01:08:10 PDT
*** Bug 236916 has been marked as a duplicate of this bug. ***
Said Abou-Hallawa
Comment 7 2022-03-31 01:30:02 PDT
*** Bug 236921 has been marked as a duplicate of this bug. ***
Said Abou-Hallawa
Comment 8 2022-03-31 13:02:01 PDT
Comment on attachment 456209 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=456209&action=review > Source/WebCore/platform/graphics/coretext/DrawGlyphsRecorderCoreText.cpp:-260 > - // Keep this in sync as the inverse of `fillVectorWithVerticalGlyphPositions`. I think I should keep this comment. The new code below does exactly what it says.
Myles C. Maxfield
Comment 9 2022-03-31 16:12:50 PDT
Comment on attachment 456209 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=456209&action=review r=me because this is a step in the right direction, but I think there's more work to make this function exactly equal to the inverse of fillVectorWithVerticalGlyphPositions(). > Source/WebCore/platform/graphics/coretext/DrawGlyphsRecorderCoreText.cpp:259 > + auto position = textMatrix.mapPoint(positions[0]); nit: a better name could be "initialPenPosition" or something >> Source/WebCore/platform/graphics/coretext/DrawGlyphsRecorderCoreText.cpp:-260 >> - // Keep this in sync as the inverse of `fillVectorWithVerticalGlyphPositions`. > > I think I should keep this comment. The new code below does exactly what it says. Agreed. It's important to keep the reference to fillVectorWithVerticalGlyphPositions(). > Source/WebCore/platform/graphics/coretext/DrawGlyphsRecorderCoreText.cpp:271 > + m_owner.drawGlyphsAndCacheFont(font, glyphs, computeAdvancesFromPositions(positions, count, textMatrix).data(), count, position, m_smoothingMode); This doesn't use rotateLeftTransform(). fillVectorWithVerticalGlyphPositions() does use rotateLeftTransform(), and this is supposed to be the inverse of that function. So I think there's more work that needs to be done here.
Said Abou-Hallawa
Comment 10 2022-03-31 17:01:01 PDT
Comment on attachment 456209 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=456209&action=review >> Source/WebCore/platform/graphics/coretext/DrawGlyphsRecorderCoreText.cpp:259 >> + auto position = textMatrix.mapPoint(positions[0]); > > nit: a better name could be "initialPenPosition" or something The name was changed. >>> Source/WebCore/platform/graphics/coretext/DrawGlyphsRecorderCoreText.cpp:-260 >>> - // Keep this in sync as the inverse of `fillVectorWithVerticalGlyphPositions`. >> >> I think I should keep this comment. The new code below does exactly what it says. > > Agreed. It's important to keep the reference to fillVectorWithVerticalGlyphPositions(). The comment was put back. >> Source/WebCore/platform/graphics/coretext/DrawGlyphsRecorderCoreText.cpp:271 >> + m_owner.drawGlyphsAndCacheFont(font, glyphs, computeAdvancesFromPositions(positions, count, textMatrix).data(), count, position, m_smoothingMode); > > This doesn't use rotateLeftTransform(). fillVectorWithVerticalGlyphPositions() does use rotateLeftTransform(), and this is supposed to be the inverse of that function. So I think there's more work that needs to be done here. A FIXME comment was added.
Said Abou-Hallawa
Comment 11 2022-03-31 17:02:41 PDT
Said Abou-Hallawa
Comment 12 2022-03-31 17:57:50 PDT
EWS
Comment 13 2022-03-31 20:41:05 PDT
Committed r292198 (249101@main): <https://commits.webkit.org/249101@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 456301 [details].
Myles C. Maxfield
Comment 14 2022-04-20 15:12:44 PDT
Note You need to log in before you can comment on or make changes to this bug.