WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
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+
Details
Formatted Diff
Diff
Patch
(9.04 KB, patch)
2022-03-31 17:02 PDT
,
Said Abou-Hallawa
no flags
Details
Formatted Diff
Diff
Patch
(8.66 KB, patch)
2022-03-31 17:57 PDT
,
Said Abou-Hallawa
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2021-11-16 17:22:21 PST
<
rdar://problem/85483031
>
Said Abou-Hallawa
Comment 2
2022-03-31 01:00:50 PDT
Created
attachment 456209
[details]
Patch
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
Created
attachment 456297
[details]
Patch
Said Abou-Hallawa
Comment 12
2022-03-31 17:57:50 PDT
Created
attachment 456301
[details]
Patch
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
Continuing work on this in
https://bugs.webkit.org/show_bug.cgi?id=239484
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug