Example: If you print a codepoint "a" and then the codepoint U+20D7, you don't get an "a" with an arrow above in Terminology.
Works fine in xterm and gnome-terminal.
I tried to add it to termptyops.c by myself, but I can't figure out how to get it to wait for combining characters before advancing the position. It seems right now it's advancing the position right after printing each codepoint - which would be impossible then.
It would have to
- print the non-combining character, remember the width but don't advance yet
- for each trailing combining codepoint check the width (and don't advance)
- and finally advance by the maximum of those widths.
Also, what if _termpty_text_append were called once with just a normal character and then again with the codepoint of a combining character? So there would need to be a new state for "am I combining, and what's the cumulative width of the character so far?" in ty->state.
Also, termpty_cell_codepoint_att_fill seems to overwrite what's already in the cell - it should be combining them for combining characters.