1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00

Unicode: Fix incorrect character ordering in Latin text

This addresses issues that could occur when re-ordering text that
contained brackets or numerical separators.
This commit is contained in:
Oliver James 2024-07-12 15:29:14 +01:00 committed by attila
parent ae23783f63
commit 57d33150d3
3 changed files with 879 additions and 379 deletions

View file

@ -311,6 +311,15 @@ public:
doTest ("1_3(1)");
doTest ("-12323");
doTest ("8784-43_-33");
doTest ("[v = get()](vector<int1> _arr) -> v2 { return _arr[5]; };");
doTest (R"([(lambda x: (x, len(x), x.upper(), x[::-1]))(word) for word in "JUCE is great".split()])");
doTest (R"(table.concat({table.unpack({string.reverse(string.gsub("JUCE is great", "%a", string.upper))})}, " "))");
doTest (R"(result = sum([(mod(i, 2) * i**2, i = 1, 100)], mask = [(mod(i, 2) == 0, i = 1, 100)]))");
doTest ("100 +100");
doTest ("100+ 100");
doTest ("100 - +100");
doTest ("abs= +100");
doTest ("1.19.0 [1]");
}
};

File diff suppressed because it is too large Load diff

View file

@ -49,7 +49,7 @@ struct UnicodeAnalysisPoint
{
char32_t character = 0;
UnicodeEntry data{};
uint16_t bidiLevel = 0;
uint16_t embeddingLevel = 0;
UnicodeAnalysisPoint (char32_t characterIn, UnicodeEntry entry)
: character { characterIn },