We can't get linear time to get one or another symbol in a string:
UTF-32 does not make calculating the displayed width of a string easier, since even with a "fixed width" font there may be more than one code point per character position (combining characters) or more than one character position per code point ("grapheme clusters" for CJK ideographs).
In this use too much memory. So what's the advantage?