Environment:
- Xcode 26.2
- Simulator: 26.0 / iPhone 17
Summary:
Assigning a specific Unicode string to a UILabel (or any UITextView / text component backed by CoreText) causes an immediate crash. The string contains a visible base character followed by a zero-width non-joiner and two combining marks.
let label = UILabel()
label.text = "\u{274D}\u{200C}\u{1CD7}\u{20DB}"
// ^ Crash in CoreText during text layout
Crash stack trace:
The crash occurs inside CoreText's glyph layout/shaping pipeline. The combining marks U+1CD7 and U+20DB appear to stack on the ZWNJ (which has no visible glyph), causing CoreText to fail during run shaping or bounding box calculation.
Questions:
- Is this a known CoreText regression in the iOS 26.0 simulator?
- Is there a recommended fix or a more targeted workaround beyond stripping zero-width Unicode characters?
- Will this be addressed in an upcoming update