summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/corelib/tools/qlocale_data_p.h4
-rwxr-xr-xutil/local_database/cldr2qlocalexml.py14
-rw-r--r--util/local_database/enumdata.py10
3 files changed, 15 insertions, 13 deletions
diff --git a/src/corelib/tools/qlocale_data_p.h b/src/corelib/tools/qlocale_data_p.h
index f0d92b7801..4d4cb962ce 100644
--- a/src/corelib/tools/qlocale_data_p.h
+++ b/src/corelib/tools/qlocale_data_p.h
@@ -5091,7 +5091,7 @@ static const unsigned char language_code_list[] =
;
static const unsigned char script_code_list[] =
-"\0\0\0\0" // AnyScript
+"Zzzz" // AnyScript
"Arab" // Arabic
"Cyrl" // Cyrillic
"Dsrt" // Deseret
@@ -5128,7 +5128,7 @@ static const unsigned char script_code_list[] =
"Yiii" // Yi
;
static const unsigned char country_code_list[] =
-" \0" // AnyCountry
+"ZZ\0" // AnyCountry
"AF\0" // Afghanistan
"AL\0" // Albania
"DZ\0" // Algeria
diff --git a/util/local_database/cldr2qlocalexml.py b/util/local_database/cldr2qlocalexml.py
index e5accece74..2ad41cbec9 100755
--- a/util/local_database/cldr2qlocalexml.py
+++ b/util/local_database/cldr2qlocalexml.py
@@ -135,26 +135,22 @@ def generateLocaleInfo(path):
return {}
language_id = enumdata.languageCodeToId(language_code)
- if language_id == -1:
+ if language_id <= 0:
sys.stderr.write("unknown language code \"" + language_code + "\"\n")
return {}
language = enumdata.language_list[language_id][0]
script_id = enumdata.scriptCodeToId(script_code)
- if script_code == -1:
+ if script_id == -1:
sys.stderr.write("unknown script code \"" + script_code + "\"\n")
return {}
- script = "AnyScript"
- if script_id != -1:
- script = enumdata.script_list[script_id][0]
+ script = enumdata.script_list[script_id][0]
country_id = enumdata.countryCodeToId(country_code)
- country = ""
- if country_id != -1:
- country = enumdata.country_list[country_id][0]
- if country == "":
+ if country_id <= 0:
sys.stderr.write("unknown country code \"" + country_code + "\"\n")
return {}
+ country = enumdata.country_list[country_id][0]
# So we say we accept only those values that have "contributed" or
# "approved" resolution. see http://www.unicode.org/cldr/process.html
diff --git a/util/local_database/enumdata.py b/util/local_database/enumdata.py
index 326eaab287..1c92aec944 100644
--- a/util/local_database/enumdata.py
+++ b/util/local_database/enumdata.py
@@ -264,7 +264,7 @@ language_list = {
}
country_list = {
- 0 : [ "AnyCountry", " " ],
+ 0 : [ "AnyCountry", "ZZ" ],
1 : [ "Afghanistan", "AF" ],
2 : [ "Albania", "AL" ],
3 : [ "Algeria", "DZ" ],
@@ -514,7 +514,7 @@ country_list = {
}
script_list = {
- 0 : [ "AnyScript", "" ],
+ 0 : [ "AnyScript", "Zzzz" ],
1 : [ "Arabic", "Arab" ],
2 : [ "Cyrillic", "Cyrl" ],
3 : [ "Deseret", "Dsrt" ],
@@ -552,18 +552,24 @@ script_list = {
}
def countryCodeToId(code):
+ if not code:
+ return 0
for country_id in country_list:
if country_list[country_id][1] == code:
return country_id
return -1
def languageCodeToId(code):
+ if not code:
+ return 0
for language_id in language_list:
if language_list[language_id][1] == code:
return language_id
return -1
def scriptCodeToId(code):
+ if not code:
+ return 0
for script_id in script_list:
if script_list[script_id][1] == code:
return script_id