[PR #5934] [MERGED] Partially regenerate codepoint widths from Emoji 13.0 #26543

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

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/5934
Author: @DHowett-MSFT
Created: 5/16/2020
Status: Merged
Merged: 5/17/2020
Merged by: @DHowett

Base: masterHead: dev/duhowett/even_more_widths_god_i_hate_this


📝 Commits (3)

  • ae7087c TEMP REVERT EMJ FIXES
  • b2bd271 Revert "Make most emojis full-width (#5795)"
  • b11ef4d Partially regenerate codepoint widths from Emoji 13.0

📊 Changes

2 files changed (+111 additions, -144 deletions)

View changed files

📝 .github/actions/spell-check/whitelist/whitelist.txt (+3 -2)
📝 src/types/CodepointWidthDetector.cpp (+108 -142)

📄 Description

This removes all glyphs from the emoji list that do not default to
"emoji presentation" (EPres). It removes all local overrides, but retains
the comments about the emoji we left out that are Microsoft-specific.

This brings us fully in line with the most popular Terminals on OS X,
except that we squash our emoji down to fit in one cell and they let
them hang over the edges and damage other characters. Oh well.

Refs #900, #5914.

Detailed Description of the Pull Request / Additional comments

Late Friday evening, I tested my emoji test file on iTerm2. In so doing, I realized
that @j4james and @leonMSFT were right the entire time in #5914: Emoji
that require U+FE0F must not be double-width by default.

I finally banged up a powershell script that parses the UCD and emits a codepoint
width table. Once checked in, this will be definitive.

Validation Steps Performed

image


🔄 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/5934 **Author:** [@DHowett-MSFT](https://github.com/DHowett-MSFT) **Created:** 5/16/2020 **Status:** ✅ Merged **Merged:** 5/17/2020 **Merged by:** [@DHowett](https://github.com/DHowett) **Base:** `master` ← **Head:** `dev/duhowett/even_more_widths_god_i_hate_this` --- ### 📝 Commits (3) - [`ae7087c`](https://github.com/microsoft/terminal/commit/ae7087ca0b91e577f3bb127eee918cde6b81943d) TEMP REVERT EMJ FIXES - [`b2bd271`](https://github.com/microsoft/terminal/commit/b2bd271f994b8f9e8233f4cf370def4780999ccc) Revert "Make most emojis full-width (#5795)" - [`b11ef4d`](https://github.com/microsoft/terminal/commit/b11ef4d1965978826118f96697bcd0ff56e11225) Partially regenerate codepoint widths from Emoji 13.0 ### 📊 Changes **2 files changed** (+111 additions, -144 deletions) <details> <summary>View changed files</summary> 📝 `.github/actions/spell-check/whitelist/whitelist.txt` (+3 -2) 📝 `src/types/CodepointWidthDetector.cpp` (+108 -142) </details> ### 📄 Description This removes all glyphs from the emoji list that do not default to "emoji presentation" (EPres). It removes all local overrides, but retains the comments about the emoji we left out that are Microsoft-specific. This brings us fully in line with the most popular Terminals on OS X, except that we squash our emoji down to fit in one cell and they let them hang over the edges and damage other characters. Oh well. Refs #900, #5914. ## Detailed Description of the Pull Request / Additional comments Late Friday evening, I tested my emoji test file on iTerm2. In so doing, I realized that @j4james and @leonMSFT were right the entire time in #5914: Emoji that require `U+FE0F` must not be double-width by default. I finally banged up a powershell script that parses the UCD and emits a codepoint width table. Once checked in, this will be definitive. ## Validation Steps Performed ![image](https://user-images.githubusercontent.com/14316954/82113237-5da7cf80-9709-11ea-9eaf-49fcea3edc37.png) --- <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:16:43 +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#26543