Regression: The trailing Unicode sequences don't always show correctly for sequences ending normally.
The commit
85df83a6d846d575657016682c7014a09ac8af4e didn't handle all of the cases it needed to.
I forgot to check the normal behavior and ended up breaking normal behavior while fixing the exception cases.
The width_utf might be -1 for ASCII and performing the subtracting without handling -1 (and then casting it to unsigned) results in bad behavior.
Only handle incomplete character at the end of the stream when the character is actually incomplete.