Bug 251009

Summary: InlineTextBoxes containing Zero Width Joiner, Zero Width Non-Joiner , or  Zero Width No-Break Space must not use simplified text measuring
Product: WebKit Reporter: Vitaly Dyackhov <vitaly>
Component: TextAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: mmaxfield, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description Vitaly Dyackhov 2023-01-23 06:38:57 PST
When calculating the width of an InlineTexBox using simplified measuring, we simply sum up the width of every glyph. Some fonts (at least FreeType fonts) specify the non-zero width of `Zero Width Joiner`, `Zero Width Non-Joiner`, and `Zero Width No-Break Space`. Later, during the rendering, these glyphs are skipped causing the `InlineTextBox`es to become wider than they should be.
Comment 1 Vitaly Dyackhov 2023-01-23 06:46:58 PST
Pull request: https://github.com/WebKit/WebKit/pull/8973
Comment 2 Radar WebKit Bug Importer 2023-01-30 06:39:16 PST
<rdar://problem/104819130>
Comment 3 EWS 2023-01-31 01:53:20 PST
Committed 259618@main (f7b4df2d3a2c): <https://commits.webkit.org/259618@main>

Reviewed commits have been landed. Closing PR #8973 and removing active labels.