Пытаюсь комплексно обозреть для себя сферу работы с текстом в целом и с поправкой на Unicode и C++.
Кроссплатформенность тоже хочу учесть.
Вопрос 1: какие существуют известные задачи (если можно полный список :) ) при работе с текстом вообще, для которых в Unicode нужно особое решение?
Вопрос 2: какие есть средства для работы с этим всем в C++ по умолчанию и на сколько они дотягивают / не дотягивают до идеала?
Вопрос 3: дополнительные библиотеки насколько могут оказаться не обходимыми?
На текущий момент определил для себя вот такие задачи:
- Итератор для перемещения по визуальным знакоместам либо по codepoint'ам
- Определение размера (байт) подстроки и операции вырезания, вставки и т.п.
- Поиск и regex
- Перекодировка между UTF-* и другими кодировками
- Чтение / запись как содержимого файлов так и путей файловых систем
Может быть ещё есть какие-нибудь требующие подхода в Unicode?
Первая мысль - это взять locale.h, regex.h и std::string, и этого хватит. Но думаю эта мысль далека от реальности, вот только не знаю на сколько далека.
Вторая мысль - это не париться и сразу брать в любой проект ICU. Но это жЫрнота и как-то жаба давит.