Skip to content

Terminal: Combining characters (diacritics) not rendering correctly #39525

@ratazzi

Description

@ratazzi

Summary

The integrated terminal does not correctly render Unicode nonspacing marks (Unicode General Category Mn), such as combining diacritical marks. This affects the display of text in many languages that use diacritics.

Steps to Reproduce

Run the following python code in the terminal.

import unicodedata
token = "Caf\u00e9"
print(token)
print(len(token))
print(unicodedata.normalize('NFKD', token))
print(len(unicodedata.normalize('NFKD', token)))

Expected Behavior

Unicode nonspacing marks (General Category Mn) should be correctly rendered and attached to their base characters. For example, 'e' + U+0301 should display as é.

Ghostty:

Image

Actual Behavior

Unicode nonspacing marks (Mn characters) are not rendered, causing text to display as just the base character without diacritics. For example, 'e' + U+0301 displays as e instead of é.

Image

Zed Version and System Specs

Zed: v0.207.0 (Zed Preview)
OS: macOS 26.0.1
Memory: 32 GiB
Architecture: aarch64

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions