* support Unicode combining-characters, therefore this gets more complicated.
* Characters themselves are represented by a "term_char_t" object. It
* should be treated as a normal integer and passed by value. The
* support Unicode combining-characters, therefore this gets more complicated.
* Characters themselves are represented by a "term_char_t" object. It
* should be treated as a normal integer and passed by value. The
* base character together with up to 2 combining-chars in a single integer.
* Only if you need more combining-chars (very unlikely!) a term-char is a
* pointer to an allocated storage. This requires you to always free term-char
* base character together with up to 2 combining-chars in a single integer.
* Only if you need more combining-chars (very unlikely!) a term-char is a
* pointer to an allocated storage. This requires you to always free term-char
* area and re-initializes them. Cells to the right are not shifted left, you
* must use DELETE to achieve that. Cells outside the visible area are skipped.
*
* area and re-initializes them. Cells to the right are not shifted left, you
* must use DELETE to achieve that. Cells outside the visible area are skipped.
*