If you're saying what I think you're saying, you're wrong. Whether the text is in utf8 or ucs4 doesn't affect the difficulty of width calculations. Unicode has all manner of combining characters, so even if you have an array of actual 21-bit-wide characters, you still can't assume that width of text = len(array). Also, even in a fixed width font in a terminal emulator, you need to use 2x the normal width for CJK characters.