I'm trying to implement correct complex script painting and caret handling in SynEdit.
I got few ideas, but there's one thing which blocks me to move further.
SynEdit wipes off a word in complex script if it is scrolled or moved behind the screen.
Before:

After moving behind the screen and restoring back:

It appears that it always paints only visible part of the word without taking into account
hidden part (which is essential if painting a complex script).
Is it possible at all to avoid this?
I can imagine how to deal with caret, buffer / display methods to support complex scripts,
but with that glitch I can't move along...