Skip to content
Permalink
Browse files
"Tag" codepoints require the complex text codepath
https://bugs.webkit.org/show_bug.cgi?id=177251
<rdar://problem/34384001>

Reviewed by David Hyatt.

Source/WebCore:

Previously, Tag codepoints (U+E0000 - U+E007F) weren't triggering the
complex text codepath.

Eventually, we should migrate the default from simple to complex. I'll do
that in a separate patch.

Test: fast/text/flag-codepoint.html

* platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::characterRangeCodePath):

LayoutTests:

* fast/text/flag-codepoint-expected.html: Added.
* fast/text/flag-codepoint.html: Added.

Canonical link: https://commits.webkit.org/193864@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@222576 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
litherum committed Sep 27, 2017
1 parent 203e5db commit 81735e520ca2f09b3f186897fc4db2e627e86378
@@ -1,3 +1,14 @@
2017-09-27 Myles C. Maxfield <mmaxfield@apple.com>

"Tag" codepoints require the complex text codepath
https://bugs.webkit.org/show_bug.cgi?id=177251
<rdar://problem/34384001>

Reviewed by David Hyatt.

* fast/text/flag-codepoint-expected.html: Added.
* fast/text/flag-codepoint.html: Added.

2017-09-27 Alicia Boya García <aboya@igalia.com>

GTK test gardening.
@@ -0,0 +1,8 @@
<html>
<head>
<meta charset="utf-8">
</head>
<body>
This test makes sure that combining grapheme clusters with Tag codepoints (U+E0000 - U+E007F) join correctly. The test passes if you don't see anything below.
</body>
</html>
@@ -0,0 +1,16 @@
<html>
<head>
<meta charset="utf-8">
</head>
<body>
This test makes sure that combining grapheme clusters with Tag codepoints (U+E0000 - U+E007F) join correctly. The test passes if you don't see anything below.
<div style="position: relative; font-size: 100px;">
<div style="display: -webkit-box;">
<div style="word-break: break-word;">
🏴󠁧󠁢󠁥󠁮󠁧󠁿
</div>
</div>
<div style="position: absolute; left: 0px; top: 0px; width: 750px; height: 120px; background: white;"></div>
</div>
</body>
</html>
@@ -1,3 +1,22 @@
2017-09-27 Myles C. Maxfield <mmaxfield@apple.com>

"Tag" codepoints require the complex text codepath
https://bugs.webkit.org/show_bug.cgi?id=177251
<rdar://problem/34384001>

Reviewed by David Hyatt.

Previously, Tag codepoints (U+E0000 - U+E007F) weren't triggering the
complex text codepath.

Eventually, we should migrate the default from simple to complex. I'll do
that in a separate patch.

Test: fast/text/flag-codepoint.html

* platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::characterRangeCodePath):

2017-09-27 David Hyatt <hyatt@apple.com>

Rename "FlowThread" to "FragmentedFlow"
@@ -815,6 +815,11 @@ FontCascade::CodePath FontCascade::characterRangeCodePath(const UChar* character
previousCharacterIsEmojiGroupCandidate = true;
continue;
}

if (supplementaryCharacter < 0xE0000)
continue;
if (supplementaryCharacter < 0xE0080) // Tags
return Complex;
if (supplementaryCharacter < 0xE0100) // U+E0100 through U+E01EF Unicode variation selectors.
continue;
if (supplementaryCharacter <= 0xE01EF)

0 comments on commit 81735e5

Please sign in to comment.