diff options
author | Leander Beernaert <leander.beernaert@qt.io> | 2019-11-14 13:03:46 +0100 |
---|---|---|
committer | Leander Beernaert <leander.beernaert@qt.io> | 2019-11-19 13:53:21 +0100 |
commit | 26e876912435bdafbca2b425af43824d7ec5b876 (patch) | |
tree | b7ee83cdd9de18ce5970bab0bb217a972d3d2445 /util/unicode/main.cpp | |
parent | 7a6c6da2ebbfef33f7284ce5c96aa0c3acabc6bc (diff) | |
parent | bac999f38ca10147832846f6d7df1e4a051d3760 (diff) |
Merge remote-tracking branch 'origin/dev' into wip/cmake
Change-Id: Ifecc2d9db396d783124df8567553ba5f846f30bb
Diffstat (limited to 'util/unicode/main.cpp')
-rw-r--r-- | util/unicode/main.cpp | 40 |
1 files changed, 32 insertions, 8 deletions
diff --git a/util/unicode/main.cpp b/util/unicode/main.cpp index 26cdab87d6..c3465b3045 100644 --- a/util/unicode/main.cpp +++ b/util/unicode/main.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2019 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the utils of the Qt Toolkit. @@ -38,8 +38,8 @@ #include <private/qunicodetables_p.h> #endif -#define DATA_VERSION_S "10.0" -#define DATA_VERSION_STR "QChar::Unicode_10_0" +#define DATA_VERSION_S "12.1" +#define DATA_VERSION_STR "QChar::Unicode_12_1" static QHash<QByteArray, QChar::UnicodeVersion> age_map; @@ -69,6 +69,9 @@ static void initAgeMap() { QChar::Unicode_8_0, "8.0" }, { QChar::Unicode_9_0, "9.0" }, { QChar::Unicode_10_0, "10.0" }, + { QChar::Unicode_11_0, "11.0" }, + { QChar::Unicode_12_0, "12.0" }, + { QChar::Unicode_12_1, "12.1" }, // UCD Revision 24 { QChar::Unicode_Unassigned, 0 } }; AgeMap *d = ageMap; @@ -377,6 +380,7 @@ static const char *word_break_class_string = " WordBreak_E_Modifier,\n" " WordBreak_Glue_After_Zwj,\n" " WordBreak_E_Base_GAZ,\n" + " WordBreak_WSegSpace,\n" " NumWordBreakClasses,\n" "};\n\n"; @@ -403,6 +407,7 @@ enum WordBreakClass { WordBreak_E_Modifier, WordBreak_Glue_After_Zwj, WordBreak_E_Base_GAZ, + WordBreak_WSegSpace, WordBreak_Unassigned }; @@ -437,6 +442,7 @@ static void initWordBreak() { WordBreak_E_Modifier, "E_Modifier" }, { WordBreak_Glue_After_Zwj, "Glue_After_Zwj" }, { WordBreak_E_Base_GAZ, "E_Base_GAZ" }, + { WordBreak_WSegSpace, "WSegSpace" }, { WordBreak_Unassigned, 0 } }; WordBreakList *d = breaks; @@ -776,6 +782,18 @@ static void initScriptMap() { QChar::Script_Nushu, "Nushu" }, { QChar::Script_Soyombo, "Soyombo" }, { QChar::Script_ZanabazarSquare, "ZanabazarSquare" }, + // 12.1 + { QChar::Script_Dogra, "Dogra" }, + { QChar::Script_GunjalaGondi, "GunjalaGondi" }, + { QChar::Script_HanifiRohingya, "HanifiRohingya" }, + { QChar::Script_Makasar, "Makasar" }, + { QChar::Script_Medefaidrin, "Medefaidrin" }, + { QChar::Script_OldSogdian, "OldSogdian" }, + { QChar::Script_Sogdian, "Sogdian" }, + { QChar::Script_Elymaic, "Elymaic" }, + { QChar::Script_Nandinagari, "Nandinagari" }, + { QChar::Script_NyiakengPuachueHmong, "NyiakengPuachueHmong" }, + { QChar::Script_Wancho, "Wancho" }, // unhandled { QChar::Script_Unknown, 0 } @@ -1375,12 +1393,18 @@ static void readArabicShaping() qFatal("%x: unassigned or unhandled joining type: %s", codepoint, l[2].constData()); break; case Joining_Transparent: - if (d.p.category != QChar::Mark_NonSpacing && d.p.category != QChar::Mark_Enclosing && d.p.category != QChar::Other_Format) { - qFatal("%x: joining type '%s' was met; the current implementation needs to be revised!", - codepoint, l[2].constData()); + switch (d.p.category) { + case QChar::Mark_Enclosing: + case QChar::Mark_NonSpacing: + case QChar::Letter_Modifier: + case QChar::Other_Format: + break; + default: + qFatal("%x: joining type '%s' was met (category: %d); " + "the current implementation needs to be revised!", + codepoint, l[2].constData(), d.p.category); } - // fall through - + Q_FALLTHROUGH(); default: d.p.joining = QChar::JoiningType(joining); break; |