[PR #4946] [MERGED] Improve wide glyph support in UIA #26042

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

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/4946
Author: @carlos-zamora
Created: 3/16/2020
Status: Merged
Merged: 3/23/2020
Merged by: @undefined

Base: masterHead: dev/cazamor/acc/wide-glyph


📝 Commits (8)

  • 566f47c wide glyph support for UIA
  • 8f2abac also add til::point to the tests
  • 8c922b4 This is why unit tests are necessary
  • e5d1f9b undo making _start/_end points. But leave the bits to make that easier.
  • 98f77de bring back the autos
  • 14d1bc7 n-th times the charm
  • 83c9fb3 add tests
  • 139ccbd better logic to think good

📊 Changes

7 files changed (+194 additions, -46 deletions)

View changed files

📝 src/buffer/out/textBuffer.cpp (+88 -0)
📝 src/buffer/out/textBuffer.hpp (+5 -0)
📝 src/host/ut_host/TextBufferTests.cpp (+54 -0)
📝 src/types/ScreenInfoUiaProviderBase.cpp (+2 -1)
📝 src/types/UiaTextRangeBase.cpp (+11 -11)
📝 src/types/UiaTextRangeBase.hpp (+1 -1)
📝 src/types/UiaTracing.cpp (+33 -33)

📄 Description

Summary of the Pull Request

  • Added better wide glyph support for UIA. We used to move one cell at a time, so wide glyphs would be read twice.
  • Converted a few things to use til::point since I'm already here.
  • fixed telemetry for UIA

PR Checklist

Detailed Description of the Pull Request / Additional comments

The text buffer has a concept of word boundaries, so it makes sense to have a concept of glyph boundaries too.

_start and _end in UiaTextRange are now til::point

Validation Steps Performed

Verified using Narrator


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/microsoft/terminal/pull/4946 **Author:** [@carlos-zamora](https://github.com/carlos-zamora) **Created:** 3/16/2020 **Status:** ✅ Merged **Merged:** 3/23/2020 **Merged by:** [@undefined](undefined) **Base:** `master` ← **Head:** `dev/cazamor/acc/wide-glyph` --- ### 📝 Commits (8) - [`566f47c`](https://github.com/microsoft/terminal/commit/566f47c116709515c358c96a87f30bbdd3c1024d) wide glyph support for UIA - [`8f2abac`](https://github.com/microsoft/terminal/commit/8f2abac70f796feecd391aa46033c59d22ee0f24) also add til::point to the tests - [`8c922b4`](https://github.com/microsoft/terminal/commit/8c922b4c58020526de83e49a3efbdf609a57afa9) This is why unit tests are necessary - [`e5d1f9b`](https://github.com/microsoft/terminal/commit/e5d1f9be20201b81ed4353ab13ba35b0480bafdf) undo making _start/_end points. But leave the bits to make that easier. - [`98f77de`](https://github.com/microsoft/terminal/commit/98f77de17a05861c5b5577e8e1f884cb07942abf) bring back the autos - [`14d1bc7`](https://github.com/microsoft/terminal/commit/14d1bc7f8668c2316bf240ae46206d4d22504e40) n-th times the charm - [`83c9fb3`](https://github.com/microsoft/terminal/commit/83c9fb3a68b3d9499ecf617b4cf0119f2ea1117e) add tests - [`139ccbd`](https://github.com/microsoft/terminal/commit/139ccbda308db17f00780807d626079866e79461) better logic to think good ### 📊 Changes **7 files changed** (+194 additions, -46 deletions) <details> <summary>View changed files</summary> 📝 `src/buffer/out/textBuffer.cpp` (+88 -0) 📝 `src/buffer/out/textBuffer.hpp` (+5 -0) 📝 `src/host/ut_host/TextBufferTests.cpp` (+54 -0) 📝 `src/types/ScreenInfoUiaProviderBase.cpp` (+2 -1) 📝 `src/types/UiaTextRangeBase.cpp` (+11 -11) 📝 `src/types/UiaTextRangeBase.hpp` (+1 -1) 📝 `src/types/UiaTracing.cpp` (+33 -33) </details> ### 📄 Description ## Summary of the Pull Request - Added better wide glyph support for UIA. We used to move one _cell_ at a time, so wide glyphs would be read twice. - Converted a few things to use til::point since I'm already here. - fixed telemetry for UIA ## PR Checklist * [x] Closes #1354 ## Detailed Description of the Pull Request / Additional comments The text buffer has a concept of word boundaries, so it makes sense to have a concept of glyph boundaries too. _start and _end in UiaTextRange are now til::point ## Validation Steps Performed Verified using Narrator --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-31 09:13:34 +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#26042