Skip to content

Fix unified diff rendering with taller emoji glyphs - #3074

Open
tobiasmelcher wants to merge 1 commit into
eclipse-platform:masterfrom
tobiasmelcher:d031119/fix-unified-diff-emoji-rendering
Open

tobiasmelcher wants to merge 1 commit into
eclipse-platform:masterfrom
tobiasmelcher:d031119/fix-unified-diff-emoji-rendering

Conversation

@tobiasmelcher

@tobiasmelcher tobiasmelcher commented Nov 13, 2026 •

Copy link
Copy Markdown
Contributor

Emoji fallback fonts can exceed the editor's base line height. Unified-diff code minings previously painted successive rows at the shorter base height, so emoji glyphs could overlap adjacent rows and extend into the following source line. The selectable click-through overlay could also require more height than the mining reserved. This change uses consistent glyph-aware heights for reserved space, painting, detailed backgrounds, and selectable text, without changing copied text.

Source-row diff highlighting now covers the full row height when emoji fallback fonts enlarge the editor's rows, eliminating the white stripes between highlighted lines.

Emoji mining rendering

Before: adjacent emoji glyphs touch or overlap, and the final emoji row extends into the following source row.

unified-diff-mining-before

After: emoji rows have sufficient vertical space, and the final row remains inside the mining background.

unified-diff-mining-after

Full-height source backgrounds

Before: taller source rows leave white stripes in the diff background.

unified-diff-source-background-before

After: the diff background covers the full source-row height.

unified-diff-source-background-after

The screenshots also expose a separate whitespace-marker baseline misalignment on emoji-expanded source rows. That behavior reproduces independently of Compare drawing and is not addressed by this PR.

Reserve and paint glyph-aware code-mining heights so emoji fallback fonts do not overlap source lines. Keep click-through text aligned and fill source-row backgrounds across increased line spacing.
@github-actions

Copy link
Copy Markdown
Contributor

Test Results

    54 files  ± 0      54 suites  ±0   35m 28s ⏱️ - 2m 21s
 5 035 tests +13   5 013 ✅ +13   22 💤 ±0  0 ❌ ±0 
12 996 runs  +39  12 840 ✅ +37  156 💤 +2  0 ❌ ±0 

Results for commit 4856183. ± Comparison against base commit 30dafa8.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant