История изменений
Исправление bormant, (текущая версия) :
простая модель «1 символ = 2 байта» тут на самом деле не работает
1 символ = 4 байта и в utf32 не работает из-за альтернативных представлений составных (precomposed) символов, а памяти жрёт ещё больше, чем utf16 ;)
С другой стороны, если в наличии способы получить «длину на экране», то вопрос с отображением почти закрывается (привет символам двойной ширины, right-to-left и смешанным направлениям письма ;) )
Зато есть 11 бит свободных, куда так и просится цвет ;)
Исходная версия bormant, :
простая модель «1 символ = 2 байта» тут на самом деле не работает
1 символ = 4 байта и в utf32 не работает из-за альтернативных представлений составных (precomposed) символов, а памяти жрёт ещё больше, чем utf16 ;)
С другой стороны, если в наличии способы получить «длину на экране», то вопрос с отображением почти закрывается (привет символам двойной ширины, right-to-left и смешанным направлениям письма ;) )