term+vt: refactor: move "utf8" char processing to term_process_and_print_non_ascii()

This function "prints" any non-ascii character (i.e. any character
that ends up in the action_utf8_print() function in vt.c) to the
grid. This includes grapheme cluster processing etc.

action_utf8_print() now simply calls this function.

This allows us to re-use the same functionality from other
places (like the text-sizing protocol).
This commit is contained in:
Daniel Eklöf 2025-01-26 07:33:53 +01:00
parent 7a8d2b5e01
commit d3f692990e
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
4 changed files with 261 additions and 251 deletions

View file

@ -894,6 +894,7 @@ void term_cursor_up(struct terminal *term, int count);
void term_cursor_down(struct terminal *term, int count);
void term_cursor_blink_update(struct terminal *term);
void term_process_and_print_non_ascii(struct terminal *term, char32_t wc);
void term_print(struct terminal *term, char32_t wc, int width,
bool insert_mode_disable);
void term_fill(struct terminal *term, int row, int col, uint8_t c, size_t count,