Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 1d39cc4016fdee96a921f4efca46dd2090e6d5d8
https://github.com/WebKit/WebKit/commit/1d39cc4016fdee96a921f4efca46dd2090e6d5d8
Author: Ahmad Saleem <[email protected]>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
A
LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-cjk-ideograph-extensions-expected.txt
A
LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-cjk-ideograph-extensions.html
M Source/WebCore/platform/graphics/FontCascade.cpp
Log Message:
-----------
Justification expansion is not applied around CJK Unified Ideographs
Extensions E, F, G, H, and I
https://bugs.webkit.org/show_bug.cgi?id=314523
rdar://176759766
Reviewed by Vitor Roriz.
FontCascade::isCJKIdeograph() has not been updated since CJK Extension D
shipped in Unicode 6.0 (2010). As a result, characters from Extensions
E (U+2B820–U+2CEAF, Unicode 8.0), F (U+2CEB0–U+2EBEF, Unicode 10.0),
G (U+30000–U+3134F, Unicode 13.0), H (U+31350–U+323AF, Unicode 15.0),
and I (U+2EBF0–U+2EE5F, Unicode 15.1) are not classified as ideographs.
The most visible consequence is that expansionOpportunityCount() does
not create expansion opportunities around these codepoints, so CJK text
composed of post-Extension-D ideographs is not justified under
text-align: justify on ports where canExpandAroundIdeographsInComplexText()
returns true (Cocoa).
Extend isCJKIdeograph() to cover the currently-assigned CJK Unified
Ideographs blocks in Plane 2 and Plane 3. isCJKIdeographOrSymbol() falls
through to isCJKIdeograph() and is updated transitively.
* Source/WebCore/platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::isCJKIdeograph): Add range checks for Extensions
E, F, I (Plane 2) and G, H (Plane 3).
*
LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-cjk-ideograph-extensions-expected.txt:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-justify/text-justify-cjk-ideograph-extensions.html:
Added.
Measures each extension's text-align: justify expansion against U+4E00's
baseline; passes uniformly on ports with and without ideograph expansion.
Canonical link: https://commits.webkit.org/313586@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications