diff options
Diffstat (limited to 'util/unicode/main.cpp')
-rw-r--r-- | util/unicode/main.cpp | 60 |
1 files changed, 44 insertions, 16 deletions
diff --git a/util/unicode/main.cpp b/util/unicode/main.cpp index 26cdab87d6..9826775034 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; @@ -190,9 +193,9 @@ enum Direction { DirLRI = QChar::DirLRI, DirRLI = QChar::DirRLI, DirFSI = QChar::DirFSI, - DirPDI = QChar::DirPDI + DirPDI = QChar::DirPDI, - , Dir_Unassigned + Dir_Unassigned }; static QHash<QByteArray, Direction> directionMap; @@ -242,9 +245,9 @@ enum JoiningType { Joining_Dual, Joining_Right, Joining_Left, - Joining_Transparent + Joining_Transparent, - , Joining_Unassigned + Joining_Unassigned }; static QHash<QByteArray, JoiningType> joining_map; @@ -291,7 +294,8 @@ static const char *grapheme_break_class_string = " Graphemebreak_E_Modifier,\n" " Graphemebreak_Glue_After_Zwj,\n" " Graphemebreak_E_Base_GAZ,\n" - " NumGraphemeBreakClasses,\n" + "\n" + " NumGraphemeBreakClasses\n" "};\n\n"; enum GraphemeBreakClass { @@ -377,7 +381,9 @@ static const char *word_break_class_string = " WordBreak_E_Modifier,\n" " WordBreak_Glue_After_Zwj,\n" " WordBreak_E_Base_GAZ,\n" - " NumWordBreakClasses,\n" + " WordBreak_WSegSpace,\n" + "\n" + " NumWordBreakClasses\n" "};\n\n"; enum WordBreakClass { @@ -403,6 +409,7 @@ enum WordBreakClass { WordBreak_E_Modifier, WordBreak_Glue_After_Zwj, WordBreak_E_Base_GAZ, + WordBreak_WSegSpace, WordBreak_Unassigned }; @@ -437,6 +444,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; @@ -463,6 +471,7 @@ static const char *sentence_break_class_string = " SentenceBreak_SContinue,\n" " SentenceBreak_STerm,\n" " SentenceBreak_Close,\n" + "\n" " NumSentenceBreakClasses\n" "};\n\n"; @@ -480,9 +489,9 @@ enum SentenceBreakClass { SentenceBreak_ATerm, SentenceBreak_SContinue, SentenceBreak_STerm, - SentenceBreak_Close + SentenceBreak_Close, - , SentenceBreak_Unassigned + SentenceBreak_Unassigned }; static QHash<QByteArray, SentenceBreakClass> sentence_break_map; @@ -531,6 +540,7 @@ static const char *line_break_class_string = " LineBreak_EB, LineBreak_EM, LineBreak_ZWJ,\n" " LineBreak_SA, LineBreak_SG, LineBreak_SP,\n" " LineBreak_CR, LineBreak_LF, LineBreak_BK,\n" + "\n" " NumLineBreakClasses\n" "};\n\n"; @@ -776,6 +786,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 +1397,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; |