diff options
author | Elliott Hughes <enh@google.com> | 2013-07-23 16:47:20 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2013-07-23 16:47:20 +0000 |
commit | e443fb72540fa47161ff4b2205f8f7fafc07e869 (patch) | |
tree | a03333707940bbf9016ecdc6e9e3eeed185e090a | |
parent | 038d8091c34a0a76b595df685208f895764eab3e (diff) | |
parent | 87c87980e71c443ed7665d8b0bb22c41977109a2 (diff) | |
download | icu4c-e443fb72540fa47161ff4b2205f8f7fafc07e869.tar.gz |
Merge "Simplify maintaining the .dat file."jb-mr1.1-dev-plus-aosp
-rw-r--r-- | stubdata/icu-data-default.txt | 1378 | ||||
-rwxr-xr-x | stubdata/icu_dat_generator.py | 182 | ||||
-rw-r--r-- | stubdata/icudt51l-default.dat | bin | 12718656 -> 14056016 bytes |
3 files changed, 166 insertions, 1394 deletions
diff --git a/stubdata/icu-data-default.txt b/stubdata/icu-data-default.txt index 32ba378a..99730f21 100644 --- a/stubdata/icu-data-default.txt +++ b/stubdata/icu-data-default.txt @@ -1,17 +1,11 @@ -brkitr/res_index.res -brkitr/root.res brkitr/char.brk brkitr/cjdict.dict -brkitr/el.res -brkitr/en.res -brkitr/en_US.res -brkitr/en_US_POSIX.res -brkitr/fi.res -brkitr/ja.res brkitr/khmerdict.dict brkitr/line.brk brkitr/line_fi.brk brkitr/line_ja.brk +brkitr/res_index.res +brkitr/root.res brkitr/sent.brk brkitr/sent_el.brk brkitr/thaidict.dict @@ -19,1343 +13,47 @@ brkitr/title.brk brkitr/word.brk brkitr/word_POSIX.brk -coll/res_index.res coll/invuca.icu -coll/ucadata.icu +coll/res_index.res coll/root.res -coll/af.res -coll/af_NA.res -coll/af_ZA.res -coll/ar.res -coll/ar_001.res -coll/ar_AE.res -coll/ar_BH.res -coll/ar_DJ.res -coll/ar_DZ.res -coll/ar_EG.res -coll/ar_EH.res -coll/ar_ER.res -coll/ar_IL.res -coll/ar_IQ.res -coll/ar_JO.res -coll/ar_KM.res -coll/ar_KW.res -coll/ar_LB.res -coll/ar_LY.res -coll/ar_MA.res -coll/ar_MR.res -coll/ar_OM.res -coll/ar_PS.res -coll/ar_QA.res -coll/ar_SA.res -coll/ar_SD.res -coll/ar_SO.res -coll/ar_SY.res -coll/ar_TD.res -coll/ar_TN.res -coll/ar_YE.res -coll/be.res -coll/be_BY.res -coll/bg.res -coll/bg_BG.res -coll/bn.res -coll/bn_BD.res -coll/bn_IN.res -coll/ca.res -coll/ca_AD.res -coll/ca_ES.res -coll/cs.res -coll/cs_CZ.res -coll/da.res -coll/da_DK.res -coll/de.res -coll/de_.res -coll/de_AT.res -coll/de_BE.res -coll/de_CH.res -coll/de_DE.res -coll/de_LI.res -coll/de_LU.res -coll/de__PHONEBOOK.res -coll/el.res -coll/el_CY.res -coll/el_GR.res -coll/en.res -coll/en_150.res -coll/en_AG.res -coll/en_AS.res -coll/en_AU.res -coll/en_BB.res -coll/en_BE.res -coll/en_BM.res -coll/en_BS.res -coll/en_BW.res -coll/en_BZ.res -coll/en_CA.res -coll/en_CM.res -coll/en_DM.res -coll/en_FJ.res -coll/en_FM.res -coll/en_GB.res -coll/en_GD.res -coll/en_GG.res -coll/en_GH.res -coll/en_GI.res -coll/en_GM.res -coll/en_GU.res -coll/en_HK.res -coll/en_IE.res -coll/en_IM.res -coll/en_IN.res -coll/en_JE.res -coll/en_JM.res -coll/en_KE.res -coll/en_KI.res -coll/en_KN.res -coll/en_KY.res -coll/en_LC.res -coll/en_LR.res -coll/en_LS.res -coll/en_MG.res -coll/en_MH.res -coll/en_MP.res -coll/en_MT.res -coll/en_MU.res -coll/en_MW.res -coll/en_NA.res -coll/en_NG.res -coll/en_NZ.res -coll/en_PG.res -coll/en_PH.res -coll/en_PK.res -coll/en_PR.res -coll/en_PW.res -coll/en_SB.res -coll/en_SC.res -coll/en_SG.res -coll/en_SL.res -coll/en_SS.res -coll/en_TC.res -coll/en_TO.res -coll/en_TT.res -coll/en_TZ.res -coll/en_UG.res -coll/en_UM.res -coll/en_US.res -coll/en_US_POSIX.res -coll/en_VC.res -coll/en_VG.res -coll/en_VI.res -coll/en_VU.res -coll/en_WS.res -coll/en_ZA.res -coll/en_ZM.res -coll/en_ZW.res -coll/es_.res -coll/es.res -coll/es_419.res -coll/es_AR.res -coll/es_BO.res -coll/es_CL.res -coll/es_CO.res -coll/es_CR.res -coll/es_CU.res -coll/es_DO.res -coll/es_EA.res -coll/es_EC.res -coll/es_ES.res -coll/es_GQ.res -coll/es_GT.res -coll/es_HN.res -coll/es_IC.res -coll/es_MX.res -coll/es_NI.res -coll/es_PA.res -coll/es_PE.res -coll/es_PH.res -coll/es_PR.res -coll/es_PY.res -coll/es_SV.res -coll/es_US.res -coll/es_UY.res -coll/es_VE.res -coll/es__TRADITIONAL.res -coll/et.res -coll/et_EE.res -coll/fa.res -coll/fa_AF.res -coll/fa_IR.res -coll/fi.res -coll/fi_FI.res -coll/fil.res -coll/fil_PH.res -coll/fr.res -coll/fr_BE.res -coll/fr_BF.res -coll/fr_BI.res -coll/fr_BJ.res -coll/fr_BL.res -coll/fr_CA.res -coll/fr_CD.res -coll/fr_CF.res -coll/fr_CG.res -coll/fr_CI.res -coll/fr_CH.res -coll/fr_CM.res -coll/fr_DJ.res -coll/fr_DZ.res -coll/fr_FR.res -coll/fr_GA.res -coll/fr_GN.res -coll/fr_GP.res -coll/fr_GQ.res -coll/fr_HT.res -coll/fr_KM.res -coll/fr_LU.res -coll/fr_MA.res -coll/fr_MC.res -coll/fr_MF.res -coll/fr_MG.res -coll/fr_ML.res -coll/fr_MQ.res -coll/fr_MR.res -coll/fr_MU.res -coll/fr_NC.res -coll/fr_NE.res -coll/fr_PF.res -coll/fr_RE.res -coll/fr_RW.res -coll/fr_SC.res -coll/fr_SN.res -coll/fr_SY.res -coll/fr_TD.res -coll/fr_TG.res -coll/fr_TN.res -coll/fr_VU.res -coll/he.res -coll/he_IL.res -coll/hi.res -coll/hi_IN.res -coll/hr.res -coll/hr_BA.res -coll/hr_HR.res -coll/hu.res -coll/hu_HU.res -coll/id.res -coll/id_ID.res -coll/in.res -coll/in_ID.res -coll/is.res -coll/is_IS.res -coll/it.res -coll/it_CH.res -coll/it_IT.res -coll/it_SM.res -coll/iw.res -coll/iw_IL.res -coll/ja.res -coll/ja_JP.res -coll/ko.res -coll/ko_KP.res -coll/ko_KR.res -coll/lt.res -coll/lt_LT.res -coll/lv.res -coll/lv_LV.res -coll/mr.res -coll/mr_IN.res -coll/ms.res -coll/ms_Latn.res -coll/ms_Latn_BN.res -coll/ms_Latn_MY.res -coll/ms_Latn_SG.res -coll/nb.res -coll/nb_NO.res -coll/nl.res -coll/nl_AW.res -coll/nl_CW.res -coll/nl_BE.res -coll/nl_NL.res -coll/nl_SR.res -coll/nl_SX.res -coll/pl.res -coll/pl_PL.res +coll/ucadata.icu # coll/ps.res is needed for fa_AF. coll/ps.res -coll/pt.res -coll/pt_AO.res -coll/pt_BR.res -coll/pt_CV.res -coll/pt_GW.res -coll/pt_MO.res -coll/pt_MZ.res -coll/pt_PT.res -coll/pt_ST.res -coll/pt_TL.res -coll/ro.res -coll/ro_MD.res -coll/ro_RO.res -coll/ru.res -coll/ru_BY.res -coll/ru_KG.res -coll/ru_KZ.res -coll/ru_MD.res -coll/ru_RU.res -coll/ru_UA.res -coll/sk.res -coll/sk_SK.res -coll/sl.res -coll/sl_SI.res -coll/sr.res -coll/sr_BA.res -coll/sr_Cyrl.res -coll/sr_Cyrl_BA.res -coll/sr_Cyrl_ME.res -coll/sr_Cyrl_RS.res -coll/sr_Latn.res -coll/sr_Latn_BA.res -coll/sr_Latn_ME.res -coll/sr_Latn_RS.res -coll/sr_ME.res -coll/sr_RS.res -coll/sv.res -coll/sv_AX.res -coll/sv_FI.res -coll/sv_SE.res -coll/sw.res -coll/sw_KE.res -coll/sw_TZ.res -coll/sw_UG.res -coll/ta.res -coll/ta_IN.res -coll/ta_LK.res -coll/ta_MY.res -coll/ta_SG.res -coll/th.res -coll/th_TH.res -coll/tr.res -coll/tr_CY.res -coll/tr_TR.res -coll/uk.res -coll/uk_UA.res -coll/vi.res -coll/vi_VN.res -coll/zh.res -coll/zh_CN.res -coll/zh_HK.res -coll/zh_Hans.res -coll/zh_Hans_CN.res -coll/zh_Hans_SG.res -coll/zh_Hant.res -coll/zh_Hant_HK.res -coll/zh_Hant_MO.res -coll/zh_Hant_TW.res -coll/zh_MO.res -coll/zh_SG.res -coll/zh_TW.res -coll/zu.res -coll/zu_ZA.res -curr/af.res -curr/af_NA.res -curr/am.res -curr/ar.res -curr/ar_DJ.res -curr/ar_DJ.res -curr/ar_ER.res -curr/ar_ER.res -curr/ar_SO.res -curr/ar_SO.res -curr/be.res -curr/bg.res -curr/bn.res -curr/bn_IN.res -curr/ca.res -curr/cs.res -curr/da.res -curr/de.res -curr/de_CH.res -curr/de_LU.res -curr/el.res -curr/en.res -curr/en_AG.res -curr/en_AU.res -curr/en_BB.res -curr/en_BE.res -curr/en_BM.res -curr/en_BS.res -curr/en_BW.res -curr/en_BZ.res -curr/en_CA.res -curr/en_CM.res -curr/en_DM.res -curr/en_FJ.res -curr/en_GB.res -curr/en_GD.res -curr/en_GH.res -curr/en_GI.res -curr/en_GM.res -curr/en_GY.res -curr/en_HK.res -curr/en_IN.res -curr/en_JM.res -curr/en_KE.res -curr/en_KI.res -curr/en_KN.res -curr/en_KY.res -curr/en_LC.res -curr/en_LR.res -curr/en_LS.res -curr/en_MG.res -curr/en_MT.res -curr/en_MU.res -curr/en_MW.res -curr/en_NA.res -curr/en_NG.res -curr/en_NH.res -curr/en_NZ.res -curr/en_PG.res -curr/en_PH.res -curr/en_PK.res -curr/en_RH.res -curr/en_SB.res -curr/en_SC.res -curr/en_SG.res -curr/en_SL.res -curr/en_SS.res -curr/en_SZ.res -curr/en_TO.res -curr/en_TT.res -curr/en_TZ.res -curr/en_UG.res -curr/en_US.res -curr/en_VC.res -curr/en_VU.res -curr/en_WS.res -curr/en_ZA.res -curr/en_ZM.res -curr/en_ZW.res -curr/es.res -curr/es_AR.res -curr/es_BO.res -curr/es_CL.res -curr/es_CO.res -curr/es_CR.res -curr/es_CU.res -curr/es_DO.res -curr/es_EC.res -curr/es_GT.res -curr/es_HN.res -curr/es_MX.res -curr/es_NI.res -curr/es_PA.res -curr/es_PE.res -curr/es_PH.res -curr/es_PR.res -curr/es_PY.res -curr/es_US.res -curr/es_UY.res -curr/es_VE.res -curr/et.res -curr/fa.res -curr/fa_AF.res -curr/fi.res -curr/fil.res -curr/fil_PH.res -curr/fr.res -curr/fr_BI.res -curr/fr_CA.res -curr/fr_CD.res -curr/fr_CH.res -curr/fr_DJ.res -curr/fr_DZ.res -curr/fr_GN.res -curr/fr_HT.res -curr/fr_LU.res -curr/fr_KM.res -curr/fr_MG.res -curr/fr_MR.res -curr/fr_MU.res -curr/fr_RW.res -curr/fr_SC.res -curr/fr_SY.res -curr/fr_TN.res -curr/he.res -curr/he_IL.res -curr/hi.res -curr/hr.res -curr/hr_BA.res -curr/hu.res -curr/id.res -curr/id_ID.res -curr/in.res -curr/in_ID.res -curr/is.res -curr/it.res -curr/it_CH.res -curr/iw.res -curr/iw_IL.res -curr/ja.res -curr/ja_JP.res -curr/ko.res -curr/lt.res -curr/lv.res -curr/mr.res -curr/ms.res -curr/ms_BN.res -curr/ms_Latn.res -curr/ms_Latn_BN.res -curr/ms_Latn_MY.res -curr/ms_Latn_SG.res -curr/ms_MY.res -curr/ms_SG.res -curr/nb.res -curr/nb_NO.res -curr/nl.res -curr/nl_AW.res -curr/nl_CW.res -curr/nl_SR.res -curr/nl_SX.res -curr/pl.res curr/pool.res -curr/pt.res -curr/pt_AO.res -curr/pt_CV.res -curr/pt_MO.res -curr/pt_MZ.res -curr/pt_PT.res -curr/pt_ST.res curr/res_index.res -curr/rm.res -curr/ro.res -curr/ro_MD.res curr/root.res -curr/ru.res -curr/ru_BY.res -curr/ru_KG.res -curr/ru_KZ.res -curr/sk.res -curr/sl.res -curr/sr.res -curr/sr_BA.res -curr/sr_CS.res -curr/sr_Cyrl.res -curr/sr_Cyrl_BA.res -curr/sr_Cyrl_CS.res -curr/sr_Cyrl_RS.res -curr/sr_Cyrl_YU.res -curr/sr_Latn.res -curr/sr_Latn_BA.res -curr/sr_Latn_CS.res -curr/sr_Latn_ME.res -curr/sr_Latn_RS.res -curr/sr_Latn_YU.res -curr/sr_ME.res -curr/sr_RS.res -curr/sr_YU.res curr/supplementalData.res -curr/sv.res -curr/sw.res -curr/sw_UG.res -curr/ta.res -curr/ta_LK.res -curr/ta_MY.res -curr/ta_SG.res -curr/th.res -curr/th_TH.res -curr/tl.res -curr/tl_PH.res -curr/tr.res -curr/uk.res -curr/vi.res -curr/zh.res -curr/zh_CN.res -curr/zh_HK.res -curr/zh_Hans.res -curr/zh_Hans_CN.res -curr/zh_Hans_HK.res -curr/zh_Hans_SG.res -curr/zh_Hant.res -curr/zh_Hant_HK.res -curr/zh_Hant_MO.res -curr/zh_Hant_TW.res -curr/zh_MO.res -curr/zh_SG.res -curr/zh_TW.res -curr/zu.res -lang/res_index.res lang/pool.res +lang/res_index.res lang/root.res -lang/af.res -lang/am.res -lang/ar.res -lang/be.res -lang/bg.res -lang/bn.res -lang/bn_IN.res -lang/ca.res -lang/cs.res -lang/da.res -lang/de.res -lang/de_CH.res -lang/el.res -lang/en.res -lang/en_GB.res -lang/en_NH.res -lang/en_RH.res -lang/en_VU.res -lang/en_ZW.res -lang/es.res -lang/es_419.res -lang/es_CL.res -lang/et.res -lang/fa.res -lang/fa_AF.res -lang/fi.res -lang/fil.res -lang/fil_PH.res -lang/fr.res -lang/fr_CA.res -lang/he.res -lang/he_IL.res -lang/hi.res -lang/hr.res -lang/hu.res -lang/id.res -lang/id_ID.res -lang/in.res -lang/in_ID.res -lang/is.res -lang/it.res -lang/iw.res -lang/iw_IL.res -lang/ja.res -lang/ja_JP.res -lang/ko.res -lang/lt.res -lang/lv.res -lang/mr.res -lang/ms.res -lang/ms_BN.res -lang/ms_Latn.res -lang/ms_Latn_BN.res -lang/ms_Latn_MY.res -lang/ms_Latn_SG.res -lang/ms_MY.res -lang/ms_SG.res -lang/nb.res -lang/nb_NO.res -lang/nl.res -lang/nl_BE.res -lang/pl.res -lang/pt.res -lang/pt_PT.res -lang/rm.res -lang/ro.res -lang/ro_MD.res -lang/ru.res -lang/ru_UA.res -lang/sk.res -lang/sl.res -lang/sr.res -lang/sr_BA.res -lang/sr_CS.res -lang/sr_Cyrl.res -lang/sr_Cyrl_BA.res -lang/sr_Cyrl_CS.res -lang/sr_Cyrl_RS.res -lang/sr_Cyrl_YU.res -lang/sr_Latn.res -lang/sr_Latn_BA.res -lang/sr_Latn_CS.res -lang/sr_Latn_ME.res -lang/sr_Latn_RS.res -lang/sr_Latn_YU.res -lang/sr_ME.res -lang/sr_RS.res -lang/sr_YU.res -lang/sv.res -lang/sv_FI.res -lang/sw.res -lang/ta.res -lang/th.res -lang/th_TH.res -lang/tl.res -lang/tl_PH.res -lang/tr.res -lang/uk.res -lang/vi.res -lang/zh.res -lang/zh_CN.res -lang/zh_HK.res -lang/zh_Hans.res -lang/zh_Hans_CN.res -lang/zh_Hans_HK.res -lang/zh_Hans_SG.res -lang/zh_Hant.res -lang/zh_Hant_HK.res -lang/zh_Hant_MO.res -lang/zh_Hant_TW.res -lang/zh_MO.res -lang/zh_SG.res -lang/zh_TW.res -lang/zu.res -region/res_index.res region/pool.res +region/res_index.res region/root.res -region/af.res -region/am.res -region/ar.res -region/be.res -region/bg.res -region/bn.res -region/bn_IN.res -region/ca.res -region/cs.res -region/da.res -region/de.res -region/de_CH.res -region/el.res -region/en.res -region/en_GB.res -region/en_NH.res -region/en_RH.res -region/en_VU.res -region/en_ZW.res -region/es.res -region/es_CL.res -region/et.res -region/fa.res -region/fa_AF.res -region/fi.res -region/fil.res -region/fil_PH.res -region/fr.res -region/fr_CA.res -region/he.res -region/he_IL.res -region/hi.res -region/hr.res -region/hu.res -region/id.res -region/id_ID.res -region/in.res -region/in_ID.res -region/is.res -region/it.res -region/iw.res -region/iw_IL.res -region/ja.res -region/ja_JP.res -region/ko.res -region/lt.res -region/lv.res -region/mr.res -region/ms.res -region/ms_BN.res -region/ms_Latn.res -region/ms_Latn_BN.res -region/ms_Latn_MY.res -region/ms_Latn_SG.res -region/ms_MY.res -region/ms_SG.res -region/nb.res -region/nb_NO.res -region/nl.res -region/nl_BE.res -region/pl.res -region/pt.res -region/pt_PT.res -region/rm.res -region/ro.res -region/ro_MD.res -region/ru.res -region/sk.res -region/sl.res -region/sr.res -region/sr_BA.res -region/sr_CS.res -region/sr_Cyrl.res -region/sr_Cyrl_BA.res -region/sr_Cyrl_CS.res -region/sr_Cyrl_RS.res -region/sr_Cyrl_YU.res -region/sr_Latn.res -region/sr_Latn_BA.res -region/sr_Latn_CS.res -region/sr_Latn_ME.res -region/sr_Latn_RS.res -region/sr_Latn_YU.res -region/sr_ME.res -region/sr_RS.res -region/sr_YU.res -region/sv.res -region/sv_FI.res -region/sw.res -region/ta.res -region/th.res -region/th_TH.res -region/tl.res -region/tl_PH.res -region/tr.res -region/uk.res -region/vi.res -region/zh.res -region/zh_CN.res -region/zh_HK.res -region/zh_Hans.res -region/zh_Hans_CN.res -region/zh_Hans_HK.res -region/zh_Hans_SG.res -region/zh_Hant.res -region/zh_Hant_HK.res -region/zh_Hant_MO.res -region/zh_Hant_TW.res -region/zh_MO.res -region/zh_SG.res -region/zh_TW.res -region/zu.res translit/el.res translit/en.res translit/root.res -zone/res_index.res zone/pool.res +zone/res_index.res zone/root.res -zone/af.res -zone/am.res -zone/ar.res -zone/be.res -zone/bg.res -zone/bn.res -zone/bn_IN.res -zone/ca.res -zone/cs.res -zone/da.res -zone/de.res -zone/el.res -zone/en.res -zone/en_AG.res -zone/en_AU.res -zone/en_BB.res -zone/en_BZ.res -zone/en_CA.res -zone/en_CM.res -zone/en_DM.res -zone/en_FJ.res -zone/en_FM.res -zone/en_GB.res -zone/en_GD.res -zone/en_GH.res -zone/en_GM.res -zone/en_GU.res -zone/en_GY.res -zone/en_HK.res -zone/en_IE.res -zone/en_IN.res -zone/en_JM.res -zone/en_KE.res -zone/en_KI.res -zone/en_KN.res -zone/en_KY.res -zone/en_LC.res -zone/en_LR.res -zone/en_LS.res -zone/en_MG.res -zone/en_MH.res -zone/en_MP.res -zone/en_MU.res -zone/en_MW.res -zone/en_NA.res -zone/en_NG.res -zone/en_NH.res -zone/en_NZ.res -zone/en_PG.res -zone/en_PH.res -zone/en_PK.res -zone/en_PW.res -zone/en_RH.res -zone/en_SB.res -zone/en_SC.res -zone/en_SG.res -zone/en_SL.res -zone/en_SS.res -zone/en_SZ.res -zone/en_TC.res -zone/en_TO.res -zone/en_TT.res -zone/en_TZ.res -zone/en_UG.res -zone/en_VC.res -zone/en_VG.res -zone/en_VU.res -zone/en_WS.res -zone/en_ZA.res -zone/en_ZM.res -zone/en_ZW.res -zone/es.res -zone/es_419.res -zone/es_AR.res -zone/et.res -zone/fa.res -zone/fi.res -zone/fil.res -zone/fil_PH.res -zone/fr.res -zone/fr_CA.res -zone/he.res -zone/he_IL.res -zone/hi.res -zone/hr.res -zone/hu.res -zone/id.res -zone/id_ID.res -zone/in.res -zone/in_ID.res -zone/is.res -zone/it.res -zone/iw.res -zone/iw_IL.res -zone/ja.res -zone/ja_JP.res -zone/ko.res -zone/ko_KP.res -zone/lt.res -zone/lv.res -zone/mr.res -zone/ms.res -zone/ms_BN.res -zone/ms_Latn.res -zone/ms_Latn_BN.res -zone/ms_Latn_MY.res -zone/ms_Latn_SG.res -zone/ms_MY.res -zone/ms_SG.res -zone/nb.res -zone/nb_NO.res -zone/nl.res -zone/pl.res -zone/pt.res -zone/pt_AO.res -zone/pt_CV.res -zone/pt_GW.res -zone/pt_MO.res -zone/pt_MZ.res -zone/pt_PT.res -zone/pt_ST.res -zone/pt_TL.res -zone/rm.res -zone/ro.res -zone/ro_MD.res -zone/ru.res -zone/sk.res -zone/sl.res -zone/sr.res -zone/sr_BA.res -zone/sr_CS.res -zone/sr_Cyrl.res -zone/sr_Cyrl_BA.res -zone/sr_Cyrl_CS.res -zone/sr_Cyrl_RS.res -zone/sr_Cyrl_YU.res -zone/sr_Latn.res -zone/sr_Latn_BA.res -zone/sr_Latn_CS.res -zone/sr_Latn_ME.res -zone/sr_Latn_RS.res -zone/sr_Latn_YU.res -zone/sr_ME.res -zone/sr_RS.res -zone/sr_YU.res -zone/sv.res -zone/sv_FI.res -zone/sw.res -zone/ta.res -zone/ta_MY.res -zone/ta_SG.res -zone/th.res -zone/th_TH.res -zone/tl.res -zone/tl_PH.res -zone/tr.res -zone/uk.res -zone/vi.res -zone/zh.res -zone/zh_CN.res -zone/zh_HK.res -zone/zh_Hans.res -zone/zh_Hans_CN.res -zone/zh_Hans_HK.res -zone/zh_Hans_SG.res -zone/zh_Hant.res -zone/zh_Hant_HK.res -zone/zh_Hant_MO.res -zone/zh_Hant_TW.res -zone/zh_MO.res -zone/zh_SG.res -zone/zh_TW.res -zone/zu.res +pool.res res_index.res root.res -pool.res -af.res -af_NA.res -af_ZA.res -am.res -am_ET.res -ar.res -ar_001.res -ar_AE.res -ar_BH.res -ar_DJ.res -ar_DZ.res -ar_EG.res -ar_EH.res -ar_ER.res -ar_IL.res -ar_IQ.res -ar_JO.res -ar_KM.res -ar_KW.res -ar_LB.res -ar_LY.res -ar_MA.res -ar_MR.res -ar_OM.res -ar_PS.res -ar_QA.res -ar_SA.res -ar_SD.res -ar_SO.res -ar_SY.res -ar_TD.res -ar_TN.res -ar_YE.res -be.res -be_BY.res -bg.res -bg_BG.res -bn.res -bn_BD.res -bn_IN.res -ca.res -ca_AD.res -ca_ES.res -cs.res -cs_CZ.res -da.res -da_DK.res -de.res -de_AT.res -de_BE.res -de_CH.res -de_DE.res -de_LI.res -de_LU.res -el.res -el_CY.res -el_GR.res -en.res -en_150.res -en_AG.res -en_AS.res -en_AU.res -en_BB.res -en_BE.res -en_BM.res -en_BS.res -en_BW.res -en_BZ.res -en_CA.res -en_CM.res -en_DM.res -en_FJ.res -en_FM.res -en_GB.res -en_GD.res -en_GG.res -en_GH.res -en_GH.res -en_GI.res -en_GM.res -en_GU.res -en_GY.res -en_HK.res -en_IE.res -en_IM.res -en_IN.res -en_JE.res -en_JM.res -en_JM.res -en_KE.res -en_KI.res -en_KN.res -en_KY.res -en_LC.res -en_LR.res -en_LS.res -en_MG.res -en_MH.res -en_MP.res -en_MT.res -en_MU.res -en_MW.res -en_NA.res -en_NG.res -en_NH.res -en_NZ.res -en_PG.res -en_PH.res -en_PK.res -en_PR.res -en_PW.res -en_RH.res -en_SB.res -en_SC.res -en_SG.res -en_SL.res -en_SS.res -en_SZ.res -en_TC.res -en_TO.res -en_TT.res -en_TZ.res -en_UG.res -en_UM.res -en_US.res -en_US_POSIX.res -en_VC.res -en_VG.res -en_VI.res -en_VU.res -en_WS.res -en_ZA.res -en_ZM.res -en_ZW.res -es.res -es_419.res -es_AR.res -es_BO.res -es_CL.res -es_CO.res -es_CR.res -es_CU.res -es_DO.res -es_EA.res -es_EC.res -es_ES.res -es_GQ.res -es_GT.res -es_HN.res -es_IC.res -es_MX.res -es_NI.res -es_PA.res -es_PE.res -es_PH.res -es_PR.res -es_PY.res -es_SV.res -es_US.res -es_UY.res -es_VE.res -et.res -et_EE.res -fa.res -fa_AF.res -fa_IR.res -fi.res -fi_FI.res -fil.res -fil_PH.res -fr.res -fr_BE.res -fr_BF.res -fr_BI.res -fr_BJ.res -fr_BL.res -fr_CA.res -fr_CD.res -fr_CF.res -fr_CG.res -fr_CH.res -fr_CI.res -fr_CM.res -fr_DJ.res -fr_DZ.res -fr_FR.res -fr_GA.res -fr_GF.res -fr_GN.res -fr_GP.res -fr_GQ.res -fr_HT.res -fr_KM.res -fr_LU.res -fr_MA.res -fr_MC.res -fr_MF.res -fr_MG.res -fr_ML.res -fr_MQ.res -fr_MR.res -fr_MU.res -fr_NC.res -fr_NE.res -fr_PF.res -fr_RE.res -fr_RW.res -fr_SC.res -fr_SN.res -fr_SY.res -fr_TD.res -fr_TG.res -fr_TN.res -fr_VU.res -fr_YT.res -he.res -he_IL.res -hi.res -hi_IN.res -hr.res -hr_BA.res -hr_HR.res -hu.res -hu_HU.res -id.res -id_ID.res -in.res -in_ID.res -is.res -is_IS.res -it.res -it_CH.res -it_IT.res -it_SM.res -iw.res -iw_IL.res -ja.res -ja_JP.res -ko.res -ko_KP.res -ko_KR.res -lt.res -lt_LT.res -lv.res -lv_LV.res -mr.res -mr_IN.res -ms.res -ms_BN.res -ms_Latn.res -ms_Latn_BN.res -ms_Latn_MY.res -ms_Latn_SG.res -ms_MY.res -ms_SG.res -nb.res -nb_NO.res -nl.res -nl_AW.res -nl_BE.res -nl_CW.res -nl_NL.res -nl_SR.res -nl_SX.res -pl.res -pl_PL.res -pt.res -pt_AO.res -pt_BR.res -pt_CV.res -pt_GW.res -pt_MO.res -pt_MZ.res -pt_PT.res -pt_ST.res -pt_TL.res -rm.res -rm_CH.res -ro.res -ro_MD.res -ro_RO.res -ru.res -ru_BY.res -ru_KG.res -ru_KZ.res -ru_MD.res -ru_RU.res -ru_UA.res -sk.res -sk_SK.res -sl.res -sl_SI.res -sr.res -sr_BA.res -sr_CS.res -sr_Cyrl.res -sr_Cyrl_BA.res -sr_Cyrl_CS.res -sr_Cyrl_ME.res -sr_Cyrl_RS.res -sr_Cyrl_YU.res -sr_Latn.res -sr_Latn_BA.res -sr_Latn_CS.res -sr_Latn_ME.res -sr_Latn_RS.res -sr_Latn_YU.res -sr_ME.res -sr_RS.res -sr_YU.res -sv.res -sv_AX.res -sv_FI.res -sv_SE.res -sw.res -sw_KE.res -sw_TZ.res -sw_UG.res -ta.res -ta_IN.res -ta_LK.res -ta_MY.res -ta_SG.res -th.res -th_TH.res -tl.res -tl_PH.res -tr.res -tr_CY.res -tr_TR.res -uk.res -uk_UA.res -vi.res -vi_VN.res -zh.res -zh_CN.res -zh_Hans.res -zh_Hans_CN.res -zh_Hans_HK.res -zh_Hans_SG.res -zh_Hant.res -zh_Hant_HK.res -zh_Hant_MO.res -zh_Hant_TW.res -zh_HK.res -zh_MO.res -zh_SG.res -zh_TW.res -zu.res -zu_ZA.res +docomo-shift_jis-2012.cnv +euc-jp-2007.cnv +gb18030.cnv +gsm-03.38-2000.cnv ibm-1089_P100-1995.cnv +ibm-1168_P100-2002.cnv ibm-1363_P11B-1998.cnv ibm-1373_P100-2002.cnv +ibm-1375_P100-2007.cnv ibm-1386_P100-2001.cnv ibm-5012_P100-1999.cnv ibm-5346_P100-1998.cnv @@ -1383,46 +81,40 @@ iso-8859_10-1998.cnv iso-8859_11-2001.cnv iso-8859_14-1998.cnv iso-8859_16-2001.cnv +kddi-jisx-208-2007.cnv +kddi-shift_jis-2012.cnv macos-0_2-10.2.cnv macos-7_3-10.2.cnv +noop-cns-11643.cnv +noop-gb2312_gl.cnv +noop-iso-ir-165.cnv +softbank-jisx-208-2007.cnv +softbank-shift_jis-2012.cnv windows-874-2000.cnv windows-936-2000.cnv windows-949-2000.cnv windows-950-2000.cnv -gsm-03.38-2000.cnv -docomo-shift_jis-2012.cnv -kddi-jisx-208-2007.cnv -kddi-shift_jis-2012.cnv -softbank-jisx-208-2007.cnv -softbank-shift_jis-2012.cnv -noop-cns-11643.cnv -noop-gb2312_gl.cnv -noop-iso-ir-165.cnv -ibm-1375_P100-2007.cnv -ibm-1168_P100-2002.cnv -gb18030.cnv -euc-jp-2007.cnv # jisx-208.cnv is needed by the iso-2022-jp patch in ucnv2022.cpp. jisx-208.cnv cnvalias.icu -# Required for Character.getName. -unames.icu -supplementalData.res -numberingSystems.res -plurals.res -metaZones.res -rfc3491.spp -nfc.nrm -nfkc.nrm -timezoneTypes.res -zoneinfo64.res +dayPeriods.res +genderList.res icustd.res icuver.res keyTypeData.res -uts46.nrm likelySubtags.res metadata.res -dayPeriods.res -genderList.res +metaZones.res +nfc.nrm +nfkc.nrm +numberingSystems.res +plurals.res postalCodeData.res +rfc3491.spp +supplementalData.res +timezoneTypes.res +# unames.icu is required for Character.getName. +unames.icu +uts46.nrm +zoneinfo64.res diff --git a/stubdata/icu_dat_generator.py b/stubdata/icu_dat_generator.py index 6a257278..0580c653 100755 --- a/stubdata/icu_dat_generator.py +++ b/stubdata/icu_dat_generator.py @@ -22,7 +22,6 @@ # Sample usage: # $ANDROID_BUILD_TOP/external/icu4c/stubdata$ ./icu_dat_generator.py --verbose -import fnmatch import getopt import glob import os @@ -41,19 +40,6 @@ def PrintHelpAndExit(): sys.exit(1) -def FindCountries(pattern, path): - result = [] - for root, dirs, files in os.walk(path): - for name in files: - if fnmatch.fnmatch(name, pattern): - country = re.sub(r"[^_]*?_([[A-Za-z0-9]*).*", r'\1', name) - if len(country) > 0: - result.append(country) - if 'translit' in dirs: - dirs.remove('translit') - return sorted(set(result)) - - def InvokeIcuTool(tool, working_dir, args): command_list = [os.path.join(ICU_PREBUILT_DIR, tool)] command_list.extend(args) @@ -83,7 +69,7 @@ def MakeDat(input_file, stubdata_dir): GenResIndex(input_file) CopyAndroidCnvFiles(stubdata_dir) # Run "icupkg -tl -s icudtXXl -a icu-data-default.txt new icudtXXl.dat". - args = ["-tl", "-s", TMP_DAT_PATH, "-a", input_file, "new", ICU_DATA + ".dat"] + args = ["-tl", "-s", TMP_DAT_PATH, "-a", "add_list.txt", "new", ICU_DATA + ".dat"] InvokeIcuTool("icupkg", TMP_DAT_PATH, args) @@ -111,12 +97,24 @@ def AddResFile(collection, path): return +def AddAllResFiles(collection, dir_name, language): + pattern1 = '%s/data/%s/%s.txt' % (ICU4C_DIR, dir_name, language) + pattern2 = '%s/data/%s/%s_*.txt' % (ICU4C_DIR, dir_name, language) + for path in glob.glob(pattern1) + glob.glob(pattern2): + if 'TRADITIONAL' in path: + continue + parts = path.split('/') + if dir_name == 'locales': + path = parts[-1].replace('.txt', '') + else: + path = parts[-2] + '/' + parts[-1].replace('.txt', '.res') + collection.add(path) + + # Open input file (such as icu-data-default.txt). -# Go through the list and generate res_index.txt for locales, brkitr, +# Go through the list and generate res_index.res for locales, brkitr, # coll, et cetera. def GenResIndex(input_file): - res_index = "res_index.txt" - brkitrs = set() colls = set() currs = set() @@ -125,7 +123,102 @@ def GenResIndex(input_file): regions = set() zones = set() + languages = [ + # Group 0. + 'en', + + # Group 1. + 'ar', + 'zh', + 'nl', + 'fr', + 'de', + 'it', + 'ja', + 'ko', + 'pl', + 'pt', + 'ru', + 'es', + 'th', + 'tr', + + # Group 2. + 'bg', + 'ca', + 'hr', + 'cs', + 'da', + 'fil','tl', + 'fi', + 'el', + 'iw','he', + 'hi', + 'hu', + 'id','in', + 'lv', + 'lt', + 'nb', + 'ro', + 'sr', + 'sk', + 'sl', + 'sv', + 'uk', + 'vi', + 'fa', + + # Group 3. + 'af', + 'am', + 'bn', + 'et', + 'is', + 'ms', + 'mr', + 'sw', + 'ta', + 'zu', + + # Group 4. + 'eu', + 'gl', + 'gu', + 'kn', + 'ml', + 'te', + 'ur', + + # Group 5. + 'km', + 'lo', + 'ne', + 'si', + 'ka', + 'hy', + 'mn', + 'cy', + + # Other languages grandfathered in from old Android releases. + 'be', + 'rm', + ] + + for language in languages: + AddAllResFiles(brkitrs, 'brkitr', language) + AddAllResFiles(colls, 'coll', language) + AddAllResFiles(currs, 'curr', language) + AddAllResFiles(langs, 'lang', language) + AddAllResFiles(regions, 'region', language) + AddAllResFiles(zones, 'zone', language) + AddAllResFiles(locales, 'locales', language) + + # We need to merge the human-edited icu-data-default.txt with the + # machine-generated list of files needed to support the various languages. + new_add_list = [] + for line in open(input_file, "r"): + new_add_list.append(line) if "root." in line or "res_index" in line or "_.res" in line: continue if "brkitr/" in line: @@ -141,6 +234,7 @@ def GenResIndex(input_file): elif "zone/" in line: AddResFile(zones, line) elif ".res" in line: + # TODO: these should all now be misc resources! # We need to determine the resource is locale resource or misc resource. # To determine the locale resource, we assume max script length is 3. end = line.find(".res") @@ -157,52 +251,38 @@ def GenResIndex(input_file): "zone": zones } - # Find every locale we've mentioned, for whatever reason. - every_locale = set() - for locales in kind_to_locales.itervalues(): - every_locale = every_locale.union(locales) + # Merge the machine-generated list into the human-generated list. + for kind, res_files in kind_to_locales.items(): + for res_file in sorted(res_files): + if '.' not in res_file: + res_file = res_file + '.res' + new_add_list.append(res_file) if VERBOSE: for kind, locales in kind_to_locales.items(): print "%s=%s" % (kind, sorted(locales)) - # Print a human-readable list of the languages supported. - every_language = set() - for locale in every_locale: - language = re.sub(r"(_.*)", "", locale) - if language != "pool" and language != "supplementalData": - every_language.add(language) - input_basename = os.path.basename(input_file) - print "%s includes %s." % (input_basename, ", ".join(sorted(every_language))) - - # Find cases where we've included only part of a locale's data. - missing_files = [] - for locale in every_locale: - for kind, locales in kind_to_locales.items(): - p = os.path.join(ICU4C_DIR, "data", kind, locale + ".txt") - if not locale in locales and os.path.exists(p): - missing_files.append(p) - - # Warn about the missing files. - for missing_file in sorted(missing_files): - relative_path = "/".join(missing_file.split("/")[-2:]) - print "warning: missing data for supported locale: %s" % relative_path - - # Find cases where we've included only some of a language's countries. - for language in sorted(every_language): - all_countries = FindCountries('%s_*.txt' % language, '../data') - for country in all_countries: - if not '%s_%s' % (language, country) in every_locale: - print 'warning: language %s is missing country %s' % (language, country) + # Write the genrb input files. + # First add_list.txt, the argument to icupkg -a... + f = open(os.path.join(TMP_DAT_PATH, "add_list.txt"), "w") + for line in new_add_list: + f.write("%s\n" % line) + f.close() - # Write the genrb input files. + # Second res_index.txt, used below by genrb. + res_index = "res_index.txt" WriteIndex(os.path.join(TMP_DAT_PATH, res_index), locales) for kind, locales in kind_to_locales.items(): if kind == "locales": continue WriteIndex(os.path.join(TMP_DAT_PATH, kind, res_index), locales) + # Useful if you need to see the temporary input files we generated. + if False: + os.system("cat %s/add_list.txt" % TMP_DAT_PATH) + os.system("cat %s/res_index.txt" % TMP_DAT_PATH) + # Call genrb to generate new res_index.res. InvokeIcuTool("genrb", TMP_DAT_PATH, [res_index]) for kind, locales in kind_to_locales.items(): diff --git a/stubdata/icudt51l-default.dat b/stubdata/icudt51l-default.dat Binary files differindex 4ee5e639..aea26a0c 100644 --- a/stubdata/icudt51l-default.dat +++ b/stubdata/icudt51l-default.dat |