Terminal Guide

Wide characters and combining characters

Combining Code Points

Printing one or more zero width combining character after a positive width character combines those combining characters into the base character.

xterm

saves 0-5 (option combiningChars: default 2) combining code points per cell in addition to the base character. If a the base character with the combining codepoint has a precomposed form xterm it does not take one of these storage slots by default(resource precompose).

vte

TODO

konsole

TODO

putty

TODO (putty ignores at least COMBINING DIAERESIS)

urxvt

TODO

xterm allows late combining

When any cursor movement places the cursor on a cell printing just a combining character will compose that character to the already placed character in that cell (if the character width is not changed by that)

Other implementations tend to just ignore the combining character