[PR #12307] AtlasEngine: Fix support for combining diacritics #28976

Open
opened 2026-01-31 09:31:59 +00:00 by claunia · 0 comments
Owner

Original Pull Request: https://github.com/microsoft/terminal/pull/12307

State: closed
Merged: Yes


IDWriteTextAnalyzer::GetGlyphs is not enough to get a
DWRITE_SHAPING_TEXT_PROPERTIES::canBreakShapingAfter
value that works for combining diacritical marks.
This requires an additional call to GetGlyphPlacements.
This commit increases CPU usage for complex text by ~10%.

PR Checklist

Validation Steps Performed

  • echo "[e`u{0301}`u{0301}]" prints an "e" with 2 accents
**Original Pull Request:** https://github.com/microsoft/terminal/pull/12307 **State:** closed **Merged:** Yes --- `IDWriteTextAnalyzer::GetGlyphs` is not enough to get a `DWRITE_SHAPING_TEXT_PROPERTIES::canBreakShapingAfter` value that works for combining diacritical marks. This requires an additional call to `GetGlyphPlacements`. This commit increases CPU usage for complex text by ~10%. ## PR Checklist * [x] Closes #11925 * [x] I work here * [x] Tests added/passed ## Validation Steps Performed * ``echo "[e`u{0301}`u{0301}]"`` prints an "e" with 2 accents ✅
claunia added the pull-request label 2026-01-31 09:31:59 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#28976