RESOLVED WONTFIX Bug 228180
[Cocoa] ComplexTextController's notion of glyph run initial advance is wrong
https://bugs.webkit.org/show_bug.cgi?id=228180
Summary [Cocoa] ComplexTextController's notion of glyph run initial advance is wrong
Myles C. Maxfield
Reported 2021-07-22 02:46:31 PDT
[Cocoa] ComplexTextController's notion of glyph run initial advance is wrong
Attachments
Needs tests (9.37 KB, patch)
2021-07-22 02:47 PDT, Myles C. Maxfield
no flags
Patch (20.79 KB, patch)
2021-07-22 13:37 PDT, Myles C. Maxfield
no flags
WIP (23.03 KB, patch)
2021-08-04 23:39 PDT, Myles C. Maxfield
no flags
Patch that does everything right with the SPI (23.05 KB, patch)
2021-08-10 23:46 PDT, Myles C. Maxfield
no flags
Myles C. Maxfield
Comment 1 2021-07-22 02:47:19 PDT
Created attachment 434001 [details] Needs tests
Myles C. Maxfield
Comment 2 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
Myles C. Maxfield
Comment 3 2021-07-22 13:37:47 PDT
Myles C. Maxfield
Comment 4 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
Myles C. Maxfield
Comment 5 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
Myles C. Maxfield
Comment 6 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.
Myles C. Maxfield
Comment 7 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.
Myles C. Maxfield
Comment 8 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.
Radar WebKit Bug Importer
Comment 9 2021-07-29 02:47:18 PDT
Myles C. Maxfield
Comment 10 2021-08-02 15:22:32 PDT
See also: rdar://80985709
Myles C. Maxfield
Comment 11 2021-08-04 23:39:59 PDT
Myles C. Maxfield
Comment 12 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.
Myles C. Maxfield
Comment 13 2021-08-09 16:35:51 PDT
Let's not do this. Let's instead just delete the complex text codepath.
Myles C. Maxfield
Comment 14 2021-08-10 23:46:17 PDT
Reopening to attach new patch.
Myles C. Maxfield
Comment 15 2021-08-10 23:46:19 PDT
Created attachment 435326 [details] Patch that does everything right with the SPI
Note You need to log in before you can comment on or make changes to this bug.