diff options
Diffstat (limited to 'chromium/third_party/icu')
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 Binary files differindex b0bd4dba531..e8a0bfabd19 100644 --- a/chromium/third_party/icu/common/icudtb.dat +++ b/chromium/third_party/icu/common/icudtb.dat diff --git a/chromium/third_party/icu/common/icudtl.dat b/chromium/third_party/icu/common/icudtl.dat Binary files differindex 3464a0814f1..effa45be8dc 100644 --- a/chromium/third_party/icu/common/icudtl.dat +++ b/chromium/third_party/icu/common/icudtl.dat 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 Binary files differindex 9c332b4a1d4..b61fa2b6bed 100644 --- a/chromium/third_party/icu/ios/icudtl.dat +++ b/chromium/third_party/icu/ios/icudtl.dat 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, ++ ®ionLength, ++ 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, + ®ionLength, + 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 |