Thank you for the explanations. That's sort of what I guessed in my question in the above reply.
'character' normally refers to a byte even when multi-byte characters are used
That's definitely confusing, even logically self-contradicting. They should have said "byte" if they refer to byte. So positions are between bytes, and usually that will be between visible characters (unless have multi-byte characters).
PS and nothing to do with the command SCI_LINESCROLL() which is for the application to use to scroll the display manually.
Oh, I see; that is for when clicking on the ends of right-side or bottom ribbon to make the view scroll.
Lot's to learn...