Bug 241831

Summary: REGRESSION (iOS 16): Characters outside a font-face's unicode-range attribute don't render when characters in that range are present
Product: WebKit Reporter: Tom Hamming <tom.hamming>
Component: TextAssignee: Myles C. Maxfield <mmaxfield>
Status: RESOLVED FIXED    
Severity: Normal CC: mmaxfield, tom.hamming, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Example Xcode project
none
Expected rendering, on iOS 15
none
Broken rendering, on iOS 16 none

Description Tom Hamming 2022-06-21 17:07:36 PDT
Created attachment 460395 [details]
Example Xcode project

Note: this is in Feedback Assistant (Radar?) as FB10401194. I'm filing it here so I can watch it in Bugzilla.

If I have a @font-face declaration in CSS that specifies a custom font file and includes a unicode-range attribute and apply that font to an element that has characters both inside and outside that unicode range, the characters outside it will not render.

Steps:
 - Run attached sample project on iOS 15. Note that the second line of text includes the English text “This is in Hebrew font. 1234.”
 - Run it on iOS 16. Note that the English text in the second line does not appear.

If you remove the unicode-range attribute from the CSS file or remove the Hebrew characters from the second div in the html file, it works as expected.

See attached screenshots for expected and observed rendering.

Reproduced on an iPhone 13 Pro simulator in Xcode 14 beta 1. And on an iPad Pro 10.5” running iOS 16 developer beta 1.
Comment 1 Tom Hamming 2022-06-21 17:08:01 PDT
Created attachment 460396 [details]
Expected rendering, on iOS 15
Comment 2 Tom Hamming 2022-06-21 17:08:18 PDT
Created attachment 460397 [details]
Broken rendering, on iOS 16
Comment 3 Alexey Proskuryakov 2022-06-21 18:55:08 PDT
rdar://95646820
Comment 4 Myles C. Maxfield 2022-07-02 01:36:46 PDT
Pull request: https://github.com/WebKit/WebKit/pull/2029
Comment 5 EWS 2022-07-02 12:52:09 PDT
Committed 252096@main (7b14522b6997): <https://commits.webkit.org/252096@main>

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