Существует ли в C# нормальная библиотека для работы с текстами?
Меня совсем не волнуют накладные расходы. Если надо, чтобы символ в памяти занимал 32 бита — пусть занимает, мне не жалко (да хоть 32 байта — пофиг совершенно).
Хотелось бы простое API, в котором один символ (например буква "а́" под ударением) был бы представлен одним объектом (или структурой) C#.
Можно с именем System.Text.GraphemeCluster.
Простое в том смысле, чтобы позиции для рисования считались просто.
Чтобы как в китайском языке: "иероглиф это всё, что может влезть на квадратик 1см*1см"
(даже если это "вид дракона в полёте")
Здравствуйте, Эйнсток Файр, Вы писали:
ЭФ>Меня совсем не волнуют накладные расходы. Если надо, чтобы символ в памяти занимал 32 бита — пусть занимает, мне не жалко (да хоть 32 байта — пофиг совершенно). ЭФ>Хотелось бы простое API, в котором один символ (например буква "а́" под ударением) был бы представлен одним объектом (или структурой) C#. ЭФ>Можно с именем System.Text.GraphemeCluster.
Мне не нужно определение Grapheme Cluster из стандарта Unicode.
Мне нужен отдельный класс в готовом виде,
объекты которого я мог бы использовать, а так же строки из них.
А так мне надо самому сделать класс, включить туда переменную-член string,
вычитать туда grapheme cluster через функцию, затем посчитать размеры через другую функцию,
потом закешировать, и после всего этого у меня всё ещё не будет строк из этих объектов...
Здравствуйте, Эйнсток Файр, Вы писали:
V>> Так они же там перечислены!
ЭФ>Нет, там перечислена пара вспомогательных классов. ЭФ>Класса для "GraphemeCluster" нет, и строк из объектов такого типа тоже нет.
What looks like one character might result from a combination of multiple code points, so a more descriptive term that is often used in place of "character" is grapheme cluster. The equivalent term in .NET is text element.
Ну я рад. Я так и сказал, что такую "подстроку", которая тоже строка,
нужно будет хранить в качестве образца. И её размеры. И понадобится под такое хранение отдельный объект.