Terminal: measure characters with Unicode 11 widths, so an emoji takes the two columns the remote counts
ci / build and test (push) Successful in 3m37s
ci / android head (push) Successful in 3m45s
ci / api image (push) Successful in 8s
ci / desktop nightly (push) Successful in 1m44s

This commit is contained in:
jaap-jan committed 2026-10-04 13:55:20 +02:00
1 parent ad1a129159
commit 6806e542f9
9 files changed
+136 -6

No files matched your search

+7 -4
View File
@@ -12,18 +12,21 @@ All of the following are MIT licensed, the same licence as this repository.
| `xterm.css` | `@xterm/xterm` | 6.0.0 | `https://unpkg.com/@xterm/xterm@6.0.0/css/xterm.css` |
| `addon-fit.js` | `@xterm/addon-fit` | 0.11.0 | `https://unpkg.com/@xterm/addon-fit@0.11.0/lib/addon-fit.js` |
| `addon-webgl.js` | `@xterm/addon-webgl` | 0.19.0 | `https://unpkg.com/@xterm/addon-webgl@0.19.0/lib/addon-webgl.js` |
| `addon-unicode11.js` | `@xterm/addon-unicode11` | 0.9.0 | `https://unpkg.com/@xterm/addon-unicode11@0.9.0/lib/addon-unicode11.js` |
Copyright (c) 2017 The xterm.js authors. See <https://github.com/xtermjs/xterm.js> for the full
licence text.
These are the UMD builds, so they attach to `globalThis`: `Terminal`, `FitAddon.FitAddon` and
`WebglAddon.WebglAddon`. `terminal.js` depends on those exact names, so check them after any upgrade
These are the UMD builds, so they attach to `globalThis`: `Terminal`, `FitAddon.FitAddon`,
`WebglAddon.WebglAddon` and `Unicode11Addon.Unicode11Addon`. `terminal.js` depends on those exact names, so check them after any upgrade
— a bundle that switched to ES modules would load without error and leave `Terminal` undefined.
## Upgrading
1. Download the four files at the new versions and update the table above.
2. Confirm the UMD global names are unchanged.
1. Download the five files at the new versions and update the table above.
2. Confirm the UMD global names are unchanged, and that `term.unicode.activeVersion = '11'` still selects
the addon's table: a version string xterm no longer recognises throws, and an addon that registered
under another name would leave the page on Unicode 6 widths without a word.
3. Confirm the right-click still belongs to `terminal.js`. Two things about xterm are load-bearing for it
and neither is a global: `rightClickSelectsWord` has to still be an option — the page sets it false, and
an option xterm no longer knows is silently ignored — and xterm has to still register its own right-click