Bug 228180 - [Cocoa] ComplexTextController's notion of glyph run initial advance is wrong
Summary: [Cocoa] ComplexTextController's notion of glyph run initial advance is wrong
Status: RESOLVED WONTFIX
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Myles C. Maxfield
URL:
Keywords: InRadar
Depends on: 228905
Blocks: 206208
  Show dependency treegraph
 
Reported: 2021-07-22 02:46 PDT by Myles C. Maxfield
Modified: 2021-08-11 11:52 PDT (History)
5 users (show)

See Also:


Attachments
Needs tests (9.37 KB, patch)
2021-07-22 02:47 PDT, Myles C. Maxfield
no flags Details | Formatted Diff | Diff
Patch (20.79 KB, patch)
2021-07-22 13:37 PDT, Myles C. Maxfield
no flags Details | Formatted Diff | Diff
WIP (23.03 KB, patch)
2021-08-04 23:39 PDT, Myles C. Maxfield
no flags Details | Formatted Diff | Diff
Patch that does everything right with the SPI (23.05 KB, patch)
2021-08-10 23:46 PDT, Myles C. Maxfield
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Myles C. Maxfield 2021-07-22 02:46:31 PDT
[Cocoa] ComplexTextController's notion of glyph run initial advance is wrong
Comment 1 Myles C. Maxfield 2021-07-22 02:47:19 PDT
Created attachment 434001 [details]
Needs tests
Comment 2 Myles C. Maxfield 2021-07-22 11:51:47 PDT
Failing tests on Monterey:
fast/ruby/ruby-expansion-cjk-4.html
fast/text/combining-enclosing-keycap.html
fast/text/initial-advance-in-intermediate-run-complex.html
imported/w3c/web-platform-tests/css/css-text/word-break/word-break-normal-ar-000.html
imported/w3c/web-platform-tests/css/css-ui/text-overflow-022.html
imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-combining.html
platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html
svg/W3C-I18N/text-anchor-dirLTR-anchorMiddle.svg
svg/W3C-I18N/text-anchor-dirLTR-anchorStart.svg
svg/W3C-I18N/text-anchor-dirNone-anchorEnd.svg
svg/W3C-I18N/text-anchor-dirNone-anchorMiddle.svg
svg/W3C-I18N/text-anchor-dirNone-anchorStart.svg
svg/W3C-I18N/text-anchor-dirRTL-anchorEnd.svg
svg/W3C-I18N/text-anchor-dirRTL-anchorMiddle.svg
svg/W3C-I18N/text-anchor-dirRTL-anchorStart.svg
svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorEnd.svg
svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorMiddle.svg
svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorStart.svg
svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorEnd.svg
svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorMiddle.svg
svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorStart.svg
svg/W3C-I18N/text-anchor-no-markup.svg
svg/W3C-SVG-1.1/text-fonts-01-t.svg
Comment 3 Myles C. Maxfield 2021-07-22 13:37:47 PDT
Created attachment 434031 [details]
Patch
Comment 4 Myles C. Maxfield 2021-07-22 14:20:08 PDT
New failing tests:

fast/text/combining-enclosing-keycap.html
fast/text/initial-advance-in-intermediate-run-complex.html
fast/text/initial-advance-selected-text.html
imported/blink/fast/gradients/gradient-transparency.html
imported/w3c/web-platform-tests/css/css-text/word-break/word-break-normal-ar-000.html
imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-combining.html
model-element/model-element-source.html
platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html
svg/W3C-I18N/text-anchor-dirLTR-anchorMiddle.svg
svg/W3C-I18N/text-anchor-dirLTR-anchorStart.svg
svg/W3C-I18N/text-anchor-dirNone-anchorEnd.svg
svg/W3C-I18N/text-anchor-dirNone-anchorMiddle.svg
svg/W3C-I18N/text-anchor-dirNone-anchorStart.svg
svg/W3C-I18N/text-anchor-dirRTL-anchorEnd.svg
svg/W3C-I18N/text-anchor-dirRTL-anchorMiddle.svg
svg/W3C-I18N/text-anchor-dirRTL-anchorStart.svg
svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorEnd.svg
svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorMiddle.svg
svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorStart.svg
svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorEnd.svg
svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorMiddle.svg
svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorStart.svg
svg/W3C-I18N/text-anchor-no-markup.svg
svg/dom/altGlyph-dom.xhtml
Comment 5 Myles C. Maxfield 2021-07-25 16:29:49 PDT
Failing tests:

fast/text/combining-enclosing-keycap.html
imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-combining.html
fast/text/initial-advance-in-intermediate-run-complex.html
fast/text/initial-advance-selected-text.html
imported/w3c/web-platform-tests/css/css-text/word-break/word-break-normal-ar-000.html
Comment 6 Myles C. Maxfield 2021-07-25 16:31:42 PDT
fast/text/combining-enclosing-keycap.html and imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-combining.html look like rebaselines.
Comment 7 Myles C. Maxfield 2021-07-25 16:40:13 PDT
fast/text/initial-advance-in-intermediate-run-complex.html needs an update (the test is philosophically passing but being reported as failing)

fast/text/initial-advance-in-intermediate-run-complex.html is rdar://80985709.
Comment 8 Myles C. Maxfield 2021-07-25 16:41:25 PDT
Whoops, this meant to say:

fast/text/initial-advance-in-intermediate-run-complex.html needs an update (the test is philosophically passing but being reported as failing)

fast/text/initial-advance-selected-text.html is rdar://80985709.
Comment 9 Radar WebKit Bug Importer 2021-07-29 02:47:18 PDT
<rdar://problem/81261632>
Comment 10 Myles C. Maxfield 2021-08-02 15:22:32 PDT
See also: rdar://80985709
Comment 11 Myles C. Maxfield 2021-08-04 23:39:59 PDT
Created attachment 434966 [details]
WIP
Comment 12 Myles C. Maxfield 2021-08-08 14:28:54 PDT
I think I should split this up into 2 patches:
1. Add each run’s initial advance to the end of the previous run
2. The initial advance doesn’t point to the first glyph’s pain location. This one will need the new SPI.
Comment 13 Myles C. Maxfield 2021-08-09 16:35:51 PDT
Let's not do this. Let's instead just delete the complex text codepath.
Comment 14 Myles C. Maxfield 2021-08-10 23:46:17 PDT
Reopening to attach new patch.
Comment 15 Myles C. Maxfield 2021-08-10 23:46:19 PDT
Created attachment 435326 [details]
Patch that does everything right with the SPI