summaryrefslogtreecommitdiff
path: root/chromium/third_party/icu
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/icu')
-rw-r--r--chromium/third_party/icu/BUILD.gn1991
-rw-r--r--chromium/third_party/icu/README.chromium20
-rw-r--r--chromium/third_party/icu/common/icudtb.datbin10498464 -> 10518160 bytes
-rw-r--r--chromium/third_party/icu/common/icudtl.datbin10498464 -> 10518160 bytes
-rw-r--r--chromium/third_party/icu/filters/android.json769
-rw-r--r--chromium/third_party/icu/filters/android_extra.json26
-rw-r--r--chromium/third_party/icu/filters/android_small.json721
-rw-r--r--chromium/third_party/icu/filters/cast.json670
-rw-r--r--chromium/third_party/icu/filters/chromeos.json801
-rw-r--r--chromium/third_party/icu/filters/common.json771
-rw-r--r--chromium/third_party/icu/filters/ios.json696
-rw-r--r--chromium/third_party/icu/fuzzers/BUILD.gn74
-rw-r--r--chromium/third_party/icu/ios/icudtl.datbin6364400 -> 6463504 bytes
-rw-r--r--chromium/third_party/icu/patches/grouping_digits.patch89
-rw-r--r--chromium/third_party/icu/patches/localeAddLikely.patch244
-rw-r--r--chromium/third_party/icu/patches/turnOffNewCodeInLocaleCanonical.patch36
-rw-r--r--chromium/third_party/icu/scripts/data_files_to_preserve.txt12
-rw-r--r--chromium/third_party/icu/source/common/locid.cpp4
-rw-r--r--chromium/third_party/icu/source/common/loclikely.cpp103
-rw-r--r--chromium/third_party/icu/source/i18n/number_grouping.cpp14
-rw-r--r--chromium/third_party/icu/source/i18n/unicode/decimfmt.h11
-rw-r--r--chromium/third_party/icu/source/i18n/unicode/unum.h24
22 files changed, 3215 insertions, 3861 deletions
diff --git a/chromium/third_party/icu/BUILD.gn b/chromium/third_party/icu/BUILD.gn
index 1e15ccff4c6..e4b1d43b4e2 100644
--- a/chromium/third_party/icu/BUILD.gn
+++ b/chromium/third_party/icu/BUILD.gn
@@ -118,989 +118,1046 @@ config("icu_code") {
}
}
-component("icui18n") {
- # find source/i18n -maxdepth 1 ! -type d | egrep '\.(c|cpp|h)$' |\
- # sort | sed 's/^\(.*\)$/ "\1",/'
- sources = [
- # I18N_SRC_START
- "source/i18n/alphaindex.cpp",
- "source/i18n/anytrans.cpp",
- "source/i18n/anytrans.h",
- "source/i18n/astro.cpp",
- "source/i18n/astro.h",
- "source/i18n/basictz.cpp",
- "source/i18n/bocsu.cpp",
- "source/i18n/bocsu.h",
- "source/i18n/brktrans.cpp",
- "source/i18n/brktrans.h",
- "source/i18n/buddhcal.cpp",
- "source/i18n/buddhcal.h",
- "source/i18n/calendar.cpp",
- "source/i18n/casetrn.cpp",
- "source/i18n/casetrn.h",
- "source/i18n/cecal.cpp",
- "source/i18n/cecal.h",
- "source/i18n/chnsecal.cpp",
- "source/i18n/chnsecal.h",
- "source/i18n/choicfmt.cpp",
- "source/i18n/coleitr.cpp",
- "source/i18n/collationbuilder.cpp",
- "source/i18n/collationbuilder.h",
- "source/i18n/collationcompare.cpp",
- "source/i18n/collationcompare.h",
- "source/i18n/collation.cpp",
- "source/i18n/collationdatabuilder.cpp",
- "source/i18n/collationdatabuilder.h",
- "source/i18n/collationdata.cpp",
- "source/i18n/collationdata.h",
- "source/i18n/collationdatareader.cpp",
- "source/i18n/collationdatareader.h",
- "source/i18n/collationdatawriter.cpp",
- "source/i18n/collationdatawriter.h",
- "source/i18n/collationfastlatinbuilder.cpp",
- "source/i18n/collationfastlatinbuilder.h",
- "source/i18n/collationfastlatin.cpp",
- "source/i18n/collationfastlatin.h",
- "source/i18n/collationfcd.cpp",
- "source/i18n/collationfcd.h",
- "source/i18n/collation.h",
- "source/i18n/collationiterator.cpp",
- "source/i18n/collationiterator.h",
- "source/i18n/collationkeys.cpp",
- "source/i18n/collationkeys.h",
- "source/i18n/collationroot.cpp",
- "source/i18n/collationrootelements.cpp",
- "source/i18n/collationrootelements.h",
- "source/i18n/collationroot.h",
- "source/i18n/collationruleparser.cpp",
- "source/i18n/collationruleparser.h",
- "source/i18n/collationsets.cpp",
- "source/i18n/collationsets.h",
- "source/i18n/collationsettings.cpp",
- "source/i18n/collationsettings.h",
- "source/i18n/collationtailoring.cpp",
- "source/i18n/collationtailoring.h",
- "source/i18n/collationweights.cpp",
- "source/i18n/collationweights.h",
- "source/i18n/coll.cpp",
- "source/i18n/collunsafe.h",
- "source/i18n/compactdecimalformat.cpp",
- "source/i18n/coptccal.cpp",
- "source/i18n/coptccal.h",
- "source/i18n/cpdtrans.cpp",
- "source/i18n/cpdtrans.h",
- "source/i18n/csdetect.cpp",
- "source/i18n/csdetect.h",
- "source/i18n/csmatch.cpp",
- "source/i18n/csmatch.h",
- "source/i18n/csr2022.cpp",
- "source/i18n/csr2022.h",
- "source/i18n/csrecog.cpp",
- "source/i18n/csrecog.h",
- "source/i18n/csrmbcs.cpp",
- "source/i18n/csrmbcs.h",
- "source/i18n/csrsbcs.cpp",
- "source/i18n/csrsbcs.h",
- "source/i18n/csrucode.cpp",
- "source/i18n/csrucode.h",
- "source/i18n/csrutf8.cpp",
- "source/i18n/csrutf8.h",
- "source/i18n/curramt.cpp",
- "source/i18n/currfmt.cpp",
- "source/i18n/currfmt.h",
- "source/i18n/currpinf.cpp",
- "source/i18n/currunit.cpp",
- "source/i18n/dangical.cpp",
- "source/i18n/dangical.h",
- "source/i18n/datefmt.cpp",
- "source/i18n/dayperiodrules.cpp",
- "source/i18n/dayperiodrules.h",
- "source/i18n/dcfmtsym.cpp",
- "source/i18n/decContext.cpp",
- "source/i18n/decContext.h",
- "source/i18n/decimfmt.cpp",
- "source/i18n/decNumber.cpp",
- "source/i18n/decNumber.h",
- "source/i18n/decNumberLocal.h",
- "source/i18n/double-conversion-bignum.cpp",
- "source/i18n/double-conversion-bignum-dtoa.cpp",
- "source/i18n/double-conversion-bignum-dtoa.h",
- "source/i18n/double-conversion-bignum.h",
- "source/i18n/double-conversion-cached-powers.cpp",
- "source/i18n/double-conversion-cached-powers.h",
- "source/i18n/double-conversion-diy-fp.h",
- "source/i18n/double-conversion-double-to-string.cpp",
- "source/i18n/double-conversion-double-to-string.h",
- "source/i18n/double-conversion-fast-dtoa.cpp",
- "source/i18n/double-conversion-fast-dtoa.h",
- "source/i18n/double-conversion.h",
- "source/i18n/double-conversion-ieee.h",
- "source/i18n/double-conversion-string-to-double.cpp",
- "source/i18n/double-conversion-string-to-double.h",
- "source/i18n/double-conversion-strtod.cpp",
- "source/i18n/double-conversion-strtod.h",
- "source/i18n/double-conversion-utils.h",
- "source/i18n/dtfmtsym.cpp",
- "source/i18n/dt_impl.h",
- "source/i18n/dtitvfmt.cpp",
- "source/i18n/dtitv_impl.h",
- "source/i18n/dtitvinf.cpp",
- "source/i18n/dtptngen.cpp",
- "source/i18n/dtptngen_impl.h",
- "source/i18n/dtrule.cpp",
- "source/i18n/erarules.cpp",
- "source/i18n/erarules.h",
- "source/i18n/esctrn.cpp",
- "source/i18n/esctrn.h",
- "source/i18n/ethpccal.cpp",
- "source/i18n/ethpccal.h",
- "source/i18n/fmtable_cnv.cpp",
- "source/i18n/fmtable.cpp",
- "source/i18n/fmtableimp.h",
- "source/i18n/format.cpp",
- "source/i18n/formatted_string_builder.cpp",
- "source/i18n/formatted_string_builder.h",
- "source/i18n/formattedval_impl.h",
- "source/i18n/formattedval_iterimpl.cpp",
- "source/i18n/formattedval_sbimpl.cpp",
- "source/i18n/formattedvalue.cpp",
- "source/i18n/fphdlimp.cpp",
- "source/i18n/fphdlimp.h",
- "source/i18n/fpositer.cpp",
- "source/i18n/funcrepl.cpp",
- "source/i18n/funcrepl.h",
- "source/i18n/gender.cpp",
- "source/i18n/gregocal.cpp",
- "source/i18n/gregoimp.cpp",
- "source/i18n/gregoimp.h",
- "source/i18n/hebrwcal.cpp",
- "source/i18n/hebrwcal.h",
- "source/i18n/indiancal.cpp",
- "source/i18n/indiancal.h",
- "source/i18n/inputext.cpp",
- "source/i18n/inputext.h",
- "source/i18n/islamcal.cpp",
- "source/i18n/islamcal.h",
- "source/i18n/japancal.cpp",
- "source/i18n/japancal.h",
- "source/i18n/listformatter.cpp",
- "source/i18n/measfmt.cpp",
- "source/i18n/measunit.cpp",
- "source/i18n/measunit_extra.cpp",
- "source/i18n/measunit_impl.h",
- "source/i18n/measure.cpp",
- "source/i18n/msgfmt.cpp",
- "source/i18n/msgfmt_impl.h",
- "source/i18n/name2uni.cpp",
- "source/i18n/name2uni.h",
- "source/i18n/nfrlist.h",
- "source/i18n/nfrs.cpp",
- "source/i18n/nfrs.h",
- "source/i18n/nfrule.cpp",
- "source/i18n/nfrule.h",
- "source/i18n/nfsubs.cpp",
- "source/i18n/nfsubs.h",
- "source/i18n/nortrans.cpp",
- "source/i18n/nortrans.h",
- "source/i18n/nounit.cpp",
- "source/i18n/nultrans.cpp",
- "source/i18n/nultrans.h",
- "source/i18n/number_affixutils.cpp",
- "source/i18n/number_affixutils.h",
- "source/i18n/number_asformat.cpp",
- "source/i18n/number_asformat.h",
- "source/i18n/number_capi.cpp",
- "source/i18n/number_compact.cpp",
- "source/i18n/number_compact.h",
- "source/i18n/number_currencysymbols.cpp",
- "source/i18n/number_currencysymbols.h",
- "source/i18n/number_decimalquantity.cpp",
- "source/i18n/number_decimalquantity.h",
- "source/i18n/number_decimfmtprops.cpp",
- "source/i18n/number_decimfmtprops.h",
- "source/i18n/number_decnum.h",
- "source/i18n/number_fluent.cpp",
- "source/i18n/number_formatimpl.cpp",
- "source/i18n/number_formatimpl.h",
- "source/i18n/number_grouping.cpp",
- "source/i18n/number_integerwidth.cpp",
- "source/i18n/number_longnames.cpp",
- "source/i18n/number_longnames.h",
- "source/i18n/number_mapper.cpp",
- "source/i18n/number_mapper.h",
- "source/i18n/number_microprops.h",
- "source/i18n/number_modifiers.cpp",
- "source/i18n/number_modifiers.h",
- "source/i18n/number_multiplier.cpp",
- "source/i18n/number_multiplier.h",
- "source/i18n/number_notation.cpp",
- "source/i18n/number_output.cpp",
- "source/i18n/number_padding.cpp",
- "source/i18n/number_patternmodifier.cpp",
- "source/i18n/number_patternmodifier.h",
- "source/i18n/number_patternstring.cpp",
- "source/i18n/number_patternstring.h",
- "source/i18n/number_rounding.cpp",
- "source/i18n/number_roundingutils.h",
- "source/i18n/number_scientific.cpp",
- "source/i18n/number_scientific.h",
- "source/i18n/number_skeletons.cpp",
- "source/i18n/number_skeletons.h",
- "source/i18n/number_types.h",
- "source/i18n/number_utils.cpp",
- "source/i18n/number_utils.h",
- "source/i18n/number_utypes.h",
- "source/i18n/numfmt.cpp",
- "source/i18n/numparse_affixes.cpp",
- "source/i18n/numparse_affixes.h",
- "source/i18n/numparse_compositions.cpp",
- "source/i18n/numparse_compositions.h",
- "source/i18n/numparse_currency.cpp",
- "source/i18n/numparse_currency.h",
- "source/i18n/numparse_decimal.cpp",
- "source/i18n/numparse_decimal.h",
- "source/i18n/numparse_impl.cpp",
- "source/i18n/numparse_impl.h",
- "source/i18n/numparse_parsednumber.cpp",
- "source/i18n/numparse_scientific.cpp",
- "source/i18n/numparse_scientific.h",
- "source/i18n/numparse_symbols.cpp",
- "source/i18n/numparse_symbols.h",
- "source/i18n/numparse_types.h",
- "source/i18n/numparse_utils.h",
- "source/i18n/numparse_validators.cpp",
- "source/i18n/numparse_validators.h",
- "source/i18n/numrange_fluent.cpp",
- "source/i18n/numrange_impl.cpp",
- "source/i18n/numrange_impl.h",
- "source/i18n/numsys.cpp",
- "source/i18n/numsys_impl.h",
- "source/i18n/olsontz.cpp",
- "source/i18n/olsontz.h",
- "source/i18n/persncal.cpp",
- "source/i18n/persncal.h",
- "source/i18n/plurfmt.cpp",
- "source/i18n/plurrule.cpp",
- "source/i18n/plurrule_impl.h",
- "source/i18n/quant.cpp",
- "source/i18n/quant.h",
- "source/i18n/quantityformatter.cpp",
- "source/i18n/quantityformatter.h",
- "source/i18n/rbnf.cpp",
- "source/i18n/rbt.cpp",
- "source/i18n/rbt_data.cpp",
- "source/i18n/rbt_data.h",
- "source/i18n/rbt.h",
- "source/i18n/rbt_pars.cpp",
- "source/i18n/rbt_pars.h",
- "source/i18n/rbt_rule.cpp",
- "source/i18n/rbt_rule.h",
- "source/i18n/rbt_set.cpp",
- "source/i18n/rbt_set.h",
- "source/i18n/rbtz.cpp",
- "source/i18n/regexcmp.cpp",
- "source/i18n/regexcmp.h",
- "source/i18n/regexcst.h",
- "source/i18n/regeximp.cpp",
- "source/i18n/regeximp.h",
- "source/i18n/regexst.cpp",
- "source/i18n/regexst.h",
- "source/i18n/regextxt.cpp",
- "source/i18n/regextxt.h",
- "source/i18n/region.cpp",
- "source/i18n/region_impl.h",
- "source/i18n/reldatefmt.cpp",
- "source/i18n/reldtfmt.cpp",
- "source/i18n/reldtfmt.h",
- "source/i18n/rematch.cpp",
- "source/i18n/remtrans.cpp",
- "source/i18n/remtrans.h",
- "source/i18n/repattrn.cpp",
- "source/i18n/rulebasedcollator.cpp",
- "source/i18n/scientificnumberformatter.cpp",
- "source/i18n/scriptset.cpp",
- "source/i18n/scriptset.h",
- "source/i18n/search.cpp",
- "source/i18n/selfmt.cpp",
- "source/i18n/selfmtimpl.h",
- "source/i18n/sharedbreakiterator.cpp",
- "source/i18n/sharedbreakiterator.h",
- "source/i18n/sharedcalendar.h",
- "source/i18n/shareddateformatsymbols.h",
- "source/i18n/sharednumberformat.h",
- "source/i18n/sharedpluralrules.h",
- "source/i18n/simpletz.cpp",
- "source/i18n/smpdtfmt.cpp",
- "source/i18n/smpdtfst.cpp",
- "source/i18n/smpdtfst.h",
- "source/i18n/sortkey.cpp",
- "source/i18n/standardplural.cpp",
- "source/i18n/standardplural.h",
- "source/i18n/string_segment.cpp",
- "source/i18n/string_segment.h",
- "source/i18n/strmatch.cpp",
- "source/i18n/strmatch.h",
- "source/i18n/strrepl.cpp",
- "source/i18n/strrepl.h",
- "source/i18n/stsearch.cpp",
- "source/i18n/taiwncal.cpp",
- "source/i18n/taiwncal.h",
- "source/i18n/timezone.cpp",
- "source/i18n/titletrn.cpp",
- "source/i18n/titletrn.h",
- "source/i18n/tmunit.cpp",
- "source/i18n/tmutamt.cpp",
- "source/i18n/tmutfmt.cpp",
- "source/i18n/tolowtrn.cpp",
- "source/i18n/tolowtrn.h",
- "source/i18n/toupptrn.cpp",
- "source/i18n/toupptrn.h",
- "source/i18n/translit.cpp",
- "source/i18n/transreg.cpp",
- "source/i18n/transreg.h",
- "source/i18n/tridpars.cpp",
- "source/i18n/tridpars.h",
- "source/i18n/tzfmt.cpp",
- "source/i18n/tzgnames.cpp",
- "source/i18n/tzgnames.h",
- "source/i18n/tznames.cpp",
- "source/i18n/tznames_impl.cpp",
- "source/i18n/tznames_impl.h",
- "source/i18n/tzrule.cpp",
- "source/i18n/tztrans.cpp",
- "source/i18n/ucal.cpp",
- "source/i18n/ucln_in.cpp",
- "source/i18n/ucln_in.h",
- "source/i18n/ucol.cpp",
- "source/i18n/ucoleitr.cpp",
- "source/i18n/ucol_imp.h",
- "source/i18n/ucol_res.cpp",
- "source/i18n/ucol_sit.cpp",
- "source/i18n/ucsdet.cpp",
- "source/i18n/udat.cpp",
- "source/i18n/udateintervalformat.cpp",
- "source/i18n/udatpg.cpp",
- "source/i18n/ufieldpositer.cpp",
- "source/i18n/uitercollationiterator.cpp",
- "source/i18n/uitercollationiterator.h",
- "source/i18n/ulistformatter.cpp",
- "source/i18n/ulocdata.cpp",
- "source/i18n/umsg.cpp",
- "source/i18n/umsg_imp.h",
- "source/i18n/unesctrn.cpp",
- "source/i18n/unesctrn.h",
- "source/i18n/uni2name.cpp",
- "source/i18n/uni2name.h",
- "source/i18n/unum.cpp",
- "source/i18n/unumsys.cpp",
- "source/i18n/upluralrules.cpp",
- "source/i18n/uregexc.cpp",
- "source/i18n/uregex.cpp",
- "source/i18n/uregion.cpp",
- "source/i18n/usearch.cpp",
- "source/i18n/uspoof_build.cpp",
- "source/i18n/uspoof_conf.cpp",
- "source/i18n/uspoof_conf.h",
- "source/i18n/uspoof.cpp",
- "source/i18n/uspoof_impl.cpp",
- "source/i18n/uspoof_impl.h",
- "source/i18n/usrchimp.h",
- "source/i18n/utf16collationiterator.cpp",
- "source/i18n/utf16collationiterator.h",
- "source/i18n/utf8collationiterator.cpp",
- "source/i18n/utf8collationiterator.h",
- "source/i18n/utmscale.cpp",
- "source/i18n/utrans.cpp",
- "source/i18n/vtzone.cpp",
- "source/i18n/vzone.cpp",
- "source/i18n/vzone.h",
- "source/i18n/windtfmt.cpp",
- "source/i18n/windtfmt.h",
- "source/i18n/winnmfmt.cpp",
- "source/i18n/winnmfmt.h",
- "source/i18n/wintzimpl.cpp",
- "source/i18n/wintzimpl.h",
- "source/i18n/zonemeta.cpp",
- "source/i18n/zonemeta.h",
- "source/i18n/zrule.cpp",
- "source/i18n/zrule.h",
- "source/i18n/ztrans.cpp",
- "source/i18n/ztrans.h",
- # I18N_SRC_END
- ]
- # ls source/i18n/unicode/*h | sort | sed 's/^\(.*\)$/ "\1",/'
- public = [
- # crbug.com/726654: Make astro.h public until the upstream adds an API.
- "source/i18n/astro.h",
- # I18N_HDR_START
- "source/i18n/unicode/alphaindex.h",
- "source/i18n/unicode/basictz.h",
- "source/i18n/unicode/calendar.h",
- "source/i18n/unicode/choicfmt.h",
- "source/i18n/unicode/coleitr.h",
- "source/i18n/unicode/coll.h",
- "source/i18n/unicode/compactdecimalformat.h",
- "source/i18n/unicode/curramt.h",
- "source/i18n/unicode/currpinf.h",
- "source/i18n/unicode/currunit.h",
- "source/i18n/unicode/datefmt.h",
- "source/i18n/unicode/dcfmtsym.h",
- "source/i18n/unicode/decimfmt.h",
- "source/i18n/unicode/dtfmtsym.h",
- "source/i18n/unicode/dtitvfmt.h",
- "source/i18n/unicode/dtitvinf.h",
- "source/i18n/unicode/dtptngen.h",
- "source/i18n/unicode/dtrule.h",
- "source/i18n/unicode/fieldpos.h",
- "source/i18n/unicode/fmtable.h",
- "source/i18n/unicode/format.h",
- "source/i18n/unicode/formattedvalue.h",
- "source/i18n/unicode/fpositer.h",
- "source/i18n/unicode/gender.h",
- "source/i18n/unicode/gregocal.h",
- "source/i18n/unicode/listformatter.h",
- "source/i18n/unicode/measfmt.h",
- "source/i18n/unicode/measunit.h",
- "source/i18n/unicode/measure.h",
- "source/i18n/unicode/msgfmt.h",
- "source/i18n/unicode/nounit.h",
- "source/i18n/unicode/numberformatter.h",
- "source/i18n/unicode/numberrangeformatter.h",
- "source/i18n/unicode/numfmt.h",
- "source/i18n/unicode/numsys.h",
- "source/i18n/unicode/plurfmt.h",
- "source/i18n/unicode/plurrule.h",
- "source/i18n/unicode/rbnf.h",
- "source/i18n/unicode/rbtz.h",
- "source/i18n/unicode/regex.h",
- "source/i18n/unicode/region.h",
- "source/i18n/unicode/reldatefmt.h",
- "source/i18n/unicode/scientificnumberformatter.h",
- "source/i18n/unicode/search.h",
- "source/i18n/unicode/selfmt.h",
- "source/i18n/unicode/simpletz.h",
- "source/i18n/unicode/smpdtfmt.h",
- "source/i18n/unicode/sortkey.h",
- "source/i18n/unicode/stsearch.h",
- "source/i18n/unicode/tblcoll.h",
- "source/i18n/unicode/timezone.h",
- "source/i18n/unicode/tmunit.h",
- "source/i18n/unicode/tmutamt.h",
- "source/i18n/unicode/tmutfmt.h",
- "source/i18n/unicode/translit.h",
- "source/i18n/unicode/tzfmt.h",
- "source/i18n/unicode/tznames.h",
- "source/i18n/unicode/tzrule.h",
- "source/i18n/unicode/tztrans.h",
- "source/i18n/unicode/ucal.h",
- "source/i18n/unicode/ucoleitr.h",
- "source/i18n/unicode/ucol.h",
- "source/i18n/unicode/ucsdet.h",
- "source/i18n/unicode/udateintervalformat.h",
- "source/i18n/unicode/udat.h",
- "source/i18n/unicode/udatpg.h",
- "source/i18n/unicode/ufieldpositer.h",
- "source/i18n/unicode/uformattable.h",
- "source/i18n/unicode/uformattedvalue.h",
- "source/i18n/unicode/ugender.h",
- "source/i18n/unicode/ulistformatter.h",
- "source/i18n/unicode/ulocdata.h",
- "source/i18n/unicode/umsg.h",
- "source/i18n/unicode/unirepl.h",
- "source/i18n/unicode/unumberformatter.h",
- "source/i18n/unicode/unum.h",
- "source/i18n/unicode/unumsys.h",
- "source/i18n/unicode/upluralrules.h",
- "source/i18n/unicode/uregex.h",
- "source/i18n/unicode/uregion.h",
- "source/i18n/unicode/ureldatefmt.h",
- "source/i18n/unicode/usearch.h",
- "source/i18n/unicode/uspoof.h",
- "source/i18n/unicode/utmscale.h",
- "source/i18n/unicode/utrans.h",
- "source/i18n/unicode/vtzone.h",
- # I18N_HDR_END
- ]
+# Config used to set default visibility to hidden.
+config("visibility_hidden") {
+ cflags = []
+ if (is_mac || is_linux || is_android) {
+ cflags += [ "-fvisibility=hidden" ]
+ }
+}
- defines = [ "U_I18N_IMPLEMENTATION" ]
- deps = [
- ":icuuc",
- ]
+template("generate_icui18n") {
+ assert(defined(invoker.icuuc_deps), "Need the 'icuuc_deps' parameter.")
+ icuuc_deps = invoker.icuuc_deps
+ fuchsia_output_name_postfix = ""
+ if (defined(invoker.fuchsia_output_name_postfix)) {
+ fuchsia_output_name_postfix = invoker.fuchsia_output_name_postfix
+ }
+ extra_configs = []
+ if (defined(invoker.extra_configs)) {
+ extra_configs += invoker.extra_configs
+ }
+ component(target_name) {
+ # find source/i18n -maxdepth 1 ! -type d | egrep '\.(c|cpp|h)$' |\
+ # sort | sed 's/^\(.*\)$/ "\1",/'
+ sources = [
+ # I18N_SRC_START
+ "source/i18n/alphaindex.cpp",
+ "source/i18n/anytrans.cpp",
+ "source/i18n/anytrans.h",
+ "source/i18n/astro.cpp",
+ "source/i18n/astro.h",
+ "source/i18n/basictz.cpp",
+ "source/i18n/bocsu.cpp",
+ "source/i18n/bocsu.h",
+ "source/i18n/brktrans.cpp",
+ "source/i18n/brktrans.h",
+ "source/i18n/buddhcal.cpp",
+ "source/i18n/buddhcal.h",
+ "source/i18n/calendar.cpp",
+ "source/i18n/casetrn.cpp",
+ "source/i18n/casetrn.h",
+ "source/i18n/cecal.cpp",
+ "source/i18n/cecal.h",
+ "source/i18n/chnsecal.cpp",
+ "source/i18n/chnsecal.h",
+ "source/i18n/choicfmt.cpp",
+ "source/i18n/coleitr.cpp",
+ "source/i18n/collationbuilder.cpp",
+ "source/i18n/collationbuilder.h",
+ "source/i18n/collationcompare.cpp",
+ "source/i18n/collationcompare.h",
+ "source/i18n/collation.cpp",
+ "source/i18n/collationdatabuilder.cpp",
+ "source/i18n/collationdatabuilder.h",
+ "source/i18n/collationdata.cpp",
+ "source/i18n/collationdata.h",
+ "source/i18n/collationdatareader.cpp",
+ "source/i18n/collationdatareader.h",
+ "source/i18n/collationdatawriter.cpp",
+ "source/i18n/collationdatawriter.h",
+ "source/i18n/collationfastlatinbuilder.cpp",
+ "source/i18n/collationfastlatinbuilder.h",
+ "source/i18n/collationfastlatin.cpp",
+ "source/i18n/collationfastlatin.h",
+ "source/i18n/collationfcd.cpp",
+ "source/i18n/collationfcd.h",
+ "source/i18n/collation.h",
+ "source/i18n/collationiterator.cpp",
+ "source/i18n/collationiterator.h",
+ "source/i18n/collationkeys.cpp",
+ "source/i18n/collationkeys.h",
+ "source/i18n/collationroot.cpp",
+ "source/i18n/collationrootelements.cpp",
+ "source/i18n/collationrootelements.h",
+ "source/i18n/collationroot.h",
+ "source/i18n/collationruleparser.cpp",
+ "source/i18n/collationruleparser.h",
+ "source/i18n/collationsets.cpp",
+ "source/i18n/collationsets.h",
+ "source/i18n/collationsettings.cpp",
+ "source/i18n/collationsettings.h",
+ "source/i18n/collationtailoring.cpp",
+ "source/i18n/collationtailoring.h",
+ "source/i18n/collationweights.cpp",
+ "source/i18n/collationweights.h",
+ "source/i18n/coll.cpp",
+ "source/i18n/collunsafe.h",
+ "source/i18n/compactdecimalformat.cpp",
+ "source/i18n/coptccal.cpp",
+ "source/i18n/coptccal.h",
+ "source/i18n/cpdtrans.cpp",
+ "source/i18n/cpdtrans.h",
+ "source/i18n/csdetect.cpp",
+ "source/i18n/csdetect.h",
+ "source/i18n/csmatch.cpp",
+ "source/i18n/csmatch.h",
+ "source/i18n/csr2022.cpp",
+ "source/i18n/csr2022.h",
+ "source/i18n/csrecog.cpp",
+ "source/i18n/csrecog.h",
+ "source/i18n/csrmbcs.cpp",
+ "source/i18n/csrmbcs.h",
+ "source/i18n/csrsbcs.cpp",
+ "source/i18n/csrsbcs.h",
+ "source/i18n/csrucode.cpp",
+ "source/i18n/csrucode.h",
+ "source/i18n/csrutf8.cpp",
+ "source/i18n/csrutf8.h",
+ "source/i18n/curramt.cpp",
+ "source/i18n/currfmt.cpp",
+ "source/i18n/currfmt.h",
+ "source/i18n/currpinf.cpp",
+ "source/i18n/currunit.cpp",
+ "source/i18n/dangical.cpp",
+ "source/i18n/dangical.h",
+ "source/i18n/datefmt.cpp",
+ "source/i18n/dayperiodrules.cpp",
+ "source/i18n/dayperiodrules.h",
+ "source/i18n/dcfmtsym.cpp",
+ "source/i18n/decContext.cpp",
+ "source/i18n/decContext.h",
+ "source/i18n/decimfmt.cpp",
+ "source/i18n/decNumber.cpp",
+ "source/i18n/decNumber.h",
+ "source/i18n/decNumberLocal.h",
+ "source/i18n/double-conversion-bignum.cpp",
+ "source/i18n/double-conversion-bignum-dtoa.cpp",
+ "source/i18n/double-conversion-bignum-dtoa.h",
+ "source/i18n/double-conversion-bignum.h",
+ "source/i18n/double-conversion-cached-powers.cpp",
+ "source/i18n/double-conversion-cached-powers.h",
+ "source/i18n/double-conversion-diy-fp.h",
+ "source/i18n/double-conversion-double-to-string.cpp",
+ "source/i18n/double-conversion-double-to-string.h",
+ "source/i18n/double-conversion-fast-dtoa.cpp",
+ "source/i18n/double-conversion-fast-dtoa.h",
+ "source/i18n/double-conversion.h",
+ "source/i18n/double-conversion-ieee.h",
+ "source/i18n/double-conversion-string-to-double.cpp",
+ "source/i18n/double-conversion-string-to-double.h",
+ "source/i18n/double-conversion-strtod.cpp",
+ "source/i18n/double-conversion-strtod.h",
+ "source/i18n/double-conversion-utils.h",
+ "source/i18n/dtfmtsym.cpp",
+ "source/i18n/dt_impl.h",
+ "source/i18n/dtitvfmt.cpp",
+ "source/i18n/dtitv_impl.h",
+ "source/i18n/dtitvinf.cpp",
+ "source/i18n/dtptngen.cpp",
+ "source/i18n/dtptngen_impl.h",
+ "source/i18n/dtrule.cpp",
+ "source/i18n/erarules.cpp",
+ "source/i18n/erarules.h",
+ "source/i18n/esctrn.cpp",
+ "source/i18n/esctrn.h",
+ "source/i18n/ethpccal.cpp",
+ "source/i18n/ethpccal.h",
+ "source/i18n/fmtable_cnv.cpp",
+ "source/i18n/fmtable.cpp",
+ "source/i18n/fmtableimp.h",
+ "source/i18n/format.cpp",
+ "source/i18n/formatted_string_builder.cpp",
+ "source/i18n/formatted_string_builder.h",
+ "source/i18n/formattedval_impl.h",
+ "source/i18n/formattedval_iterimpl.cpp",
+ "source/i18n/formattedval_sbimpl.cpp",
+ "source/i18n/formattedvalue.cpp",
+ "source/i18n/fphdlimp.cpp",
+ "source/i18n/fphdlimp.h",
+ "source/i18n/fpositer.cpp",
+ "source/i18n/funcrepl.cpp",
+ "source/i18n/funcrepl.h",
+ "source/i18n/gender.cpp",
+ "source/i18n/gregocal.cpp",
+ "source/i18n/gregoimp.cpp",
+ "source/i18n/gregoimp.h",
+ "source/i18n/hebrwcal.cpp",
+ "source/i18n/hebrwcal.h",
+ "source/i18n/indiancal.cpp",
+ "source/i18n/indiancal.h",
+ "source/i18n/inputext.cpp",
+ "source/i18n/inputext.h",
+ "source/i18n/islamcal.cpp",
+ "source/i18n/islamcal.h",
+ "source/i18n/japancal.cpp",
+ "source/i18n/japancal.h",
+ "source/i18n/listformatter.cpp",
+ "source/i18n/measfmt.cpp",
+ "source/i18n/measunit.cpp",
+ "source/i18n/measunit_extra.cpp",
+ "source/i18n/measunit_impl.h",
+ "source/i18n/measure.cpp",
+ "source/i18n/msgfmt.cpp",
+ "source/i18n/msgfmt_impl.h",
+ "source/i18n/name2uni.cpp",
+ "source/i18n/name2uni.h",
+ "source/i18n/nfrlist.h",
+ "source/i18n/nfrs.cpp",
+ "source/i18n/nfrs.h",
+ "source/i18n/nfrule.cpp",
+ "source/i18n/nfrule.h",
+ "source/i18n/nfsubs.cpp",
+ "source/i18n/nfsubs.h",
+ "source/i18n/nortrans.cpp",
+ "source/i18n/nortrans.h",
+ "source/i18n/nounit.cpp",
+ "source/i18n/nultrans.cpp",
+ "source/i18n/nultrans.h",
+ "source/i18n/number_affixutils.cpp",
+ "source/i18n/number_affixutils.h",
+ "source/i18n/number_asformat.cpp",
+ "source/i18n/number_asformat.h",
+ "source/i18n/number_capi.cpp",
+ "source/i18n/number_compact.cpp",
+ "source/i18n/number_compact.h",
+ "source/i18n/number_currencysymbols.cpp",
+ "source/i18n/number_currencysymbols.h",
+ "source/i18n/number_decimalquantity.cpp",
+ "source/i18n/number_decimalquantity.h",
+ "source/i18n/number_decimfmtprops.cpp",
+ "source/i18n/number_decimfmtprops.h",
+ "source/i18n/number_decnum.h",
+ "source/i18n/number_fluent.cpp",
+ "source/i18n/number_formatimpl.cpp",
+ "source/i18n/number_formatimpl.h",
+ "source/i18n/number_grouping.cpp",
+ "source/i18n/number_integerwidth.cpp",
+ "source/i18n/number_longnames.cpp",
+ "source/i18n/number_longnames.h",
+ "source/i18n/number_mapper.cpp",
+ "source/i18n/number_mapper.h",
+ "source/i18n/number_microprops.h",
+ "source/i18n/number_modifiers.cpp",
+ "source/i18n/number_modifiers.h",
+ "source/i18n/number_multiplier.cpp",
+ "source/i18n/number_multiplier.h",
+ "source/i18n/number_notation.cpp",
+ "source/i18n/number_output.cpp",
+ "source/i18n/number_padding.cpp",
+ "source/i18n/number_patternmodifier.cpp",
+ "source/i18n/number_patternmodifier.h",
+ "source/i18n/number_patternstring.cpp",
+ "source/i18n/number_patternstring.h",
+ "source/i18n/number_rounding.cpp",
+ "source/i18n/number_roundingutils.h",
+ "source/i18n/number_scientific.cpp",
+ "source/i18n/number_scientific.h",
+ "source/i18n/number_skeletons.cpp",
+ "source/i18n/number_skeletons.h",
+ "source/i18n/number_types.h",
+ "source/i18n/number_utils.cpp",
+ "source/i18n/number_utils.h",
+ "source/i18n/number_utypes.h",
+ "source/i18n/numfmt.cpp",
+ "source/i18n/numparse_affixes.cpp",
+ "source/i18n/numparse_affixes.h",
+ "source/i18n/numparse_compositions.cpp",
+ "source/i18n/numparse_compositions.h",
+ "source/i18n/numparse_currency.cpp",
+ "source/i18n/numparse_currency.h",
+ "source/i18n/numparse_decimal.cpp",
+ "source/i18n/numparse_decimal.h",
+ "source/i18n/numparse_impl.cpp",
+ "source/i18n/numparse_impl.h",
+ "source/i18n/numparse_parsednumber.cpp",
+ "source/i18n/numparse_scientific.cpp",
+ "source/i18n/numparse_scientific.h",
+ "source/i18n/numparse_symbols.cpp",
+ "source/i18n/numparse_symbols.h",
+ "source/i18n/numparse_types.h",
+ "source/i18n/numparse_utils.h",
+ "source/i18n/numparse_validators.cpp",
+ "source/i18n/numparse_validators.h",
+ "source/i18n/numrange_fluent.cpp",
+ "source/i18n/numrange_impl.cpp",
+ "source/i18n/numrange_impl.h",
+ "source/i18n/numsys.cpp",
+ "source/i18n/numsys_impl.h",
+ "source/i18n/olsontz.cpp",
+ "source/i18n/olsontz.h",
+ "source/i18n/persncal.cpp",
+ "source/i18n/persncal.h",
+ "source/i18n/plurfmt.cpp",
+ "source/i18n/plurrule.cpp",
+ "source/i18n/plurrule_impl.h",
+ "source/i18n/quant.cpp",
+ "source/i18n/quant.h",
+ "source/i18n/quantityformatter.cpp",
+ "source/i18n/quantityformatter.h",
+ "source/i18n/rbnf.cpp",
+ "source/i18n/rbt.cpp",
+ "source/i18n/rbt_data.cpp",
+ "source/i18n/rbt_data.h",
+ "source/i18n/rbt.h",
+ "source/i18n/rbt_pars.cpp",
+ "source/i18n/rbt_pars.h",
+ "source/i18n/rbt_rule.cpp",
+ "source/i18n/rbt_rule.h",
+ "source/i18n/rbt_set.cpp",
+ "source/i18n/rbt_set.h",
+ "source/i18n/rbtz.cpp",
+ "source/i18n/regexcmp.cpp",
+ "source/i18n/regexcmp.h",
+ "source/i18n/regexcst.h",
+ "source/i18n/regeximp.cpp",
+ "source/i18n/regeximp.h",
+ "source/i18n/regexst.cpp",
+ "source/i18n/regexst.h",
+ "source/i18n/regextxt.cpp",
+ "source/i18n/regextxt.h",
+ "source/i18n/region.cpp",
+ "source/i18n/region_impl.h",
+ "source/i18n/reldatefmt.cpp",
+ "source/i18n/reldtfmt.cpp",
+ "source/i18n/reldtfmt.h",
+ "source/i18n/rematch.cpp",
+ "source/i18n/remtrans.cpp",
+ "source/i18n/remtrans.h",
+ "source/i18n/repattrn.cpp",
+ "source/i18n/rulebasedcollator.cpp",
+ "source/i18n/scientificnumberformatter.cpp",
+ "source/i18n/scriptset.cpp",
+ "source/i18n/scriptset.h",
+ "source/i18n/search.cpp",
+ "source/i18n/selfmt.cpp",
+ "source/i18n/selfmtimpl.h",
+ "source/i18n/sharedbreakiterator.cpp",
+ "source/i18n/sharedbreakiterator.h",
+ "source/i18n/sharedcalendar.h",
+ "source/i18n/shareddateformatsymbols.h",
+ "source/i18n/sharednumberformat.h",
+ "source/i18n/sharedpluralrules.h",
+ "source/i18n/simpletz.cpp",
+ "source/i18n/smpdtfmt.cpp",
+ "source/i18n/smpdtfst.cpp",
+ "source/i18n/smpdtfst.h",
+ "source/i18n/sortkey.cpp",
+ "source/i18n/standardplural.cpp",
+ "source/i18n/standardplural.h",
+ "source/i18n/string_segment.cpp",
+ "source/i18n/string_segment.h",
+ "source/i18n/strmatch.cpp",
+ "source/i18n/strmatch.h",
+ "source/i18n/strrepl.cpp",
+ "source/i18n/strrepl.h",
+ "source/i18n/stsearch.cpp",
+ "source/i18n/taiwncal.cpp",
+ "source/i18n/taiwncal.h",
+ "source/i18n/timezone.cpp",
+ "source/i18n/titletrn.cpp",
+ "source/i18n/titletrn.h",
+ "source/i18n/tmunit.cpp",
+ "source/i18n/tmutamt.cpp",
+ "source/i18n/tmutfmt.cpp",
+ "source/i18n/tolowtrn.cpp",
+ "source/i18n/tolowtrn.h",
+ "source/i18n/toupptrn.cpp",
+ "source/i18n/toupptrn.h",
+ "source/i18n/translit.cpp",
+ "source/i18n/transreg.cpp",
+ "source/i18n/transreg.h",
+ "source/i18n/tridpars.cpp",
+ "source/i18n/tridpars.h",
+ "source/i18n/tzfmt.cpp",
+ "source/i18n/tzgnames.cpp",
+ "source/i18n/tzgnames.h",
+ "source/i18n/tznames.cpp",
+ "source/i18n/tznames_impl.cpp",
+ "source/i18n/tznames_impl.h",
+ "source/i18n/tzrule.cpp",
+ "source/i18n/tztrans.cpp",
+ "source/i18n/ucal.cpp",
+ "source/i18n/ucln_in.cpp",
+ "source/i18n/ucln_in.h",
+ "source/i18n/ucol.cpp",
+ "source/i18n/ucoleitr.cpp",
+ "source/i18n/ucol_imp.h",
+ "source/i18n/ucol_res.cpp",
+ "source/i18n/ucol_sit.cpp",
+ "source/i18n/ucsdet.cpp",
+ "source/i18n/udat.cpp",
+ "source/i18n/udateintervalformat.cpp",
+ "source/i18n/udatpg.cpp",
+ "source/i18n/ufieldpositer.cpp",
+ "source/i18n/uitercollationiterator.cpp",
+ "source/i18n/uitercollationiterator.h",
+ "source/i18n/ulistformatter.cpp",
+ "source/i18n/ulocdata.cpp",
+ "source/i18n/umsg.cpp",
+ "source/i18n/umsg_imp.h",
+ "source/i18n/unesctrn.cpp",
+ "source/i18n/unesctrn.h",
+ "source/i18n/uni2name.cpp",
+ "source/i18n/uni2name.h",
+ "source/i18n/unum.cpp",
+ "source/i18n/unumsys.cpp",
+ "source/i18n/upluralrules.cpp",
+ "source/i18n/uregexc.cpp",
+ "source/i18n/uregex.cpp",
+ "source/i18n/uregion.cpp",
+ "source/i18n/usearch.cpp",
+ "source/i18n/uspoof_build.cpp",
+ "source/i18n/uspoof_conf.cpp",
+ "source/i18n/uspoof_conf.h",
+ "source/i18n/uspoof.cpp",
+ "source/i18n/uspoof_impl.cpp",
+ "source/i18n/uspoof_impl.h",
+ "source/i18n/usrchimp.h",
+ "source/i18n/utf16collationiterator.cpp",
+ "source/i18n/utf16collationiterator.h",
+ "source/i18n/utf8collationiterator.cpp",
+ "source/i18n/utf8collationiterator.h",
+ "source/i18n/utmscale.cpp",
+ "source/i18n/utrans.cpp",
+ "source/i18n/vtzone.cpp",
+ "source/i18n/vzone.cpp",
+ "source/i18n/vzone.h",
+ "source/i18n/windtfmt.cpp",
+ "source/i18n/windtfmt.h",
+ "source/i18n/winnmfmt.cpp",
+ "source/i18n/winnmfmt.h",
+ "source/i18n/wintzimpl.cpp",
+ "source/i18n/wintzimpl.h",
+ "source/i18n/zonemeta.cpp",
+ "source/i18n/zonemeta.h",
+ "source/i18n/zrule.cpp",
+ "source/i18n/zrule.h",
+ "source/i18n/ztrans.cpp",
+ "source/i18n/ztrans.h",
+ # I18N_SRC_END
+ ]
+ # ls source/i18n/unicode/*h | sort | sed 's/^\(.*\)$/ "\1",/'
+ public = [
+ # crbug.com/726654: Make astro.h public until the upstream adds an API.
+ "source/i18n/astro.h",
+ # I18N_HDR_START
+ "source/i18n/unicode/alphaindex.h",
+ "source/i18n/unicode/basictz.h",
+ "source/i18n/unicode/calendar.h",
+ "source/i18n/unicode/choicfmt.h",
+ "source/i18n/unicode/coleitr.h",
+ "source/i18n/unicode/coll.h",
+ "source/i18n/unicode/compactdecimalformat.h",
+ "source/i18n/unicode/curramt.h",
+ "source/i18n/unicode/currpinf.h",
+ "source/i18n/unicode/currunit.h",
+ "source/i18n/unicode/datefmt.h",
+ "source/i18n/unicode/dcfmtsym.h",
+ "source/i18n/unicode/decimfmt.h",
+ "source/i18n/unicode/dtfmtsym.h",
+ "source/i18n/unicode/dtitvfmt.h",
+ "source/i18n/unicode/dtitvinf.h",
+ "source/i18n/unicode/dtptngen.h",
+ "source/i18n/unicode/dtrule.h",
+ "source/i18n/unicode/fieldpos.h",
+ "source/i18n/unicode/fmtable.h",
+ "source/i18n/unicode/format.h",
+ "source/i18n/unicode/formattedvalue.h",
+ "source/i18n/unicode/fpositer.h",
+ "source/i18n/unicode/gender.h",
+ "source/i18n/unicode/gregocal.h",
+ "source/i18n/unicode/listformatter.h",
+ "source/i18n/unicode/measfmt.h",
+ "source/i18n/unicode/measunit.h",
+ "source/i18n/unicode/measure.h",
+ "source/i18n/unicode/msgfmt.h",
+ "source/i18n/unicode/nounit.h",
+ "source/i18n/unicode/numberformatter.h",
+ "source/i18n/unicode/numberrangeformatter.h",
+ "source/i18n/unicode/numfmt.h",
+ "source/i18n/unicode/numsys.h",
+ "source/i18n/unicode/plurfmt.h",
+ "source/i18n/unicode/plurrule.h",
+ "source/i18n/unicode/rbnf.h",
+ "source/i18n/unicode/rbtz.h",
+ "source/i18n/unicode/regex.h",
+ "source/i18n/unicode/region.h",
+ "source/i18n/unicode/reldatefmt.h",
+ "source/i18n/unicode/scientificnumberformatter.h",
+ "source/i18n/unicode/search.h",
+ "source/i18n/unicode/selfmt.h",
+ "source/i18n/unicode/simpletz.h",
+ "source/i18n/unicode/smpdtfmt.h",
+ "source/i18n/unicode/sortkey.h",
+ "source/i18n/unicode/stsearch.h",
+ "source/i18n/unicode/tblcoll.h",
+ "source/i18n/unicode/timezone.h",
+ "source/i18n/unicode/tmunit.h",
+ "source/i18n/unicode/tmutamt.h",
+ "source/i18n/unicode/tmutfmt.h",
+ "source/i18n/unicode/translit.h",
+ "source/i18n/unicode/tzfmt.h",
+ "source/i18n/unicode/tznames.h",
+ "source/i18n/unicode/tzrule.h",
+ "source/i18n/unicode/tztrans.h",
+ "source/i18n/unicode/ucal.h",
+ "source/i18n/unicode/ucoleitr.h",
+ "source/i18n/unicode/ucol.h",
+ "source/i18n/unicode/ucsdet.h",
+ "source/i18n/unicode/udateintervalformat.h",
+ "source/i18n/unicode/udat.h",
+ "source/i18n/unicode/udatpg.h",
+ "source/i18n/unicode/ufieldpositer.h",
+ "source/i18n/unicode/uformattable.h",
+ "source/i18n/unicode/uformattedvalue.h",
+ "source/i18n/unicode/ugender.h",
+ "source/i18n/unicode/ulistformatter.h",
+ "source/i18n/unicode/ulocdata.h",
+ "source/i18n/unicode/umsg.h",
+ "source/i18n/unicode/unirepl.h",
+ "source/i18n/unicode/unumberformatter.h",
+ "source/i18n/unicode/unum.h",
+ "source/i18n/unicode/unumsys.h",
+ "source/i18n/unicode/upluralrules.h",
+ "source/i18n/unicode/uregex.h",
+ "source/i18n/unicode/uregion.h",
+ "source/i18n/unicode/ureldatefmt.h",
+ "source/i18n/unicode/usearch.h",
+ "source/i18n/unicode/uspoof.h",
+ "source/i18n/unicode/utmscale.h",
+ "source/i18n/unicode/utrans.h",
+ "source/i18n/unicode/vtzone.h",
+ # I18N_HDR_END
+ ]
- # ICU uses RTTI, replace the default "no rtti" config.
- configs -= [
- "//build/config/compiler:no_rtti", # ICU uses RTTI.
- "//build/config/compiler:chromium_code",
- ]
- configs += [
- "//build/config/compiler:rtti",
- "//build/config/compiler:no_chromium_code",
- ]
+ defines = [ "U_I18N_IMPLEMENTATION" ]
+ deps = icuuc_deps
+
+ # ICU uses RTTI, replace the default "no rtti" config.
+ configs -= [
+ "//build/config/compiler:no_rtti", # ICU uses RTTI.
+ "//build/config/compiler:chromium_code",
+ ]
+ configs += [
+ "//build/config/compiler:rtti",
+ "//build/config/compiler:no_chromium_code",
+ ]
- configs += [ ":icu_code" ]
- public_configs = [ ":icu_config" ]
+ configs += [ ":icu_code" ]
+ configs += extra_configs
+ public_configs = [ ":icu_config" ]
- if (is_fuchsia) {
- # Fuchsia puts its own libicui18n.so in /system/lib where we need to put our
- # .so when doing component builds, so we need to give this a different name.
- output_name = "icui18n_cr"
+ if (is_fuchsia) {
+ # Fuchsia puts its own libicui18n.so in /system/lib where we need to put our
+ # .so when doing component builds, so we need to give this a different name.
+ output_name = "icui18n_cr${fuchsia_output_name_postfix}"
+ } else {
+ assert(fuchsia_output_name_postfix == "")
+ }
+
+ # Make icu into a standalone static library. Currently This is only useful on
+ # Chrome OS.
+ if (icu_disable_thin_archive) {
+ configs -= [ "//build/config/compiler:thin_archive" ]
+ complete_static_lib = true
+ }
}
+}
+
+generate_icui18n("icui18n") {
+ extra_configs = [ ]
+ icuuc_deps = [ ":icuuc" ]
+}
- # Make icu into a standalone static library. Currently This is only useful on
- # Chrome OS.
- if (icu_disable_thin_archive) {
- configs -= [ "//build/config/compiler:thin_archive" ]
- complete_static_lib = true
+generate_icui18n("icui18n_hidden_visibility") {
+ extra_configs = [ ":visibility_hidden" ]
+ icuuc_deps = [ ":icuuc_hidden_visibility" ]
+ if (is_fuchsia) {
+ fuchsia_output_name_postfix = "_hidden_visibility"
}
}
-component("icuuc") {
- # find source/common -maxdepth 1 ! -type d | egrep '\.(c|cpp|h)$' |\
- # sort | sed 's/^\(.*\)$/ "\1",/'
- sources = [
- # COMMON_SRC_START
- "source/common/appendable.cpp",
- "source/common/bmpset.cpp",
- "source/common/bmpset.h",
- "source/common/brkeng.cpp",
- "source/common/brkeng.h",
- "source/common/brkiter.cpp",
- "source/common/bytesinkutil.cpp",
- "source/common/bytesinkutil.h",
- "source/common/bytestream.cpp",
- "source/common/bytestriebuilder.cpp",
- "source/common/bytestrie.cpp",
- "source/common/bytestrieiterator.cpp",
- "source/common/caniter.cpp",
- "source/common/capi_helper.h",
- "source/common/characterproperties.cpp",
- "source/common/chariter.cpp",
- "source/common/charstr.cpp",
- "source/common/charstr.h",
- "source/common/cmemory.cpp",
- "source/common/cmemory.h",
- "source/common/cpputils.h",
- "source/common/cstr.cpp",
- "source/common/cstr.h",
- "source/common/cstring.cpp",
- "source/common/cstring.h",
- "source/common/cwchar.cpp",
- "source/common/cwchar.h",
- "source/common/dictbe.cpp",
- "source/common/dictbe.h",
- "source/common/dictionarydata.cpp",
- "source/common/dictionarydata.h",
- "source/common/dtintrv.cpp",
- "source/common/edits.cpp",
- "source/common/errorcode.cpp",
- "source/common/filteredbrk.cpp",
- "source/common/filterednormalizer2.cpp",
- "source/common/hash.h",
- "source/common/icudataver.cpp",
- "source/common/icuplug.cpp",
- "source/common/icuplugimp.h",
- "source/common/loadednormalizer2impl.cpp",
- "source/common/localebuilder.cpp",
- "source/common/localematcher.cpp",
- "source/common/localeprioritylist.cpp",
- "source/common/localeprioritylist.h",
- "source/common/localsvc.h",
- "source/common/locavailable.cpp",
- "source/common/locbased.cpp",
- "source/common/locbased.h",
- "source/common/locdispnames.cpp",
- "source/common/locdistance.cpp",
- "source/common/locdistance.h",
- "source/common/locdspnm.cpp",
- "source/common/locid.cpp",
- "source/common/loclikely.cpp",
- "source/common/loclikelysubtags.cpp",
- "source/common/loclikelysubtags.h",
- "source/common/locmap.cpp",
- "source/common/locmap.h",
- "source/common/locresdata.cpp",
- "source/common/locutil.cpp",
- "source/common/locutil.h",
- "source/common/lsr.cpp",
- "source/common/lsr.h",
- "source/common/messageimpl.h",
- "source/common/messagepattern.cpp",
- "source/common/msvcres.h",
- "source/common/mutex.h",
- "source/common/norm2allmodes.h",
- "source/common/norm2_nfc_data.h",
- "source/common/normalizer2.cpp",
- "source/common/normalizer2impl.cpp",
- "source/common/normalizer2impl.h",
- "source/common/normlzr.cpp",
- "source/common/parsepos.cpp",
- "source/common/patternprops.cpp",
- "source/common/patternprops.h",
- "source/common/pluralmap.cpp",
- "source/common/pluralmap.h",
- "source/common/propname.cpp",
- "source/common/propname_data.h",
- "source/common/propname.h",
- "source/common/propsvec.cpp",
- "source/common/propsvec.h",
- "source/common/punycode.cpp",
- "source/common/punycode.h",
- "source/common/putil.cpp",
- "source/common/putilimp.h",
- "source/common/rbbi_cache.cpp",
- "source/common/rbbi_cache.h",
- "source/common/rbbi.cpp",
- "source/common/rbbidata.cpp",
- "source/common/rbbidata.h",
- "source/common/rbbinode.cpp",
- "source/common/rbbinode.h",
- "source/common/rbbirb.cpp",
- "source/common/rbbirb.h",
- "source/common/rbbirpt.h",
- "source/common/rbbiscan.cpp",
- "source/common/rbbiscan.h",
- "source/common/rbbisetb.cpp",
- "source/common/rbbisetb.h",
- "source/common/rbbistbl.cpp",
- "source/common/rbbitblb.cpp",
- "source/common/rbbitblb.h",
- "source/common/resbund_cnv.cpp",
- "source/common/resbund.cpp",
- "source/common/resource.cpp",
- "source/common/resource.h",
- "source/common/restrace.cpp",
- "source/common/restrace.h",
- "source/common/ruleiter.cpp",
- "source/common/ruleiter.h",
- "source/common/schriter.cpp",
- "source/common/serv.cpp",
- "source/common/serv.h",
- "source/common/servlk.cpp",
- "source/common/servlkf.cpp",
- "source/common/servloc.h",
- "source/common/servls.cpp",
- "source/common/servnotf.cpp",
- "source/common/servnotf.h",
- "source/common/servrbf.cpp",
- "source/common/servslkf.cpp",
- "source/common/sharedobject.cpp",
- "source/common/sharedobject.h",
- "source/common/simpleformatter.cpp",
- "source/common/sprpimpl.h",
- "source/common/static_unicode_sets.cpp",
- "source/common/static_unicode_sets.h",
- "source/common/stringpiece.cpp",
- "source/common/stringtriebuilder.cpp",
- "source/common/uarrsort.cpp",
- "source/common/uarrsort.h",
- "source/common/uassert.h",
- "source/common/ubidi.cpp",
- "source/common/ubidiimp.h",
- "source/common/ubidiln.cpp",
- "source/common/ubidi_props.cpp",
- "source/common/ubidi_props_data.h",
- "source/common/ubidi_props.h",
- "source/common/ubiditransform.cpp",
- "source/common/ubidiwrt.cpp",
- "source/common/ubrk.cpp",
- "source/common/ubrkimpl.h",
- "source/common/ucase.cpp",
- "source/common/ucase.h",
- "source/common/ucasemap.cpp",
- "source/common/ucasemap_imp.h",
- "source/common/ucasemap_titlecase_brkiter.cpp",
- "source/common/ucase_props_data.h",
- "source/common/ucat.cpp",
- "source/common/uchar.cpp",
- "source/common/uchar_props_data.h",
- "source/common/ucharstriebuilder.cpp",
- "source/common/ucharstrie.cpp",
- "source/common/ucharstrieiterator.cpp",
- "source/common/uchriter.cpp",
- "source/common/ucln_cmn.cpp",
- "source/common/ucln_cmn.h",
- "source/common/ucln.h",
- "source/common/ucln_imp.h",
- "source/common/ucmndata.cpp",
- "source/common/ucmndata.h",
- "source/common/ucnv2022.cpp",
- "source/common/ucnv_bld.cpp",
- "source/common/ucnv_bld.h",
- "source/common/ucnvbocu.cpp",
- "source/common/ucnv_cb.cpp",
- "source/common/ucnv_cnv.cpp",
- "source/common/ucnv_cnv.h",
- "source/common/ucnv.cpp",
- "source/common/ucnv_ct.cpp",
- "source/common/ucnvdisp.cpp",
- "source/common/ucnv_err.cpp",
- "source/common/ucnv_ext.cpp",
- "source/common/ucnv_ext.h",
- "source/common/ucnvhz.cpp",
- "source/common/ucnv_imp.h",
- "source/common/ucnv_io.cpp",
- "source/common/ucnv_io.h",
- "source/common/ucnvisci.cpp",
- "source/common/ucnvlat1.cpp",
- "source/common/ucnv_lmb.cpp",
- "source/common/ucnvmbcs.cpp",
- "source/common/ucnvmbcs.h",
- "source/common/ucnvscsu.cpp",
- "source/common/ucnvsel.cpp",
- "source/common/ucnv_set.cpp",
- "source/common/ucnv_u16.cpp",
- "source/common/ucnv_u32.cpp",
- "source/common/ucnv_u7.cpp",
- "source/common/ucnv_u8.cpp",
- "source/common/ucol_data.h",
- "source/common/ucol_swp.cpp",
- "source/common/ucol_swp.h",
- "source/common/ucptrie.cpp",
- "source/common/ucptrie_impl.h",
- "source/common/ucurr.cpp",
- "source/common/ucurrimp.h",
- "source/common/udata.cpp",
- "source/common/udatamem.cpp",
- "source/common/udatamem.h",
- "source/common/udataswp.cpp",
- "source/common/udataswp.h",
- "source/common/uelement.h",
- "source/common/uenum.cpp",
- "source/common/uenumimp.h",
- "source/common/uhash.cpp",
- "source/common/uhash.h",
- "source/common/uhash_us.cpp",
- "source/common/uidna.cpp",
- "source/common/uinit.cpp",
- "source/common/uinvchar.cpp",
- "source/common/uinvchar.h",
- "source/common/uiter.cpp",
- "source/common/ulayout_props.h",
- "source/common/ulist.cpp",
- "source/common/ulist.h",
- "source/common/uloc.cpp",
- "source/common/ulocimp.h",
- "source/common/uloc_keytype.cpp",
- "source/common/uloc_tag.cpp",
- "source/common/umapfile.cpp",
- "source/common/umapfile.h",
- "source/common/umath.cpp",
- "source/common/umutablecptrie.cpp",
- "source/common/umutex.cpp",
- "source/common/umutex.h",
- "source/common/unames.cpp",
- "source/common/unifiedcache.cpp",
- "source/common/unifiedcache.h",
- "source/common/unifilt.cpp",
- "source/common/unifunct.cpp",
- "source/common/uniset_closure.cpp",
- "source/common/uniset.cpp",
- "source/common/uniset_props.cpp",
- "source/common/unisetspan.cpp",
- "source/common/unisetspan.h",
- "source/common/unistrappender.h",
- "source/common/unistr_case.cpp",
- "source/common/unistr_case_locale.cpp",
- "source/common/unistr_cnv.cpp",
- "source/common/unistr.cpp",
- "source/common/unistr_props.cpp",
- "source/common/unistr_titlecase_brkiter.cpp",
- "source/common/unormcmp.cpp",
- "source/common/unorm.cpp",
- "source/common/unormimp.h",
- "source/common/uobject.cpp",
- "source/common/uposixdefs.h",
- "source/common/uprops.cpp",
- "source/common/uprops.h",
- "source/common/uresbund.cpp",
- "source/common/ures_cnv.cpp",
- "source/common/uresdata.cpp",
- "source/common/uresdata.h",
- "source/common/uresimp.h",
- "source/common/ureslocs.h",
- "source/common/usc_impl.cpp",
- "source/common/usc_impl.h",
- "source/common/uscript.cpp",
- "source/common/uscript_props.cpp",
- "source/common/uset.cpp",
- "source/common/uset_imp.h",
- "source/common/usetiter.cpp",
- "source/common/uset_props.cpp",
- "source/common/ushape.cpp",
- "source/common/usprep.cpp",
- "source/common/ustack.cpp",
- "source/common/ustrcase.cpp",
- "source/common/ustrcase_locale.cpp",
- "source/common/ustr_cnv.cpp",
- "source/common/ustr_cnv.h",
- "source/common/ustrenum.cpp",
- "source/common/ustrenum.h",
- "source/common/ustrfmt.cpp",
- "source/common/ustrfmt.h",
- "source/common/ustr_imp.h",
- "source/common/ustring.cpp",
- "source/common/ustr_titlecase_brkiter.cpp",
- "source/common/ustrtrns.cpp",
- "source/common/ustr_wcs.cpp",
- "source/common/utext.cpp",
- "source/common/utf_impl.cpp",
- "source/common/util.cpp",
- "source/common/util.h",
- "source/common/util_props.cpp",
- "source/common/utrace.cpp",
- "source/common/utracimp.h",
- "source/common/utrie2_builder.cpp",
- "source/common/utrie2.cpp",
- "source/common/utrie2.h",
- "source/common/utrie2_impl.h",
- "source/common/utrie.cpp",
- "source/common/utrie.h",
- "source/common/utrie_swap.cpp",
- "source/common/uts46.cpp",
- "source/common/utypeinfo.h",
- "source/common/utypes.cpp",
- "source/common/uvector.cpp",
- "source/common/uvector.h",
- "source/common/uvectr32.cpp",
- "source/common/uvectr32.h",
- "source/common/uvectr64.cpp",
- "source/common/uvectr64.h",
- "source/common/wintz.cpp",
- "source/common/wintz.h",
- # COMMON_SRC_END
- ]
+template("generate_icuuc") {
+ extra_configs = []
+ if (defined(invoker.extra_configs)) {
+ extra_configs += invoker.extra_configs
+ }
+ fuchsia_output_name_postfix = ""
+ if (defined(invoker.fuchsia_output_name_postfix)) {
+ fuchsia_output_name_postfix = invoker.fuchsia_output_name_postfix
+ }
+ component(target_name) {
+ # find source/common -maxdepth 1 ! -type d | egrep '\.(c|cpp|h)$' |\
+ # sort | sed 's/^\(.*\)$/ "\1",/'
+ sources = [
+ # COMMON_SRC_START
+ "source/common/appendable.cpp",
+ "source/common/bmpset.cpp",
+ "source/common/bmpset.h",
+ "source/common/brkeng.cpp",
+ "source/common/brkeng.h",
+ "source/common/brkiter.cpp",
+ "source/common/bytesinkutil.cpp",
+ "source/common/bytesinkutil.h",
+ "source/common/bytestream.cpp",
+ "source/common/bytestriebuilder.cpp",
+ "source/common/bytestrie.cpp",
+ "source/common/bytestrieiterator.cpp",
+ "source/common/caniter.cpp",
+ "source/common/capi_helper.h",
+ "source/common/characterproperties.cpp",
+ "source/common/chariter.cpp",
+ "source/common/charstr.cpp",
+ "source/common/charstr.h",
+ "source/common/cmemory.cpp",
+ "source/common/cmemory.h",
+ "source/common/cpputils.h",
+ "source/common/cstr.cpp",
+ "source/common/cstr.h",
+ "source/common/cstring.cpp",
+ "source/common/cstring.h",
+ "source/common/cwchar.cpp",
+ "source/common/cwchar.h",
+ "source/common/dictbe.cpp",
+ "source/common/dictbe.h",
+ "source/common/dictionarydata.cpp",
+ "source/common/dictionarydata.h",
+ "source/common/dtintrv.cpp",
+ "source/common/edits.cpp",
+ "source/common/errorcode.cpp",
+ "source/common/filteredbrk.cpp",
+ "source/common/filterednormalizer2.cpp",
+ "source/common/hash.h",
+ "source/common/icudataver.cpp",
+ "source/common/icuplug.cpp",
+ "source/common/icuplugimp.h",
+ "source/common/loadednormalizer2impl.cpp",
+ "source/common/localebuilder.cpp",
+ "source/common/localematcher.cpp",
+ "source/common/localeprioritylist.cpp",
+ "source/common/localeprioritylist.h",
+ "source/common/localsvc.h",
+ "source/common/locavailable.cpp",
+ "source/common/locbased.cpp",
+ "source/common/locbased.h",
+ "source/common/locdispnames.cpp",
+ "source/common/locdistance.cpp",
+ "source/common/locdistance.h",
+ "source/common/locdspnm.cpp",
+ "source/common/locid.cpp",
+ "source/common/loclikely.cpp",
+ "source/common/loclikelysubtags.cpp",
+ "source/common/loclikelysubtags.h",
+ "source/common/locmap.cpp",
+ "source/common/locmap.h",
+ "source/common/locresdata.cpp",
+ "source/common/locutil.cpp",
+ "source/common/locutil.h",
+ "source/common/lsr.cpp",
+ "source/common/lsr.h",
+ "source/common/messageimpl.h",
+ "source/common/messagepattern.cpp",
+ "source/common/msvcres.h",
+ "source/common/mutex.h",
+ "source/common/norm2allmodes.h",
+ "source/common/norm2_nfc_data.h",
+ "source/common/normalizer2.cpp",
+ "source/common/normalizer2impl.cpp",
+ "source/common/normalizer2impl.h",
+ "source/common/normlzr.cpp",
+ "source/common/parsepos.cpp",
+ "source/common/patternprops.cpp",
+ "source/common/patternprops.h",
+ "source/common/pluralmap.cpp",
+ "source/common/pluralmap.h",
+ "source/common/propname.cpp",
+ "source/common/propname_data.h",
+ "source/common/propname.h",
+ "source/common/propsvec.cpp",
+ "source/common/propsvec.h",
+ "source/common/punycode.cpp",
+ "source/common/punycode.h",
+ "source/common/putil.cpp",
+ "source/common/putilimp.h",
+ "source/common/rbbi_cache.cpp",
+ "source/common/rbbi_cache.h",
+ "source/common/rbbi.cpp",
+ "source/common/rbbidata.cpp",
+ "source/common/rbbidata.h",
+ "source/common/rbbinode.cpp",
+ "source/common/rbbinode.h",
+ "source/common/rbbirb.cpp",
+ "source/common/rbbirb.h",
+ "source/common/rbbirpt.h",
+ "source/common/rbbiscan.cpp",
+ "source/common/rbbiscan.h",
+ "source/common/rbbisetb.cpp",
+ "source/common/rbbisetb.h",
+ "source/common/rbbistbl.cpp",
+ "source/common/rbbitblb.cpp",
+ "source/common/rbbitblb.h",
+ "source/common/resbund_cnv.cpp",
+ "source/common/resbund.cpp",
+ "source/common/resource.cpp",
+ "source/common/resource.h",
+ "source/common/restrace.cpp",
+ "source/common/restrace.h",
+ "source/common/ruleiter.cpp",
+ "source/common/ruleiter.h",
+ "source/common/schriter.cpp",
+ "source/common/serv.cpp",
+ "source/common/serv.h",
+ "source/common/servlk.cpp",
+ "source/common/servlkf.cpp",
+ "source/common/servloc.h",
+ "source/common/servls.cpp",
+ "source/common/servnotf.cpp",
+ "source/common/servnotf.h",
+ "source/common/servrbf.cpp",
+ "source/common/servslkf.cpp",
+ "source/common/sharedobject.cpp",
+ "source/common/sharedobject.h",
+ "source/common/simpleformatter.cpp",
+ "source/common/sprpimpl.h",
+ "source/common/static_unicode_sets.cpp",
+ "source/common/static_unicode_sets.h",
+ "source/common/stringpiece.cpp",
+ "source/common/stringtriebuilder.cpp",
+ "source/common/uarrsort.cpp",
+ "source/common/uarrsort.h",
+ "source/common/uassert.h",
+ "source/common/ubidi.cpp",
+ "source/common/ubidiimp.h",
+ "source/common/ubidiln.cpp",
+ "source/common/ubidi_props.cpp",
+ "source/common/ubidi_props_data.h",
+ "source/common/ubidi_props.h",
+ "source/common/ubiditransform.cpp",
+ "source/common/ubidiwrt.cpp",
+ "source/common/ubrk.cpp",
+ "source/common/ubrkimpl.h",
+ "source/common/ucase.cpp",
+ "source/common/ucase.h",
+ "source/common/ucasemap.cpp",
+ "source/common/ucasemap_imp.h",
+ "source/common/ucasemap_titlecase_brkiter.cpp",
+ "source/common/ucase_props_data.h",
+ "source/common/ucat.cpp",
+ "source/common/uchar.cpp",
+ "source/common/uchar_props_data.h",
+ "source/common/ucharstriebuilder.cpp",
+ "source/common/ucharstrie.cpp",
+ "source/common/ucharstrieiterator.cpp",
+ "source/common/uchriter.cpp",
+ "source/common/ucln_cmn.cpp",
+ "source/common/ucln_cmn.h",
+ "source/common/ucln.h",
+ "source/common/ucln_imp.h",
+ "source/common/ucmndata.cpp",
+ "source/common/ucmndata.h",
+ "source/common/ucnv2022.cpp",
+ "source/common/ucnv_bld.cpp",
+ "source/common/ucnv_bld.h",
+ "source/common/ucnvbocu.cpp",
+ "source/common/ucnv_cb.cpp",
+ "source/common/ucnv_cnv.cpp",
+ "source/common/ucnv_cnv.h",
+ "source/common/ucnv.cpp",
+ "source/common/ucnv_ct.cpp",
+ "source/common/ucnvdisp.cpp",
+ "source/common/ucnv_err.cpp",
+ "source/common/ucnv_ext.cpp",
+ "source/common/ucnv_ext.h",
+ "source/common/ucnvhz.cpp",
+ "source/common/ucnv_imp.h",
+ "source/common/ucnv_io.cpp",
+ "source/common/ucnv_io.h",
+ "source/common/ucnvisci.cpp",
+ "source/common/ucnvlat1.cpp",
+ "source/common/ucnv_lmb.cpp",
+ "source/common/ucnvmbcs.cpp",
+ "source/common/ucnvmbcs.h",
+ "source/common/ucnvscsu.cpp",
+ "source/common/ucnvsel.cpp",
+ "source/common/ucnv_set.cpp",
+ "source/common/ucnv_u16.cpp",
+ "source/common/ucnv_u32.cpp",
+ "source/common/ucnv_u7.cpp",
+ "source/common/ucnv_u8.cpp",
+ "source/common/ucol_data.h",
+ "source/common/ucol_swp.cpp",
+ "source/common/ucol_swp.h",
+ "source/common/ucptrie.cpp",
+ "source/common/ucptrie_impl.h",
+ "source/common/ucurr.cpp",
+ "source/common/ucurrimp.h",
+ "source/common/udata.cpp",
+ "source/common/udatamem.cpp",
+ "source/common/udatamem.h",
+ "source/common/udataswp.cpp",
+ "source/common/udataswp.h",
+ "source/common/uelement.h",
+ "source/common/uenum.cpp",
+ "source/common/uenumimp.h",
+ "source/common/uhash.cpp",
+ "source/common/uhash.h",
+ "source/common/uhash_us.cpp",
+ "source/common/uidna.cpp",
+ "source/common/uinit.cpp",
+ "source/common/uinvchar.cpp",
+ "source/common/uinvchar.h",
+ "source/common/uiter.cpp",
+ "source/common/ulayout_props.h",
+ "source/common/ulist.cpp",
+ "source/common/ulist.h",
+ "source/common/uloc.cpp",
+ "source/common/ulocimp.h",
+ "source/common/uloc_keytype.cpp",
+ "source/common/uloc_tag.cpp",
+ "source/common/umapfile.cpp",
+ "source/common/umapfile.h",
+ "source/common/umath.cpp",
+ "source/common/umutablecptrie.cpp",
+ "source/common/umutex.cpp",
+ "source/common/umutex.h",
+ "source/common/unames.cpp",
+ "source/common/unifiedcache.cpp",
+ "source/common/unifiedcache.h",
+ "source/common/unifilt.cpp",
+ "source/common/unifunct.cpp",
+ "source/common/uniset_closure.cpp",
+ "source/common/uniset.cpp",
+ "source/common/uniset_props.cpp",
+ "source/common/unisetspan.cpp",
+ "source/common/unisetspan.h",
+ "source/common/unistrappender.h",
+ "source/common/unistr_case.cpp",
+ "source/common/unistr_case_locale.cpp",
+ "source/common/unistr_cnv.cpp",
+ "source/common/unistr.cpp",
+ "source/common/unistr_props.cpp",
+ "source/common/unistr_titlecase_brkiter.cpp",
+ "source/common/unormcmp.cpp",
+ "source/common/unorm.cpp",
+ "source/common/unormimp.h",
+ "source/common/uobject.cpp",
+ "source/common/uposixdefs.h",
+ "source/common/uprops.cpp",
+ "source/common/uprops.h",
+ "source/common/uresbund.cpp",
+ "source/common/ures_cnv.cpp",
+ "source/common/uresdata.cpp",
+ "source/common/uresdata.h",
+ "source/common/uresimp.h",
+ "source/common/ureslocs.h",
+ "source/common/usc_impl.cpp",
+ "source/common/usc_impl.h",
+ "source/common/uscript.cpp",
+ "source/common/uscript_props.cpp",
+ "source/common/uset.cpp",
+ "source/common/uset_imp.h",
+ "source/common/usetiter.cpp",
+ "source/common/uset_props.cpp",
+ "source/common/ushape.cpp",
+ "source/common/usprep.cpp",
+ "source/common/ustack.cpp",
+ "source/common/ustrcase.cpp",
+ "source/common/ustrcase_locale.cpp",
+ "source/common/ustr_cnv.cpp",
+ "source/common/ustr_cnv.h",
+ "source/common/ustrenum.cpp",
+ "source/common/ustrenum.h",
+ "source/common/ustrfmt.cpp",
+ "source/common/ustrfmt.h",
+ "source/common/ustr_imp.h",
+ "source/common/ustring.cpp",
+ "source/common/ustr_titlecase_brkiter.cpp",
+ "source/common/ustrtrns.cpp",
+ "source/common/ustr_wcs.cpp",
+ "source/common/utext.cpp",
+ "source/common/utf_impl.cpp",
+ "source/common/util.cpp",
+ "source/common/util.h",
+ "source/common/util_props.cpp",
+ "source/common/utrace.cpp",
+ "source/common/utracimp.h",
+ "source/common/utrie2_builder.cpp",
+ "source/common/utrie2.cpp",
+ "source/common/utrie2.h",
+ "source/common/utrie2_impl.h",
+ "source/common/utrie.cpp",
+ "source/common/utrie.h",
+ "source/common/utrie_swap.cpp",
+ "source/common/uts46.cpp",
+ "source/common/utypeinfo.h",
+ "source/common/utypes.cpp",
+ "source/common/uvector.cpp",
+ "source/common/uvector.h",
+ "source/common/uvectr32.cpp",
+ "source/common/uvectr32.h",
+ "source/common/uvectr64.cpp",
+ "source/common/uvectr64.h",
+ "source/common/wintz.cpp",
+ "source/common/wintz.h",
+ # COMMON_SRC_END
+ ]
- # ls source/common/unicode/*h | sort | sed 's/^\(.*\)$/ "\1",/'
- public = [
- # COMMON_HDR_START
- "source/common/unicode/appendable.h",
- "source/common/unicode/brkiter.h",
- "source/common/unicode/bytestream.h",
- "source/common/unicode/bytestriebuilder.h",
- "source/common/unicode/bytestrie.h",
- "source/common/unicode/caniter.h",
- "source/common/unicode/casemap.h",
- "source/common/unicode/char16ptr.h",
- "source/common/unicode/chariter.h",
- "source/common/unicode/dbbi.h",
- "source/common/unicode/docmain.h",
- "source/common/unicode/dtintrv.h",
- "source/common/unicode/edits.h",
- "source/common/unicode/enumset.h",
- "source/common/unicode/errorcode.h",
- "source/common/unicode/filteredbrk.h",
- "source/common/unicode/icudataver.h",
- "source/common/unicode/icuplug.h",
- "source/common/unicode/idna.h",
- "source/common/unicode/localebuilder.h",
- "source/common/unicode/localematcher.h",
- "source/common/unicode/localpointer.h",
- "source/common/unicode/locdspnm.h",
- "source/common/unicode/locid.h",
- "source/common/unicode/messagepattern.h",
- "source/common/unicode/normalizer2.h",
- "source/common/unicode/normlzr.h",
- "source/common/unicode/parseerr.h",
- "source/common/unicode/parsepos.h",
- "source/common/unicode/platform.h",
- "source/common/unicode/ptypes.h",
- "source/common/unicode/putil.h",
- "source/common/unicode/rbbi.h",
- "source/common/unicode/rep.h",
- "source/common/unicode/resbund.h",
- "source/common/unicode/schriter.h",
- "source/common/unicode/simpleformatter.h",
- "source/common/unicode/std_string.h",
- "source/common/unicode/strenum.h",
- "source/common/unicode/stringoptions.h",
- "source/common/unicode/stringpiece.h",
- "source/common/unicode/stringtriebuilder.h",
- "source/common/unicode/symtable.h",
- "source/common/unicode/ubidi.h",
- "source/common/unicode/ubiditransform.h",
- "source/common/unicode/ubrk.h",
- "source/common/unicode/ucasemap.h",
- "source/common/unicode/ucat.h",
- "source/common/unicode/uchar.h",
- "source/common/unicode/ucharstriebuilder.h",
- "source/common/unicode/ucharstrie.h",
- "source/common/unicode/uchriter.h",
- "source/common/unicode/uclean.h",
- "source/common/unicode/ucnv_cb.h",
- "source/common/unicode/ucnv_err.h",
- "source/common/unicode/ucnv.h",
- "source/common/unicode/ucnvsel.h",
- "source/common/unicode/uconfig.h",
- "source/common/unicode/ucpmap.h",
- "source/common/unicode/ucptrie.h",
- "source/common/unicode/ucurr.h",
- "source/common/unicode/udata.h",
- "source/common/unicode/udisplaycontext.h",
- "source/common/unicode/uenum.h",
- "source/common/unicode/uidna.h",
- "source/common/unicode/uiter.h",
- "source/common/unicode/uldnames.h",
- "source/common/unicode/uloc.h",
- "source/common/unicode/umachine.h",
- "source/common/unicode/umisc.h",
- "source/common/unicode/umutablecptrie.h",
- "source/common/unicode/unifilt.h",
- "source/common/unicode/unifunct.h",
- "source/common/unicode/unimatch.h",
- "source/common/unicode/uniset.h",
- "source/common/unicode/unistr.h",
- "source/common/unicode/unorm2.h",
- "source/common/unicode/unorm.h",
- "source/common/unicode/uobject.h",
- "source/common/unicode/urename.h",
- "source/common/unicode/urep.h",
- "source/common/unicode/ures.h",
- "source/common/unicode/uscript.h",
- "source/common/unicode/uset.h",
- "source/common/unicode/usetiter.h",
- "source/common/unicode/ushape.h",
- "source/common/unicode/usprep.h",
- "source/common/unicode/ustring.h",
- "source/common/unicode/ustringtrie.h",
- "source/common/unicode/utext.h",
- "source/common/unicode/utf16.h",
- "source/common/unicode/utf32.h",
- "source/common/unicode/utf8.h",
- "source/common/unicode/utf.h",
- "source/common/unicode/utf_old.h",
- "source/common/unicode/utrace.h",
- "source/common/unicode/utypes.h",
- "source/common/unicode/uvernum.h",
- "source/common/unicode/uversion.h",
- # COMMON_HDR_END
- ]
- defines = [ "U_COMMON_IMPLEMENTATION" ]
- deps = [
- ":icudata",
- ]
+ # ls source/common/unicode/*h | sort | sed 's/^\(.*\)$/ "\1",/'
+ public = [
+ # COMMON_HDR_START
+ "source/common/unicode/appendable.h",
+ "source/common/unicode/brkiter.h",
+ "source/common/unicode/bytestream.h",
+ "source/common/unicode/bytestriebuilder.h",
+ "source/common/unicode/bytestrie.h",
+ "source/common/unicode/caniter.h",
+ "source/common/unicode/casemap.h",
+ "source/common/unicode/char16ptr.h",
+ "source/common/unicode/chariter.h",
+ "source/common/unicode/dbbi.h",
+ "source/common/unicode/docmain.h",
+ "source/common/unicode/dtintrv.h",
+ "source/common/unicode/edits.h",
+ "source/common/unicode/enumset.h",
+ "source/common/unicode/errorcode.h",
+ "source/common/unicode/filteredbrk.h",
+ "source/common/unicode/icudataver.h",
+ "source/common/unicode/icuplug.h",
+ "source/common/unicode/idna.h",
+ "source/common/unicode/localebuilder.h",
+ "source/common/unicode/localematcher.h",
+ "source/common/unicode/localpointer.h",
+ "source/common/unicode/locdspnm.h",
+ "source/common/unicode/locid.h",
+ "source/common/unicode/messagepattern.h",
+ "source/common/unicode/normalizer2.h",
+ "source/common/unicode/normlzr.h",
+ "source/common/unicode/parseerr.h",
+ "source/common/unicode/parsepos.h",
+ "source/common/unicode/platform.h",
+ "source/common/unicode/ptypes.h",
+ "source/common/unicode/putil.h",
+ "source/common/unicode/rbbi.h",
+ "source/common/unicode/rep.h",
+ "source/common/unicode/resbund.h",
+ "source/common/unicode/schriter.h",
+ "source/common/unicode/simpleformatter.h",
+ "source/common/unicode/std_string.h",
+ "source/common/unicode/strenum.h",
+ "source/common/unicode/stringoptions.h",
+ "source/common/unicode/stringpiece.h",
+ "source/common/unicode/stringtriebuilder.h",
+ "source/common/unicode/symtable.h",
+ "source/common/unicode/ubidi.h",
+ "source/common/unicode/ubiditransform.h",
+ "source/common/unicode/ubrk.h",
+ "source/common/unicode/ucasemap.h",
+ "source/common/unicode/ucat.h",
+ "source/common/unicode/uchar.h",
+ "source/common/unicode/ucharstriebuilder.h",
+ "source/common/unicode/ucharstrie.h",
+ "source/common/unicode/uchriter.h",
+ "source/common/unicode/uclean.h",
+ "source/common/unicode/ucnv_cb.h",
+ "source/common/unicode/ucnv_err.h",
+ "source/common/unicode/ucnv.h",
+ "source/common/unicode/ucnvsel.h",
+ "source/common/unicode/uconfig.h",
+ "source/common/unicode/ucpmap.h",
+ "source/common/unicode/ucptrie.h",
+ "source/common/unicode/ucurr.h",
+ "source/common/unicode/udata.h",
+ "source/common/unicode/udisplaycontext.h",
+ "source/common/unicode/uenum.h",
+ "source/common/unicode/uidna.h",
+ "source/common/unicode/uiter.h",
+ "source/common/unicode/uldnames.h",
+ "source/common/unicode/uloc.h",
+ "source/common/unicode/umachine.h",
+ "source/common/unicode/umisc.h",
+ "source/common/unicode/umutablecptrie.h",
+ "source/common/unicode/unifilt.h",
+ "source/common/unicode/unifunct.h",
+ "source/common/unicode/unimatch.h",
+ "source/common/unicode/uniset.h",
+ "source/common/unicode/unistr.h",
+ "source/common/unicode/unorm2.h",
+ "source/common/unicode/unorm.h",
+ "source/common/unicode/uobject.h",
+ "source/common/unicode/urename.h",
+ "source/common/unicode/urep.h",
+ "source/common/unicode/ures.h",
+ "source/common/unicode/uscript.h",
+ "source/common/unicode/uset.h",
+ "source/common/unicode/usetiter.h",
+ "source/common/unicode/ushape.h",
+ "source/common/unicode/usprep.h",
+ "source/common/unicode/ustring.h",
+ "source/common/unicode/ustringtrie.h",
+ "source/common/unicode/utext.h",
+ "source/common/unicode/utf16.h",
+ "source/common/unicode/utf32.h",
+ "source/common/unicode/utf8.h",
+ "source/common/unicode/utf.h",
+ "source/common/unicode/utf_old.h",
+ "source/common/unicode/utrace.h",
+ "source/common/unicode/utypes.h",
+ "source/common/unicode/uvernum.h",
+ "source/common/unicode/uversion.h",
+ # COMMON_HDR_END
+ ]
+ defines = [ "U_COMMON_IMPLEMENTATION" ]
+ deps = [
+ ":icudata",
+ ]
- configs -= [
- "//build/config/compiler:no_rtti", # ICU uses RTTI.
- "//build/config/compiler:chromium_code",
- ]
- configs += [
- "//build/config/compiler:rtti",
- "//build/config/compiler:no_chromium_code",
- ]
- configs += [ ":icu_code" ]
+ configs -= [
+ "//build/config/compiler:no_rtti", # ICU uses RTTI.
+ "//build/config/compiler:chromium_code",
+ ]
+ configs += [
+ "//build/config/compiler:rtti",
+ "//build/config/compiler:no_chromium_code",
+ ]
+ configs += [ ":icu_code" ]
+ configs += extra_configs
- public_configs = [ ":icu_config" ]
+ public_configs = [ ":icu_config" ]
- if (icu_use_data_file) {
- sources += [ "source/stubdata/stubdata.cpp" ]
- }
+ if (icu_use_data_file) {
+ sources += [ "source/stubdata/stubdata.cpp" ]
+ }
- defines += [ "U_ICUDATAENTRY_IN_COMMON" ]
+ defines += [ "U_ICUDATAENTRY_IN_COMMON" ]
+ if (is_fuchsia) {
+ # Fuchsia puts its own libicuuc.so in /system/lib where we need to put our
+ # .so when doing component builds, so we need to give this a different name.
+ output_name = "icuuc_cr${fuchsia_output_name_postfix}"
+ } else {
+ assert(fuchsia_output_name_postfix == "")
+ }
+ }
+}
+
+generate_icuuc("icuuc") {
+ extra_configs = [ ]
+}
+generate_icuuc("icuuc_hidden_visibility") {
+ extra_configs = [ ":visibility_hidden" ]
if (is_fuchsia) {
- # Fuchsia puts its own libicuuc.so in /system/lib where we need to put our
- # .so when doing component builds, so we need to give this a different name.
- output_name = "icuuc_cr"
+ fuchsia_output_name_postfix = "_hidden_visibility"
}
}
diff --git a/chromium/third_party/icu/README.chromium b/chromium/third_party/icu/README.chromium
index 30b85d3054f..e0e54291ff6 100644
--- a/chromium/third_party/icu/README.chromium
+++ b/chromium/third_party/icu/README.chromium
@@ -227,3 +227,23 @@ D. Local Modifications
7. Enable tracing of file but not resource, only for Chromium
to reduce performance impact/risk.
- patches/restrace.patch
+
+8. #if 0 new code in Locale::createCanonical which added in
+ https://github.com/unicode-org/icu/pull/951 that use ures and caused
+ 30ms startup performance regression.
+ - patches/turnOffNewCodeInLocaleCanonical.patch
+ https://unicode-org.atlassian.net/browse/ICU-21139
+
+9. Fix Locale addLikelySubtag
+ - patches/localeAddLikely.patch
+ - upstreawm PR:
+ https://github.com/unicode-org/icu/pull/1140
+ - upstream bug:
+ https://unicode-org.atlassian.net/browse/ICU-13786
+
+10. Add ability to use locale default for minimum grouping digits
+ - patches/grouping_digits.patch
+ - upstream PR:
+ https://github.com/unicode-org/icu/pull/1152
+ - upbstream bug:
+ https://unicode-org.atlassian.net/browse/ICU-21109
diff --git a/chromium/third_party/icu/common/icudtb.dat b/chromium/third_party/icu/common/icudtb.dat
index b0bd4dba531..e8a0bfabd19 100644
--- a/chromium/third_party/icu/common/icudtb.dat
+++ b/chromium/third_party/icu/common/icudtb.dat
Binary files differ
diff --git a/chromium/third_party/icu/common/icudtl.dat b/chromium/third_party/icu/common/icudtl.dat
index 3464a0814f1..effa45be8dc 100644
--- a/chromium/third_party/icu/common/icudtl.dat
+++ b/chromium/third_party/icu/common/icudtl.dat
Binary files differ
diff --git a/chromium/third_party/icu/filters/android.json b/chromium/third_party/icu/filters/android.json
index 4e5a31900fb..b3ede7b9d5a 100644
--- a/chromium/third_party/icu/filters/android.json
+++ b/chromium/third_party/icu/filters/android.json
@@ -6,231 +6,146 @@
"collationUCAData": "implicithan",
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/locales/reslocal.mk?rcl=797b7c
+// Includes the items from GENRB_ALIAS_SOURCE and GENRB_SOURCE
"localeFilter": {
+ "filterType": "language",
"whitelist": [
// Need to explicitly add "root"
"root",
-// # All aliases (to not be included under 'installed'), but not including root.
-// GENRB_ALIAS_SOURCE = $(GENRB_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_SG.txt\
-// no.txt in.txt iw.txt tl.txt sh.txt
- "zh_CN","zh_TW","zh_HK","zh_SG",
- "no","in","iw","tl","sh",
-// # Ordinary resources
-// GENRB_SOURCE =\
-// .......
- "am",
- "ar","ar_001","ar_AE","ar_BH","ar_DJ",
- "ar_DZ","ar_EG","ar_EH","ar_ER","ar_IL",
- "ar_IQ","ar_JO","ar_KM","ar_KW","ar_LB",
- "ar_LY","ar_MA","ar_MR","ar_OM","ar_PS",
- "ar_QA","ar_SA","ar_SD","ar_SO","ar_SS",
- "ar_SY","ar_TD","ar_TN","ar_YE",
- "bg",
- "bn",
- "ca",
- "cs",
- "da",
- "de","de_AT","de_BE","de_CH","de_IT","de_LI","de_LU",
- "el",
- "en","en_001","en_150","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_DG","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_US_POSIX","en_VC","en_VG","en_VI",
- "en_VU","en_WS","en_ZA","en_ZM","en_ZW",
- "es","es_ES","es_419","es_AR","es_MX","es_US",
- "es_BO","es_BR","es_BZ","es_CL","es_CO","es_CR","es_CU",
- "es_DO","es_EA","es_EC","es_GQ","es_GT","es_HN","es_IC",
- "es_NI","es_PA","es_PE","es_PH","es_PR","es_PY","es_SV",
- "es_UY","es_VE",
- "et",
- "fa",
- "fi",
- "fil",
- "fr","fr_BE","fr_BF","fr_BI",
- "fr_BJ","fr_BL","fr_CA","fr_CD","fr_CF",
- "fr_CG","fr_CH","fr_CI","fr_CM","fr_DJ",
- "fr_DZ","fr_FR","fr_GA","fr_GF","fr_GN",
- "fr_GP","fr_GQ","fr_HT","fr_KM","fr_LU",
- "fr_MA","fr_MC","fr_MF","fr_MG","fr_ML",
- "fr_MQ","fr_MR","fr_MU","fr_NC","fr_NE",
- "fr_PF","fr_PM","fr_RE","fr_RW","fr_SC",
- "fr_SN","fr_SY","fr_TD","fr_TG","fr_TN",
- "fr_VU","fr_WF","fr_YT",
- "gu",
- "he",
- "hi",
- "hr",
- "hr_BA",
- "hu",
- "id",
- "it","it_CH",
- "ja",
- "kn",
- "ko",
- "lt",
- "lv",
- "ml",
- "mr",
- "ms",
- "nb",
- "nl","nl_AW","nl_BE","nl_BQ","nl_CW","nl_NL",
- "nl_SR","nl_SX",
- "pl",
- "pt","pt_AO","pt_BR","pt_CH","pt_CV",
- "pt_GQ","pt_GW","pt_LU","pt_MO","pt_MZ",
- "pt_PT","pt_ST","pt_TL",
- "ro",
- "ru","ru_BY","ru_KG","ru_KZ","ru_MD","ru_RU","ru_UA",
- "sk",
- "sl",
- "sr","sr_BA","sr_CS","sr_ME","sr_RS","sr_XK",
- "sr_Cyrl","sr_Cyrl_BA","sr_Cyrl_CS","sr_Cyrl_ME",
- "sr_Cyrl_RS","sr_Cyrl_XK",
- "sr_Latn","sr_Latn_BA","sr_Latn_CS","sr_Latn_ME",
- "sr_Latn_RS","sr_Latn_XK",
- "sv",
- "sw","sw_CD","sw_KE",
- "ta",
- "te",
- "th",
- "tr",
- "uk",
- "vi",
- "zh","zh_Hans","zh_Hans_CN","zh_Hans_SG",
- "zh_Hant","zh_Hant_TW","zh_Hant_HK",
+
"af",
"ak",
+ "am",
"an",
+ "ar",
"ast",
"az",
"be",
"bem",
+ "bg",
+ "bn",
"br",
"bs",
+ "ca",
"ckb",
+ "cs",
"cy",
+ "da",
+ "de",
"ee",
+ "el",
+ "en",
"eo",
+ "es",
+ "et",
"eu",
+ "fa",
+ "fi",
+ "fil",
"fo",
+ "fr",
"ga",
"gl",
+ "gu",
"ha",
"haw",
+ "he",
+ "hi",
+ "hr",
+ "hu",
"hy",
+ "id",
"ig",
+ "in",
"is",
+ "it",
+ "iw",
+ "ja",
"ka",
"kk",
"km",
+ "kn",
+ "ko",
"ku",
"ky",
"lg",
"ln",
"lo",
+ "lt",
+ "lv",
"mfe",
"mg",
"mk",
+ "ml",
"mn",
- "mo","ro_MD",
+ "mo",
+ "mr",
+ "ms",
"mt",
"my",
+ "nb",
"ne",
+ "nl",
"nn",
+ "no",
"nyn",
"om",
"or",
"pa",
+ "pl",
"ps",
+ "pt",
"rm",
"rn",
+ "ro",
+ "ru",
"rw",
+ "sh",
"si",
+ "sk",
+ "sl",
"sn",
"so",
"sq",
+ "sr",
+ "sv",
+ "sw",
+ "ta",
+ "te",
"tg",
+ "th",
"ti",
+ "tl",
"to",
+ "tr",
+ "uk",
"ur",
"uz",
+ "vi",
"wa",
"yo",
+ "zh",
"zu"
]
},
"featureFilters": {
-// Based on the ICU63 version of
-// https://cs.chromium.org/chromium/src/third_party/icu/source/data/brkitr/brklocal.mk?rcl=797b7c
-// # List of dictionary files (dict).
-// BRK_DICT_SOURCE = burmesedict.txt cjdict.txt khmerdict.txt laodict.txt\
-// thaidict.txt
"brkitr_dictionaries": {
- "whitelist": [
- "burmesedict",
+ "blacklist": [
// Filtered by android/brkitr.patch "cjdict",
- "khmerdict",
- "laodict",
- "thaidict"
+ "cjdict"
]
},
-// # List of break iterator files (brk).
-// BRK_SOURCE = char.txt line.txt line_loose.txt line_loose_cj.txt\
-// line_normal.txt line_normal_cj.txt sent.txt sent_el.txt title.txt\
-// word.txt
"brkitr_rules": {
- "whitelist": [
- "char",
- "line",
- "line_loose",
- "line_loose_cj",
- "line_normal",
- "line_normal_cj",
- "sent",
- "sent_el",
+ "blacklist": [
+// Exclude line_cj till we upgrade to 68.1 due to size impact.
+ "line_cj",
"title",
- "word",
-// Added by android/brkitr.patch
- "word_ja"
+ "word_POSIX"
]
},
-// # Ordinary resources
-// BRK_RES_SOURCE = de.txt el.txt en.txt en_US.txt\
-// es.txt fr.txt it.txt ja.txt\
-// pt.txt ru.txt zh.txt zh_Hant.txt
"brkitr_tree": {
- "whitelist": [
-// Need to explicitly add "root"
- "root",
- "de",
- "el",
- "en",
- "en_US",
- "es",
- "fr",
- "it",
- "ja",
- "pt",
- "ru",
- "zh",
- "zh_Hant"
+ "blacklist": [
+ "en_US_POSIX"
]
},
// Based on the ICU63 version of
@@ -275,284 +190,194 @@
},
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/curr/reslocal.mk?rcl=797b7c
+// Includes the items from CURR_ALIAS_SOURCE and CURR_SOURCE
+// Also add new locales after that:
+// "af", "az", "eu", "gl", "hy", "is", "ka", "kk", "km", "ky", "lo", "mk", "mn",
+// "my", "ne", "pa", "si", "sq", "ur", "uz", "zu"
"curr_tree": {
+ "filterType": "language",
"whitelist": [
// Need to explicitly add "root"
"root",
-// # All aliases (to not be included under 'installed'), but not including root.
-// CURR_ALIAS_SOURCE = $(CURR_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_MO.txt zh_SG.txt\
-// mo.txt no.txt in.txt iw.txt tl.txt ar_SA.txt
- "zh_CN", "zh_TW", "zh_HK", "zh_MO", "zh_SG",
- "mo", "no", "in", "iw", "tl", "ar_SA",
-// # Ordinary resources
-// CURR_SOURCE =\
-// ...
- "am",
- "ar", "ar_AE", "ar_DJ", "ar_ER", "ar_KM",
- "ar_LB", "ar_SO", "ar_SS",
- "bg",
- "bn",
- "ca",
- "cs",
- "da",
- "de", "de_CH", "de_LI", "de_LU",
- "el",
- "en", "en_001", "en_150",
- "en_AU", "en_CA", "en_GB", "en_HK", "en_IN", "en_NG", "en_NZ", "en_SG", "en_ZA",
- "en_AG", "en_AI", "en_AT", "en_BB", "en_BE", "en_BI", "en_BM", "en_BS", "en_BW",
- "en_BZ", "en_CC", "en_CH", "en_CK", "en_CM", "en_CX", "en_CY", "en_DE", "en_DG",
- "en_DK", "en_DM", "en_ER", "en_FI", "en_FJ", "en_FK", "en_FM", "en_GD", "en_GG",
- "en_GH", "en_GI", "en_GM", "en_GY", "en_IE", "en_IL", "en_IM", "en_IO", "en_JE",
- "en_JM", "en_KE", "en_KI", "en_KN", "en_KY", "en_LC", "en_LR", "en_LS", "en_MG",
- "en_MO", "en_MS", "en_MT", "en_MU", "en_MW", "en_MY", "en_NA", "en_NF", "en_NH",
- "en_NL", "en_NR", "en_NU", "en_PG", "en_PH", "en_PK", "en_PN", "en_PW", "en_RH",
- "en_RW", "en_SB", "en_SC", "en_SD", "en_SE", "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_VC", "en_VG", "en_VU", "en_WS", "en_ZM", "en_ZW",
- "es", "es_419", "es_AR", "es_BO", "es_BR", "es_BZ", "es_CL",
- "es_CO", "es_CR", "es_CU", "es_DO", "es_EC", "es_GQ", "es_GT",
- "es_HN", "es_MX", "es_NI", "es_PA", "es_PE", "es_PH", "es_PR",
- "es_PY", "es_SV", "es_US", "es_UY", "es_VE",
- "et",
- "fa",
- "fi",
- "fil",
- "fr", "fr_CA",
- "fr_BI", "fr_CD", "fr_DJ", "fr_DZ", "fr_GN", "fr_HT",
- "fr_KM", "fr_LU", "fr_MG", "fr_MR", "fr_MU", "fr_RW",
- "fr_SC", "fr_SY", "fr_TN", "fr_VU",
- "gu",
- "he",
- "hi",
- "hr",
- "hr_BA",
- "hu",
- "id",
- "it",
- "ja",
- "kn",
- "ko",
- "lt",
- "lv",
- "ml",
- "mr",
- "ms",
- "nb",
- "nl",
- "pl",
- "pt", "pt_PT",
- "pt_AO", "pt_CV", "pt_LU", "pt_MO", "pt_MZ", "pt_ST",
- "ro", "ro_MD",
- "ru",
- "sk",
- "sl",
- "sr", "sr_BA", "sr_CS", "sr_ME", "sr_RS", "sr_XK",
- "sr_Cyrl", "sr_Cyrl_BA", "sr_Cyrl_CS", "sr_Cyrl_RS", "sr_Cyrl_XK",
- "sr_Latn", "sr_Latn_BA", "sr_Latn_CS", "sr_Latn_ME", "sr_Latn_RS",
- "sv",
- "sw", "sw_CD", "sw_UG",
- "ta",
- "te",
- "th",
- "tr",
- "uk",
- "vi",
- "zh",
- "zh_Hans", "zh_Hans_CN", "zh_Hans_SG", "zh_Hans_HK", "zh_Hans_MO",
- "zh_Hant", "zh_Hant_TW", "zh_Hant_HK", "zh_Hant_MO",
-// For AndroidBig
- "af", "az", "eu", "gl", "hy", "is", "ka", "kk", "km",
- "ky", "lo", "mk", "mn", "my", "ne", "pa", "si", "sq",
- "ur", "uz", "zu"
- ]
- },
-// Based on the ICU63 version of
-// https://cs.chromium.org/chromium/src/third_party/icu/source/data/coll/collocal.mk?rcl=797b7c
- "coll_tree": {
- "whitelist": [
-// Need to explicitly add "root"
- "root",
-// # Aliases which do not have a corresponding xx.xml file (see icu-config.xml & build.xml)
-// COLLATION_SYNTHETIC_ALIAS = ...
- "de_", "de__PHONEBOOK", "es_", "es__TRADITIONAL",
- "he_IL", "id_ID", "in", "in_ID", "iw",
- "iw_IL", "mo", "nb_NO", "no", "no_NO",
- "ro_MD", "sh",
- "sh_BA", "sh_CS", "sh_YU", "sr_BA", "sr_Cyrl",
- "sr_Cyrl_BA", "sr_Cyrl_ME", "sr_Cyrl_RS", "sr_Latn_BA", "sr_Latn_RS",
- "sr_ME", "sr_RS",
- "zh_CN", "zh_HK", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
- "zh_Hant_HK", "zh_Hant_MO", "zh_Hant_TW", "zh_MO", "zh_SG",
- "zh_TW",
-// # Ordinary resources
-// COLLATION_SOURCE = ...
- "am", "ar",
- "bg",
- "bn",
- "ca",
- "cs",
- "da", "de", "de_AT",
- "el", "en", "en_US", "es",
- "et",
- "fa", "fi", "fil",
- "fr", "fr_CA",
- "gu",
- "he", "hi", "hr", "hu",
- "id", "it",
- "ja",
- "kn",
- "ko",
- "lt", "lv",
- "ml", "mr", "ms",
- "nb", "nn",
- "pl", "pt",
- "ro", "ru",
- "sk", "sl", "sr", "sr_Latn", "sv", "sw",
- "ta", "te",
- "th", "tr",
- "uk",
- "vi",
- "zh", "zh_Hant",
-// For AndroidBig
- "af", "az", "eu", "gl", "hy", "is", "ka", "kk", "km",
- "ky", "lo", "mk", "mn", "my", "ne", "pa", "si", "sq",
- "ur", "uz", "zu"
- ]
- },
-// Based on the ICU63 version of
-// https://cs.chromium.org/chromium/src/third_party/icu/source/data/lang/reslocal.mk?rcl=797b7c
- "lang_tree": {
- "whitelist": [
-// Need to explicitly add "root"
- "root",
-// # All aliases (to not be included under 'installed'), but not including root.
-// LANG_ALIAS_SOURCE = $(LANG_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_SG.txt\
-// no.txt in.txt iw.txt tl.txt sh.txt
- "zh_CN", "zh_TW", "zh_HK", "zh_SG",
- "no", "in", "iw", "tl", "sh",
-// # Ordinary resources
-// LANG_SOURCE =\
-// ...
+ "af",
"am",
"ar",
- "ar_SA", "ar_LY", "ar_EG",
+ "az",
"bg",
"bn",
"ca",
"cs",
"da",
"de",
- "de_AT", "de_CH",
"el",
- "en", "en_GB",
- "en_CA", "en_AU", "en_IN", "en_001", "en_NZ",
- "es", "es_419",
+ "en",
+ "es",
"et",
+ "eu",
"fa",
"fi",
"fil",
"fr",
- "fr_CA", "fr_CH",
+ "gl",
"gu",
"he",
"hi",
"hr",
"hu",
+ "hy",
"id",
+ "in",
+ "is",
"it",
+ "iw",
"ja",
+ "ka",
+ "kk",
+ "km",
"kn",
"ko",
+ "ky",
+ "lo",
"lt",
"lv",
+ "mk",
"ml",
+ "mn",
+ "mo",
"mr",
"ms",
+ "my",
"nb",
+ "ne",
"nl",
+ "no",
+ "pa",
"pl",
- "pt", "pt_PT",
+ "pt",
"ro",
"ru",
+ "si",
+ "sh",
"sk",
"sl",
+ "sq",
"sr",
"sv",
"sw",
"ta",
"te",
"th",
+ "tl",
"tr",
"uk",
- "vi",
- "zh", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
- "zh_Hant", "zh_Hant_TW", "zh_Hant_HK",
- "af",
- "ak",
- "an",
- "ast",
- "az",
- "be",
- "bem",
- "br",
- "bs",
- "ckb",
- "cy",
- "ee",
- "eo",
- "eu",
- "fo",
- "ga",
- "gl",
- "ha",
- "haw",
- "hy",
- "ig",
- "is",
- "ka",
- "kk",
- "km",
- "ku",
- "ky",
- "lg",
- "ln",
- "lo",
- "mfe",
- "mg",
- "mk",
- "mn",
- "mo", "ro_MD",
- "mt",
- "my",
- "ne",
- "nn",
- "nyn",
- "om",
- "or",
- "pa",
- "ps",
- "rm",
- "rn",
- "rw",
- "si",
- "sn",
- "so",
- "sq",
- "sr_Latn",
- "tg",
- "ti",
- "to",
"ur",
"uz",
- "wa",
- "yo",
+ "vi",
+ "zh",
"zu"
]
},
// Based on the ICU63 version of
+// https://cs.chromium.org/chromium/src/third_party/icu/source/data/coll/collocal.mk?rcl=797b7c
+// Includes the items from COLLATION_SYNTHETIC_ALIAS and COLLATION_SOURCE
+// Also add new locales after that:
+// "af", "az", "eu", "gl", "hy", "is", "ka", "kk", "km", "ky", "lo", "mk", "mn",
+// "my", "ne", "pa", "si", "sq", "ur", "uz", "zu"
+ "coll_tree": {
+ "filterType": "union",
+ "unionOf": [
+ {
+ "whitelist": [
+ "en",
+ "en_US"
+ ]
+ },
+ {
+ "filterType": "language",
+ "whitelist": [
+// Need to explicitly add "root"
+ "root",
+
+ "af",
+ "am",
+ "ar",
+ "az",
+ "bg",
+ "bn",
+ "ca",
+ "cs",
+ "da",
+ "de",
+ "el",
+ "es",
+ "et",
+ "eu",
+ "fa",
+ "fi",
+ "fil",
+ "fr",
+ "gl",
+ "gu",
+ "he",
+ "hi",
+ "hr",
+ "hu",
+ "hy",
+ "id",
+ "in",
+ "is",
+ "it",
+ "iw",
+ "ja",
+ "ka",
+ "kk",
+ "km",
+ "kn",
+ "ko",
+ "ky",
+ "lo",
+ "lt",
+ "lv",
+ "mk",
+ "ml",
+ "mn",
+ "mo",
+ "mr",
+ "ms",
+ "my",
+ "nb",
+ "ne",
+ "nl",
+ "no",
+ "pa",
+ "pl",
+ "pt",
+ "ro",
+ "ru",
+ "sh",
+ "si",
+ "sk",
+ "sl",
+ "sq",
+ "sr",
+ "sv",
+ "sw",
+ "ta",
+ "te",
+ "th",
+ "tr",
+ "uk",
+ "ur",
+ "uz",
+ "vi",
+ "zh",
+ "zu"
+ ]
+ }
+ ]
+ },
+// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/rbnf/rbnflocal.mk?rcl=797b7c
"rbnf_tree": {
"filterType": "exclude"
@@ -574,129 +399,116 @@
},
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/sprep/spreplocal.mk?rcl=797b7c
- "stringprep": {
- "filterType": "exclude"
- },
-// Based on the ICU63 version of
-// https://cs.chromium.org/chromium/src/third_party/icu/source/data/translit/trnslocal.mk?rcl=797b7c
- "translit": {
- "whitelist": [
-// Need to explicitly add "root"
- "root"
- ]
- },
+ "stringprep": { "filterType": "exclude" },
+ "translit": { "filterType": "exclude" },
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/unit/reslocal.mk?rcl=797b7c
+// Includes the items from UNIT_ALIAS_SOURCE and UNIT_SOURCE
+// Also add new locales after that:
+// "af", "az", "eu", "gl", "hy", "is", "ka", "kk", "km", "ky", "lo", "mk", "mn",
+// "my", "ne", "pa", "si", "sq", "ur", "uz", "zu"
"unit_tree": {
+ "filterType": "language",
"whitelist": [
// Need to explicitly add "root"
"root",
-// # All aliases (to not be included under 'installed'), but not including root.
-// UNIT_ALIAS_SOURCE = $(UNIT_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_SG.txt\
-// no.txt in.txt iw.txt tl.txt sh.txt
- "zh_CN", "zh_TW", "zh_HK", "zh_SG",
- "no", "in", "iw", "tl", "sh",
-// # Ordinary resources
-// UNIT_SOURCE =\
+
+ "af",
"am",
"ar",
+ "az",
"bg",
"bn",
"ca",
"cs",
"da",
- "de", "de_CH",
+ "de",
"el",
- "en", "en_001", "en_150",
- "en_AU", "en_CA", "en_GB", "en_IN", "en_NZ", "en_ZA",
- "en_AG", "en_AI", "en_AT", "en_BB", "en_BE", "en_BM",
- "en_BS", "en_BW", "en_BZ", "en_CC", "en_CH", "en_CK",
- "en_CM", "en_CX", "en_CY", "en_DE", "en_DG", "en_DK",
- "en_DM", "en_ER", "en_FI", "en_FJ", "en_FK", "en_FM",
- "en_GD", "en_GG", "en_GH", "en_GI", "en_GM", "en_GY",
- "en_HK", "en_IE", "en_IL", "en_IM", "en_IO",
- "en_JE", "en_JM", "en_KE", "en_KI", "en_KN", "en_KY",
- "en_LC", "en_LR", "en_LS", "en_MG", "en_MO", "en_MS",
- "en_MT", "en_MU", "en_MW", "en_MY", "en_NA", "en_NF",
- "en_NG", "en_NH", "en_NL", "en_NR", "en_NU", "en_PG",
- "en_PH", "en_PK", "en_PN", "en_PW", "en_RH", "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_VC", "en_VG", "en_VU", "en_WS", "en_ZM", "en_ZW",
- "es", "es_419", "es_AR", "es_MX", "es_US",
- "es_BO", "es_BR", "es_BZ", "es_CL", "es_CO", "es_CR",
- "es_CU", "es_DO", "es_EC", "es_GT", "es_HN", "es_NI",
- "es_PA", "es_PE", "es_PR", "es_PY", "es_SV", "es_UY", "es_VE",
+ "en",
+ "es",
"et",
+ "eu",
"fa",
"fi",
"fil",
- "fr", "fr_CA", "fr_HT",
+ "fr",
+ "gl",
"gu",
"he",
"hi",
"hr",
"hu",
+ "hy",
"id",
+ "in",
+ "is",
"it",
+ "iw",
"ja",
+ "ka",
+ "kk",
+ "km",
"kn",
"ko",
+ "ky",
+ "lo",
"lt",
"lv",
+ "mk",
"ml",
+ "mn",
+ "mo",
"mr",
"ms",
+ "my",
"nb",
+ "ne",
"nl",
+ "no",
+ "pa",
"pl",
- "pt", "pt_PT",
- "pt_AO", "pt_CH", "pt_CV", "pt_GQ", "pt_GW", "pt_LU",
- "pt_MO", "pt_MZ", "pt_ST", "pt_TL",
- "ro", "ro_MD",
+ "pt",
+ "ro",
"ru",
+ "sh",
+ "si",
"sk",
"sl",
- "sr", "sr_BA", "sr_CS", "sr_ME", "sr_RS", "sr_XK",
- "sr_Cyrl", "sr_Cyrl_BA", "sr_Cyrl_CS", "sr_Cyrl_RS", "sr_Cyrl_XK",
- "sr_Latn", "sr_Latn_BA", "sr_Latn_CS", "sr_Latn_ME", "sr_Latn_RS",
+ "sq",
+ "sr",
"sv",
"sw",
"ta",
"te",
"th",
+ "tl",
"tr",
"uk",
+ "ur",
+ "uz",
"vi",
- "zh", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
- "zh_Hant", "zh_Hant_TW", "zh_Hant_HK", "zh_Hant_MO",
-// For AndroidBig
- "af", "az", "eu", "gl", "hy", "is", "ka", "kk", "km",
- "ky", "lo", "mk", "mn", "my", "ne", "pa", "si", "sq",
- "ur", "uz", "zu"
+ "zh",
+ "zu"
]
},
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/zone/reslocal.mk?rcl=797b7c
+// Includes the items from ZONE_ALIAS_SOURCE and ZONE_SOURCE
+// Also add new locales after that:
+// "af", "az", "eu", "gl", "hy", "is", "ka", "kk", "km", "ky", "lo", "mk", "mn",
+// "my", "ne", "pa", "si", "sq", "ur", "uz", "zu"
"zone_tree": {
+ "filterType": "language",
"whitelist": [
// Need to explicitly add "root"
"root",
// Need to explicitly add "tzdbNames"
"tzdbNames",
-// # All aliases (to not be included under 'installed'), but not including root.
-// ZONE_ALIAS_SOURCE = $(ZONE_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_SG",
-// no.txt in.txt iw.txt
- "zh_CN", "zh_TW", "zh_HK", "zh_SG",
- "no", "in", "iw",
-// # Ordinary resources
-// ZONE_SOURCE =\
-// ...
+
+ "af",
"am",
"ar",
+ "az",
"bg",
"bn",
"ca",
@@ -704,52 +516,71 @@
"da",
"de",
"el",
- "en", "en_001", "en_150",
- "en_AU", "en_CA", "en_GB", "en_IN", "en_NZ", "en_ZA",
- "es", "es_419", "es_MX", "es_AR", "es_US",
+ "en",
+ "es",
"et",
+ "eu",
"fa",
"fi",
"fil",
- "fr", "fr_CA",
+ "fr",
+ "gl",
"gu",
"he",
"hi",
"hr",
"hu",
+ "hy",
"id",
+ "in",
+ "is",
"it",
+ "iw",
"ja",
+ "ka",
+ "kk",
+ "km",
"kn",
"ko",
+ "ky",
+ "lo",
"lt",
"lv",
+ "mk",
"ml",
+ "mn",
+ "mo",
"mr",
"ms",
+ "my",
"nb",
+ "ne",
"nl",
+ "no",
+ "pa",
"pl",
- "pt", "pt_PT",
+ "pt",
"ro",
"ru",
+ "si",
+ "sh",
"sk",
"sl",
+ "sq",
"sr",
"sv",
"sw",
"ta",
"te",
"th",
+ "tl",
"tr",
"uk",
+ "ur",
+ "uz",
"vi",
- "zh", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
- "zh_Hant", "zh_Hant_TW", "zh_Hant_HK",
-// For AndroidBig
- "af", "az", "eu", "gl", "hy", "is", "ka", "kk", "km",
- "ky", "lo", "mk", "mn", "my", "ne", "pa", "si", "sq",
- "ur", "uz", "zu"
+ "zh",
+ "zu"
]
},
// Based on
@@ -1015,19 +846,6 @@
"+/*/compound"
]
},
-// Based on
-// https://cs.chromium.org/chromium/src/third_party/icu/source/data/translit/root_subset.txt?rcl=797b7c
- {
- "categories": [
- "translit"
- ],
- "rules": [
- "-/*",
-// Need to leave an empty RuleBasedTransliteratorIDs
- "+/RuleBasedTransliteratorIDs",
- "-/RuleBasedTransliteratorIDs/*"
- ]
- },
// # Remove exemplar cities in timezone data.
{
"categories": [
@@ -1689,17 +1507,18 @@
],
"files": {
"blacklist": [
- "th",
- "zh",
- "ko",
- "am",
- "he",
- "ar",
- "fa",
- "ja",
- "hi",
- "zh_Hant",
- "root"
+ "root",
+
+ "am",
+ "ar",
+ "fa",
+ "he",
+ "hi",
+ "ja",
+ "ko",
+ "th",
+ "zh",
+ "zh_Hant"
]
},
"rules": [
@@ -1716,6 +1535,7 @@
"locales_tree"
],
"files": {
+ "filterType": "language",
"whitelist": [
// Created by diff scripts/chrome_ui_languages.list scripts/accept_lang.list|egrep "^>"|egrep -v "#"|cut -c3-10
"ach",
@@ -1763,7 +1583,6 @@
"mfe",
"mg",
"mi",
- "mo",
"mt",
"nn",
"no",
@@ -1781,7 +1600,6 @@
"rn",
"rw",
"sd",
- "sh",
"sm",
"sn",
"so",
@@ -1790,7 +1608,6 @@
"tg",
"ti",
"tk",
- "tl",
"tn",
"to",
"tt",
diff --git a/chromium/third_party/icu/filters/android_extra.json b/chromium/third_party/icu/filters/android_extra.json
index 65ff81a5b1d..ceb76ce3e9a 100644
--- a/chromium/third_party/icu/filters/android_extra.json
+++ b/chromium/third_party/icu/filters/android_extra.json
@@ -5,10 +5,10 @@
"collationUCAData": "implicithan",
"usePoolBundle": false,
"localeFilter": {
+// We cannot include root here so we cannot use filterType language
+ "filterType": "regex",
"whitelist": [
- "bn", "et", "gu", "kn", "ml", "mr", "ms", "ta", "te", "af",
- "az", "eu", "gl", "hy", "is", "ka", "kk", "km", "ky", "lo",
- "mk", "mn", "my", "ne", "pa", "si", "sq", "ur", "uz", "zu"
+ "^(af|az|bn|et|eu|gl|gu|hy|is|ka|kk|km|kn|ky|lo|mk|ml|mn|mr|ms|my|ne|pa|si|sq|ta|te|ur|uz|zu)(_.*)?$"
]
},
"featureFilters": {
@@ -34,12 +34,7 @@
"region_index": { "filterType": "exclude" },
"misc": { "filterType": "exclude" },
"stringprep": { "filterType": "exclude" },
- "translit": {
- "whitelist": [
-// Need to explicitly add "root"
- "root"
- ]
- },
+ "translit": { "filterType": "exclude" },
"ulayout": { "filterType": "exclude" },
"unames": { "filterType": "exclude" },
"zone_index": { "filterType": "exclude" }
@@ -282,19 +277,6 @@
"+/*/compound"
]
},
-// Based on
-// https://cs.chromium.org/chromium/src/third_party/icu/source/data/translit/root_subset.txt?rcl=797b7c
- {
- "categories": [
- "translit"
- ],
- "rules": [
- "-/*",
-// Need to leave an empty RuleBasedTransliteratorIDs
- "+/RuleBasedTransliteratorIDs",
- "-/RuleBasedTransliteratorIDs/*"
- ]
- },
// # Remove exemplar cities in timezone data.
{
"categories": [
diff --git a/chromium/third_party/icu/filters/android_small.json b/chromium/third_party/icu/filters/android_small.json
index 35cc97f2feb..f86431004fe 100644
--- a/chromium/third_party/icu/filters/android_small.json
+++ b/chromium/third_party/icu/filters/android_small.json
@@ -6,231 +6,146 @@
"collationUCAData": "implicithan",
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/locales/reslocal.mk?rcl=797b7c
+// Includes the items from GENRB_ALIAS_SOURCE and GENRB_SOURCE
"localeFilter": {
+ "filterType": "language",
"whitelist": [
// Need to explicitly add "root"
"root",
-// # All aliases (to not be included under 'installed'), but not including root.
-// GENRB_ALIAS_SOURCE = $(GENRB_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_SG.txt\
-// no.txt in.txt iw.txt tl.txt sh.txt
- "zh_CN","zh_TW","zh_HK","zh_SG",
- "no","in","iw","tl","sh",
-// # Ordinary resources
-// GENRB_SOURCE =\
-// .......
- "am",
- "ar","ar_001","ar_AE","ar_BH","ar_DJ",
- "ar_DZ","ar_EG","ar_EH","ar_ER","ar_IL",
- "ar_IQ","ar_JO","ar_KM","ar_KW","ar_LB",
- "ar_LY","ar_MA","ar_MR","ar_OM","ar_PS",
- "ar_QA","ar_SA","ar_SD","ar_SO","ar_SS",
- "ar_SY","ar_TD","ar_TN","ar_YE",
- "bg",
- "bn",
- "ca",
- "cs",
- "da",
- "de","de_AT","de_BE","de_CH","de_IT","de_LI","de_LU",
- "el",
- "en","en_001","en_150","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_DG","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_US_POSIX","en_VC","en_VG","en_VI",
- "en_VU","en_WS","en_ZA","en_ZM","en_ZW",
- "es","es_ES","es_419","es_AR","es_MX","es_US",
- "es_BO","es_BR","es_BZ","es_CL","es_CO","es_CR","es_CU",
- "es_DO","es_EA","es_EC","es_GQ","es_GT","es_HN","es_IC",
- "es_NI","es_PA","es_PE","es_PH","es_PR","es_PY","es_SV",
- "es_UY","es_VE",
- "et",
- "fa",
- "fi",
- "fil",
- "fr","fr_BE","fr_BF","fr_BI",
- "fr_BJ","fr_BL","fr_CA","fr_CD","fr_CF",
- "fr_CG","fr_CH","fr_CI","fr_CM","fr_DJ",
- "fr_DZ","fr_FR","fr_GA","fr_GF","fr_GN",
- "fr_GP","fr_GQ","fr_HT","fr_KM","fr_LU",
- "fr_MA","fr_MC","fr_MF","fr_MG","fr_ML",
- "fr_MQ","fr_MR","fr_MU","fr_NC","fr_NE",
- "fr_PF","fr_PM","fr_RE","fr_RW","fr_SC",
- "fr_SN","fr_SY","fr_TD","fr_TG","fr_TN",
- "fr_VU","fr_WF","fr_YT",
- "gu",
- "he",
- "hi",
- "hr",
- "hr_BA",
- "hu",
- "id",
- "it","it_CH",
- "ja",
- "kn",
- "ko",
- "lt",
- "lv",
- "ml",
- "mr",
- "ms",
- "nb",
- "nl","nl_AW","nl_BE","nl_BQ","nl_CW","nl_NL",
- "nl_SR","nl_SX",
- "pl",
- "pt","pt_AO","pt_BR","pt_CH","pt_CV",
- "pt_GQ","pt_GW","pt_LU","pt_MO","pt_MZ",
- "pt_PT","pt_ST","pt_TL",
- "ro",
- "ru","ru_BY","ru_KG","ru_KZ","ru_MD","ru_RU","ru_UA",
- "sk",
- "sl",
- "sr","sr_BA","sr_CS","sr_ME","sr_RS","sr_XK",
- "sr_Cyrl","sr_Cyrl_BA","sr_Cyrl_CS","sr_Cyrl_ME",
- "sr_Cyrl_RS","sr_Cyrl_XK",
- "sr_Latn","sr_Latn_BA","sr_Latn_CS","sr_Latn_ME",
- "sr_Latn_RS","sr_Latn_XK",
- "sv",
- "sw","sw_CD","sw_KE",
- "ta",
- "te",
- "th",
- "tr",
- "uk",
- "vi",
- "zh","zh_Hans","zh_Hans_CN","zh_Hans_SG",
- "zh_Hant","zh_Hant_TW","zh_Hant_HK",
+
"af",
"ak",
+ "am",
"an",
+ "ar",
"ast",
"az",
"be",
"bem",
+ "bg",
+ "bn",
"br",
"bs",
+ "ca",
"ckb",
+ "cs",
"cy",
+ "da",
+ "de",
"ee",
+ "el",
+ "en",
"eo",
+ "es",
+ "et",
"eu",
+ "fa",
+ "fi",
+ "fil",
"fo",
+ "fr",
"ga",
"gl",
+ "gu",
"ha",
"haw",
+ "he",
+ "hi",
+ "hr",
+ "hu",
"hy",
+ "id",
"ig",
+ "in",
"is",
+ "it",
+ "iw",
+ "ja",
"ka",
"kk",
"km",
+ "kn",
+ "ko",
"ku",
"ky",
"lg",
"ln",
"lo",
+ "lt",
+ "lv",
"mfe",
"mg",
"mk",
+ "ml",
"mn",
- "mo","ro_MD",
+ "mo",
+ "mr",
+ "ms",
"mt",
"my",
+ "nb",
"ne",
+ "nl",
"nn",
+ "no",
"nyn",
"om",
"or",
"pa",
+ "pl",
"ps",
+ "pt",
"rm",
"rn",
+ "ro",
+ "ru",
"rw",
+ "sh",
"si",
+ "sk",
+ "sl",
"sn",
"so",
"sq",
+ "sr",
+ "sv",
+ "sw",
+ "ta",
+ "te",
"tg",
+ "th",
"ti",
+ "tl",
"to",
+ "tr",
+ "uk",
"ur",
"uz",
+ "vi",
"wa",
"yo",
+ "zh",
"zu"
]
},
"featureFilters": {
-// Based on the ICU63 version of
-// https://cs.chromium.org/chromium/src/third_party/icu/source/data/brkitr/brklocal.mk?rcl=797b7c
-// # List of dictionary files (dict).
-// BRK_DICT_SOURCE = burmesedict.txt cjdict.txt khmerdict.txt laodict.txt\
-// thaidict.txt
"brkitr_dictionaries": {
- "whitelist": [
- "burmesedict",
+ "blacklist": [
// Filtered by android/brkitr.patch "cjdict",
- "khmerdict",
- "laodict",
- "thaidict"
+ "cjdict"
]
},
-// # List of break iterator files (brk).
-// BRK_SOURCE = char.txt line.txt line_loose.txt line_loose_cj.txt\
-// line_normal.txt line_normal_cj.txt sent.txt sent_el.txt title.txt\
-// word.txt
"brkitr_rules": {
- "whitelist": [
- "char",
- "line",
- "line_loose",
- "line_loose_cj",
- "line_normal",
- "line_normal_cj",
- "sent",
- "sent_el",
+ "blacklist": [
+// Exclude line_cj till we upgrade to 68.1 due to size impact.
+ "line_cj",
"title",
- "word",
-// Added by android/brkitr.patch
- "word_ja"
+ "word_POSIX"
]
},
-// # Ordinary resources
-// BRK_RES_SOURCE = de.txt el.txt en.txt en_US.txt\
-// es.txt fr.txt it.txt ja.txt\
-// pt.txt ru.txt zh.txt zh_Hant.txt
"brkitr_tree": {
- "whitelist": [
-// Need to explicitly add "root"
- "root",
- "de",
- "el",
- "en",
- "en_US",
- "es",
- "fr",
- "it",
- "ja",
- "pt",
- "ru",
- "zh",
- "zh_Hant"
+ "blacklist": [
+ "en_US_POSIX"
]
},
// Based on the ICU63 version of
@@ -275,282 +190,136 @@
},
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/curr/reslocal.mk?rcl=797b7c
+// Includes the items from CURR_ALIAS_SOURCE and CURR_SOURCE
+// Removed locales per cast/patch_locale.sh:
+// "bn", "et", "gu", "kn", "ml", "mr", "ms", "ta", "te"
"curr_tree": {
+ "filterType": "language",
"whitelist": [
// Need to explicitly add "root"
- "root",
-// # All aliases (to not be included under 'installed'), but not including root.
-// CURR_ALIAS_SOURCE = $(CURR_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_MO.txt zh_SG.txt\
-// mo.txt no.txt in.txt iw.txt tl.txt ar_SA.txt
- "zh_CN", "zh_TW", "zh_HK", "zh_MO", "zh_SG",
- "mo", "no", "in", "iw", "tl", "ar_SA",
-// # Ordinary resources
-// CURR_SOURCE =\
-// ...
- "am",
- "ar", "ar_AE", "ar_DJ", "ar_ER", "ar_KM",
- "ar_LB", "ar_SO", "ar_SS",
- "bg",
-// cast/patch_locale.sh remove "bn",
- "ca",
- "cs",
- "da",
- "de", "de_CH", "de_LI", "de_LU",
- "el",
- "en", "en_001", "en_150",
- "en_AU", "en_CA", "en_GB", "en_HK", "en_IN", "en_NG", "en_NZ", "en_SG", "en_ZA",
- "en_AG", "en_AI", "en_AT", "en_BB", "en_BE", "en_BI", "en_BM", "en_BS", "en_BW",
- "en_BZ", "en_CC", "en_CH", "en_CK", "en_CM", "en_CX", "en_CY", "en_DE", "en_DG",
- "en_DK", "en_DM", "en_ER", "en_FI", "en_FJ", "en_FK", "en_FM", "en_GD", "en_GG",
- "en_GH", "en_GI", "en_GM", "en_GY", "en_IE", "en_IL", "en_IM", "en_IO", "en_JE",
- "en_JM", "en_KE", "en_KI", "en_KN", "en_KY", "en_LC", "en_LR", "en_LS", "en_MG",
- "en_MO", "en_MS", "en_MT", "en_MU", "en_MW", "en_MY", "en_NA", "en_NF", "en_NH",
- "en_NL", "en_NR", "en_NU", "en_PG", "en_PH", "en_PK", "en_PN", "en_PW", "en_RH",
- "en_RW", "en_SB", "en_SC", "en_SD", "en_SE", "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_VC", "en_VG", "en_VU", "en_WS", "en_ZM", "en_ZW",
- "es", "es_419", "es_AR", "es_BO", "es_BR", "es_BZ", "es_CL",
- "es_CO", "es_CR", "es_CU", "es_DO", "es_EC", "es_GQ", "es_GT",
- "es_HN", "es_MX", "es_NI", "es_PA", "es_PE", "es_PH", "es_PR",
- "es_PY", "es_SV", "es_US", "es_UY", "es_VE",
-// cast/patch_locale.sh remove "et",
- "fa",
- "fi",
- "fil",
- "fr", "fr_CA",
- "fr_BI", "fr_CD", "fr_DJ", "fr_DZ", "fr_GN", "fr_HT",
- "fr_KM", "fr_LU", "fr_MG", "fr_MR", "fr_MU", "fr_RW",
- "fr_SC", "fr_SY", "fr_TN", "fr_VU",
-// cast/patch_locale.sh remove "gu",
- "he",
- "hi",
- "hr",
- "hr_BA",
- "hu",
- "id",
- "it",
- "ja",
-// cast/patch_locale.sh remove "kn",
- "ko",
- "lt",
- "lv",
-// cast/patch_locale.sh remove "ml",
-// cast/patch_locale.sh remove "mr",
-// cast/patch_locale.sh remove "ms",
- "nb",
- "nl",
- "pl",
- "pt", "pt_PT",
- "pt_AO", "pt_CV", "pt_LU", "pt_MO", "pt_MZ", "pt_ST",
- "ro", "ro_MD",
- "ru",
- "sk",
- "sl",
- "sr", "sr_BA", "sr_CS", "sr_ME", "sr_RS", "sr_XK",
- "sr_Cyrl", "sr_Cyrl_BA", "sr_Cyrl_CS", "sr_Cyrl_RS", "sr_Cyrl_XK",
- "sr_Latn", "sr_Latn_BA", "sr_Latn_CS", "sr_Latn_ME", "sr_Latn_RS",
- "sv",
- "sw", "sw_CD", "sw_UG",
-// cast/patch_locale.sh remove "ta",
-// cast/patch_locale.sh remove "te",
- "th",
- "tr",
- "uk",
- "vi",
- "zh",
- "zh_Hans", "zh_Hans_CN", "zh_Hans_SG", "zh_Hans_HK", "zh_Hans_MO",
- "zh_Hant", "zh_Hant_TW", "zh_Hant_HK", "zh_Hant_MO"
- ]
- },
-// Based on the ICU63 version of
-// https://cs.chromium.org/chromium/src/third_party/icu/source/data/coll/collocal.mk?rcl=797b7c
- "coll_tree": {
- "whitelist": [
-// Need to explicitly add "root"
- "root",
-// # Aliases which do not have a corresponding xx.xml file (see icu-config.xml & build.xml)
-// COLLATION_SYNTHETIC_ALIAS = ...
- "de_", "de__PHONEBOOK", "es_", "es__TRADITIONAL",
- "he_IL", "id_ID", "in", "in_ID", "iw",
- "iw_IL", "mo", "nb_NO", "no", "no_NO",
- "ro_MD", "sh",
- "sh_BA", "sh_CS", "sh_YU", "sr_BA", "sr_Cyrl",
- "sr_Cyrl_BA", "sr_Cyrl_ME", "sr_Cyrl_RS", "sr_Latn_BA", "sr_Latn_RS",
- "sr_ME", "sr_RS",
- "zh_CN", "zh_HK", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
- "zh_Hant_HK", "zh_Hant_MO", "zh_Hant_TW", "zh_MO", "zh_SG",
- "zh_TW",
-// # Ordinary resources
-// COLLATION_SOURCE = ...
- "am", "ar",
- "bg",
-// cast/patch_locale.sh remove "bn",
- "ca",
- "cs",
- "da", "de", "de_AT",
- "el", "en", "en_US", "es",
-// cast/patch_locale.sh remove "et",
- "fa", "fi", "fil",
- "fr", "fr_CA",
-// cast/patch_locale.sh remove "gu",
- "he", "hi", "hr", "hu",
- "id", "it",
- "ja",
-// cast/patch_locale.sh remove "kn",
- "ko",
- "lt", "lv",
-// cast/patch_locale.sh remove "ml", "mr", "ms",
- "nb", "nn",
- "pl", "pt",
- "ro", "ru",
- "sk", "sl", "sr", "sr_Latn", "sv", "sw",
-// cast/patch_locale.sh remove "ta", "te",
- "th", "tr",
- "uk",
- "vi",
- "zh", "zh_Hant"
- ]
- },
-// Based on the ICU63 version of
-// https://cs.chromium.org/chromium/src/third_party/icu/source/data/lang/reslocal.mk?rcl=797b7c
- "lang_tree": {
- "whitelist": [
-// Need to explicitly add "root"
- "root",
-// # All aliases (to not be included under 'installed'), but not including root.
-// LANG_ALIAS_SOURCE = $(LANG_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_SG.txt\
-// no.txt in.txt iw.txt tl.txt sh.txt
- "zh_CN", "zh_TW", "zh_HK", "zh_SG",
- "no", "in", "iw", "tl", "sh",
-// # Ordinary resources
-// LANG_SOURCE =\
-// ...
+ "root",
+
"am",
"ar",
- "ar_SA", "ar_LY", "ar_EG",
"bg",
- "bn",
"ca",
"cs",
"da",
"de",
- "de_AT", "de_CH",
"el",
- "en", "en_GB",
- "en_CA", "en_AU", "en_IN", "en_001", "en_NZ",
- "es", "es_419",
- "et",
+ "en",
+ "es",
"fa",
"fi",
"fil",
"fr",
- "fr_CA", "fr_CH",
- "gu",
"he",
"hi",
"hr",
"hu",
"id",
+ "in",
"it",
+ "iw",
"ja",
- "kn",
"ko",
"lt",
"lv",
- "ml",
- "mr",
- "ms",
+ "mo",
"nb",
"nl",
+ "no",
"pl",
- "pt", "pt_PT",
+ "pt",
"ro",
"ru",
+ "sh",
"sk",
"sl",
"sr",
"sv",
"sw",
- "ta",
- "te",
"th",
+ "tl",
"tr",
"uk",
"vi",
- "zh", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
- "zh_Hant", "zh_Hant_TW", "zh_Hant_HK",
- "af",
- "ak",
- "an",
- "ast",
- "az",
- "be",
- "bem",
- "br",
- "bs",
- "ckb",
- "cy",
- "ee",
- "eo",
- "eu",
- "fo",
- "ga",
- "gl",
- "ha",
- "haw",
- "hy",
- "ig",
- "is",
- "ka",
- "kk",
- "km",
- "ku",
- "ky",
- "lg",
- "ln",
- "lo",
- "mfe",
- "mg",
- "mk",
- "mn",
- "mo", "ro_MD",
- "mt",
- "my",
- "ne",
- "nn",
- "nyn",
- "om",
- "or",
- "pa",
- "ps",
- "rm",
- "rn",
- "rw",
- "si",
- "sn",
- "so",
- "sq",
- "sr_Latn",
- "tg",
- "ti",
- "to",
- "ur",
- "uz",
- "wa",
- "yo",
- "zu"
+ "zh"
]
},
// Based on the ICU63 version of
-// https://cs.chromium.org/chromium/src/third_party/icu/source/data/rbnf/rbnflocal.mk?rcl=797b7c
- "rbnf_tree": {
- "filterType": "exclude"
- },
- "rbnf_index": {
- "filterType": "exclude"
+// https://cs.chromium.org/chromium/src/third_party/icu/source/data/coll/collocal.mk?rcl=797b7c
+// Includes the items from COLLATION_SYNTHETIC_ALIAS and COLLATION_SOURCE
+// Removed locales per cast/patch_locale.sh:
+// "bn", "et", "gu", "kn", "ml", "mr", "ms", "ta", "te"
+ "coll_tree": {
+ "filterType": "union",
+ "unionOf": [
+ {
+ "whitelist": [
+ "en",
+ "en_US"
+ ]
+ },
+ {
+ "filterType": "language",
+ "whitelist": [
+// Need to explicitly add "root"
+ "root",
+
+ "am",
+ "ar",
+ "bg",
+ "ca",
+ "cs",
+ "da",
+ "de",
+ "el",
+ "es",
+ "fa",
+ "fi",
+ "fil",
+ "fr",
+ "he",
+ "hi",
+ "hr",
+ "hu",
+ "id",
+ "in",
+ "it",
+ "iw",
+ "ja",
+ "ko",
+ "lt",
+ "lv",
+ "mo",
+ "nb",
+ "nl",
+ "no",
+ "pl",
+ "pt",
+ "ro",
+ "ru",
+ "sh",
+ "sk",
+ "sl",
+ "sr",
+ "sv",
+ "sw",
+ "th",
+ "tl",
+ "tr",
+ "uk",
+ "vi",
+ "zh"
+ ]
+ }
+ ]
},
+// Based on the ICU63 version of
+// https://cs.chromium.org/chromium/src/third_party/icu/source/data/rbnf/rbnflocal.mk?rcl=797b7c
+ "rbnf_tree": { "filterType": "exclude" },
+ "rbnf_index": { "filterType": "exclude" },
// Based on
// https://cs.chromium.org/chromium/src/third_party/icu/android/patch_locale.sh?rcl=797b7c
"region_tree": {
@@ -565,174 +334,126 @@
},
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/sprep/spreplocal.mk?rcl=797b7c
- "stringprep": {
- "filterType": "exclude"
- },
-// Based on the ICU63 version of
-// https://cs.chromium.org/chromium/src/third_party/icu/source/data/translit/trnslocal.mk?rcl=797b7c
- "translit": {
- "whitelist": [
-// Need to explicitly add "root"
- "root"
- ]
- },
+ "stringprep": { "filterType": "exclude" },
+ "translit": { "filterType": "exclude" },
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/unit/reslocal.mk?rcl=797b7c
+// Includes the items from UNIT_ALIAS_SOURCE and UNIT_SOURCE
+// Removed locales per cast/patch_locale.sh:
+// "bn", "et", "gu", "kn", "ml", "mr", "ms", "ta", "te"
"unit_tree": {
+ "filterType": "language",
"whitelist": [
// Need to explicitly add "root"
"root",
-// # All aliases (to not be included under 'installed'), but not including root.
-// UNIT_ALIAS_SOURCE = $(UNIT_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_SG.txt\
-// no.txt in.txt iw.txt tl.txt sh.txt
- "zh_CN", "zh_TW", "zh_HK", "zh_SG",
- "no", "in", "iw", "tl", "sh",
-// # Ordinary resources
-// UNIT_SOURCE =\
+
"am",
"ar",
"bg",
-// cast/patch_locale.sh remove "bn",
"ca",
"cs",
"da",
- "de", "de_CH",
+ "de",
"el",
- "en", "en_001", "en_150",
- "en_AU", "en_CA", "en_GB", "en_IN", "en_NZ", "en_ZA",
- "en_AG", "en_AI", "en_AT", "en_BB", "en_BE", "en_BM",
- "en_BS", "en_BW", "en_BZ", "en_CC", "en_CH", "en_CK",
- "en_CM", "en_CX", "en_CY", "en_DE", "en_DG", "en_DK",
- "en_DM", "en_ER", "en_FI", "en_FJ", "en_FK", "en_FM",
- "en_GD", "en_GG", "en_GH", "en_GI", "en_GM", "en_GY",
- "en_HK", "en_IE", "en_IL", "en_IM", "en_IO",
- "en_JE", "en_JM", "en_KE", "en_KI", "en_KN", "en_KY",
- "en_LC", "en_LR", "en_LS", "en_MG", "en_MO", "en_MS",
- "en_MT", "en_MU", "en_MW", "en_MY", "en_NA", "en_NF",
- "en_NG", "en_NH", "en_NL", "en_NR", "en_NU", "en_PG",
- "en_PH", "en_PK", "en_PN", "en_PW", "en_RH", "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_VC", "en_VG", "en_VU", "en_WS", "en_ZM", "en_ZW",
- "es", "es_419", "es_AR", "es_MX", "es_US",
- "es_BO", "es_BR", "es_BZ", "es_CL", "es_CO", "es_CR",
- "es_CU", "es_DO", "es_EC", "es_GT", "es_HN", "es_NI",
- "es_PA", "es_PE", "es_PR", "es_PY", "es_SV", "es_UY", "es_VE",
-// cast/patch_locale.sh remove "et",
+ "en",
+ "es",
"fa",
"fi",
"fil",
- "fr", "fr_CA", "fr_HT",
-// cast/patch_locale.sh remove "gu",
+ "fr",
"he",
"hi",
"hr",
"hu",
"id",
+ "in",
"it",
+ "iw",
"ja",
-// cast/patch_locale.sh remove "kn",
"ko",
"lt",
"lv",
-// cast/patch_locale.sh remove "ml",
-// cast/patch_locale.sh remove "mr",
-// cast/patch_locale.sh remove "ms",
+ "mo",
"nb",
"nl",
+ "no",
"pl",
- "pt", "pt_PT",
- "pt_AO", "pt_CH", "pt_CV", "pt_GQ", "pt_GW", "pt_LU",
- "pt_MO", "pt_MZ", "pt_ST", "pt_TL",
- "ro", "ro_MD",
+ "pt",
+ "ro",
"ru",
+ "sh",
"sk",
"sl",
- "sr", "sr_BA", "sr_CS", "sr_ME", "sr_RS", "sr_XK",
- "sr_Cyrl", "sr_Cyrl_BA", "sr_Cyrl_CS", "sr_Cyrl_RS", "sr_Cyrl_XK",
- "sr_Latn", "sr_Latn_BA", "sr_Latn_CS", "sr_Latn_ME", "sr_Latn_RS",
+ "sr",
"sv",
"sw",
-// cast/patch_locale.sh remove "ta",
-// cast/patch_locale.sh remove "te",
"th",
+ "tl",
"tr",
"uk",
"vi",
- "zh", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
- "zh_Hant", "zh_Hant_TW", "zh_Hant_HK", "zh_Hant_MO"
+ "zh"
]
},
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/zone/reslocal.mk?rcl=797b7c
+// Includes the items from ZONE_ALIAS_SOURCE and ZONE_SOURCE
+// Removed locales per cast/patch_locale.sh:
+// "bn", "et", "gu", "kn", "ml", "mr", "ms", "ta", "te"
"zone_tree": {
+ "filterType": "language",
"whitelist": [
// Need to explicitly add "root"
"root",
// Need to explicitly add "tzdbNames"
"tzdbNames",
-// # All aliases (to not be included under 'installed'), but not including root.
-// ZONE_ALIAS_SOURCE = $(ZONE_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_SG",
-// no.txt in.txt iw.txt
- "zh_CN", "zh_TW", "zh_HK", "zh_SG",
- "no", "in", "iw",
-// # Ordinary resources
-// ZONE_SOURCE =\
-// ...
+
"am",
"ar",
"bg",
-// cast/patch_locale.sh remove "bn",
"ca",
"cs",
"da",
"de",
"el",
- "en", "en_001", "en_150",
- "en_AU", "en_CA", "en_GB", "en_IN", "en_NZ", "en_ZA",
- "es", "es_419", "es_MX", "es_AR", "es_US",
-// cast/patch_locale.sh remove "et",
+ "en",
+ "es",
"fa",
"fi",
"fil",
- "fr", "fr_CA",
-// cast/patch_locale.sh remove "gu",
+ "fr",
"he",
"hi",
"hr",
"hu",
"id",
+ "in",
"it",
+ "iw",
"ja",
-// cast/patch_locale.sh remove "kn",
"ko",
"lt",
"lv",
-// cast/patch_locale.sh remove "ml",
-// cast/patch_locale.sh remove "mr",
-// cast/patch_locale.sh remove "ms",
+ "mo",
"nb",
"nl",
+ "no",
"pl",
- "pt", "pt_PT",
+ "pt",
"ro",
"ru",
+ "sh",
"sk",
"sl",
"sr",
"sv",
"sw",
-// cast/patch_locale.sh remove "ta",
-// cast/patch_locale.sh remove "te",
"th",
+ "tl",
"tr",
"uk",
"vi",
- "zh", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
- "zh_Hant", "zh_Hant_TW", "zh_Hant_HK"
+ "zh"
]
},
// Based on
@@ -998,19 +719,6 @@
"+/*/compound"
]
},
-// Based on
-// https://cs.chromium.org/chromium/src/third_party/icu/source/data/translit/root_subset.txt?rcl=797b7c
- {
- "categories": [
- "translit"
- ],
- "rules": [
- "-/*",
-// Need to leave an empty RuleBasedTransliteratorIDs
- "+/RuleBasedTransliteratorIDs",
- "-/RuleBasedTransliteratorIDs/*"
- ]
- },
// # Remove exemplar cities in timezone data.
{
"categories": [
@@ -1672,17 +1380,18 @@
],
"files": {
"blacklist": [
- "th",
- "zh",
- "ko",
+ "root",
+
"am",
- "he",
"ar",
"fa",
- "ja",
+ "he",
"hi",
- "zh_Hant",
- "root"
+ "ja",
+ "ko",
+ "th",
+ "zh",
+ "zh_Hant"
]
},
"rules": [
@@ -1700,7 +1409,11 @@
],
"files": {
"whitelist": [
-// Created by diff scripts/chrome_ui_languages.list scripts/accept_lang.list|egrep "^>"|egrep -v "#"|cut -c3-10
+// 1. Created by diff scripts/chrome_ui_languages.list scripts/accept_lang.list|egrep "^>"|egrep -v "#"|cut -c3-10
+// 2. Add EXTRA_LANGUAGES="bn et gu kn ml mr ms ta te" based on
+// https://cs.chromium.org/chromium/src/third_party/icu/cast/patch_locale.sh?rcl=797b7c
+// # Chrome on Android is not localized to the following languages and we
+// # have to minimize the locale data for them.
"ach",
"af",
"ak",
@@ -1711,6 +1424,7 @@
"be",
"bem",
"bh",
+ "bn",
"br",
"bs",
"ccp",
@@ -1722,6 +1436,7 @@
"cy",
"ee",
"eo",
+ "et",
"eu",
"fo",
"fy",
@@ -1730,6 +1445,7 @@
"gd",
"gl",
"gn",
+ "gu",
"ha",
"haw",
"hmn",
@@ -1744,6 +1460,7 @@
"kg",
"kk",
"km",
+ "kn",
"kri",
"ku",
"ky",
@@ -1758,8 +1475,10 @@
"mg",
"mi",
"mk",
+ "ml",
"mn",
- "mo",
+ "mr",
+ "ms",
"mt",
"my",
"ne",
@@ -1780,7 +1499,6 @@
"rn",
"rw",
"sd",
- "sh",
"si",
"sm",
"sn",
@@ -1788,10 +1506,11 @@
"sq",
"st",
"su",
+ "ta",
+ "te",
"tg",
"ti",
"tk",
- "tl",
"tn",
"to",
"tt",
@@ -1806,21 +1525,7 @@
"xx",
"yi",
"yo",
- "zu",
-// The following is added based on
-// https://cs.chromium.org/chromium/src/third_party/icu/cast/patch_locale.sh?rcl=797b7c
-// # Chrome on Android is not localized to the following languages and we
-// # have to minimize the locale data for them.
-// EXTRA_LANGUAGES="bn et gu kn ml mr ms ta te"
- "bn",
- "et",
- "gu",
- "kn",
- "ml",
- "mr",
- "ms",
- "ta",
- "te"
+ "zu"
]
},
"rules": [
diff --git a/chromium/third_party/icu/filters/cast.json b/chromium/third_party/icu/filters/cast.json
index 3291edbc3a9..88a4467e2cf 100644
--- a/chromium/third_party/icu/filters/cast.json
+++ b/chromium/third_party/icu/filters/cast.json
@@ -6,132 +6,147 @@
"collationUCAData": "implicithan",
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/locales/reslocal.mk?rcl=797b7c
+// Includes the items from GENRB_ALIAS_SOURCE and GENRB_SOURCE
"localeFilter": {
"whitelist": [
// Need to explicitly add "root"
"root",
-// # All aliases (to not be included under 'installed'), but not including root.
-// GENRB_ALIAS_SOURCE = $(GENRB_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_SG.txt\
-// no.txt in.txt iw.txt tl.txt sh.txt
- "zh_CN","zh_TW","zh_HK","zh_SG",
- "no","in","iw","tl",
-// # Ordinary resources
-// GENRB_SOURCE =\
-// .......
+
+ "af",
+ "ak",
"am",
+ "an",
"ar",
+ "ast",
+ "az",
+ "be",
+ "bem",
"bg",
"bn",
+ "br",
+ "bs",
"ca",
+ "ckb",
"cs",
+ "cy",
"da",
"de",
+ "ee",
"el",
"en",
"en_AU",
"en_CA",
"en_GB",
"en_US",
- "es","es_ES","es_419","es_AR","es_MX","es_US",
+ "eo",
+ "es",
+ "es_419",
+ "es_AR",
+ "es_ES",
+ "es_MX",
+ "es_US",
"et",
+ "eu",
"fa",
"fi",
"fil",
+ "fo",
"fr",
+ "ga",
+ "gl",
"gu",
+ "ha",
+ "haw",
"he",
"hi",
"hr",
"hr_BA",
"hu",
- "id",
- "it","it_CH",
- "ja",
- "kn",
- "ko",
- "lt",
- "lv",
- "ml",
- "mr",
- "ms",
- "nb",
- "nl",
- "pl",
- "pt","pt_BR","pt_PT",
- "ro",
- "ru",
- "sk",
- "sl",
- "sr",
- "sv",
- "sw",
- "ta",
- "te",
- "th",
- "tr",
- "uk",
- "vi",
- "zh","zh_Hans","zh_Hans_CN","zh_Hans_SG",
- "zh_Hant","zh_Hant_TW","zh_Hant_HK",
- "af",
- "ak",
- "an",
- "ast",
- "az",
- "be",
- "bem",
- "br",
- "bs",
- "ckb",
- "cy",
- "ee",
- "eo",
- "eu",
- "fo",
- "ga",
- "gl",
- "ha",
- "haw",
"hy",
+ "id",
"ig",
+ "in",
"is",
+ "it",
+ "it_CH",
+ "iw",
+ "ja",
"ka",
"kk",
"km",
+ "kn",
+ "ko",
"ku",
"ky",
"lg",
"ln",
"lo",
+ "lt",
+ "lv",
"mfe",
"mg",
"mk",
+ "ml",
"mn",
- "mo","ro_MD",
+ "mo",
+ "mr",
+ "ms",
"mt",
"my",
+ "nb",
"ne",
+ "nl",
"nn",
+ "no",
"nyn",
"om",
"or",
"pa",
+ "pl",
"ps",
+ "pt",
+ "pt_BR",
+ "pt_PT",
"rm",
"rn",
+ "ro",
+ "ro_MD",
+ "ru",
"rw",
"si",
+ "sk",
+ "sl",
"sn",
"so",
"sq",
+ "sr",
+ "sv",
+ "sw",
+ "ta",
+ "te",
"tg",
+ "th",
"ti",
+ "tl",
"to",
+ "tr",
+ "uk",
"ur",
"uz",
+ "vi",
"wa",
"yo",
+ "zh",
+ "zh_CN",
+ "zh_HK",
+ "zh_Hans",
+ "zh_Hans_CN",
+ "zh_Hans_SG",
+ "zh_Hant",
+ "zh_Hant_HK",
+ "zh_Hant_TW",
+ "zh_SG",
+ "zh_TW",
"zu"
]
},
@@ -222,92 +237,250 @@
},
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/curr/reslocal.mk?rcl=797b7c
+// Includes the items from CURR_ALIAS_SOURCE and CURR_SOURCE
+// Removed locales per cast/patch_locale.sh:
+// "bn", "et", "gu", "kn", "ml", "mr", "ms", "ta", "te"
"curr_tree": {
"whitelist": [
// Need to explicitly add "root"
"root",
-// # All aliases (to not be included under 'installed'), but not including root.
-// CURR_ALIAS_SOURCE = $(CURR_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_MO.txt zh_SG.txt\
-// mo.txt no.txt in.txt iw.txt tl.txt ar_SA.txt
- "zh_CN", "zh_TW", "zh_HK", "zh_MO", "zh_SG",
- "mo", "no", "in", "iw", "tl", "ar_SA",
-// # Ordinary resources
-// CURR_SOURCE =\
-// ...
+
"am",
- "ar", "ar_AE", "ar_DJ", "ar_ER", "ar_KM",
- "ar_LB", "ar_SO", "ar_SS",
+ "ar",
+ "ar_AE",
+ "ar_DJ",
+ "ar_ER",
+ "ar_KM",
+ "ar_LB",
+ "ar_SA",
+ "ar_SO",
+ "ar_SS",
"bg",
-// cast/patch_locale.sh remove "bn",
"ca",
"cs",
"da",
- "de", "de_CH", "de_LI", "de_LU",
+ "de",
+ "de_CH",
+ "de_LI",
+ "de_LU",
"el",
- "en", "en_001", "en_150",
- "en_AU", "en_CA", "en_GB", "en_HK", "en_IN", "en_NG", "en_NZ", "en_SG", "en_ZA",
- "en_AG", "en_AI", "en_AT", "en_BB", "en_BE", "en_BI", "en_BM", "en_BS", "en_BW",
- "en_BZ", "en_CC", "en_CH", "en_CK", "en_CM", "en_CX", "en_CY", "en_DE", "en_DG",
- "en_DK", "en_DM", "en_ER", "en_FI", "en_FJ", "en_FK", "en_FM", "en_GD", "en_GG",
- "en_GH", "en_GI", "en_GM", "en_GY", "en_IE", "en_IL", "en_IM", "en_IO", "en_JE",
- "en_JM", "en_KE", "en_KI", "en_KN", "en_KY", "en_LC", "en_LR", "en_LS", "en_MG",
- "en_MO", "en_MS", "en_MT", "en_MU", "en_MW", "en_MY", "en_NA", "en_NF", "en_NH",
- "en_NL", "en_NR", "en_NU", "en_PG", "en_PH", "en_PK", "en_PN", "en_PW", "en_RH",
- "en_RW", "en_SB", "en_SC", "en_SD", "en_SE", "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_VC", "en_VG", "en_VU", "en_WS", "en_ZM", "en_ZW",
- "es", "es_419", "es_AR", "es_BO", "es_BR", "es_BZ", "es_CL",
- "es_CO", "es_CR", "es_CU", "es_DO", "es_EC", "es_GQ", "es_GT",
- "es_HN", "es_MX", "es_NI", "es_PA", "es_PE", "es_PH", "es_PR",
- "es_PY", "es_SV", "es_US", "es_UY", "es_VE",
-// cast/patch_locale.sh remove "et",
+ "en",
+ "en_001",
+ "en_150",
+ "en_AG",
+ "en_AI",
+ "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_DG",
+ "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_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_MO",
+ "en_MS",
+ "en_MT",
+ "en_MU",
+ "en_MW",
+ "en_MY",
+ "en_NA",
+ "en_NF",
+ "en_NG",
+ "en_NH",
+ "en_NL",
+ "en_NR",
+ "en_NU",
+ "en_NZ",
+ "en_PG",
+ "en_PH",
+ "en_PK",
+ "en_PN",
+ "en_PW",
+ "en_RH",
+ "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_VC",
+ "en_VG",
+ "en_VU",
+ "en_WS",
+ "en_ZA",
+ "en_ZM",
+ "en_ZW",
+ "es",
+ "es_419",
+ "es_AR",
+ "es_BO",
+ "es_BR",
+ "es_BZ",
+ "es_CL",
+ "es_CO",
+ "es_CR",
+ "es_CU",
+ "es_DO",
+ "es_EC",
+ "es_GQ",
+ "es_GT",
+ "es_HN",
+ "es_MX",
+ "es_NI",
+ "es_PA",
+ "es_PE",
+ "es_PH",
+ "es_PR",
+ "es_PY",
+ "es_SV",
+ "es_US",
+ "es_UY",
+ "es_VE",
"fa",
"fi",
"fil",
- "fr", "fr_CA",
- "fr_BI", "fr_CD", "fr_DJ", "fr_DZ", "fr_GN", "fr_HT",
- "fr_KM", "fr_LU", "fr_MG", "fr_MR", "fr_MU", "fr_RW",
- "fr_SC", "fr_SY", "fr_TN", "fr_VU",
-// cast/patch_locale.sh remove "gu",
+ "fr",
+ "fr_BI",
+ "fr_CA",
+ "fr_CD",
+ "fr_DJ",
+ "fr_DZ",
+ "fr_GN",
+ "fr_HT",
+ "fr_KM",
+ "fr_LU",
+ "fr_MG",
+ "fr_MR",
+ "fr_MU",
+ "fr_RW",
+ "fr_SC",
+ "fr_SY",
+ "fr_TN",
+ "fr_VU",
"he",
"hi",
"hr",
"hr_BA",
"hu",
"id",
+ "in",
"it",
+ "iw",
"ja",
-// cast/patch_locale.sh remove "kn",
"ko",
"lt",
"lv",
-// cast/patch_locale.sh remove "ml",
-// cast/patch_locale.sh remove "mr",
-// cast/patch_locale.sh remove "ms",
+ "mo",
"nb",
"nl",
+ "no",
"pl",
- "pt", "pt_PT",
- "pt_AO", "pt_CV", "pt_LU", "pt_MO", "pt_MZ", "pt_ST",
- "ro", "ro_MD",
+ "pt",
+ "pt_AO",
+ "pt_CV",
+ "pt_LU",
+ "pt_MO",
+ "pt_MZ",
+ "pt_PT",
+ "pt_ST",
+ "ro",
+ "ro_MD",
"ru",
"sk",
"sl",
- "sr", "sr_BA", "sr_CS", "sr_ME", "sr_RS", "sr_XK",
- "sr_Cyrl", "sr_Cyrl_BA", "sr_Cyrl_CS", "sr_Cyrl_RS", "sr_Cyrl_XK",
- "sr_Latn", "sr_Latn_BA", "sr_Latn_CS", "sr_Latn_ME", "sr_Latn_RS",
+ "sr",
+ "sr_BA",
+ "sr_CS",
+ "sr_Cyrl",
+ "sr_Cyrl_BA",
+ "sr_Cyrl_CS",
+ "sr_Cyrl_RS",
+ "sr_Cyrl_XK",
+ "sr_Latn",
+ "sr_Latn_BA",
+ "sr_Latn_CS",
+ "sr_Latn_ME",
+ "sr_Latn_RS",
+ "sr_ME",
+ "sr_RS",
+ "sr_XK",
"sv",
- "sw", "sw_CD", "sw_UG",
-// cast/patch_locale.sh remove "ta",
-// cast/patch_locale.sh remove "te",
+ "sw",
+ "sw_CD",
+ "sw_UG",
"th",
+ "tl",
"tr",
"uk",
"vi",
"zh",
- "zh_Hans", "zh_Hans_CN", "zh_Hans_SG", "zh_Hans_HK", "zh_Hans_MO",
- "zh_Hant", "zh_Hant_TW", "zh_Hant_HK", "zh_Hant_MO"
+ "zh_CN",
+ "zh_HK",
+ "zh_Hans",
+ "zh_Hans_CN",
+ "zh_Hans_HK",
+ "zh_Hans_MO",
+ "zh_Hans_SG",
+ "zh_Hant",
+ "zh_Hant_HK",
+ "zh_Hant_MO",
+ "zh_Hant_TW",
+ "zh_MO",
+ "zh_SG",
+ "zh_TW"
]
},
"confusables": { "filterType": "exclude" },
@@ -322,128 +495,139 @@
},
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/lang/reslocal.mk?rcl=797b7c
+// Includes the items from LANG_ALIAS_SOURCE and LANG_SOURCE
"lang_tree": {
"whitelist": [
// Need to explicitly add "root"
"root",
-// # All aliases (to not be included under 'installed'), but not including root.
-// LANG_ALIAS_SOURCE = $(LANG_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_SG.txt\
-// no.txt in.txt iw.txt tl.txt sh.txt
- "zh_CN", "zh_TW", "zh_HK", "zh_SG",
- "no", "in", "iw", "tl", "sh",
-// # Ordinary resources
-// LANG_SOURCE =\
-// ...
- "am",
- "ar",
- "bg",
- "bn",
- "ca",
- "cs",
- "da",
- "de",
- "el",
- "en", "en_GB",
- "es", "es_419",
- "et",
- "fa",
- "fi",
- "fil",
- "fr",
- "gu",
- "he",
- "hi",
- "hr",
- "hu",
- "id",
- "it",
- "ja",
- "kn",
- "ko",
- "lt",
- "lv",
- "ml",
- "mr",
- "ms",
- "nb",
- "nl",
- "pl",
- "pt", "pt_PT",
- "ro",
- "ru",
- "sk",
- "sl",
- "sr",
- "sv",
- "sw",
- "ta",
- "te",
- "th",
- "tr",
- "uk",
- "vi",
- "zh", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
- "zh_Hant", "zh_Hant_TW", "zh_Hant_HK",
+
"af",
"ak",
+ "am",
"an",
+ "ar",
"ast",
"az",
"be",
"bem",
+ "bg",
+ "bn",
"br",
"bs",
+ "ca",
"ckb",
+ "cs",
"cy",
+ "da",
+ "de",
"ee",
+ "el",
+ "en",
+ "en_GB",
"eo",
+ "es",
+ "es_419",
+ "et",
"eu",
+ "fa",
+ "fi",
+ "fil",
"fo",
+ "fr",
"ga",
"gl",
+ "gu",
"ha",
"haw",
+ "he",
+ "hi",
+ "hr",
+ "hu",
"hy",
+ "id",
"ig",
+ "in",
"is",
+ "it",
+ "iw",
+ "ja",
"ka",
"kk",
"km",
+ "kn",
+ "ko",
"ku",
"ky",
"lg",
"ln",
"lo",
+ "lt",
+ "lv",
"mfe",
"mg",
"mk",
+ "ml",
"mn",
- "mo", "ro_MD",
+ "mo",
+ "mr",
+ "ms",
"mt",
"my",
+ "nb",
"ne",
+ "nl",
"nn",
+ "no",
"nyn",
"om",
"or",
"pa",
+ "pl",
"ps",
+ "pt",
+ "pt_PT",
"rm",
"rn",
+ "ro",
+ "ro_MD",
+ "ru",
"rw",
+ "sh",
"si",
+ "sk",
+ "sl",
"sn",
"so",
"sq",
+ "sr",
"sr_Latn",
+ "sv",
+ "sw",
+ "ta",
+ "te",
"tg",
+ "th",
"ti",
+ "tl",
"to",
+ "tr",
+ "uk",
"ur",
"uz",
+ "vi",
"wa",
"yo",
+ "zh",
+ "zh_CN",
+ "zh_HK",
+ "zh_Hans",
+ "zh_Hans_CN",
+ "zh_Hans_SG",
+ "zh_Hant",
+ "zh_Hant_HK",
+ "zh_Hant_TW",
+ "zh_SG",
+ "zh_TW",
"zu"
]
},
@@ -464,19 +648,12 @@
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/region/reslocal.mk?rcl=797b7c
+// Includes the items from REGION_ALIAS_SOURCE and REGION_SOURCE
"region_tree": {
"whitelist": [
// Need to explicitly add "root"
"root",
-// # All aliases (to not be included under 'installed'), but not including root.
-// REGION_ALIAS_SOURCE = $(REGION_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_SG.txt\
-// no.txt in.txt iw.txt tl.txt
- "zh_CN", "zh_TW", "zh_HK", "zh_SG",
- "no", "in", "iw", "tl",
-// # Ordinary resources
-// REGION_SOURCE =\
-// ...
+
"am",
"ar",
"bg",
@@ -486,8 +663,10 @@
"da",
"de",
"el",
- "en", "en_GB",
- "es", "es_419",
+ "en",
+ "en_GB",
+ "es",
+ "es_419",
"et",
"fa",
"fi",
@@ -499,7 +678,9 @@
"hr",
"hu",
"id",
+ "in",
"it",
+ "iw",
"ja",
"kn",
"ko",
@@ -510,8 +691,10 @@
"ms",
"nb",
"nl",
+ "no",
"pl",
- "pt", "pt_PT",
+ "pt",
+ "pt_PT",
"ro",
"ru",
"sk",
@@ -522,11 +705,21 @@
"ta",
"te",
"th",
+ "tl",
"tr",
"uk",
"vi",
- "zh", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
- "zh_Hant", "zh_Hant_TW", "zh_Hant_HK"
+ "zh",
+ "zh_CN",
+ "zh_HK",
+ "zh_Hans",
+ "zh_Hans_CN",
+ "zh_Hans_SG",
+ "zh_Hant",
+ "zh_Hant_HK",
+ "zh_Hant_TW",
+ "zh_SG",
+ "zh_TW"
]
},
// Based on the ICU63 version of
@@ -544,57 +737,61 @@
},
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/zone/reslocal.mk?rcl=797b7c
+// Includes the items from ZONE_ALIAS_SOURCE and ZONE_SOURC
+// Removed locales per cast/patch_locale.sh:
+// "bn", "et", "gu", "kn", "ml", "mr", "ms", "ta", "te"
"zone_tree": {
"whitelist": [
// Need to explicitly add "root"
"root",
// Need to explicitly add "tzdbNames"
"tzdbNames",
-// # All aliases (to not be included under 'installed'), but not including root.
-// ZONE_ALIAS_SOURCE = $(ZONE_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_SG",
-// no.txt in.txt iw.txt
- "zh_CN", "zh_TW", "zh_HK", "zh_SG",
- "no", "in", "iw",
-// # Ordinary resources
-// ZONE_SOURCE =\
-// ...
+
"am",
"ar",
"bg",
-// cast/patch_locale.sh remove "bn",
"ca",
"cs",
"da",
"de",
"el",
- "en", "en_001", "en_150",
- "en_AU", "en_CA", "en_GB", "en_IN", "en_NZ", "en_ZA",
- "es", "es_419", "es_MX", "es_AR", "es_US",
-// cast/patch_locale.sh remove "et",
+ "en",
+ "en_001",
+ "en_150",
+ "en_AU",
+ "en_CA",
+ "en_GB",
+ "en_IN",
+ "en_NZ",
+ "en_ZA",
+ "es",
+ "es_419",
+ "es_AR",
+ "es_MX",
+ "es_US",
"fa",
"fi",
"fil",
- "fr", "fr_CA",
-// cast/patch_locale.sh remove "gu",
+ "fr",
+ "fr_CA",
"he",
"hi",
"hr",
"hu",
"id",
+ "in",
"it",
+ "iw",
"ja",
-// cast/patch_locale.sh remove "kn",
"ko",
"lt",
"lv",
-// cast/patch_locale.sh remove "ml",
-// cast/patch_locale.sh remove "mr",
-// cast/patch_locale.sh remove "ms",
"nb",
"nl",
+ "no",
"pl",
- "pt", "pt_PT",
+ "pt",
+ "pt_PT",
"ro",
"ru",
"sk",
@@ -602,14 +799,21 @@
"sr",
"sv",
"sw",
-// cast/patch_locale.sh remove "ta",
-// cast/patch_locale.sh remove "te",
"th",
"tr",
"uk",
"vi",
- "zh", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
- "zh_Hant", "zh_Hant_TW", "zh_Hant_HK"
+ "zh",
+ "zh_CN",
+ "zh_HK",
+ "zh_Hans",
+ "zh_Hans_CN",
+ "zh_Hans_SG",
+ "zh_Hant",
+ "zh_Hant_HK",
+ "zh_Hant_TW",
+ "zh_SG",
+ "zh_TW"
]
},
// Based on
@@ -1813,17 +2017,18 @@
],
"files": {
"blacklist": [
- "th",
- "zh",
- "ko",
- "am",
- "he",
- "ar",
+ "root",
+
"fa",
- "ja",
"hi",
- "zh_Hant",
- "root"
+ "ja",
+ "am",
+ "ar",
+ "he",
+ "ko",
+ "th",
+ "zh",
+ "zh_Hant"
]
},
"rules": [
@@ -1841,7 +2046,11 @@
],
"files": {
"whitelist": [
-// Created by diff scripts/chrome_ui_languages.list scripts/accept_lang.list|egrep "^>"|egrep -v "#"|cut -c3-10
+// 1. Created by diff scripts/chrome_ui_languages.list scripts/accept_lang.list|egrep "^>"|egrep -v "#"|cut -c3-10
+// 2. Add locales EXTRA_LANGUAGES="bn et gu kn ml mr ms ta te" per
+// https://cs.chromium.org/chromium/src/third_party/icu/cast/patch_locale.sh?rcl=797b7c
+// # Chrome on Android is not localized to the following languages and we
+// # have to minimize the locale data for them.
"ach",
"af",
"ak",
@@ -1852,6 +2061,7 @@
"be",
"bem",
"bh",
+ "bn",
"br",
"bs",
"ccp",
@@ -1863,6 +2073,7 @@
"cy",
"ee",
"eo",
+ "et",
"eu",
"fo",
"fy",
@@ -1871,6 +2082,7 @@
"gd",
"gl",
"gn",
+ "gu",
"ha",
"haw",
"hmn",
@@ -1885,6 +2097,7 @@
"kg",
"kk",
"km",
+ "kn",
"kri",
"ku",
"ky",
@@ -1899,8 +2112,11 @@
"mg",
"mi",
"mk",
+ "ml",
"mn",
"mo",
+ "mr",
+ "ms",
"mt",
"my",
"ne",
@@ -1929,6 +2145,8 @@
"sq",
"st",
"su",
+ "ta",
+ "te",
"tg",
"ti",
"tk",
@@ -1947,21 +2165,7 @@
"xx",
"yi",
"yo",
- "zu",
-// The following is added based on
-// https://cs.chromium.org/chromium/src/third_party/icu/cast/patch_locale.sh?rcl=797b7c
-// # Chrome on Android is not localized to the following languages and we
-// # have to minimize the locale data for them.
-// EXTRA_LANGUAGES="bn et gu kn ml mr ms ta te"
- "bn",
- "et",
- "gu",
- "kn",
- "ml",
- "mr",
- "ms",
- "ta",
- "te"
+ "zu"
]
},
"rules": [
diff --git a/chromium/third_party/icu/filters/chromeos.json b/chromium/third_party/icu/filters/chromeos.json
index 7b25a47cdfa..bef7c2e1809 100644
--- a/chromium/third_party/icu/filters/chromeos.json
+++ b/chromium/third_party/icu/filters/chromeos.json
@@ -6,229 +6,142 @@
"collationUCAData": "implicithan",
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/locales/reslocal.mk?rcl=797b7c
+// Includes the items from GENRB_ALIAS_SOURCE and GENRB_SOURCE
"localeFilter": {
+ "filterType": "language",
"whitelist": [
// Need to explicitly add "root"
"root",
-// # All aliases (to not be included under 'installed'), but not including root.
-// GENRB_ALIAS_SOURCE = $(GENRB_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_SG.txt\
-// no.txt in.txt iw.txt tl.txt sh.txt
- "zh_CN","zh_TW","zh_HK","zh_SG",
- "no","in","iw","tl","sh",
-// # Ordinary resources
-// GENRB_SOURCE =\
-// .......
- "am",
- "ar","ar_001","ar_AE","ar_BH","ar_DJ",
- "ar_DZ","ar_EG","ar_EH","ar_ER","ar_IL",
- "ar_IQ","ar_JO","ar_KM","ar_KW","ar_LB",
- "ar_LY","ar_MA","ar_MR","ar_OM","ar_PS",
- "ar_QA","ar_SA","ar_SD","ar_SO","ar_SS",
- "ar_SY","ar_TD","ar_TN","ar_YE",
- "bg",
- "bn",
- "ca",
- "cs",
- "da",
- "de","de_AT","de_BE","de_CH","de_IT","de_LI","de_LU",
- "el",
- "en","en_001","en_150","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_DG","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_US_POSIX","en_VC","en_VG","en_VI",
- "en_VU","en_WS","en_ZA","en_ZM","en_ZW",
- "es","es_ES","es_419","es_AR","es_MX","es_US",
- "es_BO","es_BR","es_BZ","es_CL","es_CO","es_CR","es_CU",
- "es_DO","es_EA","es_EC","es_GQ","es_GT","es_HN","es_IC",
- "es_NI","es_PA","es_PE","es_PH","es_PR","es_PY","es_SV",
- "es_UY","es_VE",
- "et",
- "fa",
- "fi",
- "fil",
- "fr","fr_BE","fr_BF","fr_BI",
- "fr_BJ","fr_BL","fr_CA","fr_CD","fr_CF",
- "fr_CG","fr_CH","fr_CI","fr_CM","fr_DJ",
- "fr_DZ","fr_FR","fr_GA","fr_GF","fr_GN",
- "fr_GP","fr_GQ","fr_HT","fr_KM","fr_LU",
- "fr_MA","fr_MC","fr_MF","fr_MG","fr_ML",
- "fr_MQ","fr_MR","fr_MU","fr_NC","fr_NE",
- "fr_PF","fr_PM","fr_RE","fr_RW","fr_SC",
- "fr_SN","fr_SY","fr_TD","fr_TG","fr_TN",
- "fr_VU","fr_WF","fr_YT",
- "gu",
- "he",
- "hi",
- "hr",
- "hr_BA",
- "hu",
- "id",
- "it","it_CH",
- "ja",
- "kn",
- "ko",
- "lt",
- "lv",
- "ml",
- "mr",
- "ms",
- "nb",
- "nl","nl_AW","nl_BE","nl_BQ","nl_CW","nl_NL",
- "nl_SR","nl_SX",
- "pl",
- "pt","pt_AO","pt_BR","pt_CH","pt_CV",
- "pt_GQ","pt_GW","pt_LU","pt_MO","pt_MZ",
- "pt_PT","pt_ST","pt_TL",
- "ro",
- "ru","ru_BY","ru_KG","ru_KZ","ru_MD","ru_RU","ru_UA",
- "sk",
- "sl",
- "sr","sr_BA","sr_CS","sr_ME","sr_RS","sr_XK",
- "sr_Cyrl","sr_Cyrl_BA","sr_Cyrl_CS","sr_Cyrl_ME",
- "sr_Cyrl_RS","sr_Cyrl_XK",
- "sr_Latn","sr_Latn_BA","sr_Latn_CS","sr_Latn_ME",
- "sr_Latn_RS","sr_Latn_XK",
- "sv",
- "sw","sw_CD","sw_KE",
- "ta",
- "te",
- "th",
- "tr",
- "uk",
- "vi",
- "zh","zh_Hans","zh_Hans_CN","zh_Hans_SG",
- "zh_Hant","zh_Hant_TW","zh_Hant_HK",
+
"af",
"ak",
+ "am",
"an",
+ "ar",
"ast",
"az",
"be",
"bem",
+ "bg",
+ "bn",
"br",
"bs",
+ "ca",
"ckb",
+ "cs",
"cy",
+ "da",
+ "de",
"ee",
+ "el",
+ "en",
"eo",
+ "es",
+ "et",
"eu",
+ "fa",
+ "fi",
+ "fil",
"fo",
+ "fr",
"ga",
"gl",
+ "gu",
"ha",
"haw",
+ "he",
+ "hi",
+ "hr",
+ "hu",
"hy",
+ "id",
"ig",
+ "in",
"is",
+ "it",
+ "iw",
+ "ja",
"ka",
"kk",
"km",
+ "kn",
+ "ko",
"ku",
"ky",
"lg",
"ln",
"lo",
+ "lt",
+ "lv",
"mfe",
"mg",
"mk",
+ "ml",
"mn",
- "mo","ro_MD",
+ "mo",
+ "mr",
+ "ms",
"mt",
"my",
+ "nb",
"ne",
+ "nl",
"nn",
+ "no",
"nyn",
"om",
"or",
"pa",
+ "pl",
"ps",
+ "pt",
"rm",
"rn",
+ "ro",
+ "ru",
"rw",
+ "sh",
"si",
+ "sk",
+ "sl",
"sn",
"so",
"sq",
+ "sr",
+ "sv",
+ "sw",
+ "ta",
+ "te",
"tg",
+ "th",
"ti",
+ "tl",
"to",
+ "tr",
+ "uk",
"ur",
"uz",
+ "vi",
"wa",
"yo",
+ "zh",
"zu"
]
},
"featureFilters": {
-// Based on the ICU63 version of
-// https://cs.chromium.org/chromium/src/third_party/icu/source/data/brkitr/brklocal.mk?rcl=797b7c
-// # List of dictionary files (dict).
-// BRK_DICT_SOURCE = burmesedict.txt cjdict.txt khmerdict.txt laodict.txt\
-// thaidict.txt
- "brkitr_dictionaries": {
- "whitelist": [
- "burmesedict",
- "cjdict",
- "khmerdict",
- "laodict",
- "thaidict"
- ]
- },
-// # List of break iterator files (brk).
-// BRK_SOURCE = char.txt line.txt line_loose.txt line_loose_cj.txt\
-// line_normal.txt line_normal_cj.txt sent.txt sent_el.txt title.txt\
-// word.txt
+// "brkitr_dictionaries": { everything }
"brkitr_rules": {
- "whitelist": [
- "char",
- "line",
- "line_loose",
- "line_loose_cj",
- "line_normal",
- "line_normal_cj",
- "sent",
- "sent_el",
+ "blacklist": [
+// Exclude line_cj till we upgrade to 68.1 due to size impact.
+ "line_cj",
"title",
- "word"
+ "word_POSIX",
+ "word_ja"
]
},
-// # Ordinary resources
-// BRK_RES_SOURCE = de.txt el.txt en.txt en_US.txt\
-// es.txt fr.txt it.txt ja.txt\
-// pt.txt ru.txt zh.txt zh_Hant.txt
"brkitr_tree": {
- "whitelist": [
-// Need to explicitly add "root"
- "root",
- "de",
- "el",
- "en",
- "en_US",
- "es",
- "fr",
- "it",
- "ja",
- "pt",
- "ru",
- "zh",
- "zh_Hant"
+ "blacklist": [
+ "en_US_POSIX"
]
},
// Based on the ICU63 version of
@@ -273,289 +186,161 @@
},
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/curr/reslocal.mk?rcl=797b7c
+// Includes the items from CURR_ALIAS_SOURCE and CURR_SOURCE
"curr_tree": {
+ "filterType": "language",
"whitelist": [
// Need to explicitly add "root"
"root",
-// # All aliases (to not be included under 'installed'), but not including root.
-// CURR_ALIAS_SOURCE = $(CURR_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_MO.txt zh_SG.txt\
-// mo.txt no.txt in.txt iw.txt tl.txt ar_SA.txt
- "zh_CN", "zh_TW", "zh_HK", "zh_MO", "zh_SG",
- "mo", "no", "in", "iw", "tl", "ar_SA",
-// # Ordinary resources
-// CURR_SOURCE =\
-// ...
+
"am",
- "ar", "ar_AE", "ar_DJ", "ar_ER", "ar_KM",
- "ar_LB", "ar_SO", "ar_SS",
+ "ar",
"bg",
"bn",
"ca",
"cs",
"da",
- "de", "de_CH", "de_LI", "de_LU",
+ "de",
"el",
- "en", "en_001", "en_150",
- "en_AU", "en_CA", "en_GB", "en_HK", "en_IN", "en_NG", "en_NZ", "en_SG", "en_ZA",
- "en_AG", "en_AI", "en_AT", "en_BB", "en_BE", "en_BI", "en_BM", "en_BS", "en_BW",
- "en_BZ", "en_CC", "en_CH", "en_CK", "en_CM", "en_CX", "en_CY", "en_DE", "en_DG",
- "en_DK", "en_DM", "en_ER", "en_FI", "en_FJ", "en_FK", "en_FM", "en_GD", "en_GG",
- "en_GH", "en_GI", "en_GM", "en_GY", "en_IE", "en_IL", "en_IM", "en_IO", "en_JE",
- "en_JM", "en_KE", "en_KI", "en_KN", "en_KY", "en_LC", "en_LR", "en_LS", "en_MG",
- "en_MO", "en_MS", "en_MT", "en_MU", "en_MW", "en_MY", "en_NA", "en_NF", "en_NH",
- "en_NL", "en_NR", "en_NU", "en_PG", "en_PH", "en_PK", "en_PN", "en_PW", "en_RH",
- "en_RW", "en_SB", "en_SC", "en_SD", "en_SE", "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_VC", "en_VG", "en_VU", "en_WS", "en_ZM", "en_ZW",
- "es", "es_419", "es_AR", "es_BO", "es_BR", "es_BZ", "es_CL",
- "es_CO", "es_CR", "es_CU", "es_DO", "es_EC", "es_GQ", "es_GT",
- "es_HN", "es_MX", "es_NI", "es_PA", "es_PE", "es_PH", "es_PR",
- "es_PY", "es_SV", "es_US", "es_UY", "es_VE",
+ "en",
+ "es",
"et",
"fa",
"fi",
"fil",
- "fr", "fr_CA",
- "fr_BI", "fr_CD", "fr_DJ", "fr_DZ", "fr_GN", "fr_HT",
- "fr_KM", "fr_LU", "fr_MG", "fr_MR", "fr_MU", "fr_RW",
- "fr_SC", "fr_SY", "fr_TN", "fr_VU",
+ "fr",
"gu",
"he",
"hi",
"hr",
- "hr_BA",
"hu",
"id",
+ "in",
"it",
+ "iw",
"ja",
"kn",
"ko",
"lt",
"lv",
"ml",
+ "mo",
"mr",
"ms",
"nb",
"nl",
+ "no",
"pl",
- "pt", "pt_PT",
- "pt_AO", "pt_CV", "pt_LU", "pt_MO", "pt_MZ", "pt_ST",
- "ro", "ro_MD",
+ "pt",
+ "ro",
"ru",
+ "sh",
"sk",
"sl",
- "sr", "sr_BA", "sr_CS", "sr_ME", "sr_RS", "sr_XK",
- "sr_Cyrl", "sr_Cyrl_BA", "sr_Cyrl_CS", "sr_Cyrl_RS", "sr_Cyrl_XK",
- "sr_Latn", "sr_Latn_BA", "sr_Latn_CS", "sr_Latn_ME", "sr_Latn_RS",
+ "sr",
"sv",
- "sw", "sw_CD", "sw_UG",
+ "sw",
"ta",
"te",
"th",
+ "tl",
"tr",
"uk",
"vi",
- "zh",
- "zh_Hans", "zh_Hans_CN", "zh_Hans_SG", "zh_Hans_HK", "zh_Hans_MO",
- "zh_Hant", "zh_Hant_TW", "zh_Hant_HK", "zh_Hant_MO"
+ "zh"
]
},
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/coll/collocal.mk?rcl=797b7c
+// Includes the items from COLLATION_SYNTHETIC_ALIAS and COLLATION_SOURCE
"coll_tree": {
- "whitelist": [
+ "filterType": "union",
+ "unionOf": [
+ {
+ "whitelist": [
+ "en",
+ "en_US"
+ ]
+ },
+ {
+ "filterType": "language",
+ "whitelist": [
// Need to explicitly add "root"
- "root",
-// # Aliases which do not have a corresponding xx.xml file (see icu-config.xml & build.xml)
-// COLLATION_SYNTHETIC_ALIAS = ...
- "de_", "de__PHONEBOOK", "es_", "es__TRADITIONAL",
- "he_IL", "id_ID", "in", "in_ID", "iw",
- "iw_IL", "mo", "nb_NO", "no", "no_NO",
- "ro_MD", "sh",
- "sh_BA", "sh_CS", "sh_YU", "sr_BA", "sr_Cyrl",
- "sr_Cyrl_BA", "sr_Cyrl_ME", "sr_Cyrl_RS", "sr_Latn_BA", "sr_Latn_RS",
- "sr_ME", "sr_RS",
- "zh_CN", "zh_HK", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
- "zh_Hant_HK", "zh_Hant_MO", "zh_Hant_TW", "zh_MO", "zh_SG",
- "zh_TW",
-// # Ordinary resources
-// COLLATION_SOURCE = ...
- "am", "ar",
- "bg", "bn", "ca",
- "cs",
- "da", "de", "de_AT",
- "el", "en", "en_US", "es", "et",
- "fa", "fi", "fil",
- "fr", "fr_CA",
- "gu",
- "he", "hi", "hr", "hu",
- "id", "it",
- "ja",
- "kn", "ko",
- "lt", "lv",
- "ml", "mr", "ms",
- "nb", "nn",
- "pl", "pt",
- "ro", "ru",
- "sk", "sl", "sr", "sr_Latn", "sv", "sw",
- "ta", "te", "th", "tr",
- "uk",
- "vi",
- "zh", "zh_Hant"
- ]
- },
-// Based on the ICU63 version of
-// https://cs.chromium.org/chromium/src/third_party/icu/source/data/lang/reslocal.mk?rcl=797b7c
- "lang_tree": {
- "whitelist": [
-// Need to explicitly add "root"
- "root",
-// # All aliases (to not be included under 'installed'), but not including root.
-// LANG_ALIAS_SOURCE = $(LANG_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_SG.txt\
-// no.txt in.txt iw.txt tl.txt sh.txt
- "zh_CN", "zh_TW", "zh_HK", "zh_SG",
- "no", "in", "iw", "tl", "sh",
-// # Ordinary resources
-// LANG_SOURCE =\
-// ...
- "am",
- "ar", "ar_SA", "ar_LY", "ar_EG",
- "bg",
- "bn",
- "ca",
- "cs",
- "da",
- "de", "de_AT", "de_CH",
- "el",
- "en", "en_GB", "en_CA", "en_AU", "en_IN", "en_001", "en_NZ",
- "es", "es_419",
- "et",
- "fa",
- "fi",
- "fil",
- "fr", "fr_CA", "fr_CH",
- "gu",
- "he",
- "hi",
- "hr",
- "hu",
- "id",
- "it",
- "ja",
- "kn",
- "ko",
- "lt",
- "lv",
- "ml",
- "mr",
- "ms",
- "nb",
- "nl",
- "pl",
- "pt", "pt_PT",
- "ro",
- "ru",
- "sk",
- "sl",
- "sr",
- "sv",
- "sw",
- "ta",
- "te",
- "th",
- "tr",
- "uk",
- "vi",
- "zh", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
- "zh_Hant", "zh_Hant_TW", "zh_Hant_HK",
- "af",
- "ak",
- "an",
- "ast",
- "az",
- "be",
- "bem",
- "br",
- "bs",
- "ckb",
- "cy",
- "ee",
- "eo",
- "eu",
- "fo",
- "ga",
- "gl",
- "ha",
- "haw",
- "hy",
- "ig",
- "is",
- "ka",
- "kk",
- "km",
- "ku",
- "ky",
- "lg",
- "ln",
- "lo",
- "mfe",
- "mg",
- "mk",
- "mn",
- "mo", "ro_MD",
- "mt",
- "my",
- "ne",
- "nn",
- "nyn",
- "om",
- "or",
- "pa",
- "ps",
- "rm",
- "rn",
- "rw",
- "si",
- "sn",
- "so",
- "sq",
- "sr_Latn",
- "tg",
- "ti",
- "to",
- "ur",
- "uz",
- "wa",
- "yo",
- "zu"
+ "root",
+
+ "am",
+ "ar",
+ "bg",
+ "bn",
+ "ca",
+ "cs",
+ "da",
+ "de",
+ "el",
+ "es",
+ "et",
+ "fa",
+ "fi",
+ "fil",
+ "fr",
+ "gu",
+ "he",
+ "hi",
+ "hr",
+ "hu",
+ "id",
+ "in",
+ "it",
+ "iw",
+ "ja",
+ "kn",
+ "ko",
+ "lt",
+ "lv",
+ "ml",
+ "mo",
+ "mr",
+ "ms",
+ "nb",
+ "nl",
+ "no",
+ "pl",
+ "pt",
+ "ro",
+ "ru",
+ "sh",
+ "sk",
+ "sl",
+ "sr",
+ "sv",
+ "sw",
+ "ta",
+ "te",
+ "th",
+ "tl",
+ "tr",
+ "uk",
+ "vi",
+ "zh"
+ ]
+ }
]
},
-// Based on the ICU63 version of
-// https://cs.chromium.org/chromium/src/third_party/icu/source/data/rbnf/rbnflocal.mk?rcl=797b7c
"rbnf_tree": {
"filterType": "exclude"
},
"rbnf_index": {
"filterType": "exclude"
},
-
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/region/reslocal.mk?rcl=797b7c
+// Includes the items from REGION_ALIAS_SOURCE and REGION_SOURCE
"region_tree": {
+ "filterType": "language",
"whitelist": [
// Need to explicitly add "root"
"root",
-// # All aliases (to not be included under 'installed'), but not including root.
-// REGION_ALIAS_SOURCE = $(REGION_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_SG.txt\
-// no.txt in.txt iw.txt tl.txt
- "zh_CN", "zh_TW", "zh_HK", "zh_SG",
- "no", "in", "iw", "tl",
-// # Ordinary resources
-// REGION_SOURCE =\
-// ...
+
"am",
"ar",
"bg",
@@ -565,34 +350,39 @@
"da",
"de",
"el",
- "en", "en_GB",
- "es", "es_419",
+ "en",
+ "es",
"et",
"fa",
"fi",
"fil",
- "fr", "fr_CA",
+ "fr",
"gu",
"he",
"hi",
"hr",
"hu",
"id",
+ "in",
"it",
+ "iw",
"ja",
"kn",
"ko",
"lt",
"lv",
"ml",
+ "mo",
"mr",
"ms",
"nb",
"nl",
+ "no",
"pl",
- "pt", "pt_PT",
+ "pt",
"ro",
"ru",
+ "sh",
"sk",
"sl",
"sr",
@@ -601,40 +391,26 @@
"ta",
"te",
"th",
+ "tl",
"tr",
"uk",
"vi",
- "zh", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
- "zh_Hant", "zh_Hant_TW", "zh_Hant_HK"
+ "zh"
]
},
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/sprep/spreplocal.mk?rcl=797b7c
- "stringprep": {
- "filterType": "exclude"
- },
-// Based on the ICU63 version of
-// https://cs.chromium.org/chromium/src/third_party/icu/source/data/translit/trnslocal.mk?rcl=797b7c
- "translit": {
- "whitelist": [
-// Need to explicitly add "root"
- "root"
- ]
- },
+ "stringprep": { "filterType": "exclude" },
+ "translit": { "filterType": "exclude" },
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/unit/reslocal.mk?rcl=797b7c
+// Includes the items from UNIT_ALIAS_SOURCE and UNIT_SOURCE
"unit_tree": {
+ "filterType": "language",
"whitelist": [
// Need to explicitly add "root"
"root",
-// # All aliases (to not be included under 'installed'), but not including root.
-// UNIT_ALIAS_SOURCE = $(UNIT_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_SG.txt\
-// no.txt in.txt iw.txt tl.txt sh.txt
- "zh_CN", "zh_TW", "zh_HK", "zh_SG",
- "no", "in", "iw", "tl", "sh",
-// # Ordinary resources
-// UNIT_SOURCE =\
+
"am",
"ar",
"bg",
@@ -642,91 +418,68 @@
"ca",
"cs",
"da",
- "de", "de_CH",
+ "de",
"el",
- "en", "en_001", "en_150",
- "en_AU", "en_CA", "en_GB", "en_IN", "en_NZ", "en_ZA",
- "en_AG", "en_AI", "en_AT", "en_BB", "en_BE", "en_BM",
- "en_BS", "en_BW", "en_BZ", "en_CC", "en_CH", "en_CK",
- "en_CM", "en_CX", "en_CY", "en_DE", "en_DG", "en_DK",
- "en_DM", "en_ER", "en_FI", "en_FJ", "en_FK", "en_FM",
- "en_GD", "en_GG", "en_GH", "en_GI", "en_GM", "en_GY",
- "en_HK", "en_IE", "en_IL", "en_IM", "en_IO",
- "en_JE", "en_JM", "en_KE", "en_KI", "en_KN", "en_KY",
- "en_LC", "en_LR", "en_LS", "en_MG", "en_MO", "en_MS",
- "en_MT", "en_MU", "en_MW", "en_MY", "en_NA", "en_NF",
- "en_NG", "en_NH", "en_NL", "en_NR", "en_NU", "en_PG",
- "en_PH", "en_PK", "en_PN", "en_PW", "en_RH", "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_VC", "en_VG", "en_VU", "en_WS", "en_ZM", "en_ZW",
- "es", "es_419", "es_AR", "es_MX", "es_US",
- "es_BO", "es_BR", "es_BZ", "es_CL", "es_CO", "es_CR",
- "es_CU", "es_DO", "es_EC", "es_GT", "es_HN", "es_NI",
- "es_PA", "es_PE", "es_PR", "es_PY", "es_SV", "es_UY", "es_VE",
+ "en",
+ "es",
"et",
"fa",
"fi",
"fil",
- "fr", "fr_CA", "fr_HT",
+ "fr",
"gu",
"he",
"hi",
"hr",
"hu",
"id",
+ "in",
"it",
+ "iw",
"ja",
"kn",
"ko",
"lt",
"lv",
"ml",
+ "mo",
"mr",
"ms",
"nb",
"nl",
+ "no",
"pl",
- "pt", "pt_PT",
- "pt_AO", "pt_CH", "pt_CV", "pt_GQ", "pt_GW", "pt_LU",
- "pt_MO", "pt_MZ", "pt_ST", "pt_TL",
- "ro", "ro_MD",
+ "pt",
+ "ro",
"ru",
+ "sh",
"sk",
"sl",
- "sr", "sr_BA", "sr_CS", "sr_ME", "sr_RS", "sr_XK",
- "sr_Cyrl", "sr_Cyrl_BA", "sr_Cyrl_CS", "sr_Cyrl_RS", "sr_Cyrl_XK",
- "sr_Latn", "sr_Latn_BA", "sr_Latn_CS", "sr_Latn_ME", "sr_Latn_RS",
+ "sr",
"sv",
"sw",
"ta",
"te",
"th",
+ "tl",
"tr",
"uk",
"vi",
- "zh", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
- "zh_Hant", "zh_Hant_TW", "zh_Hant_HK", "zh_Hant_MO"
+ "zh"
]
},
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/zone/reslocal.mk?rcl=797b7c
+// Includes the items from ZONE_ALIAS_SOURCE and ZONE_SOURCE
"zone_tree": {
+ "filterType": "language",
"whitelist": [
// Need to explicitly add "root"
"root",
+
// Need to explicitly add "tzdbNames"
"tzdbNames",
-// # All aliases (to not be included under 'installed'), but not including root.
-// ZONE_ALIAS_SOURCE = $(ZONE_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_SG",
-// no.txt in.txt iw.txt
- "zh_CN", "zh_TW", "zh_HK", "zh_SG",
- "no", "in", "iw",
-// # Ordinary resources
-// ZONE_SOURCE =\
-// ...
+
"am",
"ar",
"bg",
@@ -736,35 +489,39 @@
"da",
"de",
"el",
- "en", "en_001", "en_150",
- "en_AU", "en_CA", "en_GB", "en_IN", "en_NZ", "en_ZA",
- "es", "es_419", "es_MX", "es_AR", "es_US",
+ "en",
+ "es",
"et",
"fa",
"fi",
"fil",
- "fr", "fr_CA",
+ "fr",
"gu",
"he",
"hi",
"hr",
"hu",
"id",
+ "in",
"it",
+ "iw",
"ja",
"kn",
"ko",
"lt",
"lv",
"ml",
+ "mo",
"mr",
"ms",
"nb",
"nl",
+ "no",
"pl",
- "pt", "pt_PT",
+ "pt",
"ro",
"ru",
+ "sh",
"sk",
"sl",
"sr",
@@ -773,11 +530,11 @@
"ta",
"te",
"th",
+ "tl",
"tr",
"uk",
"vi",
- "zh", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
- "zh_Hant", "zh_Hant_TW", "zh_Hant_HK"
+ "zh"
]
},
// Based on
@@ -1240,7 +997,6 @@
{"categories":["lang_tree"],"files":{"whitelist":["mi"]},"rules":["-/*","+/%%ALIAS","+/Languages/mi"] },
{"categories":["lang_tree"],"files":{"whitelist":["mk"]},"rules":["-/*","+/%%ALIAS","+/Languages/mk"] },
{"categories":["lang_tree"],"files":{"whitelist":["mn"]},"rules":["-/*","+/%%ALIAS","+/Languages/mn"] },
- {"categories":["lang_tree"],"files":{"whitelist":["mo"]},"rules":["-/*","+/%%ALIAS","+/Languages/mo"] },
{"categories":["lang_tree"],"files":{"whitelist":["mt"]},"rules":["-/*","+/%%ALIAS","+/Languages/mt"] },
{"categories":["lang_tree"],"files":{"whitelist":["my"]},"rules":["-/*","+/%%ALIAS","+/Languages/my"] },
{"categories":["lang_tree"],"files":{"whitelist":["ne"]},"rules":["-/*","+/%%ALIAS","+/Languages/ne"] },
@@ -1261,7 +1017,6 @@
{"categories":["lang_tree"],"files":{"whitelist":["rn"]},"rules":["-/*","+/%%ALIAS","+/Languages/rn"] },
{"categories":["lang_tree"],"files":{"whitelist":["rw"]},"rules":["-/*","+/%%ALIAS","+/Languages/rw"] },
{"categories":["lang_tree"],"files":{"whitelist":["sd"]},"rules":["-/*","+/%%ALIAS","+/Languages/sd"] },
- {"categories":["lang_tree"],"files":{"whitelist":["sh"]},"rules":["-/*","+/%%ALIAS","+/Languages/sh"] },
{"categories":["lang_tree"],"files":{"whitelist":["si"]},"rules":["-/*","+/%%ALIAS","+/Languages/si"] },
{"categories":["lang_tree"],"files":{"whitelist":["sm"]},"rules":["-/*","+/%%ALIAS","+/Languages/sm"] },
{"categories":["lang_tree"],"files":{"whitelist":["sn"]},"rules":["-/*","+/%%ALIAS","+/Languages/sn"] },
@@ -1272,7 +1027,6 @@
{"categories":["lang_tree"],"files":{"whitelist":["tg"]},"rules":["-/*","+/%%ALIAS","+/Languages/tg"] },
{"categories":["lang_tree"],"files":{"whitelist":["ti"]},"rules":["-/*","+/%%ALIAS","+/Languages/ti"] },
{"categories":["lang_tree"],"files":{"whitelist":["tk"]},"rules":["-/*","+/%%ALIAS","+/Languages/tk"] },
- {"categories":["lang_tree"],"files":{"whitelist":["tl"]},"rules":["-/*","+/%%ALIAS","+/Languages/tl"] },
{"categories":["lang_tree"],"files":{"whitelist":["tn"]},"rules":["-/*","+/%%ALIAS","+/Languages/tn"] },
{"categories":["lang_tree"],"files":{"whitelist":["to"]},"rules":["-/*","+/%%ALIAS","+/Languages/to"] },
{"categories":["lang_tree"],"files":{"whitelist":["tt"]},"rules":["-/*","+/%%ALIAS","+/Languages/tt"] },
@@ -1590,106 +1344,55 @@
"-/units",
"-/unitsNarrow",
"-/unitsShort",
-// "-/*/acceleration",
-// "-/*/angle",
- "+/*/angle/degree",
- "+/*/area/acre",
-// "-/*/area/dunam",
- "+/*/area/hectare",
-// "-/*/area/square-centimeter",
-// "-/*/area/square-foot",
-// "-/*/area/square-inch",
-// "-/*/area/square-kilometer",
-// "-/*/area/square-meter",
-// "-/*/area/square-mile",
-// "-/*/area/square-yard",
- "+/*/compound",
- "+/*/concentr",
- "+/*/consumption/liter-per-kilometer",
- "+/*/consumption/mile-per-gallon",
-// "+/*/consumption",
-// "+/*/coordinate",
- "+/*/digital",
-// "+/*/duration/century",
- "+/*/duration/day",
- "+/*/duration/hour",
-// "+/*/duration/microsecond",
- "+/*/duration/millisecond",
- "+/*/duration/minute",
- "+/*/duration/month",
-// "+/*/duration/nanosecond",
- "+/*/duration/second",
- "+/*/duration/week",
- "+/*/duration/year",
-// "+/*/electric",
-// "+/*/energy",
-// "+/*/force",
-// "+/*/frequency",
-// "+/*/length/astronomical-unit",
- "+/*/length/centimeter",
-// "+/*/length/decimeter",
-// "+/*/length/fathom",
- "+/*/length/foot",
-// "+/*/length/furlong",
- "+/*/length/inch",
- "+/*/length/kilometer",
-// "+/*/length/light-year",
- "+/*/length/meter",
-// "+/*/length/micrometer",
- "+/*/length/mile",
- "+/*/length/mile-scandinavian",
- "+/*/length/millimeter",
-// "+/*/length/nanometer",
-// "+/*/length/nautical-mile",
-// "+/*/length/parsec",
-// "+/*/length/picometer",
-// "+/*/length/point",
-// "+/*/length/solar-radius",
- "+/*/length/yard",
-// "+/*/mass/carat",
-// "+/*/mass/dalton",
-// "+/*/mass/earth-mass",
- "+/*/mass/gram",
- "+/*/mass/kilogram",
-// "+/*/mass/metric-ton",
-// "+/*/mass/microgram",
-// "+/*/mass/milligram",
- "+/*/mass/ounce",
-// "+/*/mass/ounce-troy",
- "+/*/mass/pound",
-// "+/*/mass/solar-mass",
- "+/*/mass/stone",
-// "+/*/mass/ton",
-// "+/*/power",
-// "+/*/pressure",
- "+/*/speed/kilometer-per-hour",
-// "+/*/speed/knot",
- "+/*/speed/meter-per-second",
- "+/*/speed/mile-per-hour",
- "+/*/temperature/celsius",
- "+/*/temperature/fahrenheit",
-// "+/*/temperature/kelvin",
-// "+/*/torque",
-// "+/*/volume",
- "+/*/volume/liter",
- "+/*/volume/milliliter",
- "+/*/volume/gallon",
- "+/*/volume/fluid-ounce"
- ]
- },
-// Based on
-// https://cs.chromium.org/chromium/src/third_party/icu/source/data/translit/root_subset.txt?rcl=797b7c
- {
- "categories": [
- "translit"
- ],
- "rules": [
- "-/*",
-// Need to leave an empty RuleBasedTransliteratorIDs
-// Note that an empty RuleBasedTransliteratorIDs block has to be present.
-// Otherwise, built-in transforms such as NFD/NFC would fail.
- "+/RuleBasedTransliteratorIDs",
- "-/RuleBasedTransliteratorIDs/*"
+ "+/*/*/acre",
+ "+/*/*/bit",
+ "+/*/*/byte",
+ "+/*/*/celsius",
+ "+/*/*/centimeter",
+ "+/*/*/day",
+ "+/*/*/degree",
+ "+/*/*/fahrenheit",
+ "+/*/*/fluid-ounce",
+ "+/*/*/foot",
+ "+/*/*/gallon",
+ "+/*/*/gigabit",
+ "+/*/*/gigabyte",
+ "+/*/*/gram",
+ "+/*/*/hectare",
+ "+/*/*/hour",
+ "+/*/*/inch",
+ "+/*/*/kilobit",
+ "+/*/*/kilobyte",
+ "+/*/*/kilogram",
+ "+/*/*/kilometer",
+ "+/*/*/liter",
+ "+/*/*/megabit",
+ "+/*/*/megabyte",
+ "+/*/*/meter",
+ "+/*/*/mile",
+ "+/*/*/mile-scandinavian",
+ "+/*/*/millimeter",
+ "+/*/*/milliliter",
+ "+/*/*/millisecond",
+ "+/*/*/minute",
+ "+/*/*/month",
+ "+/*/*/ounce",
+ "+/*/*/percent",
+ "+/*/*/petabyte",
+ "+/*/*/pound",
+ "+/*/*/second",
+ "+/*/*/stone",
+ "+/*/*/terabit",
+ "+/*/*/terabyte",
+ "+/*/*/week",
+ "+/*/*/yard",
+ "+/*/*/year",
+ "+/*/*/kilometer-per-hour",
+ "+/*/*/meter-per-second",
+ "+/*/*/mile-per-hour",
+ "+/*/*/liter-per-kilometer",
+ "+/*/*/mile-per-gallon",
+ "+/*/compound"
]
},
// Remove all the Version
diff --git a/chromium/third_party/icu/filters/common.json b/chromium/third_party/icu/filters/common.json
index 0273c1f7966..54505710ba2 100644
--- a/chromium/third_party/icu/filters/common.json
+++ b/chromium/third_party/icu/filters/common.json
@@ -6,229 +6,142 @@
"collationUCAData": "implicithan",
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/locales/reslocal.mk?rcl=797b7c
+// Includes the items from GENRB_ALIAS_SOURCE and GENRB_SOURCE
"localeFilter": {
+ "filterType": "language",
"whitelist": [
// Need to explicitly add "root"
"root",
-// # All aliases (to not be included under 'installed'), but not including root.
-// GENRB_ALIAS_SOURCE = $(GENRB_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_SG.txt\
-// no.txt in.txt iw.txt tl.txt sh.txt
- "zh_CN","zh_TW","zh_HK","zh_SG",
- "no","in","iw","tl","sh",
-// # Ordinary resources
-// GENRB_SOURCE =\
-// .......
- "am",
- "ar","ar_001","ar_AE","ar_BH","ar_DJ",
- "ar_DZ","ar_EG","ar_EH","ar_ER","ar_IL",
- "ar_IQ","ar_JO","ar_KM","ar_KW","ar_LB",
- "ar_LY","ar_MA","ar_MR","ar_OM","ar_PS",
- "ar_QA","ar_SA","ar_SD","ar_SO","ar_SS",
- "ar_SY","ar_TD","ar_TN","ar_YE",
- "bg",
- "bn",
- "ca",
- "cs",
- "da",
- "de","de_AT","de_BE","de_CH","de_IT","de_LI","de_LU",
- "el",
- "en","en_001","en_150","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_DG","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_US_POSIX","en_VC","en_VG","en_VI",
- "en_VU","en_WS","en_ZA","en_ZM","en_ZW",
- "es","es_ES","es_419","es_AR","es_MX","es_US",
- "es_BO","es_BR","es_BZ","es_CL","es_CO","es_CR","es_CU",
- "es_DO","es_EA","es_EC","es_GQ","es_GT","es_HN","es_IC",
- "es_NI","es_PA","es_PE","es_PH","es_PR","es_PY","es_SV",
- "es_UY","es_VE",
- "et",
- "fa",
- "fi",
- "fil",
- "fr","fr_BE","fr_BF","fr_BI",
- "fr_BJ","fr_BL","fr_CA","fr_CD","fr_CF",
- "fr_CG","fr_CH","fr_CI","fr_CM","fr_DJ",
- "fr_DZ","fr_FR","fr_GA","fr_GF","fr_GN",
- "fr_GP","fr_GQ","fr_HT","fr_KM","fr_LU",
- "fr_MA","fr_MC","fr_MF","fr_MG","fr_ML",
- "fr_MQ","fr_MR","fr_MU","fr_NC","fr_NE",
- "fr_PF","fr_PM","fr_RE","fr_RW","fr_SC",
- "fr_SN","fr_SY","fr_TD","fr_TG","fr_TN",
- "fr_VU","fr_WF","fr_YT",
- "gu",
- "he",
- "hi",
- "hr",
- "hr_BA",
- "hu",
- "id",
- "it","it_CH",
- "ja",
- "kn",
- "ko",
- "lt",
- "lv",
- "ml",
- "mr",
- "ms",
- "nb",
- "nl","nl_AW","nl_BE","nl_BQ","nl_CW","nl_NL",
- "nl_SR","nl_SX",
- "pl",
- "pt","pt_AO","pt_BR","pt_CH","pt_CV",
- "pt_GQ","pt_GW","pt_LU","pt_MO","pt_MZ",
- "pt_PT","pt_ST","pt_TL",
- "ro",
- "ru","ru_BY","ru_KG","ru_KZ","ru_MD","ru_RU","ru_UA",
- "sk",
- "sl",
- "sr","sr_BA","sr_CS","sr_ME","sr_RS","sr_XK",
- "sr_Cyrl","sr_Cyrl_BA","sr_Cyrl_CS","sr_Cyrl_ME",
- "sr_Cyrl_RS","sr_Cyrl_XK",
- "sr_Latn","sr_Latn_BA","sr_Latn_CS","sr_Latn_ME",
- "sr_Latn_RS","sr_Latn_XK",
- "sv",
- "sw","sw_CD","sw_KE",
- "ta",
- "te",
- "th",
- "tr",
- "uk",
- "vi",
- "zh","zh_Hans","zh_Hans_CN","zh_Hans_SG",
- "zh_Hant","zh_Hant_TW","zh_Hant_HK",
+
"af",
"ak",
+ "am",
"an",
+ "ar",
"ast",
"az",
"be",
"bem",
+ "bg",
+ "bn",
"br",
"bs",
+ "ca",
"ckb",
+ "cs",
"cy",
+ "da",
+ "de",
"ee",
+ "el",
+ "en",
"eo",
+ "es",
+ "et",
"eu",
+ "fa",
+ "fi",
+ "fil",
"fo",
+ "fr",
"ga",
"gl",
+ "gu",
"ha",
"haw",
+ "he",
+ "hi",
+ "hr",
+ "hu",
"hy",
+ "id",
"ig",
+ "in",
"is",
+ "it",
+ "iw",
+ "ja",
"ka",
"kk",
"km",
+ "kn",
+ "ko",
"ku",
"ky",
"lg",
"ln",
"lo",
+ "lt",
+ "lv",
"mfe",
"mg",
"mk",
+ "ml",
"mn",
- "mo","ro_MD",
+ "mo",
+ "mr",
+ "ms",
"mt",
"my",
+ "nb",
"ne",
+ "nl",
"nn",
+ "no",
"nyn",
"om",
"or",
"pa",
+ "pl",
"ps",
+ "pt",
"rm",
"rn",
+ "ro",
+ "ru",
"rw",
+ "sh",
"si",
+ "sk",
+ "sl",
"sn",
"so",
"sq",
+ "sr",
+ "sv",
+ "sw",
+ "ta",
+ "te",
"tg",
+ "th",
"ti",
+ "tl",
"to",
+ "tr",
+ "uk",
"ur",
"uz",
+ "vi",
"wa",
"yo",
+ "zh",
"zu"
]
},
"featureFilters": {
-// Based on the ICU63 version of
-// https://cs.chromium.org/chromium/src/third_party/icu/source/data/brkitr/brklocal.mk?rcl=797b7c
-// # List of dictionary files (dict).
-// BRK_DICT_SOURCE = burmesedict.txt cjdict.txt khmerdict.txt laodict.txt\
-// thaidict.txt
- "brkitr_dictionaries": {
- "whitelist": [
- "burmesedict",
- "cjdict",
- "khmerdict",
- "laodict",
- "thaidict"
- ]
- },
-// # List of break iterator files (brk).
-// BRK_SOURCE = char.txt line.txt line_loose.txt line_loose_cj.txt\
-// line_normal.txt line_normal_cj.txt sent.txt sent_el.txt title.txt\
-// word.txt
+// "brkitr_dictionaries": { everything }
"brkitr_rules": {
- "whitelist": [
- "char",
- "line",
- "line_loose",
- "line_loose_cj",
- "line_normal",
- "line_normal_cj",
- "sent",
- "sent_el",
+ "blacklist": [
+// Exclude line_cj till we upgrade to 68.1 due to size impact.
+ "line_cj",
"title",
- "word"
+ "word_POSIX",
+ "word_ja"
]
},
-// # Ordinary resources
-// BRK_RES_SOURCE = de.txt el.txt en.txt en_US.txt\
-// es.txt fr.txt it.txt ja.txt\
-// pt.txt ru.txt zh.txt zh_Hant.txt
"brkitr_tree": {
- "whitelist": [
-// Need to explicitly add "root"
- "root",
- "de",
- "el",
- "en",
- "en_US",
- "es",
- "fr",
- "it",
- "ja",
- "pt",
- "ru",
- "zh",
- "zh_Hant"
+ "blacklist": [
+ "en_US_POSIX"
]
},
// Based on the ICU63 version of
@@ -273,289 +186,161 @@
},
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/curr/reslocal.mk?rcl=797b7c
+// Includes the items from CURR_ALIAS_SOURCE and CURR_SOURCE
"curr_tree": {
+ "filterType": "language",
"whitelist": [
// Need to explicitly add "root"
"root",
-// # All aliases (to not be included under 'installed'), but not including root.
-// CURR_ALIAS_SOURCE = $(CURR_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_MO.txt zh_SG.txt\
-// mo.txt no.txt in.txt iw.txt tl.txt ar_SA.txt
- "zh_CN", "zh_TW", "zh_HK", "zh_MO", "zh_SG",
- "mo", "no", "in", "iw", "tl", "ar_SA",
-// # Ordinary resources
-// CURR_SOURCE =\
-// ...
+
"am",
- "ar", "ar_AE", "ar_DJ", "ar_ER", "ar_KM",
- "ar_LB", "ar_SO", "ar_SS",
+ "ar",
"bg",
"bn",
"ca",
"cs",
"da",
- "de", "de_CH", "de_LI", "de_LU",
+ "de",
"el",
- "en", "en_001", "en_150",
- "en_AU", "en_CA", "en_GB", "en_HK", "en_IN", "en_NG", "en_NZ", "en_SG", "en_ZA",
- "en_AG", "en_AI", "en_AT", "en_BB", "en_BE", "en_BI", "en_BM", "en_BS", "en_BW",
- "en_BZ", "en_CC", "en_CH", "en_CK", "en_CM", "en_CX", "en_CY", "en_DE", "en_DG",
- "en_DK", "en_DM", "en_ER", "en_FI", "en_FJ", "en_FK", "en_FM", "en_GD", "en_GG",
- "en_GH", "en_GI", "en_GM", "en_GY", "en_IE", "en_IL", "en_IM", "en_IO", "en_JE",
- "en_JM", "en_KE", "en_KI", "en_KN", "en_KY", "en_LC", "en_LR", "en_LS", "en_MG",
- "en_MO", "en_MS", "en_MT", "en_MU", "en_MW", "en_MY", "en_NA", "en_NF", "en_NH",
- "en_NL", "en_NR", "en_NU", "en_PG", "en_PH", "en_PK", "en_PN", "en_PW", "en_RH",
- "en_RW", "en_SB", "en_SC", "en_SD", "en_SE", "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_VC", "en_VG", "en_VU", "en_WS", "en_ZM", "en_ZW",
- "es", "es_419", "es_AR", "es_BO", "es_BR", "es_BZ", "es_CL",
- "es_CO", "es_CR", "es_CU", "es_DO", "es_EC", "es_GQ", "es_GT",
- "es_HN", "es_MX", "es_NI", "es_PA", "es_PE", "es_PH", "es_PR",
- "es_PY", "es_SV", "es_US", "es_UY", "es_VE",
+ "en",
+ "es",
"et",
"fa",
"fi",
"fil",
- "fr", "fr_CA",
- "fr_BI", "fr_CD", "fr_DJ", "fr_DZ", "fr_GN", "fr_HT",
- "fr_KM", "fr_LU", "fr_MG", "fr_MR", "fr_MU", "fr_RW",
- "fr_SC", "fr_SY", "fr_TN", "fr_VU",
+ "fr",
"gu",
"he",
"hi",
"hr",
- "hr_BA",
"hu",
"id",
+ "in",
"it",
+ "iw",
"ja",
"kn",
"ko",
"lt",
"lv",
"ml",
+ "mo",
"mr",
"ms",
"nb",
"nl",
+ "no",
"pl",
- "pt", "pt_PT",
- "pt_AO", "pt_CV", "pt_LU", "pt_MO", "pt_MZ", "pt_ST",
- "ro", "ro_MD",
+ "pt",
+ "ro",
"ru",
+ "sh",
"sk",
"sl",
- "sr", "sr_BA", "sr_CS", "sr_ME", "sr_RS", "sr_XK",
- "sr_Cyrl", "sr_Cyrl_BA", "sr_Cyrl_CS", "sr_Cyrl_RS", "sr_Cyrl_XK",
- "sr_Latn", "sr_Latn_BA", "sr_Latn_CS", "sr_Latn_ME", "sr_Latn_RS",
+ "sr",
"sv",
- "sw", "sw_CD", "sw_UG",
+ "sw",
"ta",
"te",
"th",
+ "tl",
"tr",
"uk",
"vi",
- "zh",
- "zh_Hans", "zh_Hans_CN", "zh_Hans_SG", "zh_Hans_HK", "zh_Hans_MO",
- "zh_Hant", "zh_Hant_TW", "zh_Hant_HK", "zh_Hant_MO"
+ "zh"
]
},
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/coll/collocal.mk?rcl=797b7c
+// Includes the items from COLLATION_SYNTHETIC_ALIAS and COLLATION_SOURCE
"coll_tree": {
- "whitelist": [
+ "filterType": "union",
+ "unionOf": [
+ {
+ "whitelist": [
+ "en",
+ "en_US"
+ ]
+ },
+ {
+ "filterType": "language",
+ "whitelist": [
// Need to explicitly add "root"
- "root",
-// # Aliases which do not have a corresponding xx.xml file (see icu-config.xml & build.xml)
-// COLLATION_SYNTHETIC_ALIAS = ...
- "de_", "de__PHONEBOOK", "es_", "es__TRADITIONAL",
- "he_IL", "id_ID", "in", "in_ID", "iw",
- "iw_IL", "mo", "nb_NO", "no", "no_NO",
- "ro_MD", "sh",
- "sh_BA", "sh_CS", "sh_YU", "sr_BA", "sr_Cyrl",
- "sr_Cyrl_BA", "sr_Cyrl_ME", "sr_Cyrl_RS", "sr_Latn_BA", "sr_Latn_RS",
- "sr_ME", "sr_RS",
- "zh_CN", "zh_HK", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
- "zh_Hant_HK", "zh_Hant_MO", "zh_Hant_TW", "zh_MO", "zh_SG",
- "zh_TW",
-// # Ordinary resources
-// COLLATION_SOURCE = ...
- "am", "ar",
- "bg", "bn", "ca",
- "cs",
- "da", "de", "de_AT",
- "el", "en", "en_US", "es", "et",
- "fa", "fi", "fil",
- "fr", "fr_CA",
- "gu",
- "he", "hi", "hr", "hu",
- "id", "it",
- "ja",
- "kn", "ko",
- "lt", "lv",
- "ml", "mr", "ms",
- "nb", "nn",
- "pl", "pt",
- "ro", "ru",
- "sk", "sl", "sr", "sr_Latn", "sv", "sw",
- "ta", "te", "th", "tr",
- "uk",
- "vi",
- "zh", "zh_Hant"
- ]
- },
-// Based on the ICU63 version of
-// https://cs.chromium.org/chromium/src/third_party/icu/source/data/lang/reslocal.mk?rcl=797b7c
- "lang_tree": {
- "whitelist": [
-// Need to explicitly add "root"
- "root",
-// # All aliases (to not be included under 'installed'), but not including root.
-// LANG_ALIAS_SOURCE = $(LANG_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_SG.txt\
-// no.txt in.txt iw.txt tl.txt sh.txt
- "zh_CN", "zh_TW", "zh_HK", "zh_SG",
- "no", "in", "iw", "tl", "sh",
-// # Ordinary resources
-// LANG_SOURCE =\
-// ...
- "am",
- "ar", "ar_SA", "ar_LY", "ar_EG",
- "bg",
- "bn",
- "ca",
- "cs",
- "da",
- "de", "de_AT", "de_CH",
- "el",
- "en", "en_GB", "en_CA", "en_AU", "en_IN", "en_001", "en_NZ",
- "es", "es_419",
- "et",
- "fa",
- "fi",
- "fil",
- "fr", "fr_CA", "fr_CH",
- "gu",
- "he",
- "hi",
- "hr",
- "hu",
- "id",
- "it",
- "ja",
- "kn",
- "ko",
- "lt",
- "lv",
- "ml",
- "mr",
- "ms",
- "nb",
- "nl",
- "pl",
- "pt", "pt_PT",
- "ro",
- "ru",
- "sk",
- "sl",
- "sr",
- "sv",
- "sw",
- "ta",
- "te",
- "th",
- "tr",
- "uk",
- "vi",
- "zh", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
- "zh_Hant", "zh_Hant_TW", "zh_Hant_HK",
- "af",
- "ak",
- "an",
- "ast",
- "az",
- "be",
- "bem",
- "br",
- "bs",
- "ckb",
- "cy",
- "ee",
- "eo",
- "eu",
- "fo",
- "ga",
- "gl",
- "ha",
- "haw",
- "hy",
- "ig",
- "is",
- "ka",
- "kk",
- "km",
- "ku",
- "ky",
- "lg",
- "ln",
- "lo",
- "mfe",
- "mg",
- "mk",
- "mn",
- "mo", "ro_MD",
- "mt",
- "my",
- "ne",
- "nn",
- "nyn",
- "om",
- "or",
- "pa",
- "ps",
- "rm",
- "rn",
- "rw",
- "si",
- "sn",
- "so",
- "sq",
- "sr_Latn",
- "tg",
- "ti",
- "to",
- "ur",
- "uz",
- "wa",
- "yo",
- "zu"
+ "root",
+
+ "am",
+ "ar",
+ "bg",
+ "bn",
+ "ca",
+ "cs",
+ "da",
+ "de",
+ "el",
+ "es",
+ "et",
+ "fa",
+ "fi",
+ "fil",
+ "fr",
+ "gu",
+ "he",
+ "hi",
+ "hr",
+ "hu",
+ "id",
+ "in",
+ "it",
+ "iw",
+ "ja",
+ "kn",
+ "ko",
+ "lt",
+ "lv",
+ "ml",
+ "mo",
+ "mr",
+ "ms",
+ "nb",
+ "nl",
+ "no",
+ "pl",
+ "pt",
+ "ro",
+ "ru",
+ "sh",
+ "sk",
+ "sl",
+ "sr",
+ "sv",
+ "sw",
+ "ta",
+ "te",
+ "th",
+ "tl",
+ "tr",
+ "uk",
+ "vi",
+ "zh"
+ ]
+ }
]
},
-// Based on the ICU63 version of
-// https://cs.chromium.org/chromium/src/third_party/icu/source/data/rbnf/rbnflocal.mk?rcl=797b7c
"rbnf_tree": {
"filterType": "exclude"
},
"rbnf_index": {
"filterType": "exclude"
},
-
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/region/reslocal.mk?rcl=797b7c
+// Includes the items from REGION_ALIAS_SOURCE and REGION_SOURCE
"region_tree": {
+ "filterType": "language",
"whitelist": [
// Need to explicitly add "root"
"root",
-// # All aliases (to not be included under 'installed'), but not including root.
-// REGION_ALIAS_SOURCE = $(REGION_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_SG.txt\
-// no.txt in.txt iw.txt tl.txt
- "zh_CN", "zh_TW", "zh_HK", "zh_SG",
- "no", "in", "iw", "tl",
-// # Ordinary resources
-// REGION_SOURCE =\
-// ...
+
"am",
"ar",
"bg",
@@ -565,34 +350,39 @@
"da",
"de",
"el",
- "en", "en_GB",
- "es", "es_419",
+ "en",
+ "es",
"et",
"fa",
"fi",
"fil",
- "fr", "fr_CA",
+ "fr",
"gu",
"he",
"hi",
"hr",
"hu",
"id",
+ "in",
"it",
+ "iw",
"ja",
"kn",
"ko",
"lt",
"lv",
"ml",
+ "mo",
"mr",
"ms",
"nb",
"nl",
+ "no",
"pl",
- "pt", "pt_PT",
+ "pt",
"ro",
"ru",
+ "sh",
"sk",
"sl",
"sr",
@@ -601,40 +391,26 @@
"ta",
"te",
"th",
+ "tl",
"tr",
"uk",
"vi",
- "zh", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
- "zh_Hant", "zh_Hant_TW", "zh_Hant_HK"
+ "zh"
]
},
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/sprep/spreplocal.mk?rcl=797b7c
- "stringprep": {
- "filterType": "exclude"
- },
-// Based on the ICU63 version of
-// https://cs.chromium.org/chromium/src/third_party/icu/source/data/translit/trnslocal.mk?rcl=797b7c
- "translit": {
- "whitelist": [
-// Need to explicitly add "root"
- "root"
- ]
- },
+ "stringprep": { "filterType": "exclude" },
+ "translit": { "filterType": "exclude" },
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/unit/reslocal.mk?rcl=797b7c
+// Includes the items from UNIT_ALIAS_SOURCE and UNIT_SOURCE
"unit_tree": {
+ "filterType": "language",
"whitelist": [
// Need to explicitly add "root"
"root",
-// # All aliases (to not be included under 'installed'), but not including root.
-// UNIT_ALIAS_SOURCE = $(UNIT_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_SG.txt\
-// no.txt in.txt iw.txt tl.txt sh.txt
- "zh_CN", "zh_TW", "zh_HK", "zh_SG",
- "no", "in", "iw", "tl", "sh",
-// # Ordinary resources
-// UNIT_SOURCE =\
+
"am",
"ar",
"bg",
@@ -642,91 +418,68 @@
"ca",
"cs",
"da",
- "de", "de_CH",
+ "de",
"el",
- "en", "en_001", "en_150",
- "en_AU", "en_CA", "en_GB", "en_IN", "en_NZ", "en_ZA",
- "en_AG", "en_AI", "en_AT", "en_BB", "en_BE", "en_BM",
- "en_BS", "en_BW", "en_BZ", "en_CC", "en_CH", "en_CK",
- "en_CM", "en_CX", "en_CY", "en_DE", "en_DG", "en_DK",
- "en_DM", "en_ER", "en_FI", "en_FJ", "en_FK", "en_FM",
- "en_GD", "en_GG", "en_GH", "en_GI", "en_GM", "en_GY",
- "en_HK", "en_IE", "en_IL", "en_IM", "en_IO",
- "en_JE", "en_JM", "en_KE", "en_KI", "en_KN", "en_KY",
- "en_LC", "en_LR", "en_LS", "en_MG", "en_MO", "en_MS",
- "en_MT", "en_MU", "en_MW", "en_MY", "en_NA", "en_NF",
- "en_NG", "en_NH", "en_NL", "en_NR", "en_NU", "en_PG",
- "en_PH", "en_PK", "en_PN", "en_PW", "en_RH", "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_VC", "en_VG", "en_VU", "en_WS", "en_ZM", "en_ZW",
- "es", "es_419", "es_AR", "es_MX", "es_US",
- "es_BO", "es_BR", "es_BZ", "es_CL", "es_CO", "es_CR",
- "es_CU", "es_DO", "es_EC", "es_GT", "es_HN", "es_NI",
- "es_PA", "es_PE", "es_PR", "es_PY", "es_SV", "es_UY", "es_VE",
+ "en",
+ "es",
"et",
"fa",
"fi",
"fil",
- "fr", "fr_CA", "fr_HT",
+ "fr",
"gu",
"he",
"hi",
"hr",
"hu",
"id",
+ "in",
"it",
+ "iw",
"ja",
"kn",
"ko",
"lt",
"lv",
"ml",
+ "mo",
"mr",
"ms",
"nb",
"nl",
+ "no",
"pl",
- "pt", "pt_PT",
- "pt_AO", "pt_CH", "pt_CV", "pt_GQ", "pt_GW", "pt_LU",
- "pt_MO", "pt_MZ", "pt_ST", "pt_TL",
- "ro", "ro_MD",
+ "pt",
+ "ro",
"ru",
+ "sh",
"sk",
"sl",
- "sr", "sr_BA", "sr_CS", "sr_ME", "sr_RS", "sr_XK",
- "sr_Cyrl", "sr_Cyrl_BA", "sr_Cyrl_CS", "sr_Cyrl_RS", "sr_Cyrl_XK",
- "sr_Latn", "sr_Latn_BA", "sr_Latn_CS", "sr_Latn_ME", "sr_Latn_RS",
+ "sr",
"sv",
"sw",
"ta",
"te",
"th",
+ "tl",
"tr",
"uk",
"vi",
- "zh", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
- "zh_Hant", "zh_Hant_TW", "zh_Hant_HK", "zh_Hant_MO"
+ "zh"
]
},
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/zone/reslocal.mk?rcl=797b7c
+// Includes the items from ZONE_ALIAS_SOURCE and ZONE_SOURCE
"zone_tree": {
+ "filterType": "language",
"whitelist": [
// Need to explicitly add "root"
"root",
+
// Need to explicitly add "tzdbNames"
"tzdbNames",
-// # All aliases (to not be included under 'installed'), but not including root.
-// ZONE_ALIAS_SOURCE = $(ZONE_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_SG",
-// no.txt in.txt iw.txt
- "zh_CN", "zh_TW", "zh_HK", "zh_SG",
- "no", "in", "iw",
-// # Ordinary resources
-// ZONE_SOURCE =\
-// ...
+
"am",
"ar",
"bg",
@@ -736,35 +489,39 @@
"da",
"de",
"el",
- "en", "en_001", "en_150",
- "en_AU", "en_CA", "en_GB", "en_IN", "en_NZ", "en_ZA",
- "es", "es_419", "es_MX", "es_AR", "es_US",
+ "en",
+ "es",
"et",
"fa",
"fi",
"fil",
- "fr", "fr_CA",
+ "fr",
"gu",
"he",
"hi",
"hr",
"hu",
"id",
+ "in",
"it",
+ "iw",
"ja",
"kn",
"ko",
"lt",
"lv",
"ml",
+ "mo",
"mr",
"ms",
"nb",
"nl",
+ "no",
"pl",
- "pt", "pt_PT",
+ "pt",
"ro",
"ru",
+ "sh",
"sk",
"sl",
"sr",
@@ -773,11 +530,11 @@
"ta",
"te",
"th",
+ "tl",
"tr",
"uk",
"vi",
- "zh", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
- "zh_Hant", "zh_Hant_TW", "zh_Hant_HK"
+ "zh"
]
},
// Based on
@@ -1221,7 +978,6 @@
{"categories":["lang_tree"],"files":{"whitelist":["mi"]},"rules":["-/*","+/%%ALIAS","+/Languages/mi"] },
{"categories":["lang_tree"],"files":{"whitelist":["mk"]},"rules":["-/*","+/%%ALIAS","+/Languages/mk"] },
{"categories":["lang_tree"],"files":{"whitelist":["mn"]},"rules":["-/*","+/%%ALIAS","+/Languages/mn"] },
- {"categories":["lang_tree"],"files":{"whitelist":["mo"]},"rules":["-/*","+/%%ALIAS","+/Languages/mo"] },
{"categories":["lang_tree"],"files":{"whitelist":["mt"]},"rules":["-/*","+/%%ALIAS","+/Languages/mt"] },
{"categories":["lang_tree"],"files":{"whitelist":["my"]},"rules":["-/*","+/%%ALIAS","+/Languages/my"] },
{"categories":["lang_tree"],"files":{"whitelist":["ne"]},"rules":["-/*","+/%%ALIAS","+/Languages/ne"] },
@@ -1242,7 +998,6 @@
{"categories":["lang_tree"],"files":{"whitelist":["rn"]},"rules":["-/*","+/%%ALIAS","+/Languages/rn"] },
{"categories":["lang_tree"],"files":{"whitelist":["rw"]},"rules":["-/*","+/%%ALIAS","+/Languages/rw"] },
{"categories":["lang_tree"],"files":{"whitelist":["sd"]},"rules":["-/*","+/%%ALIAS","+/Languages/sd"] },
- {"categories":["lang_tree"],"files":{"whitelist":["sh"]},"rules":["-/*","+/%%ALIAS","+/Languages/sh"] },
{"categories":["lang_tree"],"files":{"whitelist":["si"]},"rules":["-/*","+/%%ALIAS","+/Languages/si"] },
{"categories":["lang_tree"],"files":{"whitelist":["sm"]},"rules":["-/*","+/%%ALIAS","+/Languages/sm"] },
{"categories":["lang_tree"],"files":{"whitelist":["sn"]},"rules":["-/*","+/%%ALIAS","+/Languages/sn"] },
@@ -1253,7 +1008,6 @@
{"categories":["lang_tree"],"files":{"whitelist":["tg"]},"rules":["-/*","+/%%ALIAS","+/Languages/tg"] },
{"categories":["lang_tree"],"files":{"whitelist":["ti"]},"rules":["-/*","+/%%ALIAS","+/Languages/ti"] },
{"categories":["lang_tree"],"files":{"whitelist":["tk"]},"rules":["-/*","+/%%ALIAS","+/Languages/tk"] },
- {"categories":["lang_tree"],"files":{"whitelist":["tl"]},"rules":["-/*","+/%%ALIAS","+/Languages/tl"] },
{"categories":["lang_tree"],"files":{"whitelist":["tn"]},"rules":["-/*","+/%%ALIAS","+/Languages/tn"] },
{"categories":["lang_tree"],"files":{"whitelist":["to"]},"rules":["-/*","+/%%ALIAS","+/Languages/to"] },
{"categories":["lang_tree"],"files":{"whitelist":["tt"]},"rules":["-/*","+/%%ALIAS","+/Languages/tt"] },
@@ -1571,79 +1325,64 @@
"-/units",
"-/unitsNarrow",
"-/unitsShort",
- "+/*/acceleration",
-// "-/*/angle",
- "+/*/angle/degree",
- "+/*/area",
+ "+/*/*/acre",
+ "+/*/*/bit",
+ "+/*/*/byte",
+ "+/*/*/celsius",
+ "+/*/*/centimeter",
+ "+/*/*/day",
+ "+/*/*/degree",
+ "+/*/*/fahrenheit",
+ "+/*/*/fluid-ounce",
+ "+/*/*/foot",
+ "+/*/*/gallon",
+ "+/*/*/gigabit",
+ "+/*/*/gigabyte",
+ "+/*/*/gram",
+ "+/*/*/hectare",
+ "+/*/*/hour",
+ "+/*/*/inch",
+ "+/*/*/kilobit",
+ "+/*/*/kilobyte",
+ "+/*/*/kilogram",
+ "+/*/*/kilometer",
+ "+/*/*/liter",
+ "+/*/*/megabit",
+ "+/*/*/megabyte",
+ "+/*/*/meter",
+ "+/*/*/mile",
+ "+/*/*/mile-scandinavian",
+ "+/*/*/millimeter",
+ "+/*/*/milliliter",
+ "+/*/*/millisecond",
+ "+/*/*/minute",
+ "+/*/*/month",
+ "+/*/*/ounce",
+ "+/*/*/percent",
+ "+/*/*/petabyte",
+ "+/*/*/pound",
+ "+/*/*/second",
+ "+/*/*/stone",
+ "+/*/*/terabit",
+ "+/*/*/terabyte",
+ "+/*/*/week",
+ "+/*/*/yard",
+ "+/*/*/year",
+ "+/*/*/kilometer-per-hour",
+ "+/*/*/meter-per-second",
+ "+/*/*/mile-per-hour",
+ "+/*/*/liter-per-kilometer",
+ "+/*/*/mile-per-gallon",
"+/*/compound",
+ "+/*/acceleration",
+ "+/*/area",
"+/*/concentr",
- "+/*/consumption/liter-per-kilometer",
- "+/*/consumption/mile-per-gallon",
-// "+/*/consumption",
+ "+/*/consumption",
"+/*/coordinate",
"+/*/digital",
"+/*/duration",
"+/*/electric",
- "+/*/energy",
- "+/*/force",
-// "+/*/frequency",
-// "+/*/length/astronomical-unit",
- "+/*/length/centimeter",
-// "+/*/length/decimeter",
-// "+/*/length/fathom",
- "+/*/length/foot",
-// "+/*/length/furlong",
- "+/*/length/inch",
- "+/*/length/kilometer",
-// "+/*/length/light-year",
- "+/*/length/meter",
-// "+/*/length/micrometer",
- "+/*/length/mile",
- "+/*/length/mile-scandinavian",
- "+/*/length/millimeter",
-// "+/*/length/nanometer",
-// "+/*/length/nautical-mile",
-// "+/*/length/parsec",
-// "+/*/length/picometer",
-// "+/*/length/point",
-// "+/*/length/solar-radius",
- "+/*/length/yard",
-// "+/*/mass/carat",
-// "+/*/mass/dalton",
-// "+/*/mass/earth-mass",
- "+/*/mass/gram",
- "+/*/mass/kilogram",
-// "+/*/mass/metric-ton",
-// "+/*/mass/microgram",
-// "+/*/mass/milligram",
- "+/*/mass/ounce",
-// "+/*/mass/ounce-troy",
- "+/*/mass/pound",
-// "+/*/mass/solar-mass",
- "+/*/mass/stone",
-// "+/*/mass/ton",
-// "+/*/power",
-// "+/*/pressure",
- "+/*/speed/*",
- "+/*/temperature/*",
-// "+/*/torque",
-// "+/*/volume",
- "+/*/volume/*"
- ]
- },
-// Based on
-// https://cs.chromium.org/chromium/src/third_party/icu/source/data/translit/root_subset.txt?rcl=797b7c
- {
- "categories": [
- "translit"
- ],
- "rules": [
- "-/*",
-// Need to leave an empty RuleBasedTransliteratorIDs
-// Note that an empty RuleBasedTransliteratorIDs block has to be present.
-// Otherwise, built-in transforms such as NFD/NFC would fail.
- "+/RuleBasedTransliteratorIDs",
- "-/RuleBasedTransliteratorIDs/*"
+ "+/*/energy"
]
},
// # Remove exemplar cities in timezone data.
diff --git a/chromium/third_party/icu/filters/ios.json b/chromium/third_party/icu/filters/ios.json
index 5a9b7d8ad1d..1904728a077 100644
--- a/chromium/third_party/icu/filters/ios.json
+++ b/chromium/third_party/icu/filters/ios.json
@@ -6,231 +6,146 @@
"collationUCAData": "implicithan",
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/locales/reslocal.mk?rcl=797b7c
+// Includes the items from GENRB_ALIAS_SOURCE and GENRB_SOURCE
"localeFilter": {
+ "filterType": "language",
"whitelist": [
// Need to explicitly add "root"
"root",
-// # All aliases (to not be included under 'installed'), but not including root.
-// GENRB_ALIAS_SOURCE = $(GENRB_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_SG.txt\
-// no.txt in.txt iw.txt tl.txt sh.txt
- "zh_CN","zh_TW","zh_HK","zh_SG",
- "no","in","iw","tl","sh",
-// # Ordinary resources
-// GENRB_SOURCE =\
-// .......
- "am",
- "ar","ar_001","ar_AE","ar_BH","ar_DJ",
- "ar_DZ","ar_EG","ar_EH","ar_ER","ar_IL",
- "ar_IQ","ar_JO","ar_KM","ar_KW","ar_LB",
- "ar_LY","ar_MA","ar_MR","ar_OM","ar_PS",
- "ar_QA","ar_SA","ar_SD","ar_SO","ar_SS",
- "ar_SY","ar_TD","ar_TN","ar_YE",
- "bg",
- "bn",
- "ca",
- "cs",
- "da",
- "de","de_AT","de_BE","de_CH","de_IT","de_LI","de_LU",
- "el",
- "en","en_001","en_150","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_DG","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_US_POSIX","en_VC","en_VG","en_VI",
- "en_VU","en_WS","en_ZA","en_ZM","en_ZW",
- "es","es_ES","es_419","es_AR","es_MX","es_US",
- "es_BO","es_BR","es_BZ","es_CL","es_CO","es_CR","es_CU",
- "es_DO","es_EA","es_EC","es_GQ","es_GT","es_HN","es_IC",
- "es_NI","es_PA","es_PE","es_PH","es_PR","es_PY","es_SV",
- "es_UY","es_VE",
- "et",
- "fa",
- "fi",
- "fil",
- "fr","fr_BE","fr_BF","fr_BI",
- "fr_BJ","fr_BL","fr_CA","fr_CD","fr_CF",
- "fr_CG","fr_CH","fr_CI","fr_CM","fr_DJ",
- "fr_DZ","fr_FR","fr_GA","fr_GF","fr_GN",
- "fr_GP","fr_GQ","fr_HT","fr_KM","fr_LU",
- "fr_MA","fr_MC","fr_MF","fr_MG","fr_ML",
- "fr_MQ","fr_MR","fr_MU","fr_NC","fr_NE",
- "fr_PF","fr_PM","fr_RE","fr_RW","fr_SC",
- "fr_SN","fr_SY","fr_TD","fr_TG","fr_TN",
- "fr_VU","fr_WF","fr_YT",
- "gu",
- "he",
- "hi",
- "hr",
- "hr_BA",
- "hu",
- "id",
- "it","it_CH",
- "ja",
- "kn",
- "ko",
- "lt",
- "lv",
- "ml",
- "mr",
- "ms",
- "nb",
- "nl","nl_AW","nl_BE","nl_BQ","nl_CW","nl_NL",
- "nl_SR","nl_SX",
- "pl",
- "pt","pt_AO","pt_BR","pt_CH","pt_CV",
- "pt_GQ","pt_GW","pt_LU","pt_MO","pt_MZ",
- "pt_PT","pt_ST","pt_TL",
- "ro",
- "ru","ru_BY","ru_KG","ru_KZ","ru_MD","ru_RU","ru_UA",
- "sk",
- "sl",
- "sr","sr_BA","sr_CS","sr_ME","sr_RS","sr_XK",
- "sr_Cyrl","sr_Cyrl_BA","sr_Cyrl_CS","sr_Cyrl_ME",
- "sr_Cyrl_RS","sr_Cyrl_XK",
- "sr_Latn","sr_Latn_BA","sr_Latn_CS","sr_Latn_ME",
- "sr_Latn_RS","sr_Latn_XK",
- "sv",
- "sw","sw_CD","sw_KE",
- "ta",
- "te",
- "th",
- "tr",
- "uk",
- "vi",
- "zh","zh_Hans","zh_Hans_CN","zh_Hans_SG",
- "zh_Hant","zh_Hant_TW","zh_Hant_HK",
+
"af",
"ak",
+ "am",
"an",
+ "ar",
"ast",
"az",
"be",
"bem",
+ "bg",
+ "bn",
"br",
"bs",
+ "ca",
"ckb",
+ "cs",
"cy",
+ "da",
+ "de",
"ee",
+ "el",
+ "en",
"eo",
+ "es",
+ "et",
"eu",
+ "fa",
+ "fi",
+ "fil",
"fo",
+ "fr",
"ga",
"gl",
+ "gu",
"ha",
"haw",
+ "he",
+ "hi",
+ "hr",
+ "hu",
"hy",
+ "id",
"ig",
+ "in",
"is",
+ "it",
+ "iw",
+ "ja",
"ka",
"kk",
"km",
+ "kn",
+ "ko",
"ku",
"ky",
"lg",
"ln",
"lo",
+ "lt",
+ "lv",
"mfe",
"mg",
"mk",
+ "ml",
"mn",
- "mo","ro_MD",
+ "mo",
+ "mr",
+ "ms",
"mt",
"my",
+ "nb",
"ne",
+ "nl",
"nn",
+ "no",
"nyn",
"om",
"or",
"pa",
+ "pl",
"ps",
+ "pt",
"rm",
"rn",
+ "ro",
+ "ru",
"rw",
+ "sh",
"si",
+ "sk",
+ "sl",
"sn",
"so",
"sq",
+ "sr",
+ "sv",
+ "sw",
+ "ta",
+ "te",
"tg",
+ "th",
"ti",
+ "tl",
"to",
+ "tr",
+ "uk",
"ur",
"uz",
+ "vi",
"wa",
"yo",
+ "zh",
"zu"
]
},
"featureFilters": {
-// Based on the ICU63 version of
-// https://cs.chromium.org/chromium/src/third_party/icu/source/data/brkitr/brklocal.mk?rcl=797b7c
-// # List of dictionary files (dict).
-// BRK_DICT_SOURCE = burmesedict.txt cjdict.txt khmerdict.txt laodict.txt\
-// thaidict.txt
"brkitr_dictionaries": {
- "whitelist": [
- "burmesedict",
+ "blacklist": [
// Filtered by android/brkitr.patch "cjdict",
- "khmerdict",
- "laodict",
- "thaidict"
+ "cjdict"
]
},
-// # List of break iterator files (brk).
-// BRK_SOURCE = char.txt line.txt line_loose.txt line_loose_cj.txt\
-// line_normal.txt line_normal_cj.txt sent.txt sent_el.txt title.txt\
-// word.txt
"brkitr_rules": {
- "whitelist": [
- "char",
- "line",
- "line_loose",
- "line_loose_cj",
- "line_normal",
- "line_normal_cj",
- "sent",
- "sent_el",
+ "blacklist": [
+// Exclude line_cj till we upgrade to 68.1 due to size impact.
+ "line_cj",
"title",
- "word",
-// Added by android/brkitr.patch
- "word_ja"
+ "word_POSIX"
]
},
-// # Ordinary resources
-// BRK_RES_SOURCE = de.txt el.txt en.txt en_US.txt\
-// es.txt fr.txt it.txt ja.txt\
-// pt.txt ru.txt zh.txt zh_Hant.txt
"brkitr_tree": {
- "whitelist": [
-// Need to explicitly add "root"
- "root",
- "de",
- "el",
- "en",
- "en_US",
- "es",
- "fr",
- "it",
- "ja",
- "pt",
- "ru",
- "zh",
- "zh_Hant"
+ "blacklist": [
+ "en_US_POSIX"
]
},
// Based on the ICU63 version of
@@ -275,272 +190,130 @@
},
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/curr/reslocal.mk?rcl=797b7c
+// Includes the items from CURR_ALIAS_SOURCE and CURR_SOURCE
+// Removed locales per cast/patch_locale.sh:
+// "bn", "et", "gu", "kn", "ml", "mr", "ms", "ta", "te"
"curr_tree": {
+ "filterType": "language",
"whitelist": [
// Need to explicitly add "root"
"root",
-// # All aliases (to not be included under 'installed'), but not including root.
-// CURR_ALIAS_SOURCE = $(CURR_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_MO.txt zh_SG.txt\
-// mo.txt no.txt in.txt iw.txt tl.txt ar_SA.txt
- "zh_CN", "zh_TW", "zh_HK", "zh_MO", "zh_SG",
- "mo", "no", "in", "iw", "tl", "ar_SA",
-// # Ordinary resources
-// CURR_SOURCE =\
-// ...
- "am",
- "ar", "ar_AE", "ar_DJ", "ar_ER", "ar_KM",
- "ar_LB", "ar_SO", "ar_SS",
- "bg",
-// cast/patch_locale.sh remove "bn",
- "ca",
- "cs",
- "da",
- "de", "de_CH", "de_LI", "de_LU",
- "el",
- "en", "en_001", "en_150",
- "en_AU", "en_CA", "en_GB", "en_HK", "en_IN", "en_NG", "en_NZ", "en_SG", "en_ZA",
- "en_AG", "en_AI", "en_AT", "en_BB", "en_BE", "en_BI", "en_BM", "en_BS", "en_BW",
- "en_BZ", "en_CC", "en_CH", "en_CK", "en_CM", "en_CX", "en_CY", "en_DE", "en_DG",
- "en_DK", "en_DM", "en_ER", "en_FI", "en_FJ", "en_FK", "en_FM", "en_GD", "en_GG",
- "en_GH", "en_GI", "en_GM", "en_GY", "en_IE", "en_IL", "en_IM", "en_IO", "en_JE",
- "en_JM", "en_KE", "en_KI", "en_KN", "en_KY", "en_LC", "en_LR", "en_LS", "en_MG",
- "en_MO", "en_MS", "en_MT", "en_MU", "en_MW", "en_MY", "en_NA", "en_NF", "en_NH",
- "en_NL", "en_NR", "en_NU", "en_PG", "en_PH", "en_PK", "en_PN", "en_PW", "en_RH",
- "en_RW", "en_SB", "en_SC", "en_SD", "en_SE", "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_VC", "en_VG", "en_VU", "en_WS", "en_ZM", "en_ZW",
- "es", "es_419", "es_AR", "es_BO", "es_BR", "es_BZ", "es_CL",
- "es_CO", "es_CR", "es_CU", "es_DO", "es_EC", "es_GQ", "es_GT",
- "es_HN", "es_MX", "es_NI", "es_PA", "es_PE", "es_PH", "es_PR",
- "es_PY", "es_SV", "es_US", "es_UY", "es_VE",
-// cast/patch_locale.sh remove "et",
- "fa",
- "fi",
- "fil",
- "fr", "fr_CA",
- "fr_BI", "fr_CD", "fr_DJ", "fr_DZ", "fr_GN", "fr_HT",
- "fr_KM", "fr_LU", "fr_MG", "fr_MR", "fr_MU", "fr_RW",
- "fr_SC", "fr_SY", "fr_TN", "fr_VU",
-// cast/patch_locale.sh remove "gu",
- "he",
- "hi",
- "hr",
- "hr_BA",
- "hu",
- "id",
- "it",
- "ja",
-// cast/patch_locale.sh remove "kn",
- "ko",
- "lt",
- "lv",
-// cast/patch_locale.sh remove "ml",
-// cast/patch_locale.sh remove "mr",
-// cast/patch_locale.sh remove "ms",
- "nb",
- "nl",
- "pl",
- "pt", "pt_PT",
- "pt_AO", "pt_CV", "pt_LU", "pt_MO", "pt_MZ", "pt_ST",
- "ro", "ro_MD",
- "ru",
- "sk",
- "sl",
- "sr", "sr_BA", "sr_CS", "sr_ME", "sr_RS", "sr_XK",
- "sr_Cyrl", "sr_Cyrl_BA", "sr_Cyrl_CS", "sr_Cyrl_RS", "sr_Cyrl_XK",
- "sr_Latn", "sr_Latn_BA", "sr_Latn_CS", "sr_Latn_ME", "sr_Latn_RS",
- "sv",
- "sw", "sw_CD", "sw_UG",
-// cast/patch_locale.sh remove "ta",
-// cast/patch_locale.sh remove "te",
- "th",
- "tr",
- "uk",
- "vi",
- "zh",
- "zh_Hans", "zh_Hans_CN", "zh_Hans_SG", "zh_Hans_HK", "zh_Hans_MO",
- "zh_Hant", "zh_Hant_TW", "zh_Hant_HK", "zh_Hant_MO"
- ]
- },
-// Based on the ICU63 version of
-// https://cs.chromium.org/chromium/src/third_party/icu/source/data/coll/collocal.mk?rcl=797b7c
- "coll_tree": {
- "whitelist": [
-// Need to explicitly add "root"
- "root",
-// # Aliases which do not have a corresponding xx.xml file (see icu-config.xml & build.xml)
-// COLLATION_SYNTHETIC_ALIAS = ...
- "de_", "de__PHONEBOOK", "es_", "es__TRADITIONAL",
- "he_IL", "id_ID", "in", "in_ID", "iw",
- "iw_IL", "mo", "nb_NO", "no", "no_NO",
- "ro_MD", "sh",
- "sh_BA", "sh_CS", "sh_YU", "sr_BA", "sr_Cyrl",
- "sr_Cyrl_BA", "sr_Cyrl_ME", "sr_Cyrl_RS", "sr_Latn_BA", "sr_Latn_RS",
- "sr_ME", "sr_RS",
- "zh_CN", "zh_HK", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
- "zh_Hant_HK", "zh_Hant_MO", "zh_Hant_TW", "zh_MO", "zh_SG",
- "zh_TW",
-// # Ordinary resources
-// COLLATION_SOURCE = ...
- "am", "ar",
- "bg",
-// cast/patch_locale.sh remove "bn",
- "ca",
- "cs",
- "da", "de", "de_AT",
- "el", "en", "en_US", "es",
-// cast/patch_locale.sh remove "et",
- "fa", "fi", "fil",
- "fr", "fr_CA",
-// cast/patch_locale.sh remove "gu",
- "he", "hi", "hr", "hu",
- "id", "it",
- "ja",
-// cast/patch_locale.sh remove "kn",
- "ko",
- "lt", "lv",
-// cast/patch_locale.sh remove "ml", "mr", "ms",
- "nb", "nn",
- "pl", "pt",
- "ro", "ru",
- "sk", "sl", "sr", "sr_Latn", "sv", "sw",
-// cast/patch_locale.sh remove "ta", "te",
- "th", "tr",
- "uk",
- "vi",
- "zh", "zh_Hant"
- ]
- },
-// Based on the ICU63 version of
-// https://cs.chromium.org/chromium/src/third_party/icu/source/data/lang/reslocal.mk?rcl=797b7c
- "lang_tree": {
- "whitelist": [
-// Need to explicitly add "root"
- "root",
-// # All aliases (to not be included under 'installed'), but not including root.
-// LANG_ALIAS_SOURCE = $(LANG_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_SG.txt\
-// no.txt in.txt iw.txt tl.txt sh.txt
- "zh_CN", "zh_TW", "zh_HK", "zh_SG",
- "no", "in", "iw", "tl", "sh",
-// # Ordinary resources
-// LANG_SOURCE =\
-// ...
+
"am",
"ar",
- "ar_SA", "ar_LY", "ar_EG",
"bg",
- "bn",
"ca",
"cs",
"da",
"de",
- "de_AT", "de_CH",
"el",
- "en", "en_GB",
- "en_CA", "en_AU", "en_IN", "en_001", "en_NZ",
- "es", "es_419",
- "et",
+ "en",
+ "es",
"fa",
"fi",
"fil",
"fr",
- "fr_CA", "fr_CH",
- "gu",
"he",
"hi",
"hr",
"hu",
"id",
+ "in",
"it",
+ "iw",
"ja",
- "kn",
"ko",
"lt",
"lv",
- "ml",
- "mr",
- "ms",
+ "mo",
"nb",
"nl",
+ "no",
"pl",
- "pt", "pt_PT",
+ "pt",
"ro",
"ru",
+ "sh",
"sk",
"sl",
"sr",
"sv",
"sw",
- "ta",
- "te",
"th",
+ "tl",
"tr",
"uk",
"vi",
- "zh", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
- "zh_Hant", "zh_Hant_TW", "zh_Hant_HK",
- "af",
- "ak",
- "an",
- "ast",
- "az",
- "be",
- "bem",
- "br",
- "bs",
- "ckb",
- "cy",
- "ee",
- "eo",
- "eu",
- "fo",
- "ga",
- "gl",
- "ha",
- "haw",
- "hy",
- "ig",
- "is",
- "ka",
- "kk",
- "km",
- "ku",
- "ky",
- "lg",
- "ln",
- "lo",
- "mfe",
- "mg",
- "mk",
- "mn",
- "mo", "ro_MD",
- "mt",
- "my",
- "ne",
- "nn",
- "nyn",
- "om",
- "or",
- "pa",
- "ps",
- "rm",
- "rn",
- "rw",
- "si",
- "sn",
- "so",
- "sq",
- "sr_Latn",
- "tg",
- "ti",
- "to",
- "ur",
- "uz",
- "wa",
- "yo",
- "zu"
+ "zh"
+ ]
+ },
+// Based on the ICU63 version of
+// https://cs.chromium.org/chromium/src/third_party/icu/source/data/coll/collocal.mk?rcl=797b7c
+// Includes the items from COLLATION_SYNTHETIC_ALIAS and COLLATION_SOURCE
+// Removed locales per cast/patch_locale.sh:
+// "bn", "et", "gu", "kn", "ml", "mr", "ms", "ta", "te"
+ "coll_tree": {
+ "filterType": "union",
+ "unionOf": [
+ {
+ "whitelist": [
+ "en",
+ "en_US"
+ ]
+ },
+ {
+ "filterType": "language",
+ "whitelist": [
+// Need to explicitly add "root"
+ "root",
+
+ "am",
+ "ar",
+ "bg",
+ "ca",
+ "cs",
+ "da",
+ "de",
+ "el",
+ "es",
+ "fa",
+ "fi",
+ "fil",
+ "fr",
+ "he",
+ "hi",
+ "hr",
+ "hu",
+ "id",
+ "in",
+ "it",
+ "iw",
+ "ja",
+ "ko",
+ "lt",
+ "lv",
+ "mo",
+ "nb",
+ "nl",
+ "no",
+ "pl",
+ "pt",
+ "ro",
+ "ru",
+ "sh",
+ "sk",
+ "sl",
+ "sr",
+ "sv",
+ "sw",
+ "th",
+ "tl",
+ "tr",
+ "uk",
+ "vi",
+ "zh"
+ ]
+ }
]
},
// Based on the ICU63 version of
@@ -565,174 +338,126 @@
},
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/sprep/spreplocal.mk?rcl=797b7c
- "stringprep": {
- "filterType": "exclude"
- },
-// Based on the ICU63 version of
-// https://cs.chromium.org/chromium/src/third_party/icu/source/data/translit/trnslocal.mk?rcl=797b7c
- "translit": {
- "whitelist": [
-// Need to explicitly add "root"
- "root"
- ]
- },
+ "stringprep": { "filterType": "exclude" },
+ "translit": { "filterType": "exclude" },
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/unit/reslocal.mk?rcl=797b7c
+// Includes the items from UNIT_ALIAS_SOURCE and UNIT_SOURCE
+// Removed locales per cast/patch_locale.sh:
+// "bn", "et", "gu", "kn", "ml", "mr", "ms", "ta", "te"
"unit_tree": {
+ "filterType": "language",
"whitelist": [
// Need to explicitly add "root"
"root",
-// # All aliases (to not be included under 'installed'), but not including root.
-// UNIT_ALIAS_SOURCE = $(UNIT_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_SG.txt\
-// no.txt in.txt iw.txt tl.txt sh.txt
- "zh_CN", "zh_TW", "zh_HK", "zh_SG",
- "no", "in", "iw", "tl", "sh",
-// # Ordinary resources
-// UNIT_SOURCE =\
+
"am",
"ar",
"bg",
-// cast/patch_locale.sh remove "bn",
"ca",
"cs",
"da",
- "de", "de_CH",
+ "de",
"el",
- "en", "en_001", "en_150",
- "en_AU", "en_CA", "en_GB", "en_IN", "en_NZ", "en_ZA",
- "en_AG", "en_AI", "en_AT", "en_BB", "en_BE", "en_BM",
- "en_BS", "en_BW", "en_BZ", "en_CC", "en_CH", "en_CK",
- "en_CM", "en_CX", "en_CY", "en_DE", "en_DG", "en_DK",
- "en_DM", "en_ER", "en_FI", "en_FJ", "en_FK", "en_FM",
- "en_GD", "en_GG", "en_GH", "en_GI", "en_GM", "en_GY",
- "en_HK", "en_IE", "en_IL", "en_IM", "en_IO",
- "en_JE", "en_JM", "en_KE", "en_KI", "en_KN", "en_KY",
- "en_LC", "en_LR", "en_LS", "en_MG", "en_MO", "en_MS",
- "en_MT", "en_MU", "en_MW", "en_MY", "en_NA", "en_NF",
- "en_NG", "en_NH", "en_NL", "en_NR", "en_NU", "en_PG",
- "en_PH", "en_PK", "en_PN", "en_PW", "en_RH", "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_VC", "en_VG", "en_VU", "en_WS", "en_ZM", "en_ZW",
- "es", "es_419", "es_AR", "es_MX", "es_US",
- "es_BO", "es_BR", "es_BZ", "es_CL", "es_CO", "es_CR",
- "es_CU", "es_DO", "es_EC", "es_GT", "es_HN", "es_NI",
- "es_PA", "es_PE", "es_PR", "es_PY", "es_SV", "es_UY", "es_VE",
-// cast/patch_locale.sh remove "et",
+ "en",
+ "es",
"fa",
"fi",
"fil",
- "fr", "fr_CA", "fr_HT",
-// cast/patch_locale.sh remove "gu",
+ "fr",
"he",
"hi",
"hr",
"hu",
"id",
+ "in",
"it",
+ "iw",
"ja",
-// cast/patch_locale.sh remove "kn",
"ko",
"lt",
"lv",
-// cast/patch_locale.sh remove "ml",
-// cast/patch_locale.sh remove "mr",
-// cast/patch_locale.sh remove "ms",
+ "mo",
"nb",
"nl",
+ "no",
"pl",
- "pt", "pt_PT",
- "pt_AO", "pt_CH", "pt_CV", "pt_GQ", "pt_GW", "pt_LU",
- "pt_MO", "pt_MZ", "pt_ST", "pt_TL",
- "ro", "ro_MD",
+ "pt",
+ "ro",
"ru",
+ "sh",
"sk",
"sl",
- "sr", "sr_BA", "sr_CS", "sr_ME", "sr_RS", "sr_XK",
- "sr_Cyrl", "sr_Cyrl_BA", "sr_Cyrl_CS", "sr_Cyrl_RS", "sr_Cyrl_XK",
- "sr_Latn", "sr_Latn_BA", "sr_Latn_CS", "sr_Latn_ME", "sr_Latn_RS",
+ "sr",
"sv",
"sw",
-// cast/patch_locale.sh remove "ta",
-// cast/patch_locale.sh remove "te",
"th",
+ "tl",
"tr",
"uk",
"vi",
- "zh", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
- "zh_Hant", "zh_Hant_TW", "zh_Hant_HK", "zh_Hant_MO"
+ "zh"
]
},
// Based on the ICU63 version of
// https://cs.chromium.org/chromium/src/third_party/icu/source/data/zone/reslocal.mk?rcl=797b7c
+// Includes the items from ZONE_ALIAS_SOURCE and ZONE_SOURCE
+// Removed locales per cast/patch_locale.sh:
+// "bn", "et", "gu", "kn", "ml", "mr", "ms", "ta", "te"
"zone_tree": {
+ "filterType": "language",
"whitelist": [
// Need to explicitly add "root"
"root",
// Need to explicitly add "tzdbNames"
"tzdbNames",
-// # All aliases (to not be included under 'installed'), but not including root.
-// ZONE_ALIAS_SOURCE = $(ZONE_SYNTHETIC_ALIAS)\
-// zh_CN.txt zh_TW.txt zh_HK.txt zh_SG",
-// no.txt in.txt iw.txt
- "zh_CN", "zh_TW", "zh_HK", "zh_SG",
- "no", "in", "iw",
-// # Ordinary resources
-// ZONE_SOURCE =\
-// ...
+
"am",
"ar",
"bg",
-// cast/patch_locale.sh remove "bn",
"ca",
"cs",
"da",
"de",
"el",
- "en", "en_001", "en_150",
- "en_AU", "en_CA", "en_GB", "en_IN", "en_NZ", "en_ZA",
- "es", "es_419", "es_MX", "es_AR", "es_US",
-// cast/patch_locale.sh remove "et",
+ "en",
+ "es",
"fa",
"fi",
"fil",
- "fr", "fr_CA",
-// cast/patch_locale.sh remove "gu",
+ "fr",
"he",
"hi",
"hr",
"hu",
"id",
+ "in",
"it",
+ "iw",
"ja",
-// cast/patch_locale.sh remove "kn",
"ko",
"lt",
"lv",
-// cast/patch_locale.sh remove "ml",
-// cast/patch_locale.sh remove "mr",
-// cast/patch_locale.sh remove "ms",
+ "mo",
"nb",
"nl",
+ "no",
"pl",
- "pt", "pt_PT",
+ "pt",
"ro",
"ru",
+ "sh",
"sk",
"sl",
"sr",
"sv",
"sw",
-// cast/patch_locale.sh remove "ta",
-// cast/patch_locale.sh remove "te",
"th",
+ "tl",
"tr",
"uk",
"vi",
- "zh", "zh_Hans", "zh_Hans_CN", "zh_Hans_SG",
- "zh_Hant", "zh_Hant_TW", "zh_Hant_HK"
+ "zh"
]
},
// Based on
@@ -998,19 +723,6 @@
"+/*/compound"
]
},
-// Based on
-// https://cs.chromium.org/chromium/src/third_party/icu/source/data/translit/root_subset.txt?rcl=797b7c
- {
- "categories": [
- "translit"
- ],
- "rules": [
- "-/*",
-// Need to leave an empty RuleBasedTransliteratorIDs
- "+/RuleBasedTransliteratorIDs",
- "-/RuleBasedTransliteratorIDs/*"
- ]
- },
// # Remove exemplar cities in timezone data.
{
"categories": [
@@ -1492,7 +1204,11 @@
],
"files": {
"whitelist": [
-// Created by diff scripts/chrome_ui_languages.list scripts/accept_lang.list|egrep "^>"|egrep -v "#"|cut -c3-10
+// 1. Created by diff scripts/chrome_ui_languages.list scripts/accept_lang.list|egrep "^>"|egrep -v "#"|cut -c3-10
+// 2. Add EXTRA_LANGUAGES="bn et gu kn ml mr ms ta te" per
+// https://cs.chromium.org/chromium/src/third_party/icu/cast/patch_locale.sh?rcl=797b7c
+// # Chrome on Android is not localized to the following languages and we
+// # have to minimize the locale data for them.
"ach",
"af",
"ak",
@@ -1503,6 +1219,7 @@
"be",
"bem",
"bh",
+ "bn",
"br",
"bs",
"ccp",
@@ -1514,6 +1231,7 @@
"cy",
"ee",
"eo",
+ "et",
"eu",
"fo",
"fy",
@@ -1522,6 +1240,7 @@
"gd",
"gl",
"gn",
+ "gu",
"ha",
"haw",
"hmn",
@@ -1536,6 +1255,7 @@
"kg",
"kk",
"km",
+ "kn",
"kri",
"ku",
"ky",
@@ -1550,8 +1270,10 @@
"mg",
"mi",
"mk",
+ "ml",
"mn",
- "mo",
+ "mr",
+ "ms",
"mt",
"my",
"ne",
@@ -1572,7 +1294,6 @@
"rn",
"rw",
"sd",
- "sh",
"si",
"sm",
"sn",
@@ -1580,10 +1301,11 @@
"sq",
"st",
"su",
+ "ta",
+ "te",
"tg",
"ti",
"tk",
- "tl",
"tn",
"to",
"tt",
@@ -1598,21 +1320,7 @@
"xx",
"yi",
"yo",
- "zu",
-// The following is added based on
-// https://cs.chromium.org/chromium/src/third_party/icu/cast/patch_locale.sh?rcl=797b7c
-// # Chrome on Android is not localized to the following languages and we
-// # have to minimize the locale data for them.
-// EXTRA_LANGUAGES="bn et gu kn ml mr ms ta te"
- "bn",
- "et",
- "gu",
- "kn",
- "ml",
- "mr",
- "ms",
- "ta",
- "te"
+ "zu"
]
},
"rules": [
diff --git a/chromium/third_party/icu/fuzzers/BUILD.gn b/chromium/third_party/icu/fuzzers/BUILD.gn
index 07a40c0502d..0f70ce6c59e 100644
--- a/chromium/third_party/icu/fuzzers/BUILD.gn
+++ b/chromium/third_party/icu/fuzzers/BUILD.gn
@@ -12,9 +12,7 @@ group("fuzzers") {
}
source_set("fuzzer_support") {
- public = [
- "fuzzer_utils.h",
- ]
+ public = [ "fuzzer_utils.h" ]
deps = [
"//base",
"//base:i18n",
@@ -24,81 +22,55 @@ source_set("fuzzer_support") {
}
fuzzer_test("icu_uregex_open_fuzzer") {
- sources = [
- "icu_uregex_open_fuzzer.cc",
- ]
- deps = [
- ":fuzzer_support",
- ]
+ sources = [ "icu_uregex_open_fuzzer.cc" ]
+ deps = [ ":fuzzer_support" ]
dict = "icu_regex.dict"
libfuzzer_options = [ "max_len=128" ]
}
fuzzer_test("icu_unicode_string_codepage_create_fuzzer") {
- sources = [
- "icu_unicode_string_codepage_create_fuzzer.cc",
- ]
- deps = [
- ":fuzzer_support",
- ]
+ sources = [ "icu_unicode_string_codepage_create_fuzzer.cc" ]
+ deps = [ ":fuzzer_support" ]
libfuzzer_options = [ "max_len=10240" ]
}
fuzzer_test("icu_number_format_fuzzer") {
- sources = [
- "icu_number_format_fuzzer.cc",
- ]
- deps = [
- ":fuzzer_support",
- ]
+ sources = [ "icu_number_format_fuzzer.cc" ]
+ deps = [ ":fuzzer_support" ]
libfuzzer_options = [ "max_len=10240" ]
}
fuzzer_test("icu_break_iterator_fuzzer") {
- sources = [
- "icu_break_iterator_fuzzer.cc",
- ]
- deps = [
- ":fuzzer_support",
- ]
+ sources = [ "icu_break_iterator_fuzzer.cc" ]
+ deps = [ ":fuzzer_support" ]
libfuzzer_options = [ "max_len=10240" ]
}
fuzzer_test("icu_break_iterator_utf32_fuzzer") {
- sources = [
- "icu_break_iterator_utf32_fuzzer.cc",
- ]
- deps = [
- ":fuzzer_support",
- ]
+ sources = [ "icu_break_iterator_utf32_fuzzer.cc" ]
+ deps = [ ":fuzzer_support" ]
libfuzzer_options = [ "max_len=10240" ]
}
fuzzer_test("icu_ucasemap_fuzzer") {
- sources = [
- "icu_ucasemap_fuzzer.cc",
- ]
- deps = [
- ":fuzzer_support",
- ]
+ sources = [ "icu_ucasemap_fuzzer.cc" ]
+ deps = [ ":fuzzer_support" ]
+ libfuzzer_options = [ "max_len=10240" ]
+}
+
+fuzzer_test("icu_to_case_fuzzer") {
+ sources = [ "icu_to_case_fuzzer.cc" ]
+ deps = [ ":fuzzer_support" ]
libfuzzer_options = [ "max_len=10240" ]
}
fuzzer_test("icu_converter_fuzzer") {
- sources = [
- "icu_converter_fuzzer.cc",
- ]
- deps = [
- ":fuzzer_support",
- ]
+ sources = [ "icu_converter_fuzzer.cc" ]
+ deps = [ ":fuzzer_support" ]
libfuzzer_options = [ "max_len=10240" ]
}
fuzzer_test("icu_appendable_fuzzer") {
- sources = [
- "icu_appendable_fuzzer.cc",
- ]
- deps = [
- ":fuzzer_support",
- ]
+ sources = [ "icu_appendable_fuzzer.cc" ]
+ deps = [ ":fuzzer_support" ]
}
diff --git a/chromium/third_party/icu/ios/icudtl.dat b/chromium/third_party/icu/ios/icudtl.dat
index 9c332b4a1d4..b61fa2b6bed 100644
--- a/chromium/third_party/icu/ios/icudtl.dat
+++ b/chromium/third_party/icu/ios/icudtl.dat
Binary files differ
diff --git a/chromium/third_party/icu/patches/grouping_digits.patch b/chromium/third_party/icu/patches/grouping_digits.patch
new file mode 100644
index 00000000000..63c4162f468
--- /dev/null
+++ b/chromium/third_party/icu/patches/grouping_digits.patch
@@ -0,0 +1,89 @@
+diff --git a/source/i18n/number_grouping.cpp b/source/i18n/number_grouping.cpp
+index 41f727a4..6b1642cf 100644
+--- a/source/i18n/number_grouping.cpp
++++ b/source/i18n/number_grouping.cpp
+@@ -64,6 +64,13 @@ Grouper Grouper::forProperties(const DecimalFormatProperties& properties) {
+ }
+
+ void Grouper::setLocaleData(const impl::ParsedPatternInfo &patternInfo, const Locale& locale) {
++ if (fMinGrouping == -2) {
++ fMinGrouping = getMinGroupingForLocale(locale);
++ } else if (fMinGrouping == -3) {
++ fMinGrouping = static_cast<int16_t>(uprv_max(2, getMinGroupingForLocale(locale)));
++ } else {
++ // leave fMinGrouping alone
++ }
+ if (fGrouping1 != -2 && fGrouping2 != -4) {
+ return;
+ }
+@@ -76,13 +83,6 @@ void Grouper::setLocaleData(const impl::ParsedPatternInfo &patternInfo, const Lo
+ if (grouping3 == -1) {
+ grouping2 = grouping1;
+ }
+- if (fMinGrouping == -2) {
+- fMinGrouping = getMinGroupingForLocale(locale);
+- } else if (fMinGrouping == -3) {
+- fMinGrouping = static_cast<int16_t>(uprv_max(2, getMinGroupingForLocale(locale)));
+- } else {
+- // leave fMinGrouping alone
+- }
+ fGrouping1 = grouping1;
+ fGrouping2 = grouping2;
+ }
+diff --git a/source/i18n/unicode/decimfmt.h b/source/i18n/unicode/decimfmt.h
+index 8dba9b21..dbf6b3ae 100644
+--- a/source/i18n/unicode/decimfmt.h
++++ b/source/i18n/unicode/decimfmt.h
+@@ -1674,8 +1674,15 @@ class U_I18N_API DecimalFormat : public NumberFormat {
+ int32_t getMinimumGroupingDigits() const;
+
+ /**
+- * Sets the minimum grouping digits. Setting to a value less than or
+- * equal to 1 turns off minimum grouping digits.
++ * Sets the minimum grouping digits. Setting the value to
++ * - 1: Turns off minimum grouping digits.
++ * - 0 or -1: The behavior is undefined.
++ * - UNUM_MINIMUM_GROUPING_DIGITS_AUTO: Display grouping using the default
++ * strategy for all locales.
++ * - UNUM_MINIMUM_GROUPING_DIGITS_MIN2: Display grouping using locale
++ * defaults, except do not show grouping on values smaller than 10000
++ * (such that there is a minimum of two digits before the first
++ * separator).
+ *
+ * For more control over grouping strategies, use NumberFormatter.
+ *
+diff --git a/source/i18n/unicode/unum.h b/source/i18n/unicode/unum.h
+index 9036f957..3263bb4b 100644
+--- a/source/i18n/unicode/unum.h
++++ b/source/i18n/unicode/unum.h
+@@ -392,6 +392,30 @@ typedef enum UNumberFormatFields {
+ } UNumberFormatFields;
+
+
++#ifndef U_HIDE_DRAFT_API
++/**
++ * Selectors with special numeric values to use locale default minimum grouping
++ * digits for the DecimalFormat/UNumberFormat setMinimumGroupingDigits method.
++ * Do not use these constants with the [U]NumberFormatter API.
++ *
++ * @draft ICU 68
++ */
++typedef enum UNumberFormatMinimumGroupingDigits {
++ /**
++ * Display grouping using the default strategy for all locales.
++ * @draft ICU 68
++ */
++ UNUM_MINIMUM_GROUPING_DIGITS_AUTO = -2,
++ /**
++ * Display grouping using locale defaults, except do not show grouping on
++ * values smaller than 10000 (such that there is a minimum of two digits
++ * before the first separator).
++ * @draft ICU 68
++ */
++ UNUM_MINIMUM_GROUPING_DIGITS_MIN2 = -3,
++} UNumberFormatMinimumGroupingDigits;
++#endif // U_HIDE_DRAFT_API
++
+ /**
+ * Create and return a new UNumberFormat for formatting and parsing
+ * numbers. A UNumberFormat may be used to format numbers by calling
diff --git a/chromium/third_party/icu/patches/localeAddLikely.patch b/chromium/third_party/icu/patches/localeAddLikely.patch
new file mode 100644
index 00000000000..0c71c11104a
--- /dev/null
+++ b/chromium/third_party/icu/patches/localeAddLikely.patch
@@ -0,0 +1,244 @@
+diff --git a/source/common/loclikely.cpp b/source/common/loclikely.cpp
+index a4a4181c..54c4a464 100644
+--- a/source/common/loclikely.cpp
++++ b/source/common/loclikely.cpp
+@@ -826,7 +826,7 @@ error:
+ } \
+ } UPRV_BLOCK_MACRO_END
+
+-static void
++static UBool
+ _uloc_addLikelySubtags(const char* localeID,
+ icu::ByteSink& sink,
+ UErrorCode* err) {
+@@ -897,15 +897,22 @@ _uloc_addLikelySubtags(const char* localeID,
+ sink.Append(localeID, localIDLength);
+ }
+
+- return;
++ return success;
+
+ error:
+
+ if (!U_FAILURE(*err)) {
+ *err = U_ILLEGAL_ARGUMENT_ERROR;
+ }
++ return FALSE;
+ }
+
++// Add likely subtags to the sink
++// return true if the value in the sink is produced by a match during the lookup
++// return false if the value in the sink is the same as input because there are
++// no match after the lookup.
++static UBool _ulocimp_addLikelySubtags(const char*, icu::ByteSink&, UErrorCode*);
++
+ static void
+ _uloc_minimizeSubtags(const char* localeID,
+ icu::ByteSink& sink,
+@@ -921,6 +928,7 @@ _uloc_minimizeSubtags(const char* localeID,
+ const char* trailing = "";
+ int32_t trailingLength = 0;
+ int32_t trailingIndex = 0;
++ UBool successGetMax = FALSE;
+
+ if(U_FAILURE(*err)) {
+ goto error;
+@@ -961,7 +969,7 @@ _uloc_minimizeSubtags(const char* localeID,
+ {
+ icu::CharString base;
+ {
+- icu::CharStringByteSink sink(&base);
++ icu::CharStringByteSink baseSink(&base);
+ createTagString(
+ lang,
+ langLength,
+@@ -971,7 +979,7 @@ _uloc_minimizeSubtags(const char* localeID,
+ regionLength,
+ NULL,
+ 0,
+- sink,
++ baseSink,
+ err);
+ }
+
+@@ -980,8 +988,8 @@ _uloc_minimizeSubtags(const char* localeID,
+ * from AddLikelySubtags.
+ **/
+ {
+- icu::CharStringByteSink sink(&maximizedTagBuffer);
+- ulocimp_addLikelySubtags(base.data(), sink, err);
++ icu::CharStringByteSink maxSink(&maximizedTagBuffer);
++ successGetMax = _ulocimp_addLikelySubtags(base.data(), maxSink, err);
+ }
+ }
+
+@@ -989,13 +997,40 @@ _uloc_minimizeSubtags(const char* localeID,
+ goto error;
+ }
+
++ if (!successGetMax) {
++ /**
++ * If we got here, return the locale ID parameter unchanged.
++ **/
++ const int32_t localeIDLength = (int32_t)uprv_strlen(localeID);
++ sink.Append(localeID, localeIDLength);
++ return;
++ }
++
++ // In the following, the lang, script, region are referring to those in
++ // the maximizedTagBuffer, not the one in the localeID.
++ langLength = sizeof(lang);
++ scriptLength = sizeof(script);
++ regionLength = sizeof(region);
++ parseTagString(
++ maximizedTagBuffer.data(),
++ lang,
++ &langLength,
++ script,
++ &scriptLength,
++ region,
++ &regionLength,
++ err);
++ if(U_FAILURE(*err)) {
++ goto error;
++ }
++
+ /**
+ * Start first with just the language.
+ **/
+ {
+ icu::CharString tagBuffer;
+ {
+- icu::CharStringByteSink sink(&tagBuffer);
++ icu::CharStringByteSink tagSink(&tagBuffer);
+ createLikelySubtagsString(
+ lang,
+ langLength,
+@@ -1005,14 +1040,15 @@ _uloc_minimizeSubtags(const char* localeID,
+ 0,
+ NULL,
+ 0,
+- sink,
++ tagSink,
+ err);
+ }
+
+ if(U_FAILURE(*err)) {
+ goto error;
+ }
+- else if (!tagBuffer.isEmpty() && uprv_strnicmp(
++ else if (!tagBuffer.isEmpty() &&
++ uprv_strnicmp(
+ maximizedTagBuffer.data(),
+ tagBuffer.data(),
+ tagBuffer.length()) == 0) {
+@@ -1039,7 +1075,7 @@ _uloc_minimizeSubtags(const char* localeID,
+
+ icu::CharString tagBuffer;
+ {
+- icu::CharStringByteSink sink(&tagBuffer);
++ icu::CharStringByteSink tagSink(&tagBuffer);
+ createLikelySubtagsString(
+ lang,
+ langLength,
+@@ -1049,14 +1085,15 @@ _uloc_minimizeSubtags(const char* localeID,
+ regionLength,
+ NULL,
+ 0,
+- sink,
++ tagSink,
+ err);
+ }
+
+ if(U_FAILURE(*err)) {
+ goto error;
+ }
+- else if (uprv_strnicmp(
++ else if (!tagBuffer.isEmpty() &&
++ uprv_strnicmp(
+ maximizedTagBuffer.data(),
+ tagBuffer.data(),
+ tagBuffer.length()) == 0) {
+@@ -1081,10 +1118,10 @@ _uloc_minimizeSubtags(const char* localeID,
+ * since trying with all three subtags would only yield the
+ * maximal version that we already have.
+ **/
+- if (scriptLength > 0 && regionLength > 0) {
++ if (scriptLength > 0) {
+ icu::CharString tagBuffer;
+ {
+- icu::CharStringByteSink sink(&tagBuffer);
++ icu::CharStringByteSink tagSink(&tagBuffer);
+ createLikelySubtagsString(
+ lang,
+ langLength,
+@@ -1094,14 +1131,15 @@ _uloc_minimizeSubtags(const char* localeID,
+ 0,
+ NULL,
+ 0,
+- sink,
++ tagSink,
+ err);
+ }
+
+ if(U_FAILURE(*err)) {
+ goto error;
+ }
+- else if (uprv_strnicmp(
++ else if (!tagBuffer.isEmpty() &&
++ uprv_strnicmp(
+ maximizedTagBuffer.data(),
+ tagBuffer.data(),
+ tagBuffer.length()) == 0) {
+@@ -1123,10 +1161,19 @@ _uloc_minimizeSubtags(const char* localeID,
+
+ {
+ /**
+- * If we got here, return the locale ID parameter.
++ * If we got here, return the max + trail.
+ **/
+- const int32_t localeIDLength = (int32_t)uprv_strlen(localeID);
+- sink.Append(localeID, localeIDLength);
++ createTagString(
++ lang,
++ langLength,
++ script,
++ scriptLength,
++ region,
++ regionLength,
++ trailing,
++ trailingLength,
++ sink,
++ err);
+ return;
+ }
+
+@@ -1193,15 +1240,23 @@ uloc_addLikelySubtags(const char* localeID,
+ return reslen;
+ }
+
+-U_CAPI void U_EXPORT2
+-ulocimp_addLikelySubtags(const char* localeID,
+- icu::ByteSink& sink,
+- UErrorCode* status) {
++static UBool
++_ulocimp_addLikelySubtags(const char* localeID,
++ icu::ByteSink& sink,
++ UErrorCode* status) {
+ char localeBuffer[ULOC_FULLNAME_CAPACITY];
+
+ if (do_canonicalize(localeID, localeBuffer, sizeof localeBuffer, status)) {
+- _uloc_addLikelySubtags(localeBuffer, sink, status);
++ return _uloc_addLikelySubtags(localeBuffer, sink, status);
+ }
++ return FALSE;
++}
++
++U_CAPI void U_EXPORT2
++ulocimp_addLikelySubtags(const char* localeID,
++ icu::ByteSink& sink,
++ UErrorCode* status) {
++ _ulocimp_addLikelySubtags(localeID, sink, status);
+ }
+
+ U_CAPI int32_t U_EXPORT2
diff --git a/chromium/third_party/icu/patches/turnOffNewCodeInLocaleCanonical.patch b/chromium/third_party/icu/patches/turnOffNewCodeInLocaleCanonical.patch
new file mode 100644
index 00000000000..70aa7c08241
--- /dev/null
+++ b/chromium/third_party/icu/patches/turnOffNewCodeInLocaleCanonical.patch
@@ -0,0 +1,36 @@
+diff --git a/source/common/locid.cpp b/source/common/locid.cpp
+index 753a4521..7c01b05b 100644
+--- a/source/common/locid.cpp
++++ b/source/common/locid.cpp
+@@ -508,6 +508,7 @@ Locale::operator==( const Locale& other) const
+
+ #define ISASCIIALPHA(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z'))
+
++#if 0 // TURN OFF the new part of UTS35 Locale Canonicalization due to start up performance regression
+ namespace {
+
+ CharString& AppendLSCVE(CharString& out, const char* language, const char* script,
+@@ -537,6 +538,7 @@ CharString& AppendLSCVE(CharString& out, const char* language, const char* scrip
+ }
+
+ } // namespace
++#endif
+
+ /*This function initializes a Locale from a C locale ID*/
+ Locale& Locale::init(const char* localeID, UBool canonicalize)
+@@ -661,6 +663,7 @@ Locale& Locale::init(const char* localeID, UBool canonicalize)
+ break;
+ }
+
++#if 0 // TURN OFF the new part of UTS35 Locale Canonicalization due to start up performance regression
+ if (canonicalize) {
+ UErrorCode status = U_ZERO_ERROR;
+ // TODO: Try to use ResourceDataValue and ures_getValueWithFallback() etc.
+@@ -849,6 +852,7 @@ Locale& Locale::init(const char* localeID, UBool canonicalize)
+ } // End of handle REGION
+ } while (0);
+ } // if (canonicalize) {
++#endif
+
+ // successful end of init()
+ return *this;
diff --git a/chromium/third_party/icu/scripts/data_files_to_preserve.txt b/chromium/third_party/icu/scripts/data_files_to_preserve.txt
index f1d36c8c2f5..c3903c5cbd5 100644
--- a/chromium/third_party/icu/scripts/data_files_to_preserve.txt
+++ b/chromium/third_party/icu/scripts/data_files_to_preserve.txt
@@ -1,19 +1,7 @@
-curr/reslocal.mk
-brkitr/brklocal.mk
-lang/reslocal.mk
-coll/collocal.mk
-mappings/ucmlocal.mk
mappings/convrtrs.txt
mappings/*html.ucm
mappings/windows-936-2000.ucm
mappings/gb18030.ucm
-zone/reslocal.mk
-translit/trnslocal.mk
-rbnf/rbnflocal.mk
-region/reslocal.mk
-locales/reslocal.mk
-unit/reslocal.mk
-sprep/spreplocal.mk
brkitr/dictionaries/khmerdict.txt
brkitr/rules/word_ja.txt
brkitr/root.txt
diff --git a/chromium/third_party/icu/source/common/locid.cpp b/chromium/third_party/icu/source/common/locid.cpp
index 753a452120e..7c01b05b391 100644
--- a/chromium/third_party/icu/source/common/locid.cpp
+++ b/chromium/third_party/icu/source/common/locid.cpp
@@ -508,6 +508,7 @@ Locale::operator==( const Locale& other) const
#define ISASCIIALPHA(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z'))
+#if 0 // TURN OFF the new part of UTS35 Locale Canonicalization due to start up performance regression
namespace {
CharString& AppendLSCVE(CharString& out, const char* language, const char* script,
@@ -537,6 +538,7 @@ CharString& AppendLSCVE(CharString& out, const char* language, const char* scrip
}
} // namespace
+#endif
/*This function initializes a Locale from a C locale ID*/
Locale& Locale::init(const char* localeID, UBool canonicalize)
@@ -661,6 +663,7 @@ Locale& Locale::init(const char* localeID, UBool canonicalize)
break;
}
+#if 0 // TURN OFF the new part of UTS35 Locale Canonicalization due to start up performance regression
if (canonicalize) {
UErrorCode status = U_ZERO_ERROR;
// TODO: Try to use ResourceDataValue and ures_getValueWithFallback() etc.
@@ -849,6 +852,7 @@ Locale& Locale::init(const char* localeID, UBool canonicalize)
} // End of handle REGION
} while (0);
} // if (canonicalize) {
+#endif
// successful end of init()
return *this;
diff --git a/chromium/third_party/icu/source/common/loclikely.cpp b/chromium/third_party/icu/source/common/loclikely.cpp
index a4a4181cb13..54c4a464ee3 100644
--- a/chromium/third_party/icu/source/common/loclikely.cpp
+++ b/chromium/third_party/icu/source/common/loclikely.cpp
@@ -826,7 +826,7 @@ error:
} \
} UPRV_BLOCK_MACRO_END
-static void
+static UBool
_uloc_addLikelySubtags(const char* localeID,
icu::ByteSink& sink,
UErrorCode* err) {
@@ -897,15 +897,22 @@ _uloc_addLikelySubtags(const char* localeID,
sink.Append(localeID, localIDLength);
}
- return;
+ return success;
error:
if (!U_FAILURE(*err)) {
*err = U_ILLEGAL_ARGUMENT_ERROR;
}
+ return FALSE;
}
+// Add likely subtags to the sink
+// return true if the value in the sink is produced by a match during the lookup
+// return false if the value in the sink is the same as input because there are
+// no match after the lookup.
+static UBool _ulocimp_addLikelySubtags(const char*, icu::ByteSink&, UErrorCode*);
+
static void
_uloc_minimizeSubtags(const char* localeID,
icu::ByteSink& sink,
@@ -921,6 +928,7 @@ _uloc_minimizeSubtags(const char* localeID,
const char* trailing = "";
int32_t trailingLength = 0;
int32_t trailingIndex = 0;
+ UBool successGetMax = FALSE;
if(U_FAILURE(*err)) {
goto error;
@@ -961,7 +969,7 @@ _uloc_minimizeSubtags(const char* localeID,
{
icu::CharString base;
{
- icu::CharStringByteSink sink(&base);
+ icu::CharStringByteSink baseSink(&base);
createTagString(
lang,
langLength,
@@ -971,7 +979,7 @@ _uloc_minimizeSubtags(const char* localeID,
regionLength,
NULL,
0,
- sink,
+ baseSink,
err);
}
@@ -980,8 +988,8 @@ _uloc_minimizeSubtags(const char* localeID,
* from AddLikelySubtags.
**/
{
- icu::CharStringByteSink sink(&maximizedTagBuffer);
- ulocimp_addLikelySubtags(base.data(), sink, err);
+ icu::CharStringByteSink maxSink(&maximizedTagBuffer);
+ successGetMax = _ulocimp_addLikelySubtags(base.data(), maxSink, err);
}
}
@@ -989,13 +997,40 @@ _uloc_minimizeSubtags(const char* localeID,
goto error;
}
+ if (!successGetMax) {
+ /**
+ * If we got here, return the locale ID parameter unchanged.
+ **/
+ const int32_t localeIDLength = (int32_t)uprv_strlen(localeID);
+ sink.Append(localeID, localeIDLength);
+ return;
+ }
+
+ // In the following, the lang, script, region are referring to those in
+ // the maximizedTagBuffer, not the one in the localeID.
+ langLength = sizeof(lang);
+ scriptLength = sizeof(script);
+ regionLength = sizeof(region);
+ parseTagString(
+ maximizedTagBuffer.data(),
+ lang,
+ &langLength,
+ script,
+ &scriptLength,
+ region,
+ &regionLength,
+ err);
+ if(U_FAILURE(*err)) {
+ goto error;
+ }
+
/**
* Start first with just the language.
**/
{
icu::CharString tagBuffer;
{
- icu::CharStringByteSink sink(&tagBuffer);
+ icu::CharStringByteSink tagSink(&tagBuffer);
createLikelySubtagsString(
lang,
langLength,
@@ -1005,14 +1040,15 @@ _uloc_minimizeSubtags(const char* localeID,
0,
NULL,
0,
- sink,
+ tagSink,
err);
}
if(U_FAILURE(*err)) {
goto error;
}
- else if (!tagBuffer.isEmpty() && uprv_strnicmp(
+ else if (!tagBuffer.isEmpty() &&
+ uprv_strnicmp(
maximizedTagBuffer.data(),
tagBuffer.data(),
tagBuffer.length()) == 0) {
@@ -1039,7 +1075,7 @@ _uloc_minimizeSubtags(const char* localeID,
icu::CharString tagBuffer;
{
- icu::CharStringByteSink sink(&tagBuffer);
+ icu::CharStringByteSink tagSink(&tagBuffer);
createLikelySubtagsString(
lang,
langLength,
@@ -1049,14 +1085,15 @@ _uloc_minimizeSubtags(const char* localeID,
regionLength,
NULL,
0,
- sink,
+ tagSink,
err);
}
if(U_FAILURE(*err)) {
goto error;
}
- else if (uprv_strnicmp(
+ else if (!tagBuffer.isEmpty() &&
+ uprv_strnicmp(
maximizedTagBuffer.data(),
tagBuffer.data(),
tagBuffer.length()) == 0) {
@@ -1081,10 +1118,10 @@ _uloc_minimizeSubtags(const char* localeID,
* since trying with all three subtags would only yield the
* maximal version that we already have.
**/
- if (scriptLength > 0 && regionLength > 0) {
+ if (scriptLength > 0) {
icu::CharString tagBuffer;
{
- icu::CharStringByteSink sink(&tagBuffer);
+ icu::CharStringByteSink tagSink(&tagBuffer);
createLikelySubtagsString(
lang,
langLength,
@@ -1094,14 +1131,15 @@ _uloc_minimizeSubtags(const char* localeID,
0,
NULL,
0,
- sink,
+ tagSink,
err);
}
if(U_FAILURE(*err)) {
goto error;
}
- else if (uprv_strnicmp(
+ else if (!tagBuffer.isEmpty() &&
+ uprv_strnicmp(
maximizedTagBuffer.data(),
tagBuffer.data(),
tagBuffer.length()) == 0) {
@@ -1123,10 +1161,19 @@ _uloc_minimizeSubtags(const char* localeID,
{
/**
- * If we got here, return the locale ID parameter.
+ * If we got here, return the max + trail.
**/
- const int32_t localeIDLength = (int32_t)uprv_strlen(localeID);
- sink.Append(localeID, localeIDLength);
+ createTagString(
+ lang,
+ langLength,
+ script,
+ scriptLength,
+ region,
+ regionLength,
+ trailing,
+ trailingLength,
+ sink,
+ err);
return;
}
@@ -1193,15 +1240,23 @@ uloc_addLikelySubtags(const char* localeID,
return reslen;
}
-U_CAPI void U_EXPORT2
-ulocimp_addLikelySubtags(const char* localeID,
- icu::ByteSink& sink,
- UErrorCode* status) {
+static UBool
+_ulocimp_addLikelySubtags(const char* localeID,
+ icu::ByteSink& sink,
+ UErrorCode* status) {
char localeBuffer[ULOC_FULLNAME_CAPACITY];
if (do_canonicalize(localeID, localeBuffer, sizeof localeBuffer, status)) {
- _uloc_addLikelySubtags(localeBuffer, sink, status);
+ return _uloc_addLikelySubtags(localeBuffer, sink, status);
}
+ return FALSE;
+}
+
+U_CAPI void U_EXPORT2
+ulocimp_addLikelySubtags(const char* localeID,
+ icu::ByteSink& sink,
+ UErrorCode* status) {
+ _ulocimp_addLikelySubtags(localeID, sink, status);
}
U_CAPI int32_t U_EXPORT2
diff --git a/chromium/third_party/icu/source/i18n/number_grouping.cpp b/chromium/third_party/icu/source/i18n/number_grouping.cpp
index 41f727a458f..6b1642cfd34 100644
--- a/chromium/third_party/icu/source/i18n/number_grouping.cpp
+++ b/chromium/third_party/icu/source/i18n/number_grouping.cpp
@@ -64,6 +64,13 @@ Grouper Grouper::forProperties(const DecimalFormatProperties& properties) {
}
void Grouper::setLocaleData(const impl::ParsedPatternInfo &patternInfo, const Locale& locale) {
+ if (fMinGrouping == -2) {
+ fMinGrouping = getMinGroupingForLocale(locale);
+ } else if (fMinGrouping == -3) {
+ fMinGrouping = static_cast<int16_t>(uprv_max(2, getMinGroupingForLocale(locale)));
+ } else {
+ // leave fMinGrouping alone
+ }
if (fGrouping1 != -2 && fGrouping2 != -4) {
return;
}
@@ -76,13 +83,6 @@ void Grouper::setLocaleData(const impl::ParsedPatternInfo &patternInfo, const Lo
if (grouping3 == -1) {
grouping2 = grouping1;
}
- if (fMinGrouping == -2) {
- fMinGrouping = getMinGroupingForLocale(locale);
- } else if (fMinGrouping == -3) {
- fMinGrouping = static_cast<int16_t>(uprv_max(2, getMinGroupingForLocale(locale)));
- } else {
- // leave fMinGrouping alone
- }
fGrouping1 = grouping1;
fGrouping2 = grouping2;
}
diff --git a/chromium/third_party/icu/source/i18n/unicode/decimfmt.h b/chromium/third_party/icu/source/i18n/unicode/decimfmt.h
index 8dba9b21f33..dbf6b3aef9b 100644
--- a/chromium/third_party/icu/source/i18n/unicode/decimfmt.h
+++ b/chromium/third_party/icu/source/i18n/unicode/decimfmt.h
@@ -1674,8 +1674,15 @@ class U_I18N_API DecimalFormat : public NumberFormat {
int32_t getMinimumGroupingDigits() const;
/**
- * Sets the minimum grouping digits. Setting to a value less than or
- * equal to 1 turns off minimum grouping digits.
+ * Sets the minimum grouping digits. Setting the value to
+ * - 1: Turns off minimum grouping digits.
+ * - 0 or -1: The behavior is undefined.
+ * - UNUM_MINIMUM_GROUPING_DIGITS_AUTO: Display grouping using the default
+ * strategy for all locales.
+ * - UNUM_MINIMUM_GROUPING_DIGITS_MIN2: Display grouping using locale
+ * defaults, except do not show grouping on values smaller than 10000
+ * (such that there is a minimum of two digits before the first
+ * separator).
*
* For more control over grouping strategies, use NumberFormatter.
*
diff --git a/chromium/third_party/icu/source/i18n/unicode/unum.h b/chromium/third_party/icu/source/i18n/unicode/unum.h
index 9036f9575da..3263bb4b293 100644
--- a/chromium/third_party/icu/source/i18n/unicode/unum.h
+++ b/chromium/third_party/icu/source/i18n/unicode/unum.h
@@ -392,6 +392,30 @@ typedef enum UNumberFormatFields {
} UNumberFormatFields;
+#ifndef U_HIDE_DRAFT_API
+/**
+ * Selectors with special numeric values to use locale default minimum grouping
+ * digits for the DecimalFormat/UNumberFormat setMinimumGroupingDigits method.
+ * Do not use these constants with the [U]NumberFormatter API.
+ *
+ * @draft ICU 68
+ */
+typedef enum UNumberFormatMinimumGroupingDigits {
+ /**
+ * Display grouping using the default strategy for all locales.
+ * @draft ICU 68
+ */
+ UNUM_MINIMUM_GROUPING_DIGITS_AUTO = -2,
+ /**
+ * Display grouping using locale defaults, except do not show grouping on
+ * values smaller than 10000 (such that there is a minimum of two digits
+ * before the first separator).
+ * @draft ICU 68
+ */
+ UNUM_MINIMUM_GROUPING_DIGITS_MIN2 = -3,
+} UNumberFormatMinimumGroupingDigits;
+#endif // U_HIDE_DRAFT_API
+
/**
* Create and return a new UNumberFormat for formatting and parsing
* numbers. A UNumberFormat may be used to format numbers by calling