Bug 199912 - [iOS] Fast and complex text codepaths disagree about how to lay out bopomofo with tone marks
Summary: [iOS] Fast and complex text codepaths disagree about how to lay out bopomofo ...
Status: RESOLVED FIXED
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:
Blocks:
 
Reported: 2019-07-18 11:41 PDT by Myles C. Maxfield
Modified: 2019-07-22 09:46 PDT (History)
10 users (show)

See Also:


Attachments
Patch (6.73 KB, patch)
2019-07-18 11:43 PDT, Myles C. Maxfield
no flags Details | Formatted Diff | Diff
Patch (6.67 KB, patch)
2019-07-18 11:52 PDT, Myles C. Maxfield
simon.fraser: review+
ews-watchlist: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from ews101 for mac-highsierra (3.28 MB, application/zip)
2019-07-18 13:00 PDT, EWS Watchlist
no flags Details
Archive of layout-test-results from ews105 for mac-highsierra-wk2 (2.82 MB, application/zip)
2019-07-18 13:09 PDT, EWS Watchlist
no flags Details
Archive of layout-test-results from ews123 for ios-simulator-wk2 (3.34 MB, application/zip)
2019-07-18 13:59 PDT, EWS Watchlist
no flags Details
Archive of layout-test-results from ews115 for mac-highsierra (3.29 MB, application/zip)
2019-07-18 14:15 PDT, EWS Watchlist
no flags Details
Patch for committing (12.03 KB, patch)
2019-07-18 19:28 PDT, Myles C. Maxfield
no flags Details | Formatted Diff | Diff
Patch for committing (13.20 KB, patch)
2019-07-19 13:18 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 2019-07-18 11:41:27 PDT
[iOS] Fast and complex text codepaths disagree about how to lay out bopomofo with tone marks
Comment 1 Myles C. Maxfield 2019-07-18 11:43:39 PDT
Created attachment 374401 [details]
Patch
Comment 2 Myles C. Maxfield 2019-07-18 11:43:41 PDT
<rdar://problem/52182454>
Comment 3 Myles C. Maxfield 2019-07-18 11:52:01 PDT
Created attachment 374402 [details]
Patch
Comment 4 Simon Fraser (smfr) 2019-07-18 12:14:32 PDT
Comment on attachment 374402 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=374402&action=review

> Source/WebCore/ChangeLog:10
> +        This is because CoreText has special composition rules for CJK languages, which we don't have in our simple
> +        text codepath. Rather than implementing the composition rules in WebKit, we can simply disable them in

Do we have them in our complex text codepath? Should we instead flip to that codepath when necessary?
Comment 5 Myles C. Maxfield 2019-07-18 12:25:34 PDT
Comment on attachment 374402 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=374402&action=review

>> Source/WebCore/ChangeLog:10
>> +        text codepath. Rather than implementing the composition rules in WebKit, we can simply disable them in
> 
> Do we have them in our complex text codepath? Should we instead flip to that codepath when necessary?

In our complex text codepath, CoreText does/would take care of it for us. It doesn't require any additional code in WebKit's complex text codepath. Instead, it would require additional code in WebKit's simple text codepath to match what the complex path does.

We can't flip to the complex text codepath for all CJK languages; that would be a huge performance regression.
Comment 6 Myles C. Maxfield 2019-07-18 12:27:14 PDT
Comment on attachment 374402 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=374402&action=review

>>> Source/WebCore/ChangeLog:10
>>> +        text codepath. Rather than implementing the composition rules in WebKit, we can simply disable them in
>> 
>> Do we have them in our complex text codepath? Should we instead flip to that codepath when necessary?
> 
> In our complex text codepath, CoreText does/would take care of it for us. It doesn't require any additional code in WebKit's complex text codepath. Instead, it would require additional code in WebKit's simple text codepath to match what the complex path does.
> 
> We can't flip to the complex text codepath for all CJK languages; that would be a huge performance regression.

In the longer term, we should implement support in our fast text codepath, and flip the CoreText support back on. https://bugs.webkit.org/show_bug.cgi?id=199913
Comment 7 EWS Watchlist 2019-07-18 13:00:34 PDT
Comment on attachment 374402 [details]
Patch

Attachment 374402 [details] did not pass mac-ews (mac):
Output: https://webkit-queues.webkit.org/results/12767807

New failing tests:
css3/font-feature-font-face-local.html
editing/mac/selection/word-thai.html
svg/custom/glyph-selection-arabic-forms.svg
Comment 8 EWS Watchlist 2019-07-18 13:00:36 PDT
Created attachment 374405 [details]
Archive of layout-test-results from ews101 for mac-highsierra

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews101  Port: mac-highsierra  Platform: Mac OS X 10.13.6
Comment 9 EWS Watchlist 2019-07-18 13:09:01 PDT
Comment on attachment 374402 [details]
Patch

Attachment 374402 [details] did not pass mac-wk2-ews (mac-wk2):
Output: https://webkit-queues.webkit.org/results/12767822

New failing tests:
css3/font-feature-font-face-local.html
editing/mac/selection/word-thai.html
svg/custom/glyph-selection-arabic-forms.svg
Comment 10 EWS Watchlist 2019-07-18 13:09:03 PDT
Created attachment 374406 [details]
Archive of layout-test-results from ews105 for mac-highsierra-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews105  Port: mac-highsierra-wk2  Platform: Mac OS X 10.13.6
Comment 11 EWS Watchlist 2019-07-18 13:59:49 PDT
Comment on attachment 374402 [details]
Patch

Attachment 374402 [details] did not pass ios-sim-ews (ios-simulator-wk2):
Output: https://webkit-queues.webkit.org/results/12767887

New failing tests:
legacy-animation-engine/fast/text/crash-complex-text-surrogate.html
css3/font-feature-font-face-local.html
fast/text/crash-complex-text-surrogate.html
svg/custom/glyph-selection-arabic-forms.svg
Comment 12 EWS Watchlist 2019-07-18 13:59:51 PDT
Created attachment 374415 [details]
Archive of layout-test-results from ews123 for ios-simulator-wk2

The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews123  Port: ios-simulator-wk2  Platform: Mac OS X 10.14.5
Comment 13 EWS Watchlist 2019-07-18 14:15:52 PDT
Comment on attachment 374402 [details]
Patch

Attachment 374402 [details] did not pass mac-debug-ews (mac):
Output: https://webkit-queues.webkit.org/results/12767948

New failing tests:
storage/indexeddb/pending-version-change-on-exit-private.html
css3/font-feature-font-face-local.html
svg/custom/glyph-selection-arabic-forms.svg
editing/mac/selection/word-thai.html
Comment 14 EWS Watchlist 2019-07-18 14:15:54 PDT
Created attachment 374416 [details]
Archive of layout-test-results from ews115 for mac-highsierra

The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews115  Port: mac-highsierra  Platform: Mac OS X 10.13.6
Comment 15 Myles C. Maxfield 2019-07-18 17:10:41 PDT
The test failures don't occur on macOS Catalina nor iOS 13 😢
Comment 16 Myles C. Maxfield 2019-07-18 19:28:38 PDT
Created attachment 374437 [details]
Patch for committing
Comment 17 Myles C. Maxfield 2019-07-19 13:18:36 PDT
Created attachment 374489 [details]
Patch for committing
Comment 18 WebKit Commit Bot 2019-07-21 10:24:00 PDT
Comment on attachment 374489 [details]
Patch for committing

Clearing flags on attachment: 374489

Committed r247674: <https://trac.webkit.org/changeset/247674>