LINUX.ORG.RU

История изменений

Исправление X512, (текущая версия) :

достаточно сделать довольно простой двухуровневый запрос по таблицам

…который легко делается для UTF-8 (prefix tree).

Неудивительно, что на этом фоне UTF-8 «просто работает» — нет локалей, нет и проблем.

Это его преимущество.

Спасибо хоть число графем умеют считать.

Вы так и не привели пример зачем это надо.

у приложения должна быть библиотека смайлов специально для отрисовки этих символов — иначе вместо них будут квадратики или вопросики.

Приложение просто передаёт строку в GUI тулкит, который сам всё делает. Нет необходимости писать свой рендеринг текста, всё уже сделано в FreeType/HarfBuzz.

работающем с семантикой текста.

Примеры в студию.

Но для UTF-16 это делать сильно проще.

Не сказал бы что сильно проще, там тоже переменное число байт.

А теперь прикинь, что у тебя в ОС-и системные идентификаторы записаны кириллицей.

Так и есть и УМВР (Linux KDE, Haiku). Юникодные имена символов в C++ и ELF модулях работают, специальной поддержки для этого не требуется.

А для ASCII-only идентификаторов можно брать не просто UTF-8, а даже тупо ASCII.

Нельзя потому что в любой момент могут понадобится символы за пределами ASCII.

Исходная версия X512, :

достаточно сделать довольно простой двухуровневый запрос по таблицам

…который легко делается для UTF-8 (prefix tree).

Неудивительно, что на этом фоне UTF-8 «просто работает» — нет локалей, нет и проблем.

Это его преимущество.

Спасибо хоть число графем умеют считать.

Вы так и не привели пример зачем это надо.

у приложения должна быть библиотека смайлов специально для отрисовки этих символов — иначе вместо них будут квадратики или вопросики.

Приложение просто передаёт строку в GUI тулкит, который сам всё делает. Нет необходимости писать свой рендеринг текста, всё уже сделано в FreeType/HarfBuzz.

работающем с семантикой текста.

Примеры в студию.

Но для UTF-16 это делать сильно проще.

Не сказал бы что сильно проще, там тоже переменное число байт.

А теперь прикинь, что у тебя в ОС-и системные идентификаторы записаны кириллицей.

Так и есть и УМВР (Linux KDE, Haiku).

А для ASCII-only идентификаторов можно брать не просто UTF-8, а даже тупо ASCII.

Нельзя потому что в любой момент могут понадобится символы за пределами ASCII.