csi: implement DECSET/DECRST/DECRQM 2027 - grapheme cluster processing

This implements private mode 2027 - grapheme cluster processing, as
defined in the "Terminal Unicode Core"[1] specification.

Internally, we just flip the already existing option "grapheme
shaping". Since it's now runtime changeable, we need a copy of it in
the terminal struct, rather than referencing the conf object.

[1]: 13fc5a8993/spec/terminal-unicode-core.tex (L50-L53)
This commit is contained in:
Daniel Eklöf 2023-09-20 13:45:06 +02:00
parent 8a5f2915e9
commit 4eef001d58
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
7 changed files with 21 additions and 1 deletions

View file

@ -328,6 +328,9 @@ that corresponds to one of the following modes:
| 2026
: terminal-wg
: Application synchronized updates mode
| 2027
: contour
: Grapheme cluster processing
| 8452
: xterm
: Position cursor to the right of sixels, instead of on the next line

View file

@ -1307,6 +1307,8 @@ any of these options.
- foot must have been compiled with utf8proc support
- fcft must have been compiled with HarfBuzz support
This option can also be set runtime with DECSET/DECRST 2027.
See also: *grapheme-width-method*.
Default: _yes_