Unicode и итерация по символам
От: пффф  
Дата: 18.01.23 16:24
Оценка:
Привет!

Хз в какой форум с такой темой, если что — перенесите куда правильно.

Вопрос — как правильно итерироваться по юникодному тексту? По символам я умею, как в UTF-8 (линупсы), так и по виндовому WCHAR* — UTF-16 вроде же?

Но ведь это ничего не значит, потому что один глиф (или как правильно сказать?) может состоять из нескольких codepoints, так?

В винде, допустим, должны быть какие-то функции на эту тему (кстати, какие?).

А как быть в линупсе? Я немного почитал про composition/decomposition, там про какие-то таблицы декомпозиции пишут. Самому с этим возиться неохота. Есть какое-то стандартное API, которое всегда есть или может быть легко установлено?

Кстати, некоторые раскладки в винде могут генерить целые пачки символов — лигатуры, например в персидском аж до 4х WCHAR может быть за одно нажатие. А отображается — как один символ. Тут явно больше одного UTF-32 codepoints. Если они могут быть подвергнуты композиции — то почему это не сделано? А если не могут, то как по ним корректно итерироваться?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.