Avoid the downstream check and truncation by substitute()'ing any exceeding characters away. In order to exclude a character that does not entirely fit the passed width, we match for larger than the passed width plus one, and the character that comes before, similar to what we do in ingo#strdisplaywidth#HasMoreThan().
When the character doesn't fully fit into the width, it should be excluded. Test that the result exceeds the passed width, and then remove the last character.
Add basic tests, too.