From 9b786488354503bce0c7afcb1b0c9aeb6a024ad7 Mon Sep 17 00:00:00 2001 From: Ilona Tomkowicz Date: Wed, 31 Aug 2022 17:36:47 +0200 Subject: [PATCH 1/5] ICU sharding. --- SHARDS.md | 21 + eng/azure-pipelines.yml | 4 +- eng/icu.browser.mk | 1 + eng/icu.mk | 34 +- eng/icu.proj | 6 +- eng/main-config.json | 474 ++++++++++++++++++ .../python/icutools/databuilder/__main__.py | 213 +++++++- 7 files changed, 746 insertions(+), 7 deletions(-) create mode 100644 SHARDS.md create mode 100644 eng/main-config.json diff --git a/SHARDS.md b/SHARDS.md new file mode 100644 index 00000000000..c534a3a7e17 --- /dev/null +++ b/SHARDS.md @@ -0,0 +1,21 @@ +# Building ICU Shards + +The ICU is divided by locales and features.
+ +By locale: +- EFIGS (en, fr, it, de, es) +- CJK (zh, ja, ko) +- no CJK (all locales except for zh, ja, ko) + +By features: +- Collation +- Normalization +- Currency +- Locales +- Zones + +To generate ICU shards run: + +`make -C ./eng -f icu.mk shards` + +which will create `json` files in `icu-filters` and build the project with all shards from `icu-filters/`. Output files will be located in `artifacts/bin/icu-{platform}-{architecture}`. diff --git a/eng/azure-pipelines.yml b/eng/azure-pipelines.yml index 57f69f45a44..ab8018d5d22 100644 --- a/eng/azure-pipelines.yml +++ b/eng/azure-pipelines.yml @@ -32,7 +32,7 @@ stages: ############ BROWSER BUILD ############ - job: Build_Browser displayName: Browser - timeoutInMinutes: 30 + timeoutInMinutes: 40 pool: ${{ if eq(variables['System.TeamProject'], 'public') }}: vmImage: ubuntu-18.04 @@ -43,7 +43,7 @@ stages: image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-webassembly-20220531132048-00a561c steps: - bash: | - ./build.sh --ci --restore --build --configuration $(_BuildConfig) /p:TargetOS=Browser /p:TargetArchitecture=wasm $(_InternalBuildArgs) + ./build.sh --ci --restore --build --configuration $(_BuildConfig) /p:TargetOS=Browser /p:TargetArchitecture=wasm /p:IcuSharding=true $(_InternalBuildArgs) displayName: Build - task: PublishPipelineArtifact@1 displayName: Upload artifacts diff --git a/eng/icu.browser.mk b/eng/icu.browser.mk index ea733efc2df..bdb477b0da5 100644 --- a/eng/icu.browser.mk +++ b/eng/icu.browser.mk @@ -1,5 +1,6 @@ ENV_INIT_SCRIPT = source $(EMSDK_PATH)/emsdk_env.sh && ENV_CONFIGURE_WRAPPER = emconfigure +ICU_SHARDING = true ifeq ($(WASM_ENABLE_THREADS),true) THREADS_FLAG="-pthread" diff --git a/eng/icu.mk b/eng/icu.mk index 0cd7ce0fa69..bb5b454c111 100644 --- a/eng/icu.mk +++ b/eng/icu.mk @@ -99,6 +99,38 @@ endif $(eval $(call TargetBuildTemplate,icudt_CJK,icudt_CJK)) $(eval $(call TargetBuildTemplate,icudt_no_CJK,icudt_no_CJK)) $(eval $(call TargetBuildTemplate,icudt_EFIGS,icudt_EFIGS)) +$(eval $(call TargetBuildTemplate,icudt_normalization,icudt_normalization)) +$(eval $(call TargetBuildTemplate,icudt_base,icudt_base)) +$(eval $(call TargetBuildTemplate,icudt_currency,icudt_currency)) +$(eval $(call TargetBuildTemplate,icudt_full_full,icudt_full_full)) +$(eval $(call TargetBuildTemplate,icudt_full_coll,icudt_full_coll)) +$(eval $(call TargetBuildTemplate,icudt_full_zones,icudt_full_zones)) +$(eval $(call TargetBuildTemplate,icudt_full_locales,icudt_full_locales)) +$(eval $(call TargetBuildTemplate,icudt_efigs_locales,icudt_efigs_locales)) +$(eval $(call TargetBuildTemplate,icudt_efigs_coll,icudt_efigs_coll)) +$(eval $(call TargetBuildTemplate,icudt_efigs_full,icudt_efigs_full)) +$(eval $(call TargetBuildTemplate,icudt_efigs_zones,icudt_efigs_zones)) +$(eval $(call TargetBuildTemplate,icudt_cjk_locales,icudt_cjk_locales)) +$(eval $(call TargetBuildTemplate,icudt_cjk_zones,icudt_cjk_zones)) +$(eval $(call TargetBuildTemplate,icudt_cjk_full,icudt_cjk_full)) +$(eval $(call TargetBuildTemplate,icudt_cjk_coll,icudt_cjk_coll)) +$(eval $(call TargetBuildTemplate,icudt_no_cjk_full,icudt_no_cjk_full)) +$(eval $(call TargetBuildTemplate,icudt_no_cjk_coll,icudt_no_cjk_coll)) +$(eval $(call TargetBuildTemplate,icudt_no_cjk_zones,icudt_no_cjk_zones)) +$(eval $(call TargetBuildTemplate,icudt_no_cjk_locales,icudt_no_cjk_locales)) + + +ICU_SHARDS := icudt_base icudt_normalization icudt_currency icudt_cjk_zones icudt_no_cjk_zones icudt_efigs_zones icudt_efigs_locales icudt_cjk_locales icudt_no_cjk_locales icudt_efigs_coll icudt_cjk_coll icudt_no_cjk_coll icudt_efigs_full icudt_cjk_full icudt_no_cjk_full icudt_full_full +DATA_SHARDS := $(addprefix data-, $(ICU_SHARDS)) + +dictionary: + cd $(TOP)/icu/icu4c/source/ && PYTHONPATH=python python3 -m icutools.databuilder --mode=makedict --filter_dir=$(ICU_FILTER_PATH) --out_dir=$(TARGET_BINDIR) --shard_cfg=$(abspath $(CURDIR)/main-config.json) --exclude_feats=zones; + +shards: dictionary $(DATA_SHARDS) # build source+data for the main "icudt" filter and only data for the other filters -all: lib-icudt data-icudt data-icudt_no_CJK data-icudt_EFIGS data-icudt_CJK +ifeq ($(ICU_SHARDING), true) +all: lib-icudt data-icudt data-icudt_no_CJK data-icudt_EFIGS data-icudt_CJK dictionary shards +else +all: lib-icudt data-icudt data-icudt_no_CJK data-icudt_EFIGS data-icudt_CJK +endif diff --git a/eng/icu.proj b/eng/icu.proj index da08c33e49d..2d2112866e3 100644 --- a/eng/icu.proj +++ b/eng/icu.proj @@ -7,10 +7,10 @@ <_ExtraParams Condition="'$(WasmEnableThreads)' == 'true'">WASM_ENABLE_THREADS=true - + diff --git a/eng/main-config.json b/eng/main-config.json new file mode 100644 index 00000000000..f181549d16e --- /dev/null +++ b/eng/main-config.json @@ -0,0 +1,474 @@ +{ + "shards": { + "efigs": "(?:en|fr|it|de|es)", + "cjk": "(?:en|zh|ja|ko)", + "no_cjk": "^(?!.*(zh|ja|ko))", + "full": "full" + }, + "packs": { + "base": { + "core": [ "base", "normalization" ], + "features": ["currency"] + }, + "shards": { + "extends": "base", + "full": ["full"], + "core": ["locales", "coll"], + "features": ["zones"] + }, + "full": "full" + }, + "filter": { + "coll": { + "collationUCAData": "implicithan" + }, + "strategy": { + "strategy": "additive" + }, + "localeFilter": { + "whitelist": [ + "ar_SA", + "am_ET", + "bg_BG", + "bn_BD", + "bn_IN", + "ca_AD", + "ca_ES", + "cs_CZ", + "da_DK", + "de_AT", + "de_BE", + "de_CH", + "de_DE", + "de_IT", + "de_LI", + "de_LU", + "el_CY", + "el_GR", + "en_AE", + "en_AG", + "en_AI", + "en_AS", + "en_AT", + "en_AU", + "en_BB", + "en_BE", + "en_BI", + "en_BM", + "en_BS", + "en_BW", + "en_BZ", + "en_CA", + "en_CC", + "en_CH", + "en_CK", + "en_CM", + "en_CX", + "en_CY", + "en_DE", + "en_DK", + "en_DM", + "en_ER", + "en_FI", + "en_FJ", + "en_FK", + "en_FM", + "en_GB", + "en_GD", + "en_GG", + "en_GH", + "en_GI", + "en_GM", + "en_GU", + "en_GY", + "en_HK", + "en_IE", + "en_IL", + "en_IM", + "en_IN", + "en_IO", + "en_JE", + "en_JM", + "en_KE", + "en_KI", + "en_KN", + "en_KY", + "en_LC", + "en_LR", + "en_LS", + "en_MG", + "en_MH", + "en_MO", + "en_MP", + "en_MS", + "en_MT", + "en_MU", + "en_MW", + "en_MY", + "en_NA", + "en_NF", + "en_NG", + "en_NL", + "en_NR", + "en_NU", + "en_NZ", + "en_PG", + "en_PH", + "en_PK", + "en_PN", + "en_PR", + "en_PW", + "en_RW", + "en_SB", + "en_SC", + "en_SD", + "en_SE", + "en_SG", + "en_SH", + "en_SI", + "en_SL", + "en_SS", + "en_SX", + "en_SZ", + "en_TC", + "en_TK", + "en_TO", + "en_TT", + "en_TV", + "en_TZ", + "en_UG", + "en_UM", + "en_US", + "en_VC", + "en_VG", + "en_VI", + "en_VU", + "en_WS", + "en_ZA", + "en_ZM", + "en_ZW", + "en_US", + "es_419", + "es_ES", + "es_MX", + "et_EE", + "fa_IR", + "fi_FI", + "fil_PH", + "fr_BE", + "fr_CA", + "fr_CH", + "fr_FR", + "gu_IN", + "he_IL", + "hi_IN", + "hr_BA", + "hr_HR", + "hu_HU", + "id_ID", + "it_CH", + "it_IT", + "ja_JP", + "kn_IN", + "ko_KR", + "lt_LT", + "lv_LV", + "ml_IN", + "mr_IN", + "ms_BN", + "ms_MY", + "ms_SG", + "nl_AW", + "nl_BE", + "nl_NL", + "pl_PL", + "pt_BR", + "pt_PT", + "ro_RO", + "ru_RU", + "sk_SK", + "sl_SI", + "sr_Cyrl_RS", + "sr_Latn_RS", + "sv_AX", + "sv_SE", + "sw_CD", + "sw_KE", + "sw_TZ", + "sw_UG", + "ta_IN", + "ta_LK", + "ta_MY", + "ta_SG", + "te_IN", + "th_TH", + "tr_CY", + "tr_TR", + "uk_UA", + "vi_VN", + "zh_CN", + "zh_Hans_HK", + "zh_SG", + "zh_HK", + "zh_TW" + ] + + }, + "featureFilters": { + "base": { + "misc": { + "whitelist": [ + "numberingSystems", + "icuver", + "keyTypeData", + "supplementalData" + ] + }, + "brkitr_rules": { + "whitelist": ["char"] + }, + "brkitr_tree": "include" + }, + "normalization": { + "normalization": { + "blacklist": [ + "nkfc_cf", + "nkfc" + ] + } + }, + "currency": { + "curr_supplemental": "include", + "misc": { + "whitelist": [ + "numberingSystems", + "currencyNumericCodes", + "supplementalData", + "keyTypeData" + ] + }, + "curr_tree": { + "whitelist": ["root"] + } + }, + "locales": { + "locales_tree": "include", + "misc": { + "whitelist": [ + "supplementalData" + ] + } + }, + "zones": { + "zone_tree": "include", + "misc": { + "whitelist": [ + "metaZones", + "zoneinfo64" + ] + } + }, + "coll": { + "coll_ucadata": "include", + "coll_tree": "include" + } + }, + "resourceFilters": { + "base": [ + { + "categories": [ + "misc" + ], + "files": { + "whitelist": [ + "supplementalData" + ] + }, + "rules": [ + "+/calendarData", + "+/calendarPreferenceData", + "+/timeData", + "+/weekData", + "+/cldrVersion" + ] + }, + { + "categories": [ + "brkitr_tree" + ], + "rules": [ + "+/" + ] + }, + { + "categories": [ + "misc" + ], + "files": { + "whitelist": [ + "numberingSystems", + "icuver", + "keyTypeData" + ] + }, + "rules": [ + "+/" + ] + } + ], + "currency": [ + { + "categories": ["misc"], + "files": { + "whitelist": ["supplementalData"] + }, + "rules": [ + "+/codeMappings", + "+/idValidity", + "+/cldrVersion" + ] + }, + { + "categories": [ + "misc" + ], + "files": { + "whitelist": [ + "numberingSystems", + "currencyNumericCodes", + "keyTypeData" + ] + }, + "rules": [ + "+/" + ] + }, + { + "categories": [ + "curr_tree" + ], + "files": { + "whitelist": [ "root" ] + }, + "rules": [ + "+/" + ] + } + ], + "locales": [ + { + "categories": ["locales_tree"], + "rules": [ + "+/NumberElements", + "-/NumberElements/latn/miscPatterns", + "-/NumberElements/latn/patternsLong", + "-/NumberElements/latn/patternsShort", + "-/NumberElements/*/patternsLong", + "-/NumberElements/*/patternsShort", + "-/NumberElements/minimalPairs", + "+/Version", + "+/layout" + ] + }, + { + "categories": ["locales_tree"], + "files": { + "blacklist": ["root"] + }, + "rules": [ + "+/calendar/default", + "+/calendar/gregorian", + "+/calendar/generic" + ] + }, + { + "categories": [ + "locales_tree" + ], + "files": { + "whitelist": [ + "root" + ] + }, + "rules": [ + "+/calendar" + ] + }, + { + "shards": ["cjk", "full"], + "categories": ["locales_tree"], + "files": { + "whitelist": ["ja"] + }, + "rules": [ + "+/calendar/japanese" + ] + }, + { + "shards": ["cjk"], + "categories": ["locales_tree"], + "files": { + "whitelist": ["ko"] + }, + "rules": [ + "+/calendar/dangi" + ] + }, + { + "shards": ["cjk"], + "categories": ["locales_tree"], + "files": { + "whitelist": ["zh", "zh_Hant"] + }, + "rules": [ + "+/calendar/roc" + ] + }, + { + "categories": ["misc"], + "files": { + "whitelist": ["supplementalData"] + }, + "rules": [ + "+/cldrVersion", + "+/codeMappings", + "+/calendarData", + "+/calendarPreferenceData", + "+/timeData", + "+/measurementData", + "+/weekData" + ] + } + ], + "zones": [ + { + "categories": ["zone_tree"], + "rules": [ + "+/zoneStrings/*" + ] + } + ], + "coll": [ + { + "shards": ["no_cjk", "efigs"], + "categories": ["coll_tree"], + "rules": [ + "+/collations/default", + "+/collations/standard", + "-/UCARules" + ] + }, + { + "shards": ["cjk", "full"], + "categories": ["coll_tree"], + "rules": [ + "+/collations/default", + "+/collations/standard", + "+/collations/private-kana", + "-/UCARules" + ] + } + ] + } + } +} \ No newline at end of file diff --git a/icu/icu4c/source/python/icutools/databuilder/__main__.py b/icu/icu4c/source/python/icutools/databuilder/__main__.py index a6a387d9ad2..5c28f2ff308 100644 --- a/icu/icu4c/source/python/icutools/databuilder/__main__.py +++ b/icu/icu4c/source/python/icutools/databuilder/__main__.py @@ -4,6 +4,7 @@ # Python 2/3 Compatibility (ICU-20299) # TODO(ICU-20301): Remove this. from __future__ import print_function +from functools import reduce import argparse import glob as pyglob @@ -11,6 +12,8 @@ import json import os import sys +import re +import collections from . import * from .comment_stripper import CommentStripper @@ -63,7 +66,7 @@ arg_group_required.add_argument( "--mode", help = "What to do with the generated rules.", - choices = ["gnumake", "unix-exec", "windows-exec", "bazel-exec"], + choices = ["gnumake", "unix-exec", "windows-exec", "bazel-exec", "makedict"], required = True ) @@ -78,6 +81,22 @@ help = "Path to an ICU data filter JSON file.", default = None ) +flag_parser.add_argument( + "--filter_dir", + metavar = "PATH", + help = "Path to an ICU filter directory.", + default = None +) +flag_parser.add_argument( + "--shard_cfg", + help = "Path to shard configuration file.", + default = None +) +flag_parser.add_argument( + "--exclude_feats", + help = "Excluded features from full ICU data file.", + default = None +) flag_parser.add_argument( "--include_uni_core_data", help = "Include the full Unicode core data in the dat file.", @@ -238,6 +257,192 @@ def add_copy_input_requests(requests, config, common_vars): return result +class Dictionary(object): + def __init__ (self, filter_dir, config_path, output_dir, exclude_feats): + self.filter_dir = filter_dir + self.output_dir = output_dir + self.filter_file_names = [] + self.dictionary = {"packs": {}} + self.locale_whitelist = {} + self.exclude_feats = exclude_feats.split(",") + with open(config_path, "r") as file: + self.config = json.load(file) + + # Dictionary of features of the format + # : + self.features = { + "base": False, + "normalization": False, + "currency": False, + "locales": True, + "zones": True, + "coll": True, + "full": True + } + self.icu_dict = {} + + def get_locales_from_shards(self, shard, pattern, locales): + whitelist = [x for x in locales if re.match(pattern, x.split("_")[0])] + if shard == "cjk": + whitelist = list(set([x.split("_")[0] for x in whitelist])) + return whitelist + + # Create localeFilter component of filter + def get_locale_filters(self, locale_filter, shard_name=""): + filter = {} + filter["filterType"] = "locale" if shard_name != "cjk" else "language" + filter["includeScripts"] = (shard_name == "cjk") + filter["includeChildren"] = (shard_name == "cjk") + for param in locale_filter: + if param == "whitelist": + filter["whitelist"] = self.locale_whitelist[shard_name] if shard_name != "" else self.locale_whitelist["full"] + else: + filter[param] = locale_filter[param] + return filter + + def get_locale_whitelist(self, shard_data, locale_filters): + for shard in shard_data: + if "?" in shard_data[shard]: + self.locale_whitelist[shard] = self.get_locales_from_shards(shard, shard_data[shard], locale_filters["whitelist"]) + self.locale_whitelist["full"] = locale_filters["whitelist"] + + def get_full_feature_filters(self, filter_data, filter): + """ + Merges parameters for all features. Used for full-featured shards. Features are + formatted as follows in main-config.json + "featureFilters":{ + : { + : { + "whitelist"/"blacklist": [ + + ] + } + }, ... + } + """ + filter = {} + for key, val in filter_data.items(): + if key not in self.exclude_feats: + for param in val: + if param not in filter: + filter[param] = val[param] + else: + for lists in val[param]: + if lists in filter[param]: + filter[param][lists] += val[param][lists] + filter[param][lists] = list(set(filter[param][lists])) + else: + filter[param][lists] = val[lists] + return filter + + def get_resource_filters(self, filter_data, shard="", feature=""): + """ + Merges parameters for all resources. Used for full-featured shards. Resources are + formatted as follows in main-config.json + "resourceFilters": [ + : [ + { + "categories": [ ] + }, + "rules": [ + + ] + } + ], ... + ] + """ + filter = [] + if feature == "full": + supplemental = [] + + # for other misc files that needed to be added with "+/" + misc_whitelist = [] + for category in filter_data: + if category not in self.exclude_feats: + for rules in filter_data[category]: + # This is the only category with overlapping rules + if rules["categories"] == ["misc"]: + if rules["files"]["whitelist"] == ["supplementalData"]: + supplemental += rules["rules"] + if rules["rules"] == ["+/"]: + misc_whitelist += rules["files"]["whitelist"] + else: + if ("shards" in rules and shard in rules["shards"]) or ("shards" not in rules): + filter.append(rules) + if len(supplemental) > 0: + filter.append( { + "categories": "misc", + "files": { + "whitelist": ["supplementalData"] + }, + "rules": list(set(supplemental)) + }) + if len(misc_whitelist) > 0 : + filter.append( { + "categories": "misc", + "files": { + "whitelist": list(set(misc_whitelist)) + }, + "rules": ["+/"] + }) + else: + if feature in filter_data: + filter = [f for f in filter_data[feature] if ("shards" not in f) or (shard in f["shards"])] + return filter + + def update_dict(self, dict1, dict_list): + for d in dict_list: + dict1.update(d) + + def create_filters(self): + """ + Generates filters for ICU shards based on a main-config.json file + """ + filter_data = self.config["filter"] + shard_data = self.config["shards"] + + # populate locale whitelists for each shard type + self.get_locale_whitelist(shard_data, filter_data["localeFilter"]) + + # First update dictionary object with shard information + self.dictionary["shards"] = shard_data + for feat in self.features: + filter = {} + shard_dependent = self.features[feat] + + # for shards with all features + if feat == "full": + # Include any additional filter parameters that are at the root level of main-config.json + root_features = [filter_data[k] for k in filter_data if k not in ["featureFilters", "resourceFilters", "localeFilter"] + self.exclude_feats] + self.update_dict(filter, root_features) + filter["featureFilters"] = self.get_full_feature_filters(filter_data["featureFilters"], {}) + filter["resourceFilters"] = self.get_resource_filters(filter_data["resourceFilters"], feature="full") + else: + if feat in filter_data: + filter.update(filter_data[feat]) + if feat in filter_data["featureFilters"]: + filter["featureFilters"] = filter_data["featureFilters"][feat] + if shard_dependent: + for shard in shard_data: + filter["localeFilter"] = self.get_locale_filters(filter_data["localeFilter"], shard_name=shard) + filter["resourceFilters"] = self.get_resource_filters(filter_data["resourceFilters"], shard=shard, feature=feat) + + filter_file_name = "icudt_{shard}_{feat}.json".format(shard=shard, feat=feat) + + # Used for generating props file later + self.filter_file_names.append(filter_file_name) + with open (os.path.join(self.filter_dir, filter_file_name), "w") as f: + json.dump(filter, f, indent=2) + else: + filter["localeFilter"] = self.get_locale_filters(filter_data["localeFilter"]) + filter["resourceFilters"] = self.get_resource_filters(filter_data["resourceFilters"], feature=feat) + filter_file_name = "icudt_{feat}.json".format(feat=feat) + self.filter_file_names.append(filter_file_name) + with open (os.path.join(self.filter_dir, filter_file_name), "w") as f: + json.dump(filter, f, indent=2) + class IO(object): """I/O operations required when computing the build actions""" @@ -263,6 +468,12 @@ def _read_json(self, filename): def main(argv): args = flag_parser.parse_args(argv) + + if args.mode == "makedict": + dictionary = Dictionary(args.filter_dir, args.shard_cfg, args.out_dir, args.exclude_feats) + dictionary.create_filters() + return 0 + config = Config(args) if args.mode == "gnumake": From 6593109579e580a797ae3a630060c035158d967c Mon Sep 17 00:00:00 2001 From: Ilona Tomkowicz <32700855+ilonatommy@users.noreply.github.com> Date: Thu, 1 Sep 2022 10:47:14 +0000 Subject: [PATCH 2/5] Json filters for sharding. --- icu-filters/icudt_base.json | 251 ++++++++++++++++++ icu-filters/icudt_cjk_coll.json | 35 +++ icu-filters/icudt_cjk_full.json | 211 +++++++++++++++ icu-filters/icudt_cjk_locales.json | 136 ++++++++++ icu-filters/icudt_cjk_zones.json | 32 +++ icu-filters/icudt_currency.json | 254 ++++++++++++++++++ icu-filters/icudt_efigs_coll.json | 149 +++++++++++ icu-filters/icudt_efigs_full.json | 275 ++++++++++++++++++++ icu-filters/icudt_efigs_locales.json | 201 +++++++++++++++ icu-filters/icudt_efigs_zones.json | 147 +++++++++++ icu-filters/icudt_full_coll.json | 215 ++++++++++++++++ icu-filters/icudt_full_full.json | 358 ++++++++++++++++++++++++++ icu-filters/icudt_full_locales.json | 283 ++++++++++++++++++++ icu-filters/icudt_full_zones.json | 212 +++++++++++++++ icu-filters/icudt_no_cjk_coll.json | 207 +++++++++++++++ icu-filters/icudt_no_cjk_full.json | 333 ++++++++++++++++++++++++ icu-filters/icudt_no_cjk_locales.json | 259 +++++++++++++++++++ icu-filters/icudt_no_cjk_zones.json | 205 +++++++++++++++ icu-filters/icudt_normalization.json | 202 +++++++++++++++ icu/icu4c/source/data/curr/root.txt | 309 +++++++++++----------- 20 files changed, 4112 insertions(+), 162 deletions(-) create mode 100644 icu-filters/icudt_base.json create mode 100644 icu-filters/icudt_cjk_coll.json create mode 100644 icu-filters/icudt_cjk_full.json create mode 100644 icu-filters/icudt_cjk_locales.json create mode 100644 icu-filters/icudt_cjk_zones.json create mode 100644 icu-filters/icudt_currency.json create mode 100644 icu-filters/icudt_efigs_coll.json create mode 100644 icu-filters/icudt_efigs_full.json create mode 100644 icu-filters/icudt_efigs_locales.json create mode 100644 icu-filters/icudt_efigs_zones.json create mode 100644 icu-filters/icudt_full_coll.json create mode 100644 icu-filters/icudt_full_full.json create mode 100644 icu-filters/icudt_full_locales.json create mode 100644 icu-filters/icudt_full_zones.json create mode 100644 icu-filters/icudt_no_cjk_coll.json create mode 100644 icu-filters/icudt_no_cjk_full.json create mode 100644 icu-filters/icudt_no_cjk_locales.json create mode 100644 icu-filters/icudt_no_cjk_zones.json create mode 100644 icu-filters/icudt_normalization.json diff --git a/icu-filters/icudt_base.json b/icu-filters/icudt_base.json new file mode 100644 index 00000000000..cd8fe4ead1c --- /dev/null +++ b/icu-filters/icudt_base.json @@ -0,0 +1,251 @@ +{ + "featureFilters": { + "misc": { + "whitelist": [ + "numberingSystems", + "icuver", + "keyTypeData", + "supplementalData" + ] + }, + "brkitr_rules": { + "whitelist": [ + "char" + ] + }, + "brkitr_tree": "include" + }, + "localeFilter": { + "filterType": "locale", + "includeScripts": false, + "includeChildren": false, + "whitelist": [ + "ar_SA", + "am_ET", + "bg_BG", + "bn_BD", + "bn_IN", + "ca_AD", + "ca_ES", + "cs_CZ", + "da_DK", + "de_AT", + "de_BE", + "de_CH", + "de_DE", + "de_IT", + "de_LI", + "de_LU", + "el_CY", + "el_GR", + "en_AE", + "en_AG", + "en_AI", + "en_AS", + "en_AT", + "en_AU", + "en_BB", + "en_BE", + "en_BI", + "en_BM", + "en_BS", + "en_BW", + "en_BZ", + "en_CA", + "en_CC", + "en_CH", + "en_CK", + "en_CM", + "en_CX", + "en_CY", + "en_DE", + "en_DK", + "en_DM", + "en_ER", + "en_FI", + "en_FJ", + "en_FK", + "en_FM", + "en_GB", + "en_GD", + "en_GG", + "en_GH", + "en_GI", + "en_GM", + "en_GU", + "en_GY", + "en_HK", + "en_IE", + "en_IL", + "en_IM", + "en_IN", + "en_IO", + "en_JE", + "en_JM", + "en_KE", + "en_KI", + "en_KN", + "en_KY", + "en_LC", + "en_LR", + "en_LS", + "en_MG", + "en_MH", + "en_MO", + "en_MP", + "en_MS", + "en_MT", + "en_MU", + "en_MW", + "en_MY", + "en_NA", + "en_NF", + "en_NG", + "en_NL", + "en_NR", + "en_NU", + "en_NZ", + "en_PG", + "en_PH", + "en_PK", + "en_PN", + "en_PR", + "en_PW", + "en_RW", + "en_SB", + "en_SC", + "en_SD", + "en_SE", + "en_SG", + "en_SH", + "en_SI", + "en_SL", + "en_SS", + "en_SX", + "en_SZ", + "en_TC", + "en_TK", + "en_TO", + "en_TT", + "en_TV", + "en_TZ", + "en_UG", + "en_UM", + "en_US", + "en_VC", + "en_VG", + "en_VI", + "en_VU", + "en_WS", + "en_ZA", + "en_ZM", + "en_ZW", + "en_US", + "es_419", + "es_ES", + "es_MX", + "et_EE", + "fa_IR", + "fi_FI", + "fil_PH", + "fr_BE", + "fr_CA", + "fr_CH", + "fr_FR", + "gu_IN", + "he_IL", + "hi_IN", + "hr_BA", + "hr_HR", + "hu_HU", + "id_ID", + "it_CH", + "it_IT", + "ja_JP", + "kn_IN", + "ko_KR", + "lt_LT", + "lv_LV", + "ml_IN", + "mr_IN", + "ms_BN", + "ms_MY", + "ms_SG", + "nl_AW", + "nl_BE", + "nl_NL", + "pl_PL", + "pt_BR", + "pt_PT", + "ro_RO", + "ru_RU", + "sk_SK", + "sl_SI", + "sr_Cyrl_RS", + "sr_Latn_RS", + "sv_AX", + "sv_SE", + "sw_CD", + "sw_KE", + "sw_TZ", + "sw_UG", + "ta_IN", + "ta_LK", + "ta_MY", + "ta_SG", + "te_IN", + "th_TH", + "tr_CY", + "tr_TR", + "uk_UA", + "vi_VN", + "zh_CN", + "zh_Hans_HK", + "zh_SG", + "zh_HK", + "zh_TW" + ] + }, + "resourceFilters": [ + { + "categories": [ + "misc" + ], + "files": { + "whitelist": [ + "supplementalData" + ] + }, + "rules": [ + "+/calendarData", + "+/calendarPreferenceData", + "+/timeData", + "+/weekData", + "+/cldrVersion" + ] + }, + { + "categories": [ + "brkitr_tree" + ], + "rules": [ + "+/" + ] + }, + { + "categories": [ + "misc" + ], + "files": { + "whitelist": [ + "numberingSystems", + "icuver", + "keyTypeData" + ] + }, + "rules": [ + "+/" + ] + } + ] +} \ No newline at end of file diff --git a/icu-filters/icudt_cjk_coll.json b/icu-filters/icudt_cjk_coll.json new file mode 100644 index 00000000000..bad0ef7d247 --- /dev/null +++ b/icu-filters/icudt_cjk_coll.json @@ -0,0 +1,35 @@ +{ + "collationUCAData": "implicithan", + "featureFilters": { + "coll_ucadata": "include", + "coll_tree": "include" + }, + "localeFilter": { + "filterType": "language", + "includeScripts": true, + "includeChildren": true, + "whitelist": [ + "en", + "zh", + "ja", + "ko" + ] + }, + "resourceFilters": [ + { + "shards": [ + "cjk", + "full" + ], + "categories": [ + "coll_tree" + ], + "rules": [ + "+/collations/default", + "+/collations/standard", + "+/collations/private-kana", + "-/UCARules" + ] + } + ] +} \ No newline at end of file diff --git a/icu-filters/icudt_cjk_full.json b/icu-filters/icudt_cjk_full.json new file mode 100644 index 00000000000..cce10e27f17 --- /dev/null +++ b/icu-filters/icudt_cjk_full.json @@ -0,0 +1,211 @@ +{ + "collationUCAData": "implicithan", + "strategy": "additive", + "featureFilters": { + "misc": { + "whitelist": [ + "numberingSystems", + "keyTypeData", + "icuver", + "supplementalData", + "currencyNumericCodes" + ] + }, + "brkitr_rules": { + "whitelist": [ + "char" + ] + }, + "brkitr_tree": "include", + "normalization": { + "blacklist": [ + "nkfc_cf", + "nkfc" + ] + }, + "curr_supplemental": "include", + "curr_tree": { + "whitelist": [ + "root" + ] + }, + "locales_tree": "include", + "coll_ucadata": "include", + "coll_tree": "include" + }, + "resourceFilters": [ + { + "categories": [ + "brkitr_tree" + ], + "rules": [ + "+/" + ] + }, + { + "categories": [ + "curr_tree" + ], + "files": { + "whitelist": [ + "root" + ] + }, + "rules": [ + "+/" + ] + }, + { + "categories": [ + "locales_tree" + ], + "rules": [ + "+/NumberElements", + "-/NumberElements/latn/miscPatterns", + "-/NumberElements/latn/patternsLong", + "-/NumberElements/latn/patternsShort", + "-/NumberElements/*/patternsLong", + "-/NumberElements/*/patternsShort", + "-/NumberElements/minimalPairs", + "+/Version", + "+/layout" + ] + }, + { + "categories": [ + "locales_tree" + ], + "files": { + "blacklist": [ + "root" + ] + }, + "rules": [ + "+/calendar/default", + "+/calendar/gregorian", + "+/calendar/generic" + ] + }, + { + "categories": [ + "locales_tree" + ], + "files": { + "whitelist": [ + "root" + ] + }, + "rules": [ + "+/calendar" + ] + }, + { + "shards": [ + "cjk", + "full" + ], + "categories": [ + "locales_tree" + ], + "files": { + "whitelist": [ + "ja" + ] + }, + "rules": [ + "+/calendar/japanese" + ] + }, + { + "shards": [ + "cjk" + ], + "categories": [ + "locales_tree" + ], + "files": { + "whitelist": [ + "ko" + ] + }, + "rules": [ + "+/calendar/dangi" + ] + }, + { + "shards": [ + "cjk" + ], + "categories": [ + "locales_tree" + ], + "files": { + "whitelist": [ + "zh", + "zh_Hant" + ] + }, + "rules": [ + "+/calendar/roc" + ] + }, + { + "shards": [ + "cjk", + "full" + ], + "categories": [ + "coll_tree" + ], + "rules": [ + "+/collations/default", + "+/collations/standard", + "+/collations/private-kana", + "-/UCARules" + ] + }, + { + "categories": "misc", + "files": { + "whitelist": [ + "supplementalData" + ] + }, + "rules": [ + "+/weekData", + "+/calendarData", + "+/idValidity", + "+/measurementData", + "+/timeData", + "+/cldrVersion", + "+/calendarPreferenceData", + "+/codeMappings" + ] + }, + { + "categories": "misc", + "files": { + "whitelist": [ + "icuver", + "currencyNumericCodes", + "numberingSystems", + "keyTypeData" + ] + }, + "rules": [ + "+/" + ] + } + ], + "localeFilter": { + "filterType": "language", + "includeScripts": true, + "includeChildren": true, + "whitelist": [ + "en", + "zh", + "ja", + "ko" + ] + } +} \ No newline at end of file diff --git a/icu-filters/icudt_cjk_locales.json b/icu-filters/icudt_cjk_locales.json new file mode 100644 index 00000000000..3403750d1b8 --- /dev/null +++ b/icu-filters/icudt_cjk_locales.json @@ -0,0 +1,136 @@ +{ + "featureFilters": { + "locales_tree": "include", + "misc": { + "whitelist": [ + "supplementalData" + ] + } + }, + "localeFilter": { + "filterType": "language", + "includeScripts": true, + "includeChildren": true, + "whitelist": [ + "en", + "zh", + "ja", + "ko" + ] + }, + "resourceFilters": [ + { + "categories": [ + "locales_tree" + ], + "rules": [ + "+/NumberElements", + "-/NumberElements/latn/miscPatterns", + "-/NumberElements/latn/patternsLong", + "-/NumberElements/latn/patternsShort", + "-/NumberElements/*/patternsLong", + "-/NumberElements/*/patternsShort", + "-/NumberElements/minimalPairs", + "+/Version", + "+/layout" + ] + }, + { + "categories": [ + "locales_tree" + ], + "files": { + "blacklist": [ + "root" + ] + }, + "rules": [ + "+/calendar/default", + "+/calendar/gregorian", + "+/calendar/generic" + ] + }, + { + "categories": [ + "locales_tree" + ], + "files": { + "whitelist": [ + "root" + ] + }, + "rules": [ + "+/calendar" + ] + }, + { + "shards": [ + "cjk", + "full" + ], + "categories": [ + "locales_tree" + ], + "files": { + "whitelist": [ + "ja" + ] + }, + "rules": [ + "+/calendar/japanese" + ] + }, + { + "shards": [ + "cjk" + ], + "categories": [ + "locales_tree" + ], + "files": { + "whitelist": [ + "ko" + ] + }, + "rules": [ + "+/calendar/dangi" + ] + }, + { + "shards": [ + "cjk" + ], + "categories": [ + "locales_tree" + ], + "files": { + "whitelist": [ + "zh", + "zh_Hant" + ] + }, + "rules": [ + "+/calendar/roc" + ] + }, + { + "categories": [ + "misc" + ], + "files": { + "whitelist": [ + "supplementalData" + ] + }, + "rules": [ + "+/cldrVersion", + "+/codeMappings", + "+/calendarData", + "+/calendarPreferenceData", + "+/timeData", + "+/measurementData", + "+/weekData" + ] + } + ] +} \ No newline at end of file diff --git a/icu-filters/icudt_cjk_zones.json b/icu-filters/icudt_cjk_zones.json new file mode 100644 index 00000000000..8a033696f65 --- /dev/null +++ b/icu-filters/icudt_cjk_zones.json @@ -0,0 +1,32 @@ +{ + "featureFilters": { + "zone_tree": "include", + "misc": { + "whitelist": [ + "metaZones", + "zoneinfo64" + ] + } + }, + "localeFilter": { + "filterType": "language", + "includeScripts": true, + "includeChildren": true, + "whitelist": [ + "en", + "zh", + "ja", + "ko" + ] + }, + "resourceFilters": [ + { + "categories": [ + "zone_tree" + ], + "rules": [ + "+/zoneStrings/*" + ] + } + ] +} \ No newline at end of file diff --git a/icu-filters/icudt_currency.json b/icu-filters/icudt_currency.json new file mode 100644 index 00000000000..0afca84234b --- /dev/null +++ b/icu-filters/icudt_currency.json @@ -0,0 +1,254 @@ +{ + "featureFilters": { + "curr_supplemental": "include", + "misc": { + "whitelist": [ + "numberingSystems", + "currencyNumericCodes", + "supplementalData", + "keyTypeData" + ] + }, + "curr_tree": { + "whitelist": [ + "root" + ] + } + }, + "localeFilter": { + "filterType": "locale", + "includeScripts": false, + "includeChildren": false, + "whitelist": [ + "ar_SA", + "am_ET", + "bg_BG", + "bn_BD", + "bn_IN", + "ca_AD", + "ca_ES", + "cs_CZ", + "da_DK", + "de_AT", + "de_BE", + "de_CH", + "de_DE", + "de_IT", + "de_LI", + "de_LU", + "el_CY", + "el_GR", + "en_AE", + "en_AG", + "en_AI", + "en_AS", + "en_AT", + "en_AU", + "en_BB", + "en_BE", + "en_BI", + "en_BM", + "en_BS", + "en_BW", + "en_BZ", + "en_CA", + "en_CC", + "en_CH", + "en_CK", + "en_CM", + "en_CX", + "en_CY", + "en_DE", + "en_DK", + "en_DM", + "en_ER", + "en_FI", + "en_FJ", + "en_FK", + "en_FM", + "en_GB", + "en_GD", + "en_GG", + "en_GH", + "en_GI", + "en_GM", + "en_GU", + "en_GY", + "en_HK", + "en_IE", + "en_IL", + "en_IM", + "en_IN", + "en_IO", + "en_JE", + "en_JM", + "en_KE", + "en_KI", + "en_KN", + "en_KY", + "en_LC", + "en_LR", + "en_LS", + "en_MG", + "en_MH", + "en_MO", + "en_MP", + "en_MS", + "en_MT", + "en_MU", + "en_MW", + "en_MY", + "en_NA", + "en_NF", + "en_NG", + "en_NL", + "en_NR", + "en_NU", + "en_NZ", + "en_PG", + "en_PH", + "en_PK", + "en_PN", + "en_PR", + "en_PW", + "en_RW", + "en_SB", + "en_SC", + "en_SD", + "en_SE", + "en_SG", + "en_SH", + "en_SI", + "en_SL", + "en_SS", + "en_SX", + "en_SZ", + "en_TC", + "en_TK", + "en_TO", + "en_TT", + "en_TV", + "en_TZ", + "en_UG", + "en_UM", + "en_US", + "en_VC", + "en_VG", + "en_VI", + "en_VU", + "en_WS", + "en_ZA", + "en_ZM", + "en_ZW", + "en_US", + "es_419", + "es_ES", + "es_MX", + "et_EE", + "fa_IR", + "fi_FI", + "fil_PH", + "fr_BE", + "fr_CA", + "fr_CH", + "fr_FR", + "gu_IN", + "he_IL", + "hi_IN", + "hr_BA", + "hr_HR", + "hu_HU", + "id_ID", + "it_CH", + "it_IT", + "ja_JP", + "kn_IN", + "ko_KR", + "lt_LT", + "lv_LV", + "ml_IN", + "mr_IN", + "ms_BN", + "ms_MY", + "ms_SG", + "nl_AW", + "nl_BE", + "nl_NL", + "pl_PL", + "pt_BR", + "pt_PT", + "ro_RO", + "ru_RU", + "sk_SK", + "sl_SI", + "sr_Cyrl_RS", + "sr_Latn_RS", + "sv_AX", + "sv_SE", + "sw_CD", + "sw_KE", + "sw_TZ", + "sw_UG", + "ta_IN", + "ta_LK", + "ta_MY", + "ta_SG", + "te_IN", + "th_TH", + "tr_CY", + "tr_TR", + "uk_UA", + "vi_VN", + "zh_CN", + "zh_Hans_HK", + "zh_SG", + "zh_HK", + "zh_TW" + ] + }, + "resourceFilters": [ + { + "categories": [ + "misc" + ], + "files": { + "whitelist": [ + "supplementalData" + ] + }, + "rules": [ + "+/codeMappings", + "+/idValidity", + "+/cldrVersion" + ] + }, + { + "categories": [ + "misc" + ], + "files": { + "whitelist": [ + "numberingSystems", + "currencyNumericCodes", + "keyTypeData" + ] + }, + "rules": [ + "+/" + ] + }, + { + "categories": [ + "curr_tree" + ], + "files": { + "whitelist": [ + "root" + ] + }, + "rules": [ + "+/" + ] + } + ] +} \ No newline at end of file diff --git a/icu-filters/icudt_efigs_coll.json b/icu-filters/icudt_efigs_coll.json new file mode 100644 index 00000000000..1fc57886f84 --- /dev/null +++ b/icu-filters/icudt_efigs_coll.json @@ -0,0 +1,149 @@ +{ + "collationUCAData": "implicithan", + "featureFilters": { + "coll_ucadata": "include", + "coll_tree": "include" + }, + "localeFilter": { + "filterType": "locale", + "includeScripts": false, + "includeChildren": false, + "whitelist": [ + "de_AT", + "de_BE", + "de_CH", + "de_DE", + "de_IT", + "de_LI", + "de_LU", + "en_AE", + "en_AG", + "en_AI", + "en_AS", + "en_AT", + "en_AU", + "en_BB", + "en_BE", + "en_BI", + "en_BM", + "en_BS", + "en_BW", + "en_BZ", + "en_CA", + "en_CC", + "en_CH", + "en_CK", + "en_CM", + "en_CX", + "en_CY", + "en_DE", + "en_DK", + "en_DM", + "en_ER", + "en_FI", + "en_FJ", + "en_FK", + "en_FM", + "en_GB", + "en_GD", + "en_GG", + "en_GH", + "en_GI", + "en_GM", + "en_GU", + "en_GY", + "en_HK", + "en_IE", + "en_IL", + "en_IM", + "en_IN", + "en_IO", + "en_JE", + "en_JM", + "en_KE", + "en_KI", + "en_KN", + "en_KY", + "en_LC", + "en_LR", + "en_LS", + "en_MG", + "en_MH", + "en_MO", + "en_MP", + "en_MS", + "en_MT", + "en_MU", + "en_MW", + "en_MY", + "en_NA", + "en_NF", + "en_NG", + "en_NL", + "en_NR", + "en_NU", + "en_NZ", + "en_PG", + "en_PH", + "en_PK", + "en_PN", + "en_PR", + "en_PW", + "en_RW", + "en_SB", + "en_SC", + "en_SD", + "en_SE", + "en_SG", + "en_SH", + "en_SI", + "en_SL", + "en_SS", + "en_SX", + "en_SZ", + "en_TC", + "en_TK", + "en_TO", + "en_TT", + "en_TV", + "en_TZ", + "en_UG", + "en_UM", + "en_US", + "en_VC", + "en_VG", + "en_VI", + "en_VU", + "en_WS", + "en_ZA", + "en_ZM", + "en_ZW", + "en_US", + "es_419", + "es_ES", + "es_MX", + "fr_BE", + "fr_CA", + "fr_CH", + "fr_FR", + "it_CH", + "it_IT" + ] + }, + "resourceFilters": [ + { + "shards": [ + "no_cjk", + "efigs" + ], + "categories": [ + "coll_tree" + ], + "rules": [ + "+/collations/default", + "+/collations/standard", + "-/UCARules" + ] + } + ] +} \ No newline at end of file diff --git a/icu-filters/icudt_efigs_full.json b/icu-filters/icudt_efigs_full.json new file mode 100644 index 00000000000..075ec1302ed --- /dev/null +++ b/icu-filters/icudt_efigs_full.json @@ -0,0 +1,275 @@ +{ + "collationUCAData": "implicithan", + "strategy": "additive", + "featureFilters": { + "misc": { + "whitelist": [ + "numberingSystems", + "keyTypeData", + "icuver", + "supplementalData", + "currencyNumericCodes" + ] + }, + "brkitr_rules": { + "whitelist": [ + "char" + ] + }, + "brkitr_tree": "include", + "normalization": { + "blacklist": [ + "nkfc_cf", + "nkfc" + ] + }, + "curr_supplemental": "include", + "curr_tree": { + "whitelist": [ + "root" + ] + }, + "locales_tree": "include", + "coll_ucadata": "include", + "coll_tree": "include" + }, + "resourceFilters": [ + { + "categories": [ + "brkitr_tree" + ], + "rules": [ + "+/" + ] + }, + { + "categories": [ + "curr_tree" + ], + "files": { + "whitelist": [ + "root" + ] + }, + "rules": [ + "+/" + ] + }, + { + "categories": [ + "locales_tree" + ], + "rules": [ + "+/NumberElements", + "-/NumberElements/latn/miscPatterns", + "-/NumberElements/latn/patternsLong", + "-/NumberElements/latn/patternsShort", + "-/NumberElements/*/patternsLong", + "-/NumberElements/*/patternsShort", + "-/NumberElements/minimalPairs", + "+/Version", + "+/layout" + ] + }, + { + "categories": [ + "locales_tree" + ], + "files": { + "blacklist": [ + "root" + ] + }, + "rules": [ + "+/calendar/default", + "+/calendar/gregorian", + "+/calendar/generic" + ] + }, + { + "categories": [ + "locales_tree" + ], + "files": { + "whitelist": [ + "root" + ] + }, + "rules": [ + "+/calendar" + ] + }, + { + "shards": [ + "no_cjk", + "efigs" + ], + "categories": [ + "coll_tree" + ], + "rules": [ + "+/collations/default", + "+/collations/standard", + "-/UCARules" + ] + }, + { + "categories": "misc", + "files": { + "whitelist": [ + "supplementalData" + ] + }, + "rules": [ + "+/weekData", + "+/calendarData", + "+/idValidity", + "+/measurementData", + "+/timeData", + "+/cldrVersion", + "+/calendarPreferenceData", + "+/codeMappings" + ] + }, + { + "categories": "misc", + "files": { + "whitelist": [ + "icuver", + "currencyNumericCodes", + "numberingSystems", + "keyTypeData" + ] + }, + "rules": [ + "+/" + ] + } + ], + "localeFilter": { + "filterType": "locale", + "includeScripts": false, + "includeChildren": false, + "whitelist": [ + "de_AT", + "de_BE", + "de_CH", + "de_DE", + "de_IT", + "de_LI", + "de_LU", + "en_AE", + "en_AG", + "en_AI", + "en_AS", + "en_AT", + "en_AU", + "en_BB", + "en_BE", + "en_BI", + "en_BM", + "en_BS", + "en_BW", + "en_BZ", + "en_CA", + "en_CC", + "en_CH", + "en_CK", + "en_CM", + "en_CX", + "en_CY", + "en_DE", + "en_DK", + "en_DM", + "en_ER", + "en_FI", + "en_FJ", + "en_FK", + "en_FM", + "en_GB", + "en_GD", + "en_GG", + "en_GH", + "en_GI", + "en_GM", + "en_GU", + "en_GY", + "en_HK", + "en_IE", + "en_IL", + "en_IM", + "en_IN", + "en_IO", + "en_JE", + "en_JM", + "en_KE", + "en_KI", + "en_KN", + "en_KY", + "en_LC", + "en_LR", + "en_LS", + "en_MG", + "en_MH", + "en_MO", + "en_MP", + "en_MS", + "en_MT", + "en_MU", + "en_MW", + "en_MY", + "en_NA", + "en_NF", + "en_NG", + "en_NL", + "en_NR", + "en_NU", + "en_NZ", + "en_PG", + "en_PH", + "en_PK", + "en_PN", + "en_PR", + "en_PW", + "en_RW", + "en_SB", + "en_SC", + "en_SD", + "en_SE", + "en_SG", + "en_SH", + "en_SI", + "en_SL", + "en_SS", + "en_SX", + "en_SZ", + "en_TC", + "en_TK", + "en_TO", + "en_TT", + "en_TV", + "en_TZ", + "en_UG", + "en_UM", + "en_US", + "en_VC", + "en_VG", + "en_VI", + "en_VU", + "en_WS", + "en_ZA", + "en_ZM", + "en_ZW", + "en_US", + "es_419", + "es_ES", + "es_MX", + "fr_BE", + "fr_CA", + "fr_CH", + "fr_FR", + "it_CH", + "it_IT" + ] + } +} \ No newline at end of file diff --git a/icu-filters/icudt_efigs_locales.json b/icu-filters/icudt_efigs_locales.json new file mode 100644 index 00000000000..09551f2ff94 --- /dev/null +++ b/icu-filters/icudt_efigs_locales.json @@ -0,0 +1,201 @@ +{ + "featureFilters": { + "locales_tree": "include", + "misc": { + "whitelist": [ + "supplementalData" + ] + } + }, + "localeFilter": { + "filterType": "locale", + "includeScripts": false, + "includeChildren": false, + "whitelist": [ + "de_AT", + "de_BE", + "de_CH", + "de_DE", + "de_IT", + "de_LI", + "de_LU", + "en_AE", + "en_AG", + "en_AI", + "en_AS", + "en_AT", + "en_AU", + "en_BB", + "en_BE", + "en_BI", + "en_BM", + "en_BS", + "en_BW", + "en_BZ", + "en_CA", + "en_CC", + "en_CH", + "en_CK", + "en_CM", + "en_CX", + "en_CY", + "en_DE", + "en_DK", + "en_DM", + "en_ER", + "en_FI", + "en_FJ", + "en_FK", + "en_FM", + "en_GB", + "en_GD", + "en_GG", + "en_GH", + "en_GI", + "en_GM", + "en_GU", + "en_GY", + "en_HK", + "en_IE", + "en_IL", + "en_IM", + "en_IN", + "en_IO", + "en_JE", + "en_JM", + "en_KE", + "en_KI", + "en_KN", + "en_KY", + "en_LC", + "en_LR", + "en_LS", + "en_MG", + "en_MH", + "en_MO", + "en_MP", + "en_MS", + "en_MT", + "en_MU", + "en_MW", + "en_MY", + "en_NA", + "en_NF", + "en_NG", + "en_NL", + "en_NR", + "en_NU", + "en_NZ", + "en_PG", + "en_PH", + "en_PK", + "en_PN", + "en_PR", + "en_PW", + "en_RW", + "en_SB", + "en_SC", + "en_SD", + "en_SE", + "en_SG", + "en_SH", + "en_SI", + "en_SL", + "en_SS", + "en_SX", + "en_SZ", + "en_TC", + "en_TK", + "en_TO", + "en_TT", + "en_TV", + "en_TZ", + "en_UG", + "en_UM", + "en_US", + "en_VC", + "en_VG", + "en_VI", + "en_VU", + "en_WS", + "en_ZA", + "en_ZM", + "en_ZW", + "en_US", + "es_419", + "es_ES", + "es_MX", + "fr_BE", + "fr_CA", + "fr_CH", + "fr_FR", + "it_CH", + "it_IT" + ] + }, + "resourceFilters": [ + { + "categories": [ + "locales_tree" + ], + "rules": [ + "+/NumberElements", + "-/NumberElements/latn/miscPatterns", + "-/NumberElements/latn/patternsLong", + "-/NumberElements/latn/patternsShort", + "-/NumberElements/*/patternsLong", + "-/NumberElements/*/patternsShort", + "-/NumberElements/minimalPairs", + "+/Version", + "+/layout" + ] + }, + { + "categories": [ + "locales_tree" + ], + "files": { + "blacklist": [ + "root" + ] + }, + "rules": [ + "+/calendar/default", + "+/calendar/gregorian", + "+/calendar/generic" + ] + }, + { + "categories": [ + "locales_tree" + ], + "files": { + "whitelist": [ + "root" + ] + }, + "rules": [ + "+/calendar" + ] + }, + { + "categories": [ + "misc" + ], + "files": { + "whitelist": [ + "supplementalData" + ] + }, + "rules": [ + "+/cldrVersion", + "+/codeMappings", + "+/calendarData", + "+/calendarPreferenceData", + "+/timeData", + "+/measurementData", + "+/weekData" + ] + } + ] +} \ No newline at end of file diff --git a/icu-filters/icudt_efigs_zones.json b/icu-filters/icudt_efigs_zones.json new file mode 100644 index 00000000000..37704384cec --- /dev/null +++ b/icu-filters/icudt_efigs_zones.json @@ -0,0 +1,147 @@ +{ + "featureFilters": { + "zone_tree": "include", + "misc": { + "whitelist": [ + "metaZones", + "zoneinfo64" + ] + } + }, + "localeFilter": { + "filterType": "locale", + "includeScripts": false, + "includeChildren": false, + "whitelist": [ + "de_AT", + "de_BE", + "de_CH", + "de_DE", + "de_IT", + "de_LI", + "de_LU", + "en_AE", + "en_AG", + "en_AI", + "en_AS", + "en_AT", + "en_AU", + "en_BB", + "en_BE", + "en_BI", + "en_BM", + "en_BS", + "en_BW", + "en_BZ", + "en_CA", + "en_CC", + "en_CH", + "en_CK", + "en_CM", + "en_CX", + "en_CY", + "en_DE", + "en_DK", + "en_DM", + "en_ER", + "en_FI", + "en_FJ", + "en_FK", + "en_FM", + "en_GB", + "en_GD", + "en_GG", + "en_GH", + "en_GI", + "en_GM", + "en_GU", + "en_GY", + "en_HK", + "en_IE", + "en_IL", + "en_IM", + "en_IN", + "en_IO", + "en_JE", + "en_JM", + "en_KE", + "en_KI", + "en_KN", + "en_KY", + "en_LC", + "en_LR", + "en_LS", + "en_MG", + "en_MH", + "en_MO", + "en_MP", + "en_MS", + "en_MT", + "en_MU", + "en_MW", + "en_MY", + "en_NA", + "en_NF", + "en_NG", + "en_NL", + "en_NR", + "en_NU", + "en_NZ", + "en_PG", + "en_PH", + "en_PK", + "en_PN", + "en_PR", + "en_PW", + "en_RW", + "en_SB", + "en_SC", + "en_SD", + "en_SE", + "en_SG", + "en_SH", + "en_SI", + "en_SL", + "en_SS", + "en_SX", + "en_SZ", + "en_TC", + "en_TK", + "en_TO", + "en_TT", + "en_TV", + "en_TZ", + "en_UG", + "en_UM", + "en_US", + "en_VC", + "en_VG", + "en_VI", + "en_VU", + "en_WS", + "en_ZA", + "en_ZM", + "en_ZW", + "en_US", + "es_419", + "es_ES", + "es_MX", + "fr_BE", + "fr_CA", + "fr_CH", + "fr_FR", + "it_CH", + "it_IT" + ] + }, + "resourceFilters": [ + { + "categories": [ + "zone_tree" + ], + "rules": [ + "+/zoneStrings/*" + ] + } + ] +} \ No newline at end of file diff --git a/icu-filters/icudt_full_coll.json b/icu-filters/icudt_full_coll.json new file mode 100644 index 00000000000..057ff218f2a --- /dev/null +++ b/icu-filters/icudt_full_coll.json @@ -0,0 +1,215 @@ +{ + "collationUCAData": "implicithan", + "featureFilters": { + "coll_ucadata": "include", + "coll_tree": "include" + }, + "localeFilter": { + "filterType": "locale", + "includeScripts": false, + "includeChildren": false, + "whitelist": [ + "ar_SA", + "am_ET", + "bg_BG", + "bn_BD", + "bn_IN", + "ca_AD", + "ca_ES", + "cs_CZ", + "da_DK", + "de_AT", + "de_BE", + "de_CH", + "de_DE", + "de_IT", + "de_LI", + "de_LU", + "el_CY", + "el_GR", + "en_AE", + "en_AG", + "en_AI", + "en_AS", + "en_AT", + "en_AU", + "en_BB", + "en_BE", + "en_BI", + "en_BM", + "en_BS", + "en_BW", + "en_BZ", + "en_CA", + "en_CC", + "en_CH", + "en_CK", + "en_CM", + "en_CX", + "en_CY", + "en_DE", + "en_DK", + "en_DM", + "en_ER", + "en_FI", + "en_FJ", + "en_FK", + "en_FM", + "en_GB", + "en_GD", + "en_GG", + "en_GH", + "en_GI", + "en_GM", + "en_GU", + "en_GY", + "en_HK", + "en_IE", + "en_IL", + "en_IM", + "en_IN", + "en_IO", + "en_JE", + "en_JM", + "en_KE", + "en_KI", + "en_KN", + "en_KY", + "en_LC", + "en_LR", + "en_LS", + "en_MG", + "en_MH", + "en_MO", + "en_MP", + "en_MS", + "en_MT", + "en_MU", + "en_MW", + "en_MY", + "en_NA", + "en_NF", + "en_NG", + "en_NL", + "en_NR", + "en_NU", + "en_NZ", + "en_PG", + "en_PH", + "en_PK", + "en_PN", + "en_PR", + "en_PW", + "en_RW", + "en_SB", + "en_SC", + "en_SD", + "en_SE", + "en_SG", + "en_SH", + "en_SI", + "en_SL", + "en_SS", + "en_SX", + "en_SZ", + "en_TC", + "en_TK", + "en_TO", + "en_TT", + "en_TV", + "en_TZ", + "en_UG", + "en_UM", + "en_US", + "en_VC", + "en_VG", + "en_VI", + "en_VU", + "en_WS", + "en_ZA", + "en_ZM", + "en_ZW", + "en_US", + "es_419", + "es_ES", + "es_MX", + "et_EE", + "fa_IR", + "fi_FI", + "fil_PH", + "fr_BE", + "fr_CA", + "fr_CH", + "fr_FR", + "gu_IN", + "he_IL", + "hi_IN", + "hr_BA", + "hr_HR", + "hu_HU", + "id_ID", + "it_CH", + "it_IT", + "ja_JP", + "kn_IN", + "ko_KR", + "lt_LT", + "lv_LV", + "ml_IN", + "mr_IN", + "ms_BN", + "ms_MY", + "ms_SG", + "nl_AW", + "nl_BE", + "nl_NL", + "pl_PL", + "pt_BR", + "pt_PT", + "ro_RO", + "ru_RU", + "sk_SK", + "sl_SI", + "sr_Cyrl_RS", + "sr_Latn_RS", + "sv_AX", + "sv_SE", + "sw_CD", + "sw_KE", + "sw_TZ", + "sw_UG", + "ta_IN", + "ta_LK", + "ta_MY", + "ta_SG", + "te_IN", + "th_TH", + "tr_CY", + "tr_TR", + "uk_UA", + "vi_VN", + "zh_CN", + "zh_Hans_HK", + "zh_SG", + "zh_HK", + "zh_TW" + ] + }, + "resourceFilters": [ + { + "shards": [ + "cjk", + "full" + ], + "categories": [ + "coll_tree" + ], + "rules": [ + "+/collations/default", + "+/collations/standard", + "+/collations/private-kana", + "-/UCARules" + ] + } + ] +} \ No newline at end of file diff --git a/icu-filters/icudt_full_full.json b/icu-filters/icudt_full_full.json new file mode 100644 index 00000000000..e49b3b60f4d --- /dev/null +++ b/icu-filters/icudt_full_full.json @@ -0,0 +1,358 @@ +{ + "collationUCAData": "implicithan", + "strategy": "additive", + "featureFilters": { + "misc": { + "whitelist": [ + "numberingSystems", + "keyTypeData", + "icuver", + "supplementalData", + "currencyNumericCodes" + ] + }, + "brkitr_rules": { + "whitelist": [ + "char" + ] + }, + "brkitr_tree": "include", + "normalization": { + "blacklist": [ + "nkfc_cf", + "nkfc" + ] + }, + "curr_supplemental": "include", + "curr_tree": { + "whitelist": [ + "root" + ] + }, + "locales_tree": "include", + "coll_ucadata": "include", + "coll_tree": "include" + }, + "resourceFilters": [ + { + "categories": [ + "brkitr_tree" + ], + "rules": [ + "+/" + ] + }, + { + "categories": [ + "curr_tree" + ], + "files": { + "whitelist": [ + "root" + ] + }, + "rules": [ + "+/" + ] + }, + { + "categories": [ + "locales_tree" + ], + "rules": [ + "+/NumberElements", + "-/NumberElements/latn/miscPatterns", + "-/NumberElements/latn/patternsLong", + "-/NumberElements/latn/patternsShort", + "-/NumberElements/*/patternsLong", + "-/NumberElements/*/patternsShort", + "-/NumberElements/minimalPairs", + "+/Version", + "+/layout" + ] + }, + { + "categories": [ + "locales_tree" + ], + "files": { + "blacklist": [ + "root" + ] + }, + "rules": [ + "+/calendar/default", + "+/calendar/gregorian", + "+/calendar/generic" + ] + }, + { + "categories": [ + "locales_tree" + ], + "files": { + "whitelist": [ + "root" + ] + }, + "rules": [ + "+/calendar" + ] + }, + { + "shards": [ + "cjk", + "full" + ], + "categories": [ + "locales_tree" + ], + "files": { + "whitelist": [ + "ja" + ] + }, + "rules": [ + "+/calendar/japanese" + ] + }, + { + "shards": [ + "cjk", + "full" + ], + "categories": [ + "coll_tree" + ], + "rules": [ + "+/collations/default", + "+/collations/standard", + "+/collations/private-kana", + "-/UCARules" + ] + }, + { + "categories": "misc", + "files": { + "whitelist": [ + "supplementalData" + ] + }, + "rules": [ + "+/weekData", + "+/calendarData", + "+/idValidity", + "+/measurementData", + "+/timeData", + "+/cldrVersion", + "+/calendarPreferenceData", + "+/codeMappings" + ] + }, + { + "categories": "misc", + "files": { + "whitelist": [ + "icuver", + "currencyNumericCodes", + "numberingSystems", + "keyTypeData" + ] + }, + "rules": [ + "+/" + ] + } + ], + "localeFilter": { + "filterType": "locale", + "includeScripts": false, + "includeChildren": false, + "whitelist": [ + "ar_SA", + "am_ET", + "bg_BG", + "bn_BD", + "bn_IN", + "ca_AD", + "ca_ES", + "cs_CZ", + "da_DK", + "de_AT", + "de_BE", + "de_CH", + "de_DE", + "de_IT", + "de_LI", + "de_LU", + "el_CY", + "el_GR", + "en_AE", + "en_AG", + "en_AI", + "en_AS", + "en_AT", + "en_AU", + "en_BB", + "en_BE", + "en_BI", + "en_BM", + "en_BS", + "en_BW", + "en_BZ", + "en_CA", + "en_CC", + "en_CH", + "en_CK", + "en_CM", + "en_CX", + "en_CY", + "en_DE", + "en_DK", + "en_DM", + "en_ER", + "en_FI", + "en_FJ", + "en_FK", + "en_FM", + "en_GB", + "en_GD", + "en_GG", + "en_GH", + "en_GI", + "en_GM", + "en_GU", + "en_GY", + "en_HK", + "en_IE", + "en_IL", + "en_IM", + "en_IN", + "en_IO", + "en_JE", + "en_JM", + "en_KE", + "en_KI", + "en_KN", + "en_KY", + "en_LC", + "en_LR", + "en_LS", + "en_MG", + "en_MH", + "en_MO", + "en_MP", + "en_MS", + "en_MT", + "en_MU", + "en_MW", + "en_MY", + "en_NA", + "en_NF", + "en_NG", + "en_NL", + "en_NR", + "en_NU", + "en_NZ", + "en_PG", + "en_PH", + "en_PK", + "en_PN", + "en_PR", + "en_PW", + "en_RW", + "en_SB", + "en_SC", + "en_SD", + "en_SE", + "en_SG", + "en_SH", + "en_SI", + "en_SL", + "en_SS", + "en_SX", + "en_SZ", + "en_TC", + "en_TK", + "en_TO", + "en_TT", + "en_TV", + "en_TZ", + "en_UG", + "en_UM", + "en_US", + "en_VC", + "en_VG", + "en_VI", + "en_VU", + "en_WS", + "en_ZA", + "en_ZM", + "en_ZW", + "en_US", + "es_419", + "es_ES", + "es_MX", + "et_EE", + "fa_IR", + "fi_FI", + "fil_PH", + "fr_BE", + "fr_CA", + "fr_CH", + "fr_FR", + "gu_IN", + "he_IL", + "hi_IN", + "hr_BA", + "hr_HR", + "hu_HU", + "id_ID", + "it_CH", + "it_IT", + "ja_JP", + "kn_IN", + "ko_KR", + "lt_LT", + "lv_LV", + "ml_IN", + "mr_IN", + "ms_BN", + "ms_MY", + "ms_SG", + "nl_AW", + "nl_BE", + "nl_NL", + "pl_PL", + "pt_BR", + "pt_PT", + "ro_RO", + "ru_RU", + "sk_SK", + "sl_SI", + "sr_Cyrl_RS", + "sr_Latn_RS", + "sv_AX", + "sv_SE", + "sw_CD", + "sw_KE", + "sw_TZ", + "sw_UG", + "ta_IN", + "ta_LK", + "ta_MY", + "ta_SG", + "te_IN", + "th_TH", + "tr_CY", + "tr_TR", + "uk_UA", + "vi_VN", + "zh_CN", + "zh_Hans_HK", + "zh_SG", + "zh_HK", + "zh_TW" + ] + } +} \ No newline at end of file diff --git a/icu-filters/icudt_full_locales.json b/icu-filters/icudt_full_locales.json new file mode 100644 index 00000000000..83906d273c3 --- /dev/null +++ b/icu-filters/icudt_full_locales.json @@ -0,0 +1,283 @@ +{ + "featureFilters": { + "locales_tree": "include", + "misc": { + "whitelist": [ + "supplementalData" + ] + } + }, + "localeFilter": { + "filterType": "locale", + "includeScripts": false, + "includeChildren": false, + "whitelist": [ + "ar_SA", + "am_ET", + "bg_BG", + "bn_BD", + "bn_IN", + "ca_AD", + "ca_ES", + "cs_CZ", + "da_DK", + "de_AT", + "de_BE", + "de_CH", + "de_DE", + "de_IT", + "de_LI", + "de_LU", + "el_CY", + "el_GR", + "en_AE", + "en_AG", + "en_AI", + "en_AS", + "en_AT", + "en_AU", + "en_BB", + "en_BE", + "en_BI", + "en_BM", + "en_BS", + "en_BW", + "en_BZ", + "en_CA", + "en_CC", + "en_CH", + "en_CK", + "en_CM", + "en_CX", + "en_CY", + "en_DE", + "en_DK", + "en_DM", + "en_ER", + "en_FI", + "en_FJ", + "en_FK", + "en_FM", + "en_GB", + "en_GD", + "en_GG", + "en_GH", + "en_GI", + "en_GM", + "en_GU", + "en_GY", + "en_HK", + "en_IE", + "en_IL", + "en_IM", + "en_IN", + "en_IO", + "en_JE", + "en_JM", + "en_KE", + "en_KI", + "en_KN", + "en_KY", + "en_LC", + "en_LR", + "en_LS", + "en_MG", + "en_MH", + "en_MO", + "en_MP", + "en_MS", + "en_MT", + "en_MU", + "en_MW", + "en_MY", + "en_NA", + "en_NF", + "en_NG", + "en_NL", + "en_NR", + "en_NU", + "en_NZ", + "en_PG", + "en_PH", + "en_PK", + "en_PN", + "en_PR", + "en_PW", + "en_RW", + "en_SB", + "en_SC", + "en_SD", + "en_SE", + "en_SG", + "en_SH", + "en_SI", + "en_SL", + "en_SS", + "en_SX", + "en_SZ", + "en_TC", + "en_TK", + "en_TO", + "en_TT", + "en_TV", + "en_TZ", + "en_UG", + "en_UM", + "en_US", + "en_VC", + "en_VG", + "en_VI", + "en_VU", + "en_WS", + "en_ZA", + "en_ZM", + "en_ZW", + "en_US", + "es_419", + "es_ES", + "es_MX", + "et_EE", + "fa_IR", + "fi_FI", + "fil_PH", + "fr_BE", + "fr_CA", + "fr_CH", + "fr_FR", + "gu_IN", + "he_IL", + "hi_IN", + "hr_BA", + "hr_HR", + "hu_HU", + "id_ID", + "it_CH", + "it_IT", + "ja_JP", + "kn_IN", + "ko_KR", + "lt_LT", + "lv_LV", + "ml_IN", + "mr_IN", + "ms_BN", + "ms_MY", + "ms_SG", + "nl_AW", + "nl_BE", + "nl_NL", + "pl_PL", + "pt_BR", + "pt_PT", + "ro_RO", + "ru_RU", + "sk_SK", + "sl_SI", + "sr_Cyrl_RS", + "sr_Latn_RS", + "sv_AX", + "sv_SE", + "sw_CD", + "sw_KE", + "sw_TZ", + "sw_UG", + "ta_IN", + "ta_LK", + "ta_MY", + "ta_SG", + "te_IN", + "th_TH", + "tr_CY", + "tr_TR", + "uk_UA", + "vi_VN", + "zh_CN", + "zh_Hans_HK", + "zh_SG", + "zh_HK", + "zh_TW" + ] + }, + "resourceFilters": [ + { + "categories": [ + "locales_tree" + ], + "rules": [ + "+/NumberElements", + "-/NumberElements/latn/miscPatterns", + "-/NumberElements/latn/patternsLong", + "-/NumberElements/latn/patternsShort", + "-/NumberElements/*/patternsLong", + "-/NumberElements/*/patternsShort", + "-/NumberElements/minimalPairs", + "+/Version", + "+/layout" + ] + }, + { + "categories": [ + "locales_tree" + ], + "files": { + "blacklist": [ + "root" + ] + }, + "rules": [ + "+/calendar/default", + "+/calendar/gregorian", + "+/calendar/generic" + ] + }, + { + "categories": [ + "locales_tree" + ], + "files": { + "whitelist": [ + "root" + ] + }, + "rules": [ + "+/calendar" + ] + }, + { + "shards": [ + "cjk", + "full" + ], + "categories": [ + "locales_tree" + ], + "files": { + "whitelist": [ + "ja" + ] + }, + "rules": [ + "+/calendar/japanese" + ] + }, + { + "categories": [ + "misc" + ], + "files": { + "whitelist": [ + "supplementalData" + ] + }, + "rules": [ + "+/cldrVersion", + "+/codeMappings", + "+/calendarData", + "+/calendarPreferenceData", + "+/timeData", + "+/measurementData", + "+/weekData" + ] + } + ] +} \ No newline at end of file diff --git a/icu-filters/icudt_full_zones.json b/icu-filters/icudt_full_zones.json new file mode 100644 index 00000000000..31d9b6121c4 --- /dev/null +++ b/icu-filters/icudt_full_zones.json @@ -0,0 +1,212 @@ +{ + "featureFilters": { + "zone_tree": "include", + "misc": { + "whitelist": [ + "metaZones", + "zoneinfo64" + ] + } + }, + "localeFilter": { + "filterType": "locale", + "includeScripts": false, + "includeChildren": false, + "whitelist": [ + "ar_SA", + "am_ET", + "bg_BG", + "bn_BD", + "bn_IN", + "ca_AD", + "ca_ES", + "cs_CZ", + "da_DK", + "de_AT", + "de_BE", + "de_CH", + "de_DE", + "de_IT", + "de_LI", + "de_LU", + "el_CY", + "el_GR", + "en_AE", + "en_AG", + "en_AI", + "en_AS", + "en_AT", + "en_AU", + "en_BB", + "en_BE", + "en_BI", + "en_BM", + "en_BS", + "en_BW", + "en_BZ", + "en_CA", + "en_CC", + "en_CH", + "en_CK", + "en_CM", + "en_CX", + "en_CY", + "en_DE", + "en_DK", + "en_DM", + "en_ER", + "en_FI", + "en_FJ", + "en_FK", + "en_FM", + "en_GB", + "en_GD", + "en_GG", + "en_GH", + "en_GI", + "en_GM", + "en_GU", + "en_GY", + "en_HK", + "en_IE", + "en_IL", + "en_IM", + "en_IN", + "en_IO", + "en_JE", + "en_JM", + "en_KE", + "en_KI", + "en_KN", + "en_KY", + "en_LC", + "en_LR", + "en_LS", + "en_MG", + "en_MH", + "en_MO", + "en_MP", + "en_MS", + "en_MT", + "en_MU", + "en_MW", + "en_MY", + "en_NA", + "en_NF", + "en_NG", + "en_NL", + "en_NR", + "en_NU", + "en_NZ", + "en_PG", + "en_PH", + "en_PK", + "en_PN", + "en_PR", + "en_PW", + "en_RW", + "en_SB", + "en_SC", + "en_SD", + "en_SE", + "en_SG", + "en_SH", + "en_SI", + "en_SL", + "en_SS", + "en_SX", + "en_SZ", + "en_TC", + "en_TK", + "en_TO", + "en_TT", + "en_TV", + "en_TZ", + "en_UG", + "en_UM", + "en_US", + "en_VC", + "en_VG", + "en_VI", + "en_VU", + "en_WS", + "en_ZA", + "en_ZM", + "en_ZW", + "en_US", + "es_419", + "es_ES", + "es_MX", + "et_EE", + "fa_IR", + "fi_FI", + "fil_PH", + "fr_BE", + "fr_CA", + "fr_CH", + "fr_FR", + "gu_IN", + "he_IL", + "hi_IN", + "hr_BA", + "hr_HR", + "hu_HU", + "id_ID", + "it_CH", + "it_IT", + "ja_JP", + "kn_IN", + "ko_KR", + "lt_LT", + "lv_LV", + "ml_IN", + "mr_IN", + "ms_BN", + "ms_MY", + "ms_SG", + "nl_AW", + "nl_BE", + "nl_NL", + "pl_PL", + "pt_BR", + "pt_PT", + "ro_RO", + "ru_RU", + "sk_SK", + "sl_SI", + "sr_Cyrl_RS", + "sr_Latn_RS", + "sv_AX", + "sv_SE", + "sw_CD", + "sw_KE", + "sw_TZ", + "sw_UG", + "ta_IN", + "ta_LK", + "ta_MY", + "ta_SG", + "te_IN", + "th_TH", + "tr_CY", + "tr_TR", + "uk_UA", + "vi_VN", + "zh_CN", + "zh_Hans_HK", + "zh_SG", + "zh_HK", + "zh_TW" + ] + }, + "resourceFilters": [ + { + "categories": [ + "zone_tree" + ], + "rules": [ + "+/zoneStrings/*" + ] + } + ] +} \ No newline at end of file diff --git a/icu-filters/icudt_no_cjk_coll.json b/icu-filters/icudt_no_cjk_coll.json new file mode 100644 index 00000000000..10ee6caf7e9 --- /dev/null +++ b/icu-filters/icudt_no_cjk_coll.json @@ -0,0 +1,207 @@ +{ + "collationUCAData": "implicithan", + "featureFilters": { + "coll_ucadata": "include", + "coll_tree": "include" + }, + "localeFilter": { + "filterType": "locale", + "includeScripts": false, + "includeChildren": false, + "whitelist": [ + "ar_SA", + "am_ET", + "bg_BG", + "bn_BD", + "bn_IN", + "ca_AD", + "ca_ES", + "cs_CZ", + "da_DK", + "de_AT", + "de_BE", + "de_CH", + "de_DE", + "de_IT", + "de_LI", + "de_LU", + "el_CY", + "el_GR", + "en_AE", + "en_AG", + "en_AI", + "en_AS", + "en_AT", + "en_AU", + "en_BB", + "en_BE", + "en_BI", + "en_BM", + "en_BS", + "en_BW", + "en_BZ", + "en_CA", + "en_CC", + "en_CH", + "en_CK", + "en_CM", + "en_CX", + "en_CY", + "en_DE", + "en_DK", + "en_DM", + "en_ER", + "en_FI", + "en_FJ", + "en_FK", + "en_FM", + "en_GB", + "en_GD", + "en_GG", + "en_GH", + "en_GI", + "en_GM", + "en_GU", + "en_GY", + "en_HK", + "en_IE", + "en_IL", + "en_IM", + "en_IN", + "en_IO", + "en_JE", + "en_JM", + "en_KE", + "en_KI", + "en_KN", + "en_KY", + "en_LC", + "en_LR", + "en_LS", + "en_MG", + "en_MH", + "en_MO", + "en_MP", + "en_MS", + "en_MT", + "en_MU", + "en_MW", + "en_MY", + "en_NA", + "en_NF", + "en_NG", + "en_NL", + "en_NR", + "en_NU", + "en_NZ", + "en_PG", + "en_PH", + "en_PK", + "en_PN", + "en_PR", + "en_PW", + "en_RW", + "en_SB", + "en_SC", + "en_SD", + "en_SE", + "en_SG", + "en_SH", + "en_SI", + "en_SL", + "en_SS", + "en_SX", + "en_SZ", + "en_TC", + "en_TK", + "en_TO", + "en_TT", + "en_TV", + "en_TZ", + "en_UG", + "en_UM", + "en_US", + "en_VC", + "en_VG", + "en_VI", + "en_VU", + "en_WS", + "en_ZA", + "en_ZM", + "en_ZW", + "en_US", + "es_419", + "es_ES", + "es_MX", + "et_EE", + "fa_IR", + "fi_FI", + "fil_PH", + "fr_BE", + "fr_CA", + "fr_CH", + "fr_FR", + "gu_IN", + "he_IL", + "hi_IN", + "hr_BA", + "hr_HR", + "hu_HU", + "id_ID", + "it_CH", + "it_IT", + "kn_IN", + "lt_LT", + "lv_LV", + "ml_IN", + "mr_IN", + "ms_BN", + "ms_MY", + "ms_SG", + "nl_AW", + "nl_BE", + "nl_NL", + "pl_PL", + "pt_BR", + "pt_PT", + "ro_RO", + "ru_RU", + "sk_SK", + "sl_SI", + "sr_Cyrl_RS", + "sr_Latn_RS", + "sv_AX", + "sv_SE", + "sw_CD", + "sw_KE", + "sw_TZ", + "sw_UG", + "ta_IN", + "ta_LK", + "ta_MY", + "ta_SG", + "te_IN", + "th_TH", + "tr_CY", + "tr_TR", + "uk_UA", + "vi_VN" + ] + }, + "resourceFilters": [ + { + "shards": [ + "no_cjk", + "efigs" + ], + "categories": [ + "coll_tree" + ], + "rules": [ + "+/collations/default", + "+/collations/standard", + "-/UCARules" + ] + } + ] +} \ No newline at end of file diff --git a/icu-filters/icudt_no_cjk_full.json b/icu-filters/icudt_no_cjk_full.json new file mode 100644 index 00000000000..41b7df8f5af --- /dev/null +++ b/icu-filters/icudt_no_cjk_full.json @@ -0,0 +1,333 @@ +{ + "collationUCAData": "implicithan", + "strategy": "additive", + "featureFilters": { + "misc": { + "whitelist": [ + "numberingSystems", + "keyTypeData", + "icuver", + "supplementalData", + "currencyNumericCodes" + ] + }, + "brkitr_rules": { + "whitelist": [ + "char" + ] + }, + "brkitr_tree": "include", + "normalization": { + "blacklist": [ + "nkfc_cf", + "nkfc" + ] + }, + "curr_supplemental": "include", + "curr_tree": { + "whitelist": [ + "root" + ] + }, + "locales_tree": "include", + "coll_ucadata": "include", + "coll_tree": "include" + }, + "resourceFilters": [ + { + "categories": [ + "brkitr_tree" + ], + "rules": [ + "+/" + ] + }, + { + "categories": [ + "curr_tree" + ], + "files": { + "whitelist": [ + "root" + ] + }, + "rules": [ + "+/" + ] + }, + { + "categories": [ + "locales_tree" + ], + "rules": [ + "+/NumberElements", + "-/NumberElements/latn/miscPatterns", + "-/NumberElements/latn/patternsLong", + "-/NumberElements/latn/patternsShort", + "-/NumberElements/*/patternsLong", + "-/NumberElements/*/patternsShort", + "-/NumberElements/minimalPairs", + "+/Version", + "+/layout" + ] + }, + { + "categories": [ + "locales_tree" + ], + "files": { + "blacklist": [ + "root" + ] + }, + "rules": [ + "+/calendar/default", + "+/calendar/gregorian", + "+/calendar/generic" + ] + }, + { + "categories": [ + "locales_tree" + ], + "files": { + "whitelist": [ + "root" + ] + }, + "rules": [ + "+/calendar" + ] + }, + { + "shards": [ + "no_cjk", + "efigs" + ], + "categories": [ + "coll_tree" + ], + "rules": [ + "+/collations/default", + "+/collations/standard", + "-/UCARules" + ] + }, + { + "categories": "misc", + "files": { + "whitelist": [ + "supplementalData" + ] + }, + "rules": [ + "+/weekData", + "+/calendarData", + "+/idValidity", + "+/measurementData", + "+/timeData", + "+/cldrVersion", + "+/calendarPreferenceData", + "+/codeMappings" + ] + }, + { + "categories": "misc", + "files": { + "whitelist": [ + "icuver", + "currencyNumericCodes", + "numberingSystems", + "keyTypeData" + ] + }, + "rules": [ + "+/" + ] + } + ], + "localeFilter": { + "filterType": "locale", + "includeScripts": false, + "includeChildren": false, + "whitelist": [ + "ar_SA", + "am_ET", + "bg_BG", + "bn_BD", + "bn_IN", + "ca_AD", + "ca_ES", + "cs_CZ", + "da_DK", + "de_AT", + "de_BE", + "de_CH", + "de_DE", + "de_IT", + "de_LI", + "de_LU", + "el_CY", + "el_GR", + "en_AE", + "en_AG", + "en_AI", + "en_AS", + "en_AT", + "en_AU", + "en_BB", + "en_BE", + "en_BI", + "en_BM", + "en_BS", + "en_BW", + "en_BZ", + "en_CA", + "en_CC", + "en_CH", + "en_CK", + "en_CM", + "en_CX", + "en_CY", + "en_DE", + "en_DK", + "en_DM", + "en_ER", + "en_FI", + "en_FJ", + "en_FK", + "en_FM", + "en_GB", + "en_GD", + "en_GG", + "en_GH", + "en_GI", + "en_GM", + "en_GU", + "en_GY", + "en_HK", + "en_IE", + "en_IL", + "en_IM", + "en_IN", + "en_IO", + "en_JE", + "en_JM", + "en_KE", + "en_KI", + "en_KN", + "en_KY", + "en_LC", + "en_LR", + "en_LS", + "en_MG", + "en_MH", + "en_MO", + "en_MP", + "en_MS", + "en_MT", + "en_MU", + "en_MW", + "en_MY", + "en_NA", + "en_NF", + "en_NG", + "en_NL", + "en_NR", + "en_NU", + "en_NZ", + "en_PG", + "en_PH", + "en_PK", + "en_PN", + "en_PR", + "en_PW", + "en_RW", + "en_SB", + "en_SC", + "en_SD", + "en_SE", + "en_SG", + "en_SH", + "en_SI", + "en_SL", + "en_SS", + "en_SX", + "en_SZ", + "en_TC", + "en_TK", + "en_TO", + "en_TT", + "en_TV", + "en_TZ", + "en_UG", + "en_UM", + "en_US", + "en_VC", + "en_VG", + "en_VI", + "en_VU", + "en_WS", + "en_ZA", + "en_ZM", + "en_ZW", + "en_US", + "es_419", + "es_ES", + "es_MX", + "et_EE", + "fa_IR", + "fi_FI", + "fil_PH", + "fr_BE", + "fr_CA", + "fr_CH", + "fr_FR", + "gu_IN", + "he_IL", + "hi_IN", + "hr_BA", + "hr_HR", + "hu_HU", + "id_ID", + "it_CH", + "it_IT", + "kn_IN", + "lt_LT", + "lv_LV", + "ml_IN", + "mr_IN", + "ms_BN", + "ms_MY", + "ms_SG", + "nl_AW", + "nl_BE", + "nl_NL", + "pl_PL", + "pt_BR", + "pt_PT", + "ro_RO", + "ru_RU", + "sk_SK", + "sl_SI", + "sr_Cyrl_RS", + "sr_Latn_RS", + "sv_AX", + "sv_SE", + "sw_CD", + "sw_KE", + "sw_TZ", + "sw_UG", + "ta_IN", + "ta_LK", + "ta_MY", + "ta_SG", + "te_IN", + "th_TH", + "tr_CY", + "tr_TR", + "uk_UA", + "vi_VN" + ] + } +} \ No newline at end of file diff --git a/icu-filters/icudt_no_cjk_locales.json b/icu-filters/icudt_no_cjk_locales.json new file mode 100644 index 00000000000..fa540725dca --- /dev/null +++ b/icu-filters/icudt_no_cjk_locales.json @@ -0,0 +1,259 @@ +{ + "featureFilters": { + "locales_tree": "include", + "misc": { + "whitelist": [ + "supplementalData" + ] + } + }, + "localeFilter": { + "filterType": "locale", + "includeScripts": false, + "includeChildren": false, + "whitelist": [ + "ar_SA", + "am_ET", + "bg_BG", + "bn_BD", + "bn_IN", + "ca_AD", + "ca_ES", + "cs_CZ", + "da_DK", + "de_AT", + "de_BE", + "de_CH", + "de_DE", + "de_IT", + "de_LI", + "de_LU", + "el_CY", + "el_GR", + "en_AE", + "en_AG", + "en_AI", + "en_AS", + "en_AT", + "en_AU", + "en_BB", + "en_BE", + "en_BI", + "en_BM", + "en_BS", + "en_BW", + "en_BZ", + "en_CA", + "en_CC", + "en_CH", + "en_CK", + "en_CM", + "en_CX", + "en_CY", + "en_DE", + "en_DK", + "en_DM", + "en_ER", + "en_FI", + "en_FJ", + "en_FK", + "en_FM", + "en_GB", + "en_GD", + "en_GG", + "en_GH", + "en_GI", + "en_GM", + "en_GU", + "en_GY", + "en_HK", + "en_IE", + "en_IL", + "en_IM", + "en_IN", + "en_IO", + "en_JE", + "en_JM", + "en_KE", + "en_KI", + "en_KN", + "en_KY", + "en_LC", + "en_LR", + "en_LS", + "en_MG", + "en_MH", + "en_MO", + "en_MP", + "en_MS", + "en_MT", + "en_MU", + "en_MW", + "en_MY", + "en_NA", + "en_NF", + "en_NG", + "en_NL", + "en_NR", + "en_NU", + "en_NZ", + "en_PG", + "en_PH", + "en_PK", + "en_PN", + "en_PR", + "en_PW", + "en_RW", + "en_SB", + "en_SC", + "en_SD", + "en_SE", + "en_SG", + "en_SH", + "en_SI", + "en_SL", + "en_SS", + "en_SX", + "en_SZ", + "en_TC", + "en_TK", + "en_TO", + "en_TT", + "en_TV", + "en_TZ", + "en_UG", + "en_UM", + "en_US", + "en_VC", + "en_VG", + "en_VI", + "en_VU", + "en_WS", + "en_ZA", + "en_ZM", + "en_ZW", + "en_US", + "es_419", + "es_ES", + "es_MX", + "et_EE", + "fa_IR", + "fi_FI", + "fil_PH", + "fr_BE", + "fr_CA", + "fr_CH", + "fr_FR", + "gu_IN", + "he_IL", + "hi_IN", + "hr_BA", + "hr_HR", + "hu_HU", + "id_ID", + "it_CH", + "it_IT", + "kn_IN", + "lt_LT", + "lv_LV", + "ml_IN", + "mr_IN", + "ms_BN", + "ms_MY", + "ms_SG", + "nl_AW", + "nl_BE", + "nl_NL", + "pl_PL", + "pt_BR", + "pt_PT", + "ro_RO", + "ru_RU", + "sk_SK", + "sl_SI", + "sr_Cyrl_RS", + "sr_Latn_RS", + "sv_AX", + "sv_SE", + "sw_CD", + "sw_KE", + "sw_TZ", + "sw_UG", + "ta_IN", + "ta_LK", + "ta_MY", + "ta_SG", + "te_IN", + "th_TH", + "tr_CY", + "tr_TR", + "uk_UA", + "vi_VN" + ] + }, + "resourceFilters": [ + { + "categories": [ + "locales_tree" + ], + "rules": [ + "+/NumberElements", + "-/NumberElements/latn/miscPatterns", + "-/NumberElements/latn/patternsLong", + "-/NumberElements/latn/patternsShort", + "-/NumberElements/*/patternsLong", + "-/NumberElements/*/patternsShort", + "-/NumberElements/minimalPairs", + "+/Version", + "+/layout" + ] + }, + { + "categories": [ + "locales_tree" + ], + "files": { + "blacklist": [ + "root" + ] + }, + "rules": [ + "+/calendar/default", + "+/calendar/gregorian", + "+/calendar/generic" + ] + }, + { + "categories": [ + "locales_tree" + ], + "files": { + "whitelist": [ + "root" + ] + }, + "rules": [ + "+/calendar" + ] + }, + { + "categories": [ + "misc" + ], + "files": { + "whitelist": [ + "supplementalData" + ] + }, + "rules": [ + "+/cldrVersion", + "+/codeMappings", + "+/calendarData", + "+/calendarPreferenceData", + "+/timeData", + "+/measurementData", + "+/weekData" + ] + } + ] +} \ No newline at end of file diff --git a/icu-filters/icudt_no_cjk_zones.json b/icu-filters/icudt_no_cjk_zones.json new file mode 100644 index 00000000000..aa7f2870c8f --- /dev/null +++ b/icu-filters/icudt_no_cjk_zones.json @@ -0,0 +1,205 @@ +{ + "featureFilters": { + "zone_tree": "include", + "misc": { + "whitelist": [ + "metaZones", + "zoneinfo64" + ] + } + }, + "localeFilter": { + "filterType": "locale", + "includeScripts": false, + "includeChildren": false, + "whitelist": [ + "ar_SA", + "am_ET", + "bg_BG", + "bn_BD", + "bn_IN", + "ca_AD", + "ca_ES", + "cs_CZ", + "da_DK", + "de_AT", + "de_BE", + "de_CH", + "de_DE", + "de_IT", + "de_LI", + "de_LU", + "el_CY", + "el_GR", + "en_AE", + "en_AG", + "en_AI", + "en_AS", + "en_AT", + "en_AU", + "en_BB", + "en_BE", + "en_BI", + "en_BM", + "en_BS", + "en_BW", + "en_BZ", + "en_CA", + "en_CC", + "en_CH", + "en_CK", + "en_CM", + "en_CX", + "en_CY", + "en_DE", + "en_DK", + "en_DM", + "en_ER", + "en_FI", + "en_FJ", + "en_FK", + "en_FM", + "en_GB", + "en_GD", + "en_GG", + "en_GH", + "en_GI", + "en_GM", + "en_GU", + "en_GY", + "en_HK", + "en_IE", + "en_IL", + "en_IM", + "en_IN", + "en_IO", + "en_JE", + "en_JM", + "en_KE", + "en_KI", + "en_KN", + "en_KY", + "en_LC", + "en_LR", + "en_LS", + "en_MG", + "en_MH", + "en_MO", + "en_MP", + "en_MS", + "en_MT", + "en_MU", + "en_MW", + "en_MY", + "en_NA", + "en_NF", + "en_NG", + "en_NL", + "en_NR", + "en_NU", + "en_NZ", + "en_PG", + "en_PH", + "en_PK", + "en_PN", + "en_PR", + "en_PW", + "en_RW", + "en_SB", + "en_SC", + "en_SD", + "en_SE", + "en_SG", + "en_SH", + "en_SI", + "en_SL", + "en_SS", + "en_SX", + "en_SZ", + "en_TC", + "en_TK", + "en_TO", + "en_TT", + "en_TV", + "en_TZ", + "en_UG", + "en_UM", + "en_US", + "en_VC", + "en_VG", + "en_VI", + "en_VU", + "en_WS", + "en_ZA", + "en_ZM", + "en_ZW", + "en_US", + "es_419", + "es_ES", + "es_MX", + "et_EE", + "fa_IR", + "fi_FI", + "fil_PH", + "fr_BE", + "fr_CA", + "fr_CH", + "fr_FR", + "gu_IN", + "he_IL", + "hi_IN", + "hr_BA", + "hr_HR", + "hu_HU", + "id_ID", + "it_CH", + "it_IT", + "kn_IN", + "lt_LT", + "lv_LV", + "ml_IN", + "mr_IN", + "ms_BN", + "ms_MY", + "ms_SG", + "nl_AW", + "nl_BE", + "nl_NL", + "pl_PL", + "pt_BR", + "pt_PT", + "ro_RO", + "ru_RU", + "sk_SK", + "sl_SI", + "sr_Cyrl_RS", + "sr_Latn_RS", + "sv_AX", + "sv_SE", + "sw_CD", + "sw_KE", + "sw_TZ", + "sw_UG", + "ta_IN", + "ta_LK", + "ta_MY", + "ta_SG", + "te_IN", + "th_TH", + "tr_CY", + "tr_TR", + "uk_UA", + "vi_VN" + ] + }, + "resourceFilters": [ + { + "categories": [ + "zone_tree" + ], + "rules": [ + "+/zoneStrings/*" + ] + } + ] +} \ No newline at end of file diff --git a/icu-filters/icudt_normalization.json b/icu-filters/icudt_normalization.json new file mode 100644 index 00000000000..d98031d2ce8 --- /dev/null +++ b/icu-filters/icudt_normalization.json @@ -0,0 +1,202 @@ +{ + "featureFilters": { + "normalization": { + "blacklist": [ + "nkfc_cf", + "nkfc" + ] + } + }, + "localeFilter": { + "filterType": "locale", + "includeScripts": false, + "includeChildren": false, + "whitelist": [ + "ar_SA", + "am_ET", + "bg_BG", + "bn_BD", + "bn_IN", + "ca_AD", + "ca_ES", + "cs_CZ", + "da_DK", + "de_AT", + "de_BE", + "de_CH", + "de_DE", + "de_IT", + "de_LI", + "de_LU", + "el_CY", + "el_GR", + "en_AE", + "en_AG", + "en_AI", + "en_AS", + "en_AT", + "en_AU", + "en_BB", + "en_BE", + "en_BI", + "en_BM", + "en_BS", + "en_BW", + "en_BZ", + "en_CA", + "en_CC", + "en_CH", + "en_CK", + "en_CM", + "en_CX", + "en_CY", + "en_DE", + "en_DK", + "en_DM", + "en_ER", + "en_FI", + "en_FJ", + "en_FK", + "en_FM", + "en_GB", + "en_GD", + "en_GG", + "en_GH", + "en_GI", + "en_GM", + "en_GU", + "en_GY", + "en_HK", + "en_IE", + "en_IL", + "en_IM", + "en_IN", + "en_IO", + "en_JE", + "en_JM", + "en_KE", + "en_KI", + "en_KN", + "en_KY", + "en_LC", + "en_LR", + "en_LS", + "en_MG", + "en_MH", + "en_MO", + "en_MP", + "en_MS", + "en_MT", + "en_MU", + "en_MW", + "en_MY", + "en_NA", + "en_NF", + "en_NG", + "en_NL", + "en_NR", + "en_NU", + "en_NZ", + "en_PG", + "en_PH", + "en_PK", + "en_PN", + "en_PR", + "en_PW", + "en_RW", + "en_SB", + "en_SC", + "en_SD", + "en_SE", + "en_SG", + "en_SH", + "en_SI", + "en_SL", + "en_SS", + "en_SX", + "en_SZ", + "en_TC", + "en_TK", + "en_TO", + "en_TT", + "en_TV", + "en_TZ", + "en_UG", + "en_UM", + "en_US", + "en_VC", + "en_VG", + "en_VI", + "en_VU", + "en_WS", + "en_ZA", + "en_ZM", + "en_ZW", + "en_US", + "es_419", + "es_ES", + "es_MX", + "et_EE", + "fa_IR", + "fi_FI", + "fil_PH", + "fr_BE", + "fr_CA", + "fr_CH", + "fr_FR", + "gu_IN", + "he_IL", + "hi_IN", + "hr_BA", + "hr_HR", + "hu_HU", + "id_ID", + "it_CH", + "it_IT", + "ja_JP", + "kn_IN", + "ko_KR", + "lt_LT", + "lv_LV", + "ml_IN", + "mr_IN", + "ms_BN", + "ms_MY", + "ms_SG", + "nl_AW", + "nl_BE", + "nl_NL", + "pl_PL", + "pt_BR", + "pt_PT", + "ro_RO", + "ru_RU", + "sk_SK", + "sl_SI", + "sr_Cyrl_RS", + "sr_Latn_RS", + "sv_AX", + "sv_SE", + "sw_CD", + "sw_KE", + "sw_TZ", + "sw_UG", + "ta_IN", + "ta_LK", + "ta_MY", + "ta_SG", + "te_IN", + "th_TH", + "tr_CY", + "tr_TR", + "uk_UA", + "vi_VN", + "zh_CN", + "zh_Hans_HK", + "zh_SG", + "zh_HK", + "zh_TW" + ] + }, + "resourceFilters": [] +} \ No newline at end of file diff --git a/icu/icu4c/source/data/curr/root.txt b/icu/icu4c/source/data/curr/root.txt index f1069d3ecc9..80d98fe52d8 100644 --- a/icu/icu4c/source/data/curr/root.txt +++ b/icu/icu4c/source/data/curr/root.txt @@ -1,213 +1,198 @@ -// © 2016 and later: Unicode, Inc. and others. -// License & terms of use: http://www.unicode.org/copyright.html -// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html#License root{ Currencies{ - AUD{ - "A$", - "AUD", + ETB{ + "ብር", + "ETB", } - BRL{ - "R$", - "BRL", + SAR{ + "ر.س.‏", + "SAR", } - CAD{ - "CA$", - "CAD", + BGN{ + "лв.", + "BGN", } - CNY{ - "CN¥", - "CNY", + BDT{ + "৳", + "BDT", + } + INR{ + "₹", + "INR", } EUR{ "€", "EUR", } + CZK{ + "Kč", + "CZK", + } + DKK{ + "kr.", + "DKK", + } + CHF{ + "CHF", + "CHF", + } + CAD{ + "$", + "CAD", + } GBP{ "£", "GBP", } - HKD{ - "HK$", - "HKD", + USD{ + "$", + "USD", + } + MXN{ + "$", + "MXN", + } + IRR{ + "ریال", + "IRR", + } + PHP{ + "₱", + "PHP", } ILS{ "₪", "ILS", } - INR{ - "₹", - "INR", + BAM{ + "KM", + "BAM", + } + HRK{ + "HRK", + "HRK", + } + HUF{ + "Ft", + "HUF", + } + IDR{ + "Rp", + "IDR", } JPY{ - "JP¥", + "¥", "JPY", } KRW{ "₩", "KRW", } - MXN{ - "MX$", - "MXN", + BND{ + "$", + "BND", } - NZD{ - "NZ$", - "NZD", + MYR{ + "RM", + "MYR", } - TWD{ - "NT$", - "TWD", + SGD{ + "$", + "SGD", } - USD{ - "US$", - "USD", + AWG{ + "Afl.", + "AWG", + } + PLN{ + "zł", + "PLN", + } + BRL{ + "R$", + "BRL", + } + RON{ + "RON", + "RON", + } + RUB{ + "₽", + "RUB", + } + RSD{ + "RSD", + "RSD", + } + SEK{ + "kr", + "SEK", + } + CDF{ + "FC", + "CDF", + } + KES{ + "Ksh", + "KES", + } + TZS{ + "TSh", + "TZS", + } + UGX{ + "USh", + "UGX", + } + LKR{ + "Rs.", + "LKR", + } + THB{ + "฿", + "THB", + } + TRY{ + "₺", + "TRY", + } + UAH{ + "₴", + "UAH", } VND{ "₫", "VND", } - XAF{ - "FCFA", - "XAF", - } - XCD{ - "EC$", - "XCD", + CNY{ + "¥", + "CNY", } - XOF{ - "CFA", - "XOF", + HKD{ + "HK$", + "HKD", } - XPF{ - "CFPF", - "XPF", + TWD{ + "$", + "TWD", } XXX{ "¤", "XXX", } } - Currencies%narrow{ - AFN{"؋"} - AMD{"֏"} - AOA{"Kz"} - ARS{"$"} - AUD{"$"} - AZN{"₼"} - BAM{"KM"} - BBD{"$"} - BDT{"৳"} - BMD{"$"} - BND{"$"} - BOB{"Bs"} - BRL{"R$"} - BSD{"$"} - BWP{"P"} - BYN{"р."} - BZD{"$"} - CAD{"$"} - CLP{"$"} - CNY{"¥"} - COP{"$"} - CRC{"₡"} - CUC{"$"} - CUP{"$"} - CZK{"Kč"} - DKK{"kr"} - DOP{"$"} - EGP{"E£"} - ESP{"₧"} - EUR{"€"} - FJD{"$"} - FKP{"£"} - GBP{"£"} - GEL{"₾"} - GHS{"GH₵"} - GIP{"£"} - GNF{"FG"} - GTQ{"Q"} - GYD{"$"} - HKD{"$"} - HNL{"L"} - HRK{"kn"} - HUF{"Ft"} - IDR{"Rp"} - ILS{"₪"} - INR{"₹"} - ISK{"kr"} - JMD{"$"} - JPY{"¥"} - KHR{"៛"} - KMF{"CF"} - KPW{"₩"} - KRW{"₩"} - KYD{"$"} - KZT{"₸"} - LAK{"₭"} - LBP{"L£"} - LKR{"Rs"} - LRD{"$"} - LTL{"Lt"} - LVL{"Ls"} - MGA{"Ar"} - MMK{"K"} - MNT{"₮"} - MUR{"Rs"} - MXN{"$"} - MYR{"RM"} - NAD{"$"} - NGN{"₦"} - NIO{"C$"} - NOK{"kr"} - NPR{"Rs"} - NZD{"$"} - PHP{"₱"} - PKR{"Rs"} - PLN{"zł"} - PYG{"₲"} - RON{"lei"} - RUB{"₽"} - RUR{"р."} - RWF{"RF"} - SBD{"$"} - SEK{"kr"} - SGD{"$"} - SHP{"£"} - SRD{"$"} - SSP{"£"} - STN{"Db"} - SYP{"£"} - THB{"฿"} - TOP{"T$"} - TRY{"₺"} - TTD{"$"} - TWD{"$"} - UAH{"₴"} - USD{"$"} - UYU{"$"} - VEF{"Bs"} - VND{"₫"} - XCD{"$"} - ZAR{"R"} - ZMW{"ZK"} - } - Currencies%variant{ - TRY{"TL"} - } - CurrencyUnitPatterns{ - other{"{0} {1}"} - } - Version{"38.1"} + Version{"37"} currencySpacing{ afterCurrency{ - currencyMatch{"[[:^S:]&[:^Z:]]"} - insertBetween{" "} + currencyMatch{"[:^S:]"} + insertBetween{" "} surroundingMatch{"[:digit:]"} } beforeCurrency{ - currencyMatch{"[[:^S:]&[:^Z:]]"} - insertBetween{" "} + currencyMatch{"[:^S:]"} + insertBetween{" "} surroundingMatch{"[:digit:]"} } } From 2a5732bd76f1699dc0a0ab8e0a50f872cdbb06ce Mon Sep 17 00:00:00 2001 From: Ilona Tomkowicz <32700855+ilonatommy@users.noreply.github.com> Date: Thu, 1 Sep 2022 11:10:26 +0000 Subject: [PATCH 3/5] Makefile cleanup. --- eng/icu.mk | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/eng/icu.mk b/eng/icu.mk index bb5b454c111..cd32ff3f7c0 100644 --- a/eng/icu.mk +++ b/eng/icu.mk @@ -128,9 +128,10 @@ dictionary: shards: dictionary $(DATA_SHARDS) -# build source+data for the main "icudt" filter and only data for the other filters +BUILD_DATA := lib-icudt data-icudt data-icudt_no_CJK data-icudt_EFIGS data-icudt_CJK +# sharded files are produced only when sharding is enabled ifeq ($(ICU_SHARDING), true) -all: lib-icudt data-icudt data-icudt_no_CJK data-icudt_EFIGS data-icudt_CJK dictionary shards -else -all: lib-icudt data-icudt data-icudt_no_CJK data-icudt_EFIGS data-icudt_CJK +BUILD_DATA := $(BUILD_DATA) shards endif + +all: $(BUILD_DATA) \ No newline at end of file From 112a1d0d481282465eea4fc4a708687182481153 Mon Sep 17 00:00:00 2001 From: Ilona Tomkowicz Date: Mon, 5 Sep 2022 20:46:41 +0200 Subject: [PATCH 4/5] Added missing shards. --- eng/icu.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/icu.mk b/eng/icu.mk index cd32ff3f7c0..c17da4ebf56 100644 --- a/eng/icu.mk +++ b/eng/icu.mk @@ -120,7 +120,7 @@ $(eval $(call TargetBuildTemplate,icudt_no_cjk_zones,icudt_no_cjk_zones)) $(eval $(call TargetBuildTemplate,icudt_no_cjk_locales,icudt_no_cjk_locales)) -ICU_SHARDS := icudt_base icudt_normalization icudt_currency icudt_cjk_zones icudt_no_cjk_zones icudt_efigs_zones icudt_efigs_locales icudt_cjk_locales icudt_no_cjk_locales icudt_efigs_coll icudt_cjk_coll icudt_no_cjk_coll icudt_efigs_full icudt_cjk_full icudt_no_cjk_full icudt_full_full +ICU_SHARDS := icudt_base icudt_normalization icudt_currency icudt_cjk_zones icudt_no_cjk_zones icudt_efigs_zones icudt_full_zones icudt_efigs_locales icudt_cjk_locales icudt_no_cjk_locales icudt_full_locales icudt_efigs_coll icudt_cjk_coll icudt_no_cjk_coll icudt_full_coll icudt_efigs_full icudt_cjk_full icudt_no_cjk_full icudt_full_full DATA_SHARDS := $(addprefix data-, $(ICU_SHARDS)) dictionary: From cd675c4c722c783f28e7b73be6ec733ca414421b Mon Sep 17 00:00:00 2001 From: Ilona Tomkowicz <32700855+ilonatommy@users.noreply.github.com> Date: Tue, 6 Sep 2022 15:29:46 +0000 Subject: [PATCH 5/5] 40 minutes was too little for CI. --- eng/azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/azure-pipelines.yml b/eng/azure-pipelines.yml index 1ea54429720..5b90db02c60 100644 --- a/eng/azure-pipelines.yml +++ b/eng/azure-pipelines.yml @@ -32,7 +32,7 @@ stages: ############ BROWSER BUILD ############ - job: Build_Browser displayName: Browser - timeoutInMinutes: 40 + timeoutInMinutes: 50 pool: ${{ if eq(variables['System.TeamProject'], 'public') }}: vmImage: ubuntu-18.04