config: add tweak.grapheme-width-method=max

‘max’ is a new value for ‘tweak.grapheme-width-method’. When enabled,
the width of a grapheme cluster is that of the cluster’s widest
codepoint.
This commit is contained in:
Daniel Eklöf 2021-11-22 23:02:25 +01:00
parent caec64cbda
commit c1c0f11821
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
5 changed files with 18 additions and 3 deletions

4
vt.c
View file

@ -792,6 +792,10 @@ action_utf8_print(struct terminal *term, wchar_t wc)
composed != NULL ? composed->width : base_width;
switch (term->conf->tweak.grapheme_width_method) {
case GRAPHEME_WIDTH_MAX:
new_cc->width = max(grapheme_width, width);
break;
case GRAPHEME_WIDTH_DOUBLE:
if (unlikely(wc == 0xfe0f))
width = 2;