diff options
Diffstat (limited to 'util')
-rw-r--r-- | util/corelib/qurl-generateTLDs/main.cpp | 2 | ||||
-rwxr-xr-x | util/local_database/cldr2qlocalexml.py | 24 | ||||
-rwxr-xr-x | util/local_database/qlocalexml2cpp.py | 15 |
3 files changed, 26 insertions, 15 deletions
diff --git a/util/corelib/qurl-generateTLDs/main.cpp b/util/corelib/qurl-generateTLDs/main.cpp index b003ff0428..3d46bd9401 100644 --- a/util/corelib/qurl-generateTLDs/main.cpp +++ b/util/corelib/qurl-generateTLDs/main.cpp @@ -103,7 +103,7 @@ int main(int argc, char **argv) { while (!file.atEnd()) { QString s = QString::fromUtf8(file.readLine()); QString st = s.trimmed(); - int num = qHash(st) % lineCount; + int num = qt_hash(st) % lineCount; QString utf8String = utf8encode(st.toUtf8()); diff --git a/util/local_database/cldr2qlocalexml.py b/util/local_database/cldr2qlocalexml.py index 3c45db206b..868dd02931 100755 --- a/util/local_database/cldr2qlocalexml.py +++ b/util/local_database/cldr2qlocalexml.py @@ -209,13 +209,33 @@ def generateLocaleInfo(path): try: return findEntry(path, xpath + "[numberSystem=" + numbering_system + "]") except xpathlite.Error: - pass + # in CLDR 1.9 number system was refactored for numbers (but not for currency) + # so if previous findEntry doesn't work we should try this: + try: + return findEntry(path, xpath.replace("/symbols/", "/symbols[numberSystem=" + numbering_system + "]/")) + except xpathlite.Error: + # fallback to default + pass return findEntry(path, xpath) + result['decimal'] = get_number_in_system(path, "numbers/symbols/decimal", numbering_system) result['group'] = get_number_in_system(path, "numbers/symbols/group", numbering_system) result['list'] = get_number_in_system(path, "numbers/symbols/list", numbering_system) result['percent'] = get_number_in_system(path, "numbers/symbols/percentSign", numbering_system) - result['zero'] = get_number_in_system(path, "numbers/symbols/nativeZeroDigit", numbering_system) + try: + numbering_systems = {} + for ns in findTagsInFile(cldr_dir + "/../supplemental/numberingSystems.xml", "numberingSystems"): + tmp = {} + id = "" + for data in ns[1:][0]: # ns looks like this: [u'numberingSystem', [(u'digits', u'0123456789'), (u'type', u'numeric'), (u'id', u'latn')]] + tmp[data[0]] = data[1] + if data[0] == u"id": + id = data[1] + numbering_systems[id] = tmp + result['zero'] = numbering_systems[numbering_system][u"digits"][0] + except e: + sys.stderr.write("Native zero detection problem:\n" + str(e) + "\n") + result['zero'] = get_number_in_system(path, "numbers/symbols/nativeZeroDigit", numbering_system) result['minus'] = get_number_in_system(path, "numbers/symbols/minusSign", numbering_system) result['plus'] = get_number_in_system(path, "numbers/symbols/plusSign", numbering_system) result['exp'] = get_number_in_system(path, "numbers/symbols/exponential", numbering_system).lower() diff --git a/util/local_database/qlocalexml2cpp.py b/util/local_database/qlocalexml2cpp.py index 89f79c984e..3cb2b982e5 100755 --- a/util/local_database/qlocalexml2cpp.py +++ b/util/local_database/qlocalexml2cpp.py @@ -504,7 +504,6 @@ def main(): date_format_data = StringData() time_format_data = StringData() months_data = StringData() - standalone_months_data = StringData() days_data = StringData() am_data = StringData() pm_data = StringData() @@ -546,9 +545,9 @@ def main(): date_format_data.append(l.longDateFormat), time_format_data.append(l.shortTimeFormat), time_format_data.append(l.longTimeFormat), - standalone_months_data.append(l.standaloneShortMonths), - standalone_months_data.append(l.standaloneLongMonths), - standalone_months_data.append(l.standaloneNarrowMonths), + months_data.append(l.standaloneShortMonths), + months_data.append(l.standaloneLongMonths), + months_data.append(l.standaloneNarrowMonths), months_data.append(l.shortMonths), months_data.append(l.longMonths), months_data.append(l.narrowMonths), @@ -612,14 +611,6 @@ def main(): data_temp_file.write("\n") - # Standalone months data - #check_static_char_array_length("standalone_months", standalone_months_data.data) - data_temp_file.write("static const ushort standalone_months_data[] = {\n") - data_temp_file.write(wrap_list(standalone_months_data.data)) - data_temp_file.write("\n};\n") - - data_temp_file.write("\n") - # Days data #check_static_char_array_length("days", days_data.data) data_temp_file.write("static const ushort days_data[] = {\n") |