Imported Upstream version 67.1 upstream/67.1
authorJinWang An <jinwang.an@samsung.com>
Wed, 16 Sep 2020 11:02:46 +0000 (20:02 +0900)
committerJinWang An <jinwang.an@samsung.com>
Wed, 16 Sep 2020 11:02:46 +0000 (20:02 +0900)
3419 files changed:
APIChangeReport.html
APIChangeReport.md
readme.html
source/Makefile.in
source/common/Makefile.in
source/common/brkiter.cpp
source/common/cmemory.h
source/common/common.vcxproj
source/common/common_uwp.vcxproj
source/common/cstring.h
source/common/dictbe.cpp
source/common/localematcher.cpp
source/common/localeprioritylist.cpp
source/common/locdistance.cpp
source/common/locdistance.h
source/common/locid.cpp
source/common/loclikelysubtags.cpp
source/common/loclikelysubtags.h
source/common/lsr.cpp
source/common/lsr.h
source/common/putil.cpp
source/common/rbbi.cpp
source/common/rbbidata.h
source/common/rbbirb.cpp
source/common/rbbiscan.cpp
source/common/rbbiscan.h
source/common/rbbitblb.cpp
source/common/rbbitblb.h
source/common/stringpiece.cpp
source/common/uarrsort.cpp
source/common/uassert.h
source/common/ucasemap.cpp
source/common/ucnv2022.cpp
source/common/ucurr.cpp
source/common/uloc.cpp
source/common/uloc_tag.cpp
source/common/ulocimp.h
source/common/umutex.h [changed mode: 0755->0644]
source/common/unames.cpp
source/common/unicode/bytestream.h
source/common/unicode/localebuilder.h
source/common/unicode/localematcher.h
source/common/unicode/localpointer.h
source/common/unicode/locid.h
source/common/unicode/platform.h
source/common/unicode/stringpiece.h
source/common/unicode/uloc.h
source/common/unicode/umachine.h
source/common/unicode/umutablecptrie.h
source/common/unicode/urename.h
source/common/unicode/utext.h
source/common/unicode/utrace.h
source/common/unicode/uvernum.h
source/common/unistr.cpp
source/common/uposixdefs.h
source/common/uresbund.cpp
source/common/uscript.cpp
source/common/ustr_imp.h
source/common/ustring.cpp
source/common/utext.cpp
source/config/dist-data.sh [new file with mode: 0755]
source/config/dist.mk
source/config/icu-config-bottom
source/config/mh-cygwin
source/config/mh-cygwin64
source/config/mh-mingw
source/config/mh-mingw64
source/configure
source/configure.ac
source/data/BUILDRULES.py
source/data/Makefile.in
source/data/brkitr/LOCALE_DEPS.json
source/data/brkitr/de.txt
source/data/brkitr/el.txt
source/data/brkitr/en.txt
source/data/brkitr/en_US.txt
source/data/brkitr/en_US_POSIX.txt
source/data/brkitr/es.txt
source/data/brkitr/fr.txt
source/data/brkitr/it.txt
source/data/brkitr/ja.txt
source/data/brkitr/pt.txt
source/data/brkitr/root.txt
source/data/brkitr/ru.txt
source/data/brkitr/zh.txt
source/data/brkitr/zh_Hant.txt
source/data/build.xml
source/data/cldr-icu-readme.txt
source/data/coll/LOCALE_DEPS.json
source/data/coll/af.txt
source/data/coll/am.txt
source/data/coll/ar.txt
source/data/coll/ar_SA.txt [moved from source/data/curr/ja_JP.txt with 91% similarity]
source/data/coll/ars.txt
source/data/coll/as.txt
source/data/coll/az.txt
source/data/coll/be.txt
source/data/coll/bg.txt
source/data/coll/bn.txt
source/data/coll/bo.txt
source/data/coll/bs.txt
source/data/coll/bs_Cyrl.txt
source/data/coll/ca.txt
source/data/coll/ceb.txt
source/data/coll/chr.txt
source/data/coll/cs.txt
source/data/coll/cy.txt
source/data/coll/da.txt
source/data/coll/de.txt
source/data/coll/de_AT.txt
source/data/coll/dsb.txt
source/data/coll/dz.txt
source/data/coll/ee.txt
source/data/coll/el.txt
source/data/coll/en.txt
source/data/coll/en_US.txt
source/data/coll/en_US_POSIX.txt
source/data/coll/eo.txt
source/data/coll/es.txt
source/data/coll/et.txt
source/data/coll/fa.txt
source/data/coll/fa_AF.txt
source/data/coll/ff.txt [new file with mode: 0644]
source/data/coll/ff_Adlm.txt [new file with mode: 0644]
source/data/coll/fi.txt
source/data/coll/fil.txt
source/data/coll/fo.txt
source/data/coll/fr.txt
source/data/coll/fr_CA.txt
source/data/coll/ga.txt
source/data/coll/gl.txt
source/data/coll/gu.txt
source/data/coll/ha.txt
source/data/coll/haw.txt
source/data/coll/he.txt
source/data/coll/hi.txt
source/data/coll/hr.txt
source/data/coll/hsb.txt
source/data/coll/hu.txt
source/data/coll/hy.txt
source/data/coll/id.txt
source/data/coll/id_ID.txt
source/data/coll/ig.txt
source/data/coll/is.txt
source/data/coll/it.txt
source/data/coll/ja.txt
source/data/coll/ka.txt
source/data/coll/kk.txt
source/data/coll/kl.txt
source/data/coll/km.txt
source/data/coll/kn.txt
source/data/coll/ko.txt
source/data/coll/kok.txt
source/data/coll/ku.txt
source/data/coll/ky.txt
source/data/coll/lb.txt
source/data/coll/lkt.txt
source/data/coll/ln.txt
source/data/coll/lo.txt
source/data/coll/lt.txt
source/data/coll/lv.txt
source/data/coll/mk.txt
source/data/coll/ml.txt
source/data/coll/mn.txt
source/data/coll/mr.txt
source/data/coll/ms.txt
source/data/coll/mt.txt
source/data/coll/my.txt
source/data/coll/nb.txt
source/data/coll/ne.txt
source/data/coll/nl.txt
source/data/coll/nn.txt
source/data/coll/om.txt
source/data/coll/or.txt
source/data/coll/pa.txt
source/data/coll/pa_Guru.txt
source/data/coll/pl.txt
source/data/coll/ps.txt
source/data/coll/pt.txt
source/data/coll/ro.txt
source/data/coll/root.txt
source/data/coll/ru.txt
source/data/coll/se.txt
source/data/coll/si.txt
source/data/coll/sk.txt
source/data/coll/sl.txt
source/data/coll/smn.txt
source/data/coll/sq.txt
source/data/coll/sr.txt
source/data/coll/sr_Cyrl.txt
source/data/coll/sr_Cyrl_ME.txt
source/data/coll/sr_Latn.txt
source/data/coll/sv.txt
source/data/coll/sw.txt
source/data/coll/ta.txt
source/data/coll/te.txt
source/data/coll/th.txt
source/data/coll/tk.txt
source/data/coll/to.txt
source/data/coll/tr.txt
source/data/coll/ug.txt
source/data/coll/uk.txt
source/data/coll/ur.txt
source/data/coll/uz.txt
source/data/coll/vi.txt
source/data/coll/wae.txt
source/data/coll/wo.txt
source/data/coll/xh.txt
source/data/coll/yi.txt
source/data/coll/yo.txt
source/data/coll/yue_Hans_CN.txt [new file with mode: 0644]
source/data/coll/yue_Hant.txt [new file with mode: 0644]
source/data/coll/zh.txt
source/data/coll/zh_Hans.txt
source/data/coll/zh_Hant.txt
source/data/coll/zu.txt
source/data/curr/LOCALE_DEPS.json
source/data/curr/af.txt
source/data/curr/af_NA.txt
source/data/curr/agq.txt
source/data/curr/ak.txt
source/data/curr/am.txt
source/data/curr/ar.txt
source/data/curr/ar_AE.txt
source/data/curr/ar_DJ.txt
source/data/curr/ar_ER.txt
source/data/curr/ar_KM.txt
source/data/curr/ar_LB.txt
source/data/curr/ar_SO.txt
source/data/curr/ar_SS.txt
source/data/curr/as.txt
source/data/curr/asa.txt
source/data/curr/ast.txt
source/data/curr/az.txt
source/data/curr/az_Cyrl.txt
source/data/curr/az_Latn.txt
source/data/curr/bas.txt
source/data/curr/be.txt
source/data/curr/bem.txt
source/data/curr/bez.txt
source/data/curr/bg.txt
source/data/curr/bm.txt
source/data/curr/bn.txt
source/data/curr/bo.txt
source/data/curr/bo_IN.txt
source/data/curr/br.txt
source/data/curr/brx.txt
source/data/curr/bs.txt
source/data/curr/bs_Cyrl.txt
source/data/curr/bs_Latn.txt
source/data/curr/ca.txt
source/data/curr/ca_FR.txt
source/data/curr/ccp.txt
source/data/curr/ce.txt
source/data/curr/ceb.txt
source/data/curr/cgg.txt
source/data/curr/chr.txt
source/data/curr/ckb.txt
source/data/curr/cs.txt
source/data/curr/cy.txt
source/data/curr/da.txt
source/data/curr/dav.txt
source/data/curr/de.txt
source/data/curr/de_CH.txt
source/data/curr/de_LI.txt
source/data/curr/de_LU.txt
source/data/curr/dje.txt
source/data/curr/dsb.txt
source/data/curr/dua.txt
source/data/curr/dyo.txt
source/data/curr/dz.txt
source/data/curr/ebu.txt
source/data/curr/ee.txt
source/data/curr/el.txt
source/data/curr/en.txt
source/data/curr/en_001.txt
source/data/curr/en_150.txt
source/data/curr/en_AE.txt
source/data/curr/en_AG.txt
source/data/curr/en_AI.txt
source/data/curr/en_AT.txt
source/data/curr/en_AU.txt
source/data/curr/en_BB.txt
source/data/curr/en_BE.txt
source/data/curr/en_BI.txt
source/data/curr/en_BM.txt
source/data/curr/en_BS.txt
source/data/curr/en_BW.txt
source/data/curr/en_BZ.txt
source/data/curr/en_CA.txt
source/data/curr/en_CC.txt
source/data/curr/en_CH.txt
source/data/curr/en_CK.txt
source/data/curr/en_CM.txt
source/data/curr/en_CX.txt
source/data/curr/en_CY.txt
source/data/curr/en_DE.txt
source/data/curr/en_DG.txt
source/data/curr/en_DK.txt
source/data/curr/en_DM.txt
source/data/curr/en_ER.txt
source/data/curr/en_FI.txt
source/data/curr/en_FJ.txt
source/data/curr/en_FK.txt
source/data/curr/en_FM.txt
source/data/curr/en_GB.txt
source/data/curr/en_GD.txt
source/data/curr/en_GG.txt
source/data/curr/en_GH.txt
source/data/curr/en_GI.txt
source/data/curr/en_GM.txt
source/data/curr/en_GY.txt
source/data/curr/en_HK.txt
source/data/curr/en_IE.txt
source/data/curr/en_IL.txt
source/data/curr/en_IM.txt
source/data/curr/en_IN.txt
source/data/curr/en_IO.txt
source/data/curr/en_JE.txt
source/data/curr/en_JM.txt
source/data/curr/en_KE.txt
source/data/curr/en_KI.txt
source/data/curr/en_KN.txt
source/data/curr/en_KY.txt
source/data/curr/en_LC.txt
source/data/curr/en_LR.txt
source/data/curr/en_LS.txt
source/data/curr/en_MG.txt
source/data/curr/en_MO.txt
source/data/curr/en_MS.txt
source/data/curr/en_MT.txt
source/data/curr/en_MU.txt
source/data/curr/en_MW.txt
source/data/curr/en_MY.txt
source/data/curr/en_NA.txt
source/data/curr/en_NF.txt
source/data/curr/en_NG.txt
source/data/curr/en_NL.txt
source/data/curr/en_NR.txt
source/data/curr/en_NU.txt
source/data/curr/en_NZ.txt
source/data/curr/en_PG.txt
source/data/curr/en_PH.txt
source/data/curr/en_PK.txt
source/data/curr/en_PN.txt
source/data/curr/en_PW.txt
source/data/curr/en_RW.txt
source/data/curr/en_SB.txt
source/data/curr/en_SC.txt
source/data/curr/en_SD.txt
source/data/curr/en_SE.txt
source/data/curr/en_SG.txt
source/data/curr/en_SH.txt
source/data/curr/en_SI.txt
source/data/curr/en_SL.txt
source/data/curr/en_SS.txt
source/data/curr/en_SX.txt
source/data/curr/en_SZ.txt
source/data/curr/en_TC.txt
source/data/curr/en_TK.txt
source/data/curr/en_TO.txt
source/data/curr/en_TT.txt
source/data/curr/en_TV.txt
source/data/curr/en_TZ.txt
source/data/curr/en_UG.txt
source/data/curr/en_VC.txt
source/data/curr/en_VG.txt
source/data/curr/en_VU.txt
source/data/curr/en_WS.txt
source/data/curr/en_ZA.txt
source/data/curr/en_ZM.txt
source/data/curr/en_ZW.txt
source/data/curr/eo.txt
source/data/curr/es.txt
source/data/curr/es_419.txt
source/data/curr/es_AR.txt
source/data/curr/es_BO.txt
source/data/curr/es_BR.txt
source/data/curr/es_BZ.txt
source/data/curr/es_CL.txt
source/data/curr/es_CO.txt
source/data/curr/es_CR.txt
source/data/curr/es_CU.txt
source/data/curr/es_DO.txt
source/data/curr/es_EC.txt
source/data/curr/es_GQ.txt
source/data/curr/es_GT.txt
source/data/curr/es_HN.txt
source/data/curr/es_MX.txt
source/data/curr/es_NI.txt
source/data/curr/es_PA.txt
source/data/curr/es_PE.txt
source/data/curr/es_PH.txt
source/data/curr/es_PR.txt
source/data/curr/es_PY.txt
source/data/curr/es_SV.txt
source/data/curr/es_US.txt
source/data/curr/es_UY.txt
source/data/curr/es_VE.txt
source/data/curr/et.txt
source/data/curr/eu.txt
source/data/curr/ewo.txt
source/data/curr/fa.txt
source/data/curr/fa_AF.txt
source/data/curr/ff.txt
source/data/curr/ff_Adlm.txt [new file with mode: 0644]
source/data/curr/ff_Adlm_BF.txt [new file with mode: 0644]
source/data/curr/ff_Adlm_CM.txt [new file with mode: 0644]
source/data/curr/ff_Adlm_GH.txt [new file with mode: 0644]
source/data/curr/ff_Adlm_GM.txt [new file with mode: 0644]
source/data/curr/ff_Adlm_GW.txt [new file with mode: 0644]
source/data/curr/ff_Adlm_LR.txt [new file with mode: 0644]
source/data/curr/ff_Adlm_MR.txt [new file with mode: 0644]
source/data/curr/ff_Adlm_NE.txt [new file with mode: 0644]
source/data/curr/ff_Adlm_NG.txt [new file with mode: 0644]
source/data/curr/ff_Adlm_SL.txt [new file with mode: 0644]
source/data/curr/ff_Adlm_SN.txt [new file with mode: 0644]
source/data/curr/ff_Latn.txt
source/data/curr/ff_Latn_GH.txt
source/data/curr/ff_Latn_GM.txt
source/data/curr/ff_Latn_GN.txt
source/data/curr/ff_Latn_LR.txt
source/data/curr/ff_Latn_MR.txt
source/data/curr/ff_Latn_NG.txt
source/data/curr/ff_Latn_SL.txt
source/data/curr/fi.txt
source/data/curr/fil.txt
source/data/curr/fo.txt
source/data/curr/fo_DK.txt
source/data/curr/fr.txt
source/data/curr/fr_BI.txt
source/data/curr/fr_CA.txt
source/data/curr/fr_CD.txt
source/data/curr/fr_DJ.txt
source/data/curr/fr_DZ.txt
source/data/curr/fr_GN.txt
source/data/curr/fr_HT.txt
source/data/curr/fr_KM.txt
source/data/curr/fr_LU.txt
source/data/curr/fr_MG.txt
source/data/curr/fr_MR.txt
source/data/curr/fr_MU.txt
source/data/curr/fr_RW.txt
source/data/curr/fr_SC.txt
source/data/curr/fr_SY.txt
source/data/curr/fr_TN.txt
source/data/curr/fr_VU.txt
source/data/curr/fur.txt
source/data/curr/fy.txt
source/data/curr/ga.txt
source/data/curr/gd.txt
source/data/curr/gl.txt
source/data/curr/gsw.txt
source/data/curr/gu.txt
source/data/curr/guz.txt
source/data/curr/gv.txt
source/data/curr/ha.txt
source/data/curr/ha_GH.txt
source/data/curr/haw.txt
source/data/curr/he.txt
source/data/curr/hi.txt
source/data/curr/hr.txt
source/data/curr/hr_BA.txt
source/data/curr/hsb.txt
source/data/curr/hu.txt
source/data/curr/hy.txt
source/data/curr/ia.txt
source/data/curr/id.txt
source/data/curr/ig.txt
source/data/curr/ii.txt
source/data/curr/is.txt
source/data/curr/it.txt
source/data/curr/ja.txt
source/data/curr/jgo.txt
source/data/curr/jmc.txt
source/data/curr/jv.txt
source/data/curr/ka.txt
source/data/curr/kab.txt
source/data/curr/kam.txt
source/data/curr/kde.txt
source/data/curr/kea.txt
source/data/curr/khq.txt
source/data/curr/ki.txt
source/data/curr/kk.txt
source/data/curr/kkj.txt
source/data/curr/kl.txt
source/data/curr/kln.txt
source/data/curr/km.txt
source/data/curr/kn.txt
source/data/curr/ko.txt
source/data/curr/kok.txt
source/data/curr/ks.txt
source/data/curr/ks_Arab.txt [new file with mode: 0644]
source/data/curr/ks_Arab_IN.txt [moved from source/data/curr/th_TH.txt with 89% similarity]
source/data/curr/ks_IN.txt [new file with mode: 0644]
source/data/curr/ksb.txt
source/data/curr/ksf.txt
source/data/curr/ksh.txt
source/data/curr/ku.txt
source/data/curr/kw.txt
source/data/curr/ky.txt
source/data/curr/lag.txt
source/data/curr/lb.txt
source/data/curr/lg.txt
source/data/curr/lkt.txt
source/data/curr/ln.txt
source/data/curr/ln_AO.txt
source/data/curr/lo.txt
source/data/curr/lrc.txt
source/data/curr/lt.txt
source/data/curr/lu.txt
source/data/curr/luo.txt
source/data/curr/luy.txt
source/data/curr/lv.txt
source/data/curr/mai.txt [new file with mode: 0644]
source/data/curr/mas.txt
source/data/curr/mas_TZ.txt
source/data/curr/mer.txt
source/data/curr/mfe.txt
source/data/curr/mg.txt
source/data/curr/mgh.txt
source/data/curr/mgo.txt
source/data/curr/mi.txt
source/data/curr/mk.txt
source/data/curr/ml.txt
source/data/curr/mn.txt
source/data/curr/mni.txt [new file with mode: 0644]
source/data/curr/mni_Beng.txt [new file with mode: 0644]
source/data/curr/mni_Beng_IN.txt [new file with mode: 0644]
source/data/curr/mni_IN.txt [new file with mode: 0644]
source/data/curr/mr.txt
source/data/curr/ms.txt
source/data/curr/ms_BN.txt
source/data/curr/ms_ID.txt [moved from source/data/lang/th_TH_TRADITIONAL.txt with 51% similarity]
source/data/curr/ms_SG.txt
source/data/curr/mt.txt
source/data/curr/mua.txt
source/data/curr/my.txt
source/data/curr/mzn.txt
source/data/curr/naq.txt
source/data/curr/nb.txt
source/data/curr/nd.txt
source/data/curr/nds.txt
source/data/curr/ne.txt
source/data/curr/nl.txt
source/data/curr/nl_AW.txt
source/data/curr/nl_BQ.txt
source/data/curr/nl_CW.txt
source/data/curr/nl_SR.txt
source/data/curr/nl_SX.txt
source/data/curr/nmg.txt
source/data/curr/nn.txt
source/data/curr/nnh.txt
source/data/curr/nus.txt
source/data/curr/nyn.txt
source/data/curr/om.txt
source/data/curr/om_KE.txt
source/data/curr/or.txt
source/data/curr/os.txt
source/data/curr/os_RU.txt
source/data/curr/pa.txt
source/data/curr/pa_Arab.txt
source/data/curr/pa_Guru.txt
source/data/curr/pcm.txt [new file with mode: 0644]
source/data/curr/pl.txt
source/data/curr/ps.txt
source/data/curr/ps_PK.txt
source/data/curr/pt.txt
source/data/curr/pt_AO.txt
source/data/curr/pt_CH.txt
source/data/curr/pt_CV.txt
source/data/curr/pt_GQ.txt
source/data/curr/pt_GW.txt
source/data/curr/pt_LU.txt
source/data/curr/pt_MO.txt
source/data/curr/pt_MZ.txt
source/data/curr/pt_PT.txt
source/data/curr/pt_ST.txt
source/data/curr/pt_TL.txt
source/data/curr/qu.txt
source/data/curr/qu_BO.txt
source/data/curr/qu_EC.txt
source/data/curr/rm.txt
source/data/curr/rn.txt
source/data/curr/ro.txt
source/data/curr/ro_MD.txt
source/data/curr/rof.txt
source/data/curr/root.txt
source/data/curr/ru.txt
source/data/curr/ru_BY.txt
source/data/curr/ru_KG.txt
source/data/curr/ru_KZ.txt
source/data/curr/ru_MD.txt
source/data/curr/rw.txt
source/data/curr/rwk.txt
source/data/curr/sah.txt
source/data/curr/saq.txt
source/data/curr/sat.txt [new file with mode: 0644]
source/data/curr/sat_IN.txt [new file with mode: 0644]
source/data/curr/sat_Olck.txt [new file with mode: 0644]
source/data/curr/sat_Olck_IN.txt [new file with mode: 0644]
source/data/curr/sbp.txt
source/data/curr/sd.txt
source/data/curr/sd_Arab.txt [new file with mode: 0644]
source/data/curr/sd_Arab_PK.txt [moved from source/data/lang/th_TH.txt with 89% similarity]
source/data/curr/sd_Deva.txt [new file with mode: 0644]
source/data/curr/sd_PK.txt [new file with mode: 0644]
source/data/curr/se.txt
source/data/curr/se_SE.txt
source/data/curr/seh.txt
source/data/curr/ses.txt
source/data/curr/sg.txt
source/data/curr/shi.txt
source/data/curr/shi_Latn.txt
source/data/curr/shi_Tfng.txt
source/data/curr/si.txt
source/data/curr/sk.txt
source/data/curr/sl.txt
source/data/curr/smn.txt
source/data/curr/sn.txt
source/data/curr/so.txt
source/data/curr/so_DJ.txt
source/data/curr/so_ET.txt
source/data/curr/so_KE.txt
source/data/curr/sq.txt
source/data/curr/sq_MK.txt
source/data/curr/sr.txt
source/data/curr/sr_Cyrl.txt
source/data/curr/sr_Latn.txt
source/data/curr/su.txt [new file with mode: 0644]
source/data/curr/su_ID.txt [new file with mode: 0644]
source/data/curr/su_Latn.txt [new file with mode: 0644]
source/data/curr/su_Latn_ID.txt [new file with mode: 0644]
source/data/curr/supplementalData.txt
source/data/curr/sv.txt
source/data/curr/sw.txt
source/data/curr/sw_CD.txt
source/data/curr/sw_KE.txt
source/data/curr/sw_UG.txt
source/data/curr/ta.txt
source/data/curr/ta_LK.txt
source/data/curr/ta_MY.txt
source/data/curr/ta_SG.txt
source/data/curr/te.txt
source/data/curr/teo.txt
source/data/curr/teo_KE.txt
source/data/curr/tg.txt
source/data/curr/th.txt
source/data/curr/th_TH_TRADITIONAL.txt [deleted file]
source/data/curr/ti.txt
source/data/curr/ti_ER.txt
source/data/curr/tk.txt
source/data/curr/to.txt
source/data/curr/tr.txt
source/data/curr/tt.txt
source/data/curr/twq.txt
source/data/curr/tzm.txt
source/data/curr/ug.txt
source/data/curr/uk.txt
source/data/curr/ur.txt
source/data/curr/ur_IN.txt
source/data/curr/uz.txt
source/data/curr/uz_Arab.txt
source/data/curr/uz_Cyrl.txt
source/data/curr/uz_Latn.txt
source/data/curr/vai.txt
source/data/curr/vai_Latn.txt
source/data/curr/vai_Vaii.txt
source/data/curr/vi.txt
source/data/curr/vun.txt
source/data/curr/wae.txt
source/data/curr/wo.txt
source/data/curr/xh.txt
source/data/curr/xog.txt
source/data/curr/yav.txt
source/data/curr/yi.txt
source/data/curr/yo.txt
source/data/curr/yo_BJ.txt
source/data/curr/yue.txt
source/data/curr/yue_Hans.txt
source/data/curr/yue_Hant.txt
source/data/curr/zgh.txt
source/data/curr/zh.txt
source/data/curr/zh_Hans.txt
source/data/curr/zh_Hans_HK.txt
source/data/curr/zh_Hans_MO.txt
source/data/curr/zh_Hans_SG.txt
source/data/curr/zh_Hant.txt
source/data/curr/zh_Hant_HK.txt
source/data/curr/zh_Hant_MO.txt
source/data/curr/zu.txt
source/data/icu-config.xml
source/data/icu-locale-deprecates.xml
source/data/lang/LOCALE_DEPS.json
source/data/lang/af.txt
source/data/lang/agq.txt
source/data/lang/ak.txt
source/data/lang/am.txt
source/data/lang/ar.txt
source/data/lang/ar_EG.txt
source/data/lang/ar_LY.txt
source/data/lang/ar_SA.txt
source/data/lang/as.txt
source/data/lang/asa.txt
source/data/lang/ast.txt
source/data/lang/az.txt
source/data/lang/az_Cyrl.txt
source/data/lang/az_Latn.txt
source/data/lang/bas.txt
source/data/lang/be.txt
source/data/lang/bem.txt
source/data/lang/bez.txt
source/data/lang/bg.txt
source/data/lang/bm.txt
source/data/lang/bn.txt
source/data/lang/bn_IN.txt
source/data/lang/bo.txt
source/data/lang/br.txt
source/data/lang/brx.txt
source/data/lang/bs.txt
source/data/lang/bs_Cyrl.txt
source/data/lang/bs_Latn.txt
source/data/lang/ca.txt
source/data/lang/ccp.txt
source/data/lang/ce.txt
source/data/lang/ceb.txt
source/data/lang/cgg.txt
source/data/lang/chr.txt
source/data/lang/ckb.txt
source/data/lang/cs.txt
source/data/lang/cy.txt
source/data/lang/da.txt
source/data/lang/dav.txt
source/data/lang/de.txt
source/data/lang/de_AT.txt
source/data/lang/de_CH.txt
source/data/lang/de_LU.txt
source/data/lang/dje.txt
source/data/lang/dsb.txt
source/data/lang/dua.txt
source/data/lang/dyo.txt
source/data/lang/dz.txt
source/data/lang/ebu.txt
source/data/lang/ee.txt
source/data/lang/el.txt
source/data/lang/en.txt
source/data/lang/en_001.txt
source/data/lang/en_150.txt
source/data/lang/en_AG.txt
source/data/lang/en_AI.txt
source/data/lang/en_AT.txt
source/data/lang/en_AU.txt
source/data/lang/en_BB.txt
source/data/lang/en_BE.txt
source/data/lang/en_BM.txt
source/data/lang/en_BS.txt
source/data/lang/en_BW.txt
source/data/lang/en_BZ.txt
source/data/lang/en_CA.txt
source/data/lang/en_CC.txt
source/data/lang/en_CH.txt
source/data/lang/en_CK.txt
source/data/lang/en_CM.txt
source/data/lang/en_CX.txt
source/data/lang/en_CY.txt
source/data/lang/en_DE.txt
source/data/lang/en_DG.txt
source/data/lang/en_DK.txt
source/data/lang/en_DM.txt
source/data/lang/en_ER.txt
source/data/lang/en_FI.txt
source/data/lang/en_FJ.txt
source/data/lang/en_FK.txt
source/data/lang/en_FM.txt
source/data/lang/en_GB.txt
source/data/lang/en_GD.txt
source/data/lang/en_GG.txt
source/data/lang/en_GH.txt
source/data/lang/en_GI.txt
source/data/lang/en_GM.txt
source/data/lang/en_GY.txt
source/data/lang/en_HK.txt
source/data/lang/en_IE.txt
source/data/lang/en_IL.txt
source/data/lang/en_IM.txt
source/data/lang/en_IN.txt
source/data/lang/en_IO.txt
source/data/lang/en_JE.txt
source/data/lang/en_JM.txt
source/data/lang/en_KE.txt
source/data/lang/en_KI.txt
source/data/lang/en_KN.txt
source/data/lang/en_KY.txt
source/data/lang/en_LC.txt
source/data/lang/en_LR.txt
source/data/lang/en_LS.txt
source/data/lang/en_MG.txt
source/data/lang/en_MO.txt
source/data/lang/en_MS.txt
source/data/lang/en_MT.txt
source/data/lang/en_MU.txt
source/data/lang/en_MW.txt
source/data/lang/en_MY.txt
source/data/lang/en_NA.txt
source/data/lang/en_NF.txt
source/data/lang/en_NG.txt
source/data/lang/en_NL.txt
source/data/lang/en_NR.txt
source/data/lang/en_NU.txt
source/data/lang/en_NZ.txt
source/data/lang/en_PG.txt
source/data/lang/en_PH.txt
source/data/lang/en_PK.txt
source/data/lang/en_PN.txt
source/data/lang/en_PW.txt
source/data/lang/en_RW.txt
source/data/lang/en_SB.txt
source/data/lang/en_SC.txt
source/data/lang/en_SD.txt
source/data/lang/en_SE.txt
source/data/lang/en_SG.txt
source/data/lang/en_SH.txt
source/data/lang/en_SI.txt
source/data/lang/en_SL.txt
source/data/lang/en_SS.txt
source/data/lang/en_SX.txt
source/data/lang/en_SZ.txt
source/data/lang/en_TC.txt
source/data/lang/en_TK.txt
source/data/lang/en_TO.txt
source/data/lang/en_TT.txt
source/data/lang/en_TV.txt
source/data/lang/en_TZ.txt
source/data/lang/en_UG.txt
source/data/lang/en_VC.txt
source/data/lang/en_VG.txt
source/data/lang/en_VU.txt
source/data/lang/en_WS.txt
source/data/lang/en_ZA.txt
source/data/lang/en_ZM.txt
source/data/lang/en_ZW.txt
source/data/lang/eo.txt
source/data/lang/es.txt
source/data/lang/es_419.txt
source/data/lang/es_AR.txt
source/data/lang/es_BO.txt
source/data/lang/es_BR.txt
source/data/lang/es_BZ.txt
source/data/lang/es_CL.txt
source/data/lang/es_CO.txt
source/data/lang/es_CR.txt
source/data/lang/es_CU.txt
source/data/lang/es_DO.txt
source/data/lang/es_EC.txt
source/data/lang/es_GT.txt
source/data/lang/es_HN.txt
source/data/lang/es_MX.txt
source/data/lang/es_NI.txt
source/data/lang/es_PA.txt
source/data/lang/es_PE.txt
source/data/lang/es_PR.txt
source/data/lang/es_PY.txt
source/data/lang/es_SV.txt
source/data/lang/es_US.txt
source/data/lang/es_UY.txt
source/data/lang/es_VE.txt
source/data/lang/et.txt
source/data/lang/eu.txt
source/data/lang/ewo.txt
source/data/lang/fa.txt
source/data/lang/fa_AF.txt
source/data/lang/ff.txt
source/data/lang/ff_Adlm.txt [new file with mode: 0644]
source/data/lang/ff_Latn.txt
source/data/lang/fi.txt
source/data/lang/fil.txt
source/data/lang/fo.txt
source/data/lang/fr.txt
source/data/lang/fr_BE.txt
source/data/lang/fr_CA.txt
source/data/lang/fr_CH.txt
source/data/lang/fur.txt
source/data/lang/fy.txt
source/data/lang/ga.txt
source/data/lang/gd.txt
source/data/lang/gl.txt
source/data/lang/gsw.txt
source/data/lang/gu.txt
source/data/lang/guz.txt
source/data/lang/gv.txt
source/data/lang/ha.txt
source/data/lang/ha_NE.txt
source/data/lang/haw.txt
source/data/lang/he.txt
source/data/lang/hi.txt
source/data/lang/hr.txt
source/data/lang/hsb.txt
source/data/lang/hu.txt
source/data/lang/hy.txt
source/data/lang/ia.txt
source/data/lang/id.txt
source/data/lang/ig.txt
source/data/lang/ii.txt
source/data/lang/is.txt
source/data/lang/it.txt
source/data/lang/ja.txt
source/data/lang/jgo.txt
source/data/lang/jmc.txt
source/data/lang/jv.txt
source/data/lang/ka.txt
source/data/lang/kab.txt
source/data/lang/kam.txt
source/data/lang/kde.txt
source/data/lang/kea.txt
source/data/lang/khq.txt
source/data/lang/ki.txt
source/data/lang/kk.txt
source/data/lang/kkj.txt
source/data/lang/kl.txt
source/data/lang/kln.txt
source/data/lang/km.txt
source/data/lang/kn.txt
source/data/lang/ko.txt
source/data/lang/kok.txt
source/data/lang/ks.txt
source/data/lang/ks_Arab.txt [new file with mode: 0644]
source/data/lang/ks_Arab_IN.txt [new file with mode: 0644]
source/data/lang/ks_IN.txt [new file with mode: 0644]
source/data/lang/ksb.txt
source/data/lang/ksf.txt
source/data/lang/ksh.txt
source/data/lang/ku.txt
source/data/lang/kw.txt
source/data/lang/ky.txt
source/data/lang/lag.txt
source/data/lang/lb.txt
source/data/lang/lg.txt
source/data/lang/lkt.txt
source/data/lang/ln.txt
source/data/lang/lo.txt
source/data/lang/lrc.txt
source/data/lang/lt.txt
source/data/lang/lu.txt
source/data/lang/luo.txt
source/data/lang/luy.txt
source/data/lang/lv.txt
source/data/lang/mai.txt [new file with mode: 0644]
source/data/lang/mas.txt
source/data/lang/mer.txt
source/data/lang/mfe.txt
source/data/lang/mg.txt
source/data/lang/mgh.txt
source/data/lang/mgo.txt
source/data/lang/mi.txt
source/data/lang/mk.txt
source/data/lang/ml.txt
source/data/lang/mn.txt
source/data/lang/mni.txt [new file with mode: 0644]
source/data/lang/mni_Beng.txt [new file with mode: 0644]
source/data/lang/mni_Beng_IN.txt [new file with mode: 0644]
source/data/lang/mni_IN.txt [new file with mode: 0644]
source/data/lang/mr.txt
source/data/lang/ms.txt
source/data/lang/mt.txt
source/data/lang/mua.txt
source/data/lang/my.txt
source/data/lang/mzn.txt
source/data/lang/naq.txt
source/data/lang/nb.txt
source/data/lang/nd.txt
source/data/lang/nds.txt
source/data/lang/ne.txt
source/data/lang/nl.txt
source/data/lang/nmg.txt
source/data/lang/nn.txt
source/data/lang/nnh.txt
source/data/lang/nus.txt
source/data/lang/nyn.txt
source/data/lang/om.txt
source/data/lang/or.txt
source/data/lang/os.txt
source/data/lang/pa.txt
source/data/lang/pa_Arab.txt
source/data/lang/pa_Guru.txt
source/data/lang/pcm.txt [new file with mode: 0644]
source/data/lang/pl.txt
source/data/lang/ps.txt
source/data/lang/ps_PK.txt
source/data/lang/pt.txt
source/data/lang/pt_AO.txt
source/data/lang/pt_CH.txt
source/data/lang/pt_CV.txt
source/data/lang/pt_GQ.txt
source/data/lang/pt_GW.txt
source/data/lang/pt_LU.txt
source/data/lang/pt_MO.txt
source/data/lang/pt_MZ.txt
source/data/lang/pt_PT.txt
source/data/lang/pt_ST.txt
source/data/lang/pt_TL.txt
source/data/lang/qu.txt
source/data/lang/rm.txt
source/data/lang/rn.txt
source/data/lang/ro.txt
source/data/lang/ro_MD.txt
source/data/lang/rof.txt
source/data/lang/root.txt
source/data/lang/ru.txt
source/data/lang/rw.txt
source/data/lang/rwk.txt
source/data/lang/sah.txt
source/data/lang/saq.txt
source/data/lang/sat.txt [new file with mode: 0644]
source/data/lang/sat_IN.txt [new file with mode: 0644]
source/data/lang/sat_Olck.txt [new file with mode: 0644]
source/data/lang/sat_Olck_IN.txt [new file with mode: 0644]
source/data/lang/sbp.txt
source/data/lang/sd.txt
source/data/lang/sd_Arab.txt [new file with mode: 0644]
source/data/lang/sd_Arab_PK.txt [new file with mode: 0644]
source/data/lang/sd_Deva.txt [new file with mode: 0644]
source/data/lang/sd_PK.txt [new file with mode: 0644]
source/data/lang/se.txt
source/data/lang/se_FI.txt
source/data/lang/seh.txt
source/data/lang/ses.txt
source/data/lang/sg.txt
source/data/lang/shi.txt
source/data/lang/shi_Latn.txt
source/data/lang/shi_Tfng.txt
source/data/lang/si.txt
source/data/lang/sk.txt
source/data/lang/sl.txt
source/data/lang/smn.txt
source/data/lang/sn.txt
source/data/lang/so.txt
source/data/lang/sq.txt
source/data/lang/sr.txt
source/data/lang/sr_Cyrl.txt
source/data/lang/sr_Cyrl_BA.txt
source/data/lang/sr_Cyrl_ME.txt
source/data/lang/sr_Cyrl_XK.txt
source/data/lang/sr_Latn.txt
source/data/lang/sr_Latn_BA.txt
source/data/lang/sr_Latn_ME.txt
source/data/lang/sr_Latn_XK.txt
source/data/lang/su.txt [new file with mode: 0644]
source/data/lang/su_ID.txt [new file with mode: 0644]
source/data/lang/su_Latn.txt [new file with mode: 0644]
source/data/lang/su_Latn_ID.txt [new file with mode: 0644]
source/data/lang/sv.txt
source/data/lang/sv_FI.txt
source/data/lang/sw.txt
source/data/lang/sw_CD.txt
source/data/lang/sw_KE.txt
source/data/lang/ta.txt
source/data/lang/te.txt
source/data/lang/teo.txt
source/data/lang/tg.txt
source/data/lang/th.txt
source/data/lang/ti.txt
source/data/lang/tk.txt
source/data/lang/to.txt
source/data/lang/tr.txt
source/data/lang/tt.txt
source/data/lang/twq.txt
source/data/lang/tzm.txt
source/data/lang/ug.txt
source/data/lang/uk.txt
source/data/lang/ur.txt
source/data/lang/ur_IN.txt
source/data/lang/uz.txt
source/data/lang/uz_Arab.txt
source/data/lang/uz_Cyrl.txt
source/data/lang/uz_Latn.txt
source/data/lang/vai.txt
source/data/lang/vai_Latn.txt
source/data/lang/vai_Vaii.txt
source/data/lang/vi.txt
source/data/lang/vun.txt
source/data/lang/wae.txt
source/data/lang/wo.txt
source/data/lang/xh.txt
source/data/lang/xog.txt
source/data/lang/yav.txt
source/data/lang/yi.txt
source/data/lang/yo.txt
source/data/lang/yo_BJ.txt
source/data/lang/yue.txt
source/data/lang/yue_Hans.txt
source/data/lang/yue_Hant.txt
source/data/lang/zgh.txt
source/data/lang/zh.txt
source/data/lang/zh_Hans.txt
source/data/lang/zh_Hant.txt
source/data/lang/zh_Hant_HK.txt
source/data/lang/zh_Hant_MO.txt
source/data/lang/zu.txt
source/data/locales/LOCALE_DEPS.json
source/data/locales/af.txt
source/data/locales/af_NA.txt
source/data/locales/af_ZA.txt
source/data/locales/agq.txt
source/data/locales/agq_CM.txt
source/data/locales/ak.txt
source/data/locales/ak_GH.txt
source/data/locales/am.txt
source/data/locales/am_ET.txt
source/data/locales/ar.txt
source/data/locales/ar_001.txt
source/data/locales/ar_AE.txt
source/data/locales/ar_BH.txt
source/data/locales/ar_DJ.txt
source/data/locales/ar_DZ.txt
source/data/locales/ar_EG.txt
source/data/locales/ar_EH.txt
source/data/locales/ar_ER.txt
source/data/locales/ar_IL.txt
source/data/locales/ar_IQ.txt
source/data/locales/ar_JO.txt
source/data/locales/ar_KM.txt
source/data/locales/ar_KW.txt
source/data/locales/ar_LB.txt
source/data/locales/ar_LY.txt
source/data/locales/ar_MA.txt
source/data/locales/ar_MR.txt
source/data/locales/ar_OM.txt
source/data/locales/ar_PS.txt
source/data/locales/ar_QA.txt
source/data/locales/ar_SA.txt
source/data/locales/ar_SD.txt
source/data/locales/ar_SO.txt
source/data/locales/ar_SS.txt
source/data/locales/ar_SY.txt
source/data/locales/ar_TD.txt
source/data/locales/ar_TN.txt
source/data/locales/ar_YE.txt
source/data/locales/as.txt
source/data/locales/as_IN.txt
source/data/locales/asa.txt
source/data/locales/asa_TZ.txt
source/data/locales/ast.txt
source/data/locales/ast_ES.txt
source/data/locales/az.txt
source/data/locales/az_Cyrl.txt
source/data/locales/az_Cyrl_AZ.txt
source/data/locales/az_Latn.txt
source/data/locales/az_Latn_AZ.txt
source/data/locales/bas.txt
source/data/locales/bas_CM.txt
source/data/locales/be.txt
source/data/locales/be_BY.txt
source/data/locales/bem.txt
source/data/locales/bem_ZM.txt
source/data/locales/bez.txt
source/data/locales/bez_TZ.txt
source/data/locales/bg.txt
source/data/locales/bg_BG.txt
source/data/locales/bm.txt
source/data/locales/bm_ML.txt
source/data/locales/bn.txt
source/data/locales/bn_BD.txt
source/data/locales/bn_IN.txt
source/data/locales/bo.txt
source/data/locales/bo_CN.txt
source/data/locales/bo_IN.txt
source/data/locales/br.txt
source/data/locales/br_FR.txt
source/data/locales/brx.txt
source/data/locales/brx_IN.txt
source/data/locales/bs.txt
source/data/locales/bs_Cyrl.txt
source/data/locales/bs_Cyrl_BA.txt
source/data/locales/bs_Latn.txt
source/data/locales/bs_Latn_BA.txt
source/data/locales/ca.txt
source/data/locales/ca_AD.txt
source/data/locales/ca_ES.txt
source/data/locales/ca_FR.txt
source/data/locales/ca_IT.txt
source/data/locales/ccp.txt
source/data/locales/ccp_BD.txt
source/data/locales/ccp_IN.txt
source/data/locales/ce.txt
source/data/locales/ce_RU.txt
source/data/locales/ceb.txt
source/data/locales/ceb_PH.txt
source/data/locales/cgg.txt
source/data/locales/cgg_UG.txt
source/data/locales/chr.txt
source/data/locales/chr_US.txt
source/data/locales/ckb.txt
source/data/locales/ckb_IQ.txt
source/data/locales/ckb_IR.txt
source/data/locales/cs.txt
source/data/locales/cs_CZ.txt
source/data/locales/cy.txt
source/data/locales/cy_GB.txt
source/data/locales/da.txt
source/data/locales/da_DK.txt
source/data/locales/da_GL.txt
source/data/locales/dav.txt
source/data/locales/dav_KE.txt
source/data/locales/de.txt
source/data/locales/de_AT.txt
source/data/locales/de_BE.txt
source/data/locales/de_CH.txt
source/data/locales/de_DE.txt
source/data/locales/de_IT.txt
source/data/locales/de_LI.txt
source/data/locales/de_LU.txt
source/data/locales/dje.txt
source/data/locales/dje_NE.txt
source/data/locales/dsb.txt
source/data/locales/dsb_DE.txt
source/data/locales/dua.txt
source/data/locales/dua_CM.txt
source/data/locales/dyo.txt
source/data/locales/dyo_SN.txt
source/data/locales/dz.txt
source/data/locales/dz_BT.txt
source/data/locales/ebu.txt
source/data/locales/ebu_KE.txt
source/data/locales/ee.txt
source/data/locales/ee_GH.txt
source/data/locales/ee_TG.txt
source/data/locales/el.txt
source/data/locales/el_CY.txt
source/data/locales/el_GR.txt
source/data/locales/en.txt
source/data/locales/en_001.txt
source/data/locales/en_150.txt
source/data/locales/en_AE.txt
source/data/locales/en_AG.txt
source/data/locales/en_AI.txt
source/data/locales/en_AS.txt
source/data/locales/en_AT.txt
source/data/locales/en_AU.txt
source/data/locales/en_BB.txt
source/data/locales/en_BE.txt
source/data/locales/en_BI.txt
source/data/locales/en_BM.txt
source/data/locales/en_BS.txt
source/data/locales/en_BW.txt
source/data/locales/en_BZ.txt
source/data/locales/en_CA.txt
source/data/locales/en_CC.txt
source/data/locales/en_CH.txt
source/data/locales/en_CK.txt
source/data/locales/en_CM.txt
source/data/locales/en_CX.txt
source/data/locales/en_CY.txt
source/data/locales/en_DE.txt
source/data/locales/en_DG.txt
source/data/locales/en_DK.txt
source/data/locales/en_DM.txt
source/data/locales/en_ER.txt
source/data/locales/en_FI.txt
source/data/locales/en_FJ.txt
source/data/locales/en_FK.txt
source/data/locales/en_FM.txt
source/data/locales/en_GB.txt
source/data/locales/en_GD.txt
source/data/locales/en_GG.txt
source/data/locales/en_GH.txt
source/data/locales/en_GI.txt
source/data/locales/en_GM.txt
source/data/locales/en_GU.txt
source/data/locales/en_GY.txt
source/data/locales/en_HK.txt
source/data/locales/en_IE.txt
source/data/locales/en_IL.txt
source/data/locales/en_IM.txt
source/data/locales/en_IN.txt
source/data/locales/en_IO.txt
source/data/locales/en_JE.txt
source/data/locales/en_JM.txt
source/data/locales/en_KE.txt
source/data/locales/en_KI.txt
source/data/locales/en_KN.txt
source/data/locales/en_KY.txt
source/data/locales/en_LC.txt
source/data/locales/en_LR.txt
source/data/locales/en_LS.txt
source/data/locales/en_MG.txt
source/data/locales/en_MH.txt
source/data/locales/en_MO.txt
source/data/locales/en_MP.txt
source/data/locales/en_MS.txt
source/data/locales/en_MT.txt
source/data/locales/en_MU.txt
source/data/locales/en_MW.txt
source/data/locales/en_MY.txt
source/data/locales/en_NA.txt
source/data/locales/en_NF.txt
source/data/locales/en_NG.txt
source/data/locales/en_NL.txt
source/data/locales/en_NR.txt
source/data/locales/en_NU.txt
source/data/locales/en_NZ.txt
source/data/locales/en_PG.txt
source/data/locales/en_PH.txt
source/data/locales/en_PK.txt
source/data/locales/en_PN.txt
source/data/locales/en_PR.txt
source/data/locales/en_PW.txt
source/data/locales/en_RW.txt
source/data/locales/en_SB.txt
source/data/locales/en_SC.txt
source/data/locales/en_SD.txt
source/data/locales/en_SE.txt
source/data/locales/en_SG.txt
source/data/locales/en_SH.txt
source/data/locales/en_SI.txt
source/data/locales/en_SL.txt
source/data/locales/en_SS.txt
source/data/locales/en_SX.txt
source/data/locales/en_SZ.txt
source/data/locales/en_TC.txt
source/data/locales/en_TK.txt
source/data/locales/en_TO.txt
source/data/locales/en_TT.txt
source/data/locales/en_TV.txt
source/data/locales/en_TZ.txt
source/data/locales/en_UG.txt
source/data/locales/en_UM.txt
source/data/locales/en_US.txt
source/data/locales/en_US_POSIX.txt
source/data/locales/en_VC.txt
source/data/locales/en_VG.txt
source/data/locales/en_VI.txt
source/data/locales/en_VU.txt
source/data/locales/en_WS.txt
source/data/locales/en_ZA.txt
source/data/locales/en_ZM.txt
source/data/locales/en_ZW.txt
source/data/locales/eo.txt
source/data/locales/eo_001.txt
source/data/locales/es.txt
source/data/locales/es_419.txt
source/data/locales/es_AR.txt
source/data/locales/es_BO.txt
source/data/locales/es_BR.txt
source/data/locales/es_BZ.txt
source/data/locales/es_CL.txt
source/data/locales/es_CO.txt
source/data/locales/es_CR.txt
source/data/locales/es_CU.txt
source/data/locales/es_DO.txt
source/data/locales/es_EA.txt
source/data/locales/es_EC.txt
source/data/locales/es_ES.txt
source/data/locales/es_GQ.txt
source/data/locales/es_GT.txt
source/data/locales/es_HN.txt
source/data/locales/es_IC.txt
source/data/locales/es_MX.txt
source/data/locales/es_NI.txt
source/data/locales/es_PA.txt
source/data/locales/es_PE.txt
source/data/locales/es_PH.txt
source/data/locales/es_PR.txt
source/data/locales/es_PY.txt
source/data/locales/es_SV.txt
source/data/locales/es_US.txt
source/data/locales/es_UY.txt
source/data/locales/es_VE.txt
source/data/locales/et.txt
source/data/locales/et_EE.txt
source/data/locales/eu.txt
source/data/locales/eu_ES.txt
source/data/locales/ewo.txt
source/data/locales/ewo_CM.txt
source/data/locales/fa.txt
source/data/locales/fa_AF.txt
source/data/locales/fa_IR.txt
source/data/locales/ff.txt
source/data/locales/ff_Adlm.txt [new file with mode: 0644]
source/data/locales/ff_Adlm_BF.txt [new file with mode: 0644]
source/data/locales/ff_Adlm_CM.txt [new file with mode: 0644]
source/data/locales/ff_Adlm_GH.txt [new file with mode: 0644]
source/data/locales/ff_Adlm_GM.txt [new file with mode: 0644]
source/data/locales/ff_Adlm_GN.txt [new file with mode: 0644]
source/data/locales/ff_Adlm_GW.txt [new file with mode: 0644]
source/data/locales/ff_Adlm_LR.txt [new file with mode: 0644]
source/data/locales/ff_Adlm_MR.txt [new file with mode: 0644]
source/data/locales/ff_Adlm_NE.txt [new file with mode: 0644]
source/data/locales/ff_Adlm_NG.txt [new file with mode: 0644]
source/data/locales/ff_Adlm_SL.txt [new file with mode: 0644]
source/data/locales/ff_Adlm_SN.txt [new file with mode: 0644]
source/data/locales/ff_Latn.txt
source/data/locales/ff_Latn_BF.txt
source/data/locales/ff_Latn_CM.txt
source/data/locales/ff_Latn_GH.txt
source/data/locales/ff_Latn_GM.txt
source/data/locales/ff_Latn_GN.txt
source/data/locales/ff_Latn_GW.txt
source/data/locales/ff_Latn_LR.txt
source/data/locales/ff_Latn_MR.txt
source/data/locales/ff_Latn_NE.txt
source/data/locales/ff_Latn_NG.txt
source/data/locales/ff_Latn_SL.txt
source/data/locales/ff_Latn_SN.txt
source/data/locales/fi.txt
source/data/locales/fi_FI.txt
source/data/locales/fil.txt
source/data/locales/fil_PH.txt
source/data/locales/fo.txt
source/data/locales/fo_DK.txt
source/data/locales/fo_FO.txt
source/data/locales/fr.txt
source/data/locales/fr_BE.txt
source/data/locales/fr_BF.txt
source/data/locales/fr_BI.txt
source/data/locales/fr_BJ.txt
source/data/locales/fr_BL.txt
source/data/locales/fr_CA.txt
source/data/locales/fr_CD.txt
source/data/locales/fr_CF.txt
source/data/locales/fr_CG.txt
source/data/locales/fr_CH.txt
source/data/locales/fr_CI.txt
source/data/locales/fr_CM.txt
source/data/locales/fr_DJ.txt
source/data/locales/fr_DZ.txt
source/data/locales/fr_FR.txt
source/data/locales/fr_GA.txt
source/data/locales/fr_GF.txt
source/data/locales/fr_GN.txt
source/data/locales/fr_GP.txt
source/data/locales/fr_GQ.txt
source/data/locales/fr_HT.txt
source/data/locales/fr_KM.txt
source/data/locales/fr_LU.txt
source/data/locales/fr_MA.txt
source/data/locales/fr_MC.txt
source/data/locales/fr_MF.txt
source/data/locales/fr_MG.txt
source/data/locales/fr_ML.txt
source/data/locales/fr_MQ.txt
source/data/locales/fr_MR.txt
source/data/locales/fr_MU.txt
source/data/locales/fr_NC.txt
source/data/locales/fr_NE.txt
source/data/locales/fr_PF.txt
source/data/locales/fr_PM.txt
source/data/locales/fr_RE.txt
source/data/locales/fr_RW.txt
source/data/locales/fr_SC.txt
source/data/locales/fr_SN.txt
source/data/locales/fr_SY.txt
source/data/locales/fr_TD.txt
source/data/locales/fr_TG.txt
source/data/locales/fr_TN.txt
source/data/locales/fr_VU.txt
source/data/locales/fr_WF.txt
source/data/locales/fr_YT.txt
source/data/locales/fur.txt
source/data/locales/fur_IT.txt
source/data/locales/fy.txt
source/data/locales/fy_NL.txt
source/data/locales/ga.txt
source/data/locales/ga_GB.txt
source/data/locales/ga_IE.txt
source/data/locales/gd.txt
source/data/locales/gd_GB.txt
source/data/locales/gl.txt
source/data/locales/gl_ES.txt
source/data/locales/gsw.txt
source/data/locales/gsw_CH.txt
source/data/locales/gsw_FR.txt
source/data/locales/gsw_LI.txt
source/data/locales/gu.txt
source/data/locales/gu_IN.txt
source/data/locales/guz.txt
source/data/locales/guz_KE.txt
source/data/locales/gv.txt
source/data/locales/gv_IM.txt
source/data/locales/ha.txt
source/data/locales/ha_GH.txt
source/data/locales/ha_NE.txt
source/data/locales/ha_NG.txt
source/data/locales/haw.txt
source/data/locales/haw_US.txt
source/data/locales/he.txt
source/data/locales/he_IL.txt
source/data/locales/hi.txt
source/data/locales/hi_IN.txt
source/data/locales/hr.txt
source/data/locales/hr_BA.txt
source/data/locales/hr_HR.txt
source/data/locales/hsb.txt
source/data/locales/hsb_DE.txt
source/data/locales/hu.txt
source/data/locales/hu_HU.txt
source/data/locales/hy.txt
source/data/locales/hy_AM.txt
source/data/locales/ia.txt
source/data/locales/ia_001.txt
source/data/locales/id.txt
source/data/locales/id_ID.txt
source/data/locales/ig.txt
source/data/locales/ig_NG.txt
source/data/locales/ii.txt
source/data/locales/ii_CN.txt
source/data/locales/is.txt
source/data/locales/is_IS.txt
source/data/locales/it.txt
source/data/locales/it_CH.txt
source/data/locales/it_IT.txt
source/data/locales/it_SM.txt
source/data/locales/it_VA.txt
source/data/locales/ja.txt
source/data/locales/ja_JP.txt
source/data/locales/ja_JP_TRADITIONAL.txt
source/data/locales/jgo.txt
source/data/locales/jgo_CM.txt
source/data/locales/jmc.txt
source/data/locales/jmc_TZ.txt
source/data/locales/jv.txt
source/data/locales/jv_ID.txt
source/data/locales/ka.txt
source/data/locales/ka_GE.txt
source/data/locales/kab.txt
source/data/locales/kab_DZ.txt
source/data/locales/kam.txt
source/data/locales/kam_KE.txt
source/data/locales/kde.txt
source/data/locales/kde_TZ.txt
source/data/locales/kea.txt
source/data/locales/kea_CV.txt
source/data/locales/khq.txt
source/data/locales/khq_ML.txt
source/data/locales/ki.txt
source/data/locales/ki_KE.txt
source/data/locales/kk.txt
source/data/locales/kk_KZ.txt
source/data/locales/kkj.txt
source/data/locales/kkj_CM.txt
source/data/locales/kl.txt
source/data/locales/kl_GL.txt
source/data/locales/kln.txt
source/data/locales/kln_KE.txt
source/data/locales/km.txt
source/data/locales/km_KH.txt
source/data/locales/kn.txt
source/data/locales/kn_IN.txt
source/data/locales/ko.txt
source/data/locales/ko_KP.txt
source/data/locales/ko_KR.txt
source/data/locales/kok.txt
source/data/locales/kok_IN.txt
source/data/locales/ks.txt
source/data/locales/ks_Arab.txt [new file with mode: 0644]
source/data/locales/ks_Arab_IN.txt [new file with mode: 0644]
source/data/locales/ks_IN.txt
source/data/locales/ksb.txt
source/data/locales/ksb_TZ.txt
source/data/locales/ksf.txt
source/data/locales/ksf_CM.txt
source/data/locales/ksh.txt
source/data/locales/ksh_DE.txt
source/data/locales/ku.txt
source/data/locales/ku_TR.txt
source/data/locales/kw.txt
source/data/locales/kw_GB.txt
source/data/locales/ky.txt
source/data/locales/ky_KG.txt
source/data/locales/lag.txt
source/data/locales/lag_TZ.txt
source/data/locales/lb.txt
source/data/locales/lb_LU.txt
source/data/locales/lg.txt
source/data/locales/lg_UG.txt
source/data/locales/lkt.txt
source/data/locales/lkt_US.txt
source/data/locales/ln.txt
source/data/locales/ln_AO.txt
source/data/locales/ln_CD.txt
source/data/locales/ln_CF.txt
source/data/locales/ln_CG.txt
source/data/locales/lo.txt
source/data/locales/lo_LA.txt
source/data/locales/lrc.txt
source/data/locales/lrc_IQ.txt
source/data/locales/lrc_IR.txt
source/data/locales/lt.txt
source/data/locales/lt_LT.txt
source/data/locales/lu.txt
source/data/locales/lu_CD.txt
source/data/locales/luo.txt
source/data/locales/luo_KE.txt
source/data/locales/luy.txt
source/data/locales/luy_KE.txt
source/data/locales/lv.txt
source/data/locales/lv_LV.txt
source/data/locales/mai.txt [new file with mode: 0644]
source/data/locales/mai_IN.txt [new file with mode: 0644]
source/data/locales/mas.txt
source/data/locales/mas_KE.txt
source/data/locales/mas_TZ.txt
source/data/locales/mer.txt
source/data/locales/mer_KE.txt
source/data/locales/mfe.txt
source/data/locales/mfe_MU.txt
source/data/locales/mg.txt
source/data/locales/mg_MG.txt
source/data/locales/mgh.txt
source/data/locales/mgh_MZ.txt
source/data/locales/mgo.txt
source/data/locales/mgo_CM.txt
source/data/locales/mi.txt
source/data/locales/mi_NZ.txt
source/data/locales/mk.txt
source/data/locales/mk_MK.txt
source/data/locales/ml.txt
source/data/locales/ml_IN.txt
source/data/locales/mn.txt
source/data/locales/mn_MN.txt
source/data/locales/mni.txt [new file with mode: 0644]
source/data/locales/mni_Beng.txt [new file with mode: 0644]
source/data/locales/mni_Beng_IN.txt [new file with mode: 0644]
source/data/locales/mni_IN.txt [new file with mode: 0644]
source/data/locales/mr.txt
source/data/locales/mr_IN.txt
source/data/locales/ms.txt
source/data/locales/ms_BN.txt
source/data/locales/ms_ID.txt [new file with mode: 0644]
source/data/locales/ms_MY.txt
source/data/locales/ms_SG.txt
source/data/locales/mt.txt
source/data/locales/mt_MT.txt
source/data/locales/mua.txt
source/data/locales/mua_CM.txt
source/data/locales/my.txt
source/data/locales/my_MM.txt
source/data/locales/mzn.txt
source/data/locales/mzn_IR.txt
source/data/locales/naq.txt
source/data/locales/naq_NA.txt
source/data/locales/nb.txt
source/data/locales/nb_NO.txt
source/data/locales/nb_SJ.txt
source/data/locales/nd.txt
source/data/locales/nd_ZW.txt
source/data/locales/nds.txt
source/data/locales/nds_DE.txt
source/data/locales/nds_NL.txt
source/data/locales/ne.txt
source/data/locales/ne_IN.txt
source/data/locales/ne_NP.txt
source/data/locales/nl.txt
source/data/locales/nl_AW.txt
source/data/locales/nl_BE.txt
source/data/locales/nl_BQ.txt
source/data/locales/nl_CW.txt
source/data/locales/nl_NL.txt
source/data/locales/nl_SR.txt
source/data/locales/nl_SX.txt
source/data/locales/nmg.txt
source/data/locales/nmg_CM.txt
source/data/locales/nn.txt
source/data/locales/nn_NO.txt
source/data/locales/nnh.txt
source/data/locales/nnh_CM.txt
source/data/locales/nus.txt
source/data/locales/nus_SS.txt
source/data/locales/nyn.txt
source/data/locales/nyn_UG.txt
source/data/locales/om.txt
source/data/locales/om_ET.txt
source/data/locales/om_KE.txt
source/data/locales/or.txt
source/data/locales/or_IN.txt
source/data/locales/os.txt
source/data/locales/os_GE.txt
source/data/locales/os_RU.txt
source/data/locales/pa.txt
source/data/locales/pa_Arab.txt
source/data/locales/pa_Arab_PK.txt
source/data/locales/pa_Guru.txt
source/data/locales/pa_Guru_IN.txt
source/data/locales/pcm.txt [new file with mode: 0644]
source/data/locales/pcm_NG.txt [new file with mode: 0644]
source/data/locales/pl.txt
source/data/locales/pl_PL.txt
source/data/locales/ps.txt
source/data/locales/ps_AF.txt
source/data/locales/ps_PK.txt
source/data/locales/pt.txt
source/data/locales/pt_AO.txt
source/data/locales/pt_BR.txt
source/data/locales/pt_CH.txt
source/data/locales/pt_CV.txt
source/data/locales/pt_GQ.txt
source/data/locales/pt_GW.txt
source/data/locales/pt_LU.txt
source/data/locales/pt_MO.txt
source/data/locales/pt_MZ.txt
source/data/locales/pt_PT.txt
source/data/locales/pt_ST.txt
source/data/locales/pt_TL.txt
source/data/locales/qu.txt
source/data/locales/qu_BO.txt
source/data/locales/qu_EC.txt
source/data/locales/qu_PE.txt
source/data/locales/rm.txt
source/data/locales/rm_CH.txt
source/data/locales/rn.txt
source/data/locales/rn_BI.txt
source/data/locales/ro.txt
source/data/locales/ro_MD.txt
source/data/locales/ro_RO.txt
source/data/locales/rof.txt
source/data/locales/rof_TZ.txt
source/data/locales/root.txt
source/data/locales/ru.txt
source/data/locales/ru_BY.txt
source/data/locales/ru_KG.txt
source/data/locales/ru_KZ.txt
source/data/locales/ru_MD.txt
source/data/locales/ru_RU.txt
source/data/locales/ru_UA.txt
source/data/locales/rw.txt
source/data/locales/rw_RW.txt
source/data/locales/rwk.txt
source/data/locales/rwk_TZ.txt
source/data/locales/sah.txt
source/data/locales/sah_RU.txt
source/data/locales/saq.txt
source/data/locales/saq_KE.txt
source/data/locales/sat.txt [new file with mode: 0644]
source/data/locales/sat_IN.txt [new file with mode: 0644]
source/data/locales/sat_Olck.txt [new file with mode: 0644]
source/data/locales/sat_Olck_IN.txt [new file with mode: 0644]
source/data/locales/sbp.txt
source/data/locales/sbp_TZ.txt
source/data/locales/sd.txt
source/data/locales/sd_Arab.txt [new file with mode: 0644]
source/data/locales/sd_Arab_PK.txt [new file with mode: 0644]
source/data/locales/sd_Deva.txt [new file with mode: 0644]
source/data/locales/sd_Deva_IN.txt [new file with mode: 0644]
source/data/locales/sd_PK.txt
source/data/locales/se.txt
source/data/locales/se_FI.txt
source/data/locales/se_NO.txt
source/data/locales/se_SE.txt
source/data/locales/seh.txt
source/data/locales/seh_MZ.txt
source/data/locales/ses.txt
source/data/locales/ses_ML.txt
source/data/locales/sg.txt
source/data/locales/sg_CF.txt
source/data/locales/shi.txt
source/data/locales/shi_Latn.txt
source/data/locales/shi_Latn_MA.txt
source/data/locales/shi_Tfng.txt
source/data/locales/shi_Tfng_MA.txt
source/data/locales/si.txt
source/data/locales/si_LK.txt
source/data/locales/sk.txt
source/data/locales/sk_SK.txt
source/data/locales/sl.txt
source/data/locales/sl_SI.txt
source/data/locales/smn.txt
source/data/locales/smn_FI.txt
source/data/locales/sn.txt
source/data/locales/sn_ZW.txt
source/data/locales/so.txt
source/data/locales/so_DJ.txt
source/data/locales/so_ET.txt
source/data/locales/so_KE.txt
source/data/locales/so_SO.txt
source/data/locales/sq.txt
source/data/locales/sq_AL.txt
source/data/locales/sq_MK.txt
source/data/locales/sq_XK.txt
source/data/locales/sr.txt
source/data/locales/sr_Cyrl.txt
source/data/locales/sr_Cyrl_BA.txt
source/data/locales/sr_Cyrl_ME.txt
source/data/locales/sr_Cyrl_RS.txt
source/data/locales/sr_Cyrl_XK.txt
source/data/locales/sr_Latn.txt
source/data/locales/sr_Latn_BA.txt
source/data/locales/sr_Latn_ME.txt
source/data/locales/sr_Latn_RS.txt
source/data/locales/sr_Latn_XK.txt
source/data/locales/su.txt [new file with mode: 0644]
source/data/locales/su_ID.txt [new file with mode: 0644]
source/data/locales/su_Latn.txt [new file with mode: 0644]
source/data/locales/su_Latn_ID.txt [new file with mode: 0644]
source/data/locales/sv.txt
source/data/locales/sv_AX.txt
source/data/locales/sv_FI.txt
source/data/locales/sv_SE.txt
source/data/locales/sw.txt
source/data/locales/sw_CD.txt
source/data/locales/sw_KE.txt
source/data/locales/sw_TZ.txt
source/data/locales/sw_UG.txt
source/data/locales/ta.txt
source/data/locales/ta_IN.txt
source/data/locales/ta_LK.txt
source/data/locales/ta_MY.txt
source/data/locales/ta_SG.txt
source/data/locales/te.txt
source/data/locales/te_IN.txt
source/data/locales/teo.txt
source/data/locales/teo_KE.txt
source/data/locales/teo_UG.txt
source/data/locales/tg.txt
source/data/locales/tg_TJ.txt
source/data/locales/th.txt
source/data/locales/th_TH.txt
source/data/locales/th_TH_TRADITIONAL.txt
source/data/locales/ti.txt
source/data/locales/ti_ER.txt
source/data/locales/ti_ET.txt
source/data/locales/tk.txt
source/data/locales/tk_TM.txt
source/data/locales/to.txt
source/data/locales/to_TO.txt
source/data/locales/tr.txt
source/data/locales/tr_CY.txt
source/data/locales/tr_TR.txt
source/data/locales/tt.txt
source/data/locales/tt_RU.txt
source/data/locales/twq.txt
source/data/locales/twq_NE.txt
source/data/locales/tzm.txt
source/data/locales/tzm_MA.txt
source/data/locales/ug.txt
source/data/locales/ug_CN.txt
source/data/locales/uk.txt
source/data/locales/uk_UA.txt
source/data/locales/ur.txt
source/data/locales/ur_IN.txt
source/data/locales/ur_PK.txt
source/data/locales/uz.txt
source/data/locales/uz_Arab.txt
source/data/locales/uz_Arab_AF.txt
source/data/locales/uz_Cyrl.txt
source/data/locales/uz_Cyrl_UZ.txt
source/data/locales/uz_Latn.txt
source/data/locales/uz_Latn_UZ.txt
source/data/locales/vai.txt
source/data/locales/vai_Latn.txt
source/data/locales/vai_Latn_LR.txt
source/data/locales/vai_Vaii.txt
source/data/locales/vai_Vaii_LR.txt
source/data/locales/vi.txt
source/data/locales/vi_VN.txt
source/data/locales/vun.txt
source/data/locales/vun_TZ.txt
source/data/locales/wae.txt
source/data/locales/wae_CH.txt
source/data/locales/wo.txt
source/data/locales/wo_SN.txt
source/data/locales/xh.txt
source/data/locales/xh_ZA.txt
source/data/locales/xog.txt
source/data/locales/xog_UG.txt
source/data/locales/yav.txt
source/data/locales/yav_CM.txt
source/data/locales/yi.txt
source/data/locales/yi_001.txt
source/data/locales/yo.txt
source/data/locales/yo_BJ.txt
source/data/locales/yo_NG.txt
source/data/locales/yue.txt
source/data/locales/yue_Hans.txt
source/data/locales/yue_Hans_CN.txt
source/data/locales/yue_Hant.txt
source/data/locales/yue_Hant_HK.txt
source/data/locales/zgh.txt
source/data/locales/zgh_MA.txt
source/data/locales/zh.txt
source/data/locales/zh_Hans.txt
source/data/locales/zh_Hans_CN.txt
source/data/locales/zh_Hans_HK.txt
source/data/locales/zh_Hans_MO.txt
source/data/locales/zh_Hans_SG.txt
source/data/locales/zh_Hant.txt
source/data/locales/zh_Hant_HK.txt
source/data/locales/zh_Hant_MO.txt
source/data/locales/zh_Hant_TW.txt
source/data/locales/zu.txt
source/data/locales/zu_ZA.txt
source/data/makedata.mak
source/data/misc/icuver.txt
source/data/misc/keyTypeData.txt
source/data/misc/langInfo.txt
source/data/misc/likelySubtags.txt
source/data/misc/metaZones.txt
source/data/misc/metadata.txt
source/data/misc/pluralRanges.txt
source/data/misc/plurals.txt
source/data/misc/supplementalData.txt
source/data/rbnf/LOCALE_DEPS.json
source/data/rbnf/af.txt
source/data/rbnf/ak.txt
source/data/rbnf/am.txt
source/data/rbnf/ar.txt
source/data/rbnf/ar_SA.txt [moved from source/data/lang/ja_JP.txt with 91% similarity]
source/data/rbnf/ars.txt
source/data/rbnf/az.txt
source/data/rbnf/be.txt
source/data/rbnf/bg.txt
source/data/rbnf/bs.txt
source/data/rbnf/ca.txt
source/data/rbnf/ccp.txt
source/data/rbnf/chr.txt
source/data/rbnf/cs.txt
source/data/rbnf/cy.txt
source/data/rbnf/da.txt
source/data/rbnf/de.txt
source/data/rbnf/de_CH.txt
source/data/rbnf/ee.txt
source/data/rbnf/el.txt
source/data/rbnf/en.txt
source/data/rbnf/en_001.txt
source/data/rbnf/en_IN.txt
source/data/rbnf/eo.txt
source/data/rbnf/es.txt
source/data/rbnf/es_419.txt
source/data/rbnf/es_DO.txt
source/data/rbnf/es_GT.txt
source/data/rbnf/es_HN.txt
source/data/rbnf/es_MX.txt
source/data/rbnf/es_NI.txt
source/data/rbnf/es_PA.txt
source/data/rbnf/es_PR.txt
source/data/rbnf/es_SV.txt
source/data/rbnf/es_US.txt
source/data/rbnf/et.txt
source/data/rbnf/fa.txt
source/data/rbnf/fa_AF.txt
source/data/rbnf/ff.txt
source/data/rbnf/fi.txt
source/data/rbnf/fil.txt
source/data/rbnf/fo.txt
source/data/rbnf/fr.txt
source/data/rbnf/fr_BE.txt
source/data/rbnf/fr_CH.txt
source/data/rbnf/ga.txt
source/data/rbnf/he.txt
source/data/rbnf/hi.txt
source/data/rbnf/hr.txt
source/data/rbnf/hu.txt
source/data/rbnf/hy.txt
source/data/rbnf/id.txt
source/data/rbnf/is.txt
source/data/rbnf/it.txt
source/data/rbnf/ja.txt
source/data/rbnf/ka.txt
source/data/rbnf/kl.txt
source/data/rbnf/km.txt
source/data/rbnf/ko.txt
source/data/rbnf/ky.txt
source/data/rbnf/lb.txt
source/data/rbnf/lo.txt
source/data/rbnf/lrc.txt
source/data/rbnf/lt.txt
source/data/rbnf/lv.txt
source/data/rbnf/mk.txt
source/data/rbnf/ms.txt
source/data/rbnf/mt.txt
source/data/rbnf/my.txt
source/data/rbnf/nb.txt
source/data/rbnf/nl.txt
source/data/rbnf/nn.txt
source/data/rbnf/pl.txt
source/data/rbnf/pt.txt
source/data/rbnf/pt_PT.txt
source/data/rbnf/qu.txt
source/data/rbnf/ro.txt
source/data/rbnf/root.txt
source/data/rbnf/ru.txt
source/data/rbnf/se.txt
source/data/rbnf/sk.txt
source/data/rbnf/sl.txt
source/data/rbnf/sq.txt
source/data/rbnf/sr.txt
source/data/rbnf/sr_Latn.txt
source/data/rbnf/su.txt [new file with mode: 0644]
source/data/rbnf/sv.txt
source/data/rbnf/sw.txt
source/data/rbnf/ta.txt
source/data/rbnf/th.txt
source/data/rbnf/tr.txt
source/data/rbnf/uk.txt
source/data/rbnf/vi.txt
source/data/rbnf/yue.txt
source/data/rbnf/yue_Hans.txt
source/data/rbnf/zh.txt
source/data/rbnf/zh_HK.txt
source/data/rbnf/zh_Hant.txt
source/data/rbnf/zh_Hant_MO.txt [new file with mode: 0644]
source/data/rbnf/zh_Hant_TW.txt [new file with mode: 0644]
source/data/rbnf/zh_MO.txt
source/data/rbnf/zh_TW.txt
source/data/region/LOCALE_DEPS.json
source/data/region/af.txt
source/data/region/agq.txt
source/data/region/ak.txt
source/data/region/am.txt
source/data/region/ar.txt
source/data/region/ar_AE.txt
source/data/region/ar_LY.txt
source/data/region/ar_SA.txt
source/data/region/as.txt
source/data/region/asa.txt
source/data/region/ast.txt
source/data/region/az.txt
source/data/region/az_Cyrl.txt
source/data/region/az_Latn.txt
source/data/region/bas.txt
source/data/region/be.txt
source/data/region/bem.txt
source/data/region/bez.txt
source/data/region/bg.txt
source/data/region/bm.txt
source/data/region/bn.txt
source/data/region/bn_IN.txt
source/data/region/bo.txt
source/data/region/bo_IN.txt
source/data/region/br.txt
source/data/region/brx.txt
source/data/region/bs.txt
source/data/region/bs_Cyrl.txt
source/data/region/bs_Latn.txt
source/data/region/ca.txt
source/data/region/ccp.txt
source/data/region/ce.txt
source/data/region/ceb.txt
source/data/region/cgg.txt
source/data/region/chr.txt
source/data/region/ckb.txt
source/data/region/cs.txt
source/data/region/cy.txt
source/data/region/da.txt
source/data/region/dav.txt
source/data/region/de.txt
source/data/region/de_AT.txt
source/data/region/de_CH.txt
source/data/region/dje.txt
source/data/region/dsb.txt
source/data/region/dua.txt
source/data/region/dyo.txt
source/data/region/dz.txt
source/data/region/ebu.txt
source/data/region/ee.txt
source/data/region/el.txt
source/data/region/en.txt
source/data/region/en_001.txt
source/data/region/en_150.txt
source/data/region/en_AG.txt
source/data/region/en_AI.txt
source/data/region/en_AT.txt
source/data/region/en_AU.txt
source/data/region/en_BB.txt
source/data/region/en_BE.txt
source/data/region/en_BM.txt
source/data/region/en_BS.txt
source/data/region/en_BW.txt
source/data/region/en_BZ.txt
source/data/region/en_CA.txt
source/data/region/en_CC.txt
source/data/region/en_CH.txt
source/data/region/en_CK.txt
source/data/region/en_CM.txt
source/data/region/en_CX.txt
source/data/region/en_CY.txt
source/data/region/en_DE.txt
source/data/region/en_DG.txt
source/data/region/en_DK.txt
source/data/region/en_DM.txt
source/data/region/en_ER.txt
source/data/region/en_FI.txt
source/data/region/en_FJ.txt
source/data/region/en_FK.txt
source/data/region/en_FM.txt
source/data/region/en_GB.txt
source/data/region/en_GD.txt
source/data/region/en_GG.txt
source/data/region/en_GH.txt
source/data/region/en_GI.txt
source/data/region/en_GM.txt
source/data/region/en_GY.txt
source/data/region/en_HK.txt
source/data/region/en_IE.txt
source/data/region/en_IL.txt
source/data/region/en_IM.txt
source/data/region/en_IN.txt
source/data/region/en_IO.txt
source/data/region/en_JE.txt
source/data/region/en_JM.txt
source/data/region/en_KE.txt
source/data/region/en_KI.txt
source/data/region/en_KN.txt
source/data/region/en_KY.txt
source/data/region/en_LC.txt
source/data/region/en_LR.txt
source/data/region/en_LS.txt
source/data/region/en_MG.txt
source/data/region/en_MO.txt
source/data/region/en_MS.txt
source/data/region/en_MT.txt
source/data/region/en_MU.txt
source/data/region/en_MW.txt
source/data/region/en_MY.txt
source/data/region/en_NA.txt
source/data/region/en_NF.txt
source/data/region/en_NG.txt
source/data/region/en_NL.txt
source/data/region/en_NR.txt
source/data/region/en_NU.txt
source/data/region/en_NZ.txt
source/data/region/en_PG.txt
source/data/region/en_PH.txt
source/data/region/en_PK.txt
source/data/region/en_PN.txt
source/data/region/en_PW.txt
source/data/region/en_RW.txt
source/data/region/en_SB.txt
source/data/region/en_SC.txt
source/data/region/en_SD.txt
source/data/region/en_SE.txt
source/data/region/en_SG.txt
source/data/region/en_SH.txt
source/data/region/en_SI.txt
source/data/region/en_SL.txt
source/data/region/en_SS.txt
source/data/region/en_SX.txt
source/data/region/en_SZ.txt
source/data/region/en_TC.txt
source/data/region/en_TK.txt
source/data/region/en_TO.txt
source/data/region/en_TT.txt
source/data/region/en_TV.txt
source/data/region/en_TZ.txt
source/data/region/en_UG.txt
source/data/region/en_VC.txt
source/data/region/en_VG.txt
source/data/region/en_VU.txt
source/data/region/en_WS.txt
source/data/region/en_ZA.txt
source/data/region/en_ZM.txt
source/data/region/en_ZW.txt
source/data/region/eo.txt
source/data/region/es.txt
source/data/region/es_419.txt
source/data/region/es_AR.txt
source/data/region/es_BO.txt
source/data/region/es_BR.txt
source/data/region/es_BZ.txt
source/data/region/es_CL.txt
source/data/region/es_CO.txt
source/data/region/es_CR.txt
source/data/region/es_CU.txt
source/data/region/es_DO.txt
source/data/region/es_EC.txt
source/data/region/es_GT.txt
source/data/region/es_HN.txt
source/data/region/es_MX.txt
source/data/region/es_NI.txt
source/data/region/es_PA.txt
source/data/region/es_PE.txt
source/data/region/es_PR.txt
source/data/region/es_PY.txt
source/data/region/es_SV.txt
source/data/region/es_US.txt
source/data/region/es_UY.txt
source/data/region/es_VE.txt
source/data/region/et.txt
source/data/region/eu.txt
source/data/region/ewo.txt
source/data/region/fa.txt
source/data/region/fa_AF.txt
source/data/region/ff.txt
source/data/region/ff_Adlm.txt [new file with mode: 0644]
source/data/region/ff_Latn.txt
source/data/region/fi.txt
source/data/region/fil.txt
source/data/region/fo.txt
source/data/region/fr.txt
source/data/region/fr_BE.txt
source/data/region/fr_CA.txt
source/data/region/fur.txt
source/data/region/fy.txt
source/data/region/ga.txt
source/data/region/gd.txt
source/data/region/gl.txt
source/data/region/gsw.txt
source/data/region/gu.txt
source/data/region/guz.txt
source/data/region/gv.txt
source/data/region/ha.txt
source/data/region/haw.txt
source/data/region/he.txt
source/data/region/hi.txt
source/data/region/hr.txt
source/data/region/hsb.txt
source/data/region/hu.txt
source/data/region/hy.txt
source/data/region/ia.txt
source/data/region/id.txt
source/data/region/ig.txt
source/data/region/ii.txt
source/data/region/is.txt
source/data/region/it.txt
source/data/region/ja.txt
source/data/region/ja_JP.txt [deleted file]
source/data/region/ja_JP_TRADITIONAL.txt [deleted file]
source/data/region/jgo.txt
source/data/region/jmc.txt
source/data/region/jv.txt
source/data/region/ka.txt
source/data/region/kab.txt
source/data/region/kam.txt
source/data/region/kde.txt
source/data/region/kea.txt
source/data/region/khq.txt
source/data/region/ki.txt
source/data/region/kk.txt
source/data/region/kkj.txt
source/data/region/kl.txt
source/data/region/kln.txt
source/data/region/km.txt
source/data/region/kn.txt
source/data/region/ko.txt
source/data/region/ko_KP.txt
source/data/region/kok.txt
source/data/region/ks.txt
source/data/region/ks_Arab.txt [new file with mode: 0644]
source/data/region/ks_Arab_IN.txt [new file with mode: 0644]
source/data/region/ks_IN.txt [new file with mode: 0644]
source/data/region/ksb.txt
source/data/region/ksf.txt
source/data/region/ksh.txt
source/data/region/ku.txt
source/data/region/kw.txt
source/data/region/ky.txt
source/data/region/lag.txt
source/data/region/lb.txt
source/data/region/lg.txt
source/data/region/lkt.txt
source/data/region/ln.txt
source/data/region/lo.txt
source/data/region/lrc.txt
source/data/region/lt.txt
source/data/region/lu.txt
source/data/region/luo.txt
source/data/region/luy.txt
source/data/region/lv.txt
source/data/region/mai.txt [new file with mode: 0644]
source/data/region/mas.txt
source/data/region/mer.txt
source/data/region/mfe.txt
source/data/region/mg.txt
source/data/region/mgh.txt
source/data/region/mgo.txt
source/data/region/mi.txt
source/data/region/mk.txt
source/data/region/ml.txt
source/data/region/mn.txt
source/data/region/mni.txt [new file with mode: 0644]
source/data/region/mni_Beng.txt [new file with mode: 0644]
source/data/region/mni_Beng_IN.txt [new file with mode: 0644]
source/data/region/mni_IN.txt [new file with mode: 0644]
source/data/region/mr.txt
source/data/region/ms.txt
source/data/region/mt.txt
source/data/region/mua.txt
source/data/region/my.txt
source/data/region/mzn.txt
source/data/region/naq.txt
source/data/region/nb.txt
source/data/region/nd.txt
source/data/region/nds.txt
source/data/region/ne.txt
source/data/region/nl.txt
source/data/region/nmg.txt
source/data/region/nn.txt
source/data/region/nnh.txt
source/data/region/nus.txt
source/data/region/nyn.txt
source/data/region/om.txt
source/data/region/or.txt
source/data/region/os.txt
source/data/region/pa.txt
source/data/region/pa_Arab.txt
source/data/region/pa_Guru.txt
source/data/region/pcm.txt [new file with mode: 0644]
source/data/region/pl.txt
source/data/region/ps.txt
source/data/region/ps_PK.txt
source/data/region/pt.txt
source/data/region/pt_AO.txt
source/data/region/pt_CH.txt
source/data/region/pt_CV.txt
source/data/region/pt_GQ.txt
source/data/region/pt_GW.txt
source/data/region/pt_LU.txt
source/data/region/pt_MO.txt
source/data/region/pt_MZ.txt
source/data/region/pt_PT.txt
source/data/region/pt_ST.txt
source/data/region/pt_TL.txt
source/data/region/qu.txt
source/data/region/rm.txt
source/data/region/rn.txt
source/data/region/ro.txt
source/data/region/ro_MD.txt
source/data/region/rof.txt
source/data/region/root.txt
source/data/region/ru.txt
source/data/region/ru_UA.txt
source/data/region/rw.txt
source/data/region/rwk.txt
source/data/region/sah.txt
source/data/region/saq.txt
source/data/region/sat.txt [new file with mode: 0644]
source/data/region/sat_IN.txt [new file with mode: 0644]
source/data/region/sat_Olck.txt [new file with mode: 0644]
source/data/region/sat_Olck_IN.txt [new file with mode: 0644]
source/data/region/sbp.txt
source/data/region/sd.txt
source/data/region/sd_Arab.txt [new file with mode: 0644]
source/data/region/sd_Arab_PK.txt [new file with mode: 0644]
source/data/region/sd_Deva.txt [new file with mode: 0644]
source/data/region/sd_PK.txt [new file with mode: 0644]
source/data/region/se.txt
source/data/region/se_FI.txt
source/data/region/seh.txt
source/data/region/ses.txt
source/data/region/sg.txt
source/data/region/shi.txt
source/data/region/shi_Latn.txt
source/data/region/shi_Tfng.txt
source/data/region/si.txt
source/data/region/sk.txt
source/data/region/sl.txt
source/data/region/smn.txt
source/data/region/sn.txt
source/data/region/so.txt
source/data/region/sq.txt
source/data/region/sr.txt
source/data/region/sr_Cyrl.txt
source/data/region/sr_Cyrl_BA.txt
source/data/region/sr_Cyrl_ME.txt
source/data/region/sr_Cyrl_XK.txt
source/data/region/sr_Latn.txt
source/data/region/sr_Latn_BA.txt
source/data/region/sr_Latn_ME.txt
source/data/region/sr_Latn_XK.txt
source/data/region/su.txt [new file with mode: 0644]
source/data/region/su_ID.txt [new file with mode: 0644]
source/data/region/su_Latn.txt [new file with mode: 0644]
source/data/region/su_Latn_ID.txt [new file with mode: 0644]
source/data/region/sv.txt
source/data/region/sw.txt
source/data/region/sw_CD.txt
source/data/region/sw_KE.txt
source/data/region/ta.txt
source/data/region/te.txt
source/data/region/teo.txt
source/data/region/tg.txt
source/data/region/th.txt
source/data/region/th_TH.txt [deleted file]
source/data/region/th_TH_TRADITIONAL.txt [deleted file]
source/data/region/ti.txt
source/data/region/tk.txt
source/data/region/to.txt
source/data/region/tr.txt
source/data/region/tt.txt
source/data/region/twq.txt
source/data/region/tzm.txt
source/data/region/ug.txt
source/data/region/uk.txt
source/data/region/ur.txt
source/data/region/ur_IN.txt
source/data/region/uz.txt
source/data/region/uz_Arab.txt
source/data/region/uz_Cyrl.txt
source/data/region/uz_Latn.txt
source/data/region/vai.txt
source/data/region/vai_Latn.txt
source/data/region/vai_Vaii.txt
source/data/region/vi.txt
source/data/region/vun.txt
source/data/region/wae.txt
source/data/region/wo.txt
source/data/region/xh.txt
source/data/region/xog.txt
source/data/region/yav.txt
source/data/region/yi.txt
source/data/region/yo.txt
source/data/region/yo_BJ.txt
source/data/region/yue.txt
source/data/region/yue_Hans.txt
source/data/region/yue_Hant.txt
source/data/region/zgh.txt
source/data/region/zh.txt
source/data/region/zh_Hans.txt
source/data/region/zh_Hant.txt
source/data/region/zh_Hant_HK.txt
source/data/region/zh_Hant_MO.txt
source/data/region/zu.txt
source/data/translit/Latn_Cans.txt [new file with mode: 0644]
source/data/translit/Latn_Ethi.txt [new file with mode: 0644]
source/data/translit/my_my_Latn.txt [new file with mode: 0644]
source/data/translit/root.txt
source/data/unit/LOCALE_DEPS.json
source/data/unit/af.txt
source/data/unit/agq.txt
source/data/unit/ak.txt
source/data/unit/am.txt
source/data/unit/ar.txt
source/data/unit/ar_SA.txt
source/data/unit/as.txt
source/data/unit/asa.txt
source/data/unit/ast.txt
source/data/unit/az.txt
source/data/unit/az_Cyrl.txt
source/data/unit/az_Latn.txt
source/data/unit/bas.txt
source/data/unit/be.txt
source/data/unit/bem.txt
source/data/unit/bez.txt
source/data/unit/bg.txt
source/data/unit/bm.txt
source/data/unit/bn.txt
source/data/unit/bo.txt
source/data/unit/br.txt
source/data/unit/brx.txt
source/data/unit/bs.txt
source/data/unit/bs_Cyrl.txt
source/data/unit/bs_Latn.txt
source/data/unit/ca.txt
source/data/unit/ccp.txt
source/data/unit/ce.txt
source/data/unit/ceb.txt
source/data/unit/cgg.txt
source/data/unit/chr.txt
source/data/unit/ckb.txt
source/data/unit/cs.txt
source/data/unit/cy.txt
source/data/unit/da.txt
source/data/unit/dav.txt
source/data/unit/de.txt
source/data/unit/de_CH.txt
source/data/unit/dje.txt
source/data/unit/dsb.txt
source/data/unit/dua.txt
source/data/unit/dyo.txt
source/data/unit/dz.txt
source/data/unit/ebu.txt
source/data/unit/ee.txt
source/data/unit/el.txt
source/data/unit/en.txt
source/data/unit/en_001.txt
source/data/unit/en_150.txt
source/data/unit/en_AG.txt
source/data/unit/en_AI.txt
source/data/unit/en_AT.txt
source/data/unit/en_AU.txt
source/data/unit/en_BB.txt
source/data/unit/en_BE.txt
source/data/unit/en_BM.txt
source/data/unit/en_BS.txt
source/data/unit/en_BW.txt
source/data/unit/en_BZ.txt
source/data/unit/en_CA.txt
source/data/unit/en_CC.txt
source/data/unit/en_CH.txt
source/data/unit/en_CK.txt
source/data/unit/en_CM.txt
source/data/unit/en_CX.txt
source/data/unit/en_CY.txt
source/data/unit/en_DE.txt
source/data/unit/en_DG.txt
source/data/unit/en_DK.txt
source/data/unit/en_DM.txt
source/data/unit/en_ER.txt
source/data/unit/en_FI.txt
source/data/unit/en_FJ.txt
source/data/unit/en_FK.txt
source/data/unit/en_FM.txt
source/data/unit/en_GB.txt
source/data/unit/en_GD.txt
source/data/unit/en_GG.txt
source/data/unit/en_GH.txt
source/data/unit/en_GI.txt
source/data/unit/en_GM.txt
source/data/unit/en_GY.txt
source/data/unit/en_HK.txt
source/data/unit/en_IE.txt
source/data/unit/en_IL.txt
source/data/unit/en_IM.txt
source/data/unit/en_IN.txt
source/data/unit/en_IO.txt
source/data/unit/en_JE.txt
source/data/unit/en_JM.txt
source/data/unit/en_KE.txt
source/data/unit/en_KI.txt
source/data/unit/en_KN.txt
source/data/unit/en_KY.txt
source/data/unit/en_LC.txt
source/data/unit/en_LR.txt
source/data/unit/en_LS.txt
source/data/unit/en_MG.txt
source/data/unit/en_MO.txt
source/data/unit/en_MS.txt
source/data/unit/en_MT.txt
source/data/unit/en_MU.txt
source/data/unit/en_MW.txt
source/data/unit/en_MY.txt
source/data/unit/en_NA.txt
source/data/unit/en_NF.txt
source/data/unit/en_NG.txt
source/data/unit/en_NL.txt
source/data/unit/en_NR.txt
source/data/unit/en_NU.txt
source/data/unit/en_NZ.txt
source/data/unit/en_PG.txt
source/data/unit/en_PH.txt
source/data/unit/en_PK.txt
source/data/unit/en_PN.txt
source/data/unit/en_PW.txt
source/data/unit/en_RW.txt
source/data/unit/en_SB.txt
source/data/unit/en_SC.txt
source/data/unit/en_SD.txt
source/data/unit/en_SE.txt
source/data/unit/en_SG.txt
source/data/unit/en_SH.txt
source/data/unit/en_SI.txt
source/data/unit/en_SL.txt
source/data/unit/en_SS.txt
source/data/unit/en_SX.txt
source/data/unit/en_SZ.txt
source/data/unit/en_TC.txt
source/data/unit/en_TK.txt
source/data/unit/en_TO.txt
source/data/unit/en_TT.txt
source/data/unit/en_TV.txt
source/data/unit/en_TZ.txt
source/data/unit/en_UG.txt
source/data/unit/en_VC.txt
source/data/unit/en_VG.txt
source/data/unit/en_VU.txt
source/data/unit/en_WS.txt
source/data/unit/en_ZA.txt
source/data/unit/en_ZM.txt
source/data/unit/en_ZW.txt
source/data/unit/eo.txt
source/data/unit/es.txt
source/data/unit/es_419.txt
source/data/unit/es_AR.txt
source/data/unit/es_BO.txt
source/data/unit/es_BR.txt
source/data/unit/es_BZ.txt
source/data/unit/es_CL.txt
source/data/unit/es_CO.txt
source/data/unit/es_CR.txt
source/data/unit/es_CU.txt
source/data/unit/es_DO.txt
source/data/unit/es_EC.txt
source/data/unit/es_GT.txt
source/data/unit/es_HN.txt
source/data/unit/es_MX.txt
source/data/unit/es_NI.txt
source/data/unit/es_PA.txt
source/data/unit/es_PE.txt
source/data/unit/es_PR.txt
source/data/unit/es_PY.txt
source/data/unit/es_SV.txt
source/data/unit/es_US.txt
source/data/unit/es_UY.txt
source/data/unit/es_VE.txt
source/data/unit/et.txt
source/data/unit/eu.txt
source/data/unit/ewo.txt
source/data/unit/fa.txt
source/data/unit/ff.txt
source/data/unit/ff_Adlm.txt [new file with mode: 0644]
source/data/unit/ff_Latn.txt
source/data/unit/fi.txt
source/data/unit/fil.txt
source/data/unit/fo.txt
source/data/unit/fr.txt
source/data/unit/fr_CA.txt
source/data/unit/fr_HT.txt
source/data/unit/fur.txt
source/data/unit/fy.txt
source/data/unit/ga.txt
source/data/unit/gd.txt
source/data/unit/gl.txt
source/data/unit/gsw.txt
source/data/unit/gu.txt
source/data/unit/guz.txt
source/data/unit/gv.txt
source/data/unit/ha.txt
source/data/unit/haw.txt
source/data/unit/he.txt
source/data/unit/hi.txt
source/data/unit/hr.txt
source/data/unit/hsb.txt
source/data/unit/hu.txt
source/data/unit/hy.txt
source/data/unit/ia.txt
source/data/unit/id.txt
source/data/unit/ig.txt
source/data/unit/ii.txt
source/data/unit/is.txt
source/data/unit/it.txt
source/data/unit/ja.txt
source/data/unit/ja_JP.txt [deleted file]
source/data/unit/ja_JP_TRADITIONAL.txt [deleted file]
source/data/unit/jgo.txt
source/data/unit/jmc.txt
source/data/unit/jv.txt
source/data/unit/ka.txt
source/data/unit/kab.txt
source/data/unit/kam.txt
source/data/unit/kde.txt
source/data/unit/kea.txt
source/data/unit/khq.txt
source/data/unit/ki.txt
source/data/unit/kk.txt
source/data/unit/kkj.txt
source/data/unit/kl.txt
source/data/unit/kln.txt
source/data/unit/km.txt
source/data/unit/kn.txt
source/data/unit/ko.txt
source/data/unit/kok.txt
source/data/unit/ks.txt
source/data/unit/ks_Arab.txt [new file with mode: 0644]
source/data/unit/ks_Arab_IN.txt [new file with mode: 0644]
source/data/unit/ks_IN.txt [new file with mode: 0644]
source/data/unit/ksb.txt
source/data/unit/ksf.txt
source/data/unit/ksh.txt
source/data/unit/ku.txt
source/data/unit/kw.txt
source/data/unit/ky.txt
source/data/unit/lag.txt
source/data/unit/lb.txt
source/data/unit/lg.txt
source/data/unit/lkt.txt
source/data/unit/ln.txt
source/data/unit/lo.txt
source/data/unit/lrc.txt
source/data/unit/lt.txt
source/data/unit/lu.txt
source/data/unit/luo.txt
source/data/unit/luy.txt
source/data/unit/lv.txt
source/data/unit/mai.txt [new file with mode: 0644]
source/data/unit/mas.txt
source/data/unit/mer.txt
source/data/unit/mfe.txt
source/data/unit/mg.txt
source/data/unit/mgh.txt
source/data/unit/mgo.txt
source/data/unit/mi.txt
source/data/unit/mk.txt
source/data/unit/ml.txt
source/data/unit/mn.txt
source/data/unit/mni.txt [new file with mode: 0644]
source/data/unit/mni_Beng.txt [new file with mode: 0644]
source/data/unit/mni_Beng_IN.txt [new file with mode: 0644]
source/data/unit/mni_IN.txt [new file with mode: 0644]
source/data/unit/mr.txt
source/data/unit/ms.txt
source/data/unit/mt.txt
source/data/unit/mua.txt
source/data/unit/my.txt
source/data/unit/mzn.txt
source/data/unit/naq.txt
source/data/unit/nb.txt
source/data/unit/nd.txt
source/data/unit/nds.txt
source/data/unit/ne.txt
source/data/unit/nl.txt
source/data/unit/nmg.txt
source/data/unit/nn.txt
source/data/unit/nnh.txt
source/data/unit/nus.txt
source/data/unit/nyn.txt
source/data/unit/om.txt
source/data/unit/or.txt
source/data/unit/os.txt
source/data/unit/pa.txt
source/data/unit/pa_Arab.txt
source/data/unit/pa_Guru.txt
source/data/unit/pcm.txt [new file with mode: 0644]
source/data/unit/pl.txt
source/data/unit/ps.txt
source/data/unit/ps_PK.txt
source/data/unit/pt.txt
source/data/unit/pt_AO.txt
source/data/unit/pt_CH.txt
source/data/unit/pt_CV.txt
source/data/unit/pt_GQ.txt
source/data/unit/pt_GW.txt
source/data/unit/pt_LU.txt
source/data/unit/pt_MO.txt
source/data/unit/pt_MZ.txt
source/data/unit/pt_PT.txt
source/data/unit/pt_ST.txt
source/data/unit/pt_TL.txt
source/data/unit/qu.txt
source/data/unit/rm.txt
source/data/unit/rn.txt
source/data/unit/ro.txt
source/data/unit/ro_MD.txt
source/data/unit/rof.txt
source/data/unit/root.txt
source/data/unit/ru.txt
source/data/unit/rw.txt
source/data/unit/rwk.txt
source/data/unit/sah.txt
source/data/unit/saq.txt
source/data/unit/sat.txt [new file with mode: 0644]
source/data/unit/sat_IN.txt [new file with mode: 0644]
source/data/unit/sat_Olck.txt [new file with mode: 0644]
source/data/unit/sat_Olck_IN.txt [new file with mode: 0644]
source/data/unit/sbp.txt
source/data/unit/sd.txt
source/data/unit/sd_Arab.txt [new file with mode: 0644]
source/data/unit/sd_Arab_PK.txt [new file with mode: 0644]
source/data/unit/sd_Deva.txt [new file with mode: 0644]
source/data/unit/sd_PK.txt [new file with mode: 0644]
source/data/unit/se.txt
source/data/unit/seh.txt
source/data/unit/ses.txt
source/data/unit/sg.txt
source/data/unit/shi.txt
source/data/unit/shi_Latn.txt
source/data/unit/shi_Tfng.txt
source/data/unit/si.txt
source/data/unit/sk.txt
source/data/unit/sl.txt
source/data/unit/smn.txt
source/data/unit/sn.txt
source/data/unit/so.txt
source/data/unit/sq.txt
source/data/unit/sr.txt
source/data/unit/sr_Cyrl.txt
source/data/unit/sr_Latn.txt
source/data/unit/su.txt [moved from source/data/curr/ja_JP_TRADITIONAL.txt with 54% similarity]
source/data/unit/su_ID.txt [new file with mode: 0644]
source/data/unit/su_Latn.txt [new file with mode: 0644]
source/data/unit/su_Latn_ID.txt [new file with mode: 0644]
source/data/unit/sv.txt
source/data/unit/sv_FI.txt
source/data/unit/sw.txt
source/data/unit/sw_KE.txt
source/data/unit/ta.txt
source/data/unit/te.txt
source/data/unit/teo.txt
source/data/unit/tg.txt
source/data/unit/th.txt
source/data/unit/th_TH.txt [deleted file]
source/data/unit/th_TH_TRADITIONAL.txt [deleted file]
source/data/unit/ti.txt
source/data/unit/tk.txt
source/data/unit/to.txt
source/data/unit/tr.txt
source/data/unit/tt.txt
source/data/unit/twq.txt
source/data/unit/tzm.txt
source/data/unit/ug.txt
source/data/unit/uk.txt
source/data/unit/ur.txt
source/data/unit/ur_IN.txt
source/data/unit/uz.txt
source/data/unit/uz_Arab.txt
source/data/unit/uz_Cyrl.txt
source/data/unit/uz_Latn.txt
source/data/unit/vai.txt
source/data/unit/vai_Latn.txt
source/data/unit/vai_Vaii.txt
source/data/unit/vi.txt
source/data/unit/vun.txt
source/data/unit/wae.txt
source/data/unit/wo.txt
source/data/unit/xh.txt
source/data/unit/xog.txt
source/data/unit/yav.txt
source/data/unit/yi.txt
source/data/unit/yo.txt
source/data/unit/yo_BJ.txt
source/data/unit/yue.txt
source/data/unit/yue_Hans.txt
source/data/unit/yue_Hant.txt
source/data/unit/zgh.txt
source/data/unit/zh.txt
source/data/unit/zh_Hans.txt
source/data/unit/zh_Hans_HK.txt
source/data/unit/zh_Hans_MO.txt
source/data/unit/zh_Hans_SG.txt
source/data/unit/zh_Hant.txt
source/data/unit/zh_Hant_HK.txt
source/data/unit/zh_Hant_MO.txt
source/data/unit/zu.txt
source/data/zone/LOCALE_DEPS.json
source/data/zone/af.txt
source/data/zone/agq.txt
source/data/zone/ak.txt
source/data/zone/am.txt
source/data/zone/ar.txt
source/data/zone/as.txt
source/data/zone/asa.txt
source/data/zone/ast.txt
source/data/zone/az.txt
source/data/zone/az_Cyrl.txt
source/data/zone/az_Latn.txt
source/data/zone/bas.txt
source/data/zone/be.txt
source/data/zone/bem.txt
source/data/zone/bez.txt
source/data/zone/bg.txt
source/data/zone/bm.txt
source/data/zone/bn.txt
source/data/zone/bo.txt
source/data/zone/br.txt
source/data/zone/brx.txt
source/data/zone/bs.txt
source/data/zone/bs_Cyrl.txt
source/data/zone/bs_Latn.txt
source/data/zone/ca.txt
source/data/zone/ccp.txt
source/data/zone/ce.txt
source/data/zone/ceb.txt
source/data/zone/cgg.txt
source/data/zone/chr.txt
source/data/zone/ckb.txt
source/data/zone/cs.txt
source/data/zone/cy.txt
source/data/zone/da.txt
source/data/zone/dav.txt
source/data/zone/de.txt
source/data/zone/de_CH.txt
source/data/zone/dje.txt
source/data/zone/dsb.txt
source/data/zone/dua.txt
source/data/zone/dyo.txt
source/data/zone/dz.txt
source/data/zone/ebu.txt
source/data/zone/ee.txt
source/data/zone/el.txt
source/data/zone/en.txt
source/data/zone/en_001.txt
source/data/zone/en_150.txt
source/data/zone/en_AE.txt
source/data/zone/en_AG.txt
source/data/zone/en_AI.txt
source/data/zone/en_AT.txt
source/data/zone/en_AU.txt
source/data/zone/en_BB.txt
source/data/zone/en_BE.txt
source/data/zone/en_BM.txt
source/data/zone/en_BS.txt
source/data/zone/en_BW.txt
source/data/zone/en_BZ.txt
source/data/zone/en_CA.txt
source/data/zone/en_CC.txt
source/data/zone/en_CH.txt
source/data/zone/en_CK.txt
source/data/zone/en_CM.txt
source/data/zone/en_CX.txt
source/data/zone/en_CY.txt
source/data/zone/en_DE.txt
source/data/zone/en_DG.txt
source/data/zone/en_DK.txt
source/data/zone/en_DM.txt
source/data/zone/en_ER.txt
source/data/zone/en_FI.txt
source/data/zone/en_FJ.txt
source/data/zone/en_FK.txt
source/data/zone/en_FM.txt
source/data/zone/en_GB.txt
source/data/zone/en_GD.txt
source/data/zone/en_GG.txt
source/data/zone/en_GH.txt
source/data/zone/en_GI.txt
source/data/zone/en_GM.txt
source/data/zone/en_GU.txt
source/data/zone/en_GY.txt
source/data/zone/en_HK.txt
source/data/zone/en_IE.txt
source/data/zone/en_IL.txt
source/data/zone/en_IM.txt
source/data/zone/en_IN.txt
source/data/zone/en_IO.txt
source/data/zone/en_JE.txt
source/data/zone/en_JM.txt
source/data/zone/en_KE.txt
source/data/zone/en_KI.txt
source/data/zone/en_KN.txt
source/data/zone/en_KY.txt
source/data/zone/en_LC.txt
source/data/zone/en_LR.txt
source/data/zone/en_LS.txt
source/data/zone/en_MG.txt
source/data/zone/en_MH.txt
source/data/zone/en_MO.txt
source/data/zone/en_MP.txt
source/data/zone/en_MS.txt
source/data/zone/en_MT.txt
source/data/zone/en_MU.txt
source/data/zone/en_MW.txt
source/data/zone/en_MY.txt
source/data/zone/en_NA.txt
source/data/zone/en_NF.txt
source/data/zone/en_NG.txt
source/data/zone/en_NL.txt
source/data/zone/en_NR.txt
source/data/zone/en_NU.txt
source/data/zone/en_NZ.txt
source/data/zone/en_PG.txt
source/data/zone/en_PH.txt
source/data/zone/en_PK.txt
source/data/zone/en_PN.txt
source/data/zone/en_PW.txt
source/data/zone/en_RW.txt
source/data/zone/en_SB.txt
source/data/zone/en_SC.txt
source/data/zone/en_SD.txt
source/data/zone/en_SE.txt
source/data/zone/en_SG.txt
source/data/zone/en_SH.txt
source/data/zone/en_SI.txt
source/data/zone/en_SL.txt
source/data/zone/en_SS.txt
source/data/zone/en_SX.txt
source/data/zone/en_SZ.txt
source/data/zone/en_TC.txt
source/data/zone/en_TK.txt
source/data/zone/en_TO.txt
source/data/zone/en_TT.txt
source/data/zone/en_TV.txt
source/data/zone/en_TZ.txt
source/data/zone/en_UG.txt
source/data/zone/en_VC.txt
source/data/zone/en_VG.txt
source/data/zone/en_VU.txt
source/data/zone/en_WS.txt
source/data/zone/en_ZA.txt
source/data/zone/en_ZM.txt
source/data/zone/en_ZW.txt
source/data/zone/eo.txt
source/data/zone/es.txt
source/data/zone/es_419.txt
source/data/zone/es_AR.txt
source/data/zone/es_BO.txt
source/data/zone/es_BR.txt
source/data/zone/es_BZ.txt
source/data/zone/es_CL.txt
source/data/zone/es_CO.txt
source/data/zone/es_CR.txt
source/data/zone/es_CU.txt
source/data/zone/es_DO.txt
source/data/zone/es_EC.txt
source/data/zone/es_GT.txt
source/data/zone/es_HN.txt
source/data/zone/es_MX.txt
source/data/zone/es_NI.txt
source/data/zone/es_PA.txt
source/data/zone/es_PE.txt
source/data/zone/es_PR.txt
source/data/zone/es_PY.txt
source/data/zone/es_SV.txt
source/data/zone/es_US.txt
source/data/zone/es_UY.txt
source/data/zone/es_VE.txt
source/data/zone/et.txt
source/data/zone/eu.txt
source/data/zone/ewo.txt
source/data/zone/fa.txt
source/data/zone/ff.txt
source/data/zone/ff_Adlm.txt [new file with mode: 0644]
source/data/zone/ff_Latn.txt
source/data/zone/fi.txt
source/data/zone/fil.txt
source/data/zone/fo.txt
source/data/zone/fr.txt
source/data/zone/fr_CA.txt
source/data/zone/fr_GF.txt
source/data/zone/fur.txt
source/data/zone/fy.txt
source/data/zone/ga.txt
source/data/zone/gd.txt
source/data/zone/gl.txt
source/data/zone/gsw.txt
source/data/zone/gu.txt
source/data/zone/guz.txt
source/data/zone/gv.txt
source/data/zone/ha.txt
source/data/zone/haw.txt
source/data/zone/he.txt
source/data/zone/hi.txt
source/data/zone/hr.txt
source/data/zone/hsb.txt
source/data/zone/hu.txt
source/data/zone/hy.txt
source/data/zone/ia.txt
source/data/zone/id.txt
source/data/zone/ig.txt
source/data/zone/ii.txt
source/data/zone/is.txt
source/data/zone/it.txt
source/data/zone/ja.txt
source/data/zone/ja_JP.txt [deleted file]
source/data/zone/ja_JP_TRADITIONAL.txt [deleted file]
source/data/zone/jgo.txt
source/data/zone/jmc.txt
source/data/zone/jv.txt
source/data/zone/ka.txt
source/data/zone/kab.txt
source/data/zone/kam.txt
source/data/zone/kde.txt
source/data/zone/kea.txt
source/data/zone/khq.txt
source/data/zone/ki.txt
source/data/zone/kk.txt
source/data/zone/kkj.txt
source/data/zone/kl.txt
source/data/zone/kln.txt
source/data/zone/km.txt
source/data/zone/kn.txt
source/data/zone/ko.txt
source/data/zone/ko_KP.txt
source/data/zone/kok.txt
source/data/zone/ks.txt
source/data/zone/ks_Arab.txt [new file with mode: 0644]
source/data/zone/ks_Arab_IN.txt [new file with mode: 0644]
source/data/zone/ks_IN.txt [new file with mode: 0644]
source/data/zone/ksb.txt
source/data/zone/ksf.txt
source/data/zone/ksh.txt
source/data/zone/ku.txt
source/data/zone/kw.txt
source/data/zone/ky.txt
source/data/zone/lag.txt
source/data/zone/lb.txt
source/data/zone/lg.txt
source/data/zone/lkt.txt
source/data/zone/ln.txt
source/data/zone/lo.txt
source/data/zone/lrc.txt
source/data/zone/lt.txt
source/data/zone/lu.txt
source/data/zone/luo.txt
source/data/zone/luy.txt
source/data/zone/lv.txt
source/data/zone/mai.txt [new file with mode: 0644]
source/data/zone/mas.txt
source/data/zone/mer.txt
source/data/zone/mfe.txt
source/data/zone/mg.txt
source/data/zone/mgh.txt
source/data/zone/mgo.txt
source/data/zone/mi.txt
source/data/zone/mk.txt
source/data/zone/ml.txt
source/data/zone/mn.txt
source/data/zone/mni.txt [new file with mode: 0644]
source/data/zone/mni_Beng.txt [new file with mode: 0644]
source/data/zone/mni_Beng_IN.txt [new file with mode: 0644]
source/data/zone/mni_IN.txt [new file with mode: 0644]
source/data/zone/mr.txt
source/data/zone/ms.txt
source/data/zone/ms_ID.txt [moved from source/data/lang/ja_JP_TRADITIONAL.txt with 60% similarity]
source/data/zone/mt.txt
source/data/zone/mua.txt
source/data/zone/my.txt
source/data/zone/mzn.txt
source/data/zone/naq.txt
source/data/zone/nb.txt
source/data/zone/nd.txt
source/data/zone/nds.txt
source/data/zone/ne.txt
source/data/zone/ne_IN.txt
source/data/zone/nl.txt
source/data/zone/nl_SR.txt
source/data/zone/nmg.txt
source/data/zone/nn.txt
source/data/zone/nnh.txt
source/data/zone/nus.txt
source/data/zone/nyn.txt
source/data/zone/om.txt
source/data/zone/or.txt
source/data/zone/os.txt
source/data/zone/pa.txt
source/data/zone/pa_Arab.txt
source/data/zone/pa_Guru.txt
source/data/zone/pcm.txt [new file with mode: 0644]
source/data/zone/pl.txt
source/data/zone/ps.txt
source/data/zone/ps_PK.txt
source/data/zone/pt.txt
source/data/zone/pt_AO.txt
source/data/zone/pt_CH.txt
source/data/zone/pt_CV.txt
source/data/zone/pt_GQ.txt
source/data/zone/pt_GW.txt
source/data/zone/pt_LU.txt
source/data/zone/pt_MO.txt
source/data/zone/pt_MZ.txt
source/data/zone/pt_PT.txt
source/data/zone/pt_ST.txt
source/data/zone/pt_TL.txt
source/data/zone/qu.txt
source/data/zone/qu_BO.txt
source/data/zone/qu_EC.txt
source/data/zone/rm.txt
source/data/zone/rn.txt
source/data/zone/ro.txt
source/data/zone/rof.txt
source/data/zone/root.txt
source/data/zone/ru.txt
source/data/zone/rw.txt
source/data/zone/rwk.txt
source/data/zone/sah.txt
source/data/zone/saq.txt
source/data/zone/sat.txt [new file with mode: 0644]
source/data/zone/sat_IN.txt [new file with mode: 0644]
source/data/zone/sat_Olck.txt [new file with mode: 0644]
source/data/zone/sat_Olck_IN.txt [new file with mode: 0644]
source/data/zone/sbp.txt
source/data/zone/sd.txt
source/data/zone/sd_Arab.txt [new file with mode: 0644]
source/data/zone/sd_Arab_PK.txt [new file with mode: 0644]
source/data/zone/sd_Deva.txt [new file with mode: 0644]
source/data/zone/sd_PK.txt [new file with mode: 0644]
source/data/zone/se.txt
source/data/zone/se_FI.txt
source/data/zone/seh.txt
source/data/zone/ses.txt
source/data/zone/sg.txt
source/data/zone/shi.txt
source/data/zone/shi_Latn.txt
source/data/zone/shi_Tfng.txt
source/data/zone/si.txt
source/data/zone/sk.txt
source/data/zone/sl.txt
source/data/zone/smn.txt
source/data/zone/sn.txt
source/data/zone/so.txt
source/data/zone/sq.txt
source/data/zone/sr.txt
source/data/zone/sr_Cyrl.txt
source/data/zone/sr_Latn.txt
source/data/zone/su.txt [new file with mode: 0644]
source/data/zone/su_ID.txt [new file with mode: 0644]
source/data/zone/su_Latn.txt [new file with mode: 0644]
source/data/zone/su_Latn_ID.txt [new file with mode: 0644]
source/data/zone/sv.txt
source/data/zone/sw.txt
source/data/zone/sw_KE.txt
source/data/zone/ta.txt
source/data/zone/ta_MY.txt
source/data/zone/ta_SG.txt
source/data/zone/te.txt
source/data/zone/teo.txt
source/data/zone/tg.txt
source/data/zone/th.txt
source/data/zone/th_TH.txt [deleted file]
source/data/zone/th_TH_TRADITIONAL.txt [deleted file]
source/data/zone/ti.txt
source/data/zone/tk.txt
source/data/zone/to.txt
source/data/zone/tr.txt
source/data/zone/tt.txt
source/data/zone/twq.txt
source/data/zone/tzm.txt
source/data/zone/ug.txt
source/data/zone/uk.txt
source/data/zone/ur.txt
source/data/zone/ur_IN.txt
source/data/zone/uz.txt
source/data/zone/uz_Arab.txt
source/data/zone/uz_Cyrl.txt
source/data/zone/uz_Latn.txt
source/data/zone/vai.txt
source/data/zone/vai_Latn.txt
source/data/zone/vai_Vaii.txt
source/data/zone/vi.txt
source/data/zone/vun.txt
source/data/zone/wae.txt
source/data/zone/wo.txt
source/data/zone/xh.txt
source/data/zone/xog.txt
source/data/zone/yav.txt
source/data/zone/yi.txt
source/data/zone/yo.txt
source/data/zone/yo_BJ.txt
source/data/zone/yue.txt
source/data/zone/yue_Hans.txt
source/data/zone/yue_Hant.txt
source/data/zone/zgh.txt
source/data/zone/zh.txt
source/data/zone/zh_Hans.txt
source/data/zone/zh_Hans_SG.txt
source/data/zone/zh_Hant.txt
source/data/zone/zh_Hant_HK.txt
source/data/zone/zh_Hant_MO.txt
source/data/zone/zu.txt
source/i18n/Makefile.in
source/i18n/calendar.cpp
source/i18n/collationtailoring.h
source/i18n/currunit.cpp
source/i18n/dcfmtsym.cpp
source/i18n/decimfmt.cpp
source/i18n/double-conversion-ieee.h
source/i18n/double-conversion-string-to-double.cpp
source/i18n/double-conversion-strtod.cpp
source/i18n/double-conversion-utils.h
source/i18n/dtitvfmt.cpp
source/i18n/dtitvinf.cpp
source/i18n/dtptngen.cpp
source/i18n/dtptngen_impl.h
source/i18n/formatted_string_builder.cpp
source/i18n/formatted_string_builder.h
source/i18n/formattedval_impl.h
source/i18n/formattedval_sbimpl.cpp
source/i18n/fphdlimp.h
source/i18n/gender.cpp
source/i18n/i18n.vcxproj
source/i18n/i18n.vcxproj.filters
source/i18n/i18n_uwp.vcxproj
source/i18n/listformatter.cpp
source/i18n/measfmt.cpp
source/i18n/measunit.cpp
source/i18n/measunit_extra.cpp [new file with mode: 0644]
source/i18n/measunit_impl.h [new file with mode: 0644]
source/i18n/name2uni.cpp
source/i18n/nounit.cpp
source/i18n/number_affixutils.cpp
source/i18n/number_asformat.cpp
source/i18n/number_capi.cpp
source/i18n/number_compact.cpp
source/i18n/number_compact.h
source/i18n/number_decimalquantity.cpp
source/i18n/number_decimalquantity.h
source/i18n/number_fluent.cpp
source/i18n/number_formatimpl.cpp
source/i18n/number_formatimpl.h
source/i18n/number_longnames.cpp
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_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_utypes.h
source/i18n/numparse_affixes.cpp
source/i18n/numparse_affixes.h
source/i18n/numparse_impl.cpp
source/i18n/numrange_fluent.cpp
source/i18n/numrange_impl.cpp
source/i18n/numrange_impl.h
source/i18n/numsys.cpp
source/i18n/plurrule.cpp
source/i18n/plurrule_impl.h
source/i18n/quantityformatter.cpp
source/i18n/regexcmp.cpp
source/i18n/regexcst.h
source/i18n/regexcst.pl
source/i18n/regexst.cpp
source/i18n/regexst.h
source/i18n/reldatefmt.cpp
source/i18n/rematch.cpp
source/i18n/repattrn.cpp
source/i18n/smpdtfmt.cpp
source/i18n/translit.cpp
source/i18n/ucal.cpp
source/i18n/ucln_in.h
source/i18n/ucol_sit.cpp
source/i18n/udateintervalformat.cpp
source/i18n/udatpg.cpp
source/i18n/ulistformatter.cpp
source/i18n/unicode/basictz.h
source/i18n/unicode/currunit.h
source/i18n/unicode/dcfmtsym.h
source/i18n/unicode/decimfmt.h
source/i18n/unicode/dtitvfmt.h
source/i18n/unicode/dtitvinf.h
source/i18n/unicode/dtptngen.h
source/i18n/unicode/formattedvalue.h
source/i18n/unicode/listformatter.h
source/i18n/unicode/measunit.h
source/i18n/unicode/numberformatter.h
source/i18n/unicode/numberrangeformatter.h
source/i18n/unicode/numfmt.h
source/i18n/unicode/numsys.h
source/i18n/unicode/plurrule.h
source/i18n/unicode/regex.h
source/i18n/unicode/reldatefmt.h
source/i18n/unicode/selfmt.h [changed mode: 0755->0644]
source/i18n/unicode/smpdtfmt.h
source/i18n/unicode/udat.h
source/i18n/unicode/udateintervalformat.h
source/i18n/unicode/udatpg.h
source/i18n/unicode/uformattedvalue.h
source/i18n/unicode/ulistformatter.h
source/i18n/unicode/unum.h
source/i18n/unicode/unumberformatter.h
source/i18n/unicode/upluralrules.h
source/i18n/unicode/ureldatefmt.h
source/i18n/vtzone.cpp
source/icudefs.mk.in
source/io/Makefile.in
source/io/io.vcxproj
source/layoutex/Makefile.in
source/layoutex/layoutex.vcxproj
source/python/icutools/databuilder/filtration.py
source/samples/ufortune/ufortune.c
source/stubdata/Makefile.in
source/stubdata/stubdata.vcxproj
source/test/cintltst/ccaltst.c
source/test/cintltst/ccapitst.c
source/test/cintltst/cdateintervalformattest.c
source/test/cintltst/cloctst.c
source/test/cintltst/cnumtst.c
source/test/cintltst/creststn.c
source/test/cintltst/udatpg_test.c
source/test/cintltst/ulistfmttest.c
source/test/cintltst/unumberformattertst.c
source/test/depstest/dependencies.txt
source/test/intltest/calregts.cpp
source/test/intltest/caltest.cpp
source/test/intltest/collationtest.cpp
source/test/intltest/compactdecimalformattest.cpp
source/test/intltest/convtest.cpp
source/test/intltest/dadrcal.cpp
source/test/intltest/dadrfmt.cpp
source/test/intltest/dtfmrgts.cpp
source/test/intltest/dtfmrgts.h
source/test/intltest/dtfmtrtts.cpp
source/test/intltest/dtfmttst.cpp
source/test/intltest/dtfmttst.h
source/test/intltest/dtifmtts.cpp
source/test/intltest/dtifmtts.h
source/test/intltest/dtptngts.cpp
source/test/intltest/dtptngts.h
source/test/intltest/formatted_string_builder_test.cpp
source/test/intltest/listformattertest.cpp
source/test/intltest/listformattertest.h
source/test/intltest/localebuildertest.cpp
source/test/intltest/localematchertest.cpp
source/test/intltest/loctest.cpp
source/test/intltest/loctest.h
source/test/intltest/measfmttest.cpp
source/test/intltest/numberformat2test.cpp [deleted file]
source/test/intltest/numberformattesttuple.cpp
source/test/intltest/numbertest.h
source/test/intltest/numbertest_affixutils.cpp
source/test/intltest/numbertest_api.cpp
source/test/intltest/numbertest_decimalquantity.cpp
source/test/intltest/numbertest_modifiers.cpp
source/test/intltest/numbertest_patternmodifier.cpp
source/test/intltest/numbertest_skeletons.cpp
source/test/intltest/numfmtst.cpp
source/test/intltest/numfmtst.h
source/test/intltest/rbbitst.cpp
source/test/intltest/rbbitst.h
source/test/intltest/regextst.cpp
source/test/intltest/restsnew.cpp
source/test/intltest/restsnew.h
source/test/intltest/simplethread.cpp [changed mode: 0755->0644]
source/test/intltest/simplethread.h [changed mode: 0755->0644]
source/test/intltest/strcase.cpp
source/test/intltest/strtest.cpp
source/test/intltest/strtest.h
source/test/intltest/transtst.cpp
source/test/intltest/transtst.h
source/test/intltest/tstnorm.cpp
source/test/intltest/tztest.cpp
source/test/intltest/ustrtest.cpp
source/test/intltest/ustrtest.h
source/test/intltest/uts46test.cpp
source/test/testdata/collationtest.txt
source/test/testdata/localeMatcherTest.txt
source/test/testdata/numberpermutationtest.txt
source/test/testdata/rbbitst.txt
source/test/testdata/regextst.txt
source/test/testdata/root.txt
source/test/testdata/structLocale.txt
source/tools/ctestfw/Makefile.in
source/tools/ctestfw/ctestfw.vcxproj
source/tools/genccode/genccode.c
source/tools/genren/Makefile
source/tools/gensprep/store.c
source/tools/icuinfo/icuinfo.cpp
source/tools/pkgdata/pkgdata.cpp
source/tools/toolutil/Makefile.in
source/tools/toolutil/pkg_genc.cpp
source/tools/toolutil/pkg_genc.h
source/tools/toolutil/toolutil.cpp
source/tools/toolutil/toolutil.vcxproj

index a9fc025..e2921fe 100644 (file)
@@ -5,31 +5,31 @@
        -->
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>ICU4C API Comparison: ICU 65 with ICU 66</title>
+<title>ICU4C API Comparison: ICU 66 with ICU 67</title>
 <link type="text/css" href="icu4c.css" rel="stylesheet">
 </head>
 <body>
 <a name="#_top"></a>
-<h1>ICU4C API Comparison: ICU 65 with ICU 66</h1>
+<h1>ICU4C API Comparison: ICU 66 with ICU 67</h1>
 <div id="toc">
 <ul>
 <li>
-<a href="#removed">Removed from ICU 65</a>
+<a href="#removed">Removed from ICU 66</a>
 </li>
 <li>
-<a href="#deprecated">Deprecated or Obsoleted in ICU 66</a>
+<a href="#deprecated">Deprecated or Obsoleted in ICU 67</a>
 </li>
 <li>
-<a href="#changed">Changed in  ICU 66</a>
+<a href="#changed">Changed in  ICU 67</a>
 </li>
 <li>
-<a href="#promoted">Promoted to stable in ICU 66</a>
+<a href="#promoted">Promoted to stable in ICU 67</a>
 </li>
 <li>
-<a href="#added">Added in ICU 66</a>
+<a href="#added">Added in ICU 67</a>
 </li>
 <li>
-<a href="#other">Other existing drafts in ICU 66</a>
+<a href="#other">Other existing drafts in ICU 67</a>
 </li>
 <li>
 <a href="#simplifications">Signature Simplifications</a>
 <hr>
 </div>
 <a name="removed"></a>
-<h2>Removed from ICU 65</h2>
+<h2>Removed from ICU 66</h2>
 <table BORDER="1" class="genTable">
 <THEAD>
 <tr>
-<th>File</th><th>API</th><th>ICU 65</th><th>ICU 66</th>
+<th>File</th><th>API</th><th>ICU 66</th><th>ICU 67</th>
 </tr>
 </THEAD>
+<tr class="row1">
+<td class="file">listformatter.h</td><td class="proto">UnicodeString&amp; icu::ListFormatter::format(const UnicodeString items[], int32_t, UnicodeString&amp;, FieldPositionIterator*, UErrorCode&amp;) const</td><td class="">Draft<br>ICU 63</td><td>(missing)<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">numberformatter.h</td><td class="proto">UBool icu::number::FormattedNumber::nextFieldPosition(FieldPosition&amp;, UErrorCode&amp;) const</td><td class="">Draft<br>ICU 62</td><td>(missing)<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">numberformatter.h</td><td class="proto">void icu::number::FormattedNumber::getAllFieldPositions(FieldPositionIterator&amp;, UErrorCode&amp;) const</td><td class="">Draft<br>ICU 62</td><td>(missing)<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">numberrangeformatter.h</td><td class="proto">UBool icu::number::FormattedNumberRange::nextFieldPosition(FieldPosition&amp;, UErrorCode&amp;) const</td><td class="">Draft<br>ICU 63</td><td>(missing)<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">numberrangeformatter.h</td><td class="proto">void icu::number::FormattedNumberRange::getAllFieldPositions(FieldPositionIterator&amp;, UErrorCode&amp;) const</td><td class="">Draft<br>ICU 63</td><td>(missing)<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">udateintervalformat.h</td><td class="proto">void udtitvfmt_formatToResult(const UDateIntervalFormat*, UFormattedDateInterval*, UDate, UDate, UErrorCode*)</td><td class="">Draft<br>ICU 64</td><td>(missing)<br>
+<span class=""><span></span></span></td>
+</tr>
 </table>
 <P></P>
 <a href="#_top">(jump back to top)</a>
 <hr>
 <a name="deprecated"></a>
-<h2>Deprecated or Obsoleted in ICU 66</h2>
+<h2>Deprecated or Obsoleted in ICU 67</h2>
 <table BORDER="1" class="genTable">
 <THEAD>
 <tr>
-<th>File</th><th>API</th><th>ICU 65</th><th>ICU 66</th>
+<th>File</th><th>API</th><th>ICU 66</th><th>ICU 67</th>
 </tr>
 </THEAD>
 </table>
 <a href="#_top">(jump back to top)</a>
 <hr>
 <a name="changed"></a>
-<h2>Changed in  ICU 66 (old, new)</h2>
+<h2>Changed in  ICU 67 (old, new)</h2>
 <table BORDER="1" class="genTable">
 <THEAD>
 <tr>
-<th>File</th><th>API</th><th>ICU 65</th><th>ICU 66</th>
+<th>File</th><th>API</th><th>ICU 66</th><th>ICU 67</th>
 </tr>
 </THEAD>
-</table>
-<P></P>
-<a href="#_top">(jump back to top)</a>
-<hr>
-<a name="promoted"></a>
-<h2>Promoted to stable in ICU 66</h2>
-<table BORDER="1" class="genTable">
-<THEAD>
-<tr>
-<th>File</th><th>API</th><th>ICU 65</th><th>ICU 66</th>
+<tr class="row1">
+<td class="file">currunit.h</td><td class="proto">icu::CurrencyUnit::CurrencyUnit(StringPiece, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">decimfmt.h</td><td class="proto">UBool icu::DecimalFormat::isFormatFailIfMoreThanMaxDigits() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
-</THEAD>
 <tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_CHORASMIAN</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 66</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in ICU 66.">(Born Stable)</b></td>
+<td class="file">decimfmt.h</td><td class="proto">UBool icu::DecimalFormat::isParseCaseSensitive() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 66</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in ICU 66.">(Born Stable)</b></td>
+<td class="file">decimfmt.h</td><td class="proto">UBool icu::DecimalFormat::isParseNoExponent() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_DIVES_AKURU</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 66</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in ICU 66.">(Born Stable)</b></td>
+<td class="file">decimfmt.h</td><td class="proto">UBool icu::DecimalFormat::isSignAlwaysShown() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_KHITAN_SMALL_SCRIPT</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 66</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in ICU 66.">(Born Stable)</b></td>
+<td class="file">decimfmt.h</td><td class="proto">const number::LocalizedNumberFormatter* icu::DecimalFormat::toNumberFormatter(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_LISU_SUPPLEMENT</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 66</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in ICU 66.">(Born Stable)</b></td>
+<td class="file">decimfmt.h</td><td class="proto">int32_t icu::DecimalFormat::getMinimumGroupingDigits() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_SYMBOLS_FOR_LEGACY_COMPUTING</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 66</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in ICU 66.">(Born Stable)</b></td>
+<td class="file">decimfmt.h</td><td class="proto">void icu::DecimalFormat::setFormatFailIfMoreThanMaxDigits(UBool)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_TANGUT_SUPPLEMENT</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 66</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in ICU 66.">(Born Stable)</b></td>
+<td class="file">decimfmt.h</td><td class="proto">void icu::DecimalFormat::setMinimumGroupingDigits(int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_YEZIDI</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 66</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in ICU 66.">(Born Stable)</b></td>
+<td class="file">decimfmt.h</td><td class="proto">void icu::DecimalFormat::setParseCaseSensitive(UBool)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UIndicPositionalCategory::U_INPC_TOP_AND_BOTTOM_AND_LEFT</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 66</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in ICU 66.">(Born Stable)</b></td>
+<td class="file">decimfmt.h</td><td class="proto">void icu::DecimalFormat::setParseNoExponent(UBool)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_CHORASMIAN</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 66</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in ICU 66.">(Born Stable)</b></td>
+<td class="file">decimfmt.h</td><td class="proto">void icu::DecimalFormat::setSignAlwaysShown(UBool)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_DIVES_AKURU</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 66</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in ICU 66.">(Born Stable)</b></td>
+<td class="file">dtitvfmt.h</td><td class="proto">Appendable&amp; icu::FormattedDateInterval::appendTo(Appendable&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_KHITAN_SMALL_SCRIPT</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 66</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in ICU 66.">(Born Stable)</b></td>
+<td class="file">dtitvfmt.h</td><td class="proto">FormattedDateInterval icu::DateIntervalFormat::formatToValue(Calendar&amp;, Calendar&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_YEZIDI</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 66</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in ICU 66.">(Born Stable)</b></td>
+<td class="file">dtitvfmt.h</td><td class="proto">FormattedDateInterval icu::DateIntervalFormat::formatToValue(const DateInterval&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
-</table>
-<P></P>
-<a href="#_top">(jump back to top)</a>
-<hr>
-<a name="added"></a>
-<h2>Added in ICU 66</h2>
-<table BORDER="1" class="genTable">
-<THEAD>
-<tr>
-<th>File</th><th>API</th><th>ICU 65</th><th>ICU 66</th>
+<tr class="row0">
+<td class="file">dtitvfmt.h</td><td class="proto">FormattedDateInterval&amp; icu::FormattedDateInterval::operator=(FormattedDateInterval&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
-</THEAD>
 <tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_CHORASMIAN</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 66</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in ICU 66.">(Born Stable)</b></td>
+<td class="file">dtitvfmt.h</td><td class="proto">UBool icu::FormattedDateInterval::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 66</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in ICU 66.">(Born Stable)</b></td>
+<td class="file">dtitvfmt.h</td><td class="proto">UnicodeString icu::FormattedDateInterval::toString(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_DIVES_AKURU</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 66</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in ICU 66.">(Born Stable)</b></td>
+<td class="file">dtitvfmt.h</td><td class="proto">UnicodeString icu::FormattedDateInterval::toTempString(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_KHITAN_SMALL_SCRIPT</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 66</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in ICU 66.">(Born Stable)</b></td>
+<td class="file">dtitvfmt.h</td><td class="proto">icu::FormattedDateInterval::FormattedDateInterval()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_LISU_SUPPLEMENT</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 66</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in ICU 66.">(Born Stable)</b></td>
+<td class="file">dtitvfmt.h</td><td class="proto">icu::FormattedDateInterval::FormattedDateInterval(FormattedDateInterval&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_SYMBOLS_FOR_LEGACY_COMPUTING</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 66</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in ICU 66.">(Born Stable)</b></td>
+<td class="file">dtitvfmt.h</td><td class="proto">icu::FormattedDateInterval::~FormattedDateInterval()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_TANGUT_SUPPLEMENT</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 66</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in ICU 66.">(Born Stable)</b></td>
+<td class="file">formattedvalue.h</td><td class="proto">Appendable&amp; icu::FormattedValue::appendTo(Appendable&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UBlockCode::UBLOCK_YEZIDI</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 66</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in ICU 66.">(Born Stable)</b></td>
+<td class="file">formattedvalue.h</td><td class="proto">UBool icu::ConstrainedFieldPosition::matchesField(int32_t, int32_t) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">uchar.h</td><td class="proto"><tt>enum</tt> UIndicPositionalCategory::U_INPC_TOP_AND_BOTTOM_AND_LEFT</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 66</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in ICU 66.">(Born Stable)</b></td>
+<td class="file">formattedvalue.h</td><td class="proto">UBool icu::FormattedValue::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_CHORASMIAN</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 66</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in ICU 66.">(Born Stable)</b></td>
+<td class="file">formattedvalue.h</td><td class="proto">UnicodeString icu::FormattedValue::toString(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_DIVES_AKURU</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 66</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in ICU 66.">(Born Stable)</b></td>
+<td class="file">formattedvalue.h</td><td class="proto">UnicodeString icu::FormattedValue::toTempString(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_KHITAN_SMALL_SCRIPT</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 66</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in ICU 66.">(Born Stable)</b></td>
+<td class="file">formattedvalue.h</td><td class="proto">icu::ConstrainedFieldPosition::ConstrainedFieldPosition()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">uscript.h</td><td class="proto"><tt>enum</tt> UScriptCode::USCRIPT_YEZIDI</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 66</span></span></td><td class="bornstable"><b class="bigwarn" title="A new API was introduced as stable in ICU 66.">(Born Stable)</b></td>
+<td class="file">formattedvalue.h</td><td class="proto">icu::ConstrainedFieldPosition::~ConstrainedFieldPosition()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
-</table>
-<P></P>
-<a href="#_top">(jump back to top)</a>
-<hr>
-<a name="other"></a>
-<h2>Other existing drafts in ICU 66</h2>
-<div class="other">
-<table BORDER="1" class="genTable">
-<THEAD>
-<tr>
-<th>File</th><th>API</th><th>ICU 65</th><th>ICU 66</th>
+<tr class="row0">
+<td class="file">formattedvalue.h</td><td class="proto">icu::FormattedValue::~FormattedValue()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
-</THEAD>
 <tr class="row1">
-<td class="file">bytestrie.h</td><td class="proto">BytesTrie&amp; icu::BytesTrie::resetToState64(uint64_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">formattedvalue.h</td><td class="proto">int32_t icu::ConstrainedFieldPosition::getCategory() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">bytestrie.h</td><td class="proto">uint64_t icu::BytesTrie::getState64() const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">formattedvalue.h</td><td class="proto">int32_t icu::ConstrainedFieldPosition::getField() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">currunit.h</td><td class="proto">icu::CurrencyUnit::CurrencyUnit(StringPiece, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">formattedvalue.h</td><td class="proto">int32_t icu::ConstrainedFieldPosition::getLimit() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">decimfmt.h</td><td class="proto">UBool icu::DecimalFormat::isFormatFailIfMoreThanMaxDigits() const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">formattedvalue.h</td><td class="proto">int32_t icu::ConstrainedFieldPosition::getStart() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">decimfmt.h</td><td class="proto">UBool icu::DecimalFormat::isParseCaseSensitive() const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">formattedvalue.h</td><td class="proto">int64_t icu::ConstrainedFieldPosition::getInt64IterationContext() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">decimfmt.h</td><td class="proto">UBool icu::DecimalFormat::isParseNoExponent() const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">formattedvalue.h</td><td class="proto">void icu::ConstrainedFieldPosition::constrainCategory(int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">decimfmt.h</td><td class="proto">UBool icu::DecimalFormat::isSignAlwaysShown() const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">formattedvalue.h</td><td class="proto">void icu::ConstrainedFieldPosition::constrainField(int32_t, int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">decimfmt.h</td><td class="proto">const number::LocalizedNumberFormatter* icu::DecimalFormat::toNumberFormatter(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">formattedvalue.h</td><td class="proto">void icu::ConstrainedFieldPosition::reset()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">decimfmt.h</td><td class="proto">int32_t icu::DecimalFormat::getMinimumGroupingDigits() const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">formattedvalue.h</td><td class="proto">void icu::ConstrainedFieldPosition::setInt64IterationContext(int64_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">decimfmt.h</td><td class="proto">void icu::DecimalFormat::setFormatFailIfMoreThanMaxDigits(UBool)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">formattedvalue.h</td><td class="proto">void icu::ConstrainedFieldPosition::setState(int32_t, int32_t, int32_t, int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">decimfmt.h</td><td class="proto">void icu::DecimalFormat::setMinimumGroupingDigits(int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">listformatter.h</td><td class="proto">Appendable&amp; icu::FormattedList::appendTo(Appendable&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">decimfmt.h</td><td class="proto">void icu::DecimalFormat::setParseCaseSensitive(UBool)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">listformatter.h</td><td class="proto">FormattedList icu::ListFormatter::formatStringsToValue(const UnicodeString items[], int32_t, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">decimfmt.h</td><td class="proto">void icu::DecimalFormat::setParseNoExponent(UBool)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">listformatter.h</td><td class="proto">FormattedList&amp; icu::FormattedList::operator=(FormattedList&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">decimfmt.h</td><td class="proto">void icu::DecimalFormat::setSignAlwaysShown(UBool)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">listformatter.h</td><td class="proto">UBool icu::FormattedList::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">dtitvfmt.h</td><td class="proto">Appendable&amp; icu::FormattedDateInterval::appendTo(Appendable&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">listformatter.h</td><td class="proto">UnicodeString icu::FormattedList::toString(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">dtitvfmt.h</td><td class="proto">FormattedDateInterval icu::DateIntervalFormat::formatToValue(Calendar&amp;, Calendar&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">listformatter.h</td><td class="proto">UnicodeString icu::FormattedList::toTempString(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">dtitvfmt.h</td><td class="proto">FormattedDateInterval icu::DateIntervalFormat::formatToValue(const DateInterval&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">listformatter.h</td><td class="proto">icu::FormattedList::FormattedList()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">dtitvfmt.h</td><td class="proto">FormattedDateInterval&amp; icu::FormattedDateInterval::operator=(FormattedDateInterval&amp;&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">listformatter.h</td><td class="proto">icu::FormattedList::FormattedList(FormattedList&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">dtitvfmt.h</td><td class="proto">UBool icu::FormattedDateInterval::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">listformatter.h</td><td class="proto">icu::FormattedList::~FormattedList()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">dtitvfmt.h</td><td class="proto">UnicodeString icu::FormattedDateInterval::toString(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localebuilder.h</td><td class="proto">Locale icu::LocaleBuilder::build(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">dtitvfmt.h</td><td class="proto">UnicodeString icu::FormattedDateInterval::toTempString(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::addUnicodeLocaleAttribute(StringPiece)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">dtitvfmt.h</td><td class="proto">icu::FormattedDateInterval::FormattedDateInterval()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::clear()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">dtitvfmt.h</td><td class="proto">icu::FormattedDateInterval::FormattedDateInterval(FormattedDateInterval&amp;&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::clearExtensions()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">dtitvfmt.h</td><td class="proto">icu::FormattedDateInterval::~FormattedDateInterval()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::removeUnicodeLocaleAttribute(StringPiece)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">formattedvalue.h</td><td class="proto">Appendable&amp; icu::FormattedValue::appendTo(Appendable&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::setExtension(char, StringPiece)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">formattedvalue.h</td><td class="proto">UBool icu::ConstrainedFieldPosition::matchesField(int32_t, int32_t) const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::setLanguage(StringPiece)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">formattedvalue.h</td><td class="proto">UBool icu::FormattedValue::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::setLanguageTag(StringPiece)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">formattedvalue.h</td><td class="proto">UnicodeString icu::FormattedValue::toString(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::setLocale(const Locale&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">formattedvalue.h</td><td class="proto">UnicodeString icu::FormattedValue::toTempString(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::setRegion(StringPiece)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">formattedvalue.h</td><td class="proto">icu::ConstrainedFieldPosition::ConstrainedFieldPosition()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::setScript(StringPiece)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">formattedvalue.h</td><td class="proto">icu::ConstrainedFieldPosition::~ConstrainedFieldPosition()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::setUnicodeLocaleKeyword(StringPiece, StringPiece)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">formattedvalue.h</td><td class="proto">icu::FormattedValue::~FormattedValue()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::setVariant(StringPiece)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">formattedvalue.h</td><td class="proto">int32_t icu::ConstrainedFieldPosition::getCategory() const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localebuilder.h</td><td class="proto">icu::LocaleBuilder::LocaleBuilder()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">formattedvalue.h</td><td class="proto">int32_t icu::ConstrainedFieldPosition::getField() const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localebuilder.h</td><td class="proto">icu::LocaleBuilder::~LocaleBuilder()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">formattedvalue.h</td><td class="proto">int32_t icu::ConstrainedFieldPosition::getLimit() const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localpointer.h</td><td class="proto">LocalArray&lt;T&gt;&amp; icu::LocalArray&lt; T &gt;::operator=(std::unique_ptr&lt; T[]&gt;&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">formattedvalue.h</td><td class="proto">int32_t icu::ConstrainedFieldPosition::getStart() const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localpointer.h</td><td class="proto">LocalPointer&lt;T&gt;&amp; icu::LocalPointer&lt; T &gt;::operator=(std::unique_ptr&lt; T &gt;&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">formattedvalue.h</td><td class="proto">int64_t icu::ConstrainedFieldPosition::getInt64IterationContext() const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localpointer.h</td><td class="proto">icu::LocalArray&lt; T &gt;::LocalArray(std::unique_ptr&lt; T[]&gt;&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">formattedvalue.h</td><td class="proto">void icu::ConstrainedFieldPosition::constrainCategory(int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localpointer.h</td><td class="proto">icu::LocalArray&lt; T &gt;::operator std::unique_ptr&lt; T[]&gt;() &amp;&amp;</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">formattedvalue.h</td><td class="proto">void icu::ConstrainedFieldPosition::constrainField(int32_t, int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localpointer.h</td><td class="proto">icu::LocalPointer&lt; T &gt;::LocalPointer(std::unique_ptr&lt; T &gt;&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">formattedvalue.h</td><td class="proto">void icu::ConstrainedFieldPosition::reset()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localpointer.h</td><td class="proto">icu::LocalPointer&lt; T &gt;::operator std::unique_ptr&lt; T &gt;() &amp;&amp;</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">formattedvalue.h</td><td class="proto">void icu::ConstrainedFieldPosition::setInt64IterationContext(int64_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getAcre()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">formattedvalue.h</td><td class="proto">void icu::ConstrainedFieldPosition::setState(int32_t, int32_t, int32_t, int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getAcreFoot()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">listformatter.h</td><td class="proto">Appendable&amp; icu::FormattedList::appendTo(Appendable&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getAmpere()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">listformatter.h</td><td class="proto">FormattedList icu::ListFormatter::formatStringsToValue(const UnicodeString items[], int32_t, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getArcMinute()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">listformatter.h</td><td class="proto">FormattedList&amp; icu::FormattedList::operator=(FormattedList&amp;&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getArcSecond()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">listformatter.h</td><td class="proto">UBool icu::FormattedList::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getAstronomicalUnit()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">listformatter.h</td><td class="proto">UnicodeString icu::FormattedList::toString(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getAtmosphere()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">listformatter.h</td><td class="proto">UnicodeString icu::FormattedList::toTempString(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getBarrel()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">listformatter.h</td><td class="proto">UnicodeString&amp; icu::ListFormatter::format(const UnicodeString items[], int32_t, UnicodeString&amp;, FieldPositionIterator*, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 63</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getBit()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">listformatter.h</td><td class="proto">icu::FormattedList::FormattedList()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getBritishThermalUnit()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">listformatter.h</td><td class="proto">icu::FormattedList::FormattedList(FormattedList&amp;&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getBushel()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">listformatter.h</td><td class="proto">icu::FormattedList::~FormattedList()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getByte()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">localebuilder.h</td><td class="proto">Locale icu::LocaleBuilder::build(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCalorie()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::addUnicodeLocaleAttribute(StringPiece)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCarat()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::clear()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCelsius()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::clearExtensions()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCentiliter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::removeUnicodeLocaleAttribute(StringPiece)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCentimeter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::setExtension(char, StringPiece)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCentury()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::setLanguage(StringPiece)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicCentimeter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::setLanguageTag(StringPiece)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicFoot()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::setLocale(const Locale&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicInch()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::setRegion(StringPiece)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicKilometer()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::setScript(StringPiece)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicMeter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::setUnicodeLocaleKeyword(StringPiece, StringPiece)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicMile()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::setVariant(StringPiece)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicYard()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">localebuilder.h</td><td class="proto">UBool icu::LocaleBuilder::copyErrorTo(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCup()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">localebuilder.h</td><td class="proto">icu::LocaleBuilder::LocaleBuilder()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCupMetric()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">localebuilder.h</td><td class="proto">icu::LocaleBuilder::~LocaleBuilder()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDalton()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::addSupportedLocale(const Locale&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDay()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::operator=(Builder&amp;&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDayPerson()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setDefaultLocale(const Locale*)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDeciliter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setDemotionPerDesiredLocale(ULocMatchDemotion)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDecimeter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setFavorSubtag(ULocMatchFavorSubtag)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDegree()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setSupportedLocales(Iter, Iter)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDunam()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setSupportedLocales(Locale::Iterator&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getEarthMass()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setSupportedLocalesFromListString(StringPiece)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getElectronvolt()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setSupportedLocalesViaConverter(Iter, Iter, Conv)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getFahrenheit()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">Locale icu::LocaleMatcher::Result::makeResolvedLocale(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getFathom()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">LocaleMatcher icu::LocaleMatcher::Builder::build(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getFluidOunce()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">LocaleMatcher&amp; icu::LocaleMatcher::operator=(LocaleMatcher&amp;&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getFluidOunceImperial()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">Result icu::LocaleMatcher::getBestMatchResult(Locale::Iterator&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getFoodcalorie()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">Result icu::LocaleMatcher::getBestMatchResult(const Locale&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getFoot()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">Result&amp; icu::LocaleMatcher::Result::operator=(Result&amp;&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getFurlong()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">UBool icu::LocaleMatcher::Builder::copyErrorTo(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getGForce()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">const Locale* icu::LocaleMatcher::Result::getDesiredLocale() const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getGallon()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">const Locale* icu::LocaleMatcher::Result::getSupportedLocale() const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getGallonImperial()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">const Locale* icu::LocaleMatcher::getBestMatch(Locale::Iterator&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getGenericTemperature()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">const Locale* icu::LocaleMatcher::getBestMatch(const Locale&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getGigabit()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">const Locale* icu::LocaleMatcher::getBestMatchForListString(StringPiece, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getGigabyte()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto"><tt>enum</tt> ULocMatchDemotion::ULOCMATCH_DEMOTION_NONE</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getGigahertz()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto"><tt>enum</tt> ULocMatchDemotion::ULOCMATCH_DEMOTION_REGION</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getGigawatt()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto"><tt>enum</tt> ULocMatchFavorSubtag::ULOCMATCH_FAVOR_LANGUAGE</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getGram()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto"><tt>enum</tt> ULocMatchFavorSubtag::ULOCMATCH_FAVOR_SCRIPT</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getHectare()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">icu::LocaleMatcher::Builder::Builder()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getHectoliter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">icu::LocaleMatcher::Builder::Builder(Builder&amp;&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getHectopascal()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">icu::LocaleMatcher::Builder::~Builder()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getHertz()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">icu::LocaleMatcher::LocaleMatcher(LocaleMatcher&amp;&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getHorsepower()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">icu::LocaleMatcher::Result::Result(Result&amp;&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getHour()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">icu::LocaleMatcher::Result::~Result()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getInch()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">icu::LocaleMatcher::~LocaleMatcher()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getInchHg()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">int32_t icu::LocaleMatcher::Result::getDesiredIndex() const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getJoule()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">int32_t icu::LocaleMatcher::Result::getSupportedIndex() const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKarat()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">localpointer.h</td><td class="proto">LocalArray&lt;T&gt;&amp; icu::LocalArray&lt; T &gt;::operator=(std::unique_ptr&lt; T[]&gt;&amp;&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKelvin()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">localpointer.h</td><td class="proto">LocalPointer&lt;T&gt;&amp; icu::LocalPointer&lt; T &gt;::operator=(std::unique_ptr&lt; T &gt;&amp;&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilobit()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">localpointer.h</td><td class="proto">icu::LocalArray&lt; T &gt;::LocalArray(std::unique_ptr&lt; T[]&gt;&amp;&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilobyte()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">localpointer.h</td><td class="proto">icu::LocalArray&lt; T &gt;::operator std::unique_ptr&lt; T[]&gt;() &amp;&amp;</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilocalorie()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">localpointer.h</td><td class="proto">icu::LocalPointer&lt; T &gt;::LocalPointer(std::unique_ptr&lt; T &gt;&amp;&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilogram()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">localpointer.h</td><td class="proto">icu::LocalPointer&lt; T &gt;::operator std::unique_ptr&lt; T &gt;() &amp;&amp;</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilohertz()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">locid.h</td><td class="proto">UBool icu::Locale::ConvertingIterator&lt; Iter, Conv &gt;::hasNext() const override</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilojoule()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">locid.h</td><td class="proto">UBool icu::Locale::Iterator::hasNext() const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilometer()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">locid.h</td><td class="proto">UBool icu::Locale::RangeIterator&lt; Iter &gt;::hasNext() const override</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilometerPerHour()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">locid.h</td><td class="proto">const Locale&amp; icu::Locale::ConvertingIterator&lt; Iter, Conv &gt;::next() override</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilopascal()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">locid.h</td><td class="proto">const Locale&amp; icu::Locale::Iterator::next()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilowatt()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">locid.h</td><td class="proto">const Locale&amp; icu::Locale::RangeIterator&lt; Iter &gt;::next() override</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilowattHour()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">locid.h</td><td class="proto">icu::Locale::ConvertingIterator&lt; Iter, Conv &gt;::ConvertingIterator(Iter, Iter, Conv)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKnot()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">locid.h</td><td class="proto">icu::Locale::Iterator::~Iterator()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getLightYear()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">locid.h</td><td class="proto">icu::Locale::RangeIterator&lt; Iter &gt;::RangeIterator(Iter, Iter)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getLiter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measfmt.h</td><td class="proto">void icu::MeasureFormat::parseObject(const UnicodeString&amp;, Formattable&amp;, ParsePosition&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 53</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getLiterPer100Kilometers()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getAcre()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getLiterPerKilometer()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getAcreFoot()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getLux()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getAmpere()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMegabit()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getArcMinute()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMegabyte()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getArcSecond()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMegahertz()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getAstronomicalUnit()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMegaliter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getAtmosphere()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMegapascal()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getBar()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMegawatt()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getBarrel()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMeter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getBit()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMeterPerSecond()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getBritishThermalUnit()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMeterPerSecondSquared()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getBushel()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMetricTon()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getByte()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMicrogram()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCalorie()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMicrometer()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCarat()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMicrosecond()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCelsius()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMile()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCentiliter()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMilePerGallon()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCentimeter()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMilePerGallonImperial()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCentury()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMilePerHour()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicCentimeter()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMileScandinavian()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicFoot()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMilliampere()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicInch()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMillibar()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicKilometer()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMilligram()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicMeter()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMilligramPerDeciliter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicMile()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMilliliter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicYard()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMillimeter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCup()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMillimeterOfMercury()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCupMetric()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMillimolePerLiter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDalton()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMillisecond()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDay()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMilliwatt()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDayPerson()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMinute()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDecade()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMole()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDeciliter()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMonth()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDecimeter()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMonthPerson()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDegree()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getNanometer()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDotPerCentimeter()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getNanosecond()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDotPerInch()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getNauticalMile()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDunam()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getNewton()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getEarthMass()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getNewtonMeter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getElectronvolt()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getOhm()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getEm()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getOunce()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getFahrenheit()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getOunceTroy()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getFathom()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getParsec()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getFluidOunce()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPartPerMillion()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getFluidOunceImperial()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPercent()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getFoodcalorie()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPermille()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getFoot()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPermyriad()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getFurlong()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPetabyte()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getGForce()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPicometer()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getGallon()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPint()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getGallonImperial()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPintMetric()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getGenericTemperature()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPoint()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getGigabit()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPound()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getGigabyte()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPoundFoot()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getGigahertz()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPoundForce()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getGigawatt()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPoundPerSquareInch()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getGram()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getQuart()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getHectare()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getRadian()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getHectoliter()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getRevolutionAngle()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getHectopascal()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSecond()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getHertz()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSolarLuminosity()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getHorsepower()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSolarMass()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getHour()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSolarRadius()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getInch()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareCentimeter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getInchHg()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareFoot()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getJoule()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareInch()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKarat()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareKilometer()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKelvin()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareMeter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilobit()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareMile()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilobyte()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareYard()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilocalorie()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getStone()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilogram()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getTablespoon()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilohertz()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getTeaspoon()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilojoule()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getTerabit()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilometer()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getTerabyte()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilometerPerHour()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getTon()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilopascal()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getVolt()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilowatt()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getWatt()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilowattHour()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getWeek()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKnot()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getWeekPerson()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getLightYear()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getYard()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getLiter()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getYear()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getLiterPer100Kilometers()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getYearPerson()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getLiterPerKilometer()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createBarrel(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getLux()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createBritishThermalUnit(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMegabit()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDalton(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMegabyte()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDayPerson(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMegahertz()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDunam(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMegaliter()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createEarthMass(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMegapascal()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createElectronvolt(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMegapixel()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createFluidOunceImperial(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMegawatt()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createKilopascal(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMeter()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createMegapascal(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMeterPerSecond()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createMole(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMeterPerSecondSquared()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createMonthPerson(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMetricTon()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createNewton(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMicrogram()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createNewtonMeter(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMicrometer()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createPermyriad(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMicrosecond()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createPoundFoot(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMile()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createPoundForce(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMilePerGallon()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createSolarLuminosity(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMilePerGallonImperial()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createSolarMass(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMilePerHour()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createSolarRadius(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMileScandinavian()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createWeekPerson(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMilliampere()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createYearPerson(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMillibar()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">numberformatter.h</td><td class="proto">LocalPointer&lt;Derived&gt; icu::number::NumberFormatterSettings&lt; Derived &gt;::clone() &amp;&amp;</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMilligram()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">numberformatter.h</td><td class="proto">LocalPointer&lt;Derived&gt; icu::number::NumberFormatterSettings&lt; Derived &gt;::clone() const &amp;</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMilligramPerDeciliter()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">numberformatter.h</td><td class="proto">UBool icu::number::FormattedNumber::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMilliliter()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">numberformatter.h</td><td class="proto">UnicodeString icu::number::FormattedNumber::toTempString(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMillimeter()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">numberformatter.h</td><td class="proto">icu::number::FormattedNumber::FormattedNumber()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMillimeterOfMercury()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> UnlocalizedNumberFormatter icu::number::NumberFormatter::forSkeleton(const UnicodeString&amp;, UParseError&amp;, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMillimolePerLiter()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">numberrangeformatter.h</td><td class="proto">LocalPointer&lt;Derived&gt; icu::number::NumberRangeFormatterSettings&lt; Derived &gt;::clone() &amp;&amp;</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMillisecond()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">numberrangeformatter.h</td><td class="proto">LocalPointer&lt;Derived&gt; icu::number::NumberRangeFormatterSettings&lt; Derived &gt;::clone() const &amp;</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMilliwatt()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">numberrangeformatter.h</td><td class="proto">UBool icu::number::FormattedNumberRange::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMinute()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">numberrangeformatter.h</td><td class="proto">UnicodeString icu::number::FormattedNumberRange::toTempString(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMole()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt>                                                          icu::NumberFormat::EAlignmentFields::kCompactField</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMonth()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt>                                                          icu::NumberFormat::EAlignmentFields::kMeasureUnitField</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMonthPerson()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">plurrule.h</td><td class="proto">UnicodeString icu::PluralRules::select(const number::FormattedNumber&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getNanometer()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">reldatefmt.h</td><td class="proto">Appendable&amp; icu::FormattedRelativeDateTime::appendTo(Appendable&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getNanosecond()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">reldatefmt.h</td><td class="proto">FormattedRelativeDateTime icu::RelativeDateTimeFormatter::formatNumericToValue(double, URelativeDateTimeUnit, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getNauticalMile()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">reldatefmt.h</td><td class="proto">FormattedRelativeDateTime icu::RelativeDateTimeFormatter::formatToValue(UDateDirection, UDateAbsoluteUnit, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getNewton()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">reldatefmt.h</td><td class="proto">FormattedRelativeDateTime icu::RelativeDateTimeFormatter::formatToValue(double, UDateDirection, UDateRelativeUnit, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getNewtonMeter()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">reldatefmt.h</td><td class="proto">FormattedRelativeDateTime icu::RelativeDateTimeFormatter::formatToValue(double, URelativeDateTimeUnit, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getOhm()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">reldatefmt.h</td><td class="proto">FormattedRelativeDateTime&amp; icu::FormattedRelativeDateTime::operator=(FormattedRelativeDateTime&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getOunce()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">reldatefmt.h</td><td class="proto">UBool icu::FormattedRelativeDateTime::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getOunceTroy()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">reldatefmt.h</td><td class="proto">UnicodeString icu::FormattedRelativeDateTime::toString(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getParsec()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">reldatefmt.h</td><td class="proto">UnicodeString icu::FormattedRelativeDateTime::toTempString(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPartPerMillion()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">reldatefmt.h</td><td class="proto">icu::FormattedRelativeDateTime::FormattedRelativeDateTime()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPascal()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">reldatefmt.h</td><td class="proto">icu::FormattedRelativeDateTime::FormattedRelativeDateTime(FormattedRelativeDateTime&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPercent()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">reldatefmt.h</td><td class="proto">icu::FormattedRelativeDateTime::~FormattedRelativeDateTime()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPermille()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">udateintervalformat.h</td><td class="proto">UFormattedDateInterval* udtitvfmt_openResult(UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPermyriad()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">udateintervalformat.h</td><td class="proto">const UFormattedValue* udtitvfmt_resultAsValue(const UFormattedDateInterval*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPetabyte()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">udateintervalformat.h</td><td class="proto">void udtitvfmt_closeResult(UFormattedDateInterval*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPicometer()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">uformattedvalue.h</td><td class="proto">UBool ucfpos_matchesField(const UConstrainedFieldPosition*, int32_t, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPint()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">uformattedvalue.h</td><td class="proto">UBool ufmtval_nextPosition(const UFormattedValue*, UConstrainedFieldPosition*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPintMetric()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">uformattedvalue.h</td><td class="proto">UConstrainedFieldPosition* ucfpos_open(UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPixel()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">uformattedvalue.h</td><td class="proto">const UChar* ufmtval_getString(const UFormattedValue*, int32_t*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPixelPerCentimeter()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">uformattedvalue.h</td><td class="proto"><tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_DATE_INTERVAL_SPAN</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPixelPerInch()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">uformattedvalue.h</td><td class="proto"><tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_DATE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPoint()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">uformattedvalue.h</td><td class="proto"><tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_LIST_SPAN</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPound()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">uformattedvalue.h</td><td class="proto"><tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_LIST</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPoundFoot()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">uformattedvalue.h</td><td class="proto"><tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_NUMBER</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPoundForce()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">uformattedvalue.h</td><td class="proto"><tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_RELATIVE_DATETIME</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPoundPerSquareInch()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">uformattedvalue.h</td><td class="proto"><tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_UNDEFINED</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getQuart()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">uformattedvalue.h</td><td class="proto">int32_t ucfpos_getCategory(const UConstrainedFieldPosition*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getRadian()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">uformattedvalue.h</td><td class="proto">int32_t ucfpos_getField(const UConstrainedFieldPosition*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getRevolutionAngle()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">uformattedvalue.h</td><td class="proto">int64_t ucfpos_getInt64IterationContext(const UConstrainedFieldPosition*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSecond()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">uformattedvalue.h</td><td class="proto">void ucfpos_close(UConstrainedFieldPosition*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSolarLuminosity()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">uformattedvalue.h</td><td class="proto">void ucfpos_constrainCategory(UConstrainedFieldPosition*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSolarMass()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">uformattedvalue.h</td><td class="proto">void ucfpos_constrainField(UConstrainedFieldPosition*, int32_t, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSolarRadius()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">uformattedvalue.h</td><td class="proto">void ucfpos_getIndexes(const UConstrainedFieldPosition*, int32_t*, int32_t*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareCentimeter()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">uformattedvalue.h</td><td class="proto">void ucfpos_reset(UConstrainedFieldPosition*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareFoot()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">uformattedvalue.h</td><td class="proto">void ucfpos_setInt64IterationContext(UConstrainedFieldPosition*, int64_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareInch()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">uformattedvalue.h</td><td class="proto">void ucfpos_setState(UConstrainedFieldPosition*, int32_t, int32_t, int32_t, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareKilometer()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">ulistformatter.h</td><td class="proto">UFormattedList* ulistfmt_openResult(UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareMeter()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">ulistformatter.h</td><td class="proto">const UFormattedValue* ulistfmt_resultAsValue(const UFormattedList*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareMile()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">ulistformatter.h</td><td class="proto"><tt>enum</tt> UListFormatterField::ULISTFMT_ELEMENT_FIELD</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 63</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareYard()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">ulistformatter.h</td><td class="proto"><tt>enum</tt> UListFormatterField::ULISTFMT_LITERAL_FIELD</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 63</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getStone()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">ulistformatter.h</td><td class="proto">void ulistfmt_closeResult(UFormattedList*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getTablespoon()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">ulistformatter.h</td><td class="proto">void ulistfmt_formatStringsToResult(const UListFormatter*, const UChar* const strings[], const int32_t*, int32_t, UFormattedList*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getTeaspoon()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatAttribute::UNUM_MINIMUM_GROUPING_DIGITS</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getTerabit()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatAttribute::UNUM_PARSE_CASE_SENSITIVE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getTerabyte()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatAttribute::UNUM_SIGN_ALWAYS_SHOWN</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getThermUs()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatFields::UNUM_COMPACT_FIELD</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getTon()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatFields::UNUM_MEASURE_UNIT_FIELD</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getVolt()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">unumberformatter.h</td><td class="proto">UNumberFormatter* unumf_openForSkeletonAndLocaleWithError(const UChar*, int32_t, const char*, UParseError*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getWatt()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">unumberformatter.h</td><td class="proto">const UFormattedValue* unumf_resultAsValue(const UFormattedNumber*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getWeek()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">upluralrules.h</td><td class="proto">int32_t uplrules_selectFormatted(const UPluralRules*, const struct UFormattedNumber*, UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getWeekPerson()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">ureldatefmt.h</td><td class="proto">UFormattedRelativeDateTime* ureldatefmt_openResult(UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getYard()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">ureldatefmt.h</td><td class="proto">const UFormattedValue* ureldatefmt_resultAsValue(const UFormattedRelativeDateTime*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getYear()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">ureldatefmt.h</td><td class="proto"><tt>enum</tt> URelativeDateTimeFormatterField::UDAT_REL_LITERAL_FIELD</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getYearPerson()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">ureldatefmt.h</td><td class="proto"><tt>enum</tt> URelativeDateTimeFormatterField::UDAT_REL_NUMERIC_FIELD</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createBar(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">ureldatefmt.h</td><td class="proto">void ureldatefmt_closeResult(UFormattedRelativeDateTime*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createBarrel(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">ureldatefmt.h</td><td class="proto">void ureldatefmt_formatNumericToResult(const URelativeDateTimeFormatter*, double, URelativeDateTimeUnit, UFormattedRelativeDateTime*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">ureldatefmt.h</td><td class="proto">void ureldatefmt_formatToResult(const URelativeDateTimeFormatter*, double, URelativeDateTimeUnit, UFormattedRelativeDateTime*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+</table>
+<P></P>
+<a href="#_top">(jump back to top)</a>
+<hr>
+<a name="promoted"></a>
+<h2>Promoted to stable in ICU 67</h2>
+<table BORDER="1" class="genTable">
+<THEAD>
+<tr>
+<th>File</th><th>API</th><th>ICU 66</th><th>ICU 67</th>
 </tr>
+</THEAD>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createBritishThermalUnit(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">currunit.h</td><td class="proto">icu::CurrencyUnit::CurrencyUnit(StringPiece, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDalton(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">decimfmt.h</td><td class="proto">UBool icu::DecimalFormat::isFormatFailIfMoreThanMaxDigits() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDayPerson(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">decimfmt.h</td><td class="proto">UBool icu::DecimalFormat::isParseCaseSensitive() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDecade(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">decimfmt.h</td><td class="proto">UBool icu::DecimalFormat::isParseNoExponent() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDotPerCentimeter(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">decimfmt.h</td><td class="proto">UBool icu::DecimalFormat::isSignAlwaysShown() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDotPerInch(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">decimfmt.h</td><td class="proto">const number::LocalizedNumberFormatter* icu::DecimalFormat::toNumberFormatter(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDunam(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">decimfmt.h</td><td class="proto">int32_t icu::DecimalFormat::getMinimumGroupingDigits() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createEarthMass(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">decimfmt.h</td><td class="proto">void icu::DecimalFormat::setFormatFailIfMoreThanMaxDigits(UBool)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createElectronvolt(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">decimfmt.h</td><td class="proto">void icu::DecimalFormat::setMinimumGroupingDigits(int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createEm(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">decimfmt.h</td><td class="proto">void icu::DecimalFormat::setParseCaseSensitive(UBool)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createFluidOunceImperial(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">decimfmt.h</td><td class="proto">void icu::DecimalFormat::setParseNoExponent(UBool)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createKilopascal(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">decimfmt.h</td><td class="proto">void icu::DecimalFormat::setSignAlwaysShown(UBool)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createMegapascal(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">dtitvfmt.h</td><td class="proto">Appendable&amp; icu::FormattedDateInterval::appendTo(Appendable&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createMegapixel(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">dtitvfmt.h</td><td class="proto">FormattedDateInterval icu::DateIntervalFormat::formatToValue(Calendar&amp;, Calendar&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createMole(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">dtitvfmt.h</td><td class="proto">FormattedDateInterval icu::DateIntervalFormat::formatToValue(const DateInterval&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createMonthPerson(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">dtitvfmt.h</td><td class="proto">FormattedDateInterval&amp; icu::FormattedDateInterval::operator=(FormattedDateInterval&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createNewton(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">dtitvfmt.h</td><td class="proto">UBool icu::FormattedDateInterval::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createNewtonMeter(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">dtitvfmt.h</td><td class="proto">UnicodeString icu::FormattedDateInterval::toString(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createPascal(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">dtitvfmt.h</td><td class="proto">UnicodeString icu::FormattedDateInterval::toTempString(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createPermyriad(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">dtitvfmt.h</td><td class="proto">icu::FormattedDateInterval::FormattedDateInterval()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createPixel(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">dtitvfmt.h</td><td class="proto">icu::FormattedDateInterval::FormattedDateInterval(FormattedDateInterval&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createPixelPerCentimeter(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">dtitvfmt.h</td><td class="proto">icu::FormattedDateInterval::~FormattedDateInterval()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createPixelPerInch(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">formattedvalue.h</td><td class="proto">Appendable&amp; icu::FormattedValue::appendTo(Appendable&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createPoundFoot(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">formattedvalue.h</td><td class="proto">UBool icu::ConstrainedFieldPosition::matchesField(int32_t, int32_t) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createPoundForce(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">formattedvalue.h</td><td class="proto">UBool icu::FormattedValue::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createSolarLuminosity(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">formattedvalue.h</td><td class="proto">UnicodeString icu::FormattedValue::toString(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createSolarMass(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">formattedvalue.h</td><td class="proto">UnicodeString icu::FormattedValue::toTempString(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createSolarRadius(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">formattedvalue.h</td><td class="proto">icu::ConstrainedFieldPosition::ConstrainedFieldPosition()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createThermUs(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">formattedvalue.h</td><td class="proto">icu::ConstrainedFieldPosition::~ConstrainedFieldPosition()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createWeekPerson(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">formattedvalue.h</td><td class="proto">icu::FormattedValue::~FormattedValue()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createYearPerson(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">formattedvalue.h</td><td class="proto">int32_t icu::ConstrainedFieldPosition::getCategory() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">nounit.h</td><td class="proto">UClassID icu::NoUnit::getDynamicClassID() const</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
+<td class="file">formattedvalue.h</td><td class="proto">int32_t icu::ConstrainedFieldPosition::getField() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">nounit.h</td><td class="proto">icu::NoUnit::NoUnit(const NoUnit&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
+<td class="file">formattedvalue.h</td><td class="proto">int32_t icu::ConstrainedFieldPosition::getLimit() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">nounit.h</td><td class="proto">icu::NoUnit::~NoUnit()</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
+<td class="file">formattedvalue.h</td><td class="proto">int32_t icu::ConstrainedFieldPosition::getStart() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">nounit.h</td><td class="proto"><tt>static</tt> NoUnit icu::NoUnit::base()</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
+<td class="file">formattedvalue.h</td><td class="proto">int64_t icu::ConstrainedFieldPosition::getInt64IterationContext() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">nounit.h</td><td class="proto"><tt>static</tt> NoUnit icu::NoUnit::percent()</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
+<td class="file">formattedvalue.h</td><td class="proto">void icu::ConstrainedFieldPosition::constrainCategory(int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">nounit.h</td><td class="proto"><tt>static</tt> NoUnit icu::NoUnit::permille()</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
+<td class="file">formattedvalue.h</td><td class="proto">void icu::ConstrainedFieldPosition::constrainField(int32_t, int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">nounit.h</td><td class="proto"><tt>static</tt> UClassID icu::NoUnit::getStaticClassID()</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
+<td class="file">formattedvalue.h</td><td class="proto">void icu::ConstrainedFieldPosition::reset()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">nounit.h</td><td class="proto">void* icu::NoUnit::clone() const</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
+<td class="file">formattedvalue.h</td><td class="proto">void icu::ConstrainedFieldPosition::setInt64IterationContext(int64_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">LocalPointer&lt;Derived&gt; icu::number::NumberFormatterSettings&lt; Derived &gt;::clone() &amp;&amp;</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">formattedvalue.h</td><td class="proto">void icu::ConstrainedFieldPosition::setState(int32_t, int32_t, int32_t, int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">LocalPointer&lt;Derived&gt; icu::number::NumberFormatterSettings&lt; Derived &gt;::clone() const &amp;</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">listformatter.h</td><td class="proto">Appendable&amp; icu::FormattedList::appendTo(Appendable&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">StringClass icu::number::FormattedNumber::toDecimalNumber(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">listformatter.h</td><td class="proto">FormattedList icu::ListFormatter::formatStringsToValue(const UnicodeString items[], int32_t, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">UBool icu::number::FormattedNumber::nextFieldPosition(FieldPosition&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 62</td>
+<td class="file">listformatter.h</td><td class="proto">FormattedList&amp; icu::FormattedList::operator=(FormattedList&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">UBool icu::number::FormattedNumber::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">listformatter.h</td><td class="proto">UBool icu::FormattedList::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">UnicodeString icu::number::FormattedNumber::toTempString(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">listformatter.h</td><td class="proto">UnicodeString icu::FormattedList::toString(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">icu::number::FormattedNumber::FormattedNumber()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">listformatter.h</td><td class="proto">UnicodeString icu::FormattedList::toTempString(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> UnlocalizedNumberFormatter icu::number::NumberFormatter::forSkeleton(const UnicodeString&amp;, UParseError&amp;, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">listformatter.h</td><td class="proto">icu::FormattedList::FormattedList()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">void icu::number::FormattedNumber::getAllFieldPositions(FieldPositionIterator&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 62</td>
+<td class="file">listformatter.h</td><td class="proto">icu::FormattedList::FormattedList(FormattedList&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">numberrangeformatter.h</td><td class="proto">LocalPointer&lt;Derived&gt; icu::number::NumberRangeFormatterSettings&lt; Derived &gt;::clone() &amp;&amp;</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">listformatter.h</td><td class="proto">icu::FormattedList::~FormattedList()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">numberrangeformatter.h</td><td class="proto">LocalPointer&lt;Derived&gt; icu::number::NumberRangeFormatterSettings&lt; Derived &gt;::clone() const &amp;</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localebuilder.h</td><td class="proto">Locale icu::LocaleBuilder::build(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">numberrangeformatter.h</td><td class="proto">UBool icu::number::FormattedNumberRange::nextFieldPosition(FieldPosition&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 63</td>
+<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::addUnicodeLocaleAttribute(StringPiece)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">numberrangeformatter.h</td><td class="proto">UBool icu::number::FormattedNumberRange::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::clear()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">numberrangeformatter.h</td><td class="proto">UnicodeString icu::number::FormattedNumberRange::getFirstDecimal(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 63</td>
+<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::clearExtensions()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">numberrangeformatter.h</td><td class="proto">UnicodeString icu::number::FormattedNumberRange::getSecondDecimal(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 63</td>
+<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::removeUnicodeLocaleAttribute(StringPiece)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">numberrangeformatter.h</td><td class="proto">UnicodeString icu::number::FormattedNumberRange::toTempString(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::setExtension(char, StringPiece)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">numberrangeformatter.h</td><td class="proto">void icu::number::FormattedNumberRange::getAllFieldPositions(FieldPositionIterator&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 63</td>
+<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::setLanguage(StringPiece)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt>                                                          icu::NumberFormat::EAlignmentFields::kCompactField</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::setLanguageTag(StringPiece)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt>                                                          icu::NumberFormat::EAlignmentFields::kMeasureUnitField</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::setLocale(const Locale&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">plurrule.h</td><td class="proto">UnicodeString icu::PluralRules::select(const number::FormattedNumber&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::setRegion(StringPiece)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">reldatefmt.h</td><td class="proto">Appendable&amp; icu::FormattedRelativeDateTime::appendTo(Appendable&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::setScript(StringPiece)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">reldatefmt.h</td><td class="proto">FormattedRelativeDateTime icu::RelativeDateTimeFormatter::formatNumericToValue(double, URelativeDateTimeUnit, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::setUnicodeLocaleKeyword(StringPiece, StringPiece)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">reldatefmt.h</td><td class="proto">FormattedRelativeDateTime icu::RelativeDateTimeFormatter::formatToValue(UDateDirection, UDateAbsoluteUnit, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localebuilder.h</td><td class="proto">LocaleBuilder&amp; icu::LocaleBuilder::setVariant(StringPiece)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">reldatefmt.h</td><td class="proto">FormattedRelativeDateTime icu::RelativeDateTimeFormatter::formatToValue(double, UDateDirection, UDateRelativeUnit, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localebuilder.h</td><td class="proto">icu::LocaleBuilder::LocaleBuilder()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">reldatefmt.h</td><td class="proto">FormattedRelativeDateTime icu::RelativeDateTimeFormatter::formatToValue(double, URelativeDateTimeUnit, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localebuilder.h</td><td class="proto">icu::LocaleBuilder::~LocaleBuilder()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">reldatefmt.h</td><td class="proto">FormattedRelativeDateTime&amp; icu::FormattedRelativeDateTime::operator=(FormattedRelativeDateTime&amp;&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localpointer.h</td><td class="proto">LocalArray&lt;T&gt;&amp; icu::LocalArray&lt; T &gt;::operator=(std::unique_ptr&lt; T[]&gt;&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">reldatefmt.h</td><td class="proto">UBool icu::FormattedRelativeDateTime::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localpointer.h</td><td class="proto">LocalPointer&lt;T&gt;&amp; icu::LocalPointer&lt; T &gt;::operator=(std::unique_ptr&lt; T &gt;&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">reldatefmt.h</td><td class="proto">UnicodeString icu::FormattedRelativeDateTime::toString(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localpointer.h</td><td class="proto">icu::LocalArray&lt; T &gt;::LocalArray(std::unique_ptr&lt; T[]&gt;&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">reldatefmt.h</td><td class="proto">UnicodeString icu::FormattedRelativeDateTime::toTempString(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">localpointer.h</td><td class="proto">icu::LocalArray&lt; T &gt;::operator std::unique_ptr&lt; T[]&gt;() &amp;&amp;</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">reldatefmt.h</td><td class="proto"><tt>enum</tt> UDateAbsoluteUnit::UDAT_ABSOLUTE_HOUR</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">localpointer.h</td><td class="proto">icu::LocalPointer&lt; T &gt;::LocalPointer(std::unique_ptr&lt; T &gt;&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">reldatefmt.h</td><td class="proto"><tt>enum</tt> UDateAbsoluteUnit::UDAT_ABSOLUTE_MINUTE</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">localpointer.h</td><td class="proto">icu::LocalPointer&lt; T &gt;::operator std::unique_ptr&lt; T &gt;() &amp;&amp;</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">reldatefmt.h</td><td class="proto">icu::FormattedRelativeDateTime::FormattedRelativeDateTime()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getAcre()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">reldatefmt.h</td><td class="proto">icu::FormattedRelativeDateTime::FormattedRelativeDateTime(FormattedRelativeDateTime&amp;&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getAcreFoot()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">reldatefmt.h</td><td class="proto">icu::FormattedRelativeDateTime::~FormattedRelativeDateTime()</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getAmpere()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">stringpiece.h</td><td class="proto">icu::StringPiece::StringPiece(T)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getArcMinute()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">ucal.h</td><td class="proto">int32_t ucal_getHostTimeZone(UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getArcSecond()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">ucharstrie.h</td><td class="proto">UCharsTrie&amp; icu::UCharsTrie::resetToState64(uint64_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getAstronomicalUnit()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">ucharstrie.h</td><td class="proto">uint64_t icu::UCharsTrie::getState64() const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getAtmosphere()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">udateintervalformat.h</td><td class="proto">UFormattedDateInterval* udtitvfmt_openResult(UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getBarrel()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">udateintervalformat.h</td><td class="proto">const UFormattedValue* udtitvfmt_resultAsValue(const UFormattedDateInterval*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getBit()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">udateintervalformat.h</td><td class="proto">void udtitvfmt_closeResult(UFormattedDateInterval*)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getBritishThermalUnit()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">udateintervalformat.h</td><td class="proto">void udtitvfmt_formatToResult(const UDateIntervalFormat*, UFormattedDateInterval*, UDate, UDate, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getBushel()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">uformattedvalue.h</td><td class="proto">UBool ucfpos_matchesField(const UConstrainedFieldPosition*, int32_t, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getByte()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">uformattedvalue.h</td><td class="proto">UBool ufmtval_nextPosition(const UFormattedValue*, UConstrainedFieldPosition*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCalorie()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">uformattedvalue.h</td><td class="proto">UConstrainedFieldPosition* ucfpos_open(UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCarat()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">uformattedvalue.h</td><td class="proto">const UChar* ufmtval_getString(const UFormattedValue*, int32_t*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCelsius()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">uformattedvalue.h</td><td class="proto"><tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_DATE_INTERVAL_SPAN</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCentiliter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">uformattedvalue.h</td><td class="proto"><tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_DATE</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCentimeter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">uformattedvalue.h</td><td class="proto"><tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_LIST_SPAN</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCentury()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">uformattedvalue.h</td><td class="proto"><tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_LIST</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicCentimeter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">uformattedvalue.h</td><td class="proto"><tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_NUMBER</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicFoot()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">uformattedvalue.h</td><td class="proto"><tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_RELATIVE_DATETIME</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicInch()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">uformattedvalue.h</td><td class="proto"><tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_UNDEFINED</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicKilometer()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">uformattedvalue.h</td><td class="proto">int32_t ucfpos_getCategory(const UConstrainedFieldPosition*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicMeter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">uformattedvalue.h</td><td class="proto">int32_t ucfpos_getField(const UConstrainedFieldPosition*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicMile()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">uformattedvalue.h</td><td class="proto">int64_t ucfpos_getInt64IterationContext(const UConstrainedFieldPosition*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicYard()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">uformattedvalue.h</td><td class="proto">void ucfpos_close(UConstrainedFieldPosition*)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCup()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">uformattedvalue.h</td><td class="proto">void ucfpos_constrainCategory(UConstrainedFieldPosition*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCupMetric()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">uformattedvalue.h</td><td class="proto">void ucfpos_constrainField(UConstrainedFieldPosition*, int32_t, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDalton()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">uformattedvalue.h</td><td class="proto">void ucfpos_getIndexes(const UConstrainedFieldPosition*, int32_t*, int32_t*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDay()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">uformattedvalue.h</td><td class="proto">void ucfpos_reset(UConstrainedFieldPosition*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDayPerson()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">uformattedvalue.h</td><td class="proto">void ucfpos_setInt64IterationContext(UConstrainedFieldPosition*, int64_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDeciliter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">uformattedvalue.h</td><td class="proto">void ucfpos_setState(UConstrainedFieldPosition*, int32_t, int32_t, int32_t, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDecimeter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">ulistformatter.h</td><td class="proto">UFormattedList* ulistfmt_openResult(UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDegree()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">ulistformatter.h</td><td class="proto">const UFormattedValue* ulistfmt_resultAsValue(const UFormattedList*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDunam()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">ulistformatter.h</td><td class="proto"><tt>enum</tt> UListFormatterField::ULISTFMT_ELEMENT_FIELD</td><td class="" colspan="2" align="center">Draft<br>ICU 63</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getEarthMass()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">ulistformatter.h</td><td class="proto"><tt>enum</tt> UListFormatterField::ULISTFMT_LITERAL_FIELD</td><td class="" colspan="2" align="center">Draft<br>ICU 63</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getElectronvolt()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">ulistformatter.h</td><td class="proto">void ulistfmt_closeResult(UFormattedList*)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getFahrenheit()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">ulistformatter.h</td><td class="proto">void ulistfmt_formatStringsToResult(const UListFormatter*, const UChar* const strings[], const int32_t*, int32_t, UFormattedList*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getFathom()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">uloc.h</td><td class="proto">UEnumeration* uloc_openAvailableByType(ULocAvailableType, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getFluidOunce()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">uloc.h</td><td class="proto"><tt>enum</tt> ULocAvailableType::ULOC_AVAILABLE_DEFAULT</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getFluidOunceImperial()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">uloc.h</td><td class="proto"><tt>enum</tt> ULocAvailableType::ULOC_AVAILABLE_ONLY_LEGACY_ALIASES</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getFoodcalorie()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">uloc.h</td><td class="proto"><tt>enum</tt> ULocAvailableType::ULOC_AVAILABLE_WITH_LEGACY_ALIASES</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getFoot()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatAttribute::UNUM_MINIMUM_GROUPING_DIGITS</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getFurlong()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatAttribute::UNUM_PARSE_CASE_SENSITIVE</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getGForce()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatAttribute::UNUM_SIGN_ALWAYS_SHOWN</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getGallon()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatFields::UNUM_COMPACT_FIELD</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getGallonImperial()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatFields::UNUM_MEASURE_UNIT_FIELD</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getGenericTemperature()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">unumberformatter.h</td><td class="proto">UNumberFormatter* unumf_openForSkeletonAndLocaleWithError(const UChar*, int32_t, const char*, UParseError*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getGigabit()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">unumberformatter.h</td><td class="proto">const UFormattedValue* unumf_resultAsValue(const UFormattedNumber*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getGigabyte()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">upluralrules.h</td><td class="proto">int32_t uplrules_selectFormatted(const UPluralRules*, const struct UFormattedNumber*, UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getGigahertz()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">uregex.h</td><td class="proto"><tt>enum</tt> URegexpFlag::UREGEX_CANON_EQ</td><td class="" colspan="2" align="center">Draft<br>ICU 2.4</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getGigawatt()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">ureldatefmt.h</td><td class="proto">UFormattedRelativeDateTime* ureldatefmt_openResult(UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getGram()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">ureldatefmt.h</td><td class="proto">const UFormattedValue* ureldatefmt_resultAsValue(const UFormattedRelativeDateTime*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getHectare()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">ureldatefmt.h</td><td class="proto"><tt>enum</tt> URelativeDateTimeFormatterField::UDAT_REL_LITERAL_FIELD</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getHectoliter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">ureldatefmt.h</td><td class="proto"><tt>enum</tt> URelativeDateTimeFormatterField::UDAT_REL_NUMERIC_FIELD</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getHectopascal()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">ureldatefmt.h</td><td class="proto">void ureldatefmt_closeResult(UFormattedRelativeDateTime*)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getHertz()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">ureldatefmt.h</td><td class="proto">void ureldatefmt_formatNumericToResult(const URelativeDateTimeFormatter*, double, URelativeDateTimeUnit, UFormattedRelativeDateTime*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getHorsepower()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">ureldatefmt.h</td><td class="proto">void ureldatefmt_formatToResult(const URelativeDateTimeFormatter*, double, URelativeDateTimeUnit, UFormattedRelativeDateTime*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 64</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getHour()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UDATA_BUNDLE</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getInch()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UDATA_DATA_FILE</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getInchHg()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
-<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UDATA_RESOURCE</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getJoule()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row0">
-<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UDATA_RES_FILE</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKarat()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKelvin()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilobit()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilobyte()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilocalorie()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilogram()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilohertz()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilojoule()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilometer()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilometerPerHour()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilopascal()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilowatt()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKilowattHour()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getKnot()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getLightYear()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getLiter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getLiterPer100Kilometers()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getLiterPerKilometer()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getLux()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMegabit()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMegabyte()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMegahertz()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMegaliter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMegapascal()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMegawatt()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMeter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMeterPerSecond()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMeterPerSecondSquared()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMetricTon()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMicrogram()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMicrometer()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMicrosecond()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMile()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMilePerGallon()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMilePerGallonImperial()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMilePerHour()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMileScandinavian()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMilliampere()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMillibar()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMilligram()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMilligramPerDeciliter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMilliliter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMillimeter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMillimeterOfMercury()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMillimolePerLiter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMillisecond()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMilliwatt()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMinute()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMole()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMonth()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMonthPerson()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getNanometer()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getNanosecond()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
 </tr>
 <tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getNauticalMile()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getNewton()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getNewtonMeter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getOhm()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getOunce()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getOunceTroy()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getParsec()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPartPerMillion()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPercent()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPermille()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPermyriad()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPetabyte()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPicometer()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPint()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPintMetric()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPoint()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPound()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPoundFoot()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPoundForce()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPoundPerSquareInch()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getQuart()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getRadian()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getRevolutionAngle()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSecond()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSolarLuminosity()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSolarMass()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSolarRadius()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareCentimeter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareFoot()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareInch()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareKilometer()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareMeter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareMile()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareYard()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getStone()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getTablespoon()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getTeaspoon()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getTerabit()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getTerabyte()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getTon()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getVolt()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getWatt()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getWeek()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getWeekPerson()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getYard()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getYear()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getYearPerson()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createBarrel(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createBritishThermalUnit(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDalton(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDayPerson(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDunam(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createEarthMass(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createElectronvolt(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createFluidOunceImperial(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createKilopascal(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createMegapascal(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createMole(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createMonthPerson(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createNewton(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createNewtonMeter(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createPermyriad(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createPoundFoot(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createPoundForce(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createSolarLuminosity(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createSolarMass(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createSolarRadius(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createWeekPerson(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createYearPerson(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">numberformatter.h</td><td class="proto">LocalPointer&lt;Derived&gt; icu::number::NumberFormatterSettings&lt; Derived &gt;::clone() &amp;&amp;</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">numberformatter.h</td><td class="proto">LocalPointer&lt;Derived&gt; icu::number::NumberFormatterSettings&lt; Derived &gt;::clone() const &amp;</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">numberformatter.h</td><td class="proto">UBool icu::number::FormattedNumber::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">numberformatter.h</td><td class="proto">UnicodeString icu::number::FormattedNumber::toTempString(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">numberformatter.h</td><td class="proto">icu::number::FormattedNumber::FormattedNumber()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">numberformatter.h</td><td class="proto"><tt>static</tt> UnlocalizedNumberFormatter icu::number::NumberFormatter::forSkeleton(const UnicodeString&amp;, UParseError&amp;, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">numberrangeformatter.h</td><td class="proto">LocalPointer&lt;Derived&gt; icu::number::NumberRangeFormatterSettings&lt; Derived &gt;::clone() &amp;&amp;</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">numberrangeformatter.h</td><td class="proto">LocalPointer&lt;Derived&gt; icu::number::NumberRangeFormatterSettings&lt; Derived &gt;::clone() const &amp;</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">numberrangeformatter.h</td><td class="proto">UBool icu::number::FormattedNumberRange::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">numberrangeformatter.h</td><td class="proto">UnicodeString icu::number::FormattedNumberRange::toTempString(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt>                                                          icu::NumberFormat::EAlignmentFields::kCompactField</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">numfmt.h</td><td class="proto"><tt>enum</tt>                                                          icu::NumberFormat::EAlignmentFields::kMeasureUnitField</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">numsys.h</td><td class="proto">NumberingSystem&amp; icu::NumberingSystem::operator=(const NumberingSystem&amp;)=default</td><td class="">(missing)</td><td>Stable<br>
+<span class=""><span>ICU 4.2</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">plurrule.h</td><td class="proto">UnicodeString icu::PluralRules::select(const number::FormattedNumber&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">reldatefmt.h</td><td class="proto">Appendable&amp; icu::FormattedRelativeDateTime::appendTo(Appendable&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">reldatefmt.h</td><td class="proto">FormattedRelativeDateTime icu::RelativeDateTimeFormatter::formatNumericToValue(double, URelativeDateTimeUnit, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">reldatefmt.h</td><td class="proto">FormattedRelativeDateTime icu::RelativeDateTimeFormatter::formatToValue(UDateDirection, UDateAbsoluteUnit, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">reldatefmt.h</td><td class="proto">FormattedRelativeDateTime icu::RelativeDateTimeFormatter::formatToValue(double, UDateDirection, UDateRelativeUnit, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">reldatefmt.h</td><td class="proto">FormattedRelativeDateTime icu::RelativeDateTimeFormatter::formatToValue(double, URelativeDateTimeUnit, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">reldatefmt.h</td><td class="proto">FormattedRelativeDateTime&amp; icu::FormattedRelativeDateTime::operator=(FormattedRelativeDateTime&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">reldatefmt.h</td><td class="proto">UBool icu::FormattedRelativeDateTime::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">reldatefmt.h</td><td class="proto">UnicodeString icu::FormattedRelativeDateTime::toString(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">reldatefmt.h</td><td class="proto">UnicodeString icu::FormattedRelativeDateTime::toTempString(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">reldatefmt.h</td><td class="proto">icu::FormattedRelativeDateTime::FormattedRelativeDateTime()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">reldatefmt.h</td><td class="proto">icu::FormattedRelativeDateTime::FormattedRelativeDateTime(FormattedRelativeDateTime&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">reldatefmt.h</td><td class="proto">icu::FormattedRelativeDateTime::~FormattedRelativeDateTime()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">udateintervalformat.h</td><td class="proto">UFormattedDateInterval* udtitvfmt_openResult(UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">udateintervalformat.h</td><td class="proto">const UFormattedValue* udtitvfmt_resultAsValue(const UFormattedDateInterval*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">udateintervalformat.h</td><td class="proto">void udtitvfmt_closeResult(UFormattedDateInterval*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">uformattedvalue.h</td><td class="proto">UBool ucfpos_matchesField(const UConstrainedFieldPosition*, int32_t, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">uformattedvalue.h</td><td class="proto">UBool ufmtval_nextPosition(const UFormattedValue*, UConstrainedFieldPosition*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">uformattedvalue.h</td><td class="proto">UConstrainedFieldPosition* ucfpos_open(UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">uformattedvalue.h</td><td class="proto">const UChar* ufmtval_getString(const UFormattedValue*, int32_t*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">uformattedvalue.h</td><td class="proto"><tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_DATE_INTERVAL_SPAN</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">uformattedvalue.h</td><td class="proto"><tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_DATE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">uformattedvalue.h</td><td class="proto"><tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_LIST_SPAN</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">uformattedvalue.h</td><td class="proto"><tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_LIST</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">uformattedvalue.h</td><td class="proto"><tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_NUMBER</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">uformattedvalue.h</td><td class="proto"><tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_RELATIVE_DATETIME</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">uformattedvalue.h</td><td class="proto"><tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_UNDEFINED</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">uformattedvalue.h</td><td class="proto">int32_t ucfpos_getCategory(const UConstrainedFieldPosition*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">uformattedvalue.h</td><td class="proto">int32_t ucfpos_getField(const UConstrainedFieldPosition*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">uformattedvalue.h</td><td class="proto">int64_t ucfpos_getInt64IterationContext(const UConstrainedFieldPosition*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">uformattedvalue.h</td><td class="proto">void ucfpos_close(UConstrainedFieldPosition*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">uformattedvalue.h</td><td class="proto">void ucfpos_constrainCategory(UConstrainedFieldPosition*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">uformattedvalue.h</td><td class="proto">void ucfpos_constrainField(UConstrainedFieldPosition*, int32_t, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">uformattedvalue.h</td><td class="proto">void ucfpos_getIndexes(const UConstrainedFieldPosition*, int32_t*, int32_t*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">uformattedvalue.h</td><td class="proto">void ucfpos_reset(UConstrainedFieldPosition*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">uformattedvalue.h</td><td class="proto">void ucfpos_setInt64IterationContext(UConstrainedFieldPosition*, int64_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">uformattedvalue.h</td><td class="proto">void ucfpos_setState(UConstrainedFieldPosition*, int32_t, int32_t, int32_t, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">ulistformatter.h</td><td class="proto">UFormattedList* ulistfmt_openResult(UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">ulistformatter.h</td><td class="proto">const UFormattedValue* ulistfmt_resultAsValue(const UFormattedList*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">ulistformatter.h</td><td class="proto"><tt>enum</tt> UListFormatterField::ULISTFMT_ELEMENT_FIELD</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 63</td>
+</tr>
+<tr class="row1">
+<td class="file">ulistformatter.h</td><td class="proto"><tt>enum</tt> UListFormatterField::ULISTFMT_LITERAL_FIELD</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 63</td>
+</tr>
+<tr class="row0">
+<td class="file">ulistformatter.h</td><td class="proto">void ulistfmt_closeResult(UFormattedList*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">ulistformatter.h</td><td class="proto">void ulistfmt_formatStringsToResult(const UListFormatter*, const UChar* const strings[], const int32_t*, int32_t, UFormattedList*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatAttribute::UNUM_MINIMUM_GROUPING_DIGITS</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatAttribute::UNUM_PARSE_CASE_SENSITIVE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatAttribute::UNUM_SIGN_ALWAYS_SHOWN</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatFields::UNUM_COMPACT_FIELD</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatFields::UNUM_MEASURE_UNIT_FIELD</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">unumberformatter.h</td><td class="proto">UNumberFormatter* unumf_openForSkeletonAndLocaleWithError(const UChar*, int32_t, const char*, UParseError*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">unumberformatter.h</td><td class="proto">const UFormattedValue* unumf_resultAsValue(const UFormattedNumber*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">upluralrules.h</td><td class="proto">int32_t uplrules_selectFormatted(const UPluralRules*, const struct UFormattedNumber*, UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">ureldatefmt.h</td><td class="proto">UFormattedRelativeDateTime* ureldatefmt_openResult(UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">ureldatefmt.h</td><td class="proto">const UFormattedValue* ureldatefmt_resultAsValue(const UFormattedRelativeDateTime*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">ureldatefmt.h</td><td class="proto"><tt>enum</tt> URelativeDateTimeFormatterField::UDAT_REL_LITERAL_FIELD</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">ureldatefmt.h</td><td class="proto"><tt>enum</tt> URelativeDateTimeFormatterField::UDAT_REL_NUMERIC_FIELD</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">ureldatefmt.h</td><td class="proto">void ureldatefmt_closeResult(UFormattedRelativeDateTime*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row1">
+<td class="file">ureldatefmt.h</td><td class="proto">void ureldatefmt_formatNumericToResult(const URelativeDateTimeFormatter*, double, URelativeDateTimeUnit, UFormattedRelativeDateTime*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+<tr class="row0">
+<td class="file">ureldatefmt.h</td><td class="proto">void ureldatefmt_formatToResult(const URelativeDateTimeFormatter*, double, URelativeDateTimeUnit, UFormattedRelativeDateTime*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 64</td>
+</tr>
+</table>
+<P></P>
+<a href="#_top">(jump back to top)</a>
+<hr>
+<a name="added"></a>
+<h2>Added in ICU 67</h2>
+<table BORDER="1" class="genTable">
+<THEAD>
+<tr>
+<th>File</th><th>API</th><th>ICU 66</th><th>ICU 67</th>
+</tr>
+</THEAD>
+<tr class="row1">
+<td class="file">bytestream.h</td><td class="proto">void icu::ByteSink::AppendU8(const char*, int32_t)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">bytestream.h</td><td class="proto">void icu::ByteSink::AppendU8(const char8_t*, int32_t)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">dcfmtsym.h</td><td class="proto">void icu::DecimalFormatSymbols::setCurrency(const UChar*, UErrorCode&amp;)</td><td class="">(missing)</td><td>Internal<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">dtptngen.h</td><td class="proto">UDateFormatHourCycle icu::DateTimePatternGenerator::getDefaultHourCycle(UErrorCode&amp;) const</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">listformatter.h</td><td class="proto"><tt>static</tt> ListFormatter* icu::ListFormatter::createInstance(const Locale&amp;, UListFormatterType, UListFormatterWidth, UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setDirection(ULocMatchDirection)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">localematcher.h</td><td class="proto"><tt>enum</tt> ULocMatchDirection::ULOCMATCH_DIRECTION_ONLY_TWO_WAY</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">localematcher.h</td><td class="proto"><tt>enum</tt> ULocMatchDirection::ULOCMATCH_DIRECTION_WITH_ONE_WAY</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">locid.h</td><td class="proto">void icu::Locale::canonicalize(UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto">LocalArray&lt;MeasureUnit&gt; icu::MeasureUnit::splitToSingleUnits(int32_t&amp;, UErrorCode&amp;) const</td><td class="">(missing)</td><td>Internal<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto">MeasureUnit icu::MeasureUnit::product(const MeasureUnit&amp;, UErrorCode&amp;) const</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto">MeasureUnit icu::MeasureUnit::reciprocal(UErrorCode&amp;) const</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto">MeasureUnit icu::MeasureUnit::withDimensionality(int32_t, UErrorCode&amp;) const</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto">MeasureUnit icu::MeasureUnit::withSIPrefix(UMeasureSIPrefix, UErrorCode&amp;) const</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto">MeasureUnit&amp; icu::MeasureUnit::operator=(MeasureUnit&amp;&amp;) noexcept</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto">UMeasureSIPrefix icu::MeasureUnit::getSIPrefix(UErrorCode&amp;) const</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto">UMeasureUnitComplexity icu::MeasureUnit::getComplexity(UErrorCode&amp;) const</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto">const char* icu::MeasureUnit::getIdentifier() const</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto">icu::MeasureUnit::MeasureUnit(MeasureUnit&amp;&amp;) noexcept</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto">int32_t icu::MeasureUnit::getDimensionality(UErrorCode&amp;) const</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::forIdentifier(StringPiece, UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">numsys.h</td><td class="proto">NumberingSystem&amp; icu::NumberingSystem::operator=(const NumberingSystem&amp;)=default</td><td class="">(missing)</td><td>Stable<br>
+<span class=""><span>ICU 4.2</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">stringpiece.h</td><td class="proto">icu::StringPiece::StringPiece(const char8_t*)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">stringpiece.h</td><td class="proto">icu::StringPiece::StringPiece(const char8_t*, int32_t)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">stringpiece.h</td><td class="proto">icu::StringPiece::StringPiece(const std::u8string&amp;)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">stringpiece.h</td><td class="proto">icu::StringPiece::StringPiece(std::nullptr_t)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">stringpiece.h</td><td class="proto">int32_t icu::StringPiece::compare(StringPiece)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">stringpiece.h</td><td class="proto">int32_t icu::StringPiece::find(StringPiece, int32_t)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">stringpiece.h</td><td class="proto">void icu::StringPiece::set(const char8_t*)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">stringpiece.h</td><td class="proto">void icu::StringPiece::set(const char8_t*, int32_t)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">udat.h</td><td class="proto"><tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_11</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">udat.h</td><td class="proto"><tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_12</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">udat.h</td><td class="proto"><tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_23</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">udat.h</td><td class="proto"><tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_24</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">udateintervalformat.h</td><td class="proto">void udtitvfmt_formatCalendarToResult(const UDateIntervalFormat*, UCalendar*, UCalendar*, UFormattedDateInterval*, UErrorCode*)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">udateintervalformat.h</td><td class="proto">void udtitvfmt_formatToResult(const UDateIntervalFormat*, UDate, UDate, UFormattedDateInterval*, UErrorCode*)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">udatpg.h</td><td class="proto">UDateFormatHourCycle udatpg_getDefaultHourCycle(const UDateTimePatternGenerator*, UErrorCode*)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">ulistformatter.h</td><td class="proto">UListFormatter* ulistfmt_openForType(const char*, UListFormatterType, UListFormatterWidth, UErrorCode*)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">ulistformatter.h</td><td class="proto"><tt>enum</tt> UListFormatterType::ULISTFMT_TYPE_AND</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">ulistformatter.h</td><td class="proto"><tt>enum</tt> UListFormatterType::ULISTFMT_TYPE_OR</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">ulistformatter.h</td><td class="proto"><tt>enum</tt> UListFormatterType::ULISTFMT_TYPE_UNITS</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">ulistformatter.h</td><td class="proto"><tt>enum</tt> UListFormatterWidth::ULISTFMT_WIDTH_NARROW</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">ulistformatter.h</td><td class="proto"><tt>enum</tt> UListFormatterWidth::ULISTFMT_WIDTH_SHORT</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">ulistformatter.h</td><td class="proto"><tt>enum</tt> UListFormatterWidth::ULISTFMT_WIDTH_WIDE</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_BREAK_ENGINE</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_CHARACTER</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_LINE</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_SENTENCE</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_TITLE</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_WORD</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_LIMIT</td><td class="">(missing)</td><td>Internal<br>
+<span class=""><span></span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_START</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 67</span></span></td>
+</tr>
+</table>
+<P></P>
+<a href="#_top">(jump back to top)</a>
+<hr>
+<a name="other"></a>
+<h2>Other existing drafts in ICU 67</h2>
+<div class="other">
+<table BORDER="1" class="genTable">
+<THEAD>
+<tr>
+<th>File</th><th>API</th><th>ICU 66</th><th>ICU 67</th>
+</tr>
+</THEAD>
+<tr class="row1">
+<td class="file">bytestrie.h</td><td class="proto">BytesTrie&amp; icu::BytesTrie::resetToState64(uint64_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">bytestrie.h</td><td class="proto">uint64_t icu::BytesTrie::getState64() const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">localebuilder.h</td><td class="proto">UBool icu::LocaleBuilder::copyErrorTo(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::addSupportedLocale(const Locale&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::operator=(Builder&amp;&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setDefaultLocale(const Locale*)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setDemotionPerDesiredLocale(ULocMatchDemotion)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setFavorSubtag(ULocMatchFavorSubtag)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setSupportedLocales(Iter, Iter)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setSupportedLocales(Locale::Iterator&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setSupportedLocalesFromListString(StringPiece)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setSupportedLocalesViaConverter(Iter, Iter, Conv)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">localematcher.h</td><td class="proto">Locale icu::LocaleMatcher::Result::makeResolvedLocale(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">localematcher.h</td><td class="proto">LocaleMatcher icu::LocaleMatcher::Builder::build(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">localematcher.h</td><td class="proto">LocaleMatcher&amp; icu::LocaleMatcher::operator=(LocaleMatcher&amp;&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">localematcher.h</td><td class="proto">Result icu::LocaleMatcher::getBestMatchResult(Locale::Iterator&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">localematcher.h</td><td class="proto">Result icu::LocaleMatcher::getBestMatchResult(const Locale&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">localematcher.h</td><td class="proto">Result&amp; icu::LocaleMatcher::Result::operator=(Result&amp;&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">localematcher.h</td><td class="proto">UBool icu::LocaleMatcher::Builder::copyErrorTo(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">localematcher.h</td><td class="proto">const Locale* icu::LocaleMatcher::Result::getDesiredLocale() const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">localematcher.h</td><td class="proto">const Locale* icu::LocaleMatcher::Result::getSupportedLocale() const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">localematcher.h</td><td class="proto">const Locale* icu::LocaleMatcher::getBestMatch(Locale::Iterator&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">localematcher.h</td><td class="proto">const Locale* icu::LocaleMatcher::getBestMatch(const Locale&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">localematcher.h</td><td class="proto">const Locale* icu::LocaleMatcher::getBestMatchForListString(StringPiece, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">localematcher.h</td><td class="proto"><tt>enum</tt> ULocMatchDemotion::ULOCMATCH_DEMOTION_NONE</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">localematcher.h</td><td class="proto"><tt>enum</tt> ULocMatchDemotion::ULOCMATCH_DEMOTION_REGION</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">localematcher.h</td><td class="proto"><tt>enum</tt> ULocMatchFavorSubtag::ULOCMATCH_FAVOR_LANGUAGE</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">localematcher.h</td><td class="proto"><tt>enum</tt> ULocMatchFavorSubtag::ULOCMATCH_FAVOR_SCRIPT</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">localematcher.h</td><td class="proto">icu::LocaleMatcher::Builder::Builder()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">localematcher.h</td><td class="proto">icu::LocaleMatcher::Builder::Builder(Builder&amp;&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">localematcher.h</td><td class="proto">icu::LocaleMatcher::Builder::~Builder()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">localematcher.h</td><td class="proto">icu::LocaleMatcher::LocaleMatcher(LocaleMatcher&amp;&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">localematcher.h</td><td class="proto">icu::LocaleMatcher::Result::Result(Result&amp;&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">localematcher.h</td><td class="proto">icu::LocaleMatcher::Result::~Result()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">localematcher.h</td><td class="proto">icu::LocaleMatcher::~LocaleMatcher()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">localematcher.h</td><td class="proto">int32_t icu::LocaleMatcher::Result::getDesiredIndex() const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">localematcher.h</td><td class="proto">int32_t icu::LocaleMatcher::Result::getSupportedIndex() const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">locid.h</td><td class="proto">UBool icu::Locale::ConvertingIterator&lt; Iter, Conv &gt;::hasNext() const override</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">locid.h</td><td class="proto">UBool icu::Locale::Iterator::hasNext() const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">locid.h</td><td class="proto">UBool icu::Locale::RangeIterator&lt; Iter &gt;::hasNext() const override</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">locid.h</td><td class="proto">const Locale&amp; icu::Locale::ConvertingIterator&lt; Iter, Conv &gt;::next() override</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">locid.h</td><td class="proto">const Locale&amp; icu::Locale::Iterator::next()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">locid.h</td><td class="proto">const Locale&amp; icu::Locale::RangeIterator&lt; Iter &gt;::next() override</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">locid.h</td><td class="proto">icu::Locale::ConvertingIterator&lt; Iter, Conv &gt;::ConvertingIterator(Iter, Iter, Conv)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">locid.h</td><td class="proto">icu::Locale::Iterator::~Iterator()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">locid.h</td><td class="proto">icu::Locale::RangeIterator&lt; Iter &gt;::RangeIterator(Iter, Iter)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">measfmt.h</td><td class="proto">void icu::MeasureFormat::parseObject(const UnicodeString&amp;, Formattable&amp;, ParsePosition&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 53</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getBar()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDecade()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDotPerCentimeter()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDotPerInch()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getEm()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMegapixel()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPascal()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPixel()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPixelPerCentimeter()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPixelPerInch()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getThermUs()</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createBar(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDecade(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDotPerCentimeter(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDotPerInch(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createEm(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createMegapixel(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createPascal(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createPixel(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createPixelPerCentimeter(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createPixelPerInch(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createThermUs(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">nounit.h</td><td class="proto">UClassID icu::NoUnit::getDynamicClassID() const</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
+</tr>
+<tr class="row1">
+<td class="file">nounit.h</td><td class="proto">icu::NoUnit::NoUnit(const NoUnit&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
+</tr>
+<tr class="row0">
+<td class="file">nounit.h</td><td class="proto">icu::NoUnit::~NoUnit()</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
+</tr>
+<tr class="row1">
+<td class="file">nounit.h</td><td class="proto"><tt>static</tt> NoUnit icu::NoUnit::base()</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
+</tr>
+<tr class="row0">
+<td class="file">nounit.h</td><td class="proto"><tt>static</tt> NoUnit icu::NoUnit::percent()</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
+</tr>
+<tr class="row1">
+<td class="file">nounit.h</td><td class="proto"><tt>static</tt> NoUnit icu::NoUnit::permille()</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
+</tr>
+<tr class="row0">
+<td class="file">nounit.h</td><td class="proto"><tt>static</tt> UClassID icu::NoUnit::getStaticClassID()</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
+</tr>
+<tr class="row1">
+<td class="file">nounit.h</td><td class="proto">void* icu::NoUnit::clone() const</td><td class="" colspan="2" align="center">Draft<br>ICU 60</td>
+</tr>
+<tr class="row0">
+<td class="file">numberformatter.h</td><td class="proto">StringClass icu::number::FormattedNumber::toDecimalNumber(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">numberrangeformatter.h</td><td class="proto">UnicodeString icu::number::FormattedNumberRange::getFirstDecimal(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 63</td>
+</tr>
+<tr class="row0">
+<td class="file">numberrangeformatter.h</td><td class="proto">UnicodeString icu::number::FormattedNumberRange::getSecondDecimal(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 63</td>
+</tr>
+<tr class="row1">
+<td class="file">reldatefmt.h</td><td class="proto"><tt>enum</tt> UDateAbsoluteUnit::UDAT_ABSOLUTE_HOUR</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">reldatefmt.h</td><td class="proto"><tt>enum</tt> UDateAbsoluteUnit::UDAT_ABSOLUTE_MINUTE</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">stringpiece.h</td><td class="proto">icu::StringPiece::StringPiece(T)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">ucal.h</td><td class="proto">int32_t ucal_getHostTimeZone(UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">ucharstrie.h</td><td class="proto">UCharsTrie&amp; icu::UCharsTrie::resetToState64(uint64_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">ucharstrie.h</td><td class="proto">uint64_t icu::UCharsTrie::getState64() const</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">uloc.h</td><td class="proto">UEnumeration* uloc_openAvailableByType(ULocAvailableType, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">uloc.h</td><td class="proto"><tt>enum</tt> ULocAvailableType::ULOC_AVAILABLE_DEFAULT</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">uloc.h</td><td class="proto"><tt>enum</tt> ULocAvailableType::ULOC_AVAILABLE_ONLY_LEGACY_ALIASES</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">uloc.h</td><td class="proto"><tt>enum</tt> ULocAvailableType::ULOC_AVAILABLE_WITH_LEGACY_ALIASES</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">uregex.h</td><td class="proto"><tt>enum</tt> URegexpFlag::UREGEX_CANON_EQ</td><td class="" colspan="2" align="center">Draft<br>ICU 2.4</td>
+</tr>
+<tr class="row0">
+<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UDATA_BUNDLE</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UDATA_DATA_FILE</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
+<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UDATA_RESOURCE</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row1">
+<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UDATA_RES_FILE</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
+</tr>
+<tr class="row0">
 <td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UDATA_START</td><td class="" colspan="2" align="center">Draft<br>ICU 65</td>
 </tr>
 </table>
 <a href="#_top">(jump back to top)</a>
 <hr>
 <p>
-<i><font size="-1">Contents generated by StableAPI tool on Wed Feb 19 10:40:34 PST 2020<br>
+<i><font size="-1">Contents generated by StableAPI tool on Fri Apr 03 07:26:43 PDT 2020<br>
         Copyright &copy; 2017 and later: Unicode, Inc. and others.<br>
         License &amp; terms of use: http://www.unicode.org/copyright.html
     </font></i>
index 5d9c116..c375408 100644 (file)
  License & terms of use: http://www.unicode.org/copyright.html
 -->
 
-# ICU4C API Comparison: ICU 65 with ICU 66
+# ICU4C API Comparison: ICU 66 with ICU 67
 
 > _Note_ Markdown format of this document is new for ICU 65.
 
-- [Removed from ICU 65](#removed)
-- [Deprecated or Obsoleted in ICU 66](#deprecated)
-- [Changed in  ICU 66](#changed)
-- [Promoted to stable in ICU 66](#promoted)
-- [Added in ICU 66](#added)
-- [Other existing drafts in ICU 66](#other)
+- [Removed from ICU 66](#removed)
+- [Deprecated or Obsoleted in ICU 67](#deprecated)
+- [Changed in  ICU 67](#changed)
+- [Promoted to stable in ICU 67](#promoted)
+- [Added in ICU 67](#added)
+- [Other existing drafts in ICU 67](#other)
 - [Signature Simplifications](#simplifications)
 
 ## Removed
 
-Removed from ICU 65
+Removed from ICU 66
   
-| File | API | ICU 65 | ICU 66 |
+| File | API | ICU 66 | ICU 67 |
 |---|---|---|---|
+| listformatter.h | UnicodeString&amp; icu::ListFormatter::format(const UnicodeString items[], int32_t, UnicodeString&amp;, FieldPositionIterator*, UErrorCode&amp;) const |  DraftICU 63 | (missing)
+| numberformatter.h | UBool icu::number::FormattedNumber::nextFieldPosition(FieldPosition&amp;, UErrorCode&amp;) const |  DraftICU 62 | (missing)
+| numberformatter.h | void icu::number::FormattedNumber::getAllFieldPositions(FieldPositionIterator&amp;, UErrorCode&amp;) const |  DraftICU 62 | (missing)
+| numberrangeformatter.h | UBool icu::number::FormattedNumberRange::nextFieldPosition(FieldPosition&amp;, UErrorCode&amp;) const |  DraftICU 63 | (missing)
+| numberrangeformatter.h | void icu::number::FormattedNumberRange::getAllFieldPositions(FieldPositionIterator&amp;, UErrorCode&amp;) const |  DraftICU 63 | (missing)
+| udateintervalformat.h | void udtitvfmt_formatToResult(const UDateIntervalFormat*, UFormattedDateInterval*, UDate, UDate, UErrorCode*) |  DraftICU 64 | (missing)
 
 ## Deprecated
 
-Deprecated or Obsoleted in ICU 66
+Deprecated or Obsoleted in ICU 67
   
-| File | API | ICU 65 | ICU 66 |
+| File | API | ICU 66 | ICU 67 |
 |---|---|---|---|
 
 ## Changed
 
-Changed in  ICU 66 (old, new)
+Changed in  ICU 67 (old, new)
 
 
   
-| File | API | ICU 65 | ICU 66 |
+| File | API | ICU 66 | ICU 67 |
 |---|---|---|---|
+| currunit.h | icu::CurrencyUnit::CurrencyUnit(StringPiece, UErrorCode&amp;) |  Draft→StableICU 64
+| decimfmt.h | UBool icu::DecimalFormat::isFormatFailIfMoreThanMaxDigits() const |  Draft→StableICU 64
+| decimfmt.h | UBool icu::DecimalFormat::isParseCaseSensitive() const |  Draft→StableICU 64
+| decimfmt.h | UBool icu::DecimalFormat::isParseNoExponent() const |  Draft→StableICU 64
+| decimfmt.h | UBool icu::DecimalFormat::isSignAlwaysShown() const |  Draft→StableICU 64
+| decimfmt.h | const number::LocalizedNumberFormatter* icu::DecimalFormat::toNumberFormatter(UErrorCode&amp;) const |  Draft→StableICU 64
+| decimfmt.h | int32_t icu::DecimalFormat::getMinimumGroupingDigits() const |  Draft→StableICU 64
+| decimfmt.h | void icu::DecimalFormat::setFormatFailIfMoreThanMaxDigits(UBool) |  Draft→StableICU 64
+| decimfmt.h | void icu::DecimalFormat::setMinimumGroupingDigits(int32_t) |  Draft→StableICU 64
+| decimfmt.h | void icu::DecimalFormat::setParseCaseSensitive(UBool) |  Draft→StableICU 64
+| decimfmt.h | void icu::DecimalFormat::setParseNoExponent(UBool) |  Draft→StableICU 64
+| decimfmt.h | void icu::DecimalFormat::setSignAlwaysShown(UBool) |  Draft→StableICU 64
+| dtitvfmt.h | Appendable&amp; icu::FormattedDateInterval::appendTo(Appendable&amp;, UErrorCode&amp;) const |  Draft→StableICU 64
+| dtitvfmt.h | FormattedDateInterval icu::DateIntervalFormat::formatToValue(Calendar&amp;, Calendar&amp;, UErrorCode&amp;) const |  Draft→StableICU 64
+| dtitvfmt.h | FormattedDateInterval icu::DateIntervalFormat::formatToValue(const DateInterval&amp;, UErrorCode&amp;) const |  Draft→StableICU 64
+| dtitvfmt.h | FormattedDateInterval&amp; icu::FormattedDateInterval::operator=(FormattedDateInterval&amp;&amp;) |  Draft→StableICU 64
+| dtitvfmt.h | UBool icu::FormattedDateInterval::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const |  Draft→StableICU 64
+| dtitvfmt.h | UnicodeString icu::FormattedDateInterval::toString(UErrorCode&amp;) const |  Draft→StableICU 64
+| dtitvfmt.h | UnicodeString icu::FormattedDateInterval::toTempString(UErrorCode&amp;) const |  Draft→StableICU 64
+| dtitvfmt.h | icu::FormattedDateInterval::FormattedDateInterval() |  Draft→StableICU 64
+| dtitvfmt.h | icu::FormattedDateInterval::FormattedDateInterval(FormattedDateInterval&amp;&amp;) |  Draft→StableICU 64
+| dtitvfmt.h | icu::FormattedDateInterval::~FormattedDateInterval() |  Draft→StableICU 64
+| formattedvalue.h | Appendable&amp; icu::FormattedValue::appendTo(Appendable&amp;, UErrorCode&amp;) const |  Draft→StableICU 64
+| formattedvalue.h | UBool icu::ConstrainedFieldPosition::matchesField(int32_t, int32_t) const |  Draft→StableICU 64
+| formattedvalue.h | UBool icu::FormattedValue::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const |  Draft→StableICU 64
+| formattedvalue.h | UnicodeString icu::FormattedValue::toString(UErrorCode&amp;) const |  Draft→StableICU 64
+| formattedvalue.h | UnicodeString icu::FormattedValue::toTempString(UErrorCode&amp;) const |  Draft→StableICU 64
+| formattedvalue.h | icu::ConstrainedFieldPosition::ConstrainedFieldPosition() |  Draft→StableICU 64
+| formattedvalue.h | icu::ConstrainedFieldPosition::~ConstrainedFieldPosition() |  Draft→StableICU 64
+| formattedvalue.h | icu::FormattedValue::~FormattedValue() |  Draft→StableICU 64
+| formattedvalue.h | int32_t icu::ConstrainedFieldPosition::getCategory() const |  Draft→StableICU 64
+| formattedvalue.h | int32_t icu::ConstrainedFieldPosition::getField() const |  Draft→StableICU 64
+| formattedvalue.h | int32_t icu::ConstrainedFieldPosition::getLimit() const |  Draft→StableICU 64
+| formattedvalue.h | int32_t icu::ConstrainedFieldPosition::getStart() const |  Draft→StableICU 64
+| formattedvalue.h | int64_t icu::ConstrainedFieldPosition::getInt64IterationContext() const |  Draft→StableICU 64
+| formattedvalue.h | void icu::ConstrainedFieldPosition::constrainCategory(int32_t) |  Draft→StableICU 64
+| formattedvalue.h | void icu::ConstrainedFieldPosition::constrainField(int32_t, int32_t) |  Draft→StableICU 64
+| formattedvalue.h | void icu::ConstrainedFieldPosition::reset() |  Draft→StableICU 64
+| formattedvalue.h | void icu::ConstrainedFieldPosition::setInt64IterationContext(int64_t) |  Draft→StableICU 64
+| formattedvalue.h | void icu::ConstrainedFieldPosition::setState(int32_t, int32_t, int32_t, int32_t) |  Draft→StableICU 64
+| listformatter.h | Appendable&amp; icu::FormattedList::appendTo(Appendable&amp;, UErrorCode&amp;) const |  Draft→StableICU 64
+| listformatter.h | FormattedList icu::ListFormatter::formatStringsToValue(const UnicodeString items[], int32_t, UErrorCode&amp;) const |  Draft→StableICU 64
+| listformatter.h | FormattedList&amp; icu::FormattedList::operator=(FormattedList&amp;&amp;) |  Draft→StableICU 64
+| listformatter.h | UBool icu::FormattedList::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const |  Draft→StableICU 64
+| listformatter.h | UnicodeString icu::FormattedList::toString(UErrorCode&amp;) const |  Draft→StableICU 64
+| listformatter.h | UnicodeString icu::FormattedList::toTempString(UErrorCode&amp;) const |  Draft→StableICU 64
+| listformatter.h | icu::FormattedList::FormattedList() |  Draft→StableICU 64
+| listformatter.h | icu::FormattedList::FormattedList(FormattedList&amp;&amp;) |  Draft→StableICU 64
+| listformatter.h | icu::FormattedList::~FormattedList() |  Draft→StableICU 64
+| localebuilder.h | Locale icu::LocaleBuilder::build(UErrorCode&amp;) |  Draft→StableICU 64
+| localebuilder.h | LocaleBuilder&amp; icu::LocaleBuilder::addUnicodeLocaleAttribute(StringPiece) |  Draft→StableICU 64
+| localebuilder.h | LocaleBuilder&amp; icu::LocaleBuilder::clear() |  Draft→StableICU 64
+| localebuilder.h | LocaleBuilder&amp; icu::LocaleBuilder::clearExtensions() |  Draft→StableICU 64
+| localebuilder.h | LocaleBuilder&amp; icu::LocaleBuilder::removeUnicodeLocaleAttribute(StringPiece) |  Draft→StableICU 64
+| localebuilder.h | LocaleBuilder&amp; icu::LocaleBuilder::setExtension(char, StringPiece) |  Draft→StableICU 64
+| localebuilder.h | LocaleBuilder&amp; icu::LocaleBuilder::setLanguage(StringPiece) |  Draft→StableICU 64
+| localebuilder.h | LocaleBuilder&amp; icu::LocaleBuilder::setLanguageTag(StringPiece) |  Draft→StableICU 64
+| localebuilder.h | LocaleBuilder&amp; icu::LocaleBuilder::setLocale(const Locale&amp;) |  Draft→StableICU 64
+| localebuilder.h | LocaleBuilder&amp; icu::LocaleBuilder::setRegion(StringPiece) |  Draft→StableICU 64
+| localebuilder.h | LocaleBuilder&amp; icu::LocaleBuilder::setScript(StringPiece) |  Draft→StableICU 64
+| localebuilder.h | LocaleBuilder&amp; icu::LocaleBuilder::setUnicodeLocaleKeyword(StringPiece, StringPiece) |  Draft→StableICU 64
+| localebuilder.h | LocaleBuilder&amp; icu::LocaleBuilder::setVariant(StringPiece) |  Draft→StableICU 64
+| localebuilder.h | icu::LocaleBuilder::LocaleBuilder() |  Draft→StableICU 64
+| localebuilder.h | icu::LocaleBuilder::~LocaleBuilder() |  Draft→StableICU 64
+| localpointer.h | LocalArray&lt;T&gt;&amp; icu::LocalArray&lt; T &gt;::operator=(std::unique_ptr&lt; T[]&gt;&amp;&amp;) |  Draft→StableICU 64
+| localpointer.h | LocalPointer&lt;T&gt;&amp; icu::LocalPointer&lt; T &gt;::operator=(std::unique_ptr&lt; T &gt;&amp;&amp;) |  Draft→StableICU 64
+| localpointer.h | icu::LocalArray&lt; T &gt;::LocalArray(std::unique_ptr&lt; T[]&gt;&amp;&amp;) |  Draft→StableICU 64
+| localpointer.h | icu::LocalArray&lt; T &gt;::operator std::unique_ptr&lt; T[]&gt;() &amp;&amp; |  Draft→StableICU 64
+| localpointer.h | icu::LocalPointer&lt; T &gt;::LocalPointer(std::unique_ptr&lt; T &gt;&amp;&amp;) |  Draft→StableICU 64
+| localpointer.h | icu::LocalPointer&lt; T &gt;::operator std::unique_ptr&lt; T &gt;() &amp;&amp; |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getAcre() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getAcreFoot() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getAmpere() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getArcMinute() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getArcSecond() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getAstronomicalUnit() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getAtmosphere() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getBarrel() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getBit() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getBritishThermalUnit() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getBushel() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getByte() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCalorie() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCarat() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCelsius() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCentiliter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCentimeter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCentury() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicCentimeter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicFoot() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicInch() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicKilometer() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicMeter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicMile() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicYard() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCup() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCupMetric() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getDalton() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getDay() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getDayPerson() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getDeciliter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getDecimeter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getDegree() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getDunam() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getEarthMass() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getElectronvolt() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getFahrenheit() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getFathom() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getFluidOunce() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getFluidOunceImperial() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getFoodcalorie() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getFoot() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getFurlong() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getGForce() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getGallon() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getGallonImperial() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getGenericTemperature() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getGigabit() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getGigabyte() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getGigahertz() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getGigawatt() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getGram() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getHectare() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getHectoliter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getHectopascal() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getHertz() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getHorsepower() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getHour() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getInch() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getInchHg() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getJoule() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getKarat() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getKelvin() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilobit() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilobyte() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilocalorie() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilogram() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilohertz() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilojoule() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilometer() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilometerPerHour() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilopascal() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilowatt() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilowattHour() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getKnot() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getLightYear() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getLiter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getLiterPer100Kilometers() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getLiterPerKilometer() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getLux() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMegabit() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMegabyte() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMegahertz() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMegaliter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMegapascal() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMegawatt() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMeter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMeterPerSecond() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMeterPerSecondSquared() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMetricTon() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMicrogram() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMicrometer() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMicrosecond() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMile() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMilePerGallon() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMilePerGallonImperial() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMilePerHour() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMileScandinavian() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMilliampere() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMillibar() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMilligram() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMilligramPerDeciliter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMilliliter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMillimeter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMillimeterOfMercury() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMillimolePerLiter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMillisecond() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMilliwatt() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMinute() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMole() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMonth() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMonthPerson() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getNanometer() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getNanosecond() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getNauticalMile() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getNewton() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getNewtonMeter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getOhm() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getOunce() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getOunceTroy() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getParsec() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPartPerMillion() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPercent() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPermille() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPermyriad() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPetabyte() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPicometer() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPint() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPintMetric() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPoint() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPound() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPoundFoot() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPoundForce() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPoundPerSquareInch() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getQuart() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getRadian() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getRevolutionAngle() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getSecond() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getSolarLuminosity() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getSolarMass() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getSolarRadius() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareCentimeter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareFoot() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareInch() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareKilometer() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareMeter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareMile() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareYard() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getStone() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getTablespoon() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getTeaspoon() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getTerabit() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getTerabyte() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getTon() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getVolt() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getWatt() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getWeek() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getWeekPerson() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getYard() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getYear() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getYearPerson() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createBarrel(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createBritishThermalUnit(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createDalton(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createDayPerson(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createDunam(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createEarthMass(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createElectronvolt(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createFluidOunceImperial(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createKilopascal(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createMegapascal(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createMole(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createMonthPerson(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createNewton(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createNewtonMeter(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createPermyriad(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createPoundFoot(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createPoundForce(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createSolarLuminosity(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createSolarMass(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createSolarRadius(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createWeekPerson(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createYearPerson(UErrorCode&amp;) |  Draft→StableICU 64
+| numberformatter.h | LocalPointer&lt;Derived&gt; icu::number::NumberFormatterSettings&lt; Derived &gt;::clone() &amp;&amp; |  Draft→StableICU 64
+| numberformatter.h | LocalPointer&lt;Derived&gt; icu::number::NumberFormatterSettings&lt; Derived &gt;::clone() const &amp; |  Draft→StableICU 64
+| numberformatter.h | UBool icu::number::FormattedNumber::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const |  Draft→StableICU 64
+| numberformatter.h | UnicodeString icu::number::FormattedNumber::toTempString(UErrorCode&amp;) const |  Draft→StableICU 64
+| numberformatter.h | icu::number::FormattedNumber::FormattedNumber() |  Draft→StableICU 64
+| numberformatter.h | <tt>static</tt> UnlocalizedNumberFormatter icu::number::NumberFormatter::forSkeleton(const UnicodeString&amp;, UParseError&amp;, UErrorCode&amp;) |  Draft→StableICU 64
+| numberrangeformatter.h | LocalPointer&lt;Derived&gt; icu::number::NumberRangeFormatterSettings&lt; Derived &gt;::clone() &amp;&amp; |  Draft→StableICU 64
+| numberrangeformatter.h | LocalPointer&lt;Derived&gt; icu::number::NumberRangeFormatterSettings&lt; Derived &gt;::clone() const &amp; |  Draft→StableICU 64
+| numberrangeformatter.h | UBool icu::number::FormattedNumberRange::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const |  Draft→StableICU 64
+| numberrangeformatter.h | UnicodeString icu::number::FormattedNumberRange::toTempString(UErrorCode&amp;) const |  Draft→StableICU 64
+| numfmt.h | <tt>enum</tt>                                                     icu::NumberFormat::EAlignmentFields::kCompactField |  Draft→StableICU 64
+| numfmt.h | <tt>enum</tt>                                                     icu::NumberFormat::EAlignmentFields::kMeasureUnitField |  Draft→StableICU 64
+| plurrule.h | UnicodeString icu::PluralRules::select(const number::FormattedNumber&amp;, UErrorCode&amp;) const |  Draft→StableICU 64
+| reldatefmt.h | Appendable&amp; icu::FormattedRelativeDateTime::appendTo(Appendable&amp;, UErrorCode&amp;) const |  Draft→StableICU 64
+| reldatefmt.h | FormattedRelativeDateTime icu::RelativeDateTimeFormatter::formatNumericToValue(double, URelativeDateTimeUnit, UErrorCode&amp;) const |  Draft→StableICU 64
+| reldatefmt.h | FormattedRelativeDateTime icu::RelativeDateTimeFormatter::formatToValue(UDateDirection, UDateAbsoluteUnit, UErrorCode&amp;) const |  Draft→StableICU 64
+| reldatefmt.h | FormattedRelativeDateTime icu::RelativeDateTimeFormatter::formatToValue(double, UDateDirection, UDateRelativeUnit, UErrorCode&amp;) const |  Draft→StableICU 64
+| reldatefmt.h | FormattedRelativeDateTime icu::RelativeDateTimeFormatter::formatToValue(double, URelativeDateTimeUnit, UErrorCode&amp;) const |  Draft→StableICU 64
+| reldatefmt.h | FormattedRelativeDateTime&amp; icu::FormattedRelativeDateTime::operator=(FormattedRelativeDateTime&amp;&amp;) |  Draft→StableICU 64
+| reldatefmt.h | UBool icu::FormattedRelativeDateTime::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const |  Draft→StableICU 64
+| reldatefmt.h | UnicodeString icu::FormattedRelativeDateTime::toString(UErrorCode&amp;) const |  Draft→StableICU 64
+| reldatefmt.h | UnicodeString icu::FormattedRelativeDateTime::toTempString(UErrorCode&amp;) const |  Draft→StableICU 64
+| reldatefmt.h | icu::FormattedRelativeDateTime::FormattedRelativeDateTime() |  Draft→StableICU 64
+| reldatefmt.h | icu::FormattedRelativeDateTime::FormattedRelativeDateTime(FormattedRelativeDateTime&amp;&amp;) |  Draft→StableICU 64
+| reldatefmt.h | icu::FormattedRelativeDateTime::~FormattedRelativeDateTime() |  Draft→StableICU 64
+| udateintervalformat.h | UFormattedDateInterval* udtitvfmt_openResult(UErrorCode*) |  Draft→StableICU 64
+| udateintervalformat.h | const UFormattedValue* udtitvfmt_resultAsValue(const UFormattedDateInterval*, UErrorCode*) |  Draft→StableICU 64
+| udateintervalformat.h | void udtitvfmt_closeResult(UFormattedDateInterval*) |  Draft→StableICU 64
+| uformattedvalue.h | UBool ucfpos_matchesField(const UConstrainedFieldPosition*, int32_t, int32_t, UErrorCode*) |  Draft→StableICU 64
+| uformattedvalue.h | UBool ufmtval_nextPosition(const UFormattedValue*, UConstrainedFieldPosition*, UErrorCode*) |  Draft→StableICU 64
+| uformattedvalue.h | UConstrainedFieldPosition* ucfpos_open(UErrorCode*) |  Draft→StableICU 64
+| uformattedvalue.h | const UChar* ufmtval_getString(const UFormattedValue*, int32_t*, UErrorCode*) |  Draft→StableICU 64
+| uformattedvalue.h | <tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_DATE_INTERVAL_SPAN |  Draft→StableICU 64
+| uformattedvalue.h | <tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_DATE |  Draft→StableICU 64
+| uformattedvalue.h | <tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_LIST_SPAN |  Draft→StableICU 64
+| uformattedvalue.h | <tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_LIST |  Draft→StableICU 64
+| uformattedvalue.h | <tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_NUMBER |  Draft→StableICU 64
+| uformattedvalue.h | <tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_RELATIVE_DATETIME |  Draft→StableICU 64
+| uformattedvalue.h | <tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_UNDEFINED |  Draft→StableICU 64
+| uformattedvalue.h | int32_t ucfpos_getCategory(const UConstrainedFieldPosition*, UErrorCode*) |  Draft→StableICU 64
+| uformattedvalue.h | int32_t ucfpos_getField(const UConstrainedFieldPosition*, UErrorCode*) |  Draft→StableICU 64
+| uformattedvalue.h | int64_t ucfpos_getInt64IterationContext(const UConstrainedFieldPosition*, UErrorCode*) |  Draft→StableICU 64
+| uformattedvalue.h | void ucfpos_close(UConstrainedFieldPosition*) |  Draft→StableICU 64
+| uformattedvalue.h | void ucfpos_constrainCategory(UConstrainedFieldPosition*, int32_t, UErrorCode*) |  Draft→StableICU 64
+| uformattedvalue.h | void ucfpos_constrainField(UConstrainedFieldPosition*, int32_t, int32_t, UErrorCode*) |  Draft→StableICU 64
+| uformattedvalue.h | void ucfpos_getIndexes(const UConstrainedFieldPosition*, int32_t*, int32_t*, UErrorCode*) |  Draft→StableICU 64
+| uformattedvalue.h | void ucfpos_reset(UConstrainedFieldPosition*, UErrorCode*) |  Draft→StableICU 64
+| uformattedvalue.h | void ucfpos_setInt64IterationContext(UConstrainedFieldPosition*, int64_t, UErrorCode*) |  Draft→StableICU 64
+| uformattedvalue.h | void ucfpos_setState(UConstrainedFieldPosition*, int32_t, int32_t, int32_t, int32_t, UErrorCode*) |  Draft→StableICU 64
+| ulistformatter.h | UFormattedList* ulistfmt_openResult(UErrorCode*) |  Draft→StableICU 64
+| ulistformatter.h | const UFormattedValue* ulistfmt_resultAsValue(const UFormattedList*, UErrorCode*) |  Draft→StableICU 64
+| ulistformatter.h | <tt>enum</tt> UListFormatterField::ULISTFMT_ELEMENT_FIELD |  Draft→StableICU 63
+| ulistformatter.h | <tt>enum</tt> UListFormatterField::ULISTFMT_LITERAL_FIELD |  Draft→StableICU 63
+| ulistformatter.h | void ulistfmt_closeResult(UFormattedList*) |  Draft→StableICU 64
+| ulistformatter.h | void ulistfmt_formatStringsToResult(const UListFormatter*, const UChar* const strings[], const int32_t*, int32_t, UFormattedList*, UErrorCode*) |  Draft→StableICU 64
+| unum.h | <tt>enum</tt> UNumberFormatAttribute::UNUM_MINIMUM_GROUPING_DIGITS |  Draft→StableICU 64
+| unum.h | <tt>enum</tt> UNumberFormatAttribute::UNUM_PARSE_CASE_SENSITIVE |  Draft→StableICU 64
+| unum.h | <tt>enum</tt> UNumberFormatAttribute::UNUM_SIGN_ALWAYS_SHOWN |  Draft→StableICU 64
+| unum.h | <tt>enum</tt> UNumberFormatFields::UNUM_COMPACT_FIELD |  Draft→StableICU 64
+| unum.h | <tt>enum</tt> UNumberFormatFields::UNUM_MEASURE_UNIT_FIELD |  Draft→StableICU 64
+| unumberformatter.h | UNumberFormatter* unumf_openForSkeletonAndLocaleWithError(const UChar*, int32_t, const char*, UParseError*, UErrorCode*) |  Draft→StableICU 64
+| unumberformatter.h | const UFormattedValue* unumf_resultAsValue(const UFormattedNumber*, UErrorCode*) |  Draft→StableICU 64
+| upluralrules.h | int32_t uplrules_selectFormatted(const UPluralRules*, const struct UFormattedNumber*, UChar*, int32_t, UErrorCode*) |  Draft→StableICU 64
+| ureldatefmt.h | UFormattedRelativeDateTime* ureldatefmt_openResult(UErrorCode*) |  Draft→StableICU 64
+| ureldatefmt.h | const UFormattedValue* ureldatefmt_resultAsValue(const UFormattedRelativeDateTime*, UErrorCode*) |  Draft→StableICU 64
+| ureldatefmt.h | <tt>enum</tt> URelativeDateTimeFormatterField::UDAT_REL_LITERAL_FIELD |  Draft→StableICU 64
+| ureldatefmt.h | <tt>enum</tt> URelativeDateTimeFormatterField::UDAT_REL_NUMERIC_FIELD |  Draft→StableICU 64
+| ureldatefmt.h | void ureldatefmt_closeResult(UFormattedRelativeDateTime*) |  Draft→StableICU 64
+| ureldatefmt.h | void ureldatefmt_formatNumericToResult(const URelativeDateTimeFormatter*, double, URelativeDateTimeUnit, UFormattedRelativeDateTime*, UErrorCode*) |  Draft→StableICU 64
+| ureldatefmt.h | void ureldatefmt_formatToResult(const URelativeDateTimeFormatter*, double, URelativeDateTimeUnit, UFormattedRelativeDateTime*, UErrorCode*) |  Draft→StableICU 64
 
 ## Promoted
 
-Promoted to stable in ICU 66
+Promoted to stable in ICU 67
   
-| File | API | ICU 65 | ICU 66 |
+| File | API | ICU 66 | ICU 67 |
 |---|---|---|---|
-| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_CHORASMIAN |  (missing) | StableICU 66| *(Born Stable)* |
-| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G |  (missing) | StableICU 66| *(Born Stable)* |
-| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_DIVES_AKURU |  (missing) | StableICU 66| *(Born Stable)* |
-| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_KHITAN_SMALL_SCRIPT |  (missing) | StableICU 66| *(Born Stable)* |
-| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_LISU_SUPPLEMENT |  (missing) | StableICU 66| *(Born Stable)* |
-| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_SYMBOLS_FOR_LEGACY_COMPUTING |  (missing) | StableICU 66| *(Born Stable)* |
-| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_TANGUT_SUPPLEMENT |  (missing) | StableICU 66| *(Born Stable)* |
-| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_YEZIDI |  (missing) | StableICU 66| *(Born Stable)* |
-| uchar.h | <tt>enum</tt> UIndicPositionalCategory::U_INPC_TOP_AND_BOTTOM_AND_LEFT |  (missing) | StableICU 66| *(Born Stable)* |
-| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_CHORASMIAN |  (missing) | StableICU 66| *(Born Stable)* |
-| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_DIVES_AKURU |  (missing) | StableICU 66| *(Born Stable)* |
-| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_KHITAN_SMALL_SCRIPT |  (missing) | StableICU 66| *(Born Stable)* |
-| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_YEZIDI |  (missing) | StableICU 66| *(Born Stable)* |
+| currunit.h | icu::CurrencyUnit::CurrencyUnit(StringPiece, UErrorCode&amp;) |  Draft→StableICU 64
+| decimfmt.h | UBool icu::DecimalFormat::isFormatFailIfMoreThanMaxDigits() const |  Draft→StableICU 64
+| decimfmt.h | UBool icu::DecimalFormat::isParseCaseSensitive() const |  Draft→StableICU 64
+| decimfmt.h | UBool icu::DecimalFormat::isParseNoExponent() const |  Draft→StableICU 64
+| decimfmt.h | UBool icu::DecimalFormat::isSignAlwaysShown() const |  Draft→StableICU 64
+| decimfmt.h | const number::LocalizedNumberFormatter* icu::DecimalFormat::toNumberFormatter(UErrorCode&amp;) const |  Draft→StableICU 64
+| decimfmt.h | int32_t icu::DecimalFormat::getMinimumGroupingDigits() const |  Draft→StableICU 64
+| decimfmt.h | void icu::DecimalFormat::setFormatFailIfMoreThanMaxDigits(UBool) |  Draft→StableICU 64
+| decimfmt.h | void icu::DecimalFormat::setMinimumGroupingDigits(int32_t) |  Draft→StableICU 64
+| decimfmt.h | void icu::DecimalFormat::setParseCaseSensitive(UBool) |  Draft→StableICU 64
+| decimfmt.h | void icu::DecimalFormat::setParseNoExponent(UBool) |  Draft→StableICU 64
+| decimfmt.h | void icu::DecimalFormat::setSignAlwaysShown(UBool) |  Draft→StableICU 64
+| dtitvfmt.h | Appendable&amp; icu::FormattedDateInterval::appendTo(Appendable&amp;, UErrorCode&amp;) const |  Draft→StableICU 64
+| dtitvfmt.h | FormattedDateInterval icu::DateIntervalFormat::formatToValue(Calendar&amp;, Calendar&amp;, UErrorCode&amp;) const |  Draft→StableICU 64
+| dtitvfmt.h | FormattedDateInterval icu::DateIntervalFormat::formatToValue(const DateInterval&amp;, UErrorCode&amp;) const |  Draft→StableICU 64
+| dtitvfmt.h | FormattedDateInterval&amp; icu::FormattedDateInterval::operator=(FormattedDateInterval&amp;&amp;) |  Draft→StableICU 64
+| dtitvfmt.h | UBool icu::FormattedDateInterval::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const |  Draft→StableICU 64
+| dtitvfmt.h | UnicodeString icu::FormattedDateInterval::toString(UErrorCode&amp;) const |  Draft→StableICU 64
+| dtitvfmt.h | UnicodeString icu::FormattedDateInterval::toTempString(UErrorCode&amp;) const |  Draft→StableICU 64
+| dtitvfmt.h | icu::FormattedDateInterval::FormattedDateInterval() |  Draft→StableICU 64
+| dtitvfmt.h | icu::FormattedDateInterval::FormattedDateInterval(FormattedDateInterval&amp;&amp;) |  Draft→StableICU 64
+| dtitvfmt.h | icu::FormattedDateInterval::~FormattedDateInterval() |  Draft→StableICU 64
+| formattedvalue.h | Appendable&amp; icu::FormattedValue::appendTo(Appendable&amp;, UErrorCode&amp;) const |  Draft→StableICU 64
+| formattedvalue.h | UBool icu::ConstrainedFieldPosition::matchesField(int32_t, int32_t) const |  Draft→StableICU 64
+| formattedvalue.h | UBool icu::FormattedValue::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const |  Draft→StableICU 64
+| formattedvalue.h | UnicodeString icu::FormattedValue::toString(UErrorCode&amp;) const |  Draft→StableICU 64
+| formattedvalue.h | UnicodeString icu::FormattedValue::toTempString(UErrorCode&amp;) const |  Draft→StableICU 64
+| formattedvalue.h | icu::ConstrainedFieldPosition::ConstrainedFieldPosition() |  Draft→StableICU 64
+| formattedvalue.h | icu::ConstrainedFieldPosition::~ConstrainedFieldPosition() |  Draft→StableICU 64
+| formattedvalue.h | icu::FormattedValue::~FormattedValue() |  Draft→StableICU 64
+| formattedvalue.h | int32_t icu::ConstrainedFieldPosition::getCategory() const |  Draft→StableICU 64
+| formattedvalue.h | int32_t icu::ConstrainedFieldPosition::getField() const |  Draft→StableICU 64
+| formattedvalue.h | int32_t icu::ConstrainedFieldPosition::getLimit() const |  Draft→StableICU 64
+| formattedvalue.h | int32_t icu::ConstrainedFieldPosition::getStart() const |  Draft→StableICU 64
+| formattedvalue.h | int64_t icu::ConstrainedFieldPosition::getInt64IterationContext() const |  Draft→StableICU 64
+| formattedvalue.h | void icu::ConstrainedFieldPosition::constrainCategory(int32_t) |  Draft→StableICU 64
+| formattedvalue.h | void icu::ConstrainedFieldPosition::constrainField(int32_t, int32_t) |  Draft→StableICU 64
+| formattedvalue.h | void icu::ConstrainedFieldPosition::reset() |  Draft→StableICU 64
+| formattedvalue.h | void icu::ConstrainedFieldPosition::setInt64IterationContext(int64_t) |  Draft→StableICU 64
+| formattedvalue.h | void icu::ConstrainedFieldPosition::setState(int32_t, int32_t, int32_t, int32_t) |  Draft→StableICU 64
+| listformatter.h | Appendable&amp; icu::FormattedList::appendTo(Appendable&amp;, UErrorCode&amp;) const |  Draft→StableICU 64
+| listformatter.h | FormattedList icu::ListFormatter::formatStringsToValue(const UnicodeString items[], int32_t, UErrorCode&amp;) const |  Draft→StableICU 64
+| listformatter.h | FormattedList&amp; icu::FormattedList::operator=(FormattedList&amp;&amp;) |  Draft→StableICU 64
+| listformatter.h | UBool icu::FormattedList::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const |  Draft→StableICU 64
+| listformatter.h | UnicodeString icu::FormattedList::toString(UErrorCode&amp;) const |  Draft→StableICU 64
+| listformatter.h | UnicodeString icu::FormattedList::toTempString(UErrorCode&amp;) const |  Draft→StableICU 64
+| listformatter.h | icu::FormattedList::FormattedList() |  Draft→StableICU 64
+| listformatter.h | icu::FormattedList::FormattedList(FormattedList&amp;&amp;) |  Draft→StableICU 64
+| listformatter.h | icu::FormattedList::~FormattedList() |  Draft→StableICU 64
+| localebuilder.h | Locale icu::LocaleBuilder::build(UErrorCode&amp;) |  Draft→StableICU 64
+| localebuilder.h | LocaleBuilder&amp; icu::LocaleBuilder::addUnicodeLocaleAttribute(StringPiece) |  Draft→StableICU 64
+| localebuilder.h | LocaleBuilder&amp; icu::LocaleBuilder::clear() |  Draft→StableICU 64
+| localebuilder.h | LocaleBuilder&amp; icu::LocaleBuilder::clearExtensions() |  Draft→StableICU 64
+| localebuilder.h | LocaleBuilder&amp; icu::LocaleBuilder::removeUnicodeLocaleAttribute(StringPiece) |  Draft→StableICU 64
+| localebuilder.h | LocaleBuilder&amp; icu::LocaleBuilder::setExtension(char, StringPiece) |  Draft→StableICU 64
+| localebuilder.h | LocaleBuilder&amp; icu::LocaleBuilder::setLanguage(StringPiece) |  Draft→StableICU 64
+| localebuilder.h | LocaleBuilder&amp; icu::LocaleBuilder::setLanguageTag(StringPiece) |  Draft→StableICU 64
+| localebuilder.h | LocaleBuilder&amp; icu::LocaleBuilder::setLocale(const Locale&amp;) |  Draft→StableICU 64
+| localebuilder.h | LocaleBuilder&amp; icu::LocaleBuilder::setRegion(StringPiece) |  Draft→StableICU 64
+| localebuilder.h | LocaleBuilder&amp; icu::LocaleBuilder::setScript(StringPiece) |  Draft→StableICU 64
+| localebuilder.h | LocaleBuilder&amp; icu::LocaleBuilder::setUnicodeLocaleKeyword(StringPiece, StringPiece) |  Draft→StableICU 64
+| localebuilder.h | LocaleBuilder&amp; icu::LocaleBuilder::setVariant(StringPiece) |  Draft→StableICU 64
+| localebuilder.h | icu::LocaleBuilder::LocaleBuilder() |  Draft→StableICU 64
+| localebuilder.h | icu::LocaleBuilder::~LocaleBuilder() |  Draft→StableICU 64
+| localpointer.h | LocalArray&lt;T&gt;&amp; icu::LocalArray&lt; T &gt;::operator=(std::unique_ptr&lt; T[]&gt;&amp;&amp;) |  Draft→StableICU 64
+| localpointer.h | LocalPointer&lt;T&gt;&amp; icu::LocalPointer&lt; T &gt;::operator=(std::unique_ptr&lt; T &gt;&amp;&amp;) |  Draft→StableICU 64
+| localpointer.h | icu::LocalArray&lt; T &gt;::LocalArray(std::unique_ptr&lt; T[]&gt;&amp;&amp;) |  Draft→StableICU 64
+| localpointer.h | icu::LocalArray&lt; T &gt;::operator std::unique_ptr&lt; T[]&gt;() &amp;&amp; |  Draft→StableICU 64
+| localpointer.h | icu::LocalPointer&lt; T &gt;::LocalPointer(std::unique_ptr&lt; T &gt;&amp;&amp;) |  Draft→StableICU 64
+| localpointer.h | icu::LocalPointer&lt; T &gt;::operator std::unique_ptr&lt; T &gt;() &amp;&amp; |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getAcre() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getAcreFoot() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getAmpere() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getArcMinute() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getArcSecond() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getAstronomicalUnit() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getAtmosphere() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getBarrel() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getBit() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getBritishThermalUnit() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getBushel() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getByte() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCalorie() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCarat() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCelsius() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCentiliter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCentimeter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCentury() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicCentimeter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicFoot() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicInch() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicKilometer() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicMeter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicMile() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicYard() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCup() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCupMetric() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getDalton() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getDay() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getDayPerson() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getDeciliter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getDecimeter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getDegree() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getDunam() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getEarthMass() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getElectronvolt() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getFahrenheit() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getFathom() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getFluidOunce() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getFluidOunceImperial() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getFoodcalorie() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getFoot() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getFurlong() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getGForce() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getGallon() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getGallonImperial() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getGenericTemperature() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getGigabit() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getGigabyte() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getGigahertz() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getGigawatt() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getGram() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getHectare() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getHectoliter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getHectopascal() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getHertz() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getHorsepower() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getHour() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getInch() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getInchHg() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getJoule() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getKarat() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getKelvin() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilobit() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilobyte() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilocalorie() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilogram() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilohertz() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilojoule() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilometer() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilometerPerHour() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilopascal() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilowatt() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilowattHour() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getKnot() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getLightYear() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getLiter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getLiterPer100Kilometers() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getLiterPerKilometer() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getLux() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMegabit() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMegabyte() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMegahertz() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMegaliter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMegapascal() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMegawatt() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMeter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMeterPerSecond() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMeterPerSecondSquared() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMetricTon() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMicrogram() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMicrometer() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMicrosecond() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMile() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMilePerGallon() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMilePerGallonImperial() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMilePerHour() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMileScandinavian() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMilliampere() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMillibar() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMilligram() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMilligramPerDeciliter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMilliliter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMillimeter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMillimeterOfMercury() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMillimolePerLiter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMillisecond() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMilliwatt() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMinute() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMole() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMonth() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMonthPerson() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getNanometer() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getNanosecond() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getNauticalMile() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getNewton() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getNewtonMeter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getOhm() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getOunce() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getOunceTroy() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getParsec() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPartPerMillion() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPercent() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPermille() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPermyriad() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPetabyte() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPicometer() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPint() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPintMetric() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPoint() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPound() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPoundFoot() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPoundForce() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPoundPerSquareInch() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getQuart() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getRadian() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getRevolutionAngle() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getSecond() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getSolarLuminosity() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getSolarMass() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getSolarRadius() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareCentimeter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareFoot() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareInch() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareKilometer() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareMeter() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareMile() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareYard() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getStone() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getTablespoon() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getTeaspoon() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getTerabit() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getTerabyte() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getTon() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getVolt() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getWatt() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getWeek() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getWeekPerson() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getYard() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getYear() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getYearPerson() |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createBarrel(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createBritishThermalUnit(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createDalton(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createDayPerson(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createDunam(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createEarthMass(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createElectronvolt(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createFluidOunceImperial(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createKilopascal(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createMegapascal(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createMole(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createMonthPerson(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createNewton(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createNewtonMeter(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createPermyriad(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createPoundFoot(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createPoundForce(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createSolarLuminosity(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createSolarMass(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createSolarRadius(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createWeekPerson(UErrorCode&amp;) |  Draft→StableICU 64
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createYearPerson(UErrorCode&amp;) |  Draft→StableICU 64
+| numberformatter.h | LocalPointer&lt;Derived&gt; icu::number::NumberFormatterSettings&lt; Derived &gt;::clone() &amp;&amp; |  Draft→StableICU 64
+| numberformatter.h | LocalPointer&lt;Derived&gt; icu::number::NumberFormatterSettings&lt; Derived &gt;::clone() const &amp; |  Draft→StableICU 64
+| numberformatter.h | UBool icu::number::FormattedNumber::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const |  Draft→StableICU 64
+| numberformatter.h | UnicodeString icu::number::FormattedNumber::toTempString(UErrorCode&amp;) const |  Draft→StableICU 64
+| numberformatter.h | icu::number::FormattedNumber::FormattedNumber() |  Draft→StableICU 64
+| numberformatter.h | <tt>static</tt> UnlocalizedNumberFormatter icu::number::NumberFormatter::forSkeleton(const UnicodeString&amp;, UParseError&amp;, UErrorCode&amp;) |  Draft→StableICU 64
+| numberrangeformatter.h | LocalPointer&lt;Derived&gt; icu::number::NumberRangeFormatterSettings&lt; Derived &gt;::clone() &amp;&amp; |  Draft→StableICU 64
+| numberrangeformatter.h | LocalPointer&lt;Derived&gt; icu::number::NumberRangeFormatterSettings&lt; Derived &gt;::clone() const &amp; |  Draft→StableICU 64
+| numberrangeformatter.h | UBool icu::number::FormattedNumberRange::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const |  Draft→StableICU 64
+| numberrangeformatter.h | UnicodeString icu::number::FormattedNumberRange::toTempString(UErrorCode&amp;) const |  Draft→StableICU 64
+| numfmt.h | <tt>enum</tt>                                                     icu::NumberFormat::EAlignmentFields::kCompactField |  Draft→StableICU 64
+| numfmt.h | <tt>enum</tt>                                                     icu::NumberFormat::EAlignmentFields::kMeasureUnitField |  Draft→StableICU 64
+| numsys.h | NumberingSystem&amp; icu::NumberingSystem::operator=(const NumberingSystem&amp;)=default |  (missing) | StableICU 4.2
+| plurrule.h | UnicodeString icu::PluralRules::select(const number::FormattedNumber&amp;, UErrorCode&amp;) const |  Draft→StableICU 64
+| reldatefmt.h | Appendable&amp; icu::FormattedRelativeDateTime::appendTo(Appendable&amp;, UErrorCode&amp;) const |  Draft→StableICU 64
+| reldatefmt.h | FormattedRelativeDateTime icu::RelativeDateTimeFormatter::formatNumericToValue(double, URelativeDateTimeUnit, UErrorCode&amp;) const |  Draft→StableICU 64
+| reldatefmt.h | FormattedRelativeDateTime icu::RelativeDateTimeFormatter::formatToValue(UDateDirection, UDateAbsoluteUnit, UErrorCode&amp;) const |  Draft→StableICU 64
+| reldatefmt.h | FormattedRelativeDateTime icu::RelativeDateTimeFormatter::formatToValue(double, UDateDirection, UDateRelativeUnit, UErrorCode&amp;) const |  Draft→StableICU 64
+| reldatefmt.h | FormattedRelativeDateTime icu::RelativeDateTimeFormatter::formatToValue(double, URelativeDateTimeUnit, UErrorCode&amp;) const |  Draft→StableICU 64
+| reldatefmt.h | FormattedRelativeDateTime&amp; icu::FormattedRelativeDateTime::operator=(FormattedRelativeDateTime&amp;&amp;) |  Draft→StableICU 64
+| reldatefmt.h | UBool icu::FormattedRelativeDateTime::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const |  Draft→StableICU 64
+| reldatefmt.h | UnicodeString icu::FormattedRelativeDateTime::toString(UErrorCode&amp;) const |  Draft→StableICU 64
+| reldatefmt.h | UnicodeString icu::FormattedRelativeDateTime::toTempString(UErrorCode&amp;) const |  Draft→StableICU 64
+| reldatefmt.h | icu::FormattedRelativeDateTime::FormattedRelativeDateTime() |  Draft→StableICU 64
+| reldatefmt.h | icu::FormattedRelativeDateTime::FormattedRelativeDateTime(FormattedRelativeDateTime&amp;&amp;) |  Draft→StableICU 64
+| reldatefmt.h | icu::FormattedRelativeDateTime::~FormattedRelativeDateTime() |  Draft→StableICU 64
+| udateintervalformat.h | UFormattedDateInterval* udtitvfmt_openResult(UErrorCode*) |  Draft→StableICU 64
+| udateintervalformat.h | const UFormattedValue* udtitvfmt_resultAsValue(const UFormattedDateInterval*, UErrorCode*) |  Draft→StableICU 64
+| udateintervalformat.h | void udtitvfmt_closeResult(UFormattedDateInterval*) |  Draft→StableICU 64
+| uformattedvalue.h | UBool ucfpos_matchesField(const UConstrainedFieldPosition*, int32_t, int32_t, UErrorCode*) |  Draft→StableICU 64
+| uformattedvalue.h | UBool ufmtval_nextPosition(const UFormattedValue*, UConstrainedFieldPosition*, UErrorCode*) |  Draft→StableICU 64
+| uformattedvalue.h | UConstrainedFieldPosition* ucfpos_open(UErrorCode*) |  Draft→StableICU 64
+| uformattedvalue.h | const UChar* ufmtval_getString(const UFormattedValue*, int32_t*, UErrorCode*) |  Draft→StableICU 64
+| uformattedvalue.h | <tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_DATE_INTERVAL_SPAN |  Draft→StableICU 64
+| uformattedvalue.h | <tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_DATE |  Draft→StableICU 64
+| uformattedvalue.h | <tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_LIST_SPAN |  Draft→StableICU 64
+| uformattedvalue.h | <tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_LIST |  Draft→StableICU 64
+| uformattedvalue.h | <tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_NUMBER |  Draft→StableICU 64
+| uformattedvalue.h | <tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_RELATIVE_DATETIME |  Draft→StableICU 64
+| uformattedvalue.h | <tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_UNDEFINED |  Draft→StableICU 64
+| uformattedvalue.h | int32_t ucfpos_getCategory(const UConstrainedFieldPosition*, UErrorCode*) |  Draft→StableICU 64
+| uformattedvalue.h | int32_t ucfpos_getField(const UConstrainedFieldPosition*, UErrorCode*) |  Draft→StableICU 64
+| uformattedvalue.h | int64_t ucfpos_getInt64IterationContext(const UConstrainedFieldPosition*, UErrorCode*) |  Draft→StableICU 64
+| uformattedvalue.h | void ucfpos_close(UConstrainedFieldPosition*) |  Draft→StableICU 64
+| uformattedvalue.h | void ucfpos_constrainCategory(UConstrainedFieldPosition*, int32_t, UErrorCode*) |  Draft→StableICU 64
+| uformattedvalue.h | void ucfpos_constrainField(UConstrainedFieldPosition*, int32_t, int32_t, UErrorCode*) |  Draft→StableICU 64
+| uformattedvalue.h | void ucfpos_getIndexes(const UConstrainedFieldPosition*, int32_t*, int32_t*, UErrorCode*) |  Draft→StableICU 64
+| uformattedvalue.h | void ucfpos_reset(UConstrainedFieldPosition*, UErrorCode*) |  Draft→StableICU 64
+| uformattedvalue.h | void ucfpos_setInt64IterationContext(UConstrainedFieldPosition*, int64_t, UErrorCode*) |  Draft→StableICU 64
+| uformattedvalue.h | void ucfpos_setState(UConstrainedFieldPosition*, int32_t, int32_t, int32_t, int32_t, UErrorCode*) |  Draft→StableICU 64
+| ulistformatter.h | UFormattedList* ulistfmt_openResult(UErrorCode*) |  Draft→StableICU 64
+| ulistformatter.h | const UFormattedValue* ulistfmt_resultAsValue(const UFormattedList*, UErrorCode*) |  Draft→StableICU 64
+| ulistformatter.h | <tt>enum</tt> UListFormatterField::ULISTFMT_ELEMENT_FIELD |  Draft→StableICU 63
+| ulistformatter.h | <tt>enum</tt> UListFormatterField::ULISTFMT_LITERAL_FIELD |  Draft→StableICU 63
+| ulistformatter.h | void ulistfmt_closeResult(UFormattedList*) |  Draft→StableICU 64
+| ulistformatter.h | void ulistfmt_formatStringsToResult(const UListFormatter*, const UChar* const strings[], const int32_t*, int32_t, UFormattedList*, UErrorCode*) |  Draft→StableICU 64
+| unum.h | <tt>enum</tt> UNumberFormatAttribute::UNUM_MINIMUM_GROUPING_DIGITS |  Draft→StableICU 64
+| unum.h | <tt>enum</tt> UNumberFormatAttribute::UNUM_PARSE_CASE_SENSITIVE |  Draft→StableICU 64
+| unum.h | <tt>enum</tt> UNumberFormatAttribute::UNUM_SIGN_ALWAYS_SHOWN |  Draft→StableICU 64
+| unum.h | <tt>enum</tt> UNumberFormatFields::UNUM_COMPACT_FIELD |  Draft→StableICU 64
+| unum.h | <tt>enum</tt> UNumberFormatFields::UNUM_MEASURE_UNIT_FIELD |  Draft→StableICU 64
+| unumberformatter.h | UNumberFormatter* unumf_openForSkeletonAndLocaleWithError(const UChar*, int32_t, const char*, UParseError*, UErrorCode*) |  Draft→StableICU 64
+| unumberformatter.h | const UFormattedValue* unumf_resultAsValue(const UFormattedNumber*, UErrorCode*) |  Draft→StableICU 64
+| upluralrules.h | int32_t uplrules_selectFormatted(const UPluralRules*, const struct UFormattedNumber*, UChar*, int32_t, UErrorCode*) |  Draft→StableICU 64
+| ureldatefmt.h | UFormattedRelativeDateTime* ureldatefmt_openResult(UErrorCode*) |  Draft→StableICU 64
+| ureldatefmt.h | const UFormattedValue* ureldatefmt_resultAsValue(const UFormattedRelativeDateTime*, UErrorCode*) |  Draft→StableICU 64
+| ureldatefmt.h | <tt>enum</tt> URelativeDateTimeFormatterField::UDAT_REL_LITERAL_FIELD |  Draft→StableICU 64
+| ureldatefmt.h | <tt>enum</tt> URelativeDateTimeFormatterField::UDAT_REL_NUMERIC_FIELD |  Draft→StableICU 64
+| ureldatefmt.h | void ureldatefmt_closeResult(UFormattedRelativeDateTime*) |  Draft→StableICU 64
+| ureldatefmt.h | void ureldatefmt_formatNumericToResult(const URelativeDateTimeFormatter*, double, URelativeDateTimeUnit, UFormattedRelativeDateTime*, UErrorCode*) |  Draft→StableICU 64
+| ureldatefmt.h | void ureldatefmt_formatToResult(const URelativeDateTimeFormatter*, double, URelativeDateTimeUnit, UFormattedRelativeDateTime*, UErrorCode*) |  Draft→StableICU 64
 
 ## Added
 
-Added in ICU 66
+Added in ICU 67
   
-| File | API | ICU 65 | ICU 66 |
+| File | API | ICU 66 | ICU 67 |
 |---|---|---|---|
-| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_CHORASMIAN |  (missing) | StableICU 66| *(Born Stable)* |
-| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G |  (missing) | StableICU 66| *(Born Stable)* |
-| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_DIVES_AKURU |  (missing) | StableICU 66| *(Born Stable)* |
-| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_KHITAN_SMALL_SCRIPT |  (missing) | StableICU 66| *(Born Stable)* |
-| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_LISU_SUPPLEMENT |  (missing) | StableICU 66| *(Born Stable)* |
-| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_SYMBOLS_FOR_LEGACY_COMPUTING |  (missing) | StableICU 66| *(Born Stable)* |
-| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_TANGUT_SUPPLEMENT |  (missing) | StableICU 66| *(Born Stable)* |
-| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_YEZIDI |  (missing) | StableICU 66| *(Born Stable)* |
-| uchar.h | <tt>enum</tt> UIndicPositionalCategory::U_INPC_TOP_AND_BOTTOM_AND_LEFT |  (missing) | StableICU 66| *(Born Stable)* |
-| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_CHORASMIAN |  (missing) | StableICU 66| *(Born Stable)* |
-| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_DIVES_AKURU |  (missing) | StableICU 66| *(Born Stable)* |
-| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_KHITAN_SMALL_SCRIPT |  (missing) | StableICU 66| *(Born Stable)* |
-| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_YEZIDI |  (missing) | StableICU 66| *(Born Stable)* |
+| bytestream.h | void icu::ByteSink::AppendU8(const char*, int32_t) |  (missing) | DraftICU 67
+| bytestream.h | void icu::ByteSink::AppendU8(const char8_t*, int32_t) |  (missing) | DraftICU 67
+| dcfmtsym.h | void icu::DecimalFormatSymbols::setCurrency(const UChar*, UErrorCode&amp;) |  (missing) | Internal
+| dtptngen.h | UDateFormatHourCycle icu::DateTimePatternGenerator::getDefaultHourCycle(UErrorCode&amp;) const |  (missing) | DraftICU 67
+| listformatter.h | <tt>static</tt> ListFormatter* icu::ListFormatter::createInstance(const Locale&amp;, UListFormatterType, UListFormatterWidth, UErrorCode&amp;) |  (missing) | DraftICU 67
+| localematcher.h | Builder&amp; icu::LocaleMatcher::Builder::setDirection(ULocMatchDirection) |  (missing) | DraftICU 67
+| localematcher.h | <tt>enum</tt> ULocMatchDirection::ULOCMATCH_DIRECTION_ONLY_TWO_WAY |  (missing) | DraftICU 67
+| localematcher.h | <tt>enum</tt> ULocMatchDirection::ULOCMATCH_DIRECTION_WITH_ONE_WAY |  (missing) | DraftICU 67
+| locid.h | void icu::Locale::canonicalize(UErrorCode&amp;) |  (missing) | DraftICU 67
+| measunit.h | LocalArray&lt;MeasureUnit&gt; icu::MeasureUnit::splitToSingleUnits(int32_t&amp;, UErrorCode&amp;) const |  (missing) | InternalICU 67
+| measunit.h | MeasureUnit icu::MeasureUnit::product(const MeasureUnit&amp;, UErrorCode&amp;) const |  (missing) | DraftICU 67
+| measunit.h | MeasureUnit icu::MeasureUnit::reciprocal(UErrorCode&amp;) const |  (missing) | DraftICU 67
+| measunit.h | MeasureUnit icu::MeasureUnit::withDimensionality(int32_t, UErrorCode&amp;) const |  (missing) | DraftICU 67
+| measunit.h | MeasureUnit icu::MeasureUnit::withSIPrefix(UMeasureSIPrefix, UErrorCode&amp;) const |  (missing) | DraftICU 67
+| measunit.h | MeasureUnit&amp; icu::MeasureUnit::operator=(MeasureUnit&amp;&amp;) noexcept |  (missing) | DraftICU 67
+| measunit.h | UMeasureSIPrefix icu::MeasureUnit::getSIPrefix(UErrorCode&amp;) const |  (missing) | DraftICU 67
+| measunit.h | UMeasureUnitComplexity icu::MeasureUnit::getComplexity(UErrorCode&amp;) const |  (missing) | DraftICU 67
+| measunit.h | const char* icu::MeasureUnit::getIdentifier() const |  (missing) | DraftICU 67
+| measunit.h | icu::MeasureUnit::MeasureUnit(MeasureUnit&amp;&amp;) noexcept |  (missing) | DraftICU 67
+| measunit.h | int32_t icu::MeasureUnit::getDimensionality(UErrorCode&amp;) const |  (missing) | DraftICU 67
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::forIdentifier(StringPiece, UErrorCode&amp;) |  (missing) | DraftICU 67
+| numsys.h | NumberingSystem&amp; icu::NumberingSystem::operator=(const NumberingSystem&amp;)=default |  (missing) | StableICU 4.2
+| stringpiece.h | icu::StringPiece::StringPiece(const char8_t*) |  (missing) | DraftICU 67
+| stringpiece.h | icu::StringPiece::StringPiece(const char8_t*, int32_t) |  (missing) | DraftICU 67
+| stringpiece.h | icu::StringPiece::StringPiece(const std::u8string&amp;) |  (missing) | DraftICU 67
+| stringpiece.h | icu::StringPiece::StringPiece(std::nullptr_t) |  (missing) | DraftICU 67
+| stringpiece.h | int32_t icu::StringPiece::compare(StringPiece) |  (missing) | DraftICU 67
+| stringpiece.h | int32_t icu::StringPiece::find(StringPiece, int32_t) |  (missing) | DraftICU 67
+| stringpiece.h | void icu::StringPiece::set(const char8_t*) |  (missing) | DraftICU 67
+| stringpiece.h | void icu::StringPiece::set(const char8_t*, int32_t) |  (missing) | DraftICU 67
+| udat.h | <tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_11 |  (missing) | DraftICU 67
+| udat.h | <tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_12 |  (missing) | DraftICU 67
+| udat.h | <tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_23 |  (missing) | DraftICU 67
+| udat.h | <tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_24 |  (missing) | DraftICU 67
+| udateintervalformat.h | void udtitvfmt_formatCalendarToResult(const UDateIntervalFormat*, UCalendar*, UCalendar*, UFormattedDateInterval*, UErrorCode*) |  (missing) | DraftICU 67
+| udateintervalformat.h | void udtitvfmt_formatToResult(const UDateIntervalFormat*, UDate, UDate, UFormattedDateInterval*, UErrorCode*) |  (missing) | DraftICU 67
+| udatpg.h | UDateFormatHourCycle udatpg_getDefaultHourCycle(const UDateTimePatternGenerator*, UErrorCode*) |  (missing) | DraftICU 67
+| ulistformatter.h | UListFormatter* ulistfmt_openForType(const char*, UListFormatterType, UListFormatterWidth, UErrorCode*) |  (missing) | DraftICU 67
+| ulistformatter.h | <tt>enum</tt> UListFormatterType::ULISTFMT_TYPE_AND |  (missing) | DraftICU 67
+| ulistformatter.h | <tt>enum</tt> UListFormatterType::ULISTFMT_TYPE_OR |  (missing) | DraftICU 67
+| ulistformatter.h | <tt>enum</tt> UListFormatterType::ULISTFMT_TYPE_UNITS |  (missing) | DraftICU 67
+| ulistformatter.h | <tt>enum</tt> UListFormatterWidth::ULISTFMT_WIDTH_NARROW |  (missing) | DraftICU 67
+| ulistformatter.h | <tt>enum</tt> UListFormatterWidth::ULISTFMT_WIDTH_SHORT |  (missing) | DraftICU 67
+| ulistformatter.h | <tt>enum</tt> UListFormatterWidth::ULISTFMT_WIDTH_WIDE |  (missing) | DraftICU 67
+| utrace.h | <tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_BREAK_ENGINE |  (missing) | DraftICU 67
+| utrace.h | <tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_CHARACTER |  (missing) | DraftICU 67
+| utrace.h | <tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_LINE |  (missing) | DraftICU 67
+| utrace.h | <tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_SENTENCE |  (missing) | DraftICU 67
+| utrace.h | <tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_TITLE |  (missing) | DraftICU 67
+| utrace.h | <tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_WORD |  (missing) | DraftICU 67
+| utrace.h | <tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_LIMIT |  (missing) | Internal
+| utrace.h | <tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_START |  (missing) | DraftICU 67
 
 ## Other
 
-Other existing drafts in ICU 66
+Other existing drafts in ICU 67
 
-| File | API | ICU 65 | ICU 66 |
+| File | API | ICU 66 | ICU 67 |
 |---|---|---|---|
 | bytestrie.h |  BytesTrie&amp; icu::BytesTrie::resetToState64(uint64_t) | DraftICU 65 | 
 | bytestrie.h |  uint64_t icu::BytesTrie::getState64() const | DraftICU 65 | 
-| currunit.h |  icu::CurrencyUnit::CurrencyUnit(StringPiece, UErrorCode&amp;) | DraftICU 64 | 
-| decimfmt.h |  UBool icu::DecimalFormat::isFormatFailIfMoreThanMaxDigits() const | DraftICU 64 | 
-| decimfmt.h |  UBool icu::DecimalFormat::isParseCaseSensitive() const | DraftICU 64 | 
-| decimfmt.h |  UBool icu::DecimalFormat::isParseNoExponent() const | DraftICU 64 | 
-| decimfmt.h |  UBool icu::DecimalFormat::isSignAlwaysShown() const | DraftICU 64 | 
-| decimfmt.h |  const number::LocalizedNumberFormatter* icu::DecimalFormat::toNumberFormatter(UErrorCode&amp;) const | DraftICU 64 | 
-| decimfmt.h |  int32_t icu::DecimalFormat::getMinimumGroupingDigits() const | DraftICU 64 | 
-| decimfmt.h |  void icu::DecimalFormat::setFormatFailIfMoreThanMaxDigits(UBool) | DraftICU 64 | 
-| decimfmt.h |  void icu::DecimalFormat::setMinimumGroupingDigits(int32_t) | DraftICU 64 | 
-| decimfmt.h |  void icu::DecimalFormat::setParseCaseSensitive(UBool) | DraftICU 64 | 
-| decimfmt.h |  void icu::DecimalFormat::setParseNoExponent(UBool) | DraftICU 64 | 
-| decimfmt.h |  void icu::DecimalFormat::setSignAlwaysShown(UBool) | DraftICU 64 | 
-| dtitvfmt.h |  Appendable&amp; icu::FormattedDateInterval::appendTo(Appendable&amp;, UErrorCode&amp;) const | DraftICU 64 | 
-| dtitvfmt.h |  FormattedDateInterval icu::DateIntervalFormat::formatToValue(Calendar&amp;, Calendar&amp;, UErrorCode&amp;) const | DraftICU 64 | 
-| dtitvfmt.h |  FormattedDateInterval icu::DateIntervalFormat::formatToValue(const DateInterval&amp;, UErrorCode&amp;) const | DraftICU 64 | 
-| dtitvfmt.h |  FormattedDateInterval&amp; icu::FormattedDateInterval::operator=(FormattedDateInterval&amp;&amp;) | DraftICU 64 | 
-| dtitvfmt.h |  UBool icu::FormattedDateInterval::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const | DraftICU 64 | 
-| dtitvfmt.h |  UnicodeString icu::FormattedDateInterval::toString(UErrorCode&amp;) const | DraftICU 64 | 
-| dtitvfmt.h |  UnicodeString icu::FormattedDateInterval::toTempString(UErrorCode&amp;) const | DraftICU 64 | 
-| dtitvfmt.h |  icu::FormattedDateInterval::FormattedDateInterval() | DraftICU 64 | 
-| dtitvfmt.h |  icu::FormattedDateInterval::FormattedDateInterval(FormattedDateInterval&amp;&amp;) | DraftICU 64 | 
-| dtitvfmt.h |  icu::FormattedDateInterval::~FormattedDateInterval() | DraftICU 64 | 
-| formattedvalue.h |  Appendable&amp; icu::FormattedValue::appendTo(Appendable&amp;, UErrorCode&amp;) const | DraftICU 64 | 
-| formattedvalue.h |  UBool icu::ConstrainedFieldPosition::matchesField(int32_t, int32_t) const | DraftICU 64 | 
-| formattedvalue.h |  UBool icu::FormattedValue::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const | DraftICU 64 | 
-| formattedvalue.h |  UnicodeString icu::FormattedValue::toString(UErrorCode&amp;) const | DraftICU 64 | 
-| formattedvalue.h |  UnicodeString icu::FormattedValue::toTempString(UErrorCode&amp;) const | DraftICU 64 | 
-| formattedvalue.h |  icu::ConstrainedFieldPosition::ConstrainedFieldPosition() | DraftICU 64 | 
-| formattedvalue.h |  icu::ConstrainedFieldPosition::~ConstrainedFieldPosition() | DraftICU 64 | 
-| formattedvalue.h |  icu::FormattedValue::~FormattedValue() | DraftICU 64 | 
-| formattedvalue.h |  int32_t icu::ConstrainedFieldPosition::getCategory() const | DraftICU 64 | 
-| formattedvalue.h |  int32_t icu::ConstrainedFieldPosition::getField() const | DraftICU 64 | 
-| formattedvalue.h |  int32_t icu::ConstrainedFieldPosition::getLimit() const | DraftICU 64 | 
-| formattedvalue.h |  int32_t icu::ConstrainedFieldPosition::getStart() const | DraftICU 64 | 
-| formattedvalue.h |  int64_t icu::ConstrainedFieldPosition::getInt64IterationContext() const | DraftICU 64 | 
-| formattedvalue.h |  void icu::ConstrainedFieldPosition::constrainCategory(int32_t) | DraftICU 64 | 
-| formattedvalue.h |  void icu::ConstrainedFieldPosition::constrainField(int32_t, int32_t) | DraftICU 64 | 
-| formattedvalue.h |  void icu::ConstrainedFieldPosition::reset() | DraftICU 64 | 
-| formattedvalue.h |  void icu::ConstrainedFieldPosition::setInt64IterationContext(int64_t) | DraftICU 64 | 
-| formattedvalue.h |  void icu::ConstrainedFieldPosition::setState(int32_t, int32_t, int32_t, int32_t) | DraftICU 64 | 
-| listformatter.h |  Appendable&amp; icu::FormattedList::appendTo(Appendable&amp;, UErrorCode&amp;) const | DraftICU 64 | 
-| listformatter.h |  FormattedList icu::ListFormatter::formatStringsToValue(const UnicodeString items[], int32_t, UErrorCode&amp;) const | DraftICU 64 | 
-| listformatter.h |  FormattedList&amp; icu::FormattedList::operator=(FormattedList&amp;&amp;) | DraftICU 64 | 
-| listformatter.h |  UBool icu::FormattedList::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const | DraftICU 64 | 
-| listformatter.h |  UnicodeString icu::FormattedList::toString(UErrorCode&amp;) const | DraftICU 64 | 
-| listformatter.h |  UnicodeString icu::FormattedList::toTempString(UErrorCode&amp;) const | DraftICU 64 | 
-| listformatter.h |  UnicodeString&amp; icu::ListFormatter::format(const UnicodeString items[], int32_t, UnicodeString&amp;, FieldPositionIterator*, UErrorCode&amp;) const | DraftICU 63 | 
-| listformatter.h |  icu::FormattedList::FormattedList() | DraftICU 64 | 
-| listformatter.h |  icu::FormattedList::FormattedList(FormattedList&amp;&amp;) | DraftICU 64 | 
-| listformatter.h |  icu::FormattedList::~FormattedList() | DraftICU 64 | 
-| localebuilder.h |  Locale icu::LocaleBuilder::build(UErrorCode&amp;) | DraftICU 64 | 
-| localebuilder.h |  LocaleBuilder&amp; icu::LocaleBuilder::addUnicodeLocaleAttribute(StringPiece) | DraftICU 64 | 
-| localebuilder.h |  LocaleBuilder&amp; icu::LocaleBuilder::clear() | DraftICU 64 | 
-| localebuilder.h |  LocaleBuilder&amp; icu::LocaleBuilder::clearExtensions() | DraftICU 64 | 
-| localebuilder.h |  LocaleBuilder&amp; icu::LocaleBuilder::removeUnicodeLocaleAttribute(StringPiece) | DraftICU 64 | 
-| localebuilder.h |  LocaleBuilder&amp; icu::LocaleBuilder::setExtension(char, StringPiece) | DraftICU 64 | 
-| localebuilder.h |  LocaleBuilder&amp; icu::LocaleBuilder::setLanguage(StringPiece) | DraftICU 64 | 
-| localebuilder.h |  LocaleBuilder&amp; icu::LocaleBuilder::setLanguageTag(StringPiece) | DraftICU 64 | 
-| localebuilder.h |  LocaleBuilder&amp; icu::LocaleBuilder::setLocale(const Locale&amp;) | DraftICU 64 | 
-| localebuilder.h |  LocaleBuilder&amp; icu::LocaleBuilder::setRegion(StringPiece) | DraftICU 64 | 
-| localebuilder.h |  LocaleBuilder&amp; icu::LocaleBuilder::setScript(StringPiece) | DraftICU 64 | 
-| localebuilder.h |  LocaleBuilder&amp; icu::LocaleBuilder::setUnicodeLocaleKeyword(StringPiece, StringPiece) | DraftICU 64 | 
-| localebuilder.h |  LocaleBuilder&amp; icu::LocaleBuilder::setVariant(StringPiece) | DraftICU 64 | 
 | localebuilder.h |  UBool icu::LocaleBuilder::copyErrorTo(UErrorCode&amp;) const | DraftICU 65 | 
-| localebuilder.h |  icu::LocaleBuilder::LocaleBuilder() | DraftICU 64 | 
-| localebuilder.h |  icu::LocaleBuilder::~LocaleBuilder() | DraftICU 64 | 
 | localematcher.h |  Builder&amp; icu::LocaleMatcher::Builder::addSupportedLocale(const Locale&amp;) | DraftICU 65 | 
 | localematcher.h |  Builder&amp; icu::LocaleMatcher::Builder::operator=(Builder&amp;&amp;) | DraftICU 65 | 
 | localematcher.h |  Builder&amp; icu::LocaleMatcher::Builder::setDefaultLocale(const Locale*) | DraftICU 65 | 
@@ -188,12 +802,6 @@ Other existing drafts in ICU 66
 | localematcher.h |  icu::LocaleMatcher::~LocaleMatcher() | DraftICU 65 | 
 | localematcher.h |  int32_t icu::LocaleMatcher::Result::getDesiredIndex() const | DraftICU 65 | 
 | localematcher.h |  int32_t icu::LocaleMatcher::Result::getSupportedIndex() const | DraftICU 65 | 
-| localpointer.h |  LocalArray&lt;T&gt;&amp; icu::LocalArray&lt; T &gt;::operator=(std::unique_ptr&lt; T[]&gt;&amp;&amp;) | DraftICU 64 | 
-| localpointer.h |  LocalPointer&lt;T&gt;&amp; icu::LocalPointer&lt; T &gt;::operator=(std::unique_ptr&lt; T &gt;&amp;&amp;) | DraftICU 64 | 
-| localpointer.h |  icu::LocalArray&lt; T &gt;::LocalArray(std::unique_ptr&lt; T[]&gt;&amp;&amp;) | DraftICU 64 | 
-| localpointer.h |  icu::LocalArray&lt; T &gt;::operator std::unique_ptr&lt; T[]&gt;() &amp;&amp; | DraftICU 64 | 
-| localpointer.h |  icu::LocalPointer&lt; T &gt;::LocalPointer(std::unique_ptr&lt; T &gt;&amp;&amp;) | DraftICU 64 | 
-| localpointer.h |  icu::LocalPointer&lt; T &gt;::operator std::unique_ptr&lt; T &gt;() &amp;&amp; | DraftICU 64 | 
 | locid.h |  UBool icu::Locale::ConvertingIterator&lt; Iter, Conv &gt;::hasNext() const override | DraftICU 65 | 
 | locid.h |  UBool icu::Locale::Iterator::hasNext() const | DraftICU 65 | 
 | locid.h |  UBool icu::Locale::RangeIterator&lt; Iter &gt;::hasNext() const override | DraftICU 65 | 
@@ -204,211 +812,28 @@ Other existing drafts in ICU 66
 | locid.h |  icu::Locale::Iterator::~Iterator() | DraftICU 65 | 
 | locid.h |  icu::Locale::RangeIterator&lt; Iter &gt;::RangeIterator(Iter, Iter) | DraftICU 65 | 
 | measfmt.h |  void icu::MeasureFormat::parseObject(const UnicodeString&amp;, Formattable&amp;, ParsePosition&amp;) const | DraftICU 53 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getAcre() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getAcreFoot() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getAmpere() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getArcMinute() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getArcSecond() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getAstronomicalUnit() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getAtmosphere() | DraftICU 64 | 
 | measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getBar() | DraftICU 65 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getBarrel() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getBit() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getBritishThermalUnit() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getBushel() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getByte() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getCalorie() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getCarat() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getCelsius() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getCentiliter() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getCentimeter() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getCentury() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicCentimeter() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicFoot() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicInch() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicKilometer() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicMeter() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicMile() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getCubicYard() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getCup() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getCupMetric() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getDalton() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getDay() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getDayPerson() | DraftICU 64 | 
 | measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getDecade() | DraftICU 65 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getDeciliter() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getDecimeter() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getDegree() | DraftICU 64 | 
 | measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getDotPerCentimeter() | DraftICU 65 | 
 | measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getDotPerInch() | DraftICU 65 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getDunam() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getEarthMass() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getElectronvolt() | DraftICU 64 | 
 | measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getEm() | DraftICU 65 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getFahrenheit() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getFathom() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getFluidOunce() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getFluidOunceImperial() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getFoodcalorie() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getFoot() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getFurlong() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getGForce() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getGallon() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getGallonImperial() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getGenericTemperature() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getGigabit() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getGigabyte() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getGigahertz() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getGigawatt() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getGram() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getHectare() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getHectoliter() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getHectopascal() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getHertz() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getHorsepower() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getHour() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getInch() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getInchHg() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getJoule() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getKarat() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getKelvin() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilobit() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilobyte() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilocalorie() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilogram() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilohertz() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilojoule() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilometer() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilometerPerHour() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilopascal() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilowatt() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getKilowattHour() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getKnot() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getLightYear() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getLiter() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getLiterPer100Kilometers() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getLiterPerKilometer() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getLux() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMegabit() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMegabyte() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMegahertz() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMegaliter() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMegapascal() | DraftICU 64 | 
 | measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMegapixel() | DraftICU 65 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMegawatt() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMeter() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMeterPerSecond() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMeterPerSecondSquared() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMetricTon() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMicrogram() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMicrometer() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMicrosecond() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMile() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMilePerGallon() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMilePerGallonImperial() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMilePerHour() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMileScandinavian() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMilliampere() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMillibar() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMilligram() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMilligramPerDeciliter() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMilliliter() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMillimeter() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMillimeterOfMercury() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMillimolePerLiter() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMillisecond() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMilliwatt() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMinute() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMole() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMonth() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getMonthPerson() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getNanometer() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getNanosecond() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getNauticalMile() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getNewton() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getNewtonMeter() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getOhm() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getOunce() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getOunceTroy() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getParsec() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getPartPerMillion() | DraftICU 64 | 
 | measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getPascal() | DraftICU 65 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getPercent() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getPermille() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getPermyriad() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getPetabyte() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getPicometer() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getPint() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getPintMetric() | DraftICU 64 | 
 | measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getPixel() | DraftICU 65 | 
 | measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getPixelPerCentimeter() | DraftICU 65 | 
 | measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getPixelPerInch() | DraftICU 65 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getPoint() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getPound() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getPoundFoot() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getPoundForce() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getPoundPerSquareInch() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getQuart() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getRadian() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getRevolutionAngle() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getSecond() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getSolarLuminosity() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getSolarMass() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getSolarRadius() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareCentimeter() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareFoot() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareInch() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareKilometer() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareMeter() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareMile() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getSquareYard() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getStone() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getTablespoon() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getTeaspoon() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getTerabit() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getTerabyte() | DraftICU 64 | 
 | measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getThermUs() | DraftICU 65 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getTon() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getVolt() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getWatt() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getWeek() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getWeekPerson() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getYard() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getYear() | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getYearPerson() | DraftICU 64 | 
 | measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createBar(UErrorCode&amp;) | DraftICU 65 | 
-| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createBarrel(UErrorCode&amp;) | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createBritishThermalUnit(UErrorCode&amp;) | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createDalton(UErrorCode&amp;) | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createDayPerson(UErrorCode&amp;) | DraftICU 64 | 
 | measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createDecade(UErrorCode&amp;) | DraftICU 65 | 
 | measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createDotPerCentimeter(UErrorCode&amp;) | DraftICU 65 | 
 | measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createDotPerInch(UErrorCode&amp;) | DraftICU 65 | 
-| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createDunam(UErrorCode&amp;) | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createEarthMass(UErrorCode&amp;) | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createElectronvolt(UErrorCode&amp;) | DraftICU 64 | 
 | measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createEm(UErrorCode&amp;) | DraftICU 65 | 
-| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createFluidOunceImperial(UErrorCode&amp;) | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createKilopascal(UErrorCode&amp;) | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createMegapascal(UErrorCode&amp;) | DraftICU 64 | 
 | measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createMegapixel(UErrorCode&amp;) | DraftICU 65 | 
-| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createMole(UErrorCode&amp;) | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createMonthPerson(UErrorCode&amp;) | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createNewton(UErrorCode&amp;) | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createNewtonMeter(UErrorCode&amp;) | DraftICU 64 | 
 | measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createPascal(UErrorCode&amp;) | DraftICU 65 | 
-| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createPermyriad(UErrorCode&amp;) | DraftICU 64 | 
 | measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createPixel(UErrorCode&amp;) | DraftICU 65 | 
 | measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createPixelPerCentimeter(UErrorCode&amp;) | DraftICU 65 | 
 | measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createPixelPerInch(UErrorCode&amp;) | DraftICU 65 | 
-| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createPoundFoot(UErrorCode&amp;) | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createPoundForce(UErrorCode&amp;) | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createSolarLuminosity(UErrorCode&amp;) | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createSolarMass(UErrorCode&amp;) | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createSolarRadius(UErrorCode&amp;) | DraftICU 64 | 
 | measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createThermUs(UErrorCode&amp;) | DraftICU 65 | 
-| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createWeekPerson(UErrorCode&amp;) | DraftICU 64 | 
-| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createYearPerson(UErrorCode&amp;) | DraftICU 64 | 
 | nounit.h |  UClassID icu::NoUnit::getDynamicClassID() const | DraftICU 60 | 
 | nounit.h |  icu::NoUnit::NoUnit(const NoUnit&amp;) | DraftICU 60 | 
 | nounit.h |  icu::NoUnit::~NoUnit() | DraftICU 60 | 
@@ -417,95 +842,20 @@ Other existing drafts in ICU 66
 | nounit.h |  <tt>static</tt> NoUnit icu::NoUnit::permille() | DraftICU 60 | 
 | nounit.h |  <tt>static</tt> UClassID icu::NoUnit::getStaticClassID() | DraftICU 60 | 
 | nounit.h |  void* icu::NoUnit::clone() const | DraftICU 60 | 
-| numberformatter.h |  LocalPointer&lt;Derived&gt; icu::number::NumberFormatterSettings&lt; Derived &gt;::clone() &amp;&amp; | DraftICU 64 | 
-| numberformatter.h |  LocalPointer&lt;Derived&gt; icu::number::NumberFormatterSettings&lt; Derived &gt;::clone() const &amp; | DraftICU 64 | 
 | numberformatter.h |  StringClass icu::number::FormattedNumber::toDecimalNumber(UErrorCode&amp;) const | DraftICU 65 | 
-| numberformatter.h |  UBool icu::number::FormattedNumber::nextFieldPosition(FieldPosition&amp;, UErrorCode&amp;) const | DraftICU 62 | 
-| numberformatter.h |  UBool icu::number::FormattedNumber::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const | DraftICU 64 | 
-| numberformatter.h |  UnicodeString icu::number::FormattedNumber::toTempString(UErrorCode&amp;) const | DraftICU 64 | 
-| numberformatter.h |  icu::number::FormattedNumber::FormattedNumber() | DraftICU 64 | 
-| numberformatter.h |  <tt>static</tt> UnlocalizedNumberFormatter icu::number::NumberFormatter::forSkeleton(const UnicodeString&amp;, UParseError&amp;, UErrorCode&amp;) | DraftICU 64 | 
-| numberformatter.h |  void icu::number::FormattedNumber::getAllFieldPositions(FieldPositionIterator&amp;, UErrorCode&amp;) const | DraftICU 62 | 
-| numberrangeformatter.h |  LocalPointer&lt;Derived&gt; icu::number::NumberRangeFormatterSettings&lt; Derived &gt;::clone() &amp;&amp; | DraftICU 64 | 
-| numberrangeformatter.h |  LocalPointer&lt;Derived&gt; icu::number::NumberRangeFormatterSettings&lt; Derived &gt;::clone() const &amp; | DraftICU 64 | 
-| numberrangeformatter.h |  UBool icu::number::FormattedNumberRange::nextFieldPosition(FieldPosition&amp;, UErrorCode&amp;) const | DraftICU 63 | 
-| numberrangeformatter.h |  UBool icu::number::FormattedNumberRange::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const | DraftICU 64 | 
 | numberrangeformatter.h |  UnicodeString icu::number::FormattedNumberRange::getFirstDecimal(UErrorCode&amp;) const | DraftICU 63 | 
 | numberrangeformatter.h |  UnicodeString icu::number::FormattedNumberRange::getSecondDecimal(UErrorCode&amp;) const | DraftICU 63 | 
-| numberrangeformatter.h |  UnicodeString icu::number::FormattedNumberRange::toTempString(UErrorCode&amp;) const | DraftICU 64 | 
-| numberrangeformatter.h |  void icu::number::FormattedNumberRange::getAllFieldPositions(FieldPositionIterator&amp;, UErrorCode&amp;) const | DraftICU 63 | 
-| numfmt.h |  <tt>enum</tt>                                                    icu::NumberFormat::EAlignmentFields::kCompactField | DraftICU 64 | 
-| numfmt.h |  <tt>enum</tt>                                                    icu::NumberFormat::EAlignmentFields::kMeasureUnitField | DraftICU 64 | 
-| plurrule.h |  UnicodeString icu::PluralRules::select(const number::FormattedNumber&amp;, UErrorCode&amp;) const | DraftICU 64 | 
-| reldatefmt.h |  Appendable&amp; icu::FormattedRelativeDateTime::appendTo(Appendable&amp;, UErrorCode&amp;) const | DraftICU 64 | 
-| reldatefmt.h |  FormattedRelativeDateTime icu::RelativeDateTimeFormatter::formatNumericToValue(double, URelativeDateTimeUnit, UErrorCode&amp;) const | DraftICU 64 | 
-| reldatefmt.h |  FormattedRelativeDateTime icu::RelativeDateTimeFormatter::formatToValue(UDateDirection, UDateAbsoluteUnit, UErrorCode&amp;) const | DraftICU 64 | 
-| reldatefmt.h |  FormattedRelativeDateTime icu::RelativeDateTimeFormatter::formatToValue(double, UDateDirection, UDateRelativeUnit, UErrorCode&amp;) const | DraftICU 64 | 
-| reldatefmt.h |  FormattedRelativeDateTime icu::RelativeDateTimeFormatter::formatToValue(double, URelativeDateTimeUnit, UErrorCode&amp;) const | DraftICU 64 | 
-| reldatefmt.h |  FormattedRelativeDateTime&amp; icu::FormattedRelativeDateTime::operator=(FormattedRelativeDateTime&amp;&amp;) | DraftICU 64 | 
-| reldatefmt.h |  UBool icu::FormattedRelativeDateTime::nextPosition(ConstrainedFieldPosition&amp;, UErrorCode&amp;) const | DraftICU 64 | 
-| reldatefmt.h |  UnicodeString icu::FormattedRelativeDateTime::toString(UErrorCode&amp;) const | DraftICU 64 | 
-| reldatefmt.h |  UnicodeString icu::FormattedRelativeDateTime::toTempString(UErrorCode&amp;) const | DraftICU 64 | 
 | reldatefmt.h |  <tt>enum</tt> UDateAbsoluteUnit::UDAT_ABSOLUTE_HOUR | DraftICU 65 | 
 | reldatefmt.h |  <tt>enum</tt> UDateAbsoluteUnit::UDAT_ABSOLUTE_MINUTE | DraftICU 65 | 
-| reldatefmt.h |  icu::FormattedRelativeDateTime::FormattedRelativeDateTime() | DraftICU 64 | 
-| reldatefmt.h |  icu::FormattedRelativeDateTime::FormattedRelativeDateTime(FormattedRelativeDateTime&amp;&amp;) | DraftICU 64 | 
-| reldatefmt.h |  icu::FormattedRelativeDateTime::~FormattedRelativeDateTime() | DraftICU 64 | 
 | stringpiece.h |  icu::StringPiece::StringPiece(T) | DraftICU 65 | 
 | ucal.h |  int32_t ucal_getHostTimeZone(UChar*, int32_t, UErrorCode*) | DraftICU 65 | 
 | ucharstrie.h |  UCharsTrie&amp; icu::UCharsTrie::resetToState64(uint64_t) | DraftICU 65 | 
 | ucharstrie.h |  uint64_t icu::UCharsTrie::getState64() const | DraftICU 65 | 
-| udateintervalformat.h |  UFormattedDateInterval* udtitvfmt_openResult(UErrorCode*) | DraftICU 64 | 
-| udateintervalformat.h |  const UFormattedValue* udtitvfmt_resultAsValue(const UFormattedDateInterval*, UErrorCode*) | DraftICU 64 | 
-| udateintervalformat.h |  void udtitvfmt_closeResult(UFormattedDateInterval*) | DraftICU 64 | 
-| udateintervalformat.h |  void udtitvfmt_formatToResult(const UDateIntervalFormat*, UFormattedDateInterval*, UDate, UDate, UErrorCode*) | DraftICU 64 | 
-| uformattedvalue.h |  UBool ucfpos_matchesField(const UConstrainedFieldPosition*, int32_t, int32_t, UErrorCode*) | DraftICU 64 | 
-| uformattedvalue.h |  UBool ufmtval_nextPosition(const UFormattedValue*, UConstrainedFieldPosition*, UErrorCode*) | DraftICU 64 | 
-| uformattedvalue.h |  UConstrainedFieldPosition* ucfpos_open(UErrorCode*) | DraftICU 64 | 
-| uformattedvalue.h |  const UChar* ufmtval_getString(const UFormattedValue*, int32_t*, UErrorCode*) | DraftICU 64 | 
-| uformattedvalue.h |  <tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_DATE_INTERVAL_SPAN | DraftICU 64 | 
-| uformattedvalue.h |  <tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_DATE | DraftICU 64 | 
-| uformattedvalue.h |  <tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_LIST_SPAN | DraftICU 64 | 
-| uformattedvalue.h |  <tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_LIST | DraftICU 64 | 
-| uformattedvalue.h |  <tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_NUMBER | DraftICU 64 | 
-| uformattedvalue.h |  <tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_RELATIVE_DATETIME | DraftICU 64 | 
-| uformattedvalue.h |  <tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_UNDEFINED | DraftICU 64 | 
-| uformattedvalue.h |  int32_t ucfpos_getCategory(const UConstrainedFieldPosition*, UErrorCode*) | DraftICU 64 | 
-| uformattedvalue.h |  int32_t ucfpos_getField(const UConstrainedFieldPosition*, UErrorCode*) | DraftICU 64 | 
-| uformattedvalue.h |  int64_t ucfpos_getInt64IterationContext(const UConstrainedFieldPosition*, UErrorCode*) | DraftICU 64 | 
-| uformattedvalue.h |  void ucfpos_close(UConstrainedFieldPosition*) | DraftICU 64 | 
-| uformattedvalue.h |  void ucfpos_constrainCategory(UConstrainedFieldPosition*, int32_t, UErrorCode*) | DraftICU 64 | 
-| uformattedvalue.h |  void ucfpos_constrainField(UConstrainedFieldPosition*, int32_t, int32_t, UErrorCode*) | DraftICU 64 | 
-| uformattedvalue.h |  void ucfpos_getIndexes(const UConstrainedFieldPosition*, int32_t*, int32_t*, UErrorCode*) | DraftICU 64 | 
-| uformattedvalue.h |  void ucfpos_reset(UConstrainedFieldPosition*, UErrorCode*) | DraftICU 64 | 
-| uformattedvalue.h |  void ucfpos_setInt64IterationContext(UConstrainedFieldPosition*, int64_t, UErrorCode*) | DraftICU 64 | 
-| uformattedvalue.h |  void ucfpos_setState(UConstrainedFieldPosition*, int32_t, int32_t, int32_t, int32_t, UErrorCode*) | DraftICU 64 | 
-| ulistformatter.h |  UFormattedList* ulistfmt_openResult(UErrorCode*) | DraftICU 64 | 
-| ulistformatter.h |  const UFormattedValue* ulistfmt_resultAsValue(const UFormattedList*, UErrorCode*) | DraftICU 64 | 
-| ulistformatter.h |  <tt>enum</tt> UListFormatterField::ULISTFMT_ELEMENT_FIELD | DraftICU 63 | 
-| ulistformatter.h |  <tt>enum</tt> UListFormatterField::ULISTFMT_LITERAL_FIELD | DraftICU 63 | 
-| ulistformatter.h |  void ulistfmt_closeResult(UFormattedList*) | DraftICU 64 | 
-| ulistformatter.h |  void ulistfmt_formatStringsToResult(const UListFormatter*, const UChar* const strings[], const int32_t*, int32_t, UFormattedList*, UErrorCode*) | DraftICU 64 | 
 | uloc.h |  UEnumeration* uloc_openAvailableByType(ULocAvailableType, UErrorCode*) | DraftICU 65 | 
 | uloc.h |  <tt>enum</tt> ULocAvailableType::ULOC_AVAILABLE_DEFAULT | DraftICU 65 | 
 | uloc.h |  <tt>enum</tt> ULocAvailableType::ULOC_AVAILABLE_ONLY_LEGACY_ALIASES | DraftICU 65 | 
 | uloc.h |  <tt>enum</tt> ULocAvailableType::ULOC_AVAILABLE_WITH_LEGACY_ALIASES | DraftICU 65 | 
-| unum.h |  <tt>enum</tt> UNumberFormatAttribute::UNUM_MINIMUM_GROUPING_DIGITS | DraftICU 64 | 
-| unum.h |  <tt>enum</tt> UNumberFormatAttribute::UNUM_PARSE_CASE_SENSITIVE | DraftICU 64 | 
-| unum.h |  <tt>enum</tt> UNumberFormatAttribute::UNUM_SIGN_ALWAYS_SHOWN | DraftICU 64 | 
-| unum.h |  <tt>enum</tt> UNumberFormatFields::UNUM_COMPACT_FIELD | DraftICU 64 | 
-| unum.h |  <tt>enum</tt> UNumberFormatFields::UNUM_MEASURE_UNIT_FIELD | DraftICU 64 | 
-| unumberformatter.h |  UNumberFormatter* unumf_openForSkeletonAndLocaleWithError(const UChar*, int32_t, const char*, UParseError*, UErrorCode*) | DraftICU 64 | 
-| unumberformatter.h |  const UFormattedValue* unumf_resultAsValue(const UFormattedNumber*, UErrorCode*) | DraftICU 64 | 
-| upluralrules.h |  int32_t uplrules_selectFormatted(const UPluralRules*, const struct UFormattedNumber*, UChar*, int32_t, UErrorCode*) | DraftICU 64 | 
 | uregex.h |  <tt>enum</tt> URegexpFlag::UREGEX_CANON_EQ | DraftICU 2.4 | 
-| ureldatefmt.h |  UFormattedRelativeDateTime* ureldatefmt_openResult(UErrorCode*) | DraftICU 64 | 
-| ureldatefmt.h |  const UFormattedValue* ureldatefmt_resultAsValue(const UFormattedRelativeDateTime*, UErrorCode*) | DraftICU 64 | 
-| ureldatefmt.h |  <tt>enum</tt> URelativeDateTimeFormatterField::UDAT_REL_LITERAL_FIELD | DraftICU 64 | 
-| ureldatefmt.h |  <tt>enum</tt> URelativeDateTimeFormatterField::UDAT_REL_NUMERIC_FIELD | DraftICU 64 | 
-| ureldatefmt.h |  void ureldatefmt_closeResult(UFormattedRelativeDateTime*) | DraftICU 64 | 
-| ureldatefmt.h |  void ureldatefmt_formatNumericToResult(const URelativeDateTimeFormatter*, double, URelativeDateTimeUnit, UFormattedRelativeDateTime*, UErrorCode*) | DraftICU 64 | 
-| ureldatefmt.h |  void ureldatefmt_formatToResult(const URelativeDateTimeFormatter*, double, URelativeDateTimeUnit, UFormattedRelativeDateTime*, UErrorCode*) | DraftICU 64 | 
 | utrace.h |  <tt>enum</tt> UTraceFunctionNumber::UTRACE_UDATA_BUNDLE | DraftICU 65 | 
 | utrace.h |  <tt>enum</tt> UTraceFunctionNumber::UTRACE_UDATA_DATA_FILE | DraftICU 65 | 
 | utrace.h |  <tt>enum</tt> UTraceFunctionNumber::UTRACE_UDATA_RESOURCE | DraftICU 65 | 
@@ -520,8 +870,8 @@ This section shows cases where the signature was "simplified" for the sake of co
 
 ## Colophon
 
-Contents generated by StableAPI tool on Wed Feb 19 10:40:39 PST 2020
+Contents generated by StableAPI tool on Fri Apr 03 07:26:48 PDT 2020
 
 Copyright © 2019 and later: Unicode, Inc. and others.
 License & terms of use: http://www.unicode.org/copyright.html
-  
+  
\ No newline at end of file
index a6acbd0..08d52f8 100644 (file)
@@ -3,7 +3,7 @@
 
 <html lang="en-US" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
   <head>
-    <title>ReadMe for ICU 66.1</title>
+    <title>ReadMe for ICU 67.1</title>
     <meta name="COPYRIGHT" content=
     "Copyright (C) 2016 and later: Unicode, Inc. and others. License &amp; terms of use: http://www.unicode.org/copyright.html"/>
     <!-- meta name="COPYRIGHT" content=
@@ -33,7 +33,7 @@
       <span class="only-rc">Release Candidate</span>
       <!-- <span class="only-milestone">(Milestone Release)</span> -->
       <span class="only-milestone">(Preview Release)</span>
-      <abbr title="International Components for Unicode">ICU</abbr> 66.1 ReadMe
+      <abbr title="International Components for Unicode">ICU</abbr> 67.1 ReadMe
     </h1>
 
     <!-- Most of the time we shouldn't need to comment/uncomment this paragraph, just change the body class -->
@@ -47,7 +47,7 @@
     <p class="note only-rc">This is a release candidate version of ICU4C.
       It is not recommended for production use.</p>
 
-    <p>Last updated: 2020-Mar-02<br/>
+    <p>Last updated: 2020-Mar-25<br/>
       Copyright &copy; 2016 and later: Unicode, Inc. and others. License &amp; terms of use:
       <a href="http://www.unicode.org/copyright.html">http://www.unicode.org/copyright.html</a><br/>
       Copyright &copy; 1997-2016 International Business Machines Corporation and others.
 
     <h2><a name="News" href="#News" id="News">What Is New In This Release?</a></h2>
 
-    <p>This release updates to Unicode 13 beta, CLDR 36.1, and includes some bug fixes.
-    This is a low-impact release with no other significant feature additions or implementation changes.</p>
-
-    <p>See the <a href="http://site.icu-project.org/download/66">ICU 66 download page</a>
+    <p>See the <a href="http://site.icu-project.org/download/67">ICU 67 download page</a>
     for more information on this release, including any other changes, bug fixes, known issues,
     changes to supported platforms and build environments,
     and migration issues for existing applications migrating from previous ICU releases.</p>
index be9435b..79a0a34 100644 (file)
@@ -38,7 +38,7 @@ subdir = .
 @TOOLS_TRUE@@TESTS_TRUE@TEST = test
 @SAMPLES_TRUE@SAMPLE = samples
 @TOOLS_TRUE@TOOLS = tools
-@TOOLS_TRUE@DATASUBDIR = data
+@DATA_TRUE@DATASUBDIR = data
 
 ## pkgconfig setup. Always have uc and i18n. Others are optional.
 ALL_PKGCONFIG_SUFFIX=uc i18n
index d21f5d0..7d149eb 100644 (file)
@@ -159,6 +159,11 @@ ifneq ($(ENABLE_STATIC),)
        $(INSTALL-L) $(TARGET) $(DESTDIR)$(libdir)
 endif
 ifneq ($(ENABLE_SHARED),)
+# For MinGW, do we want the DLL to go in the bin location?
+ifeq ($(MINGW_MOVEDLLSTOBINDIR),YES)
+       $(MKINSTALLDIRS) $(DESTDIR)$(bindir)
+       $(INSTALL-L) $(FINAL_SO_TARGET) $(DESTDIR)$(bindir)
+else
        $(INSTALL-L) $(FINAL_SO_TARGET) $(DESTDIR)$(libdir)
 ifneq ($(FINAL_SO_TARGET),$(SO_TARGET))
        cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(SO_TARGET))
@@ -166,6 +171,7 @@ ifneq ($(FINAL_SO_TARGET),$(MIDDLE_SO_TARGET))
        cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(MIDDLE_SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(MIDDLE_SO_TARGET))
 endif
 endif
+endif
 ifneq ($(IMPORT_LIB_EXT),)
        $(INSTALL-L) $(FINAL_IMPORT_LIB) $(DESTDIR)$(libdir)
 ifneq ($(IMPORT_LIB),$(FINAL_IMPORT_LIB))
index 3d1366a..b9b6ca6 100644 (file)
@@ -38,6 +38,7 @@
 #include "uresimp.h"
 #include "uassert.h"
 #include "ubrkimpl.h"
+#include "utracimp.h"
 #include "charstr.h"
 
 // *****************************************************************************
@@ -412,14 +413,23 @@ BreakIterator::makeInstance(const Locale& loc, int32_t kind, UErrorCode& status)
     BreakIterator *result = NULL;
     switch (kind) {
     case UBRK_CHARACTER:
-        result = BreakIterator::buildInstance(loc, "grapheme", status);
+        {
+            UTRACE_ENTRY(UTRACE_UBRK_CREATE_CHARACTER);
+            result = BreakIterator::buildInstance(loc, "grapheme", status);
+            UTRACE_EXIT_STATUS(status);
+        }
         break;
     case UBRK_WORD:
-        result = BreakIterator::buildInstance(loc, "word", status);
+        {
+            UTRACE_ENTRY(UTRACE_UBRK_CREATE_WORD);
+            result = BreakIterator::buildInstance(loc, "word", status);
+            UTRACE_EXIT_STATUS(status);
+        }
         break;
     case UBRK_LINE:
-        uprv_strcpy(lbType, "line");
         {
+            UTRACE_ENTRY(UTRACE_UBRK_CREATE_LINE);
+            uprv_strcpy(lbType, "line");
             char lbKeyValue[kKeyValueLenMax] = {0};
             UErrorCode kvStatus = U_ZERO_ERROR;
             int32_t kLen = loc.getKeywordValue("lb", lbKeyValue, kKeyValueLenMax, kvStatus);
@@ -427,13 +437,17 @@ BreakIterator::makeInstance(const Locale& loc, int32_t kind, UErrorCode& status)
                 uprv_strcat(lbType, "_");
                 uprv_strcat(lbType, lbKeyValue);
             }
+            result = BreakIterator::buildInstance(loc, lbType, status);
+
+            UTRACE_DATA1(UTRACE_INFO, "lb=%s", lbKeyValue);
+            UTRACE_EXIT_STATUS(status);
         }
-        result = BreakIterator::buildInstance(loc, lbType, status);
         break;
     case UBRK_SENTENCE:
-        result = BreakIterator::buildInstance(loc, "sentence", status);
-#if !UCONFIG_NO_FILTERED_BREAK_ITERATION
         {
+            UTRACE_ENTRY(UTRACE_UBRK_CREATE_SENTENCE);
+            result = BreakIterator::buildInstance(loc, "sentence", status);
+#if !UCONFIG_NO_FILTERED_BREAK_ITERATION
             char ssKeyValue[kKeyValueLenMax] = {0};
             UErrorCode kvStatus = U_ZERO_ERROR;
             int32_t kLen = loc.getKeywordValue("ss", ssKeyValue, kKeyValueLenMax, kvStatus);
@@ -444,11 +458,16 @@ BreakIterator::makeInstance(const Locale& loc, int32_t kind, UErrorCode& status)
                     delete fbiBuilder;
                 }
             }
-        }
 #endif
+            UTRACE_EXIT_STATUS(status);
+        }
         break;
     case UBRK_TITLE:
-        result = BreakIterator::buildInstance(loc, "title", status);
+        {
+            UTRACE_ENTRY(UTRACE_UBRK_CREATE_TITLE);
+            result = BreakIterator::buildInstance(loc, "title", status);
+            UTRACE_EXIT_STATUS(status);
+        }
         break;
     default:
         status = U_ILLEGAL_ARGUMENT_ERROR;
index 7f7fd8d..8d60442 100644 (file)
@@ -274,7 +274,10 @@ inline T *LocalMemory<T>::allocateInsteadAndCopy(int32_t newCapacity, int32_t le
  *
  * WARNING: MaybeStackArray only works with primitive (plain-old data) types.
  * It does NOT know how to call a destructor! If you work with classes with
- * destructors, consider LocalArray in localpointer.h or MemoryPool.
+ * destructors, consider:
+ *
+ * - LocalArray in localpointer.h if you know the length ahead of time
+ * - MaybeStackVector if you know the length at runtime
  */
 template<typename T, int32_t stackCapacity>
 class MaybeStackArray {
@@ -684,26 +687,26 @@ inline H *MaybeStackHeaderAndArray<H, T, stackCapacity>::orphanOrClone(int32_t l
 template<typename T, int32_t stackCapacity = 8>
 class MemoryPool : public UMemory {
 public:
-    MemoryPool() : count(0), pool() {}
+    MemoryPool() : fCount(0), fPool() {}
 
     ~MemoryPool() {
-        for (int32_t i = 0; i < count; ++i) {
-            delete pool[i];
+        for (int32_t i = 0; i < fCount; ++i) {
+            delete fPool[i];
         }
     }
 
     MemoryPool(const MemoryPool&) = delete;
     MemoryPool& operator=(const MemoryPool&) = delete;
 
-    MemoryPool(MemoryPool&& other) U_NOEXCEPT : count(other.count),
-                                                pool(std::move(other.pool)) {
-        other.count = 0;
+    MemoryPool(MemoryPool&& other) U_NOEXCEPT : fCount(other.fCount),
+                                                fPool(std::move(other.fPool)) {
+        other.fCount = 0;
     }
 
     MemoryPool& operator=(MemoryPool&& other) U_NOEXCEPT {
-        count = other.count;
-        pool = std::move(other.pool);
-        other.count = 0;
+        fCount = other.fCount;
+        fPool = std::move(other.fPool);
+        other.fCount = 0;
         return *this;
     }
 
@@ -716,20 +719,101 @@ public:
      */
     template<typename... Args>
     T* create(Args&&... args) {
-        int32_t capacity = pool.getCapacity();
-        if (count == capacity &&
-            pool.resize(capacity == stackCapacity ? 4 * capacity : 2 * capacity,
-                        capacity) == nullptr) {
+        int32_t capacity = fPool.getCapacity();
+        if (fCount == capacity &&
+            fPool.resize(capacity == stackCapacity ? 4 * capacity : 2 * capacity,
+                         capacity) == nullptr) {
             return nullptr;
         }
-        return pool[count++] = new T(std::forward<Args>(args)...);
+        return fPool[fCount++] = new T(std::forward<Args>(args)...);
     }
 
-private:
-    int32_t count;
-    MaybeStackArray<T*, stackCapacity> pool;
+    /**
+     * @return Number of elements that have been allocated.
+     */
+    int32_t count() const {
+        return fCount;
+    }
+
+protected:
+    int32_t fCount;
+    MaybeStackArray<T*, stackCapacity> fPool;
+};
+
+/**
+ * An internal Vector-like implementation based on MemoryPool.
+ *
+ * Heap-allocates each element and stores pointers.
+ *
+ * To append an item to the vector, use emplaceBack.
+ *
+ *     MaybeStackVector<MyType> vector;
+ *     MyType* element = vector.emplaceBack();
+ *     if (!element) {
+ *         status = U_MEMORY_ALLOCATION_ERROR;
+ *     }
+ *     // do stuff with element
+ *
+ * To loop over the vector, use a for loop with indices:
+ *
+ *     for (int32_t i = 0; i < vector.length(); i++) {
+ *         MyType* element = vector[i];
+ *     }
+ */
+template<typename T, int32_t stackCapacity = 8>
+class MaybeStackVector : protected MemoryPool<T, stackCapacity> {
+public:
+    using MemoryPool<T, stackCapacity>::MemoryPool;
+    using MemoryPool<T, stackCapacity>::operator=;
+
+    template<typename... Args>
+    T* emplaceBack(Args&&... args) {
+        return this->create(args...);
+    }
+
+    int32_t length() const {
+        return this->fCount;
+    }
+
+    T** getAlias() {
+        return this->fPool.getAlias();
+    }
+
+    /**
+     * Array item access (read-only).
+     * No index bounds check.
+     * @param i array index
+     * @return reference to the array item
+     */
+    const T* operator[](ptrdiff_t i) const {
+        return this->fPool[i];
+    }
+
+    /**
+     * Array item access (writable).
+     * No index bounds check.
+     * @param i array index
+     * @return reference to the array item
+     */
+    T* operator[](ptrdiff_t i) {
+        return this->fPool[i];
+    }
+
+    /**
+     * Append all the items from another MaybeStackVector to this one.
+     */
+    void appendAll(const MaybeStackVector& other, UErrorCode& status) {
+        for (int32_t i = 0; i < other.fCount; i++) {
+            T* item = emplaceBack(*other[i]);
+            if (!item) {
+                status = U_MEMORY_ALLOCATION_ERROR;
+                return;
+            }
+        }
+    }
 };
 
+
 U_NAMESPACE_END
 
 #endif  /* __cplusplus */
index 8761d2f..3cee657 100644 (file)
@@ -74,7 +74,7 @@
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
     </ClCompile>
     <Link>
-      <OutputFile>..\..\$(IcuBinOutputDir)\icuuc66d.dll</OutputFile>
+      <OutputFile>..\..\$(IcuBinOutputDir)\icuuc67d.dll</OutputFile>
       <ProgramDatabaseFile>.\..\..\$(IcuLibOutputDir)\icuucd.pdb</ProgramDatabaseFile>
       <ImportLibrary>..\..\$(IcuLibOutputDir)\icuucd.lib</ImportLibrary>
     </Link>
@@ -86,7 +86,7 @@
       <FunctionLevelLinking>true</FunctionLevelLinking>
     </ClCompile>
     <Link>
-      <OutputFile>..\..\$(IcuBinOutputDir)\icuuc66.dll</OutputFile>
+      <OutputFile>..\..\$(IcuBinOutputDir)\icuuc67.dll</OutputFile>
       <ProgramDatabaseFile>.\..\..\$(IcuLibOutputDir)\icuuc.pdb</ProgramDatabaseFile>
       <ImportLibrary>..\..\$(IcuLibOutputDir)\icuuc.lib</ImportLibrary>
     </Link>
index f9fe936..cd97800 100644 (file)
     <Link>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
       <AdditionalDependencies>vccorlib.lib;msvcrt.lib;vcruntime.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>..\..\$(IcuBinOutputDir)\icuuc66.dll</OutputFile>
+      <OutputFile>..\..\$(IcuBinOutputDir)\icuuc67.dll</OutputFile>
       <ProgramDatabaseFile>.\..\..\$(IcuLibOutputDir)\icuuc.pdb</ProgramDatabaseFile>
       <ImportLibrary>..\..\$(IcuLibOutputDir)\icuuc.lib</ImportLibrary>
     </Link>
     <Link>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <AdditionalDependencies>vccorlibd.lib;msvcrtd.lib;vcruntimed.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>..\..\$(IcuBinOutputDir)\icuuc66d.dll</OutputFile>
+      <OutputFile>..\..\$(IcuBinOutputDir)\icuuc67d.dll</OutputFile>
       <ProgramDatabaseFile>.\..\..\$(IcuLibOutputDir)\icuucd.pdb</ProgramDatabaseFile>
       <ImportLibrary>..\..\$(IcuLibOutputDir)\icuucd.lib</ImportLibrary>
     </Link>
index ed0b1a7..3a14e42 100644 (file)
@@ -52,6 +52,8 @@
 U_CAPI UBool U_EXPORT2
 uprv_isASCIILetter(char c);
 
+// NOTE: For u_asciiToUpper that takes a UChar, see ustr_imp.h
+
 U_CAPI char U_EXPORT2
 uprv_toupper(char c);
 
index c769138..b42cdf0 100644 (file)
@@ -18,6 +18,7 @@
 #include "unicode/uniset.h"
 #include "unicode/chariter.h"
 #include "unicode/ubrk.h"
+#include "utracimp.h"
 #include "uvectr32.h"
 #include "uvector.h"
 #include "uassert.h"
@@ -194,6 +195,8 @@ ThaiBreakEngine::ThaiBreakEngine(DictionaryMatcher *adoptDictionary, UErrorCode
     : DictionaryBreakEngine(),
       fDictionary(adoptDictionary)
 {
+    UTRACE_ENTRY(UTRACE_UBRK_CREATE_BREAK_ENGINE);
+    UTRACE_DATA1(UTRACE_INFO, "dictbe=%s", "Thai");
     fThaiWordSet.applyPattern(UNICODE_STRING_SIMPLE("[[:Thai:]&[:LineBreak=SA:]]"), status);
     if (U_SUCCESS(status)) {
         setCharacters(fThaiWordSet);
@@ -213,6 +216,7 @@ ThaiBreakEngine::ThaiBreakEngine(DictionaryMatcher *adoptDictionary, UErrorCode
     fEndWordSet.compact();
     fBeginWordSet.compact();
     fSuffixSet.compact();
+    UTRACE_EXIT_STATUS(status);
 }
 
 ThaiBreakEngine::~ThaiBreakEngine() {
@@ -436,6 +440,8 @@ LaoBreakEngine::LaoBreakEngine(DictionaryMatcher *adoptDictionary, UErrorCode &s
     : DictionaryBreakEngine(),
       fDictionary(adoptDictionary)
 {
+    UTRACE_ENTRY(UTRACE_UBRK_CREATE_BREAK_ENGINE);
+    UTRACE_DATA1(UTRACE_INFO, "dictbe=%s", "Laoo");
     fLaoWordSet.applyPattern(UNICODE_STRING_SIMPLE("[[:Laoo:]&[:LineBreak=SA:]]"), status);
     if (U_SUCCESS(status)) {
         setCharacters(fLaoWordSet);
@@ -452,6 +458,7 @@ LaoBreakEngine::LaoBreakEngine(DictionaryMatcher *adoptDictionary, UErrorCode &s
     fMarkSet.compact();
     fEndWordSet.compact();
     fBeginWordSet.compact();
+    UTRACE_EXIT_STATUS(status);
 }
 
 LaoBreakEngine::~LaoBreakEngine() {
@@ -632,6 +639,8 @@ BurmeseBreakEngine::BurmeseBreakEngine(DictionaryMatcher *adoptDictionary, UErro
     : DictionaryBreakEngine(),
       fDictionary(adoptDictionary)
 {
+    UTRACE_ENTRY(UTRACE_UBRK_CREATE_BREAK_ENGINE);
+    UTRACE_DATA1(UTRACE_INFO, "dictbe=%s", "Mymr");
     fBurmeseWordSet.applyPattern(UNICODE_STRING_SIMPLE("[[:Mymr:]&[:LineBreak=SA:]]"), status);
     if (U_SUCCESS(status)) {
         setCharacters(fBurmeseWordSet);
@@ -645,6 +654,7 @@ BurmeseBreakEngine::BurmeseBreakEngine(DictionaryMatcher *adoptDictionary, UErro
     fMarkSet.compact();
     fEndWordSet.compact();
     fBeginWordSet.compact();
+    UTRACE_EXIT_STATUS(status);
 }
 
 BurmeseBreakEngine::~BurmeseBreakEngine() {
@@ -825,6 +835,8 @@ KhmerBreakEngine::KhmerBreakEngine(DictionaryMatcher *adoptDictionary, UErrorCod
     : DictionaryBreakEngine(),
       fDictionary(adoptDictionary)
 {
+    UTRACE_ENTRY(UTRACE_UBRK_CREATE_BREAK_ENGINE);
+    UTRACE_DATA1(UTRACE_INFO, "dictbe=%s", "Khmr");
     fKhmerWordSet.applyPattern(UNICODE_STRING_SIMPLE("[[:Khmr:]&[:LineBreak=SA:]]"), status);
     if (U_SUCCESS(status)) {
         setCharacters(fKhmerWordSet);
@@ -850,6 +862,7 @@ KhmerBreakEngine::KhmerBreakEngine(DictionaryMatcher *adoptDictionary, UErrorCod
     fEndWordSet.compact();
     fBeginWordSet.compact();
 //    fSuffixSet.compact();
+    UTRACE_EXIT_STATUS(status);
 }
 
 KhmerBreakEngine::~KhmerBreakEngine() {
@@ -1045,6 +1058,8 @@ foundBest:
 static const uint32_t kuint32max = 0xFFFFFFFF;
 CjkBreakEngine::CjkBreakEngine(DictionaryMatcher *adoptDictionary, LanguageType type, UErrorCode &status)
 : DictionaryBreakEngine(), fDictionary(adoptDictionary) {
+    UTRACE_ENTRY(UTRACE_UBRK_CREATE_BREAK_ENGINE);
+    UTRACE_DATA1(UTRACE_INFO, "dictbe=%s", "Hani");
     // Korean dictionary only includes Hangul syllables
     fHangulWordSet.applyPattern(UNICODE_STRING_SIMPLE("[\\uac00-\\ud7a3]"), status);
     fHanWordSet.applyPattern(UNICODE_STRING_SIMPLE("[:Han:]"), status);
@@ -1066,6 +1081,7 @@ CjkBreakEngine::CjkBreakEngine(DictionaryMatcher *adoptDictionary, LanguageType
             setCharacters(cjSet);
         }
     }
+    UTRACE_EXIT_STATUS(status);
 }
 
 CjkBreakEngine::~CjkBreakEngine(){
index d975fe7..85db8c8 100644 (file)
@@ -12,6 +12,7 @@
 #include "unicode/localematcher.h"
 #include "unicode/locid.h"
 #include "unicode/stringpiece.h"
+#include "unicode/uloc.h"
 #include "unicode/uobject.h"
 #include "cstring.h"
 #include "localeprioritylist.h"
 #include "lsr.h"
 #include "uassert.h"
 #include "uhash.h"
+#include "ustr_imp.h"
 #include "uvector.h"
 
-#define UND_LSR LSR("und", "", "")
+#define UND_LSR LSR("und", "", "", LSR::EXPLICIT_LSR)
 
 /**
  * Indicator for the lifetime of desired-locale objects passed into the LocaleMatcher.
@@ -129,7 +131,8 @@ LocaleMatcher::Builder::Builder(LocaleMatcher::Builder &&src) U_NOEXCEPT :
         thresholdDistance_(src.thresholdDistance_),
         demotion_(src.demotion_),
         defaultLocale_(src.defaultLocale_),
-        favor_(src.favor_) {
+        favor_(src.favor_),
+        direction_(src.direction_) {
     src.supportedLocales_ = nullptr;
     src.defaultLocale_ = nullptr;
 }
@@ -148,6 +151,7 @@ LocaleMatcher::Builder &LocaleMatcher::Builder::operator=(LocaleMatcher::Builder
     demotion_ = src.demotion_;
     defaultLocale_ = src.defaultLocale_;
     favor_ = src.favor_;
+    direction_ = src.direction_;
 
     src.supportedLocales_ = nullptr;
     src.defaultLocale_ = nullptr;
@@ -308,38 +312,53 @@ UBool compareLSRs(const UHashTok t1, const UHashTok t2) {
     return *lsr1 == *lsr2;
 }
 
-bool putIfAbsent(UHashtable *lsrToIndex, const LSR &lsr, int32_t i, UErrorCode &errorCode) {
-    if (U_FAILURE(errorCode)) { return false; }
-    U_ASSERT(i > 0);
-    int32_t index = uhash_geti(lsrToIndex, &lsr);
-    if (index != 0) {
-        return false;
-    } else {
-        uhash_puti(lsrToIndex, const_cast<LSR *>(&lsr), i, &errorCode);
-        return U_SUCCESS(errorCode);
+}  // namespace
+
+int32_t LocaleMatcher::putIfAbsent(const LSR &lsr, int32_t i, int32_t suppLength,
+                                   UErrorCode &errorCode) {
+    if (U_FAILURE(errorCode)) { return suppLength; }
+    int32_t index = uhash_geti(supportedLsrToIndex, &lsr);
+    if (index == 0) {
+        uhash_puti(supportedLsrToIndex, const_cast<LSR *>(&lsr), i + 1, &errorCode);
+        if (U_SUCCESS(errorCode)) {
+            supportedLSRs[suppLength] = &lsr;
+            supportedIndexes[suppLength++] = i;
+        }
     }
+    return suppLength;
 }
 
-}  // namespace
-
 LocaleMatcher::LocaleMatcher(const Builder &builder, UErrorCode &errorCode) :
         likelySubtags(*XLikelySubtags::getSingleton(errorCode)),
         localeDistance(*LocaleDistance::getSingleton(errorCode)),
         thresholdDistance(builder.thresholdDistance_),
         demotionPerDesiredLocale(0),
         favorSubtag(builder.favor_),
+        direction(builder.direction_),
         supportedLocales(nullptr), lsrs(nullptr), supportedLocalesLength(0),
         supportedLsrToIndex(nullptr),
         supportedLSRs(nullptr), supportedIndexes(nullptr), supportedLSRsLength(0),
-        ownedDefaultLocale(nullptr), defaultLocale(nullptr), defaultLocaleIndex(-1) {
+        ownedDefaultLocale(nullptr), defaultLocale(nullptr) {
     if (U_FAILURE(errorCode)) { return; }
     if (thresholdDistance < 0) {
         thresholdDistance = localeDistance.getDefaultScriptDistance();
     }
+    const Locale *def = builder.defaultLocale_;
+    LSR builderDefaultLSR;
+    const LSR *defLSR = nullptr;
+    if (def != nullptr) {
+        ownedDefaultLocale = def->clone();
+        if (ownedDefaultLocale == nullptr) {
+            errorCode = U_MEMORY_ALLOCATION_ERROR;
+            return;
+        }
+        def = ownedDefaultLocale;
+        builderDefaultLSR = getMaximalLsrOrUnd(likelySubtags, *def, errorCode);
+        if (U_FAILURE(errorCode)) { return; }
+        defLSR = &builderDefaultLSR;
+    }
     supportedLocalesLength = builder.supportedLocales_ != nullptr ?
         builder.supportedLocales_->size() : 0;
-    const Locale *def = builder.defaultLocale_;
-    int32_t idef = -1;
     if (supportedLocalesLength > 0) {
         // Store the supported locales in input order,
         // so that when different types are used (e.g., language tag strings)
@@ -356,15 +375,6 @@ LocaleMatcher::LocaleMatcher(const Builder &builder, UErrorCode &errorCode) :
         }
         // If the constructor fails partway, we need null pointers for destructibility.
         uprv_memset(supportedLocales, 0, supportedLocalesLength * sizeof(const Locale *));
-        // Also find the first supported locale whose LSR is
-        // the same as that for the default locale.
-        LSR builderDefaultLSR;
-        const LSR *defLSR = nullptr;
-        if (def != nullptr) {
-            builderDefaultLSR = getMaximalLsrOrUnd(likelySubtags, *def, errorCode);
-            if (U_FAILURE(errorCode)) { return; }
-            defLSR = &builderDefaultLSR;
-        }
         for (int32_t i = 0; i < supportedLocalesLength; ++i) {
             const Locale &locale = *static_cast<Locale *>(builder.supportedLocales_->elementAt(i));
             supportedLocales[i] = locale.clone();
@@ -376,103 +386,74 @@ LocaleMatcher::LocaleMatcher(const Builder &builder, UErrorCode &errorCode) :
             LSR &lsr = lsrs[i] = getMaximalLsrOrUnd(likelySubtags, supportedLocale, errorCode);
             lsr.setHashCode();
             if (U_FAILURE(errorCode)) { return; }
-            if (idef < 0 && defLSR != nullptr && lsr == *defLSR) {
-                idef = i;
-                defLSR = &lsr;  // owned pointer to put into supportedLsrToIndex
-                if (*def == supportedLocale) {
-                    def = &supportedLocale;  // owned pointer to keep
-                }
-            }
         }
 
         // We need an unordered map from LSR to first supported locale with that LSR,
-        // and an ordered list of (LSR, supported index).
-        // We insert the supported locales in the following order:
+        // and an ordered list of (LSR, supported index) for
+        // the supported locales in the following order:
         // 1. Default locale, if it is supported.
         // 2. Priority locales (aka "paradigm locales") in builder order.
         // 3. Remaining locales in builder order.
-        // In Java, we use a LinkedHashMap for both map & ordered lists.
-        // In C++, we use separate structures.
-        // We over-allocate arrays of LSRs and indexes for simplicity.
-        // We reserve slots at the array starts for the default and paradigm locales,
-        // plus enough for all supported locales.
-        // If there are few paradigm locales and few duplicate supported LSRs,
-        // then the amount of wasted space is small.
         supportedLsrToIndex = uhash_openSize(hashLSR, compareLSRs, uhash_compareLong,
                                              supportedLocalesLength, &errorCode);
         if (U_FAILURE(errorCode)) { return; }
-        int32_t paradigmLimit = 1 + localeDistance.getParadigmLSRsLength();
-        int32_t suppLSRsCapacity = paradigmLimit + supportedLocalesLength;
         supportedLSRs = static_cast<const LSR **>(
-            uprv_malloc(suppLSRsCapacity * sizeof(const LSR *)));
+            uprv_malloc(supportedLocalesLength * sizeof(const LSR *)));
         supportedIndexes = static_cast<int32_t *>(
-            uprv_malloc(suppLSRsCapacity * sizeof(int32_t)));
+            uprv_malloc(supportedLocalesLength * sizeof(int32_t)));
         if (supportedLSRs == nullptr || supportedIndexes == nullptr) {
             errorCode = U_MEMORY_ALLOCATION_ERROR;
             return;
         }
-        int32_t paradigmIndex = 0;
-        int32_t otherIndex = paradigmLimit;
-        if (idef >= 0) {
-            uhash_puti(supportedLsrToIndex, const_cast<LSR *>(defLSR), idef + 1, &errorCode);
-            supportedLSRs[0] = defLSR;
-            supportedIndexes[0] = idef;
-            paradigmIndex = 1;
+        int32_t suppLength = 0;
+        // Determine insertion order.
+        // Add locales immediately that are equivalent to the default.
+        MaybeStackArray<int8_t, 100> order(supportedLocalesLength);
+        if (order.getAlias() == nullptr) {
+            errorCode = U_MEMORY_ALLOCATION_ERROR;
+            return;
         }
+        int32_t numParadigms = 0;
         for (int32_t i = 0; i < supportedLocalesLength; ++i) {
-            if (i == idef) { continue; }
             const Locale &locale = *supportedLocales[i];
             const LSR &lsr = lsrs[i];
             if (defLSR == nullptr) {
                 U_ASSERT(i == 0);
                 def = &locale;
                 defLSR = &lsr;
-                idef = 0;
-                uhash_puti(supportedLsrToIndex, const_cast<LSR *>(&lsr), 0 + 1, &errorCode);
-                supportedLSRs[0] = &lsr;
-                supportedIndexes[0] = 0;
-                paradigmIndex = 1;
-            } else if (idef >= 0 && lsr == *defLSR) {
-                // lsr == *defLSR means that this supported locale is
-                // a duplicate of the default locale.
-                // Either an explicit default locale is supported, and we added it before the loop,
-                // or there is no explicit default locale, and this is
-                // a duplicate of the first supported locale.
-                // In both cases, idef >= 0 now, so otherwise we can skip the comparison.
-                // For a duplicate, putIfAbsent() is a no-op, so nothing to do.
+                order[i] = 1;
+                suppLength = putIfAbsent(lsr, 0, suppLength, errorCode);
+            } else if (lsr.isEquivalentTo(*defLSR)) {
+                order[i] = 1;
+                suppLength = putIfAbsent(lsr, i, suppLength, errorCode);
+            } else if (localeDistance.isParadigmLSR(lsr)) {
+                order[i] = 2;
+                ++numParadigms;
             } else {
-                if (putIfAbsent(supportedLsrToIndex, lsr, i + 1, errorCode)) {
-                    if (localeDistance.isParadigmLSR(lsr)) {
-                        supportedLSRs[paradigmIndex] = &lsr;
-                        supportedIndexes[paradigmIndex++] = i;
-                    } else {
-                        supportedLSRs[otherIndex] = &lsr;
-                        supportedIndexes[otherIndex++] = i;
-                    }
-                }
+                order[i] = 3;
             }
             if (U_FAILURE(errorCode)) { return; }
         }
-        // Squeeze out unused array slots.
-        if (paradigmIndex < paradigmLimit && paradigmLimit < otherIndex) {
-            uprv_memmove(supportedLSRs + paradigmIndex, supportedLSRs + paradigmLimit,
-                         (otherIndex - paradigmLimit) * sizeof(const LSR *));
-            uprv_memmove(supportedIndexes + paradigmIndex, supportedIndexes + paradigmLimit,
-                         (otherIndex - paradigmLimit) * sizeof(int32_t));
+        // Add supported paradigm locales.
+        int32_t paradigmLimit = suppLength + numParadigms;
+        for (int32_t i = 0; i < supportedLocalesLength && suppLength < paradigmLimit; ++i) {
+            if (order[i] == 2) {
+                suppLength = putIfAbsent(lsrs[i], i, suppLength, errorCode);
+            }
         }
-        supportedLSRsLength = otherIndex - (paradigmLimit - paradigmIndex);
-    }
-
-    if (def != nullptr && (idef < 0 || def != supportedLocales[idef])) {
-        ownedDefaultLocale = def->clone();
-        if (ownedDefaultLocale == nullptr) {
-            errorCode = U_MEMORY_ALLOCATION_ERROR;
-            return;
+        // Add remaining supported locales.
+        for (int32_t i = 0; i < supportedLocalesLength; ++i) {
+            if (order[i] == 3) {
+                suppLength = putIfAbsent(lsrs[i], i, suppLength, errorCode);
+            }
         }
-        def = ownedDefaultLocale;
+        supportedLSRsLength = suppLength;
+        // If supportedLSRsLength < supportedLocalesLength then
+        // we waste as many array slots as there are duplicate supported LSRs,
+        // but the amount of wasted space is small as long as there are few duplicates.
     }
+
     defaultLocale = def;
-    defaultLocaleIndex = idef;
 
     if (builder.demotion_ == ULOCMATCH_DEMOTION_REGION) {
         demotionPerDesiredLocale = localeDistance.getDefaultDemotionPerDesiredLocale();
@@ -485,14 +466,14 @@ LocaleMatcher::LocaleMatcher(LocaleMatcher &&src) U_NOEXCEPT :
         thresholdDistance(src.thresholdDistance),
         demotionPerDesiredLocale(src.demotionPerDesiredLocale),
         favorSubtag(src.favorSubtag),
+        direction(src.direction),
         supportedLocales(src.supportedLocales), lsrs(src.lsrs),
         supportedLocalesLength(src.supportedLocalesLength),
         supportedLsrToIndex(src.supportedLsrToIndex),
         supportedLSRs(src.supportedLSRs),
         supportedIndexes(src.supportedIndexes),
         supportedLSRsLength(src.supportedLSRsLength),
-        ownedDefaultLocale(src.ownedDefaultLocale), defaultLocale(src.defaultLocale),
-        defaultLocaleIndex(src.defaultLocaleIndex) {
+        ownedDefaultLocale(src.ownedDefaultLocale), defaultLocale(src.defaultLocale) {
     src.supportedLocales = nullptr;
     src.lsrs = nullptr;
     src.supportedLocalesLength = 0;
@@ -502,7 +483,6 @@ LocaleMatcher::LocaleMatcher(LocaleMatcher &&src) U_NOEXCEPT :
     src.supportedLSRsLength = 0;
     src.ownedDefaultLocale = nullptr;
     src.defaultLocale = nullptr;
-    src.defaultLocaleIndex = -1;
 }
 
 LocaleMatcher::~LocaleMatcher() {
@@ -523,6 +503,7 @@ LocaleMatcher &LocaleMatcher::operator=(LocaleMatcher &&src) U_NOEXCEPT {
     thresholdDistance = src.thresholdDistance;
     demotionPerDesiredLocale = src.demotionPerDesiredLocale;
     favorSubtag = src.favorSubtag;
+    direction = src.direction;
     supportedLocales = src.supportedLocales;
     lsrs = src.lsrs;
     supportedLocalesLength = src.supportedLocalesLength;
@@ -532,7 +513,6 @@ LocaleMatcher &LocaleMatcher::operator=(LocaleMatcher &&src) U_NOEXCEPT {
     supportedLSRsLength = src.supportedLSRsLength;
     ownedDefaultLocale = src.ownedDefaultLocale;
     defaultLocale = src.defaultLocale;
-    defaultLocaleIndex = src.defaultLocaleIndex;
 
     src.supportedLocales = nullptr;
     src.lsrs = nullptr;
@@ -543,7 +523,6 @@ LocaleMatcher &LocaleMatcher::operator=(LocaleMatcher &&src) U_NOEXCEPT {
     src.supportedLSRsLength = 0;
     src.ownedDefaultLocale = nullptr;
     src.defaultLocale = nullptr;
-    src.defaultLocaleIndex = -1;
     return *this;
 }
 
@@ -630,13 +609,13 @@ const Locale *LocaleMatcher::getBestMatchForListString(
 LocaleMatcher::Result LocaleMatcher::getBestMatchResult(
         const Locale &desiredLocale, UErrorCode &errorCode) const {
     if (U_FAILURE(errorCode)) {
-        return Result(nullptr, defaultLocale, -1, defaultLocaleIndex, FALSE);
+        return Result(nullptr, defaultLocale, -1, -1, FALSE);
     }
     int32_t suppIndex = getBestSuppIndex(
         getMaximalLsrOrUnd(likelySubtags, desiredLocale, errorCode),
         nullptr, errorCode);
     if (U_FAILURE(errorCode) || suppIndex < 0) {
-        return Result(nullptr, defaultLocale, -1, defaultLocaleIndex, FALSE);
+        return Result(nullptr, defaultLocale, -1, -1, FALSE);
     } else {
         return Result(&desiredLocale, supportedLocales[suppIndex], 0, suppIndex, FALSE);
     }
@@ -645,12 +624,12 @@ LocaleMatcher::Result LocaleMatcher::getBestMatchResult(
 LocaleMatcher::Result LocaleMatcher::getBestMatchResult(
         Locale::Iterator &desiredLocales, UErrorCode &errorCode) const {
     if (U_FAILURE(errorCode) || !desiredLocales.hasNext()) {
-        return Result(nullptr, defaultLocale, -1, defaultLocaleIndex, FALSE);
+        return Result(nullptr, defaultLocale, -1, -1, FALSE);
     }
     LocaleLsrIterator lsrIter(likelySubtags, desiredLocales, ULOCMATCH_TEMPORARY_LOCALES);
     int32_t suppIndex = getBestSuppIndex(lsrIter.next(errorCode), &lsrIter, errorCode);
     if (U_FAILURE(errorCode) || suppIndex < 0) {
-        return Result(nullptr, defaultLocale, -1, defaultLocaleIndex, FALSE);
+        return Result(nullptr, defaultLocale, -1, -1, FALSE);
     } else {
         return Result(lsrIter.orphanRemembered(), supportedLocales[suppIndex],
                       lsrIter.getBestDesiredIndex(), suppIndex, TRUE);
@@ -662,7 +641,7 @@ int32_t LocaleMatcher::getBestSuppIndex(LSR desiredLSR, LocaleLsrIterator *remai
     if (U_FAILURE(errorCode)) { return -1; }
     int32_t desiredIndex = 0;
     int32_t bestSupportedLsrIndex = -1;
-    for (int32_t bestDistance = thresholdDistance;;) {
+    for (int32_t bestShiftedDistance = LocaleDistance::shiftDistance(thresholdDistance);;) {
         // Quick check for exact maximized LSR.
         // Returns suppIndex+1 where 0 means not found.
         if (supportedLsrToIndex != nullptr) {
@@ -677,16 +656,17 @@ int32_t LocaleMatcher::getBestSuppIndex(LSR desiredLSR, LocaleLsrIterator *remai
             }
         }
         int32_t bestIndexAndDistance = localeDistance.getBestIndexAndDistance(
-                desiredLSR, supportedLSRs, supportedLSRsLength, bestDistance, favorSubtag);
+                desiredLSR, supportedLSRs, supportedLSRsLength,
+                bestShiftedDistance, favorSubtag, direction);
         if (bestIndexAndDistance >= 0) {
-            bestDistance = bestIndexAndDistance & 0xff;
+            bestShiftedDistance = LocaleDistance::getShiftedDistance(bestIndexAndDistance);
             if (remainingIter != nullptr) {
                 remainingIter->rememberCurrent(desiredIndex, errorCode);
                 if (U_FAILURE(errorCode)) { return -1; }
             }
-            bestSupportedLsrIndex = bestIndexAndDistance >= 0 ? bestIndexAndDistance >> 8 : -1;
+            bestSupportedLsrIndex = LocaleDistance::getIndex(bestIndexAndDistance);
         }
-        if ((bestDistance -= demotionPerDesiredLocale) <= 0) {
+        if ((bestShiftedDistance -= LocaleDistance::shiftDistance(demotionPerDesiredLocale)) <= 0) {
             break;
         }
         if (remainingIter == nullptr || !remainingIter->hasNext()) {
@@ -708,13 +688,107 @@ double LocaleMatcher::internalMatch(const Locale &desired, const Locale &support
     LSR suppLSR = getMaximalLsrOrUnd(likelySubtags, supported, errorCode);
     if (U_FAILURE(errorCode)) { return 0; }
     const LSR *pSuppLSR = &suppLSR;
-    int32_t distance = localeDistance.getBestIndexAndDistance(
+    int32_t indexAndDistance = localeDistance.getBestIndexAndDistance(
             getMaximalLsrOrUnd(likelySubtags, desired, errorCode),
             &pSuppLSR, 1,
-            thresholdDistance, favorSubtag) & 0xff;
-    return (100 - distance) / 100.0;
+            LocaleDistance::shiftDistance(thresholdDistance), favorSubtag, direction);
+    double distance = LocaleDistance::getDistanceDouble(indexAndDistance);
+    return (100.0 - distance) / 100.0;
 }
 
 U_NAMESPACE_END
 
+// uloc_acceptLanguage() --------------------------------------------------- ***
+
+U_NAMESPACE_USE
+
+namespace {
+
+class LocaleFromTag {
+public:
+    LocaleFromTag() : locale(Locale::getRoot()) {}
+    const Locale &operator()(const char *tag) { return locale = Locale(tag); }
+
+private:
+    // Store the locale in the converter, rather than return a reference to a temporary,
+    // or a value which could go out of scope with the caller's reference to it.
+    Locale locale;
+};
+
+int32_t acceptLanguage(UEnumeration &supportedLocales, Locale::Iterator &desiredLocales,
+                       char *dest, int32_t capacity, UAcceptResult *acceptResult,
+                       UErrorCode &errorCode) {
+    if (U_FAILURE(errorCode)) { return 0; }
+    LocaleMatcher::Builder builder;
+    const char *locString;
+    while ((locString = uenum_next(&supportedLocales, nullptr, &errorCode)) != nullptr) {
+        Locale loc(locString);
+        if (loc.isBogus()) {
+            errorCode = U_ILLEGAL_ARGUMENT_ERROR;
+            return 0;
+        }
+        builder.addSupportedLocale(loc);
+    }
+    LocaleMatcher matcher = builder.build(errorCode);
+    LocaleMatcher::Result result = matcher.getBestMatchResult(desiredLocales, errorCode);
+    if (U_FAILURE(errorCode)) { return 0; }
+    if (result.getDesiredIndex() >= 0) {
+        if (acceptResult != nullptr) {
+            *acceptResult = *result.getDesiredLocale() == *result.getSupportedLocale() ?
+                ULOC_ACCEPT_VALID : ULOC_ACCEPT_FALLBACK;
+        }
+        const char *bestStr = result.getSupportedLocale()->getName();
+        int32_t bestLength = (int32_t)uprv_strlen(bestStr);
+        if (bestLength <= capacity) {
+            uprv_memcpy(dest, bestStr, bestLength);
+        }
+        return u_terminateChars(dest, capacity, bestLength, &errorCode);
+    } else {
+        if (acceptResult != nullptr) {
+            *acceptResult = ULOC_ACCEPT_FAILED;
+        }
+        return u_terminateChars(dest, capacity, 0, &errorCode);
+    }
+}
+
+}  // namespace
+
+U_CAPI int32_t U_EXPORT2
+uloc_acceptLanguage(char *result, int32_t resultAvailable,
+                    UAcceptResult *outResult,
+                    const char **acceptList, int32_t acceptListCount,
+                    UEnumeration *availableLocales,
+                    UErrorCode *status) {
+    if (U_FAILURE(*status)) { return 0; }
+    if ((result == nullptr ? resultAvailable != 0 : resultAvailable < 0) ||
+            (acceptList == nullptr ? acceptListCount != 0 : acceptListCount < 0) ||
+            availableLocales == nullptr) {
+        *status = U_ILLEGAL_ARGUMENT_ERROR;
+        return 0;
+    }
+    LocaleFromTag converter;
+    Locale::ConvertingIterator<const char **, LocaleFromTag> desiredLocales(
+        acceptList, acceptList + acceptListCount, converter);
+    return acceptLanguage(*availableLocales, desiredLocales,
+                          result, resultAvailable, outResult, *status);
+}
+
+U_CAPI int32_t U_EXPORT2
+uloc_acceptLanguageFromHTTP(char *result, int32_t resultAvailable,
+                            UAcceptResult *outResult,
+                            const char *httpAcceptLanguage,
+                            UEnumeration *availableLocales,
+                            UErrorCode *status) {
+    if (U_FAILURE(*status)) { return 0; }
+    if ((result == nullptr ? resultAvailable != 0 : resultAvailable < 0) ||
+            httpAcceptLanguage == nullptr || availableLocales == nullptr) {
+        *status = U_ILLEGAL_ARGUMENT_ERROR;
+        return 0;
+    }
+    LocalePriorityList list(httpAcceptLanguage, *status);
+    LocalePriorityList::Iterator desiredLocales = list.iterator();
+    return acceptLanguage(*availableLocales, desiredLocales,
+                          result, resultAvailable, outResult, *status);
+}
+
 #endif  // __LOCMATCHER_H__
index 06442fb..cee4082 100644 (file)
@@ -133,7 +133,7 @@ LocalePriorityList::LocalePriorityList(StringPiece s, UErrorCode &errorCode) {
         if (U_FAILURE(errorCode)) { return; }
         Locale locale = Locale(tag.data());
         if (locale.isBogus()) {
-            errorCode = U_MEMORY_ALLOCATION_ERROR;
+            errorCode = U_ILLEGAL_ARGUMENT_ERROR;
             return;
         }
         int32_t weight = WEIGHT_ONE;
index 800d0ea..18e4d91 100644 (file)
@@ -69,7 +69,7 @@ void U_CALLCONV LocaleDistance::initLocaleDistance(UErrorCode &errorCode) {
         errorCode = U_MISSING_RESOURCE_ERROR;
         return;
     }
-    gLocaleDistance = new LocaleDistance(data);
+    gLocaleDistance = new LocaleDistance(data, likely);
     if (gLocaleDistance == nullptr) {
         errorCode = U_MEMORY_ALLOCATION_ERROR;
         return;
@@ -83,7 +83,8 @@ const LocaleDistance *LocaleDistance::getSingleton(UErrorCode &errorCode) {
     return gLocaleDistance;
 }
 
-LocaleDistance::LocaleDistance(const LocaleDistanceData &data) :
+LocaleDistance::LocaleDistance(const LocaleDistanceData &data, const XLikelySubtags &likely) :
+        likelySubtags(likely),
         trie(data.distanceTrieBytes),
         regionToPartitionsIndex(data.regionToPartitions), partitionArrays(data.partitions),
         paradigmLSRs(data.paradigms), paradigmLSRsLength(data.paradigmsLength),
@@ -97,17 +98,19 @@ LocaleDistance::LocaleDistance(const LocaleDistanceData &data) :
     // a mere region difference for one desired locale
     // is as good as a perfect match for the next following desired locale.
     // As of CLDR 36, we have <languageMatch desired="en_*_*" supported="en_*_*" distance="5"/>.
-    LSR en("en", "Latn", "US");
-    LSR enGB("en", "Latn", "GB");
+    LSR en("en", "Latn", "US", LSR::EXPLICIT_LSR);
+    LSR enGB("en", "Latn", "GB", LSR::EXPLICIT_LSR);
     const LSR *p_enGB = &enGB;
-    defaultDemotionPerDesiredLocale = getBestIndexAndDistance(en, &p_enGB, 1,
-            50, ULOCMATCH_FAVOR_LANGUAGE) & 0xff;
+    int32_t indexAndDistance = getBestIndexAndDistance(en, &p_enGB, 1,
+            shiftDistance(50), ULOCMATCH_FAVOR_LANGUAGE, ULOCMATCH_DIRECTION_WITH_ONE_WAY);
+    defaultDemotionPerDesiredLocale  = getDistanceFloor(indexAndDistance);
 }
 
 int32_t LocaleDistance::getBestIndexAndDistance(
         const LSR &desired,
         const LSR **supportedLSRs, int32_t supportedLSRsLength,
-        int32_t threshold, ULocMatchFavorSubtag favorSubtag) const {
+        int32_t shiftedThreshold,
+        ULocMatchFavorSubtag favorSubtag, ULocMatchDirection direction) const {
     BytesTrie iter(trie);
     // Look up the desired language only once for all supported LSRs.
     // Its "distance" is either a match point value of 0, or a non-match negative value.
@@ -116,6 +119,8 @@ int32_t LocaleDistance::getBestIndexAndDistance(
     uint64_t desLangState = desLangDistance >= 0 && supportedLSRsLength > 1 ? iter.getState64() : 0;
     // Index of the supported LSR with the lowest distance.
     int32_t bestIndex = -1;
+    // Cached lookup info from XLikelySubtags.compareLikely().
+    int32_t bestLikelyInfo = -1;
     for (int32_t slIndex = 0; slIndex < supportedLSRsLength; ++slIndex) {
         const LSR &supported = *supportedLSRs[slIndex];
         bool star = false;
@@ -145,6 +150,11 @@ int32_t LocaleDistance::getBestIndexAndDistance(
             star = true;
         }
         U_ASSERT(0 <= distance && distance <= 100);
+        // Round up the shifted threshold (if fraction bits are not 0)
+        // for comparison with un-shifted distances until we need fraction bits.
+        // (If we simply shifted non-zero fraction bits away, then we might ignore a language
+        // when it's really still a micro distance below the threshold.)
+        int32_t roundedThreshold = (shiftedThreshold + DISTANCE_FRACTION_MASK) >> DISTANCE_SHIFT;
         // We implement "favor subtag" by reducing the language subtag distance
         // (unscientifically reducing it to a quarter of the normal value),
         // so that the script distance is relatively more important.
@@ -153,7 +163,9 @@ int32_t LocaleDistance::getBestIndexAndDistance(
         if (favorSubtag == ULOCMATCH_FAVOR_SCRIPT) {
             distance >>= 2;
         }
-        if (distance >= threshold) {
+        // Let distance == roundedThreshold pass until the tie-breaker logic
+        // at the end of the loop.
+        if (distance > roundedThreshold) {
             continue;
         }
 
@@ -171,7 +183,7 @@ int32_t LocaleDistance::getBestIndexAndDistance(
             scriptDistance &= ~DISTANCE_IS_FINAL;
         }
         distance += scriptDistance;
-        if (distance >= threshold) {
+        if (distance > roundedThreshold) {
             continue;
         }
 
@@ -180,8 +192,8 @@ int32_t LocaleDistance::getBestIndexAndDistance(
         } else if (star || (flags & DISTANCE_IS_FINAL) != 0) {
             distance += defaultRegionDistance;
         } else {
-            int32_t remainingThreshold = threshold - distance;
-            if (minRegionDistance >= remainingThreshold) {
+            int32_t remainingThreshold = roundedThreshold - distance;
+            if (minRegionDistance > remainingThreshold) {
                 continue;
             }
 
@@ -196,15 +208,51 @@ int32_t LocaleDistance::getBestIndexAndDistance(
                     partitionsForRegion(supported),
                     remainingThreshold);
         }
-        if (distance < threshold) {
-            if (distance == 0) {
-                return slIndex << 8;
+        int32_t shiftedDistance = shiftDistance(distance);
+        if (shiftedDistance == 0) {
+            // Distinguish between equivalent but originally unequal locales via an
+            // additional micro distance.
+            shiftedDistance |= (desired.flags ^ supported.flags);
+            if (shiftedDistance < shiftedThreshold) {
+                if (direction != ULOCMATCH_DIRECTION_ONLY_TWO_WAY ||
+                        // Is there also a match when we swap desired/supported?
+                        isMatch(supported, desired, shiftedThreshold, favorSubtag)) {
+                    if (shiftedDistance == 0) {
+                        return slIndex << INDEX_SHIFT;
+                    }
+                    bestIndex = slIndex;
+                    shiftedThreshold = shiftedDistance;
+                    bestLikelyInfo = -1;
+                }
+            }
+        } else {
+            if (shiftedDistance < shiftedThreshold) {
+                if (direction != ULOCMATCH_DIRECTION_ONLY_TWO_WAY ||
+                        // Is there also a match when we swap desired/supported?
+                        isMatch(supported, desired, shiftedThreshold, favorSubtag)) {
+                    bestIndex = slIndex;
+                    shiftedThreshold = shiftedDistance;
+                    bestLikelyInfo = -1;
+                }
+            } else if (shiftedDistance == shiftedThreshold && bestIndex >= 0) {
+                if (direction != ULOCMATCH_DIRECTION_ONLY_TWO_WAY ||
+                        // Is there also a match when we swap desired/supported?
+                        isMatch(supported, desired, shiftedThreshold, favorSubtag)) {
+                    bestLikelyInfo = likelySubtags.compareLikely(
+                            supported, *supportedLSRs[bestIndex], bestLikelyInfo);
+                    if ((bestLikelyInfo & 1) != 0) {
+                        // This supported locale matches as well as the previous best match,
+                        // and neither matches perfectly,
+                        // but this one is "more likely" (has more-default subtags).
+                        bestIndex = slIndex;
+                    }
+                }
             }
-            bestIndex = slIndex;
-            threshold = distance;
         }
     }
-    return bestIndex >= 0 ? (bestIndex << 8) | threshold : 0xffffff00 | ABOVE_THRESHOLD;
+    return bestIndex >= 0 ?
+            (bestIndex << INDEX_SHIFT) | shiftedThreshold :
+            INDEX_NEG_1 | shiftDistance(ABOVE_THRESHOLD);
 }
 
 int32_t LocaleDistance::getDesSuppScriptDistance(
@@ -273,7 +321,7 @@ int32_t LocaleDistance::getRegionPartitionsDistance(
                     d = getFallbackRegionDistance(iter, startState);
                     star = true;
                 }
-                if (d >= threshold) {
+                if (d > threshold) {
                     return d;
                 } else if (regionDistance < d) {
                     regionDistance = d;
@@ -286,7 +334,7 @@ int32_t LocaleDistance::getRegionPartitionsDistance(
             }
         } else if (!star) {
             int32_t d = getFallbackRegionDistance(iter, startState);
-            if (d >= threshold) {
+            if (d > threshold) {
                 return d;
             } else if (regionDistance < d) {
                 regionDistance = d;
@@ -352,11 +400,14 @@ int32_t LocaleDistance::trieNext(BytesTrie &iter, const char *s, bool wantValue)
 }
 
 UBool LocaleDistance::isParadigmLSR(const LSR &lsr) const {
-    // Linear search for a very short list (length 6 as of 2019).
-    // If there are many paradigm LSRs we should use a hash set.
+    // Linear search for a very short list (length 6 as of 2019),
+    // because we look for equivalence not equality, and
+    // because it's easy.
+    // If there are many paradigm LSRs we should use a hash set
+    // with custom comparator and hasher.
     U_ASSERT(paradigmLSRsLength <= 15);
     for (int32_t i = 0; i < paradigmLSRsLength; ++i) {
-        if (lsr == paradigmLSRs[i]) { return true; }
+        if (lsr.isEquivalentTo(paradigmLSRs[i])) { return true; }
     }
     return false;
 }
index 7439f51..ad84151 100644 (file)
@@ -26,19 +26,37 @@ class LocaleDistance final : public UMemory {
 public:
     static const LocaleDistance *getSingleton(UErrorCode &errorCode);
 
+    static int32_t shiftDistance(int32_t distance) {
+        return distance << DISTANCE_SHIFT;
+    }
+
+    static int32_t getShiftedDistance(int32_t indexAndDistance) {
+        return indexAndDistance & DISTANCE_MASK;
+    }
+
+    static double getDistanceDouble(int32_t indexAndDistance) {
+        double shiftedDistance = getShiftedDistance(indexAndDistance);
+        return shiftedDistance / (1 << DISTANCE_SHIFT);
+    }
+
+    static int32_t getIndex(int32_t indexAndDistance) {
+        // assert indexAndDistance >= 0;
+        return indexAndDistance >> INDEX_SHIFT;
+    }
+
     /**
      * Finds the supported LSR with the smallest distance from the desired one.
      * Equivalent LSR subtags must be normalized into a canonical form.
      *
-     * <p>Returns the index of the lowest-distance supported LSR in bits 31..8
+     * <p>Returns the index of the lowest-distance supported LSR in the high bits
      * (negative if none has a distance below the threshold),
-     * and its distance (0..ABOVE_THRESHOLD) in bits 7..0.
+     * and its distance (0..ABOVE_THRESHOLD) in the low bits.
      */
     int32_t getBestIndexAndDistance(const LSR &desired,
                                     const LSR **supportedLSRs, int32_t supportedLSRsLength,
-                                    int32_t threshold, ULocMatchFavorSubtag favorSubtag) const;
-
-    int32_t getParadigmLSRsLength() const { return paradigmLSRsLength; }
+                                    int32_t shiftedThreshold,
+                                    ULocMatchFavorSubtag favorSubtag,
+                                    ULocMatchDirection direction) const;
 
     UBool isParadigmLSR(const LSR &lsr) const;
 
@@ -51,12 +69,34 @@ public:
     }
 
 private:
-    LocaleDistance(const LocaleDistanceData &data);
+    // The distance is shifted left to gain some fraction bits.
+    static constexpr int32_t DISTANCE_SHIFT = 3;
+    static constexpr int32_t DISTANCE_FRACTION_MASK = 7;
+    // 7 bits for 0..100
+    static constexpr int32_t DISTANCE_INT_SHIFT = 7;
+    static constexpr int32_t INDEX_SHIFT = DISTANCE_INT_SHIFT + DISTANCE_SHIFT;
+    static constexpr int32_t DISTANCE_MASK = 0x3ff;
+    // tic constexpr int32_t MAX_INDEX = 0x1fffff;  // avoids sign bit
+    static constexpr int32_t INDEX_NEG_1 = 0xfffffc00;
+
+    static int32_t getDistanceFloor(int32_t indexAndDistance) {
+        return (indexAndDistance & DISTANCE_MASK) >> DISTANCE_SHIFT;
+    }
+
+    LocaleDistance(const LocaleDistanceData &data, const XLikelySubtags &likely);
     LocaleDistance(const LocaleDistance &other) = delete;
     LocaleDistance &operator=(const LocaleDistance &other) = delete;
 
     static void initLocaleDistance(UErrorCode &errorCode);
 
+    UBool isMatch(const LSR &desired, const LSR &supported,
+                  int32_t shiftedThreshold, ULocMatchFavorSubtag favorSubtag) const {
+        const LSR *pSupp = &supported;
+        return getBestIndexAndDistance(
+            desired, &pSupp, 1,
+            shiftedThreshold, favorSubtag, ULOCMATCH_DIRECTION_WITH_ONE_WAY) >= 0;
+    }
+
     static int32_t getDesSuppScriptDistance(BytesTrie &iter, uint64_t startState,
                                             const char *desired, const char *supported);
 
@@ -79,6 +119,8 @@ private:
         return defaultRegionDistance;
     }
 
+    const XLikelySubtags &likelySubtags;
+
     // The trie maps each dlang+slang+dscript+sscript+dregion+sregion
     // (encoded in ASCII with bit 7 set on the last character of each subtag) to a distance.
     // There is also a trie value for each subsequence of whole subtags.
index c6c9763..753a452 100644 (file)
@@ -38,6 +38,7 @@
 #include "unicode/strenum.h"
 #include "unicode/stringpiece.h"
 #include "unicode/uloc.h"
+#include "unicode/ures.h"
 
 #include "bytesinkutil.h"
 #include "charstr.h"
@@ -104,7 +105,6 @@ typedef enum ELocalePos {
 U_CFUNC int32_t locale_getKeywords(const char *localeID,
             char prev,
             char *keywords, int32_t keywordCapacity,
-            char *values, int32_t valuesCapacity, int32_t *valLen,
             UBool valuesToo,
             UErrorCode *status);
 
@@ -184,17 +184,16 @@ Locale *locale_set_default_internal(const char *id, UErrorCode& status) {
         canonicalize = TRUE; // always canonicalize host ID
     }
 
-    char localeNameBuf[512];
-
-    if (canonicalize) {
-        uloc_canonicalize(id, localeNameBuf, sizeof(localeNameBuf)-1, &status);
-    } else {
-        uloc_getName(id, localeNameBuf, sizeof(localeNameBuf)-1, &status);
+    CharString localeNameBuf;
+    {
+        CharStringByteSink sink(&localeNameBuf);
+        if (canonicalize) {
+            ulocimp_canonicalize(id, sink, &status);
+        } else {
+            ulocimp_getName(id, sink, &status);
+        }
     }
-    localeNameBuf[sizeof(localeNameBuf)-1] = 0;  // Force null termination in event of
-                                                 //   a long name filling the buffer.
-                                                 //   (long names are truncated.)
-                                                 //
+
     if (U_FAILURE(status)) {
         return gDefaultLocale;
     }
@@ -208,14 +207,14 @@ Locale *locale_set_default_internal(const char *id, UErrorCode& status) {
         ucln_common_registerCleanup(UCLN_COMMON_LOCALE, locale_cleanup);
     }
 
-    Locale *newDefault = (Locale *)uhash_get(gDefaultLocalesHashT, localeNameBuf);
+    Locale *newDefault = (Locale *)uhash_get(gDefaultLocalesHashT, localeNameBuf.data());
     if (newDefault == NULL) {
         newDefault = new Locale(Locale::eBOGUS);
         if (newDefault == NULL) {
             status = U_MEMORY_ALLOCATION_ERROR;
             return gDefaultLocale;
         }
-        newDefault->init(localeNameBuf, FALSE);
+        newDefault->init(localeNameBuf.data(), FALSE);
         uhash_put(gDefaultLocalesHashT, (char*) newDefault->getName(), newDefault, &status);
         if (U_FAILURE(status)) {
             return gDefaultLocale;
@@ -509,6 +508,36 @@ Locale::operator==( const   Locale& other) const
 
 #define ISASCIIALPHA(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z'))
 
+namespace {
+
+CharString& AppendLSCVE(CharString& out, const char* language, const char* script,
+                 const char* country, const char* variants, const char* extension,
+                 UErrorCode& status) {
+    out.append(language, status);
+    if (script && script[0] != '\0') {
+        out.append('_', status);
+        out.append(script, status);
+    }
+    if (country && country[0] != '\0') {
+        out.append('_', status);
+        out.append(country, status);
+    }
+    if (variants && variants[0] != '\0') {
+        if ((script == nullptr || script[0] == '\0') &&
+            (country == nullptr || country[0] == '\0')) {
+          out.append('_', status);
+        }
+        out.append('_', status);
+        out.append(variants, status);
+    }
+    if (extension && extension[0] != '\0') {
+        out.append(extension, status);
+    }
+    return out;
+}
+
+}  // namespace
+
 /*This function initializes a Locale from a C locale ID*/
 Locale& Locale::init(const char* localeID, UBool canonicalize)
 {
@@ -632,6 +661,195 @@ Locale& Locale::init(const char* localeID, UBool canonicalize)
             break;
         }
 
+        if (canonicalize) {
+            UErrorCode status = U_ZERO_ERROR;
+            // TODO: Try to use ResourceDataValue and ures_getValueWithFallback() etc.
+            LocalUResourceBundlePointer metadata(ures_openDirect(NULL, "metadata", &status));
+            LocalUResourceBundlePointer metadataAlias(ures_getByKey(metadata.getAlias(), "alias", NULL, &status));
+            // Look up the metadata:alias:language:$key:replacement entries
+            // key could be one of the following:
+            //   language
+            //   language_Script_REGION
+            //   language_REGION
+            //   language_variant
+            do {
+                // The resource structure looks like
+                // metadata {
+                //   alias {
+                //     language {
+                //       art_lojban {
+                //         replacement{"jbo"}
+                //       }
+                //       ...
+                //       ks_Arab_IN {
+                //         replacement{"ks_IN"}
+                //       }
+                //       ...
+                //       no {
+                //         replacement{"nb"}
+                //       }
+                //       ....
+                //       zh_CN {
+                //         replacement{"zh_Hans_CN"}
+                //       }
+                //     }
+                //     ...
+                //   }
+                // }
+                LocalUResourceBundlePointer languageAlias(ures_getByKey(metadataAlias.getAlias(), "language", NULL, &status));
+                if (U_FAILURE(status))
+                    break;
+                CharString temp;
+                // Handle cases of key pattern "language _ variant"
+                // ex: Map "art_lojban" to "jbo"
+                const char* variants = getVariant();
+                if (variants != nullptr && variants[0] != '\0') {
+                    const char* begin = variants;
+                    const char* end = begin;
+                    // We may have multiple variants, need to look at each of
+                    // them.
+                    do {
+                        status = U_ZERO_ERROR;
+                        end = uprv_strchr(begin, '_');
+                        int32_t len = (end == nullptr) ? int32_t(uprv_strlen(begin)) : int32_t(end - begin);
+                        temp.clear().append(getLanguage(), status).append("_", status).append(begin, len, status);
+                        LocalUResourceBundlePointer languageVariantAlias(
+                            ures_getByKey(languageAlias.getAlias(),
+                                          temp.data(),
+                                          NULL, &status));
+                        temp.clear().appendInvariantChars(
+                            UnicodeString(ures_getStringByKey(languageVariantAlias.getAlias(), "replacement", nullptr, &status)), status);
+                        if (U_SUCCESS(status)) {
+                            CharString newVar;
+                            if (begin != variants) {
+                                newVar.append(variants, static_cast<int32_t>(begin - variants - 1), status);
+                            }
+                            if (end != nullptr) {
+                                if (begin != variants) {
+                                    newVar.append("_", status);
+                                }
+                                newVar.append(end + 1, status);
+                            }
+                            Locale l(temp.data());
+                            init(AppendLSCVE(temp.clear(),
+                                             l.getLanguage(),
+                                             (getScript() != nullptr && getScript()[0] != '\0') ? getScript() : l.getScript(),
+                                             (getCountry() != nullptr && getCountry()[0] != '\0') ? getCountry() : l.getCountry(),
+                                             newVar.data(),
+                                             uprv_strchr(fullName, '@'), status).data(), false);
+                            break;
+                        }
+                        begin = end + 1;
+                    } while (end != nullptr);
+                }  // End of handle language _ variant
+                // Handle cases of key pattern "language _ Script _ REGION"
+                // ex: Map "ks_Arab_IN" to "ks_IN"
+                if (getScript() != nullptr && getScript()[0] != '\0' &&
+                        getCountry() != nullptr && getCountry()[0] != '\0') {
+                    status = U_ZERO_ERROR;
+                    LocalUResourceBundlePointer replacedAlias(
+                        ures_getByKey(languageAlias.getAlias(),
+                                      AppendLSCVE(temp.clear(), getLanguage(), getScript(), getCountry(),
+                                                  nullptr, nullptr, status).data(), NULL, &status));
+                    temp.clear().appendInvariantChars(
+                        UnicodeString(ures_getStringByKey(replacedAlias.getAlias(), "replacement", nullptr, &status)), status);
+                    if (U_SUCCESS(status)) {
+                        Locale l(temp.data());
+                        init(AppendLSCVE(temp.clear(),
+                                         l.getLanguage(),
+                                         l.getScript(),
+                                         l.getCountry(),
+                                         getVariant(),
+                                         uprv_strchr(fullName, '@'), status).data(), false);
+                    }
+                }  // End of handle language _ Script _ REGION
+                // Handle cases of key pattern "language _ REGION"
+                // ex: Map "zh_CN" to "zh_Hans_CN"
+                if (getCountry() != nullptr && getCountry()[0] != '\0') {
+                    status = U_ZERO_ERROR;
+                    LocalUResourceBundlePointer replacedAlias(
+                        ures_getByKey(languageAlias.getAlias(),
+                                      AppendLSCVE(temp.clear(), getLanguage(), nullptr, getCountry(),
+                                                  nullptr, nullptr, status).data(), NULL, &status));
+                    temp.clear().appendInvariantChars(
+                        UnicodeString(ures_getStringByKey(replacedAlias.getAlias(), "replacement", nullptr, &status)), status);
+                    if (U_SUCCESS(status)) {
+                        Locale l(temp.data());
+                        init(AppendLSCVE(temp.clear(),
+                                         l.getLanguage(),
+                                         (getScript() != nullptr && getScript()[0] != '\0') ? getScript() : l.getScript(),
+                                         l.getCountry(),
+                                         getVariant(),
+                                         uprv_strchr(fullName, '@'), status).data(), false);
+                    }
+                }  // End of handle "language _ REGION"
+                // Handle cases of key pattern "language"
+                // ex: Map "no" to "nb"
+                {
+                    status = U_ZERO_ERROR;
+                    LocalUResourceBundlePointer replaceLanguageAlias(ures_getByKey(languageAlias.getAlias(), getLanguage(), NULL, &status));
+                    temp.clear().appendInvariantChars(
+                        UnicodeString(ures_getStringByKey(replaceLanguageAlias.getAlias(), "replacement", nullptr, &status)), status);
+                    if (U_SUCCESS(status)) {
+                        Locale l(temp.data());
+                        init(AppendLSCVE(temp.clear(),
+                                         l.getLanguage(),
+                                         (getScript() != nullptr && getScript()[0] != '\0') ? getScript() : l.getScript(),
+                                         (getCountry() != nullptr && getCountry()[0] != '\0') ? getCountry() : l.getCountry(),
+                                         getVariant(),
+                                         uprv_strchr(fullName, '@'), status).data(), false);
+                    }
+                }  // End of handle "language"
+
+                // Look up the metadata:alias:territory:$key:replacement entries
+                // key is region code.
+                if (getCountry() != nullptr) {
+                    status = U_ZERO_ERROR;
+                    // The resource structure looks like
+                    // metadata {
+                    //   alias {
+                    //     ...
+                    //     territory: {
+                    //       172 {
+                    //         replacement{"RU AM AZ BY GE KG KZ MD TJ TM UA UZ"}
+                    //       }
+                    //       ...
+                    //       554 {
+                    //         replacement{"NZ"}
+                    //       }
+                    //     }
+                    //   }
+                    // }
+                    LocalUResourceBundlePointer territoryAlias(ures_getByKey(metadataAlias.getAlias(), "territory", NULL, &status));
+                    LocalUResourceBundlePointer countryAlias(ures_getByKey(territoryAlias.getAlias(), getCountry(), NULL, &status));
+                    UnicodeString replacements(
+                        ures_getStringByKey(countryAlias.getAlias(), "replacement", nullptr, &status));
+                    if (U_SUCCESS(status)) {
+                        CharString replacedCountry;
+                        int32_t delPos = replacements.indexOf(' ');
+                        if (delPos == -1) {
+                            replacedCountry.appendInvariantChars(replacements, status);
+                        } else {
+                            Locale l(AppendLSCVE(temp.clear(), getLanguage(), nullptr, getScript(),
+                                                 nullptr, nullptr, status).data());
+                            l.addLikelySubtags(status);
+                            if (replacements.indexOf(UnicodeString(l.getCountry())) != -1) {
+                                replacedCountry.append(l.getCountry(), status);
+                            } else {
+                                replacedCountry.appendInvariantChars(replacements.getBuffer(), delPos, status);
+                            }
+                        }
+                        init(AppendLSCVE(temp.clear(),
+                                         getLanguage(),
+                                         getScript(),
+                                         replacedCountry.data(),
+                                         getVariant(),
+                                         uprv_strchr(fullName, '@'), status).data(), false);
+                    }
+                }   // End of handle REGION
+            } while (0);
+        }   // if (canonicalize) {
+
         // successful end of init()
         return *this;
     } while(0); /*loop doesn't iterate*/
@@ -778,6 +996,25 @@ Locale::minimizeSubtags(UErrorCode& status) {
     }
 }
 
+void
+Locale::canonicalize(UErrorCode& status) {
+    if (U_FAILURE(status)) {
+        return;
+    }
+    if (isBogus()) {
+        status = U_ILLEGAL_ARGUMENT_ERROR;
+        return;
+    }
+    CharString uncanonicalized(fullName, status);
+    if (U_FAILURE(status)) {
+        return;
+    }
+    init(uncanonicalized.data(), /*canonicalize=*/TRUE);
+    if (isBogus()) {
+        status = U_ILLEGAL_ARGUMENT_ERROR;
+    }
+}
+
 Locale U_EXPORT2
 Locale::forLanguageTag(StringPiece tag, UErrorCode& status)
 {
@@ -1189,7 +1426,7 @@ Locale::createKeywords(UErrorCode &status) const
     const char* assignment = uprv_strchr(fullName, '=');
     if(variantStart) {
         if(assignment > variantStart) {
-            int32_t keyLen = locale_getKeywords(variantStart+1, '@', keywords, keywordCapacity, NULL, 0, NULL, FALSE, &status);
+            int32_t keyLen = locale_getKeywords(variantStart+1, '@', keywords, keywordCapacity, FALSE, &status);
             if(U_SUCCESS(status) && keyLen) {
                 result = new KeywordEnumeration(keywords, keyLen, 0, status);
                 if (!result) {
@@ -1218,7 +1455,7 @@ Locale::createUnicodeKeywords(UErrorCode &status) const
     const char* assignment = uprv_strchr(fullName, '=');
     if(variantStart) {
         if(assignment > variantStart) {
-            int32_t keyLen = locale_getKeywords(variantStart+1, '@', keywords, keywordCapacity, NULL, 0, NULL, FALSE, &status);
+            int32_t keyLen = locale_getKeywords(variantStart+1, '@', keywords, keywordCapacity, FALSE, &status);
             if(U_SUCCESS(status) && keyLen) {
                 result = new UnicodeKeywordEnumeration(keywords, keyLen, 0, status);
                 if (!result) {
index d7f5e12..1fbf1a1 100644 (file)
@@ -250,7 +250,8 @@ struct XLikelySubtagsData {
         for (int32_t i = 0, j = 0; i < lsrSubtagsLength; i += 3, ++j) {
             lsrs[j] = LSR(strings.get(lsrSubtagIndexes[i]),
                           strings.get(lsrSubtagIndexes[i + 1]),
-                          strings.get(lsrSubtagIndexes[i + 2]));
+                          strings.get(lsrSubtagIndexes[i + 2]),
+                          LSR::IMPLICIT_LSR);
         }
 
         if (partitionsLength > 0) {
@@ -275,7 +276,8 @@ struct XLikelySubtagsData {
             for (int32_t i = 0, j = 0; i < paradigmSubtagsLength; i += 3, ++j) {
                 paradigms[j] = LSR(strings.get(paradigmSubtagIndexes[i]),
                                    strings.get(paradigmSubtagIndexes[i + 1]),
-                                   strings.get(paradigmSubtagIndexes[i + 2]));
+                                   strings.get(paradigmSubtagIndexes[i + 2]),
+                                   LSR::DONT_CARE_FLAGS);
             }
             distanceData.paradigms = paradigms;
         }
@@ -383,7 +385,7 @@ LSR XLikelySubtags::makeMaximizedLsrFrom(const Locale &locale, UErrorCode &error
     const char *name = locale.getName();
     if (uprv_isAtSign(name[0]) && name[1] == 'x' && name[2] == '=') {  // name.startsWith("@x=")
         // Private use language tag x-subtag-subtag...
-        return LSR(name, "", "");
+        return LSR(name, "", "", LSR::EXPLICIT_LSR);
     }
     return makeMaximizedLsr(locale.getLanguage(), locale.getScript(), locale.getCountry(),
                             locale.getVariant(), errorCode);
@@ -407,26 +409,31 @@ LSR XLikelySubtags::makeMaximizedLsr(const char *language, const char *script, c
     if (region[0] == 'X' && (c1 = region[1]) != 0 && region[2] == 0) {
         switch (c1) {
         case 'A':
-            return LSR(PSEUDO_ACCENTS_PREFIX, language, script, region, errorCode);
+            return LSR(PSEUDO_ACCENTS_PREFIX, language, script, region,
+                       LSR::EXPLICIT_LSR, errorCode);
         case 'B':
-            return LSR(PSEUDO_BIDI_PREFIX, language, script, region, errorCode);
+            return LSR(PSEUDO_BIDI_PREFIX, language, script, region,
+                       LSR::EXPLICIT_LSR, errorCode);
         case 'C':
-            return LSR(PSEUDO_CRACKED_PREFIX, language, script, region, errorCode);
+            return LSR(PSEUDO_CRACKED_PREFIX, language, script, region,
+                       LSR::EXPLICIT_LSR, errorCode);
         default:  // normal locale
             break;
         }
     }
 
     if (variant[0] == 'P' && variant[1] == 'S') {
+        int32_t lsrFlags = *region == 0 ?
+            LSR::EXPLICIT_LANGUAGE | LSR::EXPLICIT_SCRIPT : LSR::EXPLICIT_LSR;
         if (uprv_strcmp(variant, "PSACCENT") == 0) {
             return LSR(PSEUDO_ACCENTS_PREFIX, language, script,
-                       *region == 0 ? "XA" : region, errorCode);
+                       *region == 0 ? "XA" : region, lsrFlags, errorCode);
         } else if (uprv_strcmp(variant, "PSBIDI") == 0) {
             return LSR(PSEUDO_BIDI_PREFIX, language, script,
-                       *region == 0 ? "XB" : region, errorCode);
+                       *region == 0 ? "XB" : region, lsrFlags, errorCode);
         } else if (uprv_strcmp(variant, "PSCRACK") == 0) {
             return LSR(PSEUDO_CRACKED_PREFIX, language, script,
-                       *region == 0 ? "XC" : region, errorCode);
+                       *region == 0 ? "XC" : region, lsrFlags, errorCode);
         }
         // else normal locale
     }
@@ -448,7 +455,7 @@ LSR XLikelySubtags::maximize(const char *language, const char *script, const cha
         region = "";
     }
     if (*script != 0 && *region != 0 && *language != 0) {
-        return LSR(language, script, region);  // already maximized
+        return LSR(language, script, region, LSR::EXPLICIT_LSR);  // already maximized
     }
 
     uint32_t retainOldMask = 0;
@@ -535,7 +542,7 @@ LSR XLikelySubtags::maximize(const char *language, const char *script, const cha
     if (retainOldMask == 0) {
         // Quickly return a copy of the lookup-result LSR
         // without new allocation of the subtags.
-        return LSR(result.language, result.script, result.region);
+        return LSR(result.language, result.script, result.region, result.flags);
     }
     if ((retainOldMask & 4) == 0) {
         language = result.language;
@@ -546,7 +553,108 @@ LSR XLikelySubtags::maximize(const char *language, const char *script, const cha
     if ((retainOldMask & 1) == 0) {
         region = result.region;
     }
-    return LSR(language, script, region);
+    // retainOldMask flags = LSR explicit-subtag flags
+    return LSR(language, script, region, retainOldMask);
+}
+
+int32_t XLikelySubtags::compareLikely(const LSR &lsr, const LSR &other, int32_t likelyInfo) const {
+    // If likelyInfo >= 0:
+    // likelyInfo bit 1 is set if the previous comparison with lsr
+    // was for equal language and script.
+    // Otherwise the scripts differed.
+    if (uprv_strcmp(lsr.language, other.language) != 0) {
+        return 0xfffffffc;  // negative, lsr not better than other
+    }
+    if (uprv_strcmp(lsr.script, other.script) != 0) {
+        int32_t index;
+        if (likelyInfo >= 0 && (likelyInfo & 2) == 0) {
+            index = likelyInfo >> 2;
+        } else {
+            index = getLikelyIndex(lsr.language, "");
+            likelyInfo = index << 2;
+        }
+        const LSR &likely = lsrs[index];
+        if (uprv_strcmp(lsr.script, likely.script) == 0) {
+            return likelyInfo | 1;
+        } else {
+            return likelyInfo & ~1;
+        }
+    }
+    if (uprv_strcmp(lsr.region, other.region) != 0) {
+        int32_t index;
+        if (likelyInfo >= 0 && (likelyInfo & 2) != 0) {
+            index = likelyInfo >> 2;
+        } else {
+            index = getLikelyIndex(lsr.language, lsr.region);
+            likelyInfo = (index << 2) | 2;
+        }
+        const LSR &likely = lsrs[index];
+        if (uprv_strcmp(lsr.region, likely.region) == 0) {
+            return likelyInfo | 1;
+        } else {
+            return likelyInfo & ~1;
+        }
+    }
+    return likelyInfo & ~1;  // lsr not better than other
+}
+
+// Subset of maximize().
+int32_t XLikelySubtags::getLikelyIndex(const char *language, const char *script) const {
+    if (uprv_strcmp(language, "und") == 0) {
+        language = "";
+    }
+    if (uprv_strcmp(script, "Zzzz") == 0) {
+        script = "";
+    }
+
+    BytesTrie iter(trie);
+    uint64_t state;
+    int32_t value;
+    // Small optimization: Array lookup for first language letter.
+    int32_t c0;
+    if (0 <= (c0 = uprv_lowerOrdinal(language[0])) && c0 <= 25 &&
+            language[1] != 0 &&  // language.length() >= 2
+            (state = trieFirstLetterStates[c0]) != 0) {
+        value = trieNext(iter.resetToState64(state), language, 1);
+    } else {
+        value = trieNext(iter, language, 0);
+    }
+    if (value >= 0) {
+        state = iter.getState64();
+    } else {
+        iter.resetToState64(trieUndState);  // "und" ("*")
+        state = 0;
+    }
+
+    if (value > 0) {
+        // Intermediate or final value from just language.
+        if (value == SKIP_SCRIPT) {
+            value = 0;
+        }
+    } else {
+        value = trieNext(iter, script, 0);
+        if (value >= 0) {
+            state = iter.getState64();
+        } else {
+            if (state == 0) {
+                iter.resetToState64(trieUndZzzzState);  // "und-Zzzz" ("**")
+            } else {
+                iter.resetToState64(state);
+                value = trieNext(iter, "", 0);
+                U_ASSERT(value >= 0);
+                state = iter.getState64();
+            }
+        }
+    }
+
+    if (value > 0) {
+        // Final value from just language or language+script.
+    } else {
+        value = trieNext(iter, "", 0);
+        U_ASSERT(value > 0);
+    }
+    U_ASSERT(value < lsrsLength);
+    return value;
 }
 
 int32_t XLikelySubtags::trieNext(BytesTrie &iter, const char *s, int32_t i) {
@@ -615,9 +723,9 @@ LSR XLikelySubtags::minimizeSubtags(const char *languageIn, const char *scriptIn
     boolean favorRegionOk = false;
     if (result.script.equals(value00.script)) { //script is default
         if (result.region.equals(value00.region)) {
-            return new LSR(result.language, "", "");
+            return new LSR(result.language, "", "", LSR.DONT_CARE_FLAGS);
         } else if (fieldToFavor == ULocale.Minimize.FAVOR_REGION) {
-            return new LSR(result.language, "", result.region);
+            return new LSR(result.language, "", result.region, LSR.DONT_CARE_FLAGS);
         } else {
             favorRegionOk = true;
         }
@@ -627,9 +735,9 @@ LSR XLikelySubtags::minimizeSubtags(const char *languageIn, const char *scriptIn
     // Maybe do later, but for now use the straightforward code.
     LSR result2 = maximize(languageIn, scriptIn, "");
     if (result2.equals(result)) {
-        return new LSR(result.language, result.script, "");
+        return new LSR(result.language, result.script, "", LSR.DONT_CARE_FLAGS);
     } else if (favorRegionOk) {
-        return new LSR(result.language, "", result.region);
+        return new LSR(result.language, "", result.region, LSR.DONT_CARE_FLAGS);
     }
     return result;
 }
index 8c8a08a..90ddfff 100644 (file)
@@ -85,6 +85,18 @@ public:
     // VisibleForTesting
     LSR makeMaximizedLsrFrom(const Locale &locale, UErrorCode &errorCode) const;
 
+    /**
+     * Tests whether lsr is "more likely" than other.
+     * For example, fr-Latn-FR is more likely than fr-Latn-CH because
+     * FR is the default region for fr-Latn.
+     *
+     * The likelyInfo caches lookup information between calls.
+     * The return value is an updated likelyInfo value,
+     * with bit 0 set if lsr is "more likely".
+     * The initial value of likelyInfo must be negative.
+     */
+    int32_t compareLikely(const LSR &lsr, const LSR &other, int32_t likelyInfo) const;
+
     // TODO(ICU-20777): Switch Locale/uloc_ likely-subtags API from the old code
     // in loclikely.cpp to this new code, including activating this
     // minimizeSubtags() function. The LocaleMatcher does not minimize.
@@ -111,6 +123,8 @@ private:
      */
     LSR maximize(const char *language, const char *script, const char *region) const;
 
+    int32_t getLikelyIndex(const char *language, const char *script) const;
+
     static int32_t trieNext(BytesTrie &iter, const char *s, int32_t i);
 
     UResourceBundle *langInfoBundle;
index 0c28eed..d4308ad 100644 (file)
 
 U_NAMESPACE_BEGIN
 
-LSR::LSR(char prefix, const char *lang, const char *scr, const char *r, UErrorCode &errorCode) :
+LSR::LSR(char prefix, const char *lang, const char *scr, const char *r, int32_t f,
+         UErrorCode &errorCode) :
         language(nullptr), script(nullptr), region(r),
-        regionIndex(indexForRegion(region)) {
+        regionIndex(indexForRegion(region)), flags(f) {
     if (U_SUCCESS(errorCode)) {
         CharString langScript;
         langScript.append(prefix, errorCode).append(lang, errorCode).append('\0', errorCode);
@@ -32,7 +33,8 @@ LSR::LSR(char prefix, const char *lang, const char *scr, const char *r, UErrorCo
 
 LSR::LSR(LSR &&other) U_NOEXCEPT :
         language(other.language), script(other.script), region(other.region), owned(other.owned),
-        regionIndex(other.regionIndex), hashCode(other.hashCode) {
+        regionIndex(other.regionIndex), flags(other.flags),
+        hashCode(other.hashCode) {
     if (owned != nullptr) {
         other.language = other.script = "";
         other.owned = nullptr;
@@ -50,6 +52,7 @@ LSR &LSR::operator=(LSR &&other) U_NOEXCEPT {
     script = other.script;
     region = other.region;
     regionIndex = other.regionIndex;
+    flags = other.flags;
     owned = other.owned;
     hashCode = other.hashCode;
     if (owned != nullptr) {
@@ -60,7 +63,7 @@ LSR &LSR::operator=(LSR &&other) U_NOEXCEPT {
     return *this;
 }
 
-UBool LSR::operator==(const LSR &other) const {
+UBool LSR::isEquivalentTo(const LSR &other) const {
     return
         uprv_strcmp(language, other.language) == 0 &&
         uprv_strcmp(script, other.script) == 0 &&
@@ -69,6 +72,16 @@ UBool LSR::operator==(const LSR &other) const {
         (regionIndex > 0 || uprv_strcmp(region, other.region) == 0);
 }
 
+UBool LSR::operator==(const LSR &other) const {
+    return
+        uprv_strcmp(language, other.language) == 0 &&
+        uprv_strcmp(script, other.script) == 0 &&
+        regionIndex == other.regionIndex &&
+        // Compare regions if both are ill-formed (and their indexes are 0).
+        (regionIndex > 0 || uprv_strcmp(region, other.region) == 0) &&
+        flags == other.flags;
+}
+
 int32_t LSR::indexForRegion(const char *region) {
     int32_t c = region[0];
     int32_t a = c - '0';
@@ -90,10 +103,10 @@ int32_t LSR::indexForRegion(const char *region) {
 
 LSR &LSR::setHashCode() {
     if (hashCode == 0) {
-        hashCode =
-            (ustr_hashCharsN(language, static_cast<int32_t>(uprv_strlen(language))) * 37 +
-            ustr_hashCharsN(script, static_cast<int32_t>(uprv_strlen(script)))) * 37 +
-            regionIndex;
+        uint32_t h = ustr_hashCharsN(language, static_cast<int32_t>(uprv_strlen(language)));
+        h = h * 37 + ustr_hashCharsN(script, static_cast<int32_t>(uprv_strlen(script)));
+        h = h * 37 + regionIndex;
+        hashCode = h * 37 + flags;
     }
     return *this;
 }
index db6cf93..d535e5b 100644 (file)
@@ -16,26 +16,35 @@ U_NAMESPACE_BEGIN
 struct LSR final : public UMemory {
     static constexpr int32_t REGION_INDEX_LIMIT = 1001 + 26 * 26;
 
+    static constexpr int32_t EXPLICIT_LSR = 7;
+    static constexpr int32_t EXPLICIT_LANGUAGE = 4;
+    static constexpr int32_t EXPLICIT_SCRIPT = 2;
+    static constexpr int32_t EXPLICIT_REGION = 1;
+    static constexpr int32_t IMPLICIT_LSR = 0;
+    static constexpr int32_t DONT_CARE_FLAGS = 0;
+
     const char *language;
     const char *script;
     const char *region;
     char *owned = nullptr;
     /** Index for region, 0 if ill-formed. @see indexForRegion */
     int32_t regionIndex = 0;
+    int32_t flags = 0;
     /** Only set for LSRs that will be used in a hash table. */
     int32_t hashCode = 0;
 
     LSR() : language("und"), script(""), region("") {}
 
     /** Constructor which aliases all subtag pointers. */
-    LSR(const char *lang, const char *scr, const char *r) :
+    LSR(const char *lang, const char *scr, const char *r, int32_t f) :
             language(lang),  script(scr), region(r),
-            regionIndex(indexForRegion(region)) {}
+            regionIndex(indexForRegion(region)), flags(f) {}
     /**
      * Constructor which prepends the prefix to the language and script,
      * copies those into owned memory, and aliases the region.
      */
-    LSR(char prefix, const char *lang, const char *scr, const char *r, UErrorCode &errorCode);
+    LSR(char prefix, const char *lang, const char *scr, const char *r, int32_t f,
+        UErrorCode &errorCode);
     LSR(LSR &&other) U_NOEXCEPT;
     LSR(const LSR &other) = delete;
     inline ~LSR() {
@@ -55,6 +64,7 @@ struct LSR final : public UMemory {
      */
     static int32_t indexForRegion(const char *region);
 
+    UBool isEquivalentTo(const LSR &other) const;
     UBool operator==(const LSR &other) const;
 
     inline UBool operator!=(const LSR &other) const {
index acb9022..0f3c795 100644 (file)
@@ -1459,6 +1459,11 @@ static void U_CALLCONV TimeZoneDataDirInitFn(UErrorCode &status) {
 
     const char *dir = "";
 
+#if defined(ICU_TIMEZONE_FILES_DIR_PREFIX_ENV_VAR)
+    char timezonefilesdir_path_buffer[PATH_MAX];
+    const char *prefix = getenv(ICU_TIMEZONE_FILES_DIR_PREFIX_ENV_VAR);
+#endif
+
 #if U_PLATFORM_HAS_WINUWP_API == 1
 // The UWP version does not support the environment variable setting.
 
@@ -1485,6 +1490,13 @@ static void U_CALLCONV TimeZoneDataDirInitFn(UErrorCode &status) {
         dir = "";
     }
 
+#if defined(ICU_TIMEZONE_FILES_DIR_PREFIX_ENV_VAR)
+    if (prefix != NULL) {
+        snprintf(timezonefilesdir_path_buffer, PATH_MAX, "%s%s", prefix, dir);
+        dir = timezonefilesdir_path_buffer;
+    }
+#endif
+
     setTimeZoneFilesDir(dir, status);
 }
 
index 01dae48..43ba58b 100644 (file)
@@ -883,9 +883,15 @@ int32_t RuleBasedBreakIterator::handleNext() {
                 return lookaheadResult;
             }
         }
+
+        // If we are at the position of the '/' in a look-ahead (hard break) rule;
+        // record the current position, to be returned later, if the full rule matches.
+        // TODO: Move this check before the previous check of fAccepting.
+        //       This would enable hard-break rules with no following context.
+        //       But there are line break test failures when trying this. Investigate.
+        //       Issue ICU-20837
         int16_t rule = row->fLookAhead;
         if (rule != 0) {
-            // At the position of a '/' in a look-ahead match. Record it.
             int32_t  pos = (int32_t)UTEXT_GETNATIVEINDEX(&fText);
             lookAheadMatches.setPosition(rule, pos);
         }
@@ -1111,7 +1117,7 @@ static icu::UInitOnce gRBBIInitOnce = U_INITONCE_INITIALIZER;
  * Release all static memory held by breakiterator.
  */
 U_CDECL_BEGIN
-static UBool U_CALLCONV rbbi_cleanup(void) {
+UBool U_CALLCONV rbbi_cleanup(void) {
     delete gLanguageBreakFactories;
     gLanguageBreakFactories = nullptr;
     delete gEmptyString;
index b7de6ce..7b9b8d8 100644 (file)
@@ -192,6 +192,8 @@ private:
 
 U_NAMESPACE_END
 
+U_CFUNC UBool rbbi_cleanup(void);
+
 #endif /* C++ */
 
 #endif
index 08c5776..68ded32 100644 (file)
@@ -161,6 +161,19 @@ RBBIDataHeader *RBBIRuleBuilder::flattenData() {
                                 + reverseTableSize
                                 + statusTableSize + trieSize + rulesSize;
 
+#ifdef RBBI_DEBUG
+    if (fDebugEnv && uprv_strstr(fDebugEnv, "size")) {
+        RBBIDebugPrintf("Header Size:        %8d\n", headerSize);
+        RBBIDebugPrintf("Forward Table Size: %8d\n", forwardTableSize);
+        RBBIDebugPrintf("Reverse Table Size: %8d\n", reverseTableSize);
+        RBBIDebugPrintf("Trie Size:          %8d\n", trieSize);
+        RBBIDebugPrintf("Status Table Size:  %8d\n", statusTableSize);
+        RBBIDebugPrintf("Rules Size:         %8d\n", rulesSize);
+        RBBIDebugPrintf("-----------------------------\n");
+        RBBIDebugPrintf("Total Size:         %8d\n", totalSize);
+    }
+#endif
+
     RBBIDataHeader  *data     = (RBBIDataHeader *)uprv_malloc(totalSize);
     if (data == NULL) {
         *fStatus = U_MEMORY_ALLOCATION_ERROR;
index f536ab5..4eb324b 100644 (file)
@@ -1274,6 +1274,10 @@ void RBBIRuleScanner::scanSet() {
 
 }
 
+int32_t RBBIRuleScanner::numRules() {
+    return fRuleNum;
+}
+
 U_NAMESPACE_END
 
 #endif /* #if !UCONFIG_NO_BREAK_ITERATION */
index c51b4cf..6828ba3 100644 (file)
@@ -73,6 +73,8 @@ public:
                                                     //   reverse rules,
                                                     //   and a list of UnicodeSets encountered.
 
+    int32_t     numRules();                         // Return the number of rules that have been seen.
+
     /**
      * Return a rules string without unnecessary
      * characters.
index a20b517..960ef7e 100644 (file)
@@ -18,6 +18,7 @@
 #include "unicode/unistr.h"
 #include "rbbitblb.h"
 #include "rbbirb.h"
+#include "rbbiscan.h"
 #include "rbbisetb.h"
 #include "rbbidata.h"
 #include "cstring.h"
@@ -52,6 +53,7 @@ RBBITableBuilder::~RBBITableBuilder() {
     }
     delete fDStates;
     delete fSafeTable;
+    delete fLookAheadRuleMap;
 }
 
 
@@ -121,7 +123,7 @@ void  RBBITableBuilder::buildForwardTable() {
     }
     cn->fLeftChild = fTree;
     fTree->fParent = cn;
-    cn->fRightChild = new RBBINode(RBBINode::endMark);
+    RBBINode *endMarkerNode = cn->fRightChild = new RBBINode(RBBINode::endMark);
     // Delete and exit if memory allocation failed.
     if (cn->fRightChild == NULL) {
         *fStatus = U_MEMORY_ALLOCATION_ERROR;
@@ -164,7 +166,7 @@ void  RBBITableBuilder::buildForwardTable() {
     //  For "chained" rules, modify the followPos sets
     //
     if (fRB->fChainRules) {
-        calcChainedFollowPos(fTree);
+        calcChainedFollowPos(fTree, endMarkerNode);
     }
 
     //
@@ -178,6 +180,7 @@ void  RBBITableBuilder::buildForwardTable() {
     // Build the DFA state transition tables.
     //
     buildStateTable();
+    mapLookAheadRules();
     flagAcceptingStates();
     flagLookAheadStates();
     flagTaggedStates();
@@ -401,19 +404,13 @@ void RBBITableBuilder::addRuleRootNodes(UVector *dest, RBBINode *node) {
 //                            to implement rule chaining.  NOT described by Aho
 //
 //-----------------------------------------------------------------------------
-void RBBITableBuilder::calcChainedFollowPos(RBBINode *tree) {
+void RBBITableBuilder::calcChainedFollowPos(RBBINode *tree, RBBINode *endMarkNode) {
 
-    UVector         endMarkerNodes(*fStatus);
     UVector         leafNodes(*fStatus);
-    int32_t         i;
-
     if (U_FAILURE(*fStatus)) {
         return;
     }
 
-    // get a list of all endmarker nodes.
-    tree->findNodes(&endMarkerNodes, RBBINode::endMark, *fStatus);
-
     // get a list all leaf nodes
     tree->findNodes(&leafNodes, RBBINode::leafChar, *fStatus);
     if (U_FAILURE(*fStatus)) {
@@ -442,28 +439,26 @@ void RBBITableBuilder::calcChainedFollowPos(RBBINode *tree) {
     int32_t  startNodeIx;
 
     for (endNodeIx=0; endNodeIx<leafNodes.size(); endNodeIx++) {
-        RBBINode *tNode   = (RBBINode *)leafNodes.elementAt(endNodeIx);
-        RBBINode *endNode = NULL;
+        RBBINode *endNode   = (RBBINode *)leafNodes.elementAt(endNodeIx);
 
         // Identify leaf nodes that correspond to overall rule match positions.
-        //   These include an endMarkerNode in their followPos sets.
-        for (i=0; i<endMarkerNodes.size(); i++) {
-            if (tNode->fFollowPos->contains(endMarkerNodes.elementAt(i))) {
-                endNode = tNode;
-                break;
-            }
-        }
-        if (endNode == NULL) {
-            // node wasn't an end node.  Try again with the next.
+        // These include the endMarkNode in their followPos sets.
+        //
+        // Note: do not consider other end marker nodes, those that are added to
+        //       look-ahead rules. These can't chain; a match immediately stops
+        //       further matching. This leaves exactly one end marker node, the one
+        //       at the end of the complete tree.
+
+        if (!endNode->fFollowPos->contains(endMarkNode)) {
             continue;
         }
 
         // We've got a node that can end a match.
 
-        // Line Break Specific hack:  If this node's val correspond to the $CM char class,
-        //                            don't chain from it.
-        // TODO:  Add rule syntax for this behavior, get specifics out of here and
-        //        into the rule file.
+        // !!LBCMNoChain implementation:  If this node's val correspond to
+        // the Line Break $CM char class, don't chain from it.
+        // TODO:  Remove this. !!LBCMNoChain is deprecated, and is not used
+        //        by any of the standard ICU rules.
         if (fRB->fLBCMNoChain) {
             UChar32 c = this->fRB->fSetBuilder->getFirstChar(endNode->fVal);
             if (c != -1) {
@@ -475,7 +470,6 @@ void RBBITableBuilder::calcChainedFollowPos(RBBINode *tree) {
             }
         }
 
-
         // Now iterate over the nodes that can start a match, looking for ones
         //   with the same char class as our ending node.
         RBBINode *startNode;
@@ -705,6 +699,77 @@ ExitBuildSTdeleteall:
 }
 
 
+/**
+ * mapLookAheadRules
+ *
+ */
+void RBBITableBuilder::mapLookAheadRules() {
+    fLookAheadRuleMap =  new UVector32(fRB->fScanner->numRules() + 1, *fStatus);
+    if (fLookAheadRuleMap == nullptr) {
+        *fStatus = U_MEMORY_ALLOCATION_ERROR;
+    }
+    if (U_FAILURE(*fStatus)) {
+        return;
+    }
+    fLookAheadRuleMap->setSize(fRB->fScanner->numRules() + 1);
+    int32_t laSlotsInUse = 0;
+
+    for (int32_t n=0; n<fDStates->size(); n++) {
+        RBBIStateDescriptor *sd = (RBBIStateDescriptor *)fDStates->elementAt(n);
+        int32_t laSlotForState = 0;
+
+        // Establish the look-ahead slot for this state, if the state covers
+        // any look-ahead nodes - corresponding to the '/' in look-ahead rules.
+
+        // If any of the look-ahead nodes already have a slot assigned, use it,
+        // otherwise assign a new one.
+
+        bool sawLookAheadNode = false;
+        for (int32_t ipos=0; ipos<sd->fPositions->size(); ++ipos) {
+            RBBINode *node = static_cast<RBBINode *>(sd->fPositions->elementAt(ipos));
+            if (node->fType != RBBINode::NodeType::lookAhead) {
+                continue;
+            }
+            sawLookAheadNode = true;
+            int32_t ruleNum = node->fVal;     // Set when rule was originally parsed.
+            U_ASSERT(ruleNum < fLookAheadRuleMap->size());
+            U_ASSERT(ruleNum > 0);
+            int32_t laSlot = fLookAheadRuleMap->elementAti(ruleNum);
+            if (laSlot != 0) {
+                if (laSlotForState == 0) {
+                    laSlotForState = laSlot;
+                } else {
+                    // TODO: figure out if this can fail, change to setting an error code if so.
+                    U_ASSERT(laSlot == laSlotForState);
+                }
+            }
+        }
+        if (!sawLookAheadNode) {
+            continue;
+        }
+
+        if (laSlotForState == 0) {
+            laSlotForState = ++laSlotsInUse;
+        }
+
+        // For each look ahead node covered by this state,
+        // set the mapping from the node's rule number to the look ahead slot.
+        // There can be multiple nodes/rule numbers going to the same la slot.
+
+        for (int32_t ipos=0; ipos<sd->fPositions->size(); ++ipos) {
+            RBBINode *node = static_cast<RBBINode *>(sd->fPositions->elementAt(ipos));
+            if (node->fType != RBBINode::NodeType::lookAhead) {
+                continue;
+            }
+            int32_t ruleNum = node->fVal;     // Set when rule was originally parsed.
+            int32_t existingVal = fLookAheadRuleMap->elementAti(ruleNum);
+            (void)existingVal;
+            U_ASSERT(existingVal == 0 || existingVal == laSlotForState);
+            fLookAheadRuleMap->setElementAt(laSlotForState, ruleNum);
+        }
+    }
+
+}
 
 //-----------------------------------------------------------------------------
 //
@@ -744,28 +809,19 @@ void     RBBITableBuilder::flagAcceptingStates() {
 
                 if (sd->fAccepting==0) {
                     // State hasn't been marked as accepting yet.  Do it now.
-                    sd->fAccepting = endMarker->fVal;
+                    sd->fAccepting = fLookAheadRuleMap->elementAti(endMarker->fVal);
                     if (sd->fAccepting == 0) {
                         sd->fAccepting = -1;
                     }
                 }
                 if (sd->fAccepting==-1 && endMarker->fVal != 0) {
                     // Both lookahead and non-lookahead accepting for this state.
-                    // Favor the look-ahead.  Expedient for line break.
-                    // TODO:  need a more elegant resolution for conflicting rules.
-                    sd->fAccepting = endMarker->fVal;
+                    // Favor the look-ahead, because a look-ahead match needs to
+                    // immediately stop the run-time engine. First match, not longest.
+                    sd->fAccepting = fLookAheadRuleMap->elementAti(endMarker->fVal);
                 }
                 // implicit else:
                 // if sd->fAccepting already had a value other than 0 or -1, leave it be.
-
-                // If the end marker node is from a look-ahead rule, set
-                //   the fLookAhead field for this state also.
-                if (endMarker->fLookAheadEnd) {
-                    // TODO:  don't change value if already set?
-                    // TODO:  allow for more than one active look-ahead rule in engine.
-                    //        Make value here an index to a side array in engine?
-                    sd->fLookAhead = sd->fAccepting;
-                }
             }
         }
     }
@@ -792,11 +848,20 @@ void     RBBITableBuilder::flagLookAheadStates() {
     }
     for (i=0; i<lookAheadNodes.size(); i++) {
         lookAheadNode = (RBBINode *)lookAheadNodes.elementAt(i);
+        U_ASSERT(lookAheadNode->fType == RBBINode::NodeType::lookAhead);
 
         for (n=0; n<fDStates->size(); n++) {
             RBBIStateDescriptor *sd = (RBBIStateDescriptor *)fDStates->elementAt(n);
-            if (sd->fPositions->indexOf(lookAheadNode) >= 0) {
-                sd->fLookAhead = lookAheadNode->fVal;
+            int32_t positionsIdx = sd->fPositions->indexOf(lookAheadNode);
+            if (positionsIdx >= 0) {
+                U_ASSERT(lookAheadNode == sd->fPositions->elementAt(positionsIdx));
+                int32_t lookaheadSlot = fLookAheadRuleMap->elementAti(lookAheadNode->fVal);
+                U_ASSERT(sd->fLookAhead == 0 || sd->fLookAhead == lookaheadSlot);
+                // if (sd->fLookAhead != 0 && sd->fLookAhead != lookaheadSlot) {
+                //     printf("%s:%d Bingo. sd->fLookAhead:%d   lookaheadSlot:%d\n",
+                //            __FILE__, __LINE__, sd->fLookAhead, lookaheadSlot);
+                // }
+                sd->fLookAhead = lookaheadSlot;
             }
         }
     }
@@ -1204,16 +1269,6 @@ void RBBITableBuilder::removeState(IntPair duplStates) {
             }
             sd->fDtran->setElementAt(newVal, col);
         }
-        if (sd->fAccepting == duplState) {
-            sd->fAccepting = keepState;
-        } else if (sd->fAccepting > duplState) {
-            sd->fAccepting--;
-        }
-        if (sd->fLookAhead == duplState) {
-            sd->fLookAhead = keepState;
-        } else if (sd->fLookAhead > duplState) {
-            sd->fLookAhead--;
-        }
     }
 }
 
index bc6077b..c2b574f 100644 (file)
@@ -91,9 +91,10 @@ private:
     void     calcFirstPos(RBBINode *n);
     void     calcLastPos(RBBINode  *n);
     void     calcFollowPos(RBBINode *n);
-    void     calcChainedFollowPos(RBBINode *n);
+    void     calcChainedFollowPos(RBBINode *n, RBBINode *endMarkNode);
     void     bofFixup();
     void     buildStateTable();
+    void     mapLookAheadRules();
     void     flagAcceptingStates();
     void     flagLookAheadStates();
     void     flagTaggedStates();
@@ -175,6 +176,9 @@ private:
     /** Synthesized safe table, UVector of UnicodeString, one string per table row.   */
     UVector          *fSafeTable;
 
+    /** Map from rule number (fVal in look ahead nodes) to sequential lookahead index. */
+    UVector32        *fLookAheadRuleMap = nullptr;
+
 
     RBBITableBuilder(const RBBITableBuilder &other); // forbid copying of this class
     RBBITableBuilder &operator=(const RBBITableBuilder &other); // forbid copying of this class
index d4f7f31..99089e0 100644 (file)
@@ -51,6 +51,47 @@ void StringPiece::set(const char* str) {
     length_ = 0;
 }
 
+int32_t StringPiece::find(StringPiece needle, int32_t offset) {
+  if (length() == 0 && needle.length() == 0) {
+    return 0;
+  }
+  // TODO: Improve to be better than O(N^2)?
+  for (int32_t i = offset; i < length(); i++) {
+    int32_t j = 0;
+    for (; j < needle.length(); i++, j++) {
+      if (data()[i] != needle.data()[j]) {
+        i -= j;
+        goto outer_end;
+      }
+    }
+    return i - j;
+    outer_end: void();
+  }
+  return -1;
+}
+
+int32_t StringPiece::compare(StringPiece other) {
+  int32_t i = 0;
+  for (; i < length(); i++) {
+    if (i == other.length()) {
+      // this is longer
+      return 1;
+    }
+    char a = data()[i];
+    char b = other.data()[i];
+    if (a < b) {
+      return -1;
+    } else if (a > b) {
+      return 1;
+    }
+  }
+  if (i < other.length()) {
+    // other is longer
+    return -1;
+  }
+  return 0;
+}
+
 U_EXPORT UBool U_EXPORT2
 operator==(const StringPiece& x, const StringPiece& y) {
   int32_t len = x.size();
index 6090582..c17dbb2 100644 (file)
@@ -18,6 +18,8 @@
 *   Internal function for sorting arrays.
 */
 
+#include <cstddef>
+
 #include "unicode/utypes.h"
 #include "cmemory.h"
 #include "uarrsort.h"
@@ -35,7 +37,7 @@ enum {
 };
 
 static constexpr int32_t sizeInMaxAlignTs(int32_t sizeInBytes) {
-    return (sizeInBytes + sizeof(max_align_t) - 1) / sizeof(max_align_t);
+    return (sizeInBytes + sizeof(std::max_align_t) - 1) / sizeof(std::max_align_t);
 }
 
 /* UComparator convenience implementations ---------------------------------- */
@@ -139,7 +141,7 @@ static void
 insertionSort(char *array, int32_t length, int32_t itemSize,
               UComparator *cmp, const void *context, UErrorCode *pErrorCode) {
 
-    icu::MaybeStackArray<max_align_t, sizeInMaxAlignTs(STACK_ITEM_SIZE)> v;
+    icu::MaybeStackArray<std::max_align_t, sizeInMaxAlignTs(STACK_ITEM_SIZE)> v;
     if (sizeInMaxAlignTs(itemSize) > v.getCapacity() &&
             v.resize(sizeInMaxAlignTs(itemSize)) == nullptr) {
         *pErrorCode = U_MEMORY_ALLOCATION_ERROR;
@@ -233,7 +235,7 @@ static void
 quickSort(char *array, int32_t length, int32_t itemSize,
             UComparator *cmp, const void *context, UErrorCode *pErrorCode) {
     /* allocate two intermediate item variables (x and w) */
-    icu::MaybeStackArray<max_align_t, sizeInMaxAlignTs(STACK_ITEM_SIZE) * 2> xw;
+    icu::MaybeStackArray<std::max_align_t, sizeInMaxAlignTs(STACK_ITEM_SIZE) * 2> xw;
     if(sizeInMaxAlignTs(itemSize)*2 > xw.getCapacity() &&
             xw.resize(sizeInMaxAlignTs(itemSize) * 2) == nullptr) {
         *pErrorCode=U_MEMORY_ALLOCATION_ERROR;
index f0f7a92..15cd55c 100644 (file)
@@ -31,6 +31,8 @@
 #if U_DEBUG
 #   include <assert.h>
 #   define U_ASSERT(exp) assert(exp)
+#elif U_CPLUSPLUS_VERSION
+#   define U_ASSERT(exp) void()
 #else
 #   define U_ASSERT(exp)
 #endif
index cc998c9..ed72bda 100644 (file)
@@ -687,13 +687,13 @@ void toUpper(uint32_t options,
             if (change) {
                 ByteSinkUtil::appendTwoBytes(upper, sink);
                 if ((data & HAS_EITHER_DIALYTIKA) != 0) {
-                    sink.Append(reinterpret_cast<const char*>(u8"\u0308"), 2);  // restore or add a dialytika
+                    sink.AppendU8(u8"\u0308", 2);  // restore or add a dialytika
                 }
                 if (addTonos) {
-                    sink.Append(reinterpret_cast<const char*>(u8"\u0301"), 2);
+                    sink.AppendU8(u8"\u0301", 2);
                 }
                 while (numYpogegrammeni > 0) {
-                    sink.Append(reinterpret_cast<const char*>(u8"\u0399"), 2);
+                    sink.AppendU8(u8"\u0399", 2);
                     --numYpogegrammeni;
                 }
             }
index dbc5bb7..169ad4c 100644 (file)
@@ -478,7 +478,7 @@ setInitialStateFromUnicodeKR(UConverter* converter,UConverterDataISO2022 *myConv
 static void U_CALLCONV
 _ISO2022Open(UConverter *cnv, UConverterLoadArgs *pArgs, UErrorCode *errorCode){
 
-    char myLocale[6]={' ',' ',' ',' ',' ',' '};
+    char myLocale[7]={' ',' ',' ',' ',' ',' ', '\0'};
 
     cnv->extraInfo = uprv_malloc (sizeof (UConverterDataISO2022));
     if(cnv->extraInfo != NULL) {
@@ -493,7 +493,7 @@ _ISO2022Open(UConverter *cnv, UConverterLoadArgs *pArgs, UErrorCode *errorCode){
         myConverterData->currentType = ASCII1;
         cnv->fromUnicodeStatus =FALSE;
         if(pArgs->locale){
-            uprv_strncpy(myLocale, pArgs->locale, sizeof(myLocale));
+            uprv_strncpy(myLocale, pArgs->locale, sizeof(myLocale)-1);
         }
         version = pArgs->options & UCNV_OPTIONS_VERSION_MASK;
         myConverterData->version = version;
index dfee3bd..5eacc4a 100644 (file)
@@ -866,7 +866,7 @@ getCurrencyNameCount(const char* loc, int32_t* total_currency_name_count, int32_
     *total_currency_name_count = 0;
     *total_currency_symbol_count = 0;
     const UChar* s = NULL;
-    char locale[ULOC_FULLNAME_CAPACITY];
+    char locale[ULOC_FULLNAME_CAPACITY] = "";
     uprv_strcpy(locale, loc);
     const icu::Hashtable *currencySymbolsEquiv = getCurrSymbolsEquiv();
     for (;;) {
@@ -941,7 +941,7 @@ collectCurrencyNames(const char* locale,
     // Look up the Currencies resource for the given locale.
     UErrorCode ec2 = U_ZERO_ERROR;
 
-    char loc[ULOC_FULLNAME_CAPACITY];
+    char loc[ULOC_FULLNAME_CAPACITY] = "";
     uloc_getName(locale, loc, sizeof(loc), &ec2);
     if (U_FAILURE(ec2) || ec2 == U_STRING_NOT_TERMINATED_WARNING) {
         ec = U_ILLEGAL_ARGUMENT_ERROR;
index ea81c0c..0e235d7 100644 (file)
      l = lang, C = ctry, M = charmap, V = variant
 */
 
+#include "unicode/bytestream.h"
+#include "unicode/errorcode.h"
+#include "unicode/stringpiece.h"
 #include "unicode/utypes.h"
 #include "unicode/ustring.h"
 #include "unicode/uloc.h"
 
+#include "bytesinkutil.h"
 #include "putilimp.h"
 #include "ustr_imp.h"
 #include "ulocimp.h"
@@ -46,6 +50,7 @@
 #include "uassert.h"
 #include "charstr.h"
 
+#include <algorithm>
 #include <stdio.h> /* for sprintf */
 
 U_NAMESPACE_USE
@@ -59,7 +64,6 @@ U_CFUNC int32_t
 locale_getKeywords(const char *localeID,
             char prev,
             char *keywords, int32_t keywordCapacity,
-            char *values, int32_t valuesCapacity, int32_t *valLen,
             UBool valuesToo,
             UErrorCode *status);
 
@@ -157,7 +161,7 @@ static const char * const LANGUAGES[] = {
     "nnh", "no",  "nog", "non", "nov", "nqo", "nr",  "nso",
     "nus", "nv",  "nwc", "ny",  "nym", "nyn", "nyo", "nzi",
     "oc",  "oj",  "om",  "or",  "os",  "osa", "ota",
-    "pa",  "pag", "pal", "pam", "pap", "pau", "pcd", "pdc",
+    "pa",  "pag", "pal", "pam", "pap", "pau", "pcd", "pcm", "pdc",
     "pdt", "peo", "pfl", "phn", "pi",  "pl",  "pms", "pnt",
     "pon", "prg", "pro", "ps",  "pt",
     "qu",  "quc", "qug",
@@ -274,7 +278,7 @@ static const char * const LANGUAGES_3[] = {
     "nnh", "nor", "nog", "non", "nov", "nqo", "nbl", "nso",
     "nus", "nav", "nwc", "nya", "nym", "nyn", "nyo", "nzi",
     "oci", "oji", "orm", "ori", "oss", "osa", "ota",
-    "pan", "pag", "pal", "pam", "pap", "pau", "pcd", "pdc",
+    "pan", "pag", "pal", "pam", "pap", "pau", "pcd", "pcm", "pdc",
     "pdt", "peo", "pfl", "phn", "pli", "pol", "pms", "pnt",
     "pon", "prg", "pro", "pus", "por",
     "que", "quc", "qug",
@@ -466,15 +470,16 @@ typedef struct CanonicalizationMap {
  * different semantic kinds of transformations.
  */
 static const CanonicalizationMap CANONICALIZE_MAP[] = {
-    { "art_LOJBAN",     "jbo" }, /* registered name */
+    { "art__LOJBAN",    "jbo" }, /* registered name */
     { "hy__AREVELA",    "hy" }, /* Registered IANA variant */
     { "hy__AREVMDA",    "hyw" }, /* Registered IANA variant */
+    { "zh__GUOYU",      "zh" }, /* registered name */
+    { "zh__HAKKA",      "hak" }, /* registered name */
+    { "zh__XIANG",      "hsn" }, /* registered name */
+    // subtags with 3 chars won't be treated as variants.
     { "zh_GAN",         "gan" }, /* registered name */
-    { "zh_GUOYU",       "zh" }, /* registered name */
-    { "zh_HAKKA",       "hak" }, /* registered name */
     { "zh_MIN_NAN",     "nan" }, /* registered name */
     { "zh_WUU",         "wuu" }, /* registered name */
-    { "zh_XIANG",       "hsn" }, /* registered name */
     { "zh_YUE",         "yue" }, /* registered name */
 };
 
@@ -596,11 +601,10 @@ compareKeywordStructs(const void * /*context*/, const void *left, const void *ri
     return uprv_strcmp(leftString, rightString);
 }
 
-static int32_t
+static void
 _getKeywords(const char *localeID,
              char prev,
-             char *keywords, int32_t keywordCapacity,
-             char *values, int32_t valuesCapacity, int32_t *valLen,
+             ByteSink& sink,
              UBool valuesToo,
              UErrorCode *status)
 {
@@ -612,8 +616,6 @@ _getKeywords(const char *localeID,
     const char* equalSign = NULL;
     const char* semicolon = NULL;
     int32_t i = 0, j, n;
-    int32_t keywordsLen = 0;
-    int32_t valuesLen = 0;
 
     if(prev == '@') { /* start of keyword definition */
         /* we will grab pairs, trim spaces, lowercase keywords, sort and return */
@@ -628,7 +630,7 @@ _getKeywords(const char *localeID,
             }
             if(numKeywords == maxKeywords) {
                 *status = U_INTERNAL_PROGRAM_ERROR;
-                return 0;
+                return;
             }
             equalSign = uprv_strchr(pos, '=');
             semicolon = uprv_strchr(pos, ';');
@@ -636,13 +638,13 @@ _getKeywords(const char *localeID,
             /* ';' before '=' [foo@currency;collation=pinyin] is illegal */
             if(!equalSign || (semicolon && semicolon<equalSign)) {
                 *status = U_INVALID_FORMAT_ERROR;
-                return 0;
+                return;
             }
             /* need to normalize both keyword and keyword name */
             if(equalSign - pos >= ULOC_KEYWORD_BUFFER_LEN) {
                 /* keyword name too long for internal buffer */
                 *status = U_INTERNAL_PROGRAM_ERROR;
-                return 0;
+                return;
             }
             for(i = 0, n = 0; i < equalSign - pos; ++i) {
                 if (pos[i] != ' ') {
@@ -653,7 +655,7 @@ _getKeywords(const char *localeID,
             /* zero-length keyword is an error. */
             if (n == 0) {
                 *status = U_INVALID_FORMAT_ERROR;
-                return 0;
+                return;
             }
 
             keywordList[numKeywords].keyword[n] = 0;
@@ -668,7 +670,7 @@ _getKeywords(const char *localeID,
             /* Premature end or zero-length value */
             if (!*equalSign || equalSign == semicolon) {
                 *status = U_INVALID_FORMAT_ERROR;
-                return 0;
+                return;
             }
 
             keywordList[numKeywords].valueStart = equalSign;
@@ -706,45 +708,17 @@ _getKeywords(const char *localeID,
 
         /* Now construct the keyword part */
         for(i = 0; i < numKeywords; i++) {
-            if(keywordsLen + keywordList[i].keywordLen + 1< keywordCapacity) {
-                uprv_strcpy(keywords+keywordsLen, keywordList[i].keyword);
-                if(valuesToo) {
-                    keywords[keywordsLen + keywordList[i].keywordLen] = '=';
-                } else {
-                    keywords[keywordsLen + keywordList[i].keywordLen] = 0;
-                }
-            }
-            keywordsLen += keywordList[i].keywordLen + 1;
+            sink.Append(keywordList[i].keyword, keywordList[i].keywordLen);
             if(valuesToo) {
-                if(keywordsLen + keywordList[i].valueLen <= keywordCapacity) {
-                    uprv_strncpy(keywords+keywordsLen, keywordList[i].valueStart, keywordList[i].valueLen);
-                }
-                keywordsLen += keywordList[i].valueLen;
-
+                sink.Append("=", 1);
+                sink.Append(keywordList[i].valueStart, keywordList[i].valueLen);
                 if(i < numKeywords - 1) {
-                    if(keywordsLen < keywordCapacity) {
-                        keywords[keywordsLen] = ';';
-                    }
-                    keywordsLen++;
-                }
-            }
-            if(values) {
-                if(valuesLen + keywordList[i].valueLen + 1< valuesCapacity) {
-                    uprv_strcpy(values+valuesLen, keywordList[i].valueStart);
-                    values[valuesLen + keywordList[i].valueLen] = 0;
+                    sink.Append(";", 1);
                 }
-                valuesLen += keywordList[i].valueLen + 1;
-            }
-        }
-        if(values) {
-            values[valuesLen] = 0;
-            if(valLen) {
-                *valLen = valuesLen;
+            } else {
+                sink.Append("\0", 1);
             }
         }
-        return u_terminateChars(keywords, keywordCapacity, keywordsLen, status);
-    } else {
-        return 0;
     }
 }
 
@@ -752,12 +726,28 @@ U_CFUNC int32_t
 locale_getKeywords(const char *localeID,
                    char prev,
                    char *keywords, int32_t keywordCapacity,
-                   char *values, int32_t valuesCapacity, int32_t *valLen,
                    UBool valuesToo,
                    UErrorCode *status) {
-    return _getKeywords(localeID, prev, keywords, keywordCapacity,
-                        values, valuesCapacity, valLen, valuesToo,
-                        status);
+    if (U_FAILURE(*status)) {
+        return 0;
+    }
+
+    CheckedArrayByteSink sink(keywords, keywordCapacity);
+    _getKeywords(localeID, prev, sink, valuesToo, status);
+
+    int32_t reslen = sink.NumberOfBytesAppended();
+
+    if (U_FAILURE(*status)) {
+        return reslen;
+    }
+
+    if (sink.Overflowed()) {
+        *status = U_BUFFER_OVERFLOW_ERROR;
+    } else {
+        u_terminateChars(keywords, keywordCapacity, reslen, status);
+    }
+
+    return reslen;
 }
 
 U_CAPI int32_t U_EXPORT2
@@ -1134,26 +1124,6 @@ static int16_t _findIndex(const char* const* list, const char* key)
     return -1;
 }
 
-/* count the length of src while copying it to dest; return strlen(src) */
-static inline int32_t
-_copyCount(char *dest, int32_t destCapacity, const char *src) {
-    const char *anchor;
-    char c;
-
-    anchor=src;
-    for(;;) {
-        if((c=*src)==0) {
-            return (int32_t)(src-anchor);
-        }
-        if(destCapacity<=0) {
-            return (int32_t)((src-anchor)+uprv_strlen(src));
-        }
-        ++src;
-        *dest++=c;
-        --destCapacity;
-    }
-}
-
 U_CFUNC const char*
 uloc_getCurrentCountryID(const char* oldID){
     int32_t offset = _findIndex(DEPRECATED_COUNTRIES, oldID);
@@ -1178,13 +1148,11 @@ uloc_getCurrentLanguageID(const char* oldID){
  *
  * TODO try to use this in Locale
  */
-U_CFUNC int32_t
+static CharString
 ulocimp_getLanguage(const char *localeID,
-                    char *language, int32_t languageCapacity,
-                    const char **pEnd) {
-    int32_t i=0;
-    int32_t offset;
-    char lang[4]={ 0, 0, 0, 0 }; /* temporary buffer to hold language code for searching */
+                    const char **pEnd,
+                    UErrorCode &status) {
+    CharString result;
 
     if (uprv_stricmp(localeID, "root") == 0) {
         localeID += 4;
@@ -1198,48 +1166,52 @@ ulocimp_getLanguage(const char *localeID,
 
     /* if it starts with i- or x- then copy that prefix */
     if(_isIDPrefix(localeID)) {
-        if(i<languageCapacity) {
-            language[i]=(char)uprv_tolower(*localeID);
-        }
-        if(i<languageCapacity) {
-            language[i+1]='-';
-        }
-        i+=2;
+        result.append((char)uprv_tolower(*localeID), status);
+        result.append('-', status);
         localeID+=2;
     }
 
     /* copy the language as far as possible and count its length */
     while(!_isTerminator(*localeID) && !_isIDSeparator(*localeID)) {
-        if(i<languageCapacity) {
-            language[i]=(char)uprv_tolower(*localeID);
-        }
-        if(i<3) {
-            U_ASSERT(i>=0);
-            lang[i]=(char)uprv_tolower(*localeID);
-        }
-        i++;
+        result.append((char)uprv_tolower(*localeID), status);
         localeID++;
     }
 
-    if(i==3) {
+    if(result.length()==3) {
         /* convert 3 character code to 2 character code if possible *CWB*/
-        offset=_findIndex(LANGUAGES_3, lang);
+        int32_t offset = _findIndex(LANGUAGES_3, result.data());
         if(offset>=0) {
-            i=_copyCount(language, languageCapacity, LANGUAGES[offset]);
+            result.clear();
+            result.append(LANGUAGES[offset], status);
         }
     }
 
     if(pEnd!=NULL) {
         *pEnd=localeID;
     }
-    return i;
+
+    return result;
 }
 
 U_CFUNC int32_t
+ulocimp_getLanguage(const char *localeID,
+                    char *language, int32_t languageCapacity,
+                    const char **pEnd) {
+    ErrorCode status;
+    CharString result = ulocimp_getLanguage(localeID, pEnd, status);
+    if (status.isFailure()) {
+        return 0;
+    }
+    int32_t reslen = result.length();
+    uprv_memcpy(language, result.data(), std::min(reslen, languageCapacity));
+    return reslen;
+}
+
+static CharString
 ulocimp_getScript(const char *localeID,
-                  char *script, int32_t scriptCapacity,
-                  const char **pEnd)
-{
+                  const char **pEnd,
+                  UErrorCode &status) {
+    CharString result;
     int32_t idLen = 0;
 
     if (pEnd != NULL) {
@@ -1258,132 +1230,137 @@ ulocimp_getScript(const char *localeID,
         if (pEnd != NULL) {
             *pEnd = localeID+idLen;
         }
-        if(idLen > scriptCapacity) {
-            idLen = scriptCapacity;
-        }
         if (idLen >= 1) {
-            script[0]=(char)uprv_toupper(*(localeID++));
+            result.append((char)uprv_toupper(*(localeID++)), status);
         }
         for (i = 1; i < idLen; i++) {
-            script[i]=(char)uprv_tolower(*(localeID++));
+            result.append((char)uprv_tolower(*(localeID++)), status);
         }
     }
-    else {
-        idLen = 0;
-    }
-    return idLen;
+
+    return result;
 }
 
 U_CFUNC int32_t
+ulocimp_getScript(const char *localeID,
+                  char *script, int32_t scriptCapacity,
+                  const char **pEnd) {
+    ErrorCode status;
+    CharString result = ulocimp_getScript(localeID, pEnd, status);
+    if (status.isFailure()) {
+        return 0;
+    }
+    int32_t reslen = result.length();
+    uprv_memcpy(script, result.data(), std::min(reslen, scriptCapacity));
+    return reslen;
+}
+
+static CharString
 ulocimp_getCountry(const char *localeID,
-                   char *country, int32_t countryCapacity,
-                   const char **pEnd)
-{
+                   const char **pEnd,
+                   UErrorCode &status) {
+    CharString result;
     int32_t idLen=0;
-    char cnty[ULOC_COUNTRY_CAPACITY]={ 0, 0, 0, 0 };
-    int32_t offset;
 
     /* copy the country as far as possible and count its length */
     while(!_isTerminator(localeID[idLen]) && !_isIDSeparator(localeID[idLen])) {
-        if(idLen<(ULOC_COUNTRY_CAPACITY-1)) {   /*CWB*/
-            cnty[idLen]=(char)uprv_toupper(localeID[idLen]);
-        }
+        result.append((char)uprv_toupper(localeID[idLen]), status);
         idLen++;
     }
 
     /* the country should be either length 2 or 3 */
     if (idLen == 2 || idLen == 3) {
-        UBool gotCountry = FALSE;
         /* convert 3 character code to 2 character code if possible *CWB*/
         if(idLen==3) {
-            offset=_findIndex(COUNTRIES_3, cnty);
+            int32_t offset = _findIndex(COUNTRIES_3, result.data());
             if(offset>=0) {
-                idLen=_copyCount(country, countryCapacity, COUNTRIES[offset]);
-                gotCountry = TRUE;
-            }
-        }
-        if (!gotCountry) {
-            int32_t i = 0;
-            for (i = 0; i < idLen; i++) {
-                if (i < countryCapacity) {
-                    country[i]=(char)uprv_toupper(localeID[i]);
-                }
+                result.clear();
+                result.append(COUNTRIES[offset], status);
             }
         }
         localeID+=idLen;
     } else {
-        idLen = 0;
+        result.clear();
     }
 
     if(pEnd!=NULL) {
         *pEnd=localeID;
     }
 
-    return idLen;
+    return result;
+}
+
+U_CFUNC int32_t
+ulocimp_getCountry(const char *localeID,
+                   char *country, int32_t countryCapacity,
+                   const char **pEnd) {
+    ErrorCode status;
+    CharString result = ulocimp_getCountry(localeID, pEnd, status);
+    if (status.isFailure()) {
+        return 0;
+    }
+    int32_t reslen = result.length();
+    uprv_memcpy(country, result.data(), std::min(reslen, countryCapacity));
+    return reslen;
 }
 
 /**
  * @param needSeparator if true, then add leading '_' if any variants
  * are added to 'variant'
  */
-static int32_t
+static void
 _getVariantEx(const char *localeID,
               char prev,
-              char *variant, int32_t variantCapacity,
+              ByteSink& sink,
               UBool needSeparator) {
-    int32_t i=0;
+    UBool hasVariant = FALSE;
 
     /* get one or more variant tags and separate them with '_' */
     if(_isIDSeparator(prev)) {
         /* get a variant string after a '-' or '_' */
         while(!_isTerminator(*localeID)) {
             if (needSeparator) {
-                if (i<variantCapacity) {
-                    variant[i] = '_';
-                }
-                ++i;
+                sink.Append("_", 1);
                 needSeparator = FALSE;
             }
-            if(i<variantCapacity) {
-                variant[i]=(char)uprv_toupper(*localeID);
-                if(variant[i]=='-') {
-                    variant[i]='_';
-                }
-            }
-            i++;
+            char c = (char)uprv_toupper(*localeID);
+            if (c == '-') c = '_';
+            sink.Append(&c, 1);
+            hasVariant = TRUE;
             localeID++;
         }
     }
 
     /* if there is no variant tag after a '-' or '_' then look for '@' */
-    if(i==0) {
+    if(!hasVariant) {
         if(prev=='@') {
             /* keep localeID */
         } else if((localeID=locale_getKeywordsStart(localeID))!=NULL) {
             ++localeID; /* point after the '@' */
         } else {
-            return 0;
+            return;
         }
         while(!_isTerminator(*localeID)) {
             if (needSeparator) {
-                if (i<variantCapacity) {
-                    variant[i] = '_';
-                }
-                ++i;
+                sink.Append("_", 1);
                 needSeparator = FALSE;
             }
-            if(i<variantCapacity) {
-                variant[i]=(char)uprv_toupper(*localeID);
-                if(variant[i]=='-' || variant[i]==',') {
-                    variant[i]='_';
-                }
-            }
-            i++;
+            char c = (char)uprv_toupper(*localeID);
+            if (c == '-' || c == ',') c = '_';
+            sink.Append(&c, 1);
             localeID++;
         }
     }
+}
 
-    return i;
+static int32_t
+_getVariantEx(const char *localeID,
+              char prev,
+              char *variant, int32_t variantCapacity,
+              UBool needSeparator) {
+    CheckedArrayByteSink sink(variant, variantCapacity);
+    _getVariantEx(localeID, prev, sink, needSeparator);
+    return sink.NumberOfBytesAppended();
 }
 
 static int32_t
@@ -1529,7 +1506,7 @@ uloc_openKeywords(const char* localeID,
 
     /* keywords are located after '@' */
     if((tmpLocaleID = locale_getKeywordsStart(tmpLocaleID)) != NULL) {
-        i=locale_getKeywords(tmpLocaleID+1, '@', keywords, keywordsCapacity, NULL, 0, NULL, FALSE, status);
+        i=locale_getKeywords(tmpLocaleID+1, '@', keywords, keywordsCapacity, FALSE, status);
     }
 
     if(i) {
@@ -1556,24 +1533,20 @@ static const char i_default[] = {'i', '-', 'd', 'e', 'f', 'a', 'u', 'l', 't'};
  *
  * This is the code underlying uloc_getName and uloc_canonicalize.
  */
-static int32_t
+static void
 _canonicalize(const char* localeID,
-              char* result,
-              int32_t resultCapacity,
+              ByteSink& sink,
               uint32_t options,
               UErrorCode* err) {
-    int32_t j, len, fieldCount=0, scriptSize=0, variantSize=0, nameCapacity;
-    char localeBuffer[ULOC_FULLNAME_CAPACITY];
+    int32_t j, fieldCount=0, scriptSize=0, variantSize=0;
     char tempBuffer[ULOC_FULLNAME_CAPACITY];
     const char* origLocaleID;
     const char* tmpLocaleID;
     const char* keywordAssign = NULL;
     const char* separatorIndicator = NULL;
-    char* name;
-    char* variant = NULL; /* pointer into name, or NULL */
 
     if (U_FAILURE(*err)) {
-        return 0;
+        return;
     }
 
     if (_hasBCP47Extension(localeID)) {
@@ -1587,77 +1560,55 @@ _canonicalize(const char* localeID,
 
     origLocaleID=tmpLocaleID;
 
-    /* if we are doing a full canonicalization, then put results in
-       localeBuffer, if necessary; otherwise send them to result. */
-    if (/*OPTION_SET(options, _ULOC_CANONICALIZE) &&*/
-        (result == NULL || resultCapacity < (int32_t)sizeof(localeBuffer))) {
-        name = localeBuffer;
-        nameCapacity = (int32_t)sizeof(localeBuffer);
-    } else {
-        name = result;
-        nameCapacity = resultCapacity;
-    }
-
     /* get all pieces, one after another, and separate with '_' */
-    len=ulocimp_getLanguage(tmpLocaleID, name, nameCapacity, &tmpLocaleID);
-
-    if(len == I_DEFAULT_LENGTH && uprv_strncmp(origLocaleID, i_default, len) == 0) {
-        const char *d = uloc_getDefault();
+    CharString tag = ulocimp_getLanguage(tmpLocaleID, &tmpLocaleID, *err);
 
-        len = (int32_t)uprv_strlen(d);
-
-        if (name != NULL) {
-            uprv_memcpy(name, d, len);
-        }
+    if (tag.length() == I_DEFAULT_LENGTH &&
+            uprv_strncmp(origLocaleID, i_default, I_DEFAULT_LENGTH) == 0) {
+        tag.clear();
+        tag.append(uloc_getDefault(), *err);
     } else if(_isIDSeparator(*tmpLocaleID)) {
         const char *scriptID;
 
         ++fieldCount;
-        if(len<nameCapacity) {
-            name[len]='_';
-        }
-        ++len;
+        tag.append('_', *err);
 
-        scriptSize=ulocimp_getScript(tmpLocaleID+1,
-            (len<nameCapacity ? name+len : NULL), nameCapacity-len, &scriptID);
+        CharString script = ulocimp_getScript(tmpLocaleID+1, &scriptID, *err);
+        tag.append(script, *err);
+        scriptSize = script.length();
         if(scriptSize > 0) {
             /* Found optional script */
             tmpLocaleID = scriptID;
             ++fieldCount;
-            len+=scriptSize;
             if (_isIDSeparator(*tmpLocaleID)) {
                 /* If there is something else, then we add the _ */
-                if(len<nameCapacity) {
-                    name[len]='_';
-                }
-                ++len;
+                tag.append('_', *err);
             }
         }
 
         if (_isIDSeparator(*tmpLocaleID)) {
             const char *cntryID;
-            int32_t cntrySize = ulocimp_getCountry(tmpLocaleID+1,
-                (len<nameCapacity ? name+len : NULL), nameCapacity-len, &cntryID);
-            if (cntrySize > 0) {
+
+            CharString country = ulocimp_getCountry(tmpLocaleID+1, &cntryID, *err);
+            tag.append(country, *err);
+            if (!country.isEmpty()) {
                 /* Found optional country */
                 tmpLocaleID = cntryID;
-                len+=cntrySize;
             }
             if(_isIDSeparator(*tmpLocaleID)) {
                 /* If there is something else, then we add the _  if we found country before. */
-                if (cntrySize >= 0 && ! _isIDSeparator(*(tmpLocaleID+1)) ) {
+                if (!_isIDSeparator(*(tmpLocaleID+1))) {
                     ++fieldCount;
-                    if(len<nameCapacity) {
-                        name[len]='_';
-                    }
-                    ++len;
+                    tag.append('_', *err);
                 }
 
-                variantSize = _getVariant(tmpLocaleID+1, *tmpLocaleID,
-                    (len<nameCapacity ? name+len : NULL), nameCapacity-len);
+                variantSize = -tag.length();
+                {
+                    CharStringByteSink s(&tag);
+                    _getVariantEx(tmpLocaleID+1, *tmpLocaleID, s, FALSE);
+                }
+                variantSize += tag.length();
                 if (variantSize > 0) {
-                    variant = len<nameCapacity ? name+len : NULL;
-                    len += variantSize;
                     tmpLocaleID += variantSize + 1; /* skip '_' and variant */
                 }
             }
@@ -1675,10 +1626,7 @@ _canonicalize(const char* localeID,
                 done = TRUE;
                 break;
             default:
-                if (len<nameCapacity) {
-                    name[len] = c;
-                }
-                ++len;
+                tag.append(c, *err);
                 ++tmpLocaleID;
                 break;
             }
@@ -1700,10 +1648,7 @@ _canonicalize(const char* localeID,
             if (c == 0) {
                 break;
             }
-            if (len<nameCapacity) {
-                name[len] = c;
-            }
-            ++len;
+            tag.append(c, *err);
             ++tmpLocaleID;
         }
     }
@@ -1711,60 +1656,49 @@ _canonicalize(const char* localeID,
     if (OPTION_SET(options, _ULOC_CANONICALIZE)) {
         /* Handle @FOO variant if @ is present and not followed by = */
         if (tmpLocaleID!=NULL && keywordAssign==NULL) {
-            int32_t posixVariantSize;
             /* Add missing '_' if needed */
             if (fieldCount < 2 || (fieldCount < 3 && scriptSize > 0)) {
                 do {
-                    if(len<nameCapacity) {
-                        name[len]='_';
-                    }
-                    ++len;
+                    tag.append('_', *err);
                     ++fieldCount;
                 } while(fieldCount<2);
             }
-            posixVariantSize = _getVariantEx(tmpLocaleID+1, '@', name+len, nameCapacity-len,
-                                             (UBool)(variantSize > 0));
+
+            int32_t posixVariantSize = -tag.length();
+            {
+                CharStringByteSink s(&tag);
+                _getVariantEx(tmpLocaleID+1, '@', s, (UBool)(variantSize > 0));
+            }
+            posixVariantSize += tag.length();
             if (posixVariantSize > 0) {
-                if (variant == NULL) {
-                    variant = name+len;
-                }
-                len += posixVariantSize;
                 variantSize += posixVariantSize;
             }
         }
 
         /* Look up the ID in the canonicalization map */
         for (j=0; j<UPRV_LENGTHOF(CANONICALIZE_MAP); j++) {
-            const char* id = CANONICALIZE_MAP[j].id;
-            int32_t n = (int32_t)uprv_strlen(id);
-            if (len == n && uprv_strncmp(name, id, n) == 0) {
-                if (n == 0 && tmpLocaleID != NULL) {
+            StringPiece id(CANONICALIZE_MAP[j].id);
+            if (tag == id) {
+                if (id.empty() && tmpLocaleID != NULL) {
                     break; /* Don't remap "" if keywords present */
                 }
-                len = _copyCount(name, nameCapacity, CANONICALIZE_MAP[j].canonicalID);
+                tag.clear();
+                tag.append(CANONICALIZE_MAP[j].canonicalID, *err);
                 break;
             }
         }
     }
 
+    sink.Append(tag.data(), tag.length());
+
     if (!OPTION_SET(options, _ULOC_STRIP_KEYWORDS)) {
         if (tmpLocaleID!=NULL && keywordAssign!=NULL &&
             (!separatorIndicator || separatorIndicator > keywordAssign)) {
-            if(len<nameCapacity) {
-                name[len]='@';
-            }
-            ++len;
+            sink.Append("@", 1);
             ++fieldCount;
-            len += _getKeywords(tmpLocaleID+1, '@', (len<nameCapacity ? name+len : NULL), nameCapacity-len,
-                                NULL, 0, NULL, TRUE, err);
+            _getKeywords(tmpLocaleID+1, '@', sink, TRUE, err);
         }
     }
-
-    if (U_SUCCESS(*err) && result != NULL && name == localeBuffer) {
-        uprv_strncpy(result, localeBuffer, (len > resultCapacity) ? resultCapacity : len);
-    }
-
-    return u_terminateChars(result, resultCapacity, len, err);
 }
 
 /* ### ID parsing API **************************************************/
@@ -1949,7 +1883,34 @@ uloc_getName(const char* localeID,
              int32_t nameCapacity,
              UErrorCode* err)
 {
-    return _canonicalize(localeID, name, nameCapacity, 0, err);
+    if (U_FAILURE(*err)) {
+        return 0;
+    }
+
+    CheckedArrayByteSink sink(name, nameCapacity);
+    ulocimp_getName(localeID, sink, err);
+
+    int32_t reslen = sink.NumberOfBytesAppended();
+
+    if (U_FAILURE(*err)) {
+        return reslen;
+    }
+
+    if (sink.Overflowed()) {
+        *err = U_BUFFER_OVERFLOW_ERROR;
+    } else {
+        u_terminateChars(name, nameCapacity, reslen, err);
+    }
+
+    return reslen;
+}
+
+U_STABLE void U_EXPORT2
+ulocimp_getName(const char* localeID,
+                ByteSink& sink,
+                UErrorCode* err)
+{
+    _canonicalize(localeID, sink, 0, err);
 }
 
 U_CAPI int32_t  U_EXPORT2
@@ -1958,7 +1919,34 @@ uloc_getBaseName(const char* localeID,
                  int32_t nameCapacity,
                  UErrorCode* err)
 {
-    return _canonicalize(localeID, name, nameCapacity, _ULOC_STRIP_KEYWORDS, err);
+    if (U_FAILURE(*err)) {
+        return 0;
+    }
+
+    CheckedArrayByteSink sink(name, nameCapacity);
+    ulocimp_getBaseName(localeID, sink, err);
+
+    int32_t reslen = sink.NumberOfBytesAppended();
+
+    if (U_FAILURE(*err)) {
+        return reslen;
+    }
+
+    if (sink.Overflowed()) {
+        *err = U_BUFFER_OVERFLOW_ERROR;
+    } else {
+        u_terminateChars(name, nameCapacity, reslen, err);
+    }
+
+    return reslen;
+}
+
+U_STABLE void U_EXPORT2
+ulocimp_getBaseName(const char* localeID,
+                    ByteSink& sink,
+                    UErrorCode* err)
+{
+    _canonicalize(localeID, sink, _ULOC_STRIP_KEYWORDS, err);
 }
 
 U_CAPI int32_t  U_EXPORT2
@@ -1967,7 +1955,34 @@ uloc_canonicalize(const char* localeID,
                   int32_t nameCapacity,
                   UErrorCode* err)
 {
-    return _canonicalize(localeID, name, nameCapacity, _ULOC_CANONICALIZE, err);
+    if (U_FAILURE(*err)) {
+        return 0;
+    }
+
+    CheckedArrayByteSink sink(name, nameCapacity);
+    ulocimp_canonicalize(localeID, sink, err);
+
+    int32_t reslen = sink.NumberOfBytesAppended();
+
+    if (U_FAILURE(*err)) {
+        return reslen;
+    }
+
+    if (sink.Overflowed()) {
+        *err = U_BUFFER_OVERFLOW_ERROR;
+    } else {
+        u_terminateChars(name, nameCapacity, reslen, err);
+    }
+
+    return reslen;
+}
+
+U_STABLE void U_EXPORT2
+ulocimp_canonicalize(const char* localeID,
+                     ByteSink& sink,
+                     UErrorCode* err)
+{
+    _canonicalize(localeID, sink, _ULOC_CANONICALIZE, err);
 }
 
 U_CAPI const char*  U_EXPORT2
@@ -2126,301 +2141,6 @@ uloc_getISOCountries()
     return COUNTRIES;
 }
 
-
-/* this function to be moved into cstring.c later */
-static char gDecimal = 0;
-
-static /* U_CAPI */
-double
-/* U_EXPORT2 */
-_uloc_strtod(const char *start, char **end) {
-    char *decimal;
-    char *myEnd;
-    char buf[30];
-    double rv;
-    if (!gDecimal) {
-        char rep[5];
-        /* For machines that decide to change the decimal on you,
-        and try to be too smart with localization.
-        This normally should be just a '.'. */
-        sprintf(rep, "%+1.1f", 1.0);
-        gDecimal = rep[2];
-    }
-
-    if(gDecimal == '.') {
-        return uprv_strtod(start, end); /* fall through to OS */
-    } else {
-        uprv_strncpy(buf, start, 29);
-        buf[29]=0;
-        decimal = uprv_strchr(buf, '.');
-        if(decimal) {
-            *decimal = gDecimal;
-        } else {
-            return uprv_strtod(start, end); /* no decimal point */
-        }
-        rv = uprv_strtod(buf, &myEnd);
-        if(end) {
-            *end = (char*)(start+(myEnd-buf)); /* cast away const (to follow uprv_strtod API.) */
-        }
-        return rv;
-    }
-}
-
-typedef struct {
-    float q;
-    int32_t dummy;  /* to avoid uninitialized memory copy from qsort */
-    char locale[ULOC_FULLNAME_CAPACITY+1];
-} _acceptLangItem;
-
-static int32_t U_CALLCONV
-uloc_acceptLanguageCompare(const void * /*context*/, const void *a, const void *b)
-{
-    const _acceptLangItem *aa = (const _acceptLangItem*)a;
-    const _acceptLangItem *bb = (const _acceptLangItem*)b;
-
-    int32_t rc = 0;
-    if(bb->q < aa->q) {
-        rc = -1;  /* A > B */
-    } else if(bb->q > aa->q) {
-        rc = 1;   /* A < B */
-    } else {
-        rc = 0;   /* A = B */
-    }
-
-    if(rc==0) {
-        rc = uprv_stricmp(aa->locale, bb->locale);
-    }
-
-#if defined(ULOC_DEBUG)
-    /*  fprintf(stderr, "a:[%s:%g], b:[%s:%g] -> %d\n",
-    aa->locale, aa->q,
-    bb->locale, bb->q,
-    rc);*/
-#endif
-
-    return rc;
-}
-
-/*
-mt-mt, ja;q=0.76, en-us;q=0.95, en;q=0.92, en-gb;q=0.89, fr;q=0.87, iu-ca;q=0.84, iu;q=0.82, ja-jp;q=0.79, mt;q=0.97, de-de;q=0.74, de;q=0.71, es;q=0.68, it-it;q=0.66, it;q=0.63, vi-vn;q=0.61, vi;q=0.58, nl-nl;q=0.55, nl;q=0.53
-*/
-
-U_CAPI int32_t U_EXPORT2
-uloc_acceptLanguageFromHTTP(char *result, int32_t resultAvailable, UAcceptResult *outResult,
-                            const char *httpAcceptLanguage,
-                            UEnumeration* availableLocales,
-                            UErrorCode *status)
-{
-  MaybeStackArray<_acceptLangItem, 4> items; // Struct for collecting items.
-    char tmp[ULOC_FULLNAME_CAPACITY +1];
-    int32_t n = 0;
-    const char *itemEnd;
-    const char *paramEnd;
-    const char *s;
-    const char *t;
-    int32_t res;
-    int32_t i;
-    int32_t l = (int32_t)uprv_strlen(httpAcceptLanguage);
-
-    if(U_FAILURE(*status)) {
-        return -1;
-    }
-
-    for(s=httpAcceptLanguage;s&&*s;) {
-        while(isspace(*s)) /* eat space at the beginning */
-            s++;
-        itemEnd=uprv_strchr(s,',');
-        paramEnd=uprv_strchr(s,';');
-        if(!itemEnd) {
-            itemEnd = httpAcceptLanguage+l; /* end of string */
-        }
-        if(paramEnd && paramEnd<itemEnd) {
-            /* semicolon (;) is closer than end (,) */
-            t = paramEnd+1;
-            if(*t=='q') {
-                t++;
-            }
-            while(isspace(*t)) {
-                t++;
-            }
-            if(*t=='=') {
-                t++;
-            }
-            while(isspace(*t)) {
-                t++;
-            }
-            items[n].q = (float)_uloc_strtod(t,NULL);
-        } else {
-            /* no semicolon - it's 1.0 */
-            items[n].q = 1.0f;
-            paramEnd = itemEnd;
-        }
-        items[n].dummy=0;
-        /* eat spaces prior to semi */
-        for(t=(paramEnd-1);(paramEnd>s)&&isspace(*t);t--)
-            ;
-        int32_t slen = static_cast<int32_t>(((t+1)-s));
-        if(slen > ULOC_FULLNAME_CAPACITY) {
-          *status = U_BUFFER_OVERFLOW_ERROR;
-          return -1; // too big
-        }
-        uprv_strncpy(items[n].locale, s, slen);
-        items[n].locale[slen]=0; // terminate
-        int32_t clen = uloc_canonicalize(items[n].locale, tmp, UPRV_LENGTHOF(tmp)-1, status);
-        if(U_FAILURE(*status)) return -1;
-        if((clen!=slen) || (uprv_strncmp(items[n].locale, tmp, slen))) {
-            // canonicalization had an effect- copy back
-            uprv_strncpy(items[n].locale, tmp, clen);
-            items[n].locale[clen] = 0; // terminate
-        }
-#if defined(ULOC_DEBUG)
-        /*fprintf(stderr,"%d: s <%s> q <%g>\n", n, j[n].locale, j[n].q);*/
-#endif
-        n++;
-        s = itemEnd;
-        while(*s==',') { /* eat duplicate commas */
-            s++;
-        }
-        if(n>=items.getCapacity()) { // If we need more items
-          if(NULL == items.resize(items.getCapacity()*2, items.getCapacity())) {
-              *status = U_MEMORY_ALLOCATION_ERROR;
-              return -1;
-          }
-#if defined(ULOC_DEBUG)
-          fprintf(stderr,"malloced at size %d\n", items.getCapacity());
-#endif
-        }
-    }
-    uprv_sortArray(items.getAlias(), n, sizeof(items[0]), uloc_acceptLanguageCompare, NULL, TRUE, status);
-    if (U_FAILURE(*status)) {
-        return -1;
-    }
-    LocalMemory<const char*> strs(NULL);
-    if (strs.allocateInsteadAndReset(n) == NULL) {
-        *status = U_MEMORY_ALLOCATION_ERROR;
-        return -1;
-    }
-    for(i=0;i<n;i++) {
-#if defined(ULOC_DEBUG)
-        /*fprintf(stderr,"%d: s <%s> q <%g>\n", i, j[i].locale, j[i].q);*/
-#endif
-        strs[i]=items[i].locale;
-    }
-    res =  uloc_acceptLanguage(result, resultAvailable, outResult,
-                               strs.getAlias(), n, availableLocales, status);
-    return res;
-}
-
-
-U_CAPI int32_t U_EXPORT2
-uloc_acceptLanguage(char *result, int32_t resultAvailable,
-                    UAcceptResult *outResult, const char **acceptList,
-                    int32_t acceptListCount,
-                    UEnumeration* availableLocales,
-                    UErrorCode *status)
-{
-    int32_t i,j;
-    int32_t len;
-    int32_t maxLen=0;
-    char tmp[ULOC_FULLNAME_CAPACITY+1];
-    const char *l;
-    char **fallbackList;
-    if(U_FAILURE(*status)) {
-        return -1;
-    }
-    fallbackList = static_cast<char **>(uprv_malloc((size_t)(sizeof(fallbackList[0])*acceptListCount)));
-    if(fallbackList==NULL) {
-        *status = U_MEMORY_ALLOCATION_ERROR;
-        return -1;
-    }
-    for(i=0;i<acceptListCount;i++) {
-#if defined(ULOC_DEBUG)
-        fprintf(stderr,"%02d: %s\n", i, acceptList[i]);
-#endif
-        while((l=uenum_next(availableLocales, NULL, status)) != NULL) {
-#if defined(ULOC_DEBUG)
-            fprintf(stderr,"  %s\n", l);
-#endif
-            len = (int32_t)uprv_strlen(l);
-            if(!uprv_strcmp(acceptList[i], l)) {
-                if(outResult) {
-                    *outResult = ULOC_ACCEPT_VALID;
-                }
-#if defined(ULOC_DEBUG)
-                fprintf(stderr, "MATCH! %s\n", l);
-#endif
-                if(len>0) {
-                    uprv_strncpy(result, l, uprv_min(len, resultAvailable));
-                }
-                for(j=0;j<i;j++) {
-                    uprv_free(fallbackList[j]);
-                }
-                uprv_free(fallbackList);
-                return u_terminateChars(result, resultAvailable, len, status);
-            }
-            if(len>maxLen) {
-                maxLen = len;
-            }
-        }
-        uenum_reset(availableLocales, status);
-        /* save off parent info */
-        if(uloc_getParent(acceptList[i], tmp, UPRV_LENGTHOF(tmp), status)!=0) {
-            fallbackList[i] = uprv_strdup(tmp);
-        } else {
-            fallbackList[i]=0;
-        }
-    }
-
-    for(maxLen--;maxLen>0;maxLen--) {
-        for(i=0;i<acceptListCount;i++) {
-            if(fallbackList[i] && ((int32_t)uprv_strlen(fallbackList[i])==maxLen)) {
-#if defined(ULOC_DEBUG)
-                fprintf(stderr,"Try: [%s]", fallbackList[i]);
-#endif
-                while((l=uenum_next(availableLocales, NULL, status)) != NULL) {
-#if defined(ULOC_DEBUG)
-                    fprintf(stderr,"  %s\n", l);
-#endif
-                    len = (int32_t)uprv_strlen(l);
-                    if(!uprv_strcmp(fallbackList[i], l)) {
-                        if(outResult) {
-                            *outResult = ULOC_ACCEPT_FALLBACK;
-                        }
-#if defined(ULOC_DEBUG)
-                        fprintf(stderr, "fallback MATCH! %s\n", l);
-#endif
-                        if(len>0) {
-                            uprv_strncpy(result, l, uprv_min(len, resultAvailable));
-                        }
-                        for(j=0;j<acceptListCount;j++) {
-                            uprv_free(fallbackList[j]);
-                        }
-                        uprv_free(fallbackList);
-                        return u_terminateChars(result, resultAvailable, len, status);
-                    }
-                }
-                uenum_reset(availableLocales, status);
-
-                if(uloc_getParent(fallbackList[i], tmp, UPRV_LENGTHOF(tmp), status)!=0) {
-                    uprv_free(fallbackList[i]);
-                    fallbackList[i] = uprv_strdup(tmp);
-                } else {
-                    uprv_free(fallbackList[i]);
-                    fallbackList[i]=0;
-                }
-            }
-        }
-        if(outResult) {
-            *outResult = ULOC_ACCEPT_FAILED;
-        }
-    }
-    for(i=0;i<acceptListCount;i++) {
-        uprv_free(fallbackList[i]);
-    }
-    uprv_free(fallbackList);
-    return -1;
-}
-
 U_CAPI const char* U_EXPORT2
 uloc_toUnicodeLocaleKey(const char* keyword)
 {
index 1c10c48..ad5dd64 100644 (file)
@@ -1110,6 +1110,19 @@ _appendRegionToLanguageTag(const char* localeID, icu::ByteSink& sink, UBool stri
     }
 }
 
+static void _sortVariants(VariantListEntry* first) {
+    for (VariantListEntry* var1 = first; var1 != NULL; var1 = var1->next) {
+        for (VariantListEntry* var2 = var1->next; var2 != NULL; var2 = var2->next) {
+            // Swap var1->variant and var2->variant.
+            if (uprv_compareInvCharsAsAscii(var1->variant, var2->variant) > 0) {
+                const char* temp = var1->variant;
+                var1->variant = var2->variant;
+                var2->variant = temp;
+            }
+        }
+    }
+}
+
 static void
 _appendVariantsToLanguageTag(const char* localeID, icu::ByteSink& sink, UBool strict, UBool *hadPosix, UErrorCode* status) {
     char buf[ULOC_FULLNAME_CAPACITY];
@@ -1199,6 +1212,9 @@ _appendVariantsToLanguageTag(const char* localeID, icu::ByteSink& sink, UBool st
             if (varFirst != NULL) {
                 int32_t varLen;
 
+                /* per UTS35, we should sort the variants */
+                _sortVariants(varFirst);
+
                 /* write out validated/normalized variants to the target */
                 var = varFirst;
                 while (var != NULL) {
@@ -1492,8 +1508,11 @@ _appendKeywordsToLanguageTag(const char* localeID, icu::ByteSink& sink, UBool st
                 } else {
                     sink.Append("-", 1);
                     sink.Append(ext->key, static_cast<int32_t>(uprv_strlen(ext->key)));
-                    sink.Append("-", 1);
-                    sink.Append(ext->value, static_cast<int32_t>(uprv_strlen(ext->value)));
+                    if (uprv_strcmp(ext->value, "true") != 0 &&
+                        uprv_strcmp(ext->value, "yes") != 0) {
+                      sink.Append("-", 1);
+                      sink.Append(ext->value, static_cast<int32_t>(uprv_strlen(ext->value)));
+                    }
                 }
             }
         }
@@ -1662,7 +1681,7 @@ _appendLDMLExtensionAsKeywords(const char* ldmlext, ExtensionListEntry** appendT
                 const char *pKey = NULL;    /* LDML key */
                 const char *pType = NULL;   /* LDML type */
 
-                char bcpKeyBuf[9];          /* BCP key length is always 2 for now */
+                char bcpKeyBuf[3];          /* BCP key length is always 2 for now */
 
                 U_ASSERT(pBcpKey != NULL);
 
@@ -1671,6 +1690,7 @@ _appendLDMLExtensionAsKeywords(const char* ldmlext, ExtensionListEntry** appendT
                     *status = U_ILLEGAL_ARGUMENT_ERROR;
                     return;
                 }
+                U_ASSERT(bcpKeyLen <= 2);
 
                 uprv_strncpy(bcpKeyBuf, pBcpKey, bcpKeyLen);
                 bcpKeyBuf[bcpKeyLen] = 0;
@@ -2822,6 +2842,7 @@ ulocimp_forLanguageTag(const char* langtag,
     }
 
     /* variants */
+    _sortVariants(lt.getAlias()->variants);
     n = ultag_getVariantsSize(lt.getAlias());
     if (n > 0) {
         if (noRegion) {
index 31d3c44..b9e2eb4 100644 (file)
@@ -62,6 +62,21 @@ ulocimp_getCountry(const char *localeID,
                    char *country, int32_t countryCapacity,
                    const char **pEnd);
 
+U_STABLE void U_EXPORT2
+ulocimp_getName(const char* localeID,
+                icu::ByteSink& sink,
+                UErrorCode* err);
+
+U_STABLE void U_EXPORT2
+ulocimp_getBaseName(const char* localeID,
+                    icu::ByteSink& sink,
+                    UErrorCode* err);
+
+U_STABLE void U_EXPORT2
+ulocimp_canonicalize(const char* localeID,
+                     icu::ByteSink& sink,
+                     UErrorCode* err);
+
 /**
  * Writes a well-formed language tag for this locale ID.
  *
old mode 100755 (executable)
new mode 100644 (file)
index cde8b5a..5776058 100644 (file)
@@ -1519,7 +1519,8 @@ U_CAPI UChar32 U_EXPORT2
 u_charFromName(UCharNameChoice nameChoice,
                const char *name,
                UErrorCode *pErrorCode) {
-    char upper[120], lower[120];
+    char upper[120] = {0};
+    char lower[120] = {0};
     FindName findName;
     AlgorithmicRange *algRange;
     uint32_t *p;
index 0d60492..7fe2406 100644 (file)
@@ -71,6 +71,40 @@ public:
    */
   virtual void Append(const char* bytes, int32_t n) = 0;
 
+#ifndef U_HIDE_DRAFT_API
+  /**
+   * Appends n bytes to this. Same as Append().
+   * Call AppendU8() with u8"string literals" which are const char * in C++11
+   * but const char8_t * in C++20.
+   * If the compiler does support char8_t as a distinct type,
+   * then an AppendU8() overload for that is defined and will be chosen.
+   *
+   * @param bytes the pointer to the bytes
+   * @param n the number of bytes; must be non-negative
+   * @draft ICU 67
+   */
+  inline void AppendU8(const char* bytes, int32_t n) {
+    Append(bytes, n);
+  }
+
+#if defined(__cpp_char8_t) || defined(U_IN_DOXYGEN)
+  /**
+   * Appends n bytes to this. Same as Append() but for a const char8_t * pointer.
+   * Call AppendU8() with u8"string literals" which are const char * in C++11
+   * but const char8_t * in C++20.
+   * If the compiler does support char8_t as a distinct type,
+   * then this AppendU8() overload for that is defined and will be chosen.
+   *
+   * @param bytes the pointer to the bytes
+   * @param n the number of bytes; must be non-negative
+   * @draft ICU 67
+   */
+  inline void AppendU8(const char8_t* bytes, int32_t n) {
+    Append(reinterpret_cast<const char*>(bytes), n);
+  }
+#endif
+#endif  // U_HIDE_DRAFT_API
+
   /**
    * Returns a writable buffer for appending and writes the buffer's capacity to
    * *result_capacity. Guarantees *result_capacity>=min_capacity.
index 19e10f1..c5836fe 100644 (file)
@@ -12,7 +12,6 @@
 #include "unicode/stringpiece.h"
 #include "unicode/uobject.h"
 
-#ifndef U_HIDE_DRAFT_API
 /**
  * \file
  * \brief C++ API: Builder API for Locale
@@ -57,7 +56,7 @@ class CharString;
  * UErrorCode, then track the error of the validation of the input parameter
  * into the internal UErrorCode.
  *
- * @draft ICU 64
+ * @stable ICU 64
  */
 class U_COMMON_API LocaleBuilder : public UObject {
 public:
@@ -66,13 +65,13 @@ public:
      * fields, extensions, and private use information is the
      * empty string.
      *
-     * @draft ICU 64
+     * @stable ICU 64
      */
     LocaleBuilder();
 
     /**
      * Destructor
-     * @draft ICU 64
+     * @stable ICU 64
      */
     virtual ~LocaleBuilder();
 
@@ -86,7 +85,7 @@ public:
      * @param locale the locale
      * @return This builder.
      *
-     * @draft ICU 64
+     * @stable ICU 64
      */
     LocaleBuilder& setLocale(const Locale& locale);
 
@@ -104,7 +103,7 @@ public:
      * @param tag the language tag, defined as
      *   [unicode_locale_id](http://www.unicode.org/reports/tr35/tr35.html#unicode_locale_id).
      * @return This builder.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     LocaleBuilder& setLanguageTag(StringPiece tag);
 
@@ -119,7 +118,7 @@ public:
      *
      * @param language the language
      * @return This builder.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     LocaleBuilder& setLanguage(StringPiece language);
 
@@ -135,7 +134,7 @@ public:
      *
      * @param script the script
      * @return This builder.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     LocaleBuilder& setScript(StringPiece script);
 
@@ -154,7 +153,7 @@ public:
      *
      * @param region the region
      * @return This builder.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     LocaleBuilder& setRegion(StringPiece region);
 
@@ -175,7 +174,7 @@ public:
      *
      * @param variant the variant
      * @return This builder.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     LocaleBuilder& setVariant(StringPiece variant);
 
@@ -196,7 +195,7 @@ public:
      * @param key the extension key
      * @param value the extension value
      * @return This builder.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     LocaleBuilder& setExtension(char key, StringPiece value);
 
@@ -216,7 +215,7 @@ public:
      * @param key the Unicode locale key
      * @param type the Unicode locale type
      * @return This builder.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     LocaleBuilder& setUnicodeLocaleKeyword(
         StringPiece key, StringPiece type);
@@ -229,7 +228,7 @@ public:
      *
      * @param attribute the attribute
      * @return This builder.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     LocaleBuilder& addUnicodeLocaleAttribute(StringPiece attribute);
 
@@ -242,7 +241,7 @@ public:
      *
      * @param attribute the attribute
      * @return This builder.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     LocaleBuilder& removeUnicodeLocaleAttribute(StringPiece attribute);
 
@@ -251,7 +250,7 @@ public:
      * <p>This method clears the internal UErrorCode.
      *
      * @return this builder
-     * @draft ICU 64
+     * @stable ICU 64
      */
     LocaleBuilder& clear();
 
@@ -260,7 +259,7 @@ public:
      * Language, script, region and variant are unchanged.
      *
      * @return this builder
-     * @draft ICU 64
+     * @stable ICU 64
      */
     LocaleBuilder& clearExtensions();
 
@@ -275,7 +274,7 @@ public:
      * the same builder to build more locales.
      *
      * @return a new Locale
-     * @draft ICU 64
+     * @stable ICU 64
      */
     Locale build(UErrorCode& status);
 
@@ -308,8 +307,6 @@ private:
 
 U_NAMESPACE_END
 
-#endif  // U_HIDE_DRAFT_API
-
 #endif /* U_SHOW_CPLUSPLUS_API */
 
 #endif  // __LOCALEBUILDER_H__
index 701123f..2e1a7a3 100644 (file)
  * \brief C++ API: Locale matcher: User's desired locales vs. application's supported locales.
  */
 
-#ifndef U_HIDE_DRAFT_API
+#ifndef U_FORCE_HIDE_DRAFT_API
 
 /**
  * Builder option for whether the language subtag or the script subtag is most important.
  *
- * @see Builder#setFavorSubtag(FavorSubtag)
+ * @see Builder#setFavorSubtag(ULocMatchFavorSubtag)
  * @draft ICU 65
  */
 enum ULocMatchFavorSubtag {
@@ -51,7 +51,7 @@ typedef enum ULocMatchFavorSubtag ULocMatchFavorSubtag;
  * Builder option for whether all desired locales are treated equally or
  * earlier ones are preferred.
  *
- * @see Builder#setDemotionPerDesiredLocale(Demotion)
+ * @see Builder#setDemotionPerDesiredLocale(ULocMatchDemotion)
  * @draft ICU 65
  */
 enum ULocMatchDemotion {
@@ -93,6 +93,42 @@ enum ULocMatchDemotion {
 typedef enum ULocMatchDemotion ULocMatchDemotion;
 #endif
 
+/**
+ * Builder option for whether to include or ignore one-way (fallback) match data.
+ * The LocaleMatcher uses CLDR languageMatch data which includes fallback (oneway=true) entries.
+ * Sometimes it is desirable to ignore those.
+ *
+ * <p>For example, consider a web application with the UI in a given language,
+ * with a link to another, related web app.
+ * The link should include the UI language, and the target server may also use
+ * the client’s Accept-Language header data.
+ * The target server has its own list of supported languages.
+ * One may want to favor UI language consistency, that is,
+ * if there is a decent match for the original UI language, we want to use it,
+ * but not if it is merely a fallback.
+ *
+ * @see Builder#setDirection(ULocMatchDirection)
+ * @draft ICU 67
+ */
+enum ULocMatchDirection {
+    /**
+     * Locale matching includes one-way matches such as Breton→French. (default)
+     *
+     * @draft ICU 67
+     */
+    ULOCMATCH_DIRECTION_WITH_ONE_WAY,
+    /**
+     * Locale matching limited to two-way matches including e.g. Danish↔Norwegian
+     * but ignoring one-way matches.
+     *
+     * @draft ICU 67
+     */
+    ULOCMATCH_DIRECTION_ONLY_TWO_WAY
+};
+#ifndef U_IN_DOXYGEN
+typedef enum ULocMatchDirection ULocMatchDirection;
+#endif
+
 struct UHashtable;
 
 U_NAMESPACE_BEGIN
@@ -182,6 +218,7 @@ public:
          */
         Result &operator=(Result &&src) U_NOEXCEPT;
 
+#ifndef U_HIDE_DRAFT_API
         /**
          * Returns the best-matching desired locale.
          * nullptr if the list of desired locales is empty or if none matched well enough.
@@ -236,6 +273,7 @@ public:
          * @draft ICU 65
          */
         Locale makeResolvedLocale(UErrorCode &errorCode) const;
+#endif  // U_HIDE_DRAFT_API
 
     private:
         Result(const Locale *desired, const Locale *supported,
@@ -298,6 +336,7 @@ public:
          */
         Builder &operator=(Builder &&src) U_NOEXCEPT;
 
+#ifndef U_HIDE_DRAFT_API
         /**
          * Parses an Accept-Language string
          * (<a href="https://tools.ietf.org/html/rfc2616#section-14.4">RFC 2616 Section 14.4</a>),
@@ -413,6 +452,21 @@ public:
         Builder &setDemotionPerDesiredLocale(ULocMatchDemotion demotion);
 
         /**
+         * Option for whether to include or ignore one-way (fallback) match data.
+         * By default, they are included.
+         *
+         * @param direction the match direction to set.
+         * @return this Builder object
+         * @draft ICU 67
+         */
+        Builder &setDirection(ULocMatchDirection direction) {
+            if (U_SUCCESS(errorCode_)) {
+                direction_ = direction;
+            }
+            return *this;
+        }
+
+        /**
          * Sets the UErrorCode if an error occurred while setting parameters.
          * Preserves older error codes in the outErrorCode.
          *
@@ -435,6 +489,7 @@ public:
          * @draft ICU 65
          */
         LocaleMatcher build(UErrorCode &errorCode) const;
+#endif  // U_HIDE_DRAFT_API
 
     private:
         friend class LocaleMatcher;
@@ -451,6 +506,7 @@ public:
         ULocMatchDemotion demotion_ = ULOCMATCH_DEMOTION_REGION;
         Locale *defaultLocale_ = nullptr;
         ULocMatchFavorSubtag favor_ = ULOCMATCH_FAVOR_LANGUAGE;
+        ULocMatchDirection direction_ = ULOCMATCH_DIRECTION_WITH_ONE_WAY;
     };
 
     // FYI No public LocaleMatcher constructors in C++; use the Builder.
@@ -479,6 +535,7 @@ public:
      */
     LocaleMatcher &operator=(LocaleMatcher &&src) U_NOEXCEPT;
 
+#ifndef U_HIDE_DRAFT_API
     /**
      * Returns the supported locale which best matches the desired locale.
      *
@@ -546,6 +603,7 @@ public:
      * @draft ICU 65
      */
     Result getBestMatchResult(Locale::Iterator &desiredLocales, UErrorCode &errorCode) const;
+#endif  // U_HIDE_DRAFT_API
 
 #ifndef U_HIDE_INTERNAL_API
     /**
@@ -574,6 +632,8 @@ private:
     LocaleMatcher(const LocaleMatcher &other) = delete;
     LocaleMatcher &operator=(const LocaleMatcher &other) = delete;
 
+    int32_t putIfAbsent(const LSR &lsr, int32_t i, int32_t suppLength, UErrorCode &errorCode);
+
     int32_t getBestSuppIndex(LSR desiredLSR, LocaleLsrIterator *remainingIter, UErrorCode &errorCode) const;
 
     const XLikelySubtags &likelySubtags;
@@ -581,6 +641,7 @@ private:
     int32_t thresholdDistance;
     int32_t demotionPerDesiredLocale;
     ULocMatchFavorSubtag favorSubtag;
+    ULocMatchDirection direction;
 
     // These are in input order.
     const Locale ** supportedLocales;
@@ -595,11 +656,10 @@ private:
     int32_t supportedLSRsLength;
     Locale *ownedDefaultLocale;
     const Locale *defaultLocale;
-    int32_t defaultLocaleIndex;
 };
 
 U_NAMESPACE_END
 
-#endif  // U_HIDE_DRAFT_API
+#endif  // U_FORCE_HIDE_DRAFT_API
 #endif  // U_SHOW_CPLUSPLUS_API
 #endif  // __LOCALEMATCHER_H__
index e011688..61c3020 100644 (file)
@@ -225,7 +225,6 @@ public:
         src.ptr=NULL;
     }
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Constructs a LocalPointer from a C++11 std::unique_ptr.
      * The LocalPointer steals the object owned by the std::unique_ptr.
@@ -234,11 +233,10 @@ public:
      * in a local variable, you must use std::move.
      *
      * @param p The std::unique_ptr from which the pointer will be stolen.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     explicit LocalPointer(std::unique_ptr<T> &&p)
         : LocalPointerBase<T>(p.release()) {}
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Destructor deletes the object it owns.
@@ -261,20 +259,18 @@ public:
         return *this;
     }
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Move-assign from an std::unique_ptr to this LocalPointer.
      * Steals the pointer from the std::unique_ptr.
      *
      * @param p The std::unique_ptr from which the pointer will be stolen.
      * @return *this
-     * @draft ICU 64
+     * @stable ICU 64
      */
     LocalPointer<T> &operator=(std::unique_ptr<T> &&p) U_NOEXCEPT {
         adoptInstead(p.release());
         return *this;
     }
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Swap pointers.
@@ -332,7 +328,6 @@ public:
         }
     }
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Conversion operator to a C++11 std::unique_ptr.
      * Disowns the object and gives it to the returned std::unique_ptr.
@@ -342,12 +337,11 @@ public:
      *
      * @return An std::unique_ptr owning the pointer previously owned by this
      *         icu::LocalPointer.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     operator std::unique_ptr<T> () && {
         return std::unique_ptr<T>(LocalPointerBase<T>::orphan());
     }
-#endif  /* U_HIDE_DRAFT_API */
 };
 
 /**
@@ -406,7 +400,6 @@ public:
         src.ptr=NULL;
     }
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Constructs a LocalArray from a C++11 std::unique_ptr of an array type.
      * The LocalPointer steals the array owned by the std::unique_ptr.
@@ -415,11 +408,10 @@ public:
      * in a local variable, you must use std::move.
      *
      * @param p The std::unique_ptr from which the array will be stolen.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     explicit LocalArray(std::unique_ptr<T[]> &&p)
         : LocalPointerBase<T>(p.release()) {}
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Destructor deletes the array it owns.
@@ -442,20 +434,18 @@ public:
         return *this;
     }
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Move-assign from an std::unique_ptr to this LocalPointer.
      * Steals the array from the std::unique_ptr.
      *
      * @param p The std::unique_ptr from which the array will be stolen.
      * @return *this
-     * @draft ICU 64
+     * @stable ICU 64
      */
     LocalArray<T> &operator=(std::unique_ptr<T[]> &&p) U_NOEXCEPT {
         adoptInstead(p.release());
         return *this;
     }
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Swap pointers.
@@ -521,7 +511,6 @@ public:
      */
     T &operator[](ptrdiff_t i) const { return LocalPointerBase<T>::ptr[i]; }
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Conversion operator to a C++11 std::unique_ptr.
      * Disowns the object and gives it to the returned std::unique_ptr.
@@ -531,12 +520,11 @@ public:
      *
      * @return An std::unique_ptr owning the pointer previously owned by this
      *         icu::LocalPointer.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     operator std::unique_ptr<T[]> () && {
         return std::unique_ptr<T[]>(LocalPointerBase<T>::orphan());
     }
-#endif  /* U_HIDE_DRAFT_API */
 };
 
 /**
index 57c669b..1d031da 100644 (file)
@@ -448,7 +448,7 @@ public:
 
     /**
      * Creates a locale from the given string after canonicalizing
-     * the string by calling uloc_canonicalize().
+     * the string according to CLDR by calling uloc_canonicalize().
      * @param name the locale ID to create from.  Must not be NULL.
      * @return a new locale object corresponding to the given name
      * @stable ICU 3.0
@@ -567,6 +567,16 @@ public:
      */
     void minimizeSubtags(UErrorCode& status);
 
+#ifndef U_HIDE_DRAFT_API
+    /**
+     * Canonicalize the locale ID of this object according to CLDR.
+     * @param status the status code
+     * @draft ICU 67
+     * @see createCanonical
+     */
+    void canonicalize(UErrorCode& status);
+#endif  // U_HIDE_DRAFT_API
+
     /**
      * Gets the list of keywords for the specified locale.
      *
index ad75b29..2bb2f8b 100644 (file)
@@ -828,7 +828,7 @@ namespace std {
 #   define U_EXPORT
 #endif
 
-/* U_CALLCONV is releated to U_EXPORT2 */
+/* U_CALLCONV is related to U_EXPORT2 */
 #ifdef U_EXPORT2
     /* Use the predefined value. */
 #elif defined(_MSC_VER)
index f581091..52c1e9e 100644 (file)
@@ -67,13 +67,32 @@ class U_COMMON_API StringPiece : public UMemory {
    * Default constructor, creates an empty StringPiece.
    * @stable ICU 4.2
    */
-  StringPiece() : ptr_(NULL), length_(0) { }
+  StringPiece() : ptr_(nullptr), length_(0) { }
+
   /**
    * Constructs from a NUL-terminated const char * pointer.
    * @param str a NUL-terminated const char * pointer
    * @stable ICU 4.2
    */
   StringPiece(const char* str);
+#ifndef U_HIDE_DRAFT_API
+#if defined(__cpp_char8_t) || defined(U_IN_DOXYGEN)
+  /**
+   * Constructs from a NUL-terminated const char8_t * pointer.
+   * @param str a NUL-terminated const char8_t * pointer
+   * @draft ICU 67
+   */
+  StringPiece(const char8_t* str) : StringPiece(reinterpret_cast<const char*>(str)) {}
+#endif
+  /**
+   * Constructs an empty StringPiece.
+   * Needed for type disambiguation from multiple other overloads.
+   * @param p nullptr
+   * @draft ICU 67
+   */
+  StringPiece(std::nullptr_t p) : ptr_(p), length_(0) {}
+#endif  // U_HIDE_DRAFT_API
+
   /**
    * Constructs from a std::string.
    * @stable ICU 4.2
@@ -81,6 +100,18 @@ class U_COMMON_API StringPiece : public UMemory {
   StringPiece(const std::string& str)
     : ptr_(str.data()), length_(static_cast<int32_t>(str.size())) { }
 #ifndef U_HIDE_DRAFT_API
+#if defined(__cpp_lib_char8_t) || defined(U_IN_DOXYGEN)
+  /**
+   * Constructs from a std::u8string.
+   * @draft ICU 67
+   */
+  StringPiece(const std::u8string& str)
+    : ptr_(reinterpret_cast<const char*>(str.data())),
+      length_(static_cast<int32_t>(str.size())) { }
+#endif
+#endif  // U_HIDE_DRAFT_API
+
+#ifndef U_HIDE_DRAFT_API
   /**
    * Constructs from some other implementation of a string piece class, from any
    * C++ record type that has these two methods:
@@ -88,7 +119,7 @@ class U_COMMON_API StringPiece : public UMemory {
    * \code{.cpp}
    *
    *   struct OtherStringPieceClass {
-   *     const char* data();
+   *     const char* data();  // or const char8_t*
    *     size_t size();
    *   };
    *
@@ -97,16 +128,25 @@ class U_COMMON_API StringPiece : public UMemory {
    * The other string piece class will typically be std::string_view from C++17
    * or absl::string_view from Abseil.
    *
+   * Starting with C++20, data() may also return a const char8_t* pointer,
+   * as from std::u8string_view.
+   *
    * @param str the other string piece
    * @draft ICU 65
    */
   template <typename T,
             typename = typename std::enable_if<
-                std::is_same<decltype(T().data()), const char*>::value &&
+                (std::is_same<decltype(T().data()), const char*>::value
+#if defined(__cpp_char8_t)
+                    || std::is_same<decltype(T().data()), const char8_t*>::value
+#endif
+                ) &&
                 std::is_same<decltype(T().size()), size_t>::value>::type>
   StringPiece(T str)
-      : ptr_(str.data()), length_(static_cast<int32_t>(str.size())) {}
+      : ptr_(reinterpret_cast<const char*>(str.data())),
+        length_(static_cast<int32_t>(str.size())) {}
 #endif  // U_HIDE_DRAFT_API
+
   /**
    * Constructs from a const char * pointer and a specified length.
    * @param offset a const char * pointer (need not be terminated)
@@ -114,6 +154,19 @@ class U_COMMON_API StringPiece : public UMemory {
    * @stable ICU 4.2
    */
   StringPiece(const char* offset, int32_t len) : ptr_(offset), length_(len) { }
+#ifndef U_HIDE_DRAFT_API
+#if defined(__cpp_char8_t) || defined(U_IN_DOXYGEN)
+  /**
+   * Constructs from a const char8_t * pointer and a specified length.
+   * @param str a const char8_t * pointer (need not be terminated)
+   * @param len the length of the string; must be non-negative
+   * @draft ICU 67
+   */
+  StringPiece(const char8_t* str, int32_t len) :
+      StringPiece(reinterpret_cast<const char*>(str), len) {}
+#endif
+#endif  // U_HIDE_DRAFT_API
+
   /**
    * Substring of another StringPiece.
    * @param x the other StringPiece
@@ -132,7 +185,7 @@ class U_COMMON_API StringPiece : public UMemory {
   StringPiece(const StringPiece& x, int32_t pos, int32_t len);
 
   /**
-   * Returns the string pointer. May be NULL if it is empty.
+   * Returns the string pointer. May be nullptr if it is empty.
    *
    * data() may return a pointer to a buffer with embedded NULs, and the
    * returned buffer may or may not be null terminated.  Therefore it is
@@ -165,7 +218,7 @@ class U_COMMON_API StringPiece : public UMemory {
    * Sets to an empty string.
    * @stable ICU 4.2
    */
-  void clear() { ptr_ = NULL; length_ = 0; }
+  void clear() { ptr_ = nullptr; length_ = 0; }
 
   /**
    * Reset the stringpiece to refer to new data.
@@ -182,6 +235,29 @@ class U_COMMON_API StringPiece : public UMemory {
    */
   void set(const char* str);
 
+#ifndef U_HIDE_DRAFT_API
+#if defined(__cpp_char8_t) || defined(U_IN_DOXYGEN)
+  /**
+   * Resets the stringpiece to refer to new data.
+   * @param xdata pointer the new string data. Need not be NUL-terminated.
+   * @param len the length of the new data
+   * @draft ICU 67
+   */
+  inline void set(const char8_t* xdata, int32_t len) {
+      set(reinterpret_cast<const char*>(xdata), len);
+  }
+
+  /**
+   * Resets the stringpiece to refer to new data.
+   * @param str a pointer to a NUL-terminated string.
+   * @draft ICU 67
+   */
+  inline void set(const char8_t* str) {
+      set(reinterpret_cast<const char*>(str));
+  }
+#endif
+#endif  // U_HIDE_DRAFT_API
+
   /**
    * Removes the first n string units.
    * @param n prefix length, must be non-negative and <=length()
@@ -212,6 +288,26 @@ class U_COMMON_API StringPiece : public UMemory {
     }
   }
 
+#ifndef U_HIDE_DRAFT_API
+  /**
+   * Searches the StringPiece for the given search string (needle);
+   * @param needle The string for which to search.
+   * @param offset Where to start searching within this string (haystack).
+   * @return The offset of needle in haystack, or -1 if not found.
+   * @draft ICU 67
+   */
+  int32_t find(StringPiece needle, int32_t offset);
+
+  /**
+   * Compares this StringPiece with the other StringPiece, with semantics
+   * similar to std::string::compare().
+   * @param other The string to compare to.
+   * @return below zero if this < other; above zero if this > other; 0 if this == other.
+   * @draft ICU 67
+   */
+  int32_t compare(StringPiece other);
+#endif  // U_HIDE_DRAFT_API
+
   /**
    * Maximum integer, used as a default value for substring methods.
    * @stable ICU 4.2
index c45edad..d877ce4 100644 (file)
@@ -1034,29 +1034,45 @@ uloc_getLineOrientation(const char* localeId,
                         UErrorCode *status);
 
 /**
- * enums for the 'outResult' parameter return value
+ * Output values which uloc_acceptLanguage() writes to the 'outResult' parameter.
+ *
  * @see uloc_acceptLanguageFromHTTP
  * @see uloc_acceptLanguage
  * @stable ICU 3.2
  */
 typedef enum {
-  ULOC_ACCEPT_FAILED   = 0,  /* No exact match was found. */
-  ULOC_ACCEPT_VALID    = 1,  /* An exact match was found. */
-  ULOC_ACCEPT_FALLBACK = 2   /* A fallback was found, for example, 
-                                Accept list contained 'ja_JP'
-                                which matched available locale 'ja'. */
+    /**
+     * No exact match was found.
+     * @stable ICU 3.2
+     */
+    ULOC_ACCEPT_FAILED   = 0,
+    /**
+     * An exact match was found.
+     * @stable ICU 3.2
+     */
+    ULOC_ACCEPT_VALID    = 1,
+    /**
+     * A fallback was found. For example, the Accept-Language list includes 'ja_JP'
+     * and is matched with available locale 'ja'.
+     * @stable ICU 3.2
+     */
+    ULOC_ACCEPT_FALLBACK = 2   /*  */
 } UAcceptResult;
 
-
 /**
  * Based on a HTTP header from a web browser and a list of available locales,
  * determine an acceptable locale for the user.
+ *
+ * This is a thin wrapper over C++ class LocaleMatcher.
+ *
  * @param result - buffer to accept the result locale
  * @param resultAvailable the size of the result buffer.
  * @param outResult - An out parameter that contains the fallback status
  * @param httpAcceptLanguage - "Accept-Language:" header as per HTTP.
  * @param availableLocales - list of available locales to match
- * @param status Error status, may be BUFFER_OVERFLOW_ERROR
+ * @param status ICU error code. Its input value must pass the U_SUCCESS() test,
+ *               or else the function returns immediately. Check for U_FAILURE()
+ *               on output or use with function chaining. (See User Guide for details.)
  * @return length needed for the locale.
  * @stable ICU 3.2
  */
@@ -1070,13 +1086,18 @@ uloc_acceptLanguageFromHTTP(char *result, int32_t resultAvailable,
 /**
  * Based on a list of available locales,
  * determine an acceptable locale for the user.
+ *
+ * This is a thin wrapper over C++ class LocaleMatcher.
+ *
  * @param result - buffer to accept the result locale
  * @param resultAvailable the size of the result buffer.
  * @param outResult - An out parameter that contains the fallback status
  * @param acceptList - list of acceptable languages
  * @param acceptListCount - count of acceptList items
  * @param availableLocales - list of available locales to match
- * @param status Error status, may be BUFFER_OVERFLOW_ERROR
+ * @param status ICU error code. Its input value must pass the U_SUCCESS() test,
+ *               or else the function returns immediately. Check for U_FAILURE()
+ *               on output or use with function chaining. (See User Guide for details.)
  * @return length needed for the locale.
  * @stable ICU 3.2
  */
index c52984c..1d85855 100644 (file)
@@ -372,7 +372,7 @@ typedef int8_t UBool;
     typedef char16_t UChar;
 #elif defined(UCHAR_TYPE)
     typedef UCHAR_TYPE UChar;
-#elif defined(__cplusplus)
+#elif (U_CPLUSPLUS_VERSION >= 11)
     typedef char16_t UChar;
 #else
     typedef uint16_t UChar;
index 13e71ef..f2af364 100644 (file)
@@ -83,25 +83,6 @@ umutablecptrie_clone(const UMutableCPTrie *other, UErrorCode *pErrorCode);
 U_CAPI void U_EXPORT2
 umutablecptrie_close(UMutableCPTrie *trie);
 
-#if U_SHOW_CPLUSPLUS_API
-
-U_NAMESPACE_BEGIN
-
-/**
- * \class LocalUMutableCPTriePointer
- * "Smart pointer" class, closes a UMutableCPTrie via umutablecptrie_close().
- * For most methods see the LocalPointerBase base class.
- *
- * @see LocalPointerBase
- * @see LocalPointer
- * @stable ICU 63
- */
-U_DEFINE_LOCAL_OPEN_POINTER(LocalUMutableCPTriePointer, UMutableCPTrie, umutablecptrie_close);
-
-U_NAMESPACE_END
-
-#endif
-
 /**
  * Creates a mutable trie with the same contents as the UCPMap.
  * You must umutablecptrie_close() the mutable trie once you are done using it.
@@ -235,4 +216,23 @@ umutablecptrie_buildImmutable(UMutableCPTrie *trie, UCPTrieType type, UCPTrieVal
 
 U_CDECL_END
 
+#if U_SHOW_CPLUSPLUS_API
+
+U_NAMESPACE_BEGIN
+
+/**
+ * \class LocalUMutableCPTriePointer
+ * "Smart pointer" class, closes a UMutableCPTrie via umutablecptrie_close().
+ * For most methods see the LocalPointerBase base class.
+ *
+ * @see LocalPointerBase
+ * @see LocalPointer
+ * @stable ICU 63
+ */
+U_DEFINE_LOCAL_OPEN_POINTER(LocalUMutableCPTriePointer, UMutableCPTrie, umutablecptrie_close);
+
+U_NAMESPACE_END
+
+#endif
+
 #endif
index 5b793bb..30f4b7a 100644 (file)
 #define locale_get_default U_ICU_ENTRY_POINT_RENAME(locale_get_default)
 #define locale_set_default U_ICU_ENTRY_POINT_RENAME(locale_set_default)
 #define numSysCleanup U_ICU_ENTRY_POINT_RENAME(numSysCleanup)
+#define rbbi_cleanup U_ICU_ENTRY_POINT_RENAME(rbbi_cleanup)
 #define pl_addFontRun U_ICU_ENTRY_POINT_RENAME(pl_addFontRun)
 #define pl_addLocaleRun U_ICU_ENTRY_POINT_RENAME(pl_addLocaleRun)
 #define pl_addValueRun U_ICU_ENTRY_POINT_RENAME(pl_addValueRun)
 #define res_read U_ICU_ENTRY_POINT_RENAME(res_read)
 #define res_unload U_ICU_ENTRY_POINT_RENAME(res_unload)
 #define u_UCharsToChars U_ICU_ENTRY_POINT_RENAME(u_UCharsToChars)
+#define u_asciiToUpper U_ICU_ENTRY_POINT_RENAME(u_asciiToUpper)
 #define u_austrcpy U_ICU_ENTRY_POINT_RENAME(u_austrcpy)
 #define u_austrncpy U_ICU_ENTRY_POINT_RENAME(u_austrncpy)
 #define u_caseInsensitivePrefixMatch U_ICU_ENTRY_POINT_RENAME(u_caseInsensitivePrefixMatch)
 #define udatpg_getBestPatternWithOptions U_ICU_ENTRY_POINT_RENAME(udatpg_getBestPatternWithOptions)
 #define udatpg_getDateTimeFormat U_ICU_ENTRY_POINT_RENAME(udatpg_getDateTimeFormat)
 #define udatpg_getDecimal U_ICU_ENTRY_POINT_RENAME(udatpg_getDecimal)
+#define udatpg_getDefaultHourCycle U_ICU_ENTRY_POINT_RENAME(udatpg_getDefaultHourCycle)
 #define udatpg_getFieldDisplayName U_ICU_ENTRY_POINT_RENAME(udatpg_getFieldDisplayName)
 #define udatpg_getPatternForSkeleton U_ICU_ENTRY_POINT_RENAME(udatpg_getPatternForSkeleton)
 #define udatpg_getSkeleton U_ICU_ENTRY_POINT_RENAME(udatpg_getSkeleton)
 #define udtitvfmt_close U_ICU_ENTRY_POINT_RENAME(udtitvfmt_close)
 #define udtitvfmt_closeResult U_ICU_ENTRY_POINT_RENAME(udtitvfmt_closeResult)
 #define udtitvfmt_format U_ICU_ENTRY_POINT_RENAME(udtitvfmt_format)
+#define udtitvfmt_formatCalendarToResult U_ICU_ENTRY_POINT_RENAME(udtitvfmt_formatCalendarToResult)
 #define udtitvfmt_formatToResult U_ICU_ENTRY_POINT_RENAME(udtitvfmt_formatToResult)
 #define udtitvfmt_open U_ICU_ENTRY_POINT_RENAME(udtitvfmt_open)
 #define udtitvfmt_openResult U_ICU_ENTRY_POINT_RENAME(udtitvfmt_openResult)
 #define ulistfmt_format U_ICU_ENTRY_POINT_RENAME(ulistfmt_format)
 #define ulistfmt_formatStringsToResult U_ICU_ENTRY_POINT_RENAME(ulistfmt_formatStringsToResult)
 #define ulistfmt_open U_ICU_ENTRY_POINT_RENAME(ulistfmt_open)
+#define ulistfmt_openForType U_ICU_ENTRY_POINT_RENAME(ulistfmt_openForType)
 #define ulistfmt_openResult U_ICU_ENTRY_POINT_RENAME(ulistfmt_openResult)
 #define ulistfmt_resultAsValue U_ICU_ENTRY_POINT_RENAME(ulistfmt_resultAsValue)
 #define uloc_acceptLanguage U_ICU_ENTRY_POINT_RENAME(uloc_acceptLanguage)
 #define ulocdata_open U_ICU_ENTRY_POINT_RENAME(ulocdata_open)
 #define ulocdata_setNoSubstitute U_ICU_ENTRY_POINT_RENAME(ulocdata_setNoSubstitute)
 #define ulocimp_addLikelySubtags U_ICU_ENTRY_POINT_RENAME(ulocimp_addLikelySubtags)
+#define ulocimp_canonicalize U_ICU_ENTRY_POINT_RENAME(ulocimp_canonicalize)
 #define ulocimp_forLanguageTag U_ICU_ENTRY_POINT_RENAME(ulocimp_forLanguageTag)
+#define ulocimp_getBaseName U_ICU_ENTRY_POINT_RENAME(ulocimp_getBaseName)
 #define ulocimp_getCountry U_ICU_ENTRY_POINT_RENAME(ulocimp_getCountry)
 #define ulocimp_getLanguage U_ICU_ENTRY_POINT_RENAME(ulocimp_getLanguage)
+#define ulocimp_getName U_ICU_ENTRY_POINT_RENAME(ulocimp_getName)
 #define ulocimp_getRegionForSupplementalData U_ICU_ENTRY_POINT_RENAME(ulocimp_getRegionForSupplementalData)
 #define ulocimp_getScript U_ICU_ENTRY_POINT_RENAME(ulocimp_getScript)
 #define ulocimp_minimizeSubtags U_ICU_ENTRY_POINT_RENAME(ulocimp_minimizeSubtags)
 #define uprv_convertToPosix U_ICU_ENTRY_POINT_RENAME(uprv_convertToPosix)
 #define uprv_copyAscii U_ICU_ENTRY_POINT_RENAME(uprv_copyAscii)
 #define uprv_copyEbcdic U_ICU_ENTRY_POINT_RENAME(uprv_copyEbcdic)
-#define uprv_currencyLeads U_ICU_ENTRY_POINT_RENAME(uprv_currencyLeads)
 #define uprv_decContextClearStatus U_ICU_ENTRY_POINT_RENAME(uprv_decContextClearStatus)
 #define uprv_decContextDefault U_ICU_ENTRY_POINT_RENAME(uprv_decContextDefault)
 #define uprv_decContextGetRounding U_ICU_ENTRY_POINT_RENAME(uprv_decContextGetRounding)
index 196056b..37d71a3 100644 (file)
@@ -183,25 +183,6 @@ typedef struct UText UText; /**< C typedef for struct UText. @stable ICU 3.6 */
 U_STABLE UText * U_EXPORT2
 utext_close(UText *ut);
 
-#if U_SHOW_CPLUSPLUS_API
-
-U_NAMESPACE_BEGIN
-
-/**
- * \class LocalUTextPointer
- * "Smart pointer" class, closes a UText via utext_close().
- * For most methods see the LocalPointerBase base class.
- *
- * @see LocalPointerBase
- * @see LocalPointer
- * @stable ICU 4.4
- */
-U_DEFINE_LOCAL_OPEN_POINTER(LocalUTextPointer, UText, utext_close);
-
-U_NAMESPACE_END
-
-#endif
-
 /**
  * Open a read-only UText implementation for UTF-8 strings.
  * 
@@ -1599,5 +1580,24 @@ enum {
 U_CDECL_END
 
 
+#if U_SHOW_CPLUSPLUS_API
+
+U_NAMESPACE_BEGIN
+
+/**
+ * \class LocalUTextPointer
+ * "Smart pointer" class, closes a UText via utext_close().
+ * For most methods see the LocalPointerBase base class.
+ *
+ * @see LocalPointerBase
+ * @see LocalPointer
+ * @stable ICU 4.4
+ */
+U_DEFINE_LOCAL_OPEN_POINTER(LocalUTextPointer, UText, utext_close);
+
+U_NAMESPACE_END
+
+#endif
+
 
 #endif
index 5afcd9f..5b4a049 100644 (file)
@@ -177,6 +177,71 @@ typedef enum UTraceFunctionNumber {
     UTRACE_RES_DATA_LIMIT,
 #endif  // U_HIDE_INTERNAL_API
 
+#ifndef U_HIDE_DRAFT_API
+    /**
+     * The lowest break iterator location.
+     * @draft ICU 67
+     */
+    UTRACE_UBRK_START=0x4000,
+
+    /**
+     * Indicates that a character instance of break iterator was created.
+     *
+     * @draft ICU 67
+     */
+    UTRACE_UBRK_CREATE_CHARACTER = UTRACE_UBRK_START,
+
+    /**
+     * Indicates that a word instance of break iterator was created.
+     *
+     * @draft ICU 67
+     */
+    UTRACE_UBRK_CREATE_WORD,
+
+    /**
+     * Indicates that a line instance of break iterator was created.
+     *
+     * Provides one C-style string to UTraceData: the lb value ("",
+     * "loose", "strict", or "normal").
+     *
+     * @draft ICU 67
+     */
+    UTRACE_UBRK_CREATE_LINE,
+
+    /**
+     * Indicates that a sentence instance of break iterator was created.
+     *
+     * @draft ICU 67
+     */
+    UTRACE_UBRK_CREATE_SENTENCE,
+
+    /**
+     * Indicates that a title instance of break iterator was created.
+     *
+     * @draft ICU 67
+     */
+    UTRACE_UBRK_CREATE_TITLE,
+
+    /**
+     * Indicates that an internal dictionary break engine was created.
+     *
+     * Provides one C-style string to UTraceData: the script code of what
+     * the break engine cover ("Hani", "Khmr", "Laoo", "Mymr", or "Thai").
+     *
+     * @draft ICU 67
+     */
+    UTRACE_UBRK_CREATE_BREAK_ENGINE,
+
+#endif  // U_HIDE_DRAFT_API
+
+#ifndef U_HIDE_INTERNAL_API
+    /**
+     * One more than the highest normal break iterator trace location.
+     * @internal The numeric value may change over time, see ICU ticket #12420.
+     */
+    UTRACE_UBRK_LIMIT,
+#endif  // U_HIDE_INTERNAL_API
+
 } UTraceFunctionNumber;
 
 /**
index f5d6497..c66776d 100644 (file)
@@ -60,7 +60,7 @@
  *  This value will change in the subsequent releases of ICU
  *  @stable ICU 2.4
  */
-#define U_ICU_VERSION_MAJOR_NUM 66
+#define U_ICU_VERSION_MAJOR_NUM 67
 
 /** The current ICU minor version as an integer.
  *  This value will change in the subsequent releases of ICU
@@ -86,7 +86,7 @@
  *  This value will change in the subsequent releases of ICU
  *  @stable ICU 2.6
  */
-#define U_ICU_VERSION_SUFFIX _66
+#define U_ICU_VERSION_SUFFIX _67
 
 /**
  * \def U_DEF2_ICU_ENTRY_POINT_RENAME
  *  This value will change in the subsequent releases of ICU
  *  @stable ICU 2.4
  */
-#define U_ICU_VERSION "66.1"
+#define U_ICU_VERSION "67.1"
 
 /**
  * The current ICU library major version number as a string, for library name suffixes.
  *
  * @stable ICU 2.6
  */
-#define U_ICU_VERSION_SHORT "66"
+#define U_ICU_VERSION_SHORT "67"
 
 #ifndef U_HIDE_INTERNAL_API
 /** Data version in ICU4C.
  * @internal ICU 4.4 Internal Use Only
  **/
-#define U_ICU_DATA_VERSION "66.1"
+#define U_ICU_DATA_VERSION "67.1"
 #endif  /* U_HIDE_INTERNAL_API */
 
 /*===========================================================================
index 901bb33..077b4d6 100644 (file)
@@ -1563,7 +1563,11 @@ UnicodeString::doAppend(const UChar *srcChars, int32_t srcStart, int32_t srcLeng
   }
 
   int32_t oldLength = length();
-  int32_t newLength = oldLength + srcLength;
+  int32_t newLength;
+  if (uprv_add32_overflow(oldLength, srcLength, &newLength)) {
+    setToBogus();
+    return *this;
+  }
 
   // Check for append onto ourself
   const UChar* oldArray = getArrayStart();
index 45ca123..23c3f6d 100644 (file)
 #   define _STDC_C99
 #endif
 
+#if !defined _POSIX_C_SOURCE && \
+    defined(__APPLE__) && defined(__MACH__) && !defined(__clang__)
+// Needed to prevent EOWNERDEAD issues with GCC on Mac
+#define _POSIX_C_SOURCE 200809L
+#endif
+
 #endif  /* __UPOSIXDEFS_H__ */
index 6c0e760..97df4a8 100644 (file)
@@ -2611,8 +2611,8 @@ ures_getFunctionalEquivalent(char *result, int32_t resultCapacity,
     char defVal[1024] = ""; /* default value for given locale */
     char defLoc[1024] = ""; /* default value for given locale */
     char base[1024] = ""; /* base locale */
-    char found[1024];
-    char parent[1024];
+    char found[1024] = "";
+    char parent[1024] = "";
     char full[1024] = "";
     UResourceBundle bund1, bund2;
     UResourceBundle *res = NULL;
index 98528c1..f8bd7e7 100644 (file)
@@ -58,8 +58,8 @@ static int32_t
 getCodesFromLocale(const char *locale,
                    UScriptCode *scripts, int32_t capacity, UErrorCode *err) {
     UErrorCode internalErrorCode = U_ZERO_ERROR;
-    char lang[8];
-    char script[8];
+    char lang[8] = {0};
+    char script[8] = {0};
     int32_t scriptLength;
     if(U_FAILURE(*err)) { return 0; }
     // Multi-script languages, equivalent to the LocaleScript data
index c555ee3..0717092 100644 (file)
@@ -37,16 +37,28 @@ uprv_strCompare(const UChar *s1, int32_t length1,
                 const UChar *s2, int32_t length2,
                 UBool strncmpStyle, UBool codePointOrder);
 
-U_CAPI int32_t U_EXPORT2 
+U_INTERNAL int32_t U_EXPORT2 
 ustr_hashUCharsN(const UChar *str, int32_t length);
 
-U_CAPI int32_t U_EXPORT2 
+U_INTERNAL int32_t U_EXPORT2 
 ustr_hashCharsN(const char *str, int32_t length);
 
-U_CAPI int32_t U_EXPORT2
+U_INTERNAL int32_t U_EXPORT2
 ustr_hashICharsN(const char *str, int32_t length);
 
 /**
+ * Convert an ASCII-range lowercase character to uppercase.
+ * 
+ * @param c A UChar.
+ * @return If UChar is a lowercase ASCII character, returns the uppercase version.
+ *         Otherwise, returns the input character.
+ */
+U_INTERNAL UChar U_EXPORT2
+u_asciiToUpper(UChar c);
+
+// TODO: Add u_asciiToLower if/when there is a need for it.
+
+/**
  * NUL-terminate a UChar * string if possible.
  * If length  < destCapacity then NUL-terminate.
  * If length == destCapacity then do not terminate but set U_STRING_NOT_TERMINATED_WARNING.
@@ -58,28 +70,28 @@ ustr_hashICharsN(const char *str, int32_t length);
  * @param pErrorCode ICU error code.
  * @return length
  */
-U_CAPI int32_t U_EXPORT2
+U_INTERNAL int32_t U_EXPORT2
 u_terminateUChars(UChar *dest, int32_t destCapacity, int32_t length, UErrorCode *pErrorCode);
 
 /**
  * NUL-terminate a char * string if possible.
  * Same as u_terminateUChars() but for a different string type.
  */
-U_CAPI int32_t U_EXPORT2
+U_INTERNAL int32_t U_EXPORT2
 u_terminateChars(char *dest, int32_t destCapacity, int32_t length, UErrorCode *pErrorCode);
 
 /**
  * NUL-terminate a UChar32 * string if possible.
  * Same as u_terminateUChars() but for a different string type.
  */
-U_CAPI int32_t U_EXPORT2
+U_INTERNAL int32_t U_EXPORT2
 u_terminateUChar32s(UChar32 *dest, int32_t destCapacity, int32_t length, UErrorCode *pErrorCode);
 
 /**
  * NUL-terminate a wchar_t * string if possible.
  * Same as u_terminateUChars() but for a different string type.
  */
-U_CAPI int32_t U_EXPORT2
+U_INTERNAL int32_t U_EXPORT2
 u_terminateWChars(wchar_t *dest, int32_t destCapacity, int32_t length, UErrorCode *pErrorCode);
 
 /**
index 67cb454..de43d22 100644 (file)
@@ -1451,6 +1451,14 @@ u_unescape(const char *src, UChar *dest, int32_t destCapacity) {
     } \
 } UPRV_BLOCK_MACRO_END
 
+U_CAPI UChar U_EXPORT2
+u_asciiToUpper(UChar c) {
+    if (u'a' <= c && c <= u'z') {
+        c = c + u'A' - u'a';
+    }
+    return c;
+}
+
 U_CAPI int32_t U_EXPORT2
 u_terminateUChars(UChar *dest, int32_t destCapacity, int32_t length, UErrorCode *pErrorCode) {
     __TERMINATE_STRING(dest, destCapacity, length, pErrorCode);
index 9a77228..763b668 100644 (file)
@@ -16,6 +16,8 @@
 *   created by: Markus W. Scherer
 */
 
+#include <cstddef>
+
 #include "unicode/utypes.h"
 #include "unicode/ustring.h"
 #include "unicode/unistr.h"
@@ -566,8 +568,8 @@ enum {
 //    when a provider asks for a UText to be allocated with extra storage.
 
 struct ExtendedUText {
-    UText          ut;
-    max_align_t    extension;
+    UText               ut;
+    std::max_align_t    extension;
 };
 
 static const UText emptyText = UTEXT_INITIALIZER;
@@ -582,7 +584,7 @@ utext_setup(UText *ut, int32_t extraSpace, UErrorCode *status) {
         // We need to heap-allocate storage for the new UText
         int32_t spaceRequired = sizeof(UText);
         if (extraSpace > 0) {
-            spaceRequired = sizeof(ExtendedUText) + extraSpace - sizeof(max_align_t);
+            spaceRequired = sizeof(ExtendedUText) + extraSpace - sizeof(std::max_align_t);
         }
         ut = (UText *)uprv_malloc(spaceRequired);
         if (ut == NULL) {
diff --git a/source/config/dist-data.sh b/source/config/dist-data.sh
new file mode 100755 (executable)
index 0000000..4422671
--- /dev/null
@@ -0,0 +1,106 @@
+#!/bin/bash
+# Copyright (C) 2020 and later: Unicode, Inc. and others.
+
+# set VERSION to the ICU version. set top_srcdir to the parent of icurc
+# Note: You need to set LD_LIBRARY_PATH/etc before calling this script.
+export LD_LIBRARY_PATH=./lib:${LD_LIBRARY_PATH-/lib:/usr/lib:/usr/local/lib}
+export DYLD_LIBRARY_PATH=./lib:${DYLD_LIBRARY_PATH-/lib:/usr/lib:/usr/local/lib}
+
+if [ ! -d "${top_srcdir}" ]
+then
+    echo >&2 "$0: please set 'top_srcdir' to the icu/icu4c/source dir"
+    exit 1
+fi
+LICENSE=${LICENSE-${top_srcdir}/../LICENSE}
+
+if [ ! -f "${LICENSE}" ]
+then
+    echo >&2 "$0: could not load license file ${LICENSE}"
+    exit 1
+fi
+
+DATFILE=${DATFILE-$(ls data/out/tmp/icudt*.dat| head -1)}
+
+if [ ! -f "${DATFILE}" ]
+then
+    echo >&2 "$0: could not find DATFILE ${DATFILE}"
+    exit 1
+fi
+
+VERS=$(echo ${DATFILE} | tr -d a-z/.)
+VERSION=${VERSION-unknown}
+
+if [[ "${VERSION}" = "unknown" ]];
+then
+    VERSION=${VERS}.0
+    echo "$0: VERSION not set, using ${VERSION}"
+else
+    if [[ "${VERS}" != $(echo ${VERSION} | cut -d. -f1) ]]
+    then
+        echo >&2 "$0: Warning: Expected version ${VERSION} to start with ${VERS}..."
+    fi
+fi
+
+# yeah, override ENDIANS if you want a different flavor.
+#ENDIANS="b l e"
+ENDIANS=${ENDIANS-"b l"}
+DISTY_DIR=${DISTY_DIR-./dist/}
+
+if [ ! -x ./bin/icupkg ]
+then
+    echo >&2 "$0: could not find executable ./bin/icupkg"
+    exit 1
+fi
+
+echo "# Packing ${DATFILE} into data zips in dist/ for version ${VERSION}"
+mkdir -p ${DISTY_DIR}/tmp
+
+for endian in $ENDIANS;
+do
+    base=icu4c-${VERSION}-data-bin-${endian}.zip
+    filename=icudt${VERS}${endian}.dat
+    if [ -f ${DISTY_DIR}/${base} ];
+    then
+        echo ${DISTY_DIR}/${base} exists, skipping
+        continue
+    fi
+    rm -f ${DISTY_DIR}/tmp/${filename}
+    echo ./bin/icupkg -t${endian} ${DATFILE} ${DISTY_DIR}/tmp/${filename}
+    ./bin/icupkg -t${endian} ${DATFILE} ${DISTY_DIR}/tmp/${filename}
+    README=icu4c-${VERSION}-data-bin-${endian}-README.md
+    cat >> ${DISTY_DIR}/tmp/${README} <<EOF
+# ICU Data Zip for ${VERSION}
+
+For information on Unicode ICU, see [http://icu-project.org](http://icu-project.org)
+
+## Contents
+
+This .zip file contains:
+
+- this README
+- [LICENSE](./LICENSE)
+- ${filename}
+
+## How to use this file
+
+This file contains prebuilt data in form **${endian}**.
+("l" for Little Endian, "b" for Big Endian, "e" for EBCDIC.)
+It may be used to simplify build and installation of ICU.
+See [http://icu-project.org](http://icu-project.org) for further information.
+
+## License
+
+See [LICENSE](./LICENSE).
+
+> Copyright © 2016 and later Unicode, Inc. and others. All Rights Reserved.
+Unicode and the Unicode Logo are registered trademarks
+of Unicode, Inc. in the U.S. and other countries.
+[Terms of Use and License](http://www.unicode.org/copyright.html)
+
+EOF
+    zip -v -j ${DISTY_DIR}/${base} \
+        ${LICENSE} \
+        ${DISTY_DIR}/tmp/${README} \
+        ${DISTY_DIR}/tmp/${filename}
+    ls -lh ${DISTY_DIR}/${base}
+done
index a990181..f45133e 100644 (file)
@@ -83,8 +83,8 @@ $(DISTY_FILE_TGZ) $(DISTY_FILE_ZIP) $(DISTY_DATA_ZIP):  $(DISTY_DAT) $(DISTY_TMP
        ln -f $(DISTY_DATA_ZIP) $(DISTY_FILE_DIR)/icu4c-$(DISTY_VER)-data.zip
        ls -l $(DISTY_FILE_TGZ) $(DISTY_FILE_ZIP) $(DISTY_DATA_ZIP)
 
-
 dist-local: $(DISTY_FILES)
+       VERSION=$(VERSION) $(SHELL) $(top_srcdir)/config/dist-data.sh
 
 distcheck: distcheck-tgz
 
index 20d0cdd..ddba5b3 100644 (file)
@@ -5,7 +5,13 @@
 ## Copyright (c) 2002-2013, International Business Machines Corporation and
 ## others. All Rights Reserved.
 
-ICUUC_FILE="${libdir}/${ICULIBS_COMMON_LIB_NAME}"
+# For MinGW do we want the common DLL to go into the bin location?
+if [ "$MINGW_MOVEDLLSTOBINDIR" = "YES" ]; then
+       ICUUC_FILE="${bindir}/${ICULIBS_COMMON_LIB_NAME}"
+else
+       ICUUC_FILE="${libdir}/${ICULIBS_COMMON_LIB_NAME}"
+fi
+
 ICUUC_FILE_A="${libdir}/${ICULIBS_COMMON_LIB_NAME_A}"
 
 #  echo ENABLE RPATH $ENABLE_RPATH and RPATHLDFLAGS=${RPATH_LDFLAGS}
index 1b09a5b..3e457d5 100644 (file)
@@ -105,7 +105,7 @@ ICULIBSUFFIX_VERSION = $(LIB_VERSION_MAJOR)
 #%$(SO_TARGET_VERSION_MAJOR).$(SO): %$(SO_TARGET_VERSION).$(SO)
 #      $(RM) $@ && cp ${<F} $@
 %.$(SO): %$(SO_TARGET_VERSION_MAJOR).$(SO)
-       $(RM) $(subst cyg,lib,$@).$(A) && ln -s $(subst cyg,lib,${<F}).$(A) $(subst cyg,lib,$@).$(A)
+       ln -fs $(subst cyg,lib,${<F}).$(A) $(subst cyg,lib,$@).$(A)
 
 ## Install libraries as executable
 INSTALL-L=$(INSTALL_PROGRAM)
index 0eee473..4aa2505 100644 (file)
@@ -105,7 +105,7 @@ ICULIBSUFFIX_VERSION = $(LIB_VERSION_MAJOR)
 #%$(SO_TARGET_VERSION_MAJOR).$(SO): %$(SO_TARGET_VERSION).$(SO)
 #      $(RM) $@ && cp ${<F} $@
 %.$(SO): %$(SO_TARGET_VERSION_MAJOR).$(SO)
-       $(RM) $(subst cyg,lib,$@).$(A) && ln -s $(subst cyg,lib,${<F}).$(A) $(subst cyg,lib,$@).$(A)
+       ln -fs $(subst cyg,lib,${<F}).$(A) $(subst cyg,lib,$@).$(A)
 
 ## Install libraries as executable
 INSTALL-L=$(INSTALL_PROGRAM)
index 7dac12f..a28e47b 100644 (file)
 # This file is similar to mh-mingw64
 # Any changes made here may also need to be made in mh-mingw64
 
+# On Windows we generally have the DLLs in the bin directory rather than the lib directory.
+# This setting moves the ICU DLLs into the bin folder for MinGW/MSYS2 when "make install" is run.
+# If you prefer to have the DLLs in the lib folder, then set this to NO instead.
+MINGW_MOVEDLLSTOBINDIR = YES
+
 # We install sbin tools into the same bin directory because
 # pkgdata needs some of the tools in sbin, and we can't always depend on
 # icu-config working on Windows.
@@ -97,7 +102,10 @@ LIBICU = $(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)
 #SH#ICULIBS_COMMON_LIB_NAME_A="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}.${A}"
 
 #SH#ICULIBS_DATA="-l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)"
-#SH#ICULIBS_I18N="-l$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)"
+ICULIBS_DT="-l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)"
+ICULIBS_I18N="-l$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)"
+ICULIBS_IO="-l$(ICUPREFIX)$(IO_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)"
+ICULIBS_UC="-l$(ICUPREFIX)$(COMMON_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)"
 #SH#
 #SH## ICULIBS is the set of libraries your application should link
 #SH## with usually. Many applications will want to add ${ICULIBS_I18N} as well. 
@@ -163,8 +171,6 @@ MIDDLE_IMPORT_LIB = $(FINAL_IMPORT_LIB)#M#
 
 ## Special pkgdata information that is needed
 PKGDATA_VERSIONING = -r $(SO_TARGET_VERSION_MAJOR)
-#ICUPKGDATA_INSTALL_DIR = $(shell cygpath -dma $(DESTDIR)$(ICUPKGDATA_DIR))#M#
-#ICUPKGDATA_INSTALL_LIBDIR = $(shell cygpath -dma $(DESTDIR)$(libdir))#M#
 
 ## Versioned libraries rules
 #%$(SO_TARGET_VERSION_MAJOR).$(SO): %$(SO_TARGET_VERSION).$(SO)
index 456997a..afe2c0e 100644 (file)
@@ -7,6 +7,11 @@
 
 # TODO: Finish the rest of this port. This platform port is incomplete.
 
+# On Windows we generally have the DLLs in the bin directory rather than the lib directory.
+# This setting moves the ICU DLLs into the bin folder for MinGW/MSYS2 when "make install" is run.
+# If you prefer to have the DLLs in the lib folder, then set this to NO instead.
+MINGW_MOVEDLLSTOBINDIR = YES
+
 # This file is similar to mh-mingw
 # Any changes made here may also need to be made in mh-mingw
 
@@ -97,7 +102,10 @@ LIBICU = $(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)
 #SH#ICULIBS_COMMON_LIB_NAME_A="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}.${A}"
 
 #SH#ICULIBS_DATA="-l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)"
-#SH#ICULIBS_I18N="-l$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)"
+ICULIBS_DT="-l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)"
+ICULIBS_I18N="-l$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)"
+ICULIBS_IO="-l$(ICUPREFIX)$(IO_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)"
+ICULIBS_UC="-l$(ICUPREFIX)$(COMMON_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)"
 #SH#
 #SH## ICULIBS is the set of libraries your application should link
 #SH## with usually. Many applications will want to add ${ICULIBS_I18N} as well. 
@@ -163,8 +171,6 @@ MIDDLE_IMPORT_LIB = $(FINAL_IMPORT_LIB)#M#
 
 ## Special pkgdata information that is needed
 PKGDATA_VERSIONING = -r $(SO_TARGET_VERSION_MAJOR)
-#ICUPKGDATA_INSTALL_DIR = $(shell cygpath -dma $(DESTDIR)$(ICUPKGDATA_DIR))#M#
-#ICUPKGDATA_INSTALL_LIBDIR = $(shell cygpath -dma $(DESTDIR)$(libdir))#M#
 
 ## Versioned libraries rules
 #%$(SO_TARGET_VERSION_MAJOR).$(SO): %$(SO_TARGET_VERSION).$(SO)
index d92d6ee..fbfa582 100755 (executable)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for ICU 66.1.
+# Generated by GNU Autoconf 2.69 for ICU 67.1.
 #
 # Report bugs to <http://icu-project.org/bugs>.
 #
@@ -582,8 +582,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='ICU'
 PACKAGE_TARNAME='International Components for Unicode'
-PACKAGE_VERSION='66.1'
-PACKAGE_STRING='ICU 66.1'
+PACKAGE_VERSION='67.1'
+PACKAGE_STRING='ICU 67.1'
 PACKAGE_BUGREPORT='http://icu-project.org/bugs'
 PACKAGE_URL='http://icu-project.org'
 
@@ -645,6 +645,8 @@ ICULIBSUFFIX
 DATA_PACKAGING_MODE
 thepkgicudatadir
 pkgicudatadir
+U_HAVE_DATA
+DATA_TRUE
 U_HAVE_FUZZER
 FUZZER_TRUE
 U_HAVE_TOOLS
@@ -1362,7 +1364,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures ICU 66.1 to adapt to many kinds of systems.
+\`configure' configures ICU 67.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1428,7 +1430,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of ICU 66.1:";;
+     short | recursive ) echo "Configuration of ICU 67.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1566,7 +1568,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-ICU configure 66.1
+ICU configure 67.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2312,7 +2314,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by ICU $as_me 66.1, which was
+It was created by ICU $as_me 67.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -7769,6 +7771,16 @@ else
 fi
 
 
+
+if test "$tools" = true || test "$cross_compiling" = "yes"; then
+  DATA_TRUE=
+  U_HAVE_DATA=1
+else
+  DATA_TRUE='#'
+  U_HAVE_DATA=0
+fi
+
+
 # Check whether --with-data-packaging was given.
 if test "${with_data_packaging+set}" = set; then :
   withval=$with_data_packaging; case "${withval}" in
@@ -8532,7 +8544,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by ICU $as_me 66.1, which was
+This file was extended by ICU $as_me 67.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -8586,7 +8598,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-ICU config.status 66.1
+ICU config.status 67.1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
index 759c495..531dee1 100644 (file)
@@ -1143,6 +1143,8 @@ AC_ARG_ENABLE(fuzzer,
        fuzzer=false)
 ICU_CONDITIONAL(FUZZER, test "$fuzzer" = true)
 
+ICU_CONDITIONAL(DATA, test "$tools" = true || test "$cross_compiling" = "yes")
+
 AC_ARG_WITH(data-packaging,
        [  --with-data-packaging     specify how to package ICU data. Possible values:
         files    raw files (.res, etc)
index 9ad3ea8..87eb57f 100644 (file)
@@ -33,6 +33,7 @@ def generate(config, io, common_vars):
     requests += generate_unames(config, io, common_vars)\r
     requests += generate_misc(config, io, common_vars)\r
     requests += generate_curr_supplemental(config, io, common_vars)\r
+    requests += generate_zone_supplemental(config, io, common_vars)\r
     requests += generate_translit(config, io, common_vars)\r
 \r
     # Res Tree Files\r
@@ -399,6 +400,29 @@ def generate_curr_supplemental(config, io, common_vars):
     ]\r
 \r
 \r
+def generate_zone_supplemental(config, io, common_vars):\r
+    # tzdbNames Res File\r
+    input_file = InFile("zone/tzdbNames.txt")\r
+    input_basename = "tzdbNames.txt"\r
+    output_file = OutFile("zone/tzdbNames.res")\r
+    return [\r
+        SingleExecutionRequest(\r
+            name = "zone_supplemental_res",\r
+            category = "zone_supplemental",\r
+            dep_targets = [],\r
+            input_files = [input_file],\r
+            output_files = [output_file],\r
+            tool = IcuTool("genrb"),\r
+            args = "-s {IN_DIR}/zone -d {OUT_DIR}/zone -i {OUT_DIR} "\r
+                "-k "\r
+                "{INPUT_BASENAME}",\r
+            format_with = {\r
+                "INPUT_BASENAME": input_basename\r
+            }\r
+        )\r
+    ]\r
+\r
+\r
 def generate_translit(config, io, common_vars):\r
     input_files = [\r
         InFile("translit/root.txt"),\r
@@ -444,10 +468,11 @@ def generate_tree(
     requests = []\r
     category = "%s_tree" % sub_dir\r
     out_prefix = "%s/" % out_sub_dir if out_sub_dir else ""\r
-    # TODO: Clean this up for curr\r
     input_files = [InFile(filename) for filename in io.glob("%s/*.txt" % sub_dir)]\r
     if sub_dir == "curr":\r
         input_files.remove(InFile("curr/supplementalData.txt"))\r
+    if sub_dir == "zone":\r
+        input_files.remove(InFile("zone/tzdbNames.txt"))\r
     input_basenames = [v.filename[len(sub_dir)+1:] for v in input_files]\r
     output_files = [\r
         OutFile("%s%s.res" % (out_prefix, v[:-4]))\r
index f29778c..e950adc 100644 (file)
@@ -148,8 +148,13 @@ ICUDATA_ARCHIVE = $(firstword $(wildcard $(srcdir)/in/$(ICUDATA_BASENAME_VERSION
 # and convert it to the current type.\r
 ifneq ($(ICUDATA_ARCHIVE),)\r
 ICUDATA_SOURCE_ARCHIVE = $(OUTDIR)/$(ICUDATA_PLATFORM_NAME).dat\r
-$(ICUDATA_SOURCE_ARCHIVE): $(ICUDATA_ARCHIVE) $(OUTDIR)\r
+$(ICUDATA_SOURCE_ARCHIVE): $(ICUDATA_ARCHIVE)\r
+       $(MKINSTALLDIRS) $(OUTDIR)\r
        $(INVOKE) $(TOOLBINDIR)/icupkg -t$(ICUDATA_CHAR) $(ICUDATA_ARCHIVE) $(ICUDATA_SOURCE_ARCHIVE)\r
+       \r
+$(OUTDIR):\r
+       mkdir -p $(OUTDIR)\r
+\r
 endif\r
 else\r
 ifneq ($(ENABLE_STATIC),YES)\r
@@ -191,11 +196,21 @@ ifeq ($(PKGDATA_MODE),files)
 endif\r
 ifneq ($(ENABLE_STATIC),)\r
 ifeq ($(PKGDATA_MODE),dll)\r
+# For MinGW, do we want the DLL to go in the bin location?\r
+ifeq ($(MINGW_MOVEDLLSTOBINDIR),YES)\r
+       $(PKGDATA_INVOKE) $(PKGDATA) -m static -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -s $(BUILDDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBSTATICNAME) $(PKGDATA_LIST) -I $(DESTDIR)$(bindir)\r
+else\r
        $(PKGDATA_INVOKE) $(PKGDATA) -m static -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -s $(BUILDDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBSTATICNAME) $(PKGDATA_LIST) -I $(ICUPKGDATA_INSTALL_LIBDIR)\r
 endif\r
 endif\r
+endif\r
 ifneq ($(ICUDATA_SOURCE_IS_NATIVE_TARGET),YES)\r
+# For MinGW, do we want the DLL to go in the bin location?\r
+ifeq ($(MINGW_MOVEDLLSTOBINDIR),YES)\r
+       $(PKGDATA_INVOKE) $(PKGDATA) -m $(PKGDATA_MODE) $(PKGDATA_VERSIONING) -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -s $(BUILDDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBNAME) $(PKGDATA_LIST) -I $(DESTDIR)$(bindir)\r
+else\r
        $(PKGDATA_INVOKE) $(PKGDATA) -m $(PKGDATA_MODE) $(PKGDATA_VERSIONING) -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -s $(BUILDDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBNAME) $(PKGDATA_LIST) -I $(ICUPKGDATA_INSTALL_DIR)\r
+endif\r
 else\r
        $(INSTALL_DATA) $(ICUDATA_SOURCE_ARCHIVE) $(DESTDIR)$(ICUPKGDATA_DIR)\r
 endif\r
index 576d7d5..4b713b5 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 \r
 {\r
-    "cldrVersion": "36.1"\r
+    "cldrVersion": "37"\r
 }\r
index 654daba..055634e 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 de{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     exceptions{\r
         SentenceBreak:array{\r
             "Port.",\r
index 5c23e99..6ce507b 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 el{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     boundaries{\r
         sentence:process(dependency){"sent_el.brk"}\r
     }\r
index a61dbcf..d8211ff 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     exceptions{\r
         SentenceBreak:array{\r
             "L.P.",\r
index c77a4dc..d1e54ec 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_US{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e55cab4..1352cc3 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_US_POSIX{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     boundaries{\r
         word:process(dependency){"word_POSIX.brk"}\r
     }\r
index 1d21f3a..78c3711 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     exceptions{\r
         SentenceBreak:array{\r
             "Rdos.",\r
index a0905db..0229ec1 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     exceptions{\r
         SentenceBreak:array{\r
             "aux.",\r
index 77f3928..c5a3f4a 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 it{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     exceptions{\r
         SentenceBreak:array{\r
             "N.B.",\r
index d911146..0c74223 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ja{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     boundaries{\r
         line:process(dependency){"line_normal.brk"}\r
         line_loose:process(dependency){"line_loose_cj.brk"}\r
index 898e0ff..2b4b9b3 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     exceptions{\r
         SentenceBreak:array{\r
             "psicol.",\r
index ecb9ba2..58017c0 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 root{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     boundaries{\r
         grapheme:process(dependency){"char.brk"}\r
         line:process(dependency){"line.brk"}\r
index b0dceb7..e0910f5 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ru{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     exceptions{\r
         SentenceBreak:array{\r
             "\u0440\u0443\u0431.",\r
index bf20b9d..842b14b 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     boundaries{\r
         line:process(dependency){"line_cj.brk"}\r
         line_loose:process(dependency){"line_loose_cj.brk"}\r
index 3b64390..8c489c1 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh_Hant{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     boundaries{\r
         line:process(dependency){"line_cj.brk"}\r
         line_loose:process(dependency){"line_loose_cj.brk"}\r
index b8862fd..54da208 100644 (file)
                <exclude name="zone/tzdbNames.txt" /> \r
                <include name="unit/*.txt" /> \r
                <include name="unit/resfiles.mk" /> \r
-           </fileset>\r
+            </fileset>\r
             <fileset id="collation" dir="${env.ICU4C_DIR}/source/data/coll">\r
                 <include name="*.txt" />\r
             </fileset>\r
index 36a066c..ecdb4cc 100644 (file)
@@ -3,12 +3,17 @@
 # Copyright (C) 2010-2014, International Business Machines Corporation and others.\r
 # All Rights Reserved.                  \r
 #\r
-# Commands for regenerating ICU4C locale data (.txt files) from CLDR.\r
+# Commands for regenerating ICU4C locale data (.txt files) from CLDR,\r
+# updated to apply to CLDR 37 / ICU 67 and later versions.\r
 #\r
 # The process requires local copies of\r
 #    - CLDR (the source of most of the data, and some Java tools)\r
-#    - ICU4J  (used only for checking the converted data)\r
-#    - ICU4C  (the destination for the new data, and the source for some of it)\r
+#    - The complete ICU source tree, including:\r
+#      tools - includes the LdmlConverter build tool and associated config files\r
+#      icu4c - the target for converted CLDR data, and source for ICU4J data;\r
+#              includes tests for the converted data\r
+#      icu4j - the target for updated data jars; includes tests for the converted\r
+#              data\r
 #\r
 # For an official CLDR data integration into ICU, these should be clean, freshly\r
 # checked-out. For released CLDR sources, an alternative to checking out sources\r
 # [http://cldr.unicode.org/index/downloads].\r
 #\r
 # The versions of each of these must match. Included with the release notes for\r
-# ICU is the version number and/or a CLDR svn tag name for the revision of CLDR\r
+# ICU is the version number and/or a CLDR git tag name for the revision of CLDR\r
 # that was the source of the data for that release of ICU.\r
 #\r
-# Besides a standard JDK, the process also requires ant\r
+# Besides a standard JDK, the process also requires ant and maven\r
 # (http://ant.apache.org/),\r
 # plus the xml-apis.jar from the Apache xalan package\r
 # (http://xml.apache.org/xalan-j/downloads.html).\r
 #\r
 # b) CLDR-related variables\r
 #\r
-# CLDR_DIR:      Path to root of CLDR sources, below which are the common and\r
-#                tools directories.\r
+# CLDR_DIR:      For most of the process, this is the path to the to root of\r
+#                standard CLDR sources, below which are the common and\r
+#                tools directories. For running LdmlConverter, this needs to be\r
+#                temporarily reset to the parallel root for the production data,\r
+#                corresponding to $CLDR_TMP_DIR/production (see description of\r
+#                CLDR_TMP_DIR below).\r
 # CLDR_CLASSES:  Path to the CLDR Tools classes directory. If not set, defaults\r
 #                to $CLDR_DIR/tools/java/classes\r
 #\r
 # CLDR_TMP_DIR:  Parent of temporary CLDR production data.\r
 #                Defaults to $CLDR_DIR/../cldr-aux (sibling to CLDR_DIR).\r
 #\r
-#                *** NOTE ***: In CLDR release-36-beta, the GenerateProductionData\r
-#                tool no longer generates data into $CLDR_TMP_DIR/production; instead\r
-#                it generates data into $CLDR_DIR/../cldr-staging/production. However\r
+#                *** NOTE ***: In CLDR 36 and 37, the GenerateProductionData tool\r
+#                no longer generates data by default into $CLDR_TMP_DIR/production;\r
+#                instead it generates data into $CLDR_DIR/../cldr-staging/production\r
+#                (though there is a command-line option to override this). However\r
 #                the rest of the build still assumes that the generated data is in\r
 #                $CLDR_TMP_DIR/production. So CLDR_TMP_DIR must be defined to be\r
 #                $CLDR_DIR/../cldr-staging\r
@@ -73,6 +83,9 @@
 #\r
 # ICU4J_ROOT:    Path to root of ICU4J sources, below which is the main dir.\r
 #\r
+# TOOLS_ROOT:    Path to root of ICU tools directory, below which is (e.g.) the\r
+#                cldr and unicodetools dirs.\r
+#\r
 #----\r
 #\r
 # If you are adding or removing locales, or specific kinds of locale data,\r
 # files are used in addition to the CLDR files as inputs to the CLDR data build\r
 # process for ICU):\r
 #\r
-#    icu4c/source/data/icu-config.xml - Update <locales> to add or remove\r
+# The primary file to edit for ICU 67 and later is\r
+#\r
+#    $TOOLS_ROOT/cldr/cldr-to-icu/build-icu-data.xml\r
+#\r
+# The files used in previous versions are the following. These are not used in\r
+# the ICU-67-and-later process, but for now they should be kept up to date to\r
+# enable parallel use of the older build process for verification.\r
+#\r
+#    $ICU4C_DIR/source/data/icu-config.xml - Update <locales> to add or remove\r
 #                CLDR locales for inclusion in ICU. Update <paths> to prefer\r
 #                alt forms for certain paths, or to exclude certain paths; note\r
 #                that <paths> items can only have draft or alt attributes.\r
 #                should also be included in <locales>, per PMC policy decision\r
 #                2012-05-02 (see http://bugs.icu-project.org/trac/ticket/9298).\r
 #\r
-#    icu4c/source/data/build.xml - If you are adding or removing break\r
+#    $ICU4C_DIR/source/data/build.xml - If you are adding or removing break\r
 #                iterators, you need to update  <fileset id="brkitr" ...> under\r
 #                <target name="clean" ...> to clean the correct set of files.\r
 #\r
 #                updated the <remapper> sections to put these in the correct\r
 #                data subfolder for ICU.\r
 #\r
-#    icu4c/source/data/xml/      - If you are adding a new locale, break\r
+#    $ICU4C_DIR/source/data/xml/      - If you are adding a new locale, break\r
 #                iterator, collation tailoring, or rule-based number formatter,\r
 #                you may need to add a corresponding xml file in (respectively)\r
 #                the main/, brkitr/, collation/, or rbnf/ subdirectory here.\r
 #    keyboards/dtd/ldmlKeyboard.dtd                 - update cldrVersion\r
 #    tools/java/org/unicode/cldr/util/CLDRFile.java - update GEN_VERSION\r
 #\r
-# c) After everything is committed, you will need to tag the CLDR, ICU4J, and\r
-#    ICU4C sources that ended up being used for the integration; see step 17\r
+# c) After everything is committed, you will need to tag the CLDR and ICU\r
+#    sources that ended up being used for the integration; see step 16\r
 #    below.\r
 #\r
 ################################################################################\r
@@ -143,56 +164,103 @@ export CLDR_DIR=$HOME/cldr-myfork
 \r
 export ICU4C_DIR=$HOME/icu-myfork/icu4c\r
 export ICU4J_ROOT=$HOME/icu-myfork/icu4j\r
+export TOOLS_ROOT=$HOME/icu-myfork/tools\r
+\r
 \r
 # 2. Build the CLDR Java tools and jar\r
 \r
 cd $CLDR_DIR/tools/java\r
+ant clean\r
 ant all\r
 ant jar\r
 \r
+# 2a. Copy the CLDR jars into $TOOLS_ROOT/cldr/cldr-to-icu/lib/ maven repository;\r
+# see $TOOLS_ROOT/cldr/cldr-to-icu/lib/README.txt\r
+\r
+cd $TOOLS_ROOT/cldr/cldr-to-icu/lib/\r
+mvn install:install-file \\r
+  -DgroupId=org.unicode.cldr \\r
+  -DartifactId=cldr-api \\r
+  -Dversion=0.1-SNAPSHOT \\r
+  -Dpackaging=jar \\r
+  -DgeneratePom=true \\r
+  -DlocalRepositoryPath=. \\r
+  -Dfile=$CLDR_DIR/tools/java/cldr.jar\r
+\r
+cd $TOOLS_ROOT/cldr/cldr-to-icu/lib/\r
+mvn install:install-file \\r
+  -DgroupId=com.ibm.icu \\r
+  -DartifactId=icu-utilities \\r
+  -Dversion=0.1-SNAPSHOT \\r
+  -Dpackaging=jar \\r
+  -DgeneratePom=true \\r
+  -DlocalRepositoryPath=. \\r
+  -Dfile=$CLDR_DIR/tools/java/libs/utilities.jar\r
+\r
+cd $TOOLS_ROOT/cldr/cldr-to-icu/\r
+mvn dependency:purge-local-repository -DsnapshotsOnly=true\r
+\r
 # 3. Configure ICU4C, build and test without new data first, to verify that\r
 # there are no pre-existing errors. Here <platform> is the runConfigureICU\r
 # code for the platform you are building, e.g. Linux, MacOSX, Cygwin.\r
 \r
 cd $ICU4C_DIR/source\r
 ./runConfigureICU <platform>\r
-make all 2>&1 | tee /tmp/icu4c-oldData-makeAll.txt\r
+make clean\r
 make check 2>&1 | tee /tmp/icu4c-oldData-makeCheck.txt\r
 \r
-# 4. Build the new ICU4C data files; these include .txt files and .py files.\r
-# These new files will replace whatever was already present in the ICU4C sources.\r
-# This process uses ant with ICU's data/build.xml and data/icu-config.xml to\r
-# operate (via CLDR's ant/CLDRConverterTool.java and ant/CLDRBuild.java) the\r
-# necessary CLDR tools including LDML2ICUConverter, ConvertTransforms, etc.\r
-# This process will take several minutes.\r
-# Keep a log so you can investigate anything that looks suspicious.\r
+# 4a. Generate the CLDR production data. This process uses ant with ICU's\r
+# data/build.xml\r
+#\r
+# Running "ant cleanprod" is necessary to clean out the production data directory\r
+# (usually $CLDR_TMP_DIR/production ), required if any CLDR data has changed.\r
 #\r
 # Running "ant setup" is not required, but it will print useful errors to\r
 # debug issues with your path when it fails.\r
-#\r
 \r
 cd $ICU4C_DIR/source/data\r
+ant cleanprod\r
 ant setup\r
-ant clean\r
-ant all 2>&1 | tee /tmp/cldr-newData-buildLog.txt\r
+ant proddata 2>&1 | tee /tmp/cldr-newData-proddataLog.txt\r
+\r
+# 4b. Build the new ICU4C data files; these include .txt files and .py files.\r
+# These new files will replace whatever was already present in the ICU4C sources.\r
+# This process uses the LdmlConverter in $TOOLS_ROOT/cldr/cldr-to-icu/;\r
+# see $TOOLS_ROOT/cldr/cldr-to-icu/README.txt\r
+#\r
+# This process will take several minutes, during most of which there will be no log\r
+# output (so do not assume nothing is happening). Keep a log so you can investigate\r
+# anything that looks suspicious.\r
+#\r
+# This also requires temporarily redefining CLDR_DIR.\r
+#\r
+# Note that "ant clean" should not be run before this. The build-icu-data.xml process\r
+# will automatically run its own "clean" step to delete files it cannot determine to\r
+# be ones that it would generate, except for pasts listed in <retain> elements such as\r
+# coll/de__PHONEBOOK.txt, coll/de_.txt, etc.\r
+#\r
+# Before this step, make any necessary changes to\r
+# build-icu-data.xml$TOOLS_ROOT/cldr/cldr-to-icu/ to add new locales, etc.\r
 \r
-# NOTE: if you change the CLDR data, please run "ant cleanprod" to clean out the\r
-# temporary production data directory (usually $CLDR_DIR/../cldr-aux/production )\r
+cd $TOOLS_ROOT/cldr/cldr-to-icu/\r
+CLDR_DIR=$CLDR_TMP_DIR/production ant -f build-icu-data.xml | tee /tmp/cldr-newData-builddataLog.txt\r
 \r
 # 5. Check which data files have modifications, which have been added or removed\r
 # (if there are no changes, you may not need to proceed further). Make sure the\r
 # list seems reasonable.\r
 \r
+cd $ICU4C_DIR/source/data\r
+git status\r
+\r
+# 5a. You may also want to check which files were modified in CLDR production data:\r
+\r
+cd $CLDR_TMP_DIR\r
 git status\r
 \r
-# 6. Fix any errors, investigate any warnings. Currently for example there are\r
-# a few warnings of the following form in rbnf files:\r
-#   [cldr-build] Warning: no version match with: $Revision☹$\r
+# 6. Fix any errors, investigate any warnings.\r
 #\r
-# Fixing may entail modifying CLDR source data or tools - for example,\r
-# updating the validSubLocales for collation data (file a bug if appropriate).\r
-# Repeat steps 4-5 until there are no build errors and no unexpected\r
-# warnings.\r
+# Fixing may entail modifying CLDR source data or TOOLS_ROOT config files or\r
+# tooling.\r
 \r
 # 7. Now rebuild ICU4C with the new data and run make check tests.\r
 # Again, keep a log so you can investigate the errors.\r
@@ -217,7 +285,9 @@ make check 2>&1 | tee /tmp/icu4c-newData-makeCheck.txt
 # may fail.\r
 # Repeat steps 4-7 until there are no errors.\r
 \r
-# 9. Now run the make check tests in exhaustive mode:\r
+# 9. You can also run the make check tests in exhaustive mode (these will also\r
+# be run automatically on the master branch after the merge resulting from this\r
+# integration):\r
 \r
 cd $ICU4C_DIR/source\r
 export INTLTEST_OPTS="-e"\r
@@ -244,8 +314,8 @@ ICU_DATA_BUILDTOOL_OPTS=--include_uni_core_data ./runConfigureICU <platform>
 # 12b. Now build the jar files.\r
 cd $ICU4C_DIR/source/data\r
 # The following 2 lines are required to include the unicore data:\r
-  make clean\r
-  make -j6\r
+make clean\r
+make -j6\r
 make icu4j-data-install\r
 cd $ICU4C_DIR/source/test/testdata\r
 make icu4j-data-install\r
@@ -283,18 +353,29 @@ ant check 2>&1 | tee /tmp/icu4j-newData-antCheck.txt
 cd $HOME/icu/\r
 cd ..\r
 git status\r
-# add or remove as necessary\r
+# git add or remove as necessary\r
 # commit\r
 \r
 # 16. For an official CLDR data integration into ICU, now tag the CLDR and\r
 # ICU sources with an appropriate CLDR milestone (you can check previous\r
 # tags for format), e.g.:\r
 \r
-svn copy svn+ssh://unicode.org/repos/cldr/trunk \\r
-svn+ssh://unicode.org/repos/cldr/tags/release-NNN \\r
---parents -m "cldrbug nnnn: tag cldr sources for NNN"\r
+cd $CLDR_DIR\r
+git tag ...\r
+git push --tags\r
 \r
-cd $HOME/icu/\r
+cd $HOME/icu\r
 git tag ...\r
+git push --tags\r
+\r
+# 17. You should also commit and tag the update production data in CLDR_TMP_DIR\r
+# using the same tag as for CLDR_DIR above:\r
+\r
+cd $CLDR_TMP_DIR\r
+# git add or remove as necessary\r
+# commit\r
+git tag ...\r
+git push --tags\r
+\r
 \r
 \r
index 2aa7030..e69ee5c 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 \r
 {\r
-    "cldrVersion": "36.1",\r
+    "cldrVersion": "37",\r
     "aliases": {\r
         "ars": "ar_SA",\r
         "in": "id",\r
         "sr_ME": "sr_Cyrl_ME",\r
         "sr_RS": "sr_Cyrl_RS",\r
         "yue": "zh_Hant",\r
-        "yue_CN": "yue_Hans_CN",\r
+        "yue_CN": "zh_Hans",\r
         "yue_Hans": "zh_Hans",\r
+        "yue_Hans_CN": "zh_Hans",\r
+        "yue_Hant": "zh_Hant",\r
         "zh_CN": "zh_Hans_CN",\r
         "zh_HK": "zh_Hant_HK",\r
         "zh_MO": "zh_Hant_MO",\r
         "zh_SG": "zh_Hans_SG",\r
         "zh_TW": "zh_Hant_TW"\r
+    },\r
+    "parents": {\r
+        "ff_Adlm": "root"\r
     }\r
 }\r
index ba7c862..9b7d4e4 100644 (file)
@@ -1,11 +1,11 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 af{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{"&N<<<ʼn"}\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index bab765c..da18d3c 100644 (file)
@@ -1,11 +1,11 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 am{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{"[reorder Ethi]"}\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index d5f254e..0afdb30 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ar{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         compat{\r
             Sequence{\r
@@ -9,7 +9,7 @@ ar{
                 "&ت<<ة<<<ﺔ<<<ﺓ"\r
                 "&ي<<ى<<<ﯨ<<<ﯩ<<<ﻰ<<<ﻯ<<<ﲐ<<<ﱝ"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -397,7 +397,7 @@ ar{
                 "‎&ۓ‎=ﮰ‎=ﮱ"\r
                 "‎&ۀ‎=ﮤ‎=ﮥ"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
similarity index 91%
rename from source/data/curr/ja_JP.txt
rename to source/data/coll/ar_SA.txt
index 093ed5b..00baa1f 100644 (file)
@@ -3,6 +3,6 @@
 /**\r
  * generated alias target\r
  */\r
-ja_JP{\r
+ar_SA{\r
     ___{""}\r
 }\r
index 8de1f41..9bb22b9 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ars{\r
-    "%%ALIAS"{"ar"}\r
+    "%%ALIAS"{"ar_SA"}\r
 }\r
index 5a99615..395a00c 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 as{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -11,7 +11,7 @@ as{
                 "&[before 1]ত<ৎ=ত্\u200D"\r
                 "&হ<ক্ষ"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 1379caf..8f16818 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 az{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         search{\r
             Sequence{\r
@@ -9,7 +9,7 @@ az{
                 "[import az-u-co-standard]"\r
                 "[reorder others]"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -26,7 +26,7 @@ az{
                 "&H<x<<<X"\r
                 "&Z<w<<<W"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index a41bf97..aba5488 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 be{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -9,7 +9,7 @@ be{
                 "&Е<ё<<<Ё"\r
                 "&у<ў<<<Ў"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 86d363e..94e7539 100644 (file)
@@ -1,11 +1,11 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bg{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{"[reorder Cyrl]"}\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 07c75e4..28a4125 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -9,7 +9,7 @@ bn{
                 "[reorder Beng Deva Guru Gujr Orya Taml Telu Knda Mlym Sinh]"\r
                 "&ঔ<ং<ঃ<ঁ"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         traditional{\r
             Sequence{\r
@@ -629,7 +629,7 @@ bn{
                 "&যৌ<<<য়ৌ"\r
                 "&য্<<<য়্"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 8243068..755fb1c 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5128dec..f9a078d 100644 (file)
@@ -1,15 +1,15 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bs{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         search{\r
             Sequence{"[import hr-u-co-search]"}\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         standard{\r
             Sequence{"[import hr]"}\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 494602e..29117af 100644 (file)
@@ -1,11 +1,11 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bs_Cyrl{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{"[import sr]"}\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 1ffe40f..0c0176e 100644 (file)
@@ -1,14 +1,14 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ca{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         search{\r
             Sequence{\r
                 "[import und-u-co-search]"\r
                 "&L<ŀ=l·<<<Ŀ=L·"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 0184242..e7e8a92 100644 (file)
@@ -1,11 +1,11 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ceb{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{"&N<ñ<<<Ñ<ng<<<Ng<<<NG"}\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index e489209..997c730 100644 (file)
@@ -1,11 +1,11 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 chr{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{"[reorder Cher]"}\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 57a579d..ec020d7 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 cs{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -11,7 +11,7 @@ cs{
                 "&S<š<<<Š"\r
                 "&Z<ž<<<Ž"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 00fe825..25e15b0 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 cy{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -14,7 +14,7 @@ cy{
                 "&R<rh<<<Rh<<<RH"\r
                 "&T<th<<<Th<<<TH"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 7094f4b..e422009 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 da{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         search{\r
             Sequence{\r
@@ -9,7 +9,7 @@ da{
                 "[import da-u-co-standard]"\r
                 "[caseFirst off]"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -21,7 +21,7 @@ da{
                 "&[before 1]ǀ<æ<<<Æ<<ä<<<Ä<ø<<<Ø<<ö<<<Ö<<ő<<<Ő<å<<<Å<<<aa<<<Aa<<<AA"\r
                 "&oe<<œ<<<Œ"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 68d15f8..c2b4ad9 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 de{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         phonebook{\r
             Sequence{\r
@@ -9,14 +9,14 @@ de{
                 "&OE<<ö<<<Ö"\r
                 "&UE<<ü<<<Ü"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         search{\r
             Sequence{\r
                 "[import und-u-co-search]"\r
                 "[import de-u-co-phonebk]"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index d212d97..1da1e73 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 de_AT{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         phonebook{\r
             Sequence{\r
@@ -10,7 +10,7 @@ de_AT{
                 "&u<ü<<<Ü"\r
                 "&ss<ß<<<ẞ"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 41428bf..67667ac 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 dsb{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -14,7 +14,7 @@ dsb{
                 "&S<š<<<Š<ś<<<Ś"\r
                 "&Z<ž<<<Ž<ź<<<Ź"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index b172189..02db7cb 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 dz{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2cf3495..236935d 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ee{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -17,7 +17,7 @@ ee{
                 "&T<ts<<<Ts<<<TS"\r
                 "&V<ʋ<<<Ʋ"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index c60bcec..da58120 100644 (file)
@@ -1,14 +1,14 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 el{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
                 "[normalization on]"\r
                 "[reorder Grek]"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index fa18e4e..c5bdc05 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c77a4dc..d1e54ec 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_US{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e3d293b..749cc7c 100644 (file)
@@ -1,14 +1,14 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_US_POSIX{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
                 "&A<*'\u0020'-'/'<*0-'@'<*ABCDEFGHIJKLMNOPQRSTUVWXYZ<*'['-'`'<*abcdefghijklmnopqrstuvwxyz"\r
                 "<*'{'-'\u007F'"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index ce96e60..acd1d9c 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 eo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -12,7 +12,7 @@ eo{
                 "&S<ŝ<<<Ŝ"\r
                 "&U<ŭ<<<Ŭ"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 80315c9..752e21f 100644 (file)
@@ -1,18 +1,18 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         search{\r
             Sequence{\r
                 "[import und-u-co-search]"\r
                 "&N<ñ<<<Ñ"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         standard{\r
             Sequence{"&N<ñ<<<Ñ"}\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         traditional{\r
             Sequence{\r
@@ -20,7 +20,7 @@ es{
                 "&C<ch<<<Ch<<<CH"\r
                 "&l<ll<<<Ll<<<LL"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 867fc31..9a62f9a 100644 (file)
@@ -1,14 +1,14 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 et{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
                 "&[before 1]T<š<<<Š<z<<<Z<ž<<<Ž"\r
                 "&[before 1]X<õ<<<Õ<ä<<<Ä<ö<<<Ö<ü<<<Ü"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index fe9f3e6..1505389 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fa{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -16,7 +16,7 @@ fa{
                 "&ۏ<ه<<ە<<ہ<<ة<<ۃ<<ۀ<<ھ"\r
                 "&ی<<*ىےيېۑۍێ"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 49136a5..40782ad 100644 (file)
@@ -1,11 +1,11 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fa_AF{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{"[import ps]"}\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
diff --git a/source/data/coll/ff.txt b/source/data/coll/ff.txt
new file mode 100644 (file)
index 0000000..7cc0ea1
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/coll/ff_Adlm.txt b/source/data/coll/ff_Adlm.txt
new file mode 100644 (file)
index 0000000..6bfe2f0
--- /dev/null
@@ -0,0 +1,149 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff_Adlm{\r
+    %%Parent{"root"}\r
+    Version{"37"}\r
+    collations{\r
+        standard{\r
+            Sequence{\r
+                "&𞤀<𞤀𞥄"\r
+                "&𞤀𞥄=𞤀𞤀"\r
+                "&𞤢<𞤢𞥄"\r
+                "&𞤢𞥄=𞤢𞤢"\r
+                "&𞤁<𞤁𞥆"\r
+                "&𞤁𞥆=𞤁𞤁"\r
+                "&𞤣<𞤣𞥆"\r
+                "&𞤣𞥆=𞤣𞤣"\r
+                "&𞤂<𞤂𞥆"\r
+                "&𞤂𞥆=𞤂𞤂"\r
+                "&𞤤<𞤤𞥆"\r
+                "&𞤤𞥆=𞤤𞤤"\r
+                "&𞤃<𞤃𞥆"\r
+                "&𞤃𞥆=𞤃𞤃"\r
+                "&𞤥<𞤥𞥆"\r
+                "&𞤥𞥆=𞤥𞤥"\r
+                "&𞤄<𞤄𞥆"\r
+                "&𞤄𞥆=𞤄𞤄"\r
+                "&𞤦<𞤦𞥆"\r
+                "&𞤦𞥆=𞤦𞤦"\r
+                "&𞤅<𞤅𞥆"\r
+                "&𞤅𞥆=𞤅𞤅"\r
+                "&𞤧<𞤧𞥆"\r
+                "&𞤧𞥆=𞤧𞤧"\r
+                "&𞤆<𞤆𞥆"\r
+                "&𞤆𞥆=𞤆𞤆"\r
+                "&𞤨<𞤨𞥆"\r
+                "&𞤨𞥆=𞤨𞤨"\r
+                "&𞤇<𞤇𞥆"\r
+                "&𞤇𞥆=𞤇𞤇"\r
+                "&𞤩<𞤩𞥆"\r
+                "&𞤩𞥆=𞤩𞤩"\r
+                "&𞤈<𞤈𞥆"\r
+                "&𞤈𞥆=𞤈𞤈"\r
+                "&𞤪<𞤪𞥆"\r
+                "&𞤪𞥆=𞤪𞤪"\r
+                "&𞤊<𞤊𞥆"\r
+                "&𞤊𞥆=𞤊𞤊"\r
+                "&𞤬<𞤬𞥆"\r
+                "&𞤬𞥆=𞤬𞤬"\r
+                "&𞤍<𞤍𞥆"\r
+                "&𞤍𞥆=𞤍𞤍"\r
+                "&𞤯<𞤯𞥆"\r
+                "&𞤯𞥆=𞤯𞤯"\r
+                "&𞤎<𞤎𞥆"\r
+                "&𞤎𞥆=𞤎𞤎"\r
+                "&𞤰<𞤰𞥆"\r
+                "&𞤰𞥆=𞤰𞤰"\r
+                "&𞤏<𞤏𞥆"\r
+                "&𞤏𞥆=𞤏𞤏"\r
+                "&𞤱<𞤱𞥆"\r
+                "&𞤱𞥆=𞤱𞤱"\r
+                "&𞤐<𞤐𞥆"\r
+                "&𞤐𞥆=𞤐𞤐"\r
+                "&𞤲<𞤲𞥆"\r
+                "&𞤲𞥆=𞤲𞤲"\r
+                "&𞤑<𞤑𞥆"\r
+                "&𞤑𞥆=𞤑𞤑"\r
+                "&𞤳<𞤳𞥆"\r
+                "&𞤳𞥆=𞤳𞤳"\r
+                "&𞤒<𞤒𞥆"\r
+                "&𞤒𞥆=𞤒𞤒"\r
+                "&𞤴<𞤴𞥆"\r
+                "&𞤴𞥆=𞤴𞤴"\r
+                "&𞤔<𞤔𞥆"\r
+                "&𞤔𞥆=𞤔𞤔"\r
+                "&𞤶<𞤶𞥆"\r
+                "&𞤶𞥆=𞤶𞤶"\r
+                "&𞤕<𞤕𞥆"\r
+                "&𞤕𞥆=𞤕𞤕"\r
+                "&𞤷<𞤷𞥆"\r
+                "&𞤷𞥆=𞤷𞤷"\r
+                "&𞤖<𞤖𞥆"\r
+                "&𞤖𞥆=𞤖𞤖"\r
+                "&𞤸<𞤸𞥆"\r
+                "&𞤸𞥆=𞤸𞤸"\r
+                "&𞤗<𞤗𞥆"\r
+                "&𞤗𞥆=𞤗𞤗"\r
+                "&𞤹<𞤹𞥆"\r
+                "&𞤹𞥆=𞤹𞤹"\r
+                "&𞤘<𞤘𞥆"\r
+                "&𞤘𞥆=𞤘𞤘"\r
+                "&𞤺<𞤺𞥆"\r
+                "&𞤺𞥆=𞤺𞤺"\r
+                "&𞤙<𞤙𞥆"\r
+                "&𞤙𞥆=𞤙𞤙"\r
+                "&𞤻<𞤻𞥆"\r
+                "&𞤻𞥆=𞤻𞤻"\r
+                "&𞤚<𞤚𞥆"\r
+                "&𞤚𞥆=𞤚𞤚"\r
+                "&𞤼<𞤼𞥆"\r
+                "&𞤼𞥆=𞤼𞤼"\r
+                "&𞤛<𞤛𞥆"\r
+                "&𞤛𞥆=𞤛𞤛"\r
+                "&𞤽<𞤽𞥆"\r
+                "&𞤽𞥆=𞤽𞤽"\r
+                "&𞤜<𞤜𞥆"\r
+                "&𞤜𞥆=𞤜𞤜"\r
+                "&𞤾<𞤾𞥆"\r
+                "&𞤾𞥆=𞤾𞤾"\r
+                "&𞤝<𞤝𞥆"\r
+                "&𞤝𞥆=𞤝𞤝"\r
+                "&𞤿<𞤿𞥆"\r
+                "&𞤿𞥆=𞤿𞤿"\r
+                "&𞤞<𞤞𞥆"\r
+                "&𞤞𞥆=𞤞𞤞"\r
+                "&𞥀<𞥀𞥆"\r
+                "&𞥀𞥆=𞥀𞥀"\r
+                "&𞤟<𞤟𞥆"\r
+                "&𞤟𞥆=𞤟𞤟"\r
+                "&𞥁<𞥁𞥆"\r
+                "&𞥁𞥆=𞥁𞥁"\r
+                "&𞤠<𞤠𞥆"\r
+                "&𞤠𞥆=𞤠𞤠"\r
+                "&𞥂<𞥂𞥆"\r
+                "&𞥂𞥆=𞥂𞥂"\r
+                "&𞤡<𞤡𞥆"\r
+                "&𞤡𞥆=𞤡𞤡"\r
+                "&𞥃<𞥃𞥆"\r
+                "&𞥃𞥆=𞥃𞥃"\r
+                "&𞤉<𞤉𞥅"\r
+                "&𞤉𞥅<<𞤉𞤉"\r
+                "&𞤫<𞤫𞥅"\r
+                "&𞤫𞥅<<𞤫𞤫"\r
+                "&𞤋<𞤋𞥅"\r
+                "&𞤋𞥅<<𞤋𞤋"\r
+                "&𞤭<𞤭𞥅"\r
+                "&𞤭𞥅<<𞤭𞤭"\r
+                "&𞤌<𞤌𞥅"\r
+                "&𞤌𞥅<<𞤌𞤌"\r
+                "&𞤮<𞤮𞥅"\r
+                "&𞤮𞥅<<𞤮𞤮"\r
+                "&𞤓<𞤓𞥅"\r
+                "&𞤓𞥅<<𞤓𞤓"\r
+                "&𞤵<𞤵𞥅"\r
+                "&𞤵𞥅<<𞤵𞤵"\r
+            }\r
+            Version{"37"}\r
+        }\r
+    }\r
+}\r
index a5d9c34..3a14f20 100644 (file)
@@ -1,14 +1,14 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fi{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         search{\r
             Sequence{\r
                 "[import und-u-co-search]"\r
                 "[import fi-u-co-trad]"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -20,7 +20,7 @@ fi{
                 "&Z\u0335<<ʒ<<<Ʒ"\r
                 "&[before 1]ǀ<å<<<Å<ä<<<Ä<<æ<<<Æ<ö<<<Ö<<ø<<<Ø"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         traditional{\r
             Sequence{\r
@@ -31,7 +31,7 @@ fi{
                 "&Y<<ü<<<Ü<<ű<<<Ű"\r
                 "&[before 1]ǀ<å<<<Å<ä<<<Ä<<æ<<<Æ<ö<<<Ö<<ø<<<Ø<<ő<<<Ő<<õ<<<Õ<<œ<<<Œ"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index b6598e8..746e99e 100644 (file)
@@ -1,11 +1,11 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fil{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{"&N<ñ<<<Ñ<ng<<<Ng<<<NG"}\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 4d915cc..e155018 100644 (file)
@@ -1,14 +1,14 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         search{\r
             Sequence{\r
                 "[import und-u-co-search]"\r
                 "[import fo-u-co-standard]"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -18,7 +18,7 @@ fo{
                 "&Y<<ü<<<Ü<<ű<<<Ű"\r
                 "&[before 1]ǀ<æ<<<Æ<<ä<<<Ä<<ę<<<Ę<ø<<<Ø<<ö<<<Ö<<ő<<<Ő<<œ<<<Œ<å<<<Å<<<aa<<<Aa<<<AA"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 973ab5a..47c6fca 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 86cf31d..b894751 100644 (file)
@@ -1,11 +1,11 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_CA{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{"[backwards 2]"}\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index b5e086f..c946b18 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ga{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 15aa915..a19c751 100644 (file)
@@ -1,15 +1,15 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 gl{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         search{\r
             Sequence{"[import es-u-co-search]"}\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         standard{\r
             Sequence{"[import es]"}\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 533e766..67f94cd 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 gu{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -9,7 +9,7 @@ gu{
                 "[reorder Gujr Deva Beng Guru Orya Taml Telu Knda Mlym Sinh]"\r
                 "&ૐ<ં<<ઁ<ઃ"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 1144ea6..dddb4f1 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ha{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -12,7 +12,7 @@ ha{
                 "&T<ts<<<Ts<<<TS"\r
                 "&Y<ƴ<<<ʼy<<<''y<<<Ƴ<<<ʼY<<<''Y"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 3f67de5..77036e1 100644 (file)
@@ -1,14 +1,14 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 haw{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
                 "&a<e<<<E<i<<<I<o<<<O<u<<<U"\r
                 "&w<ʻ"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index fa790fa..19c0e14 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 he{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         search{\r
             Sequence{\r
@@ -11,7 +11,7 @@ he{
                 "‎&״"\r
                 "<<'\u0022'"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -20,7 +20,7 @@ he{
                 "&[before 2]''<<׳"\r
                 "&[before 2]'\u0022'<<״"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 15aa72f..3ae5433 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 hi{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -9,7 +9,7 @@ hi{
                 "[reorder Deva Beng Guru Gujr Orya Taml Telu Knda Mlym Sinh]"\r
                 "&ॐ<ं<<ँ<ः"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 5cf7a98..4dba653 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 hr{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         search{\r
             Sequence{\r
@@ -9,7 +9,7 @@ hr{
                 "[import hr-u-co-standard]"\r
                 "[reorder others]"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -21,7 +21,7 @@ hr{
                 "&S<š<<<Š"\r
                 "&Z<ž<<<Ž"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index e8b3b7b..716a5be 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 hsb{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -13,7 +13,7 @@ hsb{
                 "&S<š<<<Š"\r
                 "&Z<ž<<<Ž<ź<<<Ź"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 3e26896..dd8b120 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 hu{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -44,7 +44,7 @@ hu{
                 "&Zs<<<Zzs/zs"\r
                 "&ZS<<<ZZS/ZS"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 08ddb77..650cb05 100644 (file)
@@ -1,14 +1,14 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 hy{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
                 "[reorder Armn]"\r
                 "&ք<և<<<Եւ"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 134871b..4704da5 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 id{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3209d91..3625819 100644 (file)
@@ -1,8 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * generated alias target\r
- */\r
 id_ID{\r
-    ___{""}\r
+    Version{"37"}\r
 }\r
index 95510fb..767c613 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ig{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -15,7 +15,7 @@ ig{
                 "&S<sh<<<Sh<<<SH"\r
                 "&U<ụ<<<Ụ"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index a784c53..66810fd 100644 (file)
@@ -1,14 +1,14 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 is{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         search{\r
             Sequence{\r
                 "[import und-u-co-search]"\r
                 "[import is-u-co-standard]"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -21,7 +21,7 @@ is{
                 "&[before 1]z<ý<<<Ý"\r
                 "&[before 1]ǀ<æ<<<Æ<<ä<<<Ä<ö<<<Ö<<ø<<<Ø<å<<<Å"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 821e431..c0e3bd5 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 it{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4d63dbe..27db9df 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ja{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         private-kana{\r
             Sequence{\r
@@ -412,7 +412,7 @@ ja{
                 "&「=「"\r
                 "&」=」"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -420,14 +420,14 @@ ja{
                 "[import ja-u-co-private-kana]"\r
                 "&[last regular]<*亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠堯槇遙瑤凜熙"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         unihan{\r
             Sequence{\r
                 "[import und-u-co-private-unihan]"\r
                 "[import ja-u-co-private-kana]"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 8b919dd..13a1af1 100644 (file)
@@ -1,11 +1,11 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ka{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{"[reorder Geor]"}\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 70cd2d0..bc3855c 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kk{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -10,7 +10,7 @@ kk{
                 "&Ұ<ү<<<Ү"\r
                 "&[before 1]ь<і<<<І"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 154d8ff..0f23007 100644 (file)
@@ -1,14 +1,14 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kl{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         search{\r
             Sequence{\r
                 "[import und-u-co-search]"\r
                 "[import kl-u-co-standard]"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -19,7 +19,7 @@ kl{
                 "&Y<<ü<<<Ü<<ű<<<Ű"\r
                 "&[before 1]ǀ<æ<<<Æ<<ä<<<Ä<<ę<<<Ę<ø<<<Ø<<ö<<<Ö<<ő<<<Ő<<œ<<<Œ<å<<<Å"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 7f7e43f..62d7fed 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 km{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -66,7 +66,7 @@ km{
                 "&ឱ<<<ឲ"\r
                 "&ៅ<ុំ<ំ<ាំ<ះ<ិះ<ុះ<េះ<ោះ"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 7461ff5..7e59adc 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -9,7 +9,7 @@ kn{
                 "[reorder Knda Deva Beng Guru Gujr Orya Taml Telu Mlym Sinh]"\r
                 "&ಔ<ಂ<ಃ<ೱ<ೲ"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         traditional{\r
             Sequence{\r
@@ -651,7 +651,7 @@ kn{
                 "&ಫೋ<<<ಫ಼ೋ"\r
                 "&ಫೌ<<<ಫ಼ೌ"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 8925aeb..7a979dd 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ko{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         search{\r
             Sequence{\r
@@ -283,7 +283,7 @@ ko{
                 "&ᅩᅣᅵ"\r
                 "=ᆧ"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         searchjl{\r
             Sequence{\r
@@ -378,7 +378,7 @@ ko{
                 "&\u1109\u1109=\u110A<<<\u3146"\r
                 "&\u110C\u110C=\u110D<<<\u3149"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -862,14 +862,14 @@ ko{
                 "&희<<*僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲咥唏嘻悕戲暿欷燹爔豨餼"\r
                 "&힐<<*詰犵纈襭頡黠"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         unihan{\r
             Sequence{\r
                 "[import und-u-co-private-unihan]"\r
                 "[reorder Hang Hani]"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index d11766d..e28d5a5 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kok{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -11,7 +11,7 @@ kok{
                 "&ह<ळ"\r
                 "<क्ष"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index f2d8f1d..d6c97f7 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ku{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -15,7 +15,7 @@ ku{
                 "&î<<í<<<Í"\r
                 "&û<<ú<<<Ú"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 6b27d88..fa8b0fb 100644 (file)
@@ -1,14 +1,14 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ky{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
                 "[reorder Cyrl]"\r
                 "&е<ё<<<Ё"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 94de02e..4672afb 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lb{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8527b1e..be5b782 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lkt{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -11,7 +11,7 @@ lkt{
                 "&S<š<<<Š"\r
                 "&Z<ž<<<Ž"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 6b749fb..e4ac4fe 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ln{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         phonetic{\r
             Sequence{\r
@@ -16,14 +16,14 @@ ln{
                 "&S<sh<<<sH<<<Sh<<<SH"\r
                 "&T<ts<<<tS<<<Ts<<<TS"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         standard{\r
             Sequence{\r
                 "&E<ɛ<<<Ɛ"\r
                 "&O<<ɔ<<<Ɔ"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 652fe23..8324bda 100644 (file)
@@ -1,11 +1,11 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{"[reorder Laoo]"}\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index b5dbc3d..61de8e3 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lt{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -16,7 +16,7 @@ lt{
                 "&U<<ų<<<Ų<<ū<<<Ū"\r
                 "&Z<ž<<<Ž"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index c0e934b..1565047 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lv{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -15,7 +15,7 @@ lv{
                 "&[before 1]T<š<<<Š"\r
                 "&[before 1]Ʒ<ž<<<Ž"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 49b6411..17adac1 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mk{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -10,7 +10,7 @@ mk{
                 "&ԃ<ѓ<<<Ѓ"\r
                 "&ћ<ќ<<<Ќ"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index f7dcc6c..450c75a 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ml{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -17,7 +17,7 @@ ml{
                 "&മ്<<ം"\r
                 "&ന്<<<ൻ്"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index fbfd7c7..9a09eb1 100644 (file)
@@ -1,11 +1,11 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{"[reorder Cyrl Mong]"}\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 33250eb..dba5b4c 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mr{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -12,7 +12,7 @@ mr{
                 "<क्ष"\r
                 "<ज्ञ"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 444cfdf..d991bd4 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ms{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 911326e..9b6477d 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mt{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -12,7 +12,7 @@ mt{
                 "&[before 1]i<ħ<<<Ħ"\r
                 "&[before 1]z<ż<<<Ż"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 70ca4ef..a1a672a 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 my{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -373,7 +373,7 @@ my{
                 "&ထမင်း=ထ္မင်း"\r
                 "&လက်ဘက်=လ္ဘက်"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 5d648a5..ba60e47 100644 (file)
@@ -1,14 +1,14 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nb{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         search{\r
             Sequence{\r
                 "[import und-u-co-search]"\r
                 "[import nb-u-co-standard]"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -18,7 +18,7 @@ nb{
                 "&Y<<ü<<<Ü<<ű<<<Ű"\r
                 "&[before 1]ǀ<æ<<<Æ<<ä<<<Ä<<ę<<<Ę<ø<<<Ø<<ö<<<Ö<<ő<<<Ő<<œ<<<Œ<å<<<Å<<aa<<<Aa<<<AA"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index e7e666a..13b3d84 100644 (file)
@@ -1,11 +1,11 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ne{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{"[reorder Deva]"}\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index c6c7131..2cab7db 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nl{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ad4f5a4..d30022e 100644 (file)
@@ -1,15 +1,15 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         search{\r
             Sequence{"[import nb-u-co-search]"}\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         standard{\r
             Sequence{"[import nb-u-co-standard]"}\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index d66a2c8..f1b3da4 100644 (file)
@@ -1,14 +1,14 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 om{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
                 "&Z<ch<<<Ch<<<CH<dh<<<Dh<<<DH<kh<<<Kh<<<KH<ny<<<Ny<<<NY<ph<<<Ph<<<PH<"\r
                 "sh<<<Sh"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 51645b4..0511606 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 or{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -11,7 +11,7 @@ or{
                 "&ହ<କ୍ଷ"\r
                 "&ଯ<<ୟ"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index e32b448..9f3782b 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pa{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -10,7 +10,7 @@ pa{
                 "&ੱ<<ੰ<<ਂ<<ਁ<<਼"\r
                 "&ੜ<੍"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 5e28269..de00c95 100644 (file)
@@ -1,8 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * generated alias target\r
- */\r
 pa_Guru{\r
-    ___{""}\r
+    Version{"37"}\r
 }\r
index f624e43..eb82c4b 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pl{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -14,7 +14,7 @@ pl{
                 "&S<ś<<<Ś"\r
                 "&Z<ź<<<Ź<ż<<<Ż"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 4be42be..adadeb5 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ps{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -24,7 +24,7 @@ ps{
                 "&ی<<*ىےيېۍ<<یٔ<<<ىٔ<<<ئ"\r
                 "&\u00A0<<\u200C<<\u200D"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 8484a96..8bca4d4 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e438259..0d0067e 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ro{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -10,7 +10,7 @@ ro{
                 "&S<ş=ș<<<Ş=Ș"\r
                 "&T<ţ=ț<<<Ţ=Ț"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 3e6ccfb..8b5daf9 100644 (file)
@@ -1,11 +1,8 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * ICU <specials> source: <path>/xml/collation/root.xml\r
- */\r
 root{\r
     UCARules:process(uca_rules){"../unidata/UCARules.txt"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         default{"standard"}\r
         emoji{\r
@@ -400,7 +397,7 @@ root{
                 "& 👨 << 🧔 <<👱‍♂ <<👱🏻‍♂ <<👱🏼‍♂ <<👱🏽‍♂ <<👱🏾‍♂ <<👱🏿‍♂"\r
                 "& 👩 << 👱‍♀ << 👱🏻‍♀ << 👱🏼‍♀ << 👱🏽‍♀ << 👱🏾‍♀ << 👱🏿‍♀"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         eor{\r
             Sequence{\r
@@ -940,7 +937,7 @@ root{
                 "&ք"\r
                 "<և"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         private-unihan{\r
             Sequence{\r
@@ -1183,7 +1180,7 @@ root{
                 "&龟=\uFDD0龟"\r
                 "&龠=\uFDD0龠"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         search{\r
             Sequence{\r
@@ -1302,11 +1299,11 @@ root{
                 "&ᅳᅵ"\r
                 "=ᅴ"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         standard{\r
             Sequence{""}\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
     depends:process(dependency){"ucadata.icu"}\r
index e6fd923..f63de19 100644 (file)
@@ -1,11 +1,11 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ru{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{"[reorder Cyrl]"}\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index d3e5e2c..b6de352 100644 (file)
@@ -1,14 +1,14 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 se{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         search{\r
             Sequence{\r
                 "[import und-u-co-search]"\r
                 "[import se-u-co-standard]"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -53,7 +53,7 @@ se{
                 "<<<Ô<<ǫ"\r
                 "<<<Ǫ"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 75ec6fd..9c503f0 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 si{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         dictionary{\r
             Sequence{\r
@@ -10,7 +10,7 @@ si{
                 "&ඖ<ං<ඃ"\r
                 "&ජ්ඤ<<ඥ"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -19,7 +19,7 @@ si{
                 "&ඖ<ං<ඃ"\r
                 "&ඥ<ඤ"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 0583078..5b0178f 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sk{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         search{\r
             Sequence{\r
@@ -21,7 +21,7 @@ sk{
                 "&Y<ý<<<Ý"\r
                 "&Z<ž<<<Ž"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -33,7 +33,7 @@ sk{
                 "&S<š<<<Š"\r
                 "&Z<ž<<<Ž"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 66290d6..ec20c5b 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sl{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -10,7 +10,7 @@ sl{
                 "&S<š<<<Š"\r
                 "&Z<ž<<<Ž"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 4782e06..7cc17d8 100644 (file)
@@ -1,14 +1,14 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 smn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         search{\r
             Sequence{\r
                 "[import und-u-co-search]"\r
                 "[import smn-u-co-standard]"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -19,7 +19,7 @@ smn{
                 "&S<š<<<Š"\r
                 "&Z<ž<<<Ž<æ<<<Æ<ø<<<Ø<å<<<Å<ã<<<Ã<ä<<<Ä<á<<<Á<ö<<<Ö"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index da50bee..bc10158 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sq{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -17,7 +17,7 @@ sq{
                 "&[before 1]Y<xh<<<Xh<<<XH"\r
                 "&[before 1]Ʒ<zh<<<Zh<<<ZH"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 04e86c7..46605ab 100644 (file)
@@ -1,14 +1,14 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sr{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
                 "[reorder Cyrl]"\r
                 "[suppressContractions [Ии]]"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 8e3fb1d..f89f3af 100644 (file)
@@ -1,8 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * generated alias target\r
- */\r
 sr_Cyrl{\r
-    ___{""}\r
+    Version{"37"}\r
 }\r
index 4d6e88e..01082ad 100644 (file)
@@ -1,8 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * generated alias target\r
- */\r
 sr_Cyrl_ME{\r
-    ___{""}\r
+    Version{"37"}\r
 }\r
index d4128cc..05d33d8 100644 (file)
@@ -1,15 +1,15 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sr_Latn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         search{\r
             Sequence{"[import hr-u-co-search]"}\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         standard{\r
             Sequence{"[import hr]"}\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 3f647b3..8817e8e 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sv{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         default{"reformed"}\r
         reformed{\r
@@ -12,14 +12,14 @@ sv{
                 "&Y<<ü<<<Ü<<ű<<<Ű"\r
                 "&[before 1]ǀ<å<<<Å<ä<<<Ä<<æ<<<Æ<<ę<<<Ę<ö<<<Ö<<ø<<<Ø<<ő<<<Ő<<œ<<<Œ<<ô<<<Ô"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         search{\r
             Sequence{\r
                 "[import und-u-co-search]"\r
                 "[import sv-u-co-standard]"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -30,7 +30,7 @@ sv{
                 "&Y<<ü<<<Ü<<ű<<<Ű"\r
                 "&[before 1]ǀ<å<<<Å<ä<<<Ä<<æ<<<Æ<<ę<<<Ę<ö<<<Ö<<ø<<<Ø<<ő<<<Ő<<œ<<<Œ<<ô<<<Ô"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 032eb08..eb2c530 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sw{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ab9f759..0ee2168 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ta{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -34,7 +34,7 @@ ta{
                 "&[before 1]ஹ<ஹ்"\r
                 "&[before 1]க்ஷ<க்ஷ்"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index b52cebf..1218412 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 te{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -9,7 +9,7 @@ te{
                 "[reorder Telu Deva Beng Guru Gujr Orya Taml Knda Mlym Sinh]"\r
                 "&ఔ<ఁ<ం<ః"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index cea79ff..12d0ce5 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 th{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -17,7 +17,7 @@ th{
                 "&ๅํ<<<ํๅ"\r
                 "&ไ<ฺ"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index a9cfee4..b4047a1 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 tk{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -14,7 +14,7 @@ tk{
                 "&U<ü<<<Ü"\r
                 "&Y<ý<<<Ý"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index cfc7fcf..5059088 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 to{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -13,7 +13,7 @@ to{
                 "&o<<ó<<<Ó<<ō<<<Ō"\r
                 "&u<<ú<<<Ú<<ū<<<Ū"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 7e0da73..7477978 100644 (file)
@@ -1,14 +1,14 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 tr{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         search{\r
             Sequence{\r
                 "[import und-u-co-search]"\r
                 "[import tr-u-co-standard]"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -20,7 +20,7 @@ tr{
                 "&S<ş<<<Ş"\r
                 "&U<ü<<<Ü"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 0296d9a..45928ea 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ug{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -10,7 +10,7 @@ ug{
                 "&ك<گ<ڭ<ل"\r
                 "&ھ<و<ۇ<ۆ<ۈ<ۋ<ې<ى<ي"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index a3faf23..351f751 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 uk{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -9,7 +9,7 @@ uk{
                 "&Г<ґ<<<Ґ"\r
                 "&ꙇ<ї<<<\uA676<<<Ї"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 46f5a5f..15c1943 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ur{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -12,7 +12,7 @@ ur{
                 "<<\u0651<<\u0658<<\u0653"\r
                 "&[last tertiary ignorable]<<<\u0610<<<\u0611<<<\u0613<<<\u0612<<<\u0614"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 5cae1f5..f373b7e 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 uz{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -10,7 +10,7 @@ uz{
                 "<sh<<<Sh<<<SH"\r
                 "<ch<<<Ch<<<CH"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 56c8c0b..eaadde9 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 vi{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -13,7 +13,7 @@ vi{
                 "&o<ô<<<Ô<ơ<<<Ơ"\r
                 "&u<ư<<<Ư"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         traditional{\r
             Sequence{\r
@@ -32,7 +32,7 @@ vi{
                 "&T<th<<<Th<<<TH<tr<<<Tr<<<TR"\r
                 "&u<ư<<<Ư"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index f7e4bfa..847c8fe 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 wae{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2809cca..9d25d7f 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 wo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -11,7 +11,7 @@ wo{
                 "&N<ñ<<<Ñ<ŋ<<<Ŋ"\r
                 "&O<ó<<<Ó"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 122d4a6..700edff 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 xh{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2f44fbc..dc0254a 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 yi{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         search{\r
             Sequence{\r
@@ -11,7 +11,7 @@ yi{
                 "‎&״"\r
                 "<<'\u0022'"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         standard{\r
             Sequence{\r
@@ -28,7 +28,7 @@ yi{
                 "&ש<שׂ"\r
                 "&[before 1]ת<תּ"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 8a6e2a8..53951c2 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 yo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         standard{\r
             Sequence{\r
@@ -11,7 +11,7 @@ yo{
                 "&O<ọ<<<Ọ"\r
                 "&S<ṣ<<<Ṣ"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
diff --git a/source/data/coll/yue_Hans_CN.txt b/source/data/coll/yue_Hans_CN.txt
new file mode 100644 (file)
index 0000000..d08f639
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+yue_Hans_CN{\r
+    "%%ALIAS"{"zh_Hans"}\r
+}\r
diff --git a/source/data/coll/yue_Hant.txt b/source/data/coll/yue_Hant.txt
new file mode 100644 (file)
index 0000000..13eb4e6
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+yue_Hant{\r
+    "%%ALIAS"{"zh_Hant"}\r
+}\r
index 475cebb..194a939 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         big5han{\r
             Sequence{\r
@@ -9,7 +9,7 @@ zh{
                 "[reorder Latn Hani Bopo]"\r
                 "&[last regular]<*兙兛兞兝兡兣嗧瓩糎一乙丁七乃九了二人儿入八几刀刁力匕十卜又三下丈上丫丸凡久么也乞于亡兀刃勺千叉口土士夕大女子孑孓寸小尢尸山川工己已巳巾干廾弋弓才丑丐不中丰丹之尹予云井互五亢仁什仃仆仇仍今介仄元允內六兮公冗凶分切刈勻勾勿化匹午升卅卞厄友及反壬天夫太夭孔少尤尺屯巴幻廿弔引心戈戶手扎支文斗斤方日曰月木欠止歹毋比毛氏水火爪父爻片牙牛犬王丙世丕且丘主乍乏乎以付仔仕他仗代令仙仞充兄冉冊冬凹出凸刊加功包匆北匝仟半卉卡占卯卮去可古右召叮叩叨叼司叵叫另只史叱台句叭叻四囚外央失奴奶孕它尼巨巧左市布平幼弁弘弗必戊打扔扒扑斥旦朮本未末札正母民氐永汁汀氾犯玄玉瓜瓦甘生用甩田由甲申疋白皮皿目矛矢石示禾穴立丞丟乒乓乩亙交亦亥仿伉伙伊伕伍伐休伏仲件任仰仳份企伋光兇兆先全共再冰列刑划刎刖劣匈匡匠印危吉吏同吊吐吁吋各向名合吃后吆吒因回囝圳地在圭圬圯圩夙多夷夸妄奸妃好她如妁字存宇守宅安寺尖屹州帆并年式弛忙忖戎戌戍成扣扛托收早旨旬旭曲曳有朽朴朱朵次此死氖汝汗汙江池汐汕污汛汍汎灰牟牝百竹米糸缶羊羽老考而耒耳聿肉肋肌臣自至臼舌舛舟艮色艾虫血行衣西阡串亨位住佇佗佞伴佛何估佐佑伽伺伸佃佔似但佣作你伯低伶余佝佈佚兌克免兵冶冷別判利刪刨劫助努劬匣即卵吝吭吞吾否呎吧呆呃吳呈呂君吩告吹吻吸吮吵吶吠吼呀吱含吟听囪困囤囫坊坑址坍均坎圾坐坏圻壯夾妝妒妨妞妣妙妖妍妤妓妊妥孝孜孚孛完宋宏尬局屁尿尾岐岑岔岌巫希序庇床廷弄弟彤形彷役忘忌志忍忱快忸忪戒我抄抗抖技扶抉扭把扼找批扳抒扯折扮投抓抑抆改攻攸旱更束李杏材村杜杖杞杉杆杠杓杗步每求汞沙沁沈沉沅沛汪決沐汰沌汨沖沒汽沃汲汾汴沆汶沍沔沘沂灶灼災灸牢牡牠狄狂玖甬甫男甸皂盯矣私秀禿究系罕肖肓肝肘肛肚育良芒芋芍見角言谷豆豕貝赤走足身車辛辰迂迆迅迄巡邑邢邪邦那酉釆里防阮阱阪阬並乖乳事些亞享京佯依侍佳使佬供例來侃佰併侈佩佻侖佾侏侑佺兔兒兕兩具其典冽函刻券刷刺到刮制剁劾劻卒協卓卑卦卷卸卹取叔受味呵咖呸咕咀呻呷咄咒咆呼咐呱呶和咚呢周咋命咎固垃坷坪坩坡坦坤坼夜奉奇奈奄奔妾妻委妹妮姑姆姐姍始姓姊妯妳姒姅孟孤季宗定官宜宙宛尚屈居屆岷岡岸岩岫岱岳帘帚帖帕帛帑幸庚店府底庖延弦弧弩往征彿彼忝忠忽念忿怏怔怯怵怖怪怕怡性怩怫怛或戕房戾所承拉拌拄抿拂抹拒招披拓拔拋拈抨抽押拐拙拇拍抵拚抱拘拖拗拆抬拎放斧於旺昔易昌昆昂明昀昏昕昊昇服朋杭枋枕東果杳杷枇枝林杯杰板枉松析杵枚枓杼杪杲欣武歧歿氓氛泣注泳沱泌泥河沽沾沼波沫法泓沸泄油況沮泗泅泱沿治泡泛泊沬泯泜泖泠炕炎炒炊炙爬爭爸版牧物狀狎狙狗狐玩玨玟玫玥甽疝疙疚的盂盲直知矽社祀祁秉秈空穹竺糾罔羌羋者肺肥肢肱股肫肩肴肪肯臥臾舍芳芝芙芭芽芟芹花芬芥芯芸芣芰芾芷虎虱初表軋迎返近邵邸邱邶采金長門阜陀阿阻附陂隹雨青非亟亭亮信侵侯便俠俑俏保促侶俘俟俊俗侮俐俄係俚俎俞侷兗冒冑冠剎剃削前剌剋則勇勉勃勁匍南卻厚叛咬哀咨哎哉咸咦咳哇哂咽咪品哄哈咯咫咱咻咩咧咿囿垂型垠垣垢城垮垓奕契奏奎奐姜姘姿姣姨娃姥姪姚姦威姻孩宣宦室客宥封屎屏屍屋峙峒巷帝帥帟幽庠度建弈弭彥很待徊律徇後徉怒思怠急怎怨恍恰恨恢恆恃恬恫恪恤扁拜挖按拼拭持拮拽指拱拷拯括拾拴挑挂政故斫施既春昭映昧是星昨昱昤曷柿染柱柔某柬架枯柵柩柯柄柑枴柚查枸柏柞柳枰柙柢柝柒歪殃殆段毒毗氟泉洋洲洪流津洌洱洞洗活洽派洶洛泵洹洧洸洩洮洵洎洫炫為炳炬炯炭炸炮炤爰牲牯牴狩狠狡玷珊玻玲珍珀玳甚甭畏界畎畋疫疤疥疢疣癸皆皇皈盈盆盃盅省盹相眉看盾盼眇矜砂研砌砍祆祉祈祇禹禺科秒秋穿突竿竽籽紂紅紀紉紇約紆缸美羿耄耐耍耑耶胖胥胚胃胄背胡胛胎胞胤胝致舢苧范茅苣苛苦茄若茂茉苒苗英茁苜苔苑苞苓苟苯茆虐虹虻虺衍衫要觔計訂訃貞負赴赳趴軍軌述迦迢迪迥迭迫迤迨郊郎郁郃酋酊重閂限陋陌降面革韋韭音頁風飛食首香乘亳倌倍倣俯倦倥俸倩倖倆值借倚倒們俺倀倔倨俱倡個候倘俳修倭倪俾倫倉兼冤冥冢凍凌准凋剖剜剔剛剝匪卿原厝叟哨唐唁唷哼哥哲唆哺唔哩哭員唉哮哪哦唧唇哽唏圃圄埂埔埋埃堉夏套奘奚娑娘娜娟娛娓姬娠娣娩娥娌娉孫屘宰害家宴宮宵容宸射屑展屐峭峽峻峪峨峰島崁峴差席師庫庭座弱徒徑徐恙恣恥恐恕恭恩息悄悟悚悍悔悌悅悖扇拳挈拿捎挾振捕捂捆捏捉挺捐挽挪挫挨捍捌效敉料旁旅時晉晏晃晒晌晅晁書朔朕朗校核案框桓根桂桔栩梳栗桌桑栽柴桐桀格桃株桅栓栘桁殊殉殷氣氧氨氦氤泰浪涕消涇浦浸海浙涓浬涉浮浚浴浩涌涊浹涅浥涔烊烘烤烙烈烏爹特狼狹狽狸狷玆班琉珮珠珪珞畔畝畜畚留疾病症疲疳疽疼疹痂疸皋皰益盍盎眩真眠眨矩砰砧砸砝破砷砥砭砠砟砲祕祐祠祟祖神祝祗祚秤秣秧租秦秩秘窄窈站笆笑粉紡紗紋紊素索純紐紕級紜納紙紛缺罟羔翅翁耆耘耕耙耗耽耿胱脂胰脅胭胴脆胸胳脈能脊胼胯臭臬舀舐航舫舨般芻茫荒荔荊茸荐草茵茴荏茲茹茶茗荀茱茨荃虔蚊蚪蚓蚤蚩蚌蚣蚜衰衷袁袂衽衹記訐討訌訕訊託訓訖訏訑豈豺豹財貢起躬軒軔軏辱送逆迷退迺迴逃追逅迸邕郡郝郢酒配酌釘針釗釜釙閃院陣陡陛陝除陘陞隻飢馬骨高鬥鬲鬼乾偺偽停假偃偌做偉健偶偎偕偵側偷偏倏偯偭兜冕凰剪副勒務勘動匐匏匙匿區匾參曼商啪啦啄啞啡啃啊唱啖問啕唯啤唸售啜唬啣唳啁啗圈國圉域堅堊堆埠埤基堂堵執培夠奢娶婁婉婦婪婀娼婢婚婆婊孰寇寅寄寂宿密尉專將屠屜屝崇崆崎崛崖崢崑崩崔崙崤崧崗巢常帶帳帷康庸庶庵庾張強彗彬彩彫得徙從徘御徠徜恿患悉悠您惋悴惦悽情悻悵惜悼惘惕惆惟悸惚惇戚戛扈掠控捲掖探接捷捧掘措捱掩掉掃掛捫推掄授掙採掬排掏掀捻捩捨捺敝敖救教敗啟敏敘敕敔斜斛斬族旋旌旎晝晚晤晨晦晞曹勗望梁梯梢梓梵桿桶梱梧梗械梃棄梭梆梅梔條梨梟梡梂欲殺毫毬氫涎涼淳淙液淡淌淤添淺清淇淋涯淑涮淞淹涸混淵淅淒渚涵淚淫淘淪深淮淨淆淄涪淬涿淦烹焉焊烽烯爽牽犁猜猛猖猓猙率琅琊球理現琍瓠瓶瓷甜產略畦畢異疏痔痕疵痊痍皎盔盒盛眷眾眼眶眸眺硫硃硎祥票祭移窒窕笠笨笛第符笙笞笮粒粗粕絆絃統紮紹紼絀細紳組累終紲紱缽羞羚翌翎習耜聊聆脯脖脣脫脩脰脤舂舵舷舶船莎莞莘荸莢莖莽莫莒莊莓莉莠荷荻荼莆莧處彪蛇蛀蚶蛄蚵蛆蛋蚱蚯蛉術袞袈被袒袖袍袋覓規訪訝訣訥許設訟訛訢豉豚販責貫貨貪貧赧赦趾趺軛軟這逍通逗連速逝逐逕逞造透逢逖逛途部郭都酗野釵釦釣釧釭釩閉陪陵陳陸陰陴陶陷陬雀雪雩章竟頂頃魚鳥鹵鹿麥麻傢傍傅備傑傀傖傘傚最凱割剴創剩勞勝勛博厥啻喀喧啼喊喝喘喂喜喪喔喇喋喃喳單喟唾喲喚喻喬喱啾喉喫喙圍堯堪場堤堰報堡堝堠壹壺奠婷媚婿媒媛媧孳孱寒富寓寐尊尋就嵌嵐崴嵇巽幅帽幀幃幾廊廁廂廄弼彭復循徨惑惡悲悶惠愜愣惺愕惰惻惴慨惱愎惶愉愀愒戟扉掣掌描揀揩揉揆揍插揣提握揖揭揮捶援揪換摒揚揹敞敦敢散斑斐斯普晰晴晶景暑智晾晷曾替期朝棺棕棠棘棗椅棟棵森棧棹棒棲棣棋棍植椒椎棉棚楮棻款欺欽殘殖殼毯氮氯氬港游湔渡渲湧湊渠渥渣減湛湘渤湖湮渭渦湯渴湍渺測湃渝渾滋溉渙湎湣湄湲湩湟焙焚焦焰無然煮焜牌犄犀猶猥猴猩琺琪琳琢琥琵琶琴琯琛琦琨甥甦畫番痢痛痣痙痘痞痠登發皖皓皴盜睏短硝硬硯稍稈程稅稀窘窗窖童竣等策筆筐筒答筍筋筏筑粟粥絞結絨絕紫絮絲絡給絢絰絳善翔翕耋聒肅腕腔腋腑腎脹腆脾腌腓腴舒舜菩萃菸萍菠菅萋菁華菱菴著萊菰萌菌菽菲菊萸萎萄菜萇菔菟虛蛟蛙蛭蛔蛛蛤蛐蛞街裁裂袱覃視註詠評詞証詁詔詛詐詆訴診訶詖象貂貯貼貳貽賁費賀貴買貶貿貸越超趁跎距跋跚跑跌跛跆軻軸軼辜逮逵週逸進逶鄂郵鄉郾酣酥量鈔鈕鈣鈉鈞鈍鈐鈇鈑閔閏開閑間閒閎隊階隋陽隅隆隍陲隄雁雅雄集雇雯雲韌項順須飧飪飯飩飲飭馮馭黃黍黑亂傭債傲傳僅傾催傷傻傯僇剿剷剽募勦勤勢勣匯嗟嗨嗓嗦嗎嗜嗇嗑嗣嗤嗯嗚嗡嗅嗆嗥嗉園圓塞塑塘塗塚塔填塌塭塊塢塒塋奧嫁嫉嫌媾媽媼媳嫂媲嵩嵯幌幹廉廈弒彙徬微愚意慈感想愛惹愁愈慎慌慄慍愾愴愧愍愆愷戡戢搓搾搞搪搭搽搬搏搜搔損搶搖搗搆敬斟新暗暉暇暈暖暄暘暍會榔業楚楷楠楔極椰概楊楨楫楞楓楹榆楝楣楛歇歲毀殿毓毽溢溯滓溶滂源溝滇滅溥溘溼溺溫滑準溜滄滔溪溧溴煎煙煩煤煉照煜煬煦煌煥煞煆煨煖爺牒猷獅猿猾瑯瑚瑕瑟瑞瑁琿瑙瑛瑜當畸瘀痰瘁痲痱痺痿痴痳盞盟睛睫睦睞督睹睪睬睜睥睨睢矮碎碰碗碘碌碉硼碑碓硿祺祿禁萬禽稜稚稠稔稟稞窟窠筷節筠筮筧粱粳粵經絹綑綁綏絛置罩罪署義羨群聖聘肆肄腱腰腸腥腮腳腫腹腺腦舅艇蒂葷落萱葵葦葫葉葬葛萼萵葡董葩葭葆虞虜號蛹蜓蜈蜇蜀蛾蛻蜂蜃蜆蜊衙裟裔裙補裘裝裡裊裕裒覜解詫該詳試詩詰誇詼詣誠話誅詭詢詮詬詹詻訾詨豢貊貉賊資賈賄貲賃賂賅跡跟跨路跳跺跪跤跦躲較載軾輊辟農運遊道遂達逼違遐遇遏過遍遑逾遁鄒鄗酬酪酩釉鈷鉗鈸鈽鉀鈾鉛鉋鉤鉑鈴鉉鉍鉅鈹鈿鉚閘隘隔隕雍雋雉雊雷電雹零靖靴靶預頑頓頊頒頌飼飴飽飾馳馱馴髡鳩麂鼎鼓鼠僧僮僥僖僭僚僕像僑僱僎僩兢凳劃劂匱厭嗾嘀嘛嘗嗽嘔嘆嘉嘍嘎嗷嘖嘟嘈嘐嗶團圖塵塾境墓墊塹墅塽壽夥夢夤奪奩嫡嫦嫩嫗嫖嫘嫣孵寞寧寡寥實寨寢寤察對屢嶄嶇幛幣幕幗幔廓廖弊彆彰徹慇愿態慷慢慣慟慚慘慵截撇摘摔撤摸摟摺摑摧搴摭摻敲斡旗旖暢暨暝榜榨榕槁榮槓構榛榷榻榫榴槐槍榭槌榦槃榣歉歌氳漳演滾漓滴漩漾漠漬漏漂漢滿滯漆漱漸漲漣漕漫漯澈漪滬漁滲滌滷熔熙煽熊熄熒爾犒犖獄獐瑤瑣瑪瑰瑭甄疑瘧瘍瘋瘉瘓盡監瞄睽睿睡磁碟碧碳碩碣禎福禍種稱窪窩竭端管箕箋筵算箝箔箏箸箇箄粹粽精綻綰綜綽綾綠緊綴網綱綺綢綿綵綸維緒緇綬罰翠翡翟聞聚肇腐膀膏膈膊腿膂臧臺與舔舞艋蓉蒿蓆蓄蒙蒞蒲蒜蓋蒸蓀蓓蒐蒼蓑蓊蜿蜜蜻蜢蜥蜴蜘蝕蜷蜩裳褂裴裹裸製裨褚裯誦誌語誣認誡誓誤說誥誨誘誑誚誧豪貍貌賓賑賒赫趙趕跼輔輒輕輓辣遠遘遜遣遙遞遢遝遛鄙鄘鄞酵酸酷酴鉸銀銅銘銖鉻銓銜銨鉼銑閡閨閩閣閥閤隙障際雌雒需靼鞅韶頗領颯颱餃餅餌餉駁骯骰髦魁魂鳴鳶鳳麼鼻齊億儀僻僵價儂儈儉儅凜劇劈劉劍劊勰厲嘮嘻嘹嘲嘿嘴嘩噓噎噗噴嘶嘯嘰墀墟增墳墜墮墩墦奭嬉嫻嬋嫵嬌嬈寮寬審寫層履嶝嶔幢幟幡廢廚廟廝廣廠彈影德徵慶慧慮慝慕憂慼慰慫慾憧憐憫憎憬憚憤憔憮戮摩摯摹撞撲撈撐撰撥撓撕撩撒撮播撫撚撬撙撢撳敵敷數暮暫暴暱樣樟槨樁樞標槽模樓樊槳樂樅槭樑歐歎殤毅毆漿潼澄潑潦潔澆潭潛潸潮澎潺潰潤澗潘滕潯潠潟熟熬熱熨牖犛獎獗瑩璋璃瑾璀畿瘠瘩瘟瘤瘦瘡瘢皚皺盤瞎瞇瞌瞑瞋磋磅確磊碾磕碼磐稿稼穀稽稷稻窯窮箭箱範箴篆篇篁箠篌糊締練緯緻緘緬緝編緣線緞緩綞緙緲緹罵罷羯翩耦膛膜膝膠膚膘蔗蔽蔚蓮蔬蔭蔓蔑蔣蔡蔔蓬蔥蓿蔆螂蝴蝶蝠蝦蝸蝨蝙蝗蝌蝓衛衝褐複褒褓褕褊誼諒談諄誕請諸課諉諂調誰論諍誶誹諛豌豎豬賠賞賦賤賬賭賢賣賜質賡赭趟趣踫踐踝踢踏踩踟踡踞躺輝輛輟輩輦輪輜輞輥適遮遨遭遷鄰鄭鄧鄱醇醉醋醃鋅銻銷鋪銬鋤鋁銳銼鋒鋇鋰銲閭閱霄霆震霉靠鞍鞋鞏頡頫頜颳養餓餒餘駝駐駟駛駑駕駒駙骷髮髯鬧魅魄魷魯鴆鴉鴃麩麾黎墨齒儒儘儔儐儕冀冪凝劑劓勳噙噫噹噩噤噸噪器噥噱噯噬噢噶壁墾壇壅奮嬝嬴學寰導彊憲憑憩憊懍憶憾懊懈戰擅擁擋撻撼據擄擇擂操撿擒擔撾整曆曉暹曄曇暸樽樸樺橙橫橘樹橄橢橡橋橇樵機橈歙歷氅濂澱澡濃澤濁澧澳激澹澶澦澠澴熾燉燐燒燈燕熹燎燙燜燃燄獨璜璣璘璟璞瓢甌甍瘴瘸瘺盧盥瞠瞞瞟瞥磨磚磬磧禦積穎穆穌穋窺篙簑築篤篛篡篩篦糕糖縊縑縈縛縣縞縝縉縐罹羲翰翱翮耨膳膩膨臻興艘艙蕊蕙蕈蕨蕩蕃蕉蕭蕪蕞螃螟螞螢融衡褪褲褥褫褡親覦諦諺諫諱謀諜諧諮諾謁謂諷諭諳諶諼豫豭貓賴蹄踱踴蹂踹踵輻輯輸輳辨辦遵遴選遲遼遺鄴醒錠錶鋸錳錯錢鋼錫錄錚錐錦錡錕錮錙閻隧隨險雕霎霑霖霍霓霏靛靜靦鞘頰頸頻頷頭頹頤餐館餞餛餡餚駭駢駱骸骼髻髭鬨鮑鴕鴣鴦鴨鴒鴛默黔龍龜優償儡儲勵嚎嚀嚐嚅嚇嚏壕壓壑壎嬰嬪嬤孺尷屨嶼嶺嶽嶸幫彌徽應懂懇懦懋戲戴擎擊擘擠擰擦擬擱擢擭斂斃曙曖檀檔檄檢檜櫛檣橾檗檐檠歜殮毚氈濘濱濟濠濛濤濫濯澀濬濡濩濕濮濰燧營燮燦燥燭燬燴燠爵牆獰獲璩環璦璨癆療癌盪瞳瞪瞰瞬瞧瞭矯磷磺磴磯礁禧禪穗窿簇簍篾篷簌篠糠糜糞糢糟糙糝縮績繆縷縲繃縫總縱繅繁縴縹繈縵縿縯罄翳翼聱聲聰聯聳臆臃膺臂臀膿膽臉膾臨舉艱薪薄蕾薜薑薔薯薛薇薨薊虧蟀蟑螳蟒蟆螫螻螺蟈蟋褻褶襄褸褽覬謎謗謙講謊謠謝謄謐豁谿豳賺賽購賸賻趨蹉蹋蹈蹊轄輾轂轅輿避遽還邁邂邀鄹醣醞醜鍍鎂錨鍵鍊鍥鍋錘鍾鍬鍛鍰鍚鍔闊闋闌闈闆隱隸雖霜霞鞠韓顆颶餵騁駿鮮鮫鮪鮭鴻鴿麋黏點黜黝黛鼾齋叢嚕嚮壙壘嬸彝懣戳擴擲擾攆擺擻擷斷曜朦檳檬櫃檻檸櫂檮檯歟歸殯瀉瀋濾瀆濺瀑瀏燻燼燾燸獷獵璧璿甕癖癘癒瞽瞿瞻瞼礎禮穡穢穠竄竅簫簧簪簞簣簡糧織繕繞繚繡繒繙罈翹翻職聶臍臏舊藏薩藍藐藉薰薺薹薦蟯蟬蟲蟠覆覲觴謨謹謬謫豐贅蹙蹣蹦蹤蹟蹕軀轉轍邇邃邈醫醬釐鎔鎊鎖鎢鎳鎮鎬鎰鎘鎚鎗闔闖闐闕離雜雙雛雞霤鞣鞦鞭韹額顏題顎顓颺餾餿餽餮馥騎髁鬃鬆魏魎魍鯊鯉鯽鯈鯀鵑鵝鵠黠鼕鼬儳嚥壞壟壢寵龐廬懲懷懶懵攀攏曠曝櫥櫝櫚櫓瀛瀟瀨瀚瀝瀕瀘爆爍牘犢獸獺璽瓊瓣疇疆癟癡矇礙禱穫穩簾簿簸簽簷籀繫繭繹繩繪羅繳羶羹羸臘藩藝藪藕藤藥藷蟻蠅蠍蟹蟾襠襟襖襞譁譜識證譚譎譏譆譙贈贊蹼蹲躇蹶蹬蹺蹴轔轎辭邊邋醱醮鏡鏑鏟鏃鏈鏜鏝鏖鏢鏍鏘鏤鏗鏨關隴難霪霧靡韜韻類願顛颼饅饉騖騙鬍鯨鯧鯖鯛鶉鵡鵲鵪鵬麒麗麓麴勸嚨嚷嚶嚴嚼壤孀孃孽寶巉懸懺攘攔攙曦朧櫬瀾瀰瀲爐獻瓏癢癥礦礪礬礫竇競籌籃籍糯糰辮繽繼纂罌耀臚艦藻藹蘑藺蘆蘋蘇蘊蠔蠕襤覺觸議譬警譯譟譫贏贍躉躁躅躂醴釋鐘鐃鏽闡霰飄饒饑馨騫騰騷騵鰓鰍鹹麵黨鼯齟齣齡儷儸囁囀囂夔屬巍懼懾攝攜斕曩櫻欄櫺殲灌爛犧瓖瓔癩矓籐纏續羼蘗蘭蘚蠣蠢蠡蠟襪襬覽譴護譽贓躊躍躋轟辯醺鐮鐳鐵鐺鐸鐲鐫闢霸霹露響顧顥饗驅驃驀騾髏魔魑鰭鰥鶯鶴鷂鶸麝黯鼙齜齦齧儼儻囈囊囉孿巔巒彎懿攤權歡灑灘玀瓤疊癮癬禳籠籟聾聽臟襲襯觼讀贖贗躑躓轡酈鑄鑑鑒霽霾韃韁顫饕驕驍髒鬚鱉鰱鰾鰻鷓鷗鼴齬齪龔囌巖戀攣攫攪曬欐瓚竊籤籣籥纓纖纔臢蘸蘿蠱變邐邏鑣鑠鑤靨顯饜驚驛驗髓體髑鱔鱗鱖鷥麟黴囑壩攬灞癱癲矗罐羈蠶蠹衢讓讒讖艷贛釀鑪靂靈靄韆顰驟鬢魘鱟鷹鷺鹼鹽鼇齷齲廳欖灣籬籮蠻觀躡釁鑲鑰顱饞髖鬣黌灤矚讚鑷韉驢驥纜讜躪釅鑽鑾鑼鱷鱸黷豔鑿鸚爨驪鬱鸛鸞籲乂乜凵匚厂万丌乇亍囗屮彳丏冇与丮亓仂仉仈冘勼卬厹圠夃夬尐巿旡殳毌气爿丱丼仨仜仩仡仝仚刌匜卌圢圣夗夯宁宄尒尻屴屳帄庀庂忉戉扐氕氶汃氿氻犮犰玊禸肊阞伎优伬仵伔仱伀价伈伝伂伅伢伓伄仴伒冱刓刉刐劦匢匟卍厊吇囡囟圮圪圴夼妀奼妅奻奾奷奿孖尕尥屼屺屻屾巟幵庄异弚彴忕忔忏扜扞扤扡扦扢扙扠扚扥旯旮朾朹朸朻机朿朼朳氘汆汒汜汏汊汔汋汌灱牞犴犵玎甪癿穵网艸艼芀艽艿虍襾邙邗邘邛邔阢阤阠阣佖伻佢佉体佤伾佧佒佟佁佘伭伳伿佡冏冹刜刞刡劭劮匉卣卲厎厏吰吷吪呔呅吙吜吥吘吽呏呁吨吤呇囮囧囥坁坅坌坉坋坒夆奀妦妘妠妗妎妢妐妏妧妡宎宒尨尪岍岏岈岋岉岒岊岆岓岕巠帊帎庋庉庌庈庍弅弝彸彶忒忑忐忭忨忮忳忡忤忣忺忯忷忻怀忴戺抃抌抎抏抔抇扱扻扺扰抁抈扷扽扲扴攷旰旴旳旲旵杅杇杙杕杌杈杝杍杚杋毐氙氚汸汧汫沄沋沏汱汯汩沚汭沇沕沜汦汳汥汻沎灴灺牣犿犽狃狆狁犺狅玕玗玓玔玒町甹疔疕皁礽耴肕肙肐肒肜芐芏芅芎芑芓芊芃芄豸迉辿邟邡邥邞邧邠阰阨阯阭丳侘佼侅佽侀侇佶佴侉侄佷佌侗佪侚佹侁佸侐侜侔侞侒侂侕佫佮冞冼冾刵刲刳剆刱劼匊匋匼厒厔咇呿咁咑咂咈呫呺呾呥呬呴呦咍呯呡呠咘呣呧呤囷囹坯坲坭坫坱坰坶垀坵坻坳坴坢坨坽夌奅妵妺姏姎妲姌姁妶妼姃姖妱妽姀姈妴姇孢孥宓宕屄屇岮岤岠岵岯岨岬岟岣岭岢岪岧岝岥岶岰岦帗帔帙弨弢弣弤彔徂彾彽忞忥怭怦怙怲怋怴怊怗怳怚怞怬怢怍怐怮怓怑怌怉怜戔戽抭抴拑抾抪抶拊抮抳抯抻抩抰抸攽斨斻昉旼昄昒昈旻昃昋昍昅旽昑昐曶朊枅杬枎枒杶杻枘枆构杴枍枌杺枟枑枙枃杽极杸杹枔欥殀歾毞氝沓泬泫泮泙沶泔沭泧沷泐泂沺泃泆泭泲泒泝沴沊沝沀泞泀洰泍泇沰泹泏泩泑炔炘炅炓炆炄炑炖炂炚炃牪狖狋狘狉狜狒狔狚狌狑玤玡玭玦玢玠玬玝瓝瓨甿畀甾疌疘皯盳盱盰盵矸矼矹矻矺矷祂礿秅穸穻竻籵糽耵肏肮肣肸肵肭舠芠苀芫芚芘芛芵芧芮芼芞芺芴芨芡芩苂芤苃芶芢虰虯虭虮豖迒迋迓迍迖迕迗邲邴邯邳邰阹阽阼阺陃俍俅俓侲俉俋俁俔俜俙侻侳俛俇俖侺俀侹俬剄剉勀勂匽卼厗厖厙厘咺咡咭咥哏哃茍咷咮哖咶哅哆咠呰咼咢咾呲哞咰垵垞垟垤垌垗垝垛垔垘垏垙垥垚垕壴复奓姡姞姮娀姱姝姺姽姼姶姤姲姷姛姩姳姵姠姾姴姭宨屌峐峘峌峗峋峛峞峚峉峇峊峖峓峔峏峈峆峎峟峸巹帡帢帣帠帤庰庤庢庛庣庥弇弮彖徆怷怹恔恲恞恅恓恇恉恛恌恀恂恟怤恄恘恦恮扂扃拏挍挋拵挎挃拫拹挏挌拸拶挀挓挔拺挕拻拰敁敃斪斿昶昡昲昵昜昦昢昳昫昺昝昴昹昮朏朐柁柲柈枺柜枻柸柘柀枷柅柫柤柟枵柍枳柷柶柮柣柂枹柎柧柰枲柼柆柭柌枮柦柛柺柉柊柃柪柋欨殂殄殶毖毘毠氠氡洨洴洭洟洼洿洒洊泚洳洄洙洺洚洑洀洝浂洁洘洷洃洏浀洇洠洬洈洢洉洐炷炟炾炱炰炡炴炵炩牁牉牊牬牰牳牮狊狤狨狫狟狪狦狣玅珌珂珈珅玹玶玵玴珫玿珇玾珃珆玸珋瓬瓮甮畇畈疧疪癹盄眈眃眄眅眊盷盻盺矧矨砆砑砒砅砐砏砎砉砃砓祊祌祋祅祄秕种秏秖秎窀穾竑笀笁籺籸籹籿粀粁紃紈紁罘羑羍羾耇耎耏耔耷胘胇胠胑胈胂胐胅胣胙胜胊胕胉胏胗胦胍臿舡芔苙苾苹茇苨茀苕茺苫苖苴苬苡苲苵茌苻苶苰苪苤苠苺苳苭虷虴虼虳衁衎衧衪衩觓訄訇赲迣迡迮迠郱邽邿郕郅邾郇郋郈釔釓陔陏陑陓陊陎倞倅倇倓倢倰倛俵俴倳倷倬俶俷倗倜倠倧倵倯倱倎党冔冓凊凄凅凈凎剡剚剒剞剟剕剢勍匎厞唦哢唗唒哧哳哤唚哿唄唈哫唑唅哱唊哻哷哸哠唎唃唋圁圂埌堲埕埒垺埆垽垼垸垶垿埇埐垹埁夎奊娙娖娭娮娕娏娗娊娞娳孬宧宭宬尃屖屔峬峿峮峱峷崀峹帩帨庨庮庪庬弳弰彧恝恚恧恁悢悈悀悒悁悝悃悕悛悗悇悜悎戙扆拲挐捖挬捄捅挶捃揤挹捋捊挼挩捁挴捘捔捙挭捇挳捚捑挸捗捀捈敊敆旆旃旄旂晊晟晇晑朒朓栟栚桉栲栳栻桋桏栖栱栜栵栫栭栯桎桄栴栝栒栔栦栨栮桍栺栥栠欬欯欭欱欴歭肂殈毦毤毨毣毢毧氥浺浣浤浶洍浡涒浘浢浭浯涑涍淯浿涆浞浧浠涗浰浼浟涂涘洯浨涋浾涀涄洖涃浻浽浵涐烜烓烑烝烋缹烢烗烒烞烠烔烍烅烆烇烚烎烡牂牸牷牶猀狺狴狾狶狳狻猁珓珙珥珖玼珧珣珩珜珒珛珔珝珚珗珘珨瓞瓟瓴瓵甡畛畟疰痁疻痄痀疿疶疺皊盉眝眛眐眓眒眣眑眕眙眚眢眧砣砬砢砵砯砨砮砫砡砩砳砪砱祔祛祏祜祓祒祑秫秬秠秮秭秪秜秞秝窆窉窅窋窌窊窇竘笐笄笓笅笏笈笊笎笉笒粄粑粊粌粈粍粅紞紝紑紎紘紖紓紟紒紏紌罜罡罞罠罝罛羖羒翃翂翀耖耾耹胺胲胹胵脁胻脀舁舯舥茳茭荄茙荑茥荖茿荁茦茜茢荂荎茛茪茈茼荍茖茤茠茷茯茩荇荅荌荓茞茬荋茧荈虓虒蚢蚨蚖蚍蚑蚞蚇蚗蚆蚋蚚蚅蚥蚙蚡蚧蚕蚘蚎蚝蚐蚔衃衄衭衵衶衲袀衱衿衯袃衾衴衼訒豇豗豻貤貣赶赸趵趷趶軑軓迾迵适迿迻逄迼迶郖郠郙郚郣郟郥郘郛郗郜郤酐酎酏釕釢釚陜陟隼飣髟鬯乿偰偪偡偞偠偓偋偝偲偈偍偁偛偊偢倕偅偟偩偫偣偤偆偀偮偳偗偑凐剫剭剬剮勖勓匭厜啵啶唼啍啐唴唪啑啢唶唵唰啒啅唌唲啥啎唹啈唭唻啀啋圊圇埻堔埢埶埜埴堀埭埽堈埸堋埳埏堇埮埣埲埥埬埡堎埼堐埧堁堌埱埩埰堍堄奜婠婘婕婧婞娸娵婭婐婟婥婬婓婤婗婃婝婒婄婛婈媎娾婍娹婌婰婩婇婑婖婂婜孲孮寁寀屙崞崋崝崚崠崌崨崍崦崥崏崰崒崣崟崮帾帴庱庴庹庲庳弶弸徛徖徟悊悐悆悾悰悺惓惔惏惤惙惝惈悱惛悷惊悿惃惍惀挲捥掊掂捽掽掞掭掝掗掫掎捯掇掐据掯捵掜捭掮捼掤挻掟捸掅掁掑掍捰敓旍晥晡晛晙晜晢朘桹梇梐梜桭桮梮梫楖桯梣梬梩桵桴梲梏桷梒桼桫桲梪梀桱桾梛梖梋梠梉梤桸桻梑梌梊桽欶欳欷欸殑殏殍殎殌氪淀涫涴涳湴涬淩淢涷淶淔渀淈淠淟淖涾淥淜淝淛淴淊涽淭淰涺淕淂淏淉淐淲淓淽淗淍淣涻烺焍烷焗烴焌烰焄烳焐烼烿焆焓焀烸烶焋焂焎牾牻牼牿猝猗猇猑猘猊猈狿猏猞玈珶珸珵琄琁珽琇琀珺珼珿琌琋珴琈畤畣痎痒痏痋痌痑痐皏皉盓眹眯眭眱眲眴眳眽眥眻眵硈硒硉硍硊硌砦硅硐祤祧祩祪祣祫祡离秺秸秶秷窏窔窐笵筇笴笥笰笢笤笳笘笪笝笱笫笭笯笲笸笚笣粔粘粖粣紵紽紸紶紺絅紬紩絁絇紾紿絊紻紨罣羕羜羝羛翊翋翍翐翑翇翏翉耟耞耛聇聃聈脘脥脙脛脭脟脬脞脡脕脧脝脢舑舸舳舺舴舲艴莐莣莨莍荺荳莤荴莏莁莕莙荵莔莩荽莃莌莝莛莪莋荾莥莯莈莗莰荿莦莇莮荶莚虙虖蚿蚷蛂蛁蛅蚺蚰蛈蚹蚳蚸蛌蚴蚻蚼蛃蚽蚾衒袉袕袨袢袪袚袑袡袟袘袧袙袛袗袤袬袌袓袎覂觖觙觕訰訧訬訞谹谻豜豝豽貥赽赻赹趼跂趹趿跁軘軞軝軜軗軠軡逤逋逑逜逌逡郯郪郰郴郲郳郔郫郬郩酖酘酚酓酕釬釴釱釳釸釤釹釪釫釷釨釮镺閆閈陼陭陫陱陯隿靪頄飥馗傛傕傔傞傋傣傃傌傎傝偨傜傒傂傇兟凔匒匑厤厧喑喨喥喭啷噅喢喓喈喏喵喁喣喒喤啽喌喦啿喕喡喎圌堩堷堙堞堧堣堨埵塈堥堜堛堳堿堶堮堹堸堭堬堻奡媯媔媟婺媢媞婸媦婼媥媬媕媮娷媄媊媗媃媋媩婻婽媌媜媏媓媝寪寍寋寔寑寊寎尌尰崷嵃嵫嵁嵋崿崵嵑嵎嵕崳崺嵒崽崱嵙嵂崹嵉崸崼崲崶嵀嵅幄幁彘徦徥徫惉悹惌惢惎惄愔惲愊愖愅惵愓惸惼惾惁愃愘愝愐惿愄愋扊掔掱掰揎揥揨揯揃撝揳揊揠揶揕揲揵摡揟掾揝揜揄揘揓揂揇揌揋揈揰揗揙攲敧敪敤敜敨敥斌斝斞斮旐旒晼晬晻暀晱晹晪晲朁椌棓椄棜椪棬棪棱椏棖棷棫棤棶椓椐棳棡椇棌椈楰梴椑棯棆椔棸棐棽棼棨椋椊椗棎棈棝棞棦棴棑椆棔棩椕椥棇欹欻欿欼殔殗殙殕殽毰毲毳氰淼湆湇渟湉溈渼渽湅湢渫渿湁湝湳渜渳湋湀湑渻渃渮湞湨湜湡渱渨湠湱湫渹渢渰湓湥渧湸湤湷湕湹湒湦渵渶湚焠焞焯烻焮焱焣焥焢焲焟焨焺焛牋牚犈犉犆犅犋猒猋猰猢猱猳猧猲猭猦猣猵猌琮琬琰琫琖琚琡琭琱琤琣琝琩琠琲瓻甯畯畬痧痚痡痦痝痟痤痗皕皒盚睆睇睄睍睅睊睎睋睌矞矬硠硤硥硜硭硱硪确硰硩硨硞硢祴祳祲祰稂稊稃稌稄窙竦竤筊笻筄筈筌筎筀筘筅粢粞粨粡絘絯絣絓絖絧絪絏絭絜絫絒絔絩絑絟絎缾缿罥罦羢羠羡翗聑聏聐胾胔腃腊腒腏腇脽腍脺臦臮臷臸臹舄舼舽舿艵茻菏菹萣菀菨萒菧菤菼菶萐菆菈菫菣莿萁菝菥菘菿菡菋菎菖菵菉萉萏菞萑萆菂菳菕菺菇菑菪萓菃菬菮菄菻菗菢萛菛菾蛘蛢蛦蛓蛣蛚蛪蛝蛫蛜蛬蛩蛗蛨蛑衈衖衕袺裗袹袸裀袾袶袼袷袽袲褁裉覕覘覗觝觚觛詎詍訹詙詀詗詘詄詅詒詈詑詊詌詏豟貁貀貺貾貰貹貵趄趀趉跘跓跍跇跖跜跏跕跙跈跗跅軯軷軺軹軦軮軥軵軧軨軶軫軱軬軴軩逭逴逯鄆鄬鄄郿郼鄈郹郻鄁鄀鄇鄅鄃酡酤酟酢酠鈁鈊鈥鈃鈚鈦鈏鈌鈀鈒釿釽鈆鈄鈧鈂鈜鈤鈙鈗鈅鈖镻閍閌閐隇陾隈隉隃隀雂雈雃雱雰靬靰靮頇颩飫鳦黹亃亄亶傽傿僆傮僄僊傴僈僂傰僁傺傱僋僉傶傸凗剺剸剻剼嗃嗛嗌嗐嗋嗊嗝嗀嗔嗄嗩喿嗒喍嗏嗕嗢嗖嗈嗲嗍嗙嗂圔塓塨塤塏塍塉塯塕塎塝塙塥塛堽塣塱壼嫇嫄嫋媺媸媱媵媰媿嫈媻嫆媷嫀嫊媴媶嫍媹媐寖寘寙尟尳嵱嵣嵊嵥嵲嵬嵞嵨嵧嵢巰幏幎幊幍幋廅廌廆廋廇彀徯徭惷慉慊愫慅愶愲愮慆愯慏愩慀戠酨戣戥戤揅揱揫搐搒搉搠搤搳摃搟搕搘搹搷搢搣搌搦搰搨摁搵搯搊搚摀搥搧搋揧搛搮搡搎敯斒旓暆暌暕暐暋暊暙暔晸朠楦楟椸楎楢楱椿楅楪椹楂楗楙楺楈楉椵楬椳椽楥棰楸椴楩楀楯楄楶楘楁楴楌椻楋椷楜楏楑椲楒椯楻椼歆歅歃歂歈歁殛毻毼毹毷毸溛滖滈溏滀溟溓溔溠溱溹滆滒溽滁溞滉溷溰滍溦滏溲溾滃滜滘溙溒溎溍溤溡溿溳滐滊溗溮溣煇煔煒煣煠煁煝煢煲煸煪煡煂煘煃煋煰煟煐煓煄煍煚牏犍犌犑犐犎猼獂猻猺獀獊獉瑄瑊瑋瑒瑑瑗瑀瑏瑐瑎瑂瑆瑍瑔瓡瓿瓾瓽甝畹畷榃痯瘏瘃痷痾痼痹痸瘐痻痶痭痵痽皙皵盝睕睟睠睒睖睚睩睧睔睙睭矠碇碚碔碏碄碕碅碆碡碃硹碙碀碖硻祼禂祽祹稑稘稙稒稗稕稢稓稛稐窣窢窞竫筦筤筭筴筩筲筥筳筱筰筡筸筶筣粲粴粯綈綆綀綍絿綅絺綎絻綃絼綌綔綄絽綒罭罫罧罨罬羦羥羧翛翜耡腤腠腷腜腩腛腢腲朡腞腶腧腯腄腡舝艉艄艀艂艅蓱萿葖葶葹蒏蒍葥葑葀蒆葧萰葍葽葚葙葴葳葝蔇葞萷萺萴葺葃葸萲葅萩菙葋萯葂萭葟葰萹葎葌葒葯蓅蒎萻葇萶萳葨葾葄萫葠葔葮葐蜋蜄蛷蜌蛺蛖蛵蝍蛸蜎蜉蜁蛶蜍蜅裖裋裍裎裞裛裚裌裐覅覛觟觥觤觡觠觢觜触詶誆詿詡訿詷誂誄詵誃誁詴詺谼豋豊豥豤豦貆貄貅賌赨赩趑趌趎趏趍趓趔趐趒跰跠跬跱跮跐跩跣跢跧跲跫跴輆軿輁輀輅輇輈輂輋遒逿遄遉逽鄐鄍鄏鄑鄖鄔鄋鄎酮酯鉈鉒鈰鈺鉦鈳鉥鉞銃鈮鉊鉆鉭鉬鉏鉠鉧鉯鈶鉡鉰鈱鉔鉣鉐鉲鉎鉓鉌鉖鈲閟閜閞閛隒隓隑隗雎雺雽雸雵靳靷靸靲頏頍頎颬飶飹馯馲馰馵骭骫魛鳪鳭鳧麀黽僦僔僗僨僳僛僪僝僤僓僬僰僯僣僠凘劀劁勩勫匰厬嘧嘕嘌嘒嗼嘏嘜嘁嘓嘂嗺嘝嘄嗿嗹墉塼墐墘墆墁塿塴墋塺墇墑墎塶墂墈塻墔墏壾奫嫜嫮嫥嫕嫪嫚嫭嫫嫳嫢嫠嫛嫬嫞嫝嫙嫨嫟孷寠寣屣嶂嶀嵽嶆嵺嶁嵷嶊嶉嶈嵾嵼嶍嵹嵿幘幙幓廘廑廗廎廜廕廙廒廔彄彃彯徶愬愨慁慞慱慳慒慓慲慬憀慴慔慺慛慥愻慪慡慖戩戧戫搫摍摛摝摴摶摲摳摽摵摦撦摎撂摞摜摋摓摠摐摿搿摬摫摙摥摷敳斠暡暠暟朅朄朢榱榶槉榠槎榖榰榬榼榑榙榎榧榍榩榾榯榿槄榽榤槔榹槊榚槏榳榓榪榡榞槙榗榐槂榵榥槆歊歍歋殞殟殠毃毄毾滎滵滱漃漥滸漷滻漮漉潎漙漚漧漘漻漒滭漊漶潳滹滮漭潀漰漼漵滫漇漎潃漅滽滶漹漜滼漺漟漍漞漈漡熇熐熉熀熅熂熏煻熆熁熗牄牓犗犕犓獃獍獑獌瑢瑳瑱瑵瑲瑧瑮甀甂甃畽疐瘖瘈瘌瘕瘑瘊瘔皸瞁睼瞅瞂睮瞀睯睾瞃碲碪碴碭碨硾碫碞碥碠碬碢碤禘禊禋禖禕禔禓禗禈禒禐稫穊稰稯稨稦窨窫窬竮箈箜箊箑箐箖箍箌箛箎箅箘劄箙箤箂粻粿粼粺綧綷緂綣綪緁緀緅綝緎緄緆緋緌綯綹綖綼綟綦綮綩綡緉罳翢翣翥翞耤聝聜膉膆膃膇膍膌膋舕蒗蒤蒡蒟蒺蓎蓂蒬蒮蒫蒹蒴蓁蓍蒪蒚蒱蓐蒝蒧蒻蒢蒔蓇蓌蒛蒩蒯蒨蓖蒘蒶蓏蒠蓗蓔蓒蓛蒰蒑虡蜳蜣蜨蝫蝀蜮蜞蜡蜙蜛蝃蜬蝁蜾蝆蜠蜲蜪蜭蜼蜒蜺蜱蜵蝂蜦蜧蜸蜤蜚蜰蜑裷裧裱裲裺裾裮裼裶裻裰裬裫覝覡覟覞觩觫觨誫誙誋誒誏誖谽豨豩賕賏賗趖踉踂跿踍跽踊踃踇踆踅跾踀踄輐輑輎輍鄣鄜鄠鄢鄟鄝鄚鄤鄡鄛酺酲酹酳銥銤鉶銛鉺銠銔銪銍銦銚銫鉹銗鉿銣鋮銎銂銕銢鉽銈銡銊銆銌銙銧鉾銇銩銝銋鈭隞隡雿靘靽靺靾鞃鞀鞂靻鞄鞁靿韎韍頖颭颮餂餀餇馝馜駃馹馻馺駂馽駇骱髣髧鬾鬿魠魡魟鳱鳲鳵麧僿儃儰僸儆儇僶僾儋儌僽儊劋劌勱勯噈噂噌嘵噁噊噉噆噘噚噀嘳嘽嘬嘾嘸嘪嘺圚墫墝墱墠墣墯墬墥墡壿嫿嫴嫽嫷嫶嬃嫸嬂嫹嬁嬇嬅嬏屧嶙嶗嶟嶒嶢嶓嶕嶠嶜嶡嶚嶞幩幝幠幜緳廛廞廡彉徲憋憃慹憱憰憢憉憛憓憯憭憟憒憪憡憍慦憳戭摮摰撖撠撅撗撜撏撋撊撌撣撟摨撱撘敶敺敹敻斲斳暵暰暩暲暷暪暯樀樆樗槥槸樕槱槤樠槿槬槢樛樝槾樧槲槮樔槷槧橀樈槦槻樍槼槫樉樄樘樥樏槶樦樇槴樖歑殥殣殢殦氁氀毿氂潁漦潾澇濆澒澍澉澌潢潏澅潚澖潶潬澂潕潲潒潐潗澔澓潝漀潡潫潽潧澐潓澋潩潿澕潣潷潪潻熲熯熛熰熠熚熩熵熝熥熞熤熡熪熜熧熳犘犚獘獒獞獟獠獝獛獡獚獙獢璇璉璊璆璁瑽璅璈瑼瑹甈甇畾瘥瘞瘙瘝瘜瘣瘚瘨瘛皜皝皞皛瞍瞏瞉瞈磍碻磏磌磑磎磔磈磃磄磉禚禡禠禜禢禛歶稹窲窴窳箷篋箾箬篎箯箹篊箵糅糈糌糋緷緛緪緧緗緡縃緺緦緶緱緰緮緟罶羬羰羭翭翫翪翬翦翨聤聧膣膟膞膕膢膙膗舖艏艓艒艐艎艑蔤蔻蔏蔀蔩蔎蔉蔍蔟蔊蔧蔜蓻蔫蓺蔈蔌蓴蔪蓲蔕蓷蓫蓳蓼蔒蓪蓩蔖蓾蔨蔝蔮蔂蓽蔞蓶蔱蔦蓧蓨蓰蓯蓹蔘蔠蔰蔋蔙蔯虢蝖蝣蝤蝷蟡蝳蝘蝔蝛蝒蝡蝚蝑蝞蝭蝪蝐蝎蝟蝝蝯蝬蝺蝮蝜蝥蝏蝻蝵蝢蝧蝩衚褅褌褔褋褗褘褙褆褖褑褎褉覢覤覣觭觰觬諏諆誸諓諑諔諕誻諗誾諀諅諘諃誺誽諙谾豍貏賥賟賙賨賚賝賧趠趜趡趛踠踣踥踤踮踕踛踖踑踙踦踧踔踒踘踓踜踗踚輬輤輘輚輠輣輖輗遳遰遯遧遫鄯鄫鄩鄪鄲鄦鄮醅醆醊醁醂醄醀鋐鋃鋄鋀鋙銶鋏鋱鋟鋘鋩鋗鋝鋌鋯鋂鋨鋊鋈鋎鋦鋍鋕鋉鋠鋞鋧鋑鋓銵鋡鋆銴镼閬閫閮閰隤隢雓霅霈霂靚鞊鞎鞈韐韏頞頝頦頩頨頠頛頧颲餈飺餑餔餖餗餕駜駍駏駓駔駎駉駖駘駋駗駌骳髬髫髳髲髱魆魃魧魴魱魦魶魵魰魨魤魬鳼鳺鳽鳿鳷鴇鴀鳹鳻鴈鴅鴄麃黓鼏鼐儜儓儗儚儑凞匴叡噰噠噮噳噦噣噭噲噞噷圜圛壈墽壉墿墺壂墼壆嬗嬙嬛嬡嬔嬓嬐嬖嬨嬚嬠嬞寯嶬嶱嶩嶧嶵嶰嶮嶪嶨嶲嶭嶯嶴幧幨幦幯廩廧廦廨廥彋徼憝憨憖懅憴懆懁懌憺憿憸憌擗擖擐擏擉撽撉擃擛擳擙攳敿敼斢曈暾曀曊曋曏暽暻暺曌朣樴橦橉橧樲橨樾橝橭橶橛橑樨橚樻樿橁橪橤橐橏橔橯橩橠樼橞橖橕橍橎橆歕歔歖殧殪殫毈毇氄氃氆澭濋澣濇澼濎濈潞濄澽澞濊澨瀄澥澮澺澬澪濏澿澸澢濉澫濍澯澲澰燅燂熿熸燖燀燁燋燔燊燇燏熽燘熼燆燚燛犝犞獩獦獧獬獥獫獪瑿璚璠璔璒璕璡甋疀瘯瘭瘱瘽瘳瘼瘵瘲瘰皻盦瞚瞝瞡瞜瞛瞢瞣瞕瞙瞗磝磩磥磪磞磣磛磡磢磭磟磠禤穄穈穇窶窸窵窱窷篞篣篧篝篕篥篚篨篹篔篪篢篜篫篘篟糒糔糗糐糑縒縡縗縌縟縠縓縎縜縕縚縢縋縏縖縍縔縥縤罃罻罼罺羱翯耪耩聬膱膦膮膹膵膫膰膬膴膲膷膧臲艕艖艗蕖蕅蕫蕍蕓蕡蕘蕀蕆蕤蕁蕢蕄蕑蕇蕣蔾蕛蕱蕎蕮蕵蕕蕧蕠薌蕦蕝蕔蕥蕬虣虥虤螛螏螗螓螒螈螁螖螘蝹螇螣螅螐螑螝螄螔螜螚螉褞褦褰褭褮褧褱褢褩褣褯褬褟觱諠諢諲諴諵諝謔諤諟諰諈諞諡諨諿諯諻貑貒貐賵賮賱賰賳赬赮趥趧踳踾踸蹀蹅踶踼踽蹁踰踿躽輶輮輵輲輹輷輴遶遹遻邆郺鄳鄵鄶醓醐醑醍醏錧錞錈錟錆錏鍺錸錼錛錣錒錁鍆錭錎錍鋋錝鋺錥錓鋹鋷錴錂錤鋿錩錹錵錪錔錌錋鋾錉錀鋻錖閼闍閾閹閺閶閿閵閽隩雔霋霒霐鞙鞗鞔韰韸頵頯頲餤餟餧餩馞駮駬駥駤駰駣駪駩駧骹骿骴骻髶髺髹髷鬳鮀鮅鮇魼魾魻鮂鮓鮒鮐魺鮕魽鮈鴥鴗鴠鴞鴔鴩鴝鴘鴢鴐鴙鴟麈麆麇麮麭黕黖黺鼒鼽儦儥儢儤儠儩勴嚓嚌嚍嚆嚄嚃噾嚂噿嚁壖壔壏壒嬭嬥嬲嬣嬬嬧嬦嬯嬮孻寱寲嶷幬幪徾徻懃憵憼懧懠懥懤懨懞擯擩擣擫擤擨斁斀斶旚曒檍檖檁檥檉檟檛檡檞檇檓檎檕檃檨檤檑橿檦檚檅檌檒歛殭氉濌澩濴濔濣濜濭濧濦濞濲濝濢濨燡燱燨燲燤燰燢獳獮獯璗璲璫璐璪璭璱璥璯甐甑甒甏疄癃癈癉癇皤盩瞵瞫瞲瞷瞶瞴瞱瞨矰磳磽礂磻磼磲礅磹磾礄禫禨穜穛穖穘穔穚窾竀竁簅簏篲簀篿篻簎篴簋篳簂簉簃簁篸篽簆篰篱簐簊糨縭縼繂縳顈縸縪繉繀繇縩繌縰縻縶繄縺罅罿罾罽翴翲耬膻臄臌臊臅臇膼臩艛艚艜薃薀薏薧薕薠薋薣蕻薤薚薞蕷蕼薉薡蕺蕸蕗薎薖薆薍薙薝薁薢薂薈薅蕹蕶薘薐薟虨螾螪螭蟅螰螬螹螵螼螮蟉蟃蟂蟌螷螯蟄蟊螴螶螿螸螽蟞螲褵褳褼褾襁襒褷襂覭覯覮觲觳謞謘謖謑謅謋謢謏謒謕謇謍謈謆謜謓謚豏豰豲豱豯貕貔賹赯蹎蹍蹓蹐蹌蹇轃轀邅遾鄸醚醢醛醙醟醡醝醠鎡鎃鎯鍤鍖鍇鍼鍘鍜鍶鍉鍐鍑鍠鍭鎏鍌鍪鍹鍗鍕鍒鍏鍱鍷鍻鍡鍞鍣鍧鎀鍎鍙闇闀闉闃闅閷隮隰隬霠霟霘霝霙鞚鞡鞜鞞鞝韕韔韱顁顄顊顉顅顃餥餫餬餪餳餲餯餭餱餰馘馣馡騂駺駴駷駹駸駶駻駽駾駼騃骾髾髽鬁髼魈鮚鮨鮞鮛鮦鮡鮥鮤鮆鮢鮠鮯鴳鵁鵧鴶鴮鴯鴱鴸鴰鵅鵂鵃鴾鴷鵀鴽翵鴭麊麉麍麰黈黚黻黿鼤鼣鼢齔龠儱儭儮嚘嚜嚗嚚嚝嚙奰嬼屩屪巀幭幮懘懟懭懮懱懪懰懫懖懩擿攄擽擸攁攃擼斔旛曚曛曘櫅檹檽櫡櫆檺檶檷櫇檴檭歞毉氋瀇瀌瀍瀁瀅瀔瀎濿瀀濻瀦濼濷瀊爁燿燹爃燽獶璸瓀璵瓁璾璶璻瓂甔甓癜癤癙癐癓癗癚皦皽盬矂瞺磿礌礓礔礉礐礒礑禭禬穟簜簩簙簠簟簭簝簦簨簢簥簰繜繐繖繣繘繢繟繑繠繗繓羵羳翷翸聵臑臒臐艟艞薴藆藀藃藂薳薵薽藇藄薿藋藎藈藅薱薶藒蘤薸薷薾虩蟧蟦蟢蟛蟫蟪蟥蟟蟳蟤蟔蟜蟓蟭蟘蟣螤蟗蟙蠁蟴蟨蟝襓襋襏襌襆襐襑襉謪謧謣謳謰謵譇謯謼謾謱謥謷謦謶謮謤謻謽謺豂豵貙貘貗賾贄贂贀蹜蹢蹠蹗蹖蹞蹥蹧蹛蹚蹡蹝蹩蹔轆轇轈轋鄨鄺鄻鄾醨醥醧醯醪鎵鎌鎒鎷鎛鎝鎉鎧鎎鎪鎞鎦鎕鎈鎙鎟鎍鎱鎑鎲鎤鎨鎴鎣鎥闒闓闑隳雗雚巂雟雘雝霣霢霥鞬鞮鞨鞫鞤鞪鞢鞥韗韙韖韘韺顐顑顒颸饁餼餺騏騋騉騍騄騑騊騅騇騆髀髜鬈鬄鬅鬩鬵魊魌魋鯇鯆鯃鮿鯁鮵鮸鯓鮶鯄鮹鮽鵜鵓鵏鵊鵛鵋鵙鵖鵌鵗鵒鵔鵟鵘鵚麎麌黟鼁鼀鼖鼥鼫鼪鼩鼨齌齕儴儵劖勷厴嚫嚭嚦嚧嚪嚬壚壝壛夒嬽嬾嬿巃幰徿懻攇攐攍攉攌攎斄旞旝曞櫧櫠櫌櫑櫙櫋櫟櫜櫐櫫櫏櫍櫞歠殰氌瀙瀧瀠瀖瀫瀡瀢瀣瀩瀗瀤瀜瀪爌爊爇爂爅犥犦犤犣犡瓋瓅璷瓃甖癠矉矊矄矱礝礛礡礜礗礞禰穧穨簳簼簹簬簻糬糪繶繵繸繰繷繯繺繲繴繨罋罊羃羆羷翽翾聸臗臕艤艡艣藫藱藭藙藡藨藚藗藬藲藸藘藟藣藜藑藰藦藯藞藢蠀蟺蠃蟶蟷蠉蠌蠋蠆蟼蠈蟿蠊蠂襢襚襛襗襡襜襘襝襙覈覷覶觶譐譈譊譀譓譖譔譋譕譑譂譒譗豃豷豶貚贆贇贉趬趪趭趫蹭蹸蹳蹪蹯蹻軂轒轑轏轐轓辴酀鄿醰醭鏞鏇鏏鏂鏚鏐鏹鏬鏌鏙鎩鏦鏊鏔鏮鏣鏕鏄鏎鏀鏒鏧镽闚闛雡霩霫霬霨霦鞳鞷鞶韝韞韟顜顙顝顗颿颽颻颾饈饇饃馦馧騚騕騥騝騤騛騢騠騧騣騞騜騔髂鬋鬊鬎鬌鬷鯪鯫鯠鯞鯤鯦鯢鯰鯔鯗鯬鯜鯙鯥鯕鯡鯚鵷鶁鶊鶄鶈鵱鶀鵸鶆鶋鶌鵽鵫鵴鵵鵰鵩鶅鵳鵻鶂鵯鵹鵿鶇鵨麔麑黀黼鼭齀齁齍齖齗齘匷嚲嚵嚳壣孅巆巇廮廯忀忁懹攗攖攕攓旟曨曣曤櫳櫰櫪櫨櫹櫱櫮櫯瀼瀵瀯瀷瀴瀱灂瀸瀿瀺瀹灀瀻瀳灁爓爔犨獽獼璺皫皪皾盭矌矎矏矍矲礥礣礧礨礤礩禲穮穬穭竷籉籈籊籇籅糮繻繾纁纀羺翿聹臛臙舋艨艩蘢藿蘁藾蘛蘀藶蘄蘉蘅蘌藽蠙蠐蠑蠗蠓蠖襣襦覹觷譠譪譝譨譣譥譧譭趮躆躈躄轙轖轗轕轘轚邍酃酁醷醵醲醳鐋鐓鏻鐠鐏鐔鏾鐕鐐鐨鐙鐍鏵鐀鏷鐇鐎鐖鐒鏺鐉鏸鐊鏿鏼鐌鏶鐑鐆闞闠闟霮霯鞹鞻韽韾顠顢顣顟飁飂饐饎饙饌饋饓騲騴騱騬騪騶騩騮騸騭髇髊髆鬐鬒鬑鰋鰈鯷鰅鰒鯸鱀鰇鰎鰆鰗鰔鰉鶟鶙鶤鶝鶒鶘鶐鶛鶠鶔鶜鶪鶗鶡鶚鶢鶨鶞鶣鶿鶩鶖鶦鶧麙麛麚黥黤黧黦鼰鼮齛齠齞齝齙龑儺儹劘劗囃嚽嚾孈孇巋巏廱懽攛欂櫼欃櫸欀灃灄灊灈灉灅灆爝爚爙獾甗癪矐礭礱礯籔籓糲纊纇纈纋纆纍罍羻耰臝蘘蘪蘦蘟蘣蘜蘙蘧蘮蘡蘠蘩蘞蘥蠩蠝蠛蠠蠤蠜蠫衊襭襩襮襫觺譹譸譅譺譻贐贔趯躎躌轞轛轝酆酄酅醹鐿鐻鐶鐩鐽鐼鐰鐹鐪鐷鐬鑀鐱闥闤闣霵霺鞿韡顤飉飆飀饘饖騹騽驆驄驂驁騺騿髍鬕鬗鬘鬖鬺魒鰫鰝鰜鰬鰣鰨鰩鰤鰡鶷鶶鶼鷁鷇鷊鷏鶾鷅鷃鶻鶵鷎鶹鶺鶬鷈鶱鶭鷌鶳鷍鶲鹺麜黫黮黭鼛鼘鼚鼱齎齥齤龒亹囆囅囋奱孋孌巕巑廲攡攠攦攢欋欈欉氍灕灖灗灒爞爟犩獿瓘瓕瓙瓗癭皭礵禴穰穱籗籜籙籛籚糴糱纑罏羇臞艫蘴蘵蘳蘬蘲蘶蠬蠨蠦蠪蠥襱覿覾觻譾讄讂讆讅譿贕躕躔躚躒躐躖躗轠轢酇鑌鑐鑊鑋鑏鑇鑅鑈鑉鑆霿韣顪顩飋饔饛驎驓驔驌驏驈驊驉驒驐髐鬙鬫鬻魖魕鱆鱈鰿鱄鰹鰳鱁鰼鰷鰴鰲鰽鰶鷛鷒鷞鷚鷋鷐鷜鷑鷟鷩鷙鷘鷖鷵鷕鷝麶黰鼵鼳鼲齂齫龕龢儽劙壨壧奲孍巘蠯彏戁戃戄攩攥斖曫欑欒欏毊灛灚爢玂玁玃癰矔籧籦纕艬蘺虀蘹蘼蘱蘻蘾蠰蠲蠮蠳襶襴襳觾讌讎讋讈豅贙躘轤轣醼鑢鑕鑝鑗鑞韄韅頀驖驙鬞鬟鬠鱒鱘鱐鱊鱍鱋鱕鱙鱌鱎鷻鷷鷯鷣鷫鷸鷤鷶鷡鷮鷦鷲鷰鷢鷬鷴鷳鷨鷭黂黐黲黳鼆鼜鼸鼷鼶齃齏齱齰齮齯囓囍孎屭攭曭曮欓灟灡灝灠爣瓛瓥矕礸禷禶籪纗羉艭虃蠸蠷蠵衋讔讕躞躟躠躝醾醽釂鑫鑨鑩雥靆靃靇韇韥驞髕魙鱣鱧鱦鱢鱞鱠鸂鷾鸇鸃鸆鸅鸀鸁鸉鷿鷽鸄麠鼞齆齴齵齶囔攮斸欘欙欗欚灢爦犪矘矙礹籩籫糶纚纘纛纙臠臡虆虇虈襹襺襼襻觿讘讙躥躤躣鑮鑭鑯鑱鑳靉顲饟鱨鱮鱭鸋鸍鸐鸏鸒鸑麡黵鼉齇齸齻齺齹圞灦籯蠼趲躦釃鑴鑸鑶鑵驠鱴鱳鱱鱵鸔鸓黶鼊龤灨灥糷虪蠾蠽蠿讞貜躩軉靋顳顴飌饡馫驤驦驧鬤鸕鸗齈戇欞爧虌躨钂钀钁驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺鸝灩灪麤齾齉龘"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         default{"pinyin"}\r
         gb2312han{\r
@@ -18,7 +18,7 @@ zh{
                 "[reorder Latn Hani]"\r
                 "&[last regular]<*啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧饨饩饪饫饬饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡缢缣缤缥缦缧缪缫缬缭缯缰缱缲缳缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶钷钸钹钺钼钽钿铄铈铉铊铋铌铍铎铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒锓锔锕锖锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤镥镦镧镨镩镪镫镬镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨鸩鸪鸫鸬鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦鹧鹨鹩鹪鹫鹬鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅龆龇龈龉龊龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞鲟鲠鲡鲢鲣鲥鲦鲧鲨鲩鲫鲭鲮鲰鲱鲲鲳鲴鲵鲶鲷鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋鳌鳍鳎鳏鳐鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         pinyin{\r
             Sequence{\r
@@ -1887,7 +1887,7 @@ zh{
                 "&弞<沈阳/阳"\r
                 "&銺<藏文/文"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         private-pinyin{\r
             Sequence{\r
@@ -1901,7 +1901,7 @@ zh{
                 "&[before 2]u<<ū<<<Ū<<ú<<<Ú<<ǔ<<<Ǔ<<ù<<<Ù"\r
                 "&U<<ǖ<<<Ǖ<<ǘ<<<Ǘ<<ǚ<<<Ǚ<<ǜ<<<Ǜ<<ü<<<Ü"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         stroke{\r
             Sequence{\r
@@ -2604,7 +2604,7 @@ zh{
                 "&龟<<<⻳"\r
                 "&龠<<<⿕"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         unihan{\r
             Sequence{\r
@@ -2612,7 +2612,7 @@ zh{
                 "[import zh-u-co-private-pinyin]"\r
                 "[reorder Hani Bopo]"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
         zhuyin{\r
             Sequence{\r
@@ -4638,7 +4638,7 @@ zh{
                 "&龟<<<⻳"\r
                 "&龠<<<⿕"\r
             }\r
-            Version{"36.1"}\r
+            Version{"37"}\r
         }\r
     }\r
 }\r
index 95e649f..54a1c90 100644 (file)
@@ -1,8 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * generated alias target\r
- */\r
 zh_Hans{\r
-    ___{""}\r
+    Version{"37"}\r
 }\r
index 053c50e..36fd089 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh_Hant{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     collations{\r
         default{"stroke"}\r
     }\r
index 602d6c9..284f167 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zu{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bcbdb1b..e195606 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 \r
 {\r
-    "cldrVersion": "36.1",\r
+    "cldrVersion": "37",\r
     "aliases": {\r
         "ars": "ar_SA",\r
         "az_AZ": "az_Latn_AZ",\r
         "in_ID": "id_ID",\r
         "iw": "he",\r
         "iw_IL": "he_IL",\r
+        "ks_IN": "ks_Arab_IN",\r
+        "mni_IN": "mni_Beng_IN",\r
         "mo": "ro",\r
         "no": "nb",\r
         "no_NO": "nb_NO",\r
         "no_NO_NY": "nn_NO",\r
         "pa_IN": "pa_Guru_IN",\r
         "pa_PK": "pa_Arab_PK",\r
+        "sat_IN": "sat_Olck_IN",\r
+        "sd_PK": "sd_Arab_PK",\r
         "sh": "sr_Latn",\r
         "sh_BA": "sr_Latn_BA",\r
         "sh_CS": "sr_Latn_RS",\r
@@ -38,6 +42,7 @@
         "sr_RS": "sr_Cyrl_RS",\r
         "sr_XK": "sr_Cyrl_XK",\r
         "sr_YU": "sr_Cyrl_RS",\r
+        "su_ID": "su_Latn_ID",\r
         "tl": "fil",\r
         "tl_PH": "fil_PH",\r
         "uz_AF": "uz_Arab_AF",\r
         "es_US": "es_419",\r
         "es_UY": "es_419",\r
         "es_VE": "es_419",\r
+        "ff_Adlm": "root",\r
         "pa_Arab": "root",\r
         "pt_AO": "pt_PT",\r
         "pt_CH": "pt_PT",\r
         "pt_MZ": "pt_PT",\r
         "pt_ST": "pt_PT",\r
         "pt_TL": "pt_PT",\r
+        "sd_Deva": "root",\r
         "shi_Latn": "root",\r
         "sr_Latn": "root",\r
         "uz_Arab": "root",\r
index 5903219..77a6881 100644 (file)
@@ -1438,5 +1438,5 @@ af{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9dd29f9..91bc0aa 100644 (file)
@@ -7,5 +7,5 @@ af_NA{
             "Namibiese dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3eaf45c..fcb2959 100644 (file)
@@ -231,5 +231,5 @@ agq{
             "Dɔlà è Zìmbagbɛ̀",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9a54507..5082bec 100644 (file)
@@ -231,5 +231,5 @@ ak{
             "Zimbabwe Dɔla",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 43fb14a..153dcaf 100644 (file)
@@ -240,7 +240,7 @@ am{
         }\r
         HRK{\r
             "HRK",\r
-            "HRK",\r
+            "የክሮሽያ ኩና",\r
         }\r
         HTG{\r
             "HTG",\r
@@ -1433,5 +1433,5 @@ am{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 40bb50d..0099733 100644 (file)
@@ -2453,5 +2453,5 @@ ar{
         two{"{0} {1}"}\r
         zero{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1a8cc6e..acad162 100644 (file)
@@ -4,5 +4,5 @@ ar_AE{
     Currencies%narrow{\r
         BND{"$"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2d372ce..b0965aa 100644 (file)
@@ -7,5 +7,5 @@ ar_DJ{
             "فرنك جيبوتي",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 34aa701..f16e9f1 100644 (file)
@@ -7,5 +7,5 @@ ar_ER{
             "ناكفا أريتري",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8e13d96..5634472 100644 (file)
@@ -7,5 +7,5 @@ ar_KM{
             "فرنك جزر القمر",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ff9443a..3a7e5ae 100644 (file)
@@ -7,5 +7,5 @@ ar_LB{
             "جنيه سوداني",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a1027e0..66f2416 100644 (file)
@@ -7,5 +7,5 @@ ar_SO{
             "شلن صومالي",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f81ecbb..0a28330 100644 (file)
@@ -11,5 +11,5 @@ ar_SS{
             "جنيه جنوب السودان",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c61ce08..465302d 100644 (file)
@@ -1384,5 +1384,5 @@ as{
             other{"জাম্বিয়ান কোৱাচা"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 89e5a75..971917c 100644 (file)
@@ -235,5 +235,5 @@ asa{
             "dola ya Dhimbabwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 782da9f..ddef3f2 100644 (file)
@@ -2520,5 +2520,5 @@ ast{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e97adb4..3843578 100644 (file)
@@ -2261,5 +2261,5 @@ az{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d6132d2..05eb9f4 100644 (file)
@@ -11,5 +11,5 @@ az_Cyrl{
     Currencies%variant{\r
         AZN{"ман."}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a2372d2..7562a28 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 az_Latn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4023364..d5469ac 100644 (file)
@@ -235,5 +235,5 @@ bas{
             "Dɔ̀lâr sìmbàbwê",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 73cc2e8..cf0c2ce 100644 (file)
@@ -1711,5 +1711,5 @@ be{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ea845ce..109e40a 100644 (file)
@@ -7,5 +7,5 @@ bem{
             "ZMW",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 546b03f..cf682b7 100644 (file)
@@ -231,5 +231,5 @@ bez{
             "Lupila lwa Huzimbabwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 41f8705..467b406 100644 (file)
@@ -2129,5 +2129,5 @@ bg{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0d7f9c8..c36392c 100644 (file)
@@ -235,5 +235,5 @@ bm{
             "zimbabuwe Dolar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0269fc6..9679338 100644 (file)
@@ -1853,5 +1853,5 @@ bn{
             other{"জাম্বিয়ান কওয়াচা"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2387f00..110a23c 100644 (file)
@@ -19,5 +19,5 @@ bo{
             "མ་རྟོགས་པའི་ནུས་མེད་དངུལ་ལོར",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 49b3fa4..ae16f08 100644 (file)
@@ -7,5 +7,5 @@ bo_IN{
             "ཡུ་ཨན་",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c789cd4..a423f25 100644 (file)
@@ -3155,5 +3155,5 @@ br{
         other{"{0} {1}"}\r
         two{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 344224b..e724fce 100644 (file)
@@ -1087,5 +1087,5 @@ brx{
             "ज़ीम्बाबवेई डॉलर",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 72f8519..3492e6c 100644 (file)
@@ -2710,5 +2710,5 @@ bs{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index edb9a6b..08ff75d 100644 (file)
@@ -2539,5 +2539,5 @@ bs_Cyrl{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8d3f9f4..055a94f 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bs_Latn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3d0550b..a2ef93b 100644 (file)
@@ -2502,5 +2502,5 @@ ca{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index eac669e..af43c7a 100644 (file)
@@ -7,5 +7,5 @@ ca_FR{
             "franc francès",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3c9e946..9e62c5a 100644 (file)
@@ -1804,5 +1804,5 @@ ccp{
             other{"𑄎𑄟𑄴𑄝𑄨𑄠𑄚𑄴 𑄇𑄧𑄤𑄌"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 402bde4..7e2e43c 100644 (file)
@@ -1379,5 +1379,5 @@ ce{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fd64807..6bb8d1e 100644 (file)
@@ -124,7 +124,7 @@ ceb{
         }\r
         CNY{\r
             "CN¥",\r
-            "Intsik nga Yuan",\r
+            "Chinese Yuan",\r
         }\r
         COP{\r
             "COP",\r
@@ -192,7 +192,7 @@ ceb{
         }\r
         GBP{\r
             "£",\r
-            "Inglatera nga Libra",\r
+            "British Pound",\r
         }\r
         GEL{\r
             "GEL",\r
@@ -252,7 +252,7 @@ ceb{
         }\r
         INR{\r
             "₹",\r
-            "Rupee sa India",\r
+            "Indian Rupee",\r
         }\r
         IQD{\r
             "IQD",\r
@@ -276,7 +276,7 @@ ceb{
         }\r
         JPY{\r
             "JP¥",\r
-            "Hapon nga Yen",\r
+            "Japanese Yen",\r
         }\r
         KES{\r
             "KES",\r
@@ -460,7 +460,7 @@ ceb{
         }\r
         RUB{\r
             "RUB",\r
-            "Rusong ruble",\r
+            "Russian Ruble",\r
         }\r
         RWF{\r
             "RWF",\r
@@ -568,7 +568,7 @@ ceb{
         }\r
         USD{\r
             "US $",\r
-            "Dolyar sa US",\r
+            "US Dollar",\r
         }\r
         UYU{\r
             "UYU",\r
@@ -706,7 +706,7 @@ ceb{
         }\r
         BRL{\r
             one{"Brazilian real"}\r
-            other{"Brazilian reals"}\r
+            other{"Mga Brazilian real"}\r
         }\r
         BSD{\r
             one{"Bahamian dollar"}\r
@@ -738,7 +738,7 @@ ceb{
         }\r
         CHF{\r
             one{"Swiss franc"}\r
-            other{"Swiss francs"}\r
+            other{"Mga Swiss franc"}\r
         }\r
         CLP{\r
             one{"Chilean peso"}\r
@@ -749,8 +749,8 @@ ceb{
             other{"Chinese yuan (layo sa baybayon)"}\r
         }\r
         CNY{\r
-            one{"Intsik ng yuan"}\r
-            other{"Intsik ng yuan"}\r
+            one{"Chinese yuan"}\r
+            other{"Chinese yuan"}\r
         }\r
         COP{\r
             one{"Colombian peso"}\r
@@ -817,8 +817,8 @@ ceb{
             other{"Mga Falkland Islands pound"}\r
         }\r
         GBP{\r
-            one{"Inglatera nga libra"}\r
-            other{"Inglatera nga libra"}\r
+            one{"British pound"}\r
+            other{"Mga British pound"}\r
         }\r
         GEL{\r
             one{"Georgian lari"}\r
@@ -877,8 +877,8 @@ ceb{
             other{"Mga Israeli new shekel"}\r
         }\r
         INR{\r
-            one{"rupee sa India"}\r
-            other{"Mga rupee sa India"}\r
+            one{"Indian rupee"}\r
+            other{"Mga Indian rupee"}\r
         }\r
         IQD{\r
             one{"Iraqi dinar"}\r
@@ -901,8 +901,8 @@ ceb{
             other{"Mga Jordanian dinar"}\r
         }\r
         JPY{\r
-            one{"Hapon nga yen"}\r
-            other{"Hapon nga yen"}\r
+            one{"Japanese yen"}\r
+            other{"Japanese yen"}\r
         }\r
         KES{\r
             one{"Kenyan shilling"}\r
@@ -1085,8 +1085,8 @@ ceb{
             other{"Mga Serbian dinar"}\r
         }\r
         RUB{\r
-            one{"Rusong ruble"}\r
-            other{"Rusong ruble"}\r
+            one{"Russian ruble"}\r
+            other{"Mga Russian ruble"}\r
         }\r
         RWF{\r
             one{"Rwandan franc"}\r
@@ -1193,8 +1193,8 @@ ceb{
             other{"Mga Ugandan shilling"}\r
         }\r
         USD{\r
-            one{"dolyar sa US"}\r
-            other{"dolyares sa US"}\r
+            one{"US dollar"}\r
+            other{"Mga US dollar"}\r
         }\r
         UYU{\r
             one{"Uruguayan peso"}\r
@@ -1257,5 +1257,5 @@ ceb{
         one{"{1} {0}"}\r
         other{"{1} {0}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 689a3a9..27c19d2 100644 (file)
@@ -231,5 +231,5 @@ cgg{
             "Doora ya Zimbabwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6d68f98..22537f0 100644 (file)
@@ -1388,5 +1388,5 @@ chr{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b0f6632..0d8e1ae 100644 (file)
@@ -7,5 +7,5 @@ ckb{
             "IQD",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1d7c65e..03d9f32 100644 (file)
@@ -3123,5 +3123,5 @@ cs{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 77121f4..121f1a9 100644 (file)
@@ -3273,5 +3273,5 @@ cy{
         two{"{0} {1}"}\r
         zero{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a2d5e31..0d539d9 100644 (file)
@@ -2249,5 +2249,5 @@ da{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7cec858..66b9fe5 100644 (file)
@@ -231,5 +231,5 @@ dav{
             "Dola ya Zimbabwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4ca7672..cd345cf 100644 (file)
@@ -2527,5 +2527,5 @@ de{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7fb3ddc..f450c44 100644 (file)
@@ -36,5 +36,5 @@ de_CH{
             other{"São-toméischer Dobra (2018)"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 04eee66..7ae36e7 100644 (file)
@@ -7,5 +7,5 @@ de_LI{
             "Euro",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0b1e87f..7b56416 100644 (file)
@@ -12,5 +12,5 @@ de_LU{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 44a7602..cb09512 100644 (file)
@@ -235,5 +235,5 @@ dje{
             "Zimbabwe Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f75a8ae..533d541 100644 (file)
@@ -1884,5 +1884,5 @@ dsb{
         other{"{0} {1}"}\r
         two{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4b73bc5..48c0b51 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 dua{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2ab9e08..5833751 100644 (file)
@@ -123,5 +123,5 @@ dyo{
             "seefa yati BCEAO",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b117147..9ca509d 100644 (file)
@@ -307,5 +307,5 @@ dz{
             "སཱའུཐ་ ཨཕ་རི་ཀ་གི་དངུལ་ རཱནད",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5c14662..382396d 100644 (file)
@@ -231,5 +231,5 @@ ebu{
             "Dola ya Zimbabwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a0ca875..649ca42 100644 (file)
@@ -2390,5 +2390,5 @@ ee{
         one{"{1} {0}"}\r
         other{"{1} {0}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c5b2050..d7b44e9 100644 (file)
@@ -2266,5 +2266,5 @@ el{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1deac62..69ad46f 100644 (file)
@@ -2433,5 +2433,5 @@ en{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8fb9ea7..8318237 100644 (file)
@@ -77,5 +77,5 @@ en_001{
             other{"Tajikistani roubles"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5267ece..d99d85b 100644 (file)
@@ -13,5 +13,5 @@ en_150{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ddd9c65..1bb2859 100644 (file)
@@ -7,5 +7,5 @@ en_AE{
             "United Arab Emirates Dirham",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b5de46a..e659301 100644 (file)
@@ -8,5 +8,5 @@ en_AG{
             "East Caribbean Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e16cc26..e3bb25b 100644 (file)
@@ -8,5 +8,5 @@ en_AI{
             "East Caribbean Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2ef756e..ec475e0 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_AT{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 57af5ac..67e49c5 100644 (file)
@@ -669,5 +669,5 @@ en_AU{
             other{"Samoan talas"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cc46cfb..8401b97 100644 (file)
@@ -8,5 +8,5 @@ en_BB{
             "Barbadian Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a0482c2..46d6b7d 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BE{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2c45b2a..27c1734 100644 (file)
@@ -7,5 +7,5 @@ en_BI{
             "Burundian Franc",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 884f458..3f5bf32 100644 (file)
@@ -8,5 +8,5 @@ en_BM{
             "Bermudan Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6b87958..12fa10c 100644 (file)
@@ -8,5 +8,5 @@ en_BS{
             "Bahamian Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2faa624..6dede4f 100644 (file)
@@ -8,5 +8,5 @@ en_BW{
             "Botswanan Pula",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b20c9a8..9a9f0db 100644 (file)
@@ -8,5 +8,5 @@ en_BZ{
             "Belize Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 87fdb62..8cf6828 100644 (file)
@@ -18,5 +18,5 @@ en_CA{
             other{"Israeli new sheqels"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a75843a..9209414 100644 (file)
@@ -8,5 +8,5 @@ en_CC{
             "Australian Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b0ca8ab..e443b47 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CH{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 92ce951..90e339c 100644 (file)
@@ -8,5 +8,5 @@ en_CK{
             "New Zealand Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 37cb57c..5d5dfe1 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e1d17f2..dec1b54 100644 (file)
@@ -8,5 +8,5 @@ en_CX{
             "Australian Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7c8d2e5..c852bbe 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CY{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8e56c9b..7fafabe 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_DE{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c5bebd8..332c554 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_DG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d2631ae..6edf043 100644 (file)
@@ -8,5 +8,5 @@ en_DK{
             "Danish Krone",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f677b1d..cd8f444 100644 (file)
@@ -8,5 +8,5 @@ en_DM{
             "East Caribbean Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4bffc95..87f0602 100644 (file)
@@ -8,5 +8,5 @@ en_ER{
             "Eritrean Nakfa",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 95f4bc7..b3758a5 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_FI{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bc5408b..df99d32 100644 (file)
@@ -8,5 +8,5 @@ en_FJ{
             "Fijian Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e5186a0..393ed21 100644 (file)
@@ -12,5 +12,5 @@ en_FK{
             "British Pound",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f8ce885..32598fc 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_FM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index de39aba..752d775 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GB{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0040275..f15fbd2 100644 (file)
@@ -8,5 +8,5 @@ en_GD{
             "East Caribbean Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ca4162e..4c4b571 100644 (file)
@@ -14,5 +14,5 @@ en_GG{
             other{"UK pounds"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ae7db33..a244453 100644 (file)
@@ -8,5 +8,5 @@ en_GH{
             "Ghanaian Cedi",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bfa2c20..490add8 100644 (file)
@@ -12,5 +12,5 @@ en_GI{
             "Gibraltar Pound",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5b98e56..e124ed2 100644 (file)
@@ -8,5 +8,5 @@ en_GM{
             "Gambian Dalasi",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 78da9ad..c076054 100644 (file)
@@ -8,5 +8,5 @@ en_GY{
             "Guyanaese Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ecc8376..6088a7f 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_HK{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e5ef11b..e0309d1 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_IE{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 700e18f..9fd8b65 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_IL{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 07e27e5..ea76f20 100644 (file)
@@ -14,5 +14,5 @@ en_IM{
             other{"UK pounds"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a18bb2a..7a1461a 100644 (file)
@@ -22,5 +22,5 @@ en_IN{
             other{"VES"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3febdeb..bf9042e 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_IO{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7a11cce..7b5b2fd 100644 (file)
@@ -14,5 +14,5 @@ en_JE{
             other{"UK pounds"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b94b224..8c0d12d 100644 (file)
@@ -8,5 +8,5 @@ en_JM{
             "Jamaican Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 566434d..e7e4639 100644 (file)
@@ -8,5 +8,5 @@ en_KE{
             "Kenyan Shilling",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0dfc2ac..912a240 100644 (file)
@@ -8,5 +8,5 @@ en_KI{
             "Australian Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 442d604..90f6b03 100644 (file)
@@ -8,5 +8,5 @@ en_KN{
             "East Caribbean Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c2bc66b..dbf1b8d 100644 (file)
@@ -8,5 +8,5 @@ en_KY{
             "Cayman Islands Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4c1909e..115cf22 100644 (file)
@@ -8,5 +8,5 @@ en_LC{
             "East Caribbean Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d3caa89..708f021 100644 (file)
@@ -8,5 +8,5 @@ en_LR{
             "Liberian Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d3a90d3..55bbf17 100644 (file)
@@ -8,5 +8,5 @@ en_LS{
             "South African Rand",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1bf1d9e..8c79ab1 100644 (file)
@@ -8,5 +8,5 @@ en_MG{
             "Malagasy Ariary",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 906f085..8284758 100644 (file)
@@ -8,5 +8,5 @@ en_MO{
             "Macanese Pataca",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d16a34f..97927cd 100644 (file)
@@ -8,5 +8,5 @@ en_MS{
             "East Caribbean Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 80b379e..b004bc4 100644 (file)
@@ -8,5 +8,5 @@ en_MT{
             "British Pound",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2a0fed3..d78ab7b 100644 (file)
@@ -8,5 +8,5 @@ en_MU{
             "Mauritian Rupee",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f62c7ad..6729008 100644 (file)
@@ -8,5 +8,5 @@ en_MW{
             "Malawian Kwacha",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b39e862..c519a35 100644 (file)
@@ -8,5 +8,5 @@ en_MY{
             "Malaysian Ringgit",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 434fe6f..3726cf4 100644 (file)
@@ -8,5 +8,5 @@ en_NA{
             "Namibian Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e7f492d..7228828 100644 (file)
@@ -8,5 +8,5 @@ en_NF{
             "Australian Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 046113d..4555bbf 100644 (file)
@@ -8,5 +8,5 @@ en_NG{
             "Nigerian Naira",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 03f3145..577e05b 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NL{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d95b004..b1bba86 100644 (file)
@@ -8,5 +8,5 @@ en_NR{
             "Australian Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3442367..86d5d6f 100644 (file)
@@ -8,5 +8,5 @@ en_NU{
             "New Zealand Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index af3ea03..fdedfab 100644 (file)
@@ -8,5 +8,5 @@ en_NZ{
             "New Zealand Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5abbe6c..048a901 100644 (file)
@@ -8,5 +8,5 @@ en_PG{
             "Papua New Guinean Kina",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 444379c..0b96aa2 100644 (file)
@@ -8,5 +8,5 @@ en_PH{
             "Philippine Piso",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 592396e..2630a21 100644 (file)
@@ -8,5 +8,5 @@ en_PK{
             "Pakistani Rupee",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1724490..159c8e1 100644 (file)
@@ -8,5 +8,5 @@ en_PN{
             "New Zealand Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bce0771..c254b8a 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_PW{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 790673f..d7740a0 100644 (file)
@@ -8,5 +8,5 @@ en_RW{
             "Rwandan Franc",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bdd4b93..d87181d 100644 (file)
@@ -8,5 +8,5 @@ en_SB{
             "Solomon Islands Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 75ea733..6eed70e 100644 (file)
@@ -8,5 +8,5 @@ en_SC{
             "Seychellois Rupee",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4b1c909..3facf27 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SD{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cd4e0a8..4f9bcd4 100644 (file)
@@ -8,5 +8,5 @@ en_SE{
             "Swedish Krona",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8134437..82bf929 100644 (file)
@@ -8,5 +8,5 @@ en_SG{
             "Singapore Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d2855a2..973071c 100644 (file)
@@ -12,5 +12,5 @@ en_SH{
             "St Helena Pound",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1e2b996..15ccec4 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SI{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 25c59a6..b75181c 100644 (file)
@@ -8,5 +8,5 @@ en_SL{
             "Sierra Leonean Leone",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a710ab7..719e997 100644 (file)
@@ -12,5 +12,5 @@ en_SS{
             "South Sudanese Pound",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d74b614..4a5a158 100644 (file)
@@ -8,5 +8,5 @@ en_SX{
             "Netherlands Antillean Guilder",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d909465..676f5a8 100644 (file)
@@ -8,5 +8,5 @@ en_SZ{
             "Swazi Lilangeni",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 604cc12..49a3483 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TC{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2e89998..82b8364 100644 (file)
@@ -8,5 +8,5 @@ en_TK{
             "New Zealand Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6683ca7..08f1091 100644 (file)
@@ -8,5 +8,5 @@ en_TO{
             "Tongan Paʻanga",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9e3e1da..c78a70d 100644 (file)
@@ -8,5 +8,5 @@ en_TT{
             "Trinidad & Tobago Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 472b07f..5e5fdf3 100644 (file)
@@ -8,5 +8,5 @@ en_TV{
             "Australian Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index acc505b..ba519c0 100644 (file)
@@ -8,5 +8,5 @@ en_TZ{
             "Tanzanian Shilling",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9d57ea3..f033d0c 100644 (file)
@@ -8,5 +8,5 @@ en_UG{
             "Ugandan Shilling",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3d6b121..47f9c69 100644 (file)
@@ -8,5 +8,5 @@ en_VC{
             "East Caribbean Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bc9f3a2..c37b20a 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_VG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6efbc2e..92e1bfd 100644 (file)
@@ -8,5 +8,5 @@ en_VU{
             "Vanuatu Vatu",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1646615..05bf4f6 100644 (file)
@@ -8,5 +8,5 @@ en_WS{
             "Samoan Tala",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0b1790e..8816eb0 100644 (file)
@@ -8,5 +8,5 @@ en_ZA{
             "South African Rand",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4350cef..ffe841c 100644 (file)
@@ -8,5 +8,5 @@ en_ZM{
             "Zambian Kwacha",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fdb8ead..ceeb93f 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_ZW{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e06527c..47d2735 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 eo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 252d029..65fb730 100644 (file)
@@ -2229,5 +2229,5 @@ es{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 03baaea..9afee56 100644 (file)
@@ -60,5 +60,5 @@ es_419{
             other{"(moneda desconocida)"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 54b4701..52508b8 100644 (file)
@@ -15,5 +15,5 @@ es_AR{
     Currencies%variant{\r
         GEL{"GEL"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5e06f87..ae1a1d4 100644 (file)
@@ -8,5 +8,5 @@ es_BO{
             "boliviano",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2f01add..ce89256 100644 (file)
@@ -8,5 +8,5 @@ es_BR{
             "real brasileño",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5b29d42..6b4a70b 100644 (file)
@@ -8,5 +8,5 @@ es_BZ{
             "dólar beliceño",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a5ed74c..3cc5644 100644 (file)
@@ -12,5 +12,5 @@ es_CL{
             "dólar estadounidense",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e6e7c66..2e715cc 100644 (file)
@@ -12,5 +12,5 @@ es_CO{
             "dólar estadounidense",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6d6f388..c3dd99b 100644 (file)
@@ -8,5 +8,5 @@ es_CR{
             "colón costarricense",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 28a8aca..c3cd3b9 100644 (file)
@@ -12,5 +12,5 @@ es_CU{
             "dólar estadounidense",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 79b9c89..c98ca47 100644 (file)
@@ -12,5 +12,5 @@ es_DO{
             "dólar estadounidense",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 736763a..48070db 100644 (file)
@@ -8,5 +8,5 @@ es_EC{
             "dólar estadounidense",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c1b6159..36898b4 100644 (file)
@@ -7,5 +7,5 @@ es_GQ{
             "franco CFA de África Central",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 25a6ec1..4458d26 100644 (file)
@@ -18,5 +18,5 @@ es_GT{
         one{"{1} {0}"}\r
         other{"{1} {0}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 55e3d46..c54ea9e 100644 (file)
@@ -8,5 +8,5 @@ es_HN{
             "lempira hondureño",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 233ca06..a4a30e4 100644 (file)
@@ -126,5 +126,5 @@ es_MX{
             other{"kwachas zambianos"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 33d0f9a..43e87d5 100644 (file)
@@ -8,5 +8,5 @@ es_NI{
             "córdoba nicaragüense",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d79d5c7..483c1a4 100644 (file)
@@ -8,5 +8,5 @@ es_PA{
             "balboa panameño",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a14ffe1..8d9b42f 100644 (file)
@@ -8,5 +8,5 @@ es_PE{
             "sol peruano",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3178196..f3a84d6 100644 (file)
@@ -7,5 +7,5 @@ es_PH{
             "peso filipino",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0379beb..478493f 100644 (file)
@@ -8,5 +8,5 @@ es_PR{
             "dólar estadounidense",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e6403fb..673be6e 100644 (file)
@@ -8,5 +8,5 @@ es_PY{
             "guaraní paraguayo",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 392528c..5979541 100644 (file)
@@ -8,5 +8,5 @@ es_SV{
             "dólar estadounidense",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d8ee5c6..c497c4b 100644 (file)
@@ -110,5 +110,5 @@ es_US{
             other{"kwachas zambianos"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8963fbf..5be1a44 100644 (file)
@@ -16,5 +16,5 @@ es_UY{
             "unidad previsional uruguayo",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 94f34c9..f49801d 100644 (file)
@@ -14,7 +14,6 @@ es_VE{
     }\r
     Currencies%narrow{\r
         VEF{"Bs."}\r
-        VES{"Bs.S"}\r
     }\r
     CurrencyPlurals{\r
         VES{\r
@@ -22,5 +21,5 @@ es_VE{
             other{"bolívares soberanos"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7c8613c..bb8b79e 100644 (file)
@@ -2181,5 +2181,5 @@ et{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 61fad97..bd53930 100644 (file)
@@ -1420,5 +1420,5 @@ eu{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a2a7bfd..b4bb562 100644 (file)
@@ -235,5 +235,5 @@ ewo{
             "Dolár yá Zimbabwé",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0145946..df0f813 100644 (file)
@@ -454,6 +454,10 @@ fa{
             "LTL",\r
             "لیتاس لیتوانی",\r
         }\r
+        LTT{\r
+            "LTT",\r
+            "تالوناس لیتوانی",\r
+        }\r
         LUF{\r
             "LUF",\r
             "فرانک لوکزامبورگ",\r
@@ -1898,5 +1902,5 @@ fa{
             other{"کواچای زامبیا"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9d5229a..d1fc4ba 100644 (file)
@@ -63,5 +63,5 @@ fa_AF{
             "دالر امریکا",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f882c40..1827cf1 100644 (file)
@@ -231,5 +231,5 @@ ff{
             "Dolaar Simbaabuwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/curr/ff_Adlm.txt b/source/data/curr/ff_Adlm.txt
new file mode 100644 (file)
index 0000000..c29d2e4
--- /dev/null
@@ -0,0 +1,1289 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff_Adlm{\r
+    %%Parent{"root"}\r
+    Currencies{\r
+        AED{\r
+            "AED",\r
+            "𞤁𞤭𞤪𞤸𞤢𞤥𞤵 𞤋𞤥𞤢𞥄𞤪𞤢𞤼𞤭𞤲𞤳𞤮",\r
+        }\r
+        AFN{\r
+            "AFN",\r
+            "𞤀𞤬𞤿𞤢𞤲𞤭 𞤀𞤬𞤿𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        ALL{\r
+            "ALL",\r
+            "𞤂𞤫𞤳 𞤀𞤤𞤦𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        AMD{\r
+            "AMD",\r
+            "𞤁𞤢𞤪𞤢𞤥𞤵 𞤀𞤪𞤥𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        ANG{\r
+            "ANG",\r
+            "𞤊𞤵𞤤𞤮𞤪𞤭𞤲 𞤀𞤲𞤼𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        AOA{\r
+            "AOA",\r
+            "𞤑𞤵𞤱𞤢𞤲𞥁𞤢 𞤀𞤲𞤺𞤮𞤤𞤢𞤲𞤳𞤮",\r
+        }\r
+        ARS{\r
+            "ARS",\r
+            "𞤆𞤫𞤧𞤮 𞤀𞤪𞤶𞤢𞤲𞤼𞤭𞤲𞤢",\r
+        }\r
+        AUD{\r
+            "A$",\r
+            "𞤁𞤢𞤤𞤢 𞤌𞤧𞤼𞤪𞤢𞤤𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        AWG{\r
+            "AWG",\r
+            "𞤊𞤵𞤤𞤮𞤪𞤭𞤲 𞤀𞤪𞤵𞤦𞤢𞤲𞤳𞤮",\r
+        }\r
+        AZN{\r
+            "AZN",\r
+            "𞤃𞤢𞤲𞤢𞥄𞤼𞤵 𞤀𞥁𞤫𞤪𞤦𞤢𞤴𞤶𞤢𞤲𞤳𞤮",\r
+        }\r
+        BAM{\r
+            "BAM",\r
+            "𞤃𞤢𞤪𞤳 𞤄𞤮𞤧𞤲𞤭𞤴𞤢-𞤖𞤫𞤪𞤶𞤫𞤺𞤮𞤾𞤭𞤲𞤳𞤮 𞤱𞤢𞤴𞤤𞤮𞤼𞤮𞥅𞤯𞤭",\r
+        }\r
+        BBD{\r
+            "BBD",\r
+            "𞤁𞤢𞤤𞤢 𞤄𞤢𞤪𞤦𞤢𞤣𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        BDT{\r
+            "BDT",\r
+            "𞤚𞤢𞤪𞤢 𞤄𞤢𞤲𞤺𞤭𞤤𞤢𞤣𞤫𞥅𞤧𞤭𞤲𞤳𞤮",\r
+        }\r
+        BGN{\r
+            "BGN",\r
+            "𞤂𞤫𞥅𞤾 𞤄𞤭𞤤𞤺𞤢𞤪𞤭𞤲𞤳𞤮",\r
+        }\r
+        BHD{\r
+            "BHD",\r
+            "𞤁𞤭𞤲𞤢𞥄𞤪 𞤄𞤢𞤸𞤢𞤪𞤢𞥄𞤲𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        BIF{\r
+            "BIF",\r
+            "𞤊𞤢𞤪𞤢𞤲 𞤄𞤵𞤪𞤵𞤲𞤣𞤭𞤲𞤳𞤮",\r
+        }\r
+        BMD{\r
+            "BMD",\r
+            "𞤁𞤢𞤤𞤢 𞤄𞤫𞤪𞤥𞤵𞤣𞤢𞥄𞤲",\r
+        }\r
+        BND{\r
+            "BND",\r
+            "𞤁𞤢𞤤𞤢 𞤄𞤵𞤪𞤲𞤫𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        BOB{\r
+            "BOB",\r
+            "𞤄𞤮𞤤𞤭𞤾𞤭𞤴𞤢𞤲𞤮 𞤄𞤮𞤤𞤭𞤾𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        BRL{\r
+            "R$",\r
+            "𞤈𞤭𞤴𞤢𞤤 𞤄𞤪𞤢𞤧𞤭𞤤𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        BSD{\r
+            "BSD",\r
+            "𞤁𞤢𞤤𞤢 𞤄𞤢𞤸𞤢𞤥𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        BTN{\r
+            "BTN",\r
+            "𞤐𞤘𞤵𞤤𞤼𞤵𞤪𞤵𞤥𞤵 𞤄𞤵𞤼𞤢𞤲𞤭𞤲𞤳𞤮",\r
+        }\r
+        BWP{\r
+            "BWP",\r
+            "𞤆𞤵𞤤𞤢 𞤄𞤮𞤼𞤵𞤧𞤱𞤢𞤲𞤢𞤲𞤳𞤮",\r
+        }\r
+        BYN{\r
+            "BYN",\r
+            "𞤈𞤵𞥅𞤦𞤮𞤤 𞤄𞤫𞤤𞤢𞤪𞤭𞥅𞤧𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        BZD{\r
+            "BZD",\r
+            "𞤁𞤢𞤤𞤢 𞤄𞤫𞤤𞤭𞥅𞤧",\r
+        }\r
+        CAD{\r
+            "CA$",\r
+            "𞤁𞤢𞤤𞤢 𞤑𞤢𞤲𞤢𞤣𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        CDF{\r
+            "CDF",\r
+            "𞤊𞤢𞤪𞤢𞤲 𞤑𞤮𞤲𞤺𞤮𞤲𞤳𞤮",\r
+        }\r
+        CHF{\r
+            "CHF",\r
+            "𞤊𞤢𞤪𞤢𞤲 𞤅𞤵𞤱𞤭𞥅𞤧",\r
+        }\r
+        CLP{\r
+            "CLP",\r
+            "𞤆𞤫𞤧𞤮 𞤕𞤭𞤤𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        CNH{\r
+            "CNH",\r
+            "𞤒𞤵𞤱𞤢𞤲 𞤕𞤢𞤴𞤲𞤭𞤲𞤳𞤮 (𞤺𞤢𞥄𞤲𞤭𞤲𞤳𞤮)",\r
+        }\r
+        CNY{\r
+            "CN¥",\r
+            "𞤒𞤵𞤱𞤢𞤲 𞤕𞤢𞤴𞤲𞤭𞤲𞤳𞤮",\r
+        }\r
+        COP{\r
+            "COP",\r
+            "𞤆𞤫𞤧𞤮 𞤑𞤮𞤤𞤮𞤥𞤦𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        CRC{\r
+            "CRC",\r
+            "𞤑𞤮𞤤𞤮𞥅𞤲 𞤑𞤮𞤧𞤼𞤢 𞤈𞤭𞤳𞤢𞤲",\r
+        }\r
+        CUC{\r
+            "CUC",\r
+            "𞤆𞤫𞤧𞤮 𞤑𞤵𞤦𞤢𞤲𞤳𞤮 𞤏𞤢𞤴𞤤𞤮𞤼𞤮𞥅𞤲𞥋𞤺𞤮",\r
+        }\r
+        CUP{\r
+            "CUP",\r
+            "𞤆𞤫𞤧𞤮 𞤑𞤵𞤦𞤢𞤲𞤳𞤮",\r
+        }\r
+        CVE{\r
+            "CVE",\r
+            "𞤉𞤧𞤳𞤵𞤣𞤮 𞤑𞤢𞤨-𞤜𞤫𞥅𞤪𞤣𞤢𞤲𞤳𞤮",\r
+        }\r
+        CZK{\r
+            "CZK",\r
+            "𞤑𞤮𞤪𞤵𞤲𞤢 𞤕𞤫𞥅𞤳𞤭𞤲𞤳𞤮",\r
+        }\r
+        DJF{\r
+            "DJF",\r
+            "𞤊𞤢𞤪𞤢𞤲 𞤔𞤭𞤦𞤵𞤼𞤭𞤲𞤳𞤮",\r
+        }\r
+        DKK{\r
+            "DKK",\r
+            "𞤑𞤮𞤪𞤲𞤫 𞤁𞤢𞤲𞤭𞥅𞤧𞤭𞤲𞤳𞤮",\r
+        }\r
+        DOP{\r
+            "DOP",\r
+            "𞤆𞤫𞤧𞤮 𞤁𞤮𞤥𞤭𞤲𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        DZD{\r
+            "DZD",\r
+            "𞤁𞤭𞤲𞤢𞥄𞤪 𞤀𞤤𞤶𞤢𞤪𞤭𞤲𞤳𞤮",\r
+        }\r
+        EGP{\r
+            "EGP",\r
+            "𞤆𞤢𞤱𞤲𞤣𞤵 𞤃𞤭𞤧𞤭𞤪𞤢𞤲𞤳𞤮",\r
+        }\r
+        ERN{\r
+            "ERN",\r
+            "𞤐𞤢𞤳𞤬𞤢 𞤉𞤪𞤭𞤼𞤫𞤪𞤭𞤲𞤳𞤮",\r
+        }\r
+        ETB{\r
+            "ETB",\r
+            "𞤄𞤭𞤪 𞤖𞤢𞤦𞤢𞤧𞤭𞤲𞤳𞤮",\r
+        }\r
+        EUR{\r
+            "€",\r
+            "𞤒𞤵𞤪𞤮𞥅",\r
+        }\r
+        FJD{\r
+            "FJD",\r
+            "𞤁𞤢𞤤𞤢 𞤊𞤭𞤶𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        FKP{\r
+            "FKP",\r
+            "𞤆𞤢𞤱𞤲𞤣𞤵 𞤅𞤵𞤪𞤭𞥅𞤶𞤫 𞤊𞤢𞤤𞤳𞤵𞤤𞤢𞤲𞤣𞤭𞤳𞤮",\r
+        }\r
+        GBP{\r
+            "£",\r
+            "𞤆𞤢𞤱𞤲𞤣𞤵 𞤄𞤪𞤭𞤼𞤭𞥅𞤧𞤭𞤲𞤳𞤮",\r
+        }\r
+        GEL{\r
+            "GEL",\r
+            "𞤂𞤢𞥄𞤪𞤭 𞤔𞤮𞤪𞤶𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        GHS{\r
+            "GHS",\r
+            "𞤅𞤭𞤣𞤭 𞤘𞤢𞤲𞤢𞤲𞤳𞤮",\r
+        }\r
+        GIP{\r
+            "GIP",\r
+            "𞤆𞤢𞤱𞤲𞥋𞤣𞤵 𞤔𞤭𞤤𞤦𞤪𞤢𞤤𞤼𞤢𞤪",\r
+        }\r
+        GMD{\r
+            "GMD",\r
+            "𞤁𞤢𞤤𞤢𞤧𞤭 𞤘𞤢𞤥𞤦𞤭𞤲𞤳𞤮",\r
+        }\r
+        GNF{\r
+            "FG",\r
+            "𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮",\r
+        }\r
+        GTQ{\r
+            "GTQ",\r
+            "𞤑𞤫𞤼𞤵𞥁𞤢𞤤 𞤘𞤵𞤱𞤢𞤼𞤫𞤥𞤢𞤤𞤢𞤲𞤳𞤮",\r
+        }\r
+        GYD{\r
+            "GYD",\r
+            "𞤁𞤢𞤤𞤢 𞤘𞤵𞤴𞤢𞤲𞤫𞥅𞤧𞤭𞤲𞤳𞤮",\r
+        }\r
+        HKD{\r
+            "HK$",\r
+            "𞤁𞤢𞤤𞤢 𞤖𞤮𞤲𞤳𞤮𞤲",\r
+        }\r
+        HNL{\r
+            "HNL",\r
+            "𞤂𞤫𞤥𞤨𞤭𞤪𞤢 𞤖𞤮𞤲𞤣𞤵𞤪𞤢𞤲𞤳𞤮",\r
+        }\r
+        HRK{\r
+            "HRK",\r
+            "𞤑𞤵𞤲𞤢 𞤑𞤵𞤪𞤢𞥄𞤧𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        HTG{\r
+            "HTG",\r
+            "𞤘𞤵𞥅𞤪𞤣𞤫 𞤖𞤢𞤴𞤼𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        HUF{\r
+            "HUF",\r
+            "𞤊𞤮𞤪𞤭𞤲𞤼𞤵 𞤖𞤵𞤲𞤺𞤢𞤪𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        IDR{\r
+            "IDR",\r
+            "𞤈𞤵𞤨𞤭𞤴𞤢 𞤋𞤲𞤣𞤮𞤲𞤫𞤧𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        ILS{\r
+            "₪",\r
+            "𞤡𞤫𞤳𞤫𞤤 𞤋𞤧𞤪𞤢𞥄𞤤𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        INR{\r
+            "₹",\r
+            "𞤈𞤵𞥅𞤨𞤭𞥅 𞤖𞤭𞤲𞤣𞤭𞤧𞤼𞤢𞤲𞤳𞤮",\r
+        }\r
+        IQD{\r
+            "IQD",\r
+            "𞤁𞤭𞤲𞤢𞥄𞤪 𞤋𞤪𞤢𞥄𞤳𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        IRR{\r
+            "IRR",\r
+            "𞤈𞤭𞤴𞤢𞥄𞤤 𞤋𞤪𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        ISK{\r
+            "ISK",\r
+            "𞤑𞤮𞤪𞤮𞤲𞤢 𞤀𞤴𞤧𞤭𞤤𞤢𞤲𞤣𞤭𞤲𞤳𞤮",\r
+        }\r
+        JMD{\r
+            "JMD",\r
+            "𞤁𞤢𞤤𞤢 𞤔𞤢𞤥𞤢𞤴𞤭𞤲𞤳𞤮",\r
+        }\r
+        JOD{\r
+            "JOD",\r
+            "𞤁𞤭𞤲𞤢𞥄𞤪 𞤔𞤮𞤪𞤣𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        JPY{\r
+            "JP¥",\r
+            "𞤒𞤫𞤲 𞤔𞤢𞤨𞤢𞤲𞤳𞤮",\r
+        }\r
+        KES{\r
+            "KES",\r
+            "𞤅𞤭𞤤𞤭𞤲 𞤑𞤫𞤲𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        KGS{\r
+            "KGS",\r
+            "𞤅𞤮𞤥𞤵 𞤑𞤭𞤪𞤺𞤭𞤧𞤼𞤢𞤲𞤭𞤲𞤳𞤮",\r
+        }\r
+        KHR{\r
+            "KHR",\r
+            "𞤈𞤭𞤴𞤢𞤤 𞤑𞤢𞤥𞤦𞤮𞤣𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        KMF{\r
+            "KMF",\r
+            "𞤊𞤢𞤪𞤢𞤲 𞤑𞤮𞤥𞤮𞤪𞤭𞤲𞤳𞤮",\r
+        }\r
+        KPW{\r
+            "KPW",\r
+            "𞤏𞤮𞤲 𞤁𞤮𞤱𞤣𞤮𞤱𞤪𞤭 𞤑𞤮𞥅𞤪𞤫𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        KRW{\r
+            "₩",\r
+            "𞤱𞤮𞤲 𞤂𞤫𞤴𞤤𞤫𞤴𞤪𞤭 𞤑𞤮𞥅𞤪𞤫𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        KWD{\r
+            "KWD",\r
+            "𞤁𞤋𞤲𞤢𞥄𞤪 𞤑𞤵𞤱𞤢𞤴𞤼𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        KYD{\r
+            "KYD",\r
+            "𞤁𞤢𞤤𞤢 𞤅𞤵𞤪𞤭𞥅𞤶𞤫 𞤑𞤢𞤴𞤥𞤢𞥄𞤲",\r
+        }\r
+        KZT{\r
+            "KZT",\r
+            "𞤚𞤫𞤲𞤺𞤫 𞤑𞤢𞥁𞤢𞤳𞤭𞤧𞤼𞤢𞤲𞤭𞤲𞤳𞤮",\r
+        }\r
+        LAK{\r
+            "LAK",\r
+            "𞤑𞤭𞤨𞤵 𞤂𞤢𞤱𞤮𞥅𞤧𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        LBP{\r
+            "LBP",\r
+            "𞤆𞤢𞤱𞤲𞥋𞤣𞤵 𞤂𞤭𞤦𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        LKR{\r
+            "LKR",\r
+            "𞤈𞤵𞥅𞤨𞤭𞥅 𞤅𞤭𞤪𞤭-𞤂𞤢𞤲𞤳𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        LRD{\r
+            "LRD",\r
+            "𞤁𞤢𞤤𞤢 𞤂𞤭𞤦𞤫𞤪𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        LYD{\r
+            "LYD",\r
+            "𞤁𞤭𞤲𞤢𞥄𞤪 𞤂𞤭𞤦𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        MAD{\r
+            "MAD",\r
+            "𞤁𞤭𞤪𞤸𞤢𞤥𞤵 𞤃𞤮𞤪𞤮𞤳𞤢𞤲𞤳𞤮",\r
+        }\r
+        MDL{\r
+            "MDL",\r
+            "𞤂𞤭𞥅𞤱𞤮 𞤃𞤮𞤤𞤣𞤮𞤾𞤢𞤲𞤳𞤮",\r
+        }\r
+        MGA{\r
+            "MGA",\r
+            "𞤀𞤪𞤭𞤴𞤢𞤪𞤭 𞤃𞤢𞤤𞤺𞤢𞤲𞤭𞤲𞤳𞤮",\r
+        }\r
+        MKD{\r
+            "MKD",\r
+            "𞤁𞤭𞤲𞤢𞥄𞤪 𞤃𞤢𞤧𞤫𞤣𞤮𞤲𞤭𞤲𞤳𞤮",\r
+        }\r
+        MMK{\r
+            "MMK",\r
+            "𞤑𞤭𞤴𞤢𞤼𞤵 𞤃𞤭𞤴𞤢𞤥𞤢𞤪𞤭𞤲𞤳𞤮",\r
+        }\r
+        MNT{\r
+            "MNT",\r
+            "𞤚𞤵𞤺𞤵𞤪𞤭𞤳𞤵 𞤃𞤮𞤲𞤺𞤮𞤤𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        MOP{\r
+            "MOP",\r
+            "𞤆𞤢𞤼𞤢𞤳𞤢 𞤃𞤢𞤳𞤢𞤱𞤮𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        MRO{\r
+            "MRO",\r
+            "𞤓𞤺𞤭𞤴𞤢 𞤃𞤮𞤪𞤭𞤼𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮 (𞥑𞥙𞥗𞥓 - 𞥒𞥐𞥑𞥗)",\r
+        }\r
+        MRU{\r
+            "MRU",\r
+            "𞤓𞤺𞤭𞤴𞤢 𞤃𞤮𞤪𞤭𞤼𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        MUR{\r
+            "MUR",\r
+            "𞤈𞤵𞤨𞤭𞥅 𞤃𞤮𞤪𞤭𞤧𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        MVR{\r
+            "MVR",\r
+            "𞤈𞤵𞤬𞤭𞤴𞤢𞥄 𞤃𞤢𞤤𞤣𞤭𞤾𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        MWK{\r
+            "MWK",\r
+            "𞤑𞤢𞤱𞤢𞤷𞤢 𞤃𞤢𞤤𞤢𞤱𞤭𞤲𞤳𞤮",\r
+        }\r
+        MXN{\r
+            "MX$",\r
+            "𞤆𞤫𞤧𞤮 𞤃𞤫𞤳𞤧𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        MYR{\r
+            "MYR",\r
+            "𞤈𞤭𞤲𞤺𞤵𞤼𞤵 𞤃𞤢𞤤𞤫𞥅𞤧𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        MZN{\r
+            "MZN",\r
+            "𞤃𞤫𞤼𞤭𞤳𞤮𞤤 𞤃𞤮𞥁𞤢𞤥𞤦𞤭𞤲𞤳𞤮",\r
+        }\r
+        NAD{\r
+            "NAD",\r
+            "𞤁𞤢𞤤𞤢 𞤐𞤢𞤥𞤭𞤥𞤦𞤭𞤲𞤳𞤮",\r
+        }\r
+        NGN{\r
+            "𞤐𞤐𞤘",\r
+            "𞤐𞤢𞤴𞤪𞤢 𞤐𞤢𞤶𞤭𞤪𞤢𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        NIO{\r
+            "NIO",\r
+            "𞤑𞤮𞥅𞤪𞤣𞤮𞤦𞤢 𞤐𞤭𞤳𞤢𞤪𞤢𞤺𞤵𞤱𞤢𞤲𞤳𞤮",\r
+        }\r
+        NOK{\r
+            "NOK",\r
+            "𞤑𞤪𞤮𞤲𞤫 𞤐𞤮𞤪𞤱𞤫𞤶𞤭𞤲𞤳𞤮",\r
+        }\r
+        NPR{\r
+            "NPR",\r
+            "𞤈𞤵𞥅𞤨𞤭𞥅 𞤐𞤫𞤨𞤢𞤤𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        NZD{\r
+            "NZ$",\r
+            "𞤁𞤢𞤤𞤢 𞤐𞤫𞤱-𞤔𞤭𞤤𞤢𞤲𞤣𞤭𞤲𞤳𞤮",\r
+        }\r
+        OMR{\r
+            "OMR",\r
+            "𞤈𞤭𞤴𞤢𞥄𞤤 𞤌𞤥𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        PAB{\r
+            "PAB",\r
+            "𞤄𞤢𞤤𞤦𞤮𞤱𞤢 𞤆𞤢𞤲𞤢𞤥𞤢𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        PEN{\r
+            "PEN",\r
+            "𞤅𞤮𞤤 𞤆𞤫𞤪𞤵𞤲𞤳𞤮",\r
+        }\r
+        PGK{\r
+            "𞤑𞤆𞤘",\r
+            "𞤑𞤭𞤲𞤢 𞤆𞤢𞤨𞤵𞤱𞤢 𞤐𞤫𞤱-𞤘𞤭𞤲𞤫𞤲𞤳𞤮",\r
+        }\r
+        PHP{\r
+            "𞤆𞤆𞤖",\r
+            "𞤆𞤭𞤧𞤮 𞤊𞤭𞤤𞤭𞤨𞥆𞤭𞤲𞤳𞤮",\r
+        }\r
+        PKR{\r
+            "PKR",\r
+            "𞤈𞤵𞥅𞤨𞤭𞥅 𞤆𞤢𞤳𞤭𞤧𞤼𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        PLN{\r
+            "PLN",\r
+            "𞤔𞤢𞤤𞤮𞤼𞤵 𞤆𞤮𞤤𞤭𞥅𞤧𞤭𞤲𞤳𞤮",\r
+        }\r
+        PYG{\r
+            "PYG",\r
+            "𞤘𞤵𞤱𞤢𞤪𞤢𞤲𞤭 𞤆𞤢𞥄𞤪𞤢𞤺𞤵𞤴𞤫𞤲𞤳𞤮",\r
+        }\r
+        QAR{\r
+            "QAR",\r
+            "𞤈𞤭𞤴𞤢𞥄𞤤 𞤗𞤢𞤼𞤢𞤪𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        RON{\r
+            "RON",\r
+            "𞤂𞤫𞤱𞤵 𞤈𞤮𞤥𞤢𞤲𞤭𞤲𞤳𞤮",\r
+        }\r
+        RSD{\r
+            "RSD",\r
+            "𞤁𞤭𞤲𞤢𞥄𞤪 𞤅𞤫𞤪𞤦𞤭𞤲𞤳𞤮",\r
+        }\r
+        RUB{\r
+            "RUB",\r
+            "𞤈𞤵𞥅𞤦𞤮𞤤 𞤈𞤭𞥅𞤧𞤭𞤲𞤳𞤮",\r
+        }\r
+        RWF{\r
+            "RWF",\r
+            "𞤊𞤢𞤪𞤢𞤲 𞤈𞤵𞤱𞤢𞤲𞤣𞤢𞤲𞤳𞤮",\r
+        }\r
+        SAR{\r
+            "SAR",\r
+            "𞤈𞤭𞤴𞤢𞤤 𞤅𞤢𞤵𞥅𞤣𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        SBD{\r
+            "SBD",\r
+            "𞤁𞤢𞤤𞤢 𞤅𞤵𞤪𞤭𞥅𞤶𞤫 𞤅𞤵𞤤𞤫𞤴𞤥𞤢𞥄𞤲𞤭𞤲𞤳𞤮",\r
+        }\r
+        SCR{\r
+            "SCR",\r
+            "𞤈𞤵𞤨𞤭𞥅 𞤅𞤫𞤴𞤧𞤭𞤤𞤭𞤲𞤳𞤮",\r
+        }\r
+        SDG{\r
+            "SDG",\r
+            "𞤆𞤢𞤱𞤲𞤣𞤵 𞤅𞤵𞤣𞤢𞤲𞤳𞤮",\r
+        }\r
+        SEK{\r
+            "SEK",\r
+            "𞤑𞤪𞤮𞤲𞤢 𞤅𞤵𞤱𞤫𞤣𞤭𞤲𞤳𞤮",\r
+        }\r
+        SGD{\r
+            "SGD",\r
+            "𞤁𞤢𞤤𞤢 𞤅𞤭𞤲𞤺𞤢𞤨𞤮𞤪𞤫𞤲𞤳𞤮",\r
+        }\r
+        SHP{\r
+            "SHP",\r
+            "𞤆𞤢𞤱𞤲𞤣𞤵 𞤅𞤫𞤲-𞤖𞤫𞤤𞤫𞤲𞤢",\r
+        }\r
+        SLL{\r
+            "SLL",\r
+            "𞤂𞤫𞤴𞤮𞤲 𞤅𞤫𞤪𞤢𞤤𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        SOS{\r
+            "SOS",\r
+            "𞤅𞤭𞤤𞤭𞤲 𞤅𞤮𞤥𞤢𞤤𞤭𞤲𞤳𞤮",\r
+        }\r
+        SRD{\r
+            "SRD",\r
+            "𞤁𞤢𞤤𞤢 𞤅𞤵𞤪𞤵𞤲𞤢𞤥𞤭𞤲𞤳𞤮",\r
+        }\r
+        SSP{\r
+            "SSP",\r
+            "𞤆𞤢𞤱𞤲𞤣𞤵 𞤂𞤫𞤴𞤤𞤫𞤴𞤪𞤭 𞤅𞤵𞤣𞤢𞤲𞤭𞤲𞤳𞤮",\r
+        }\r
+        STN{\r
+            "STN",\r
+            "𞤁𞤮𞤦𞤢𞤪𞤢 𞤅𞤢𞤱𞤮-𞤚𞤮𞤥𞤫 & 𞤆𞤫𞤪𞤫𞤲𞤧𞤭𞤨",\r
+        }\r
+        SYP{\r
+            "SYP",\r
+            "𞤆𞤢𞤱𞤲𞥋𞤣𞤵 𞤅𞤭𞤪𞤢𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        SZL{\r
+            "SZL",\r
+            "𞤂𞤭𞤤𞤢𞤲𞤺𞤫𞤲𞤭 𞤅𞤵𞤱𞤢𞤶𞤭",\r
+        }\r
+        THB{\r
+            "THB",\r
+            "𞤄𞤢𞤸𞤼𞤵 𞤚𞤢𞤴𞤤𞤢𞤲𞤣𞤭𞤲𞤳𞤮",\r
+        }\r
+        TJS{\r
+            "TJS",\r
+            "𞤅𞤢𞤥𞤮𞥅𞤲𞤭 𞤚𞤢𞤶𞤭𞤳𞤭𞤧𞤼𞤢𞤲𞤳𞤮",\r
+        }\r
+        TMT{\r
+            "TMT",\r
+            "𞤃𞤢𞤲𞤢𞤼𞤵 𞤚𞤵𞤪𞤳𞤵𞤥𞤫𞤲𞤭𞤧𞤼𞤢𞤲𞤳𞤮",\r
+        }\r
+        TND{\r
+            "TND",\r
+            "𞤁𞤭𞤲𞤢𞥄𞤪 𞤚𞤵𞥅𞤲𞤭𞤧𞤭𞤲𞤳𞤮",\r
+        }\r
+        TOP{\r
+            "TOP",\r
+            "𞤆𞤢𞤢𞤲𞤺𞤢 𞤚𞤮𞤲𞤺𞤢𞤲𞤳𞤮",\r
+        }\r
+        TRY{\r
+            "TRY",\r
+            "𞤂𞤭𞤪𞤢 𞤚𞤵𞤪𞤳𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        TTD{\r
+            "TTD",\r
+            "𞤁𞤢𞤤𞤢 𞤚𞤭𞤪𞤲𞤭𞤣𞤢𞥄𞤣 & 𞤚𞤮𞤦𞤢𞤺𞤮",\r
+        }\r
+        TWD{\r
+            "NT$",\r
+            "𞤁𞤢𞤤𞤢 𞤚𞤢𞤴𞤱𞤢𞥄𞤲𞤳𞤮",\r
+        }\r
+        TZS{\r
+            "TZS",\r
+            "𞤅𞤭𞤤𞤭𞤲 𞤚𞤢𞤲𞥁𞤢𞤲𞤭𞤲𞤳𞤮",\r
+        }\r
+        UAH{\r
+            "UAH",\r
+            "𞤖𞤵𞤪𞤢𞤾𞤫𞤲𞤭𞤴𞤢 𞤒𞤵𞤳𞤫𞤪𞤫𞥅𞤲𞤭𞤲𞤳𞤮",\r
+        }\r
+        UGX{\r
+            "UGX",\r
+            "𞤅𞤭𞤤𞤭𞤲 𞤓𞤺𞤢𞤲𞤣𞤢𞤲𞤳𞤮",\r
+        }\r
+        USD{\r
+            "US$",\r
+            "𞤁𞤢𞤤𞤢 𞤁𞤫𞤲𞤼𞤢𞤤 𞤂𞤢𞤪𞤫 𞤀𞤥𞤫𞤪𞤭𞤳",\r
+        }\r
+        UYU{\r
+            "UYU",\r
+            "𞤆𞤫𞤧𞤮 𞤓𞤪𞤵𞤺𞤵𞤪𞤭𞤲𞤳𞤮",\r
+        }\r
+        UZS{\r
+            "UZS",\r
+            "𞤅𞤮𞤥𞤵 𞤓𞥁𞤦𞤫𞤳𞤭𞤧𞤼𞤢𞤲𞤳𞤮",\r
+        }\r
+        VEF{\r
+            "VEF",\r
+            "𞤄𞤮𞤤𞤭𞤾𞤢𞥄𞤪 𞤜𞤫𞤲𞤭𞥅𞤧𞤫𞤤𞤢𞤲𞤳𞤮 (𞥒𞥐𞥐𞥘 - 𞥒𞥐𞥑𞥘)",\r
+        }\r
+        VES{\r
+            "VES",\r
+            "𞤄𞤮𞤤𞤭𞤾𞤢𞥄𞤪 𞤜𞤫𞤲𞤭𞥅𞤧𞤫𞤤𞤢𞤲𞤳𞤮",\r
+        }\r
+        VND{\r
+            "₫",\r
+            "𞤁𞤮𞤲𞤺𞤵 𞤜𞤭𞤴𞤫𞤼𞤭𞤲𞤢𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        VUV{\r
+            "VUV",\r
+            "𞤜𞤢𞤼𞤵 𞤜𞤢𞤲𞤵𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        WST{\r
+            "WST",\r
+            "𞤚𞤢𞤤𞤢 𞤅𞤢𞤥𞤮𞤱𞤢𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+        XAF{\r
+            "𞤊𞤅𞤊𞤀",\r
+            "𞤊𞤢𞤪𞤢𞤲 𞤚𞤵𞤦𞤮𞥅𞤪𞤭 𞤀𞤬𞤪𞤭𞤳𞤭𞤲𞤳𞤮",\r
+        }\r
+        XCD{\r
+            "EC$",\r
+            "𞤁𞤢𞤤𞤢 𞤊𞤵𞤯𞤲𞤢𞥄𞤲𞥋𞤺𞤫 𞤑𞤢𞤪𞤭𞤦𞤭𞤴𞤢",\r
+        }\r
+        XOF{\r
+            "𞤅𞤊𞤀",\r
+            "𞤊𞤢𞤪𞤢𞤲 𞤅𞤊𞤀 𞤖𞤭𞥅𞤪𞤲𞤢𞥄𞤲𞤺𞤫 𞤀𞤬𞤪𞤭𞤳𞤢",\r
+        }\r
+        XPF{\r
+            "CFPF",\r
+            "𞤊𞤢𞤪𞤢𞤲 𞤅𞤊𞤆",\r
+        }\r
+        XXX{\r
+            "¤",\r
+            "𞤐𞤄𞤵𞥅𞤯𞤭 𞤢𞤧-𞤢𞤲𞤣𞤢𞥄𞤯𞤭",\r
+        }\r
+        YER{\r
+            "YER",\r
+            "𞤈𞤭𞤴𞤢𞥄𞤤 𞤒𞤫𞤥𞤫𞤲𞤭𞤲𞤳𞤮",\r
+        }\r
+        ZAR{\r
+            "ZAR",\r
+            "𞤈𞤢𞤲𞤣𞤭 𞤂𞤫𞤴𞤤𞤫𞤴𞤪𞤭 𞤀𞤬𞤪𞤭𞤳𞤢𞤲𞤳𞤮",\r
+        }\r
+        ZMW{\r
+            "ZMW",\r
+            "𞤑𞤢𞤱𞤢𞤧𞤢 𞤟𞤢𞤥𞤦𞤭𞤲𞤳𞤮",\r
+        }\r
+    }\r
+    Currencies%narrow{\r
+        BMD{"$"}\r
+        BYN{"р."}\r
+        BZD{"$"}\r
+        CAD{"$"}\r
+        CRC{"₡"}\r
+        CZK{"Kč"}\r
+        GNF{"𞤊𞤘"}\r
+        GTQ{"Q"}\r
+        HUF{"Ft"}\r
+        NIO{"C$"}\r
+        PLN{"zł"}\r
+        USD{"$"}\r
+    }\r
+    CurrencyPlurals{\r
+        AED{\r
+            one{"𞤣𞤭𞤪𞤸𞤢𞤥𞤵 𞤋𞤥𞤢𞥄𞤪𞤢𞤼𞤭𞤲𞤳𞤮"}\r
+            other{"𞤣𞤭𞤪𞤸𞤢𞤥𞤵𞥅𞤶𞤭 𞤋𞤥𞤢𞥄𞤪𞤢𞤼𞤭𞤲𞤳𞤮"}\r
+        }\r
+        AFN{\r
+            one{"𞤢𞤬𞤿𞤢𞤲𞤭 𞤀𞤬𞤿𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤢𞤬𞤿𞤢𞤲𞤭𞥅𞤶𞤭 𞤀𞤬𞤿𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        ALL{\r
+            one{"𞤤𞤫𞤳 𞤀𞤤𞤦𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤤𞤫𞤳𞤭𞥅𞤶𞤭 𞤀𞤤𞤦𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        AMD{\r
+            one{"𞤣𞤢𞤪𞤢𞤥𞤵 𞤀𞤪𞤥𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤣𞤢𞤪𞤢𞤥𞤵𞥅𞤶𞤭 𞤀𞤪𞤥𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        ANG{\r
+            one{"𞤊𞤵𞤤𞤮𞤪𞤭𞤲 𞤀𞤲𞤼𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤊𞤵𞤤𞤮𞤪𞤭𞤲𞤶𞤭 𞤀𞤲𞤼𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        AOA{\r
+            one{"𞤳𞤵𞤱𞤢𞤲𞥁𞤢 𞤀𞤲𞤺𞤮𞤤𞤢𞤲𞤳𞤮"}\r
+            other{"𞤳𞤵𞤱𞤢𞤲𞥁𞤢𞤢𞥄𞤶𞤭 𞤀𞤲𞤺𞤮𞤤𞤢𞤲𞤳𞤮"}\r
+        }\r
+        ARS{\r
+            one{"𞤆𞤫𞤧𞤮 𞤀𞤪𞤶𞤢𞤲𞤼𞤭𞤲𞤢"}\r
+            other{"𞤆𞤫𞤧𞤮𞥅𞤶𞤭 𞤀𞤪𞤶𞤢𞤲𞤼𞤭𞤲𞤢"}\r
+        }\r
+        AUD{\r
+            one{"𞤣𞤢𞤤𞤢 𞤌𞤧𞤼𞤪𞤢𞤤𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤣𞤢𞤤𞤢𞥄𞤶𞤭 𞤌𞤧𞤼𞤪𞤢𞤤𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        AWG{\r
+            one{"𞤊𞤵𞤤𞤮𞤪𞤭𞤲 𞤀𞤪𞤵𞤦𞤢𞤲𞤳𞤮"}\r
+            other{"𞤊𞤵𞤤𞤮𞤪𞤭𞤲 𞤀𞤪𞤵𞤦𞤢𞤲𞤳𞤮"}\r
+        }\r
+        AZN{\r
+            one{"𞤃𞤢𞤲𞤢𞥄𞤼𞤵 𞤀𞥁𞤫𞤪𞤦𞤢𞤴𞤶𞤢𞤲𞤳𞤮"}\r
+            other{"𞤃𞤢𞤲𞤢𞥄𞤼𞤵𞥅𞤶𞤭 𞤀𞥁𞤫𞤪𞤦𞤢𞤴𞤶𞤢𞤲𞤳𞤮"}\r
+        }\r
+        BAM{\r
+            one{\r
+                "𞤃𞤢𞤪𞤳 𞤄𞤮𞤧𞤲𞤭𞤴𞤢-𞤖𞤫𞤪𞤶𞤫𞤺𞤮𞤾𞤭𞤲𞤳𞤮 "\r
+                "𞤱𞤢𞤴𞤤𞤮𞤼𞤮𞥅𞤯𞤭"\r
+            }\r
+            other{\r
+                "𞤃𞤢𞤪𞤳 𞤄𞤮𞤧𞤲𞤭𞤴𞤢-𞤖𞤫𞤪𞤶𞤫𞤺𞤮𞤾𞤭𞤲𞤳𞤮 "\r
+                "𞤱𞤢𞤴𞤤𞤮𞤼𞤮𞥅𞤯𞤭"\r
+            }\r
+        }\r
+        BBD{\r
+            one{"𞤁𞤢𞤤𞤢 𞤄𞤢𞤪𞤦𞤢𞤣𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤁𞤢𞤤𞤢𞥄𞤶𞤭 𞤄𞤢𞤪𞤦𞤢𞤣𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        BDT{\r
+            one{"𞤼𞤢𞤪𞤢 𞤄𞤢𞤲𞤺𞤭𞤤𞤢𞤣𞤫𞥅𞤧𞤭𞤲𞤳𞤮"}\r
+            other{"𞤼𞤢𞤪𞤢𞥄𞤶𞤭 𞤄𞤢𞤲𞤺𞤭𞤤𞤢𞤣𞤫𞥅𞤧𞤭𞤲𞤳𞤮"}\r
+        }\r
+        BGN{\r
+            one{"𞤤𞤫𞥅𞤾 𞤄𞤭𞤤𞤺𞤢𞤪𞤭𞤲𞤳𞤮"}\r
+            other{"𞤂𞤫𞥅𞤾𞤢 𞤄𞤭𞤤𞤺𞤢𞤪𞤭𞤲𞤳𞤮"}\r
+        }\r
+        BHD{\r
+            one{"𞤣𞤭𞤲𞤢𞥄𞤪 𞤄𞤢𞤸𞤢𞤪𞤢𞥄𞤲𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤣𞤭𞤲𞤢𞥄𞤪𞤶𞤭 𞤄𞤢𞤸𞤢𞤪𞤢𞥄𞤲𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        BIF{\r
+            one{"𞤬𞤢𞤪𞤢𞤲 𞤄𞤵𞤪𞤵𞤲𞤣𞤭𞤲𞤳𞤮"}\r
+            other{"𞤬𞤢𞤪𞤢𞤲𞤶𞤭 𞤄𞤵𞤪𞤵𞤲𞤣𞤭𞤲𞤳𞤮"}\r
+        }\r
+        BMD{\r
+            one{"𞤁𞤢𞤤𞤢 𞤄𞤫𞤪𞤥𞤵𞤣𞤢𞥄𞤲"}\r
+            other{"𞤁𞤢𞤤𞤢𞥄𞤶𞤭 𞤄𞤫𞤪𞤥𞤵𞤣𞤢𞥄𞤲"}\r
+        }\r
+        BND{\r
+            one{"𞤣𞤢𞤤𞤢 𞤄𞤵𞤪𞤲𞤫𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤣𞤢𞤤𞤢𞥄𞤶𞤭 𞤄𞤵𞤪𞤲𞤫𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        BOB{\r
+            one{"𞤄𞤮𞤤𞤭𞤾𞤭𞤴𞤢𞤲𞤮 𞤄𞤮𞤤𞤭𞤾𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤄𞤮𞤤𞤭𞤾𞤭𞤴𞤢𞤲𞤮𞥅𞤶𞤭 𞤄𞤮𞤤𞤭𞤾𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        BRL{\r
+            one{"𞤈𞤭𞤴𞤢𞤤 𞤄𞤪𞤢𞤧𞤭𞤤𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤈𞤭𞤴𞤢𞤤𞤶𞤭 𞤄𞤪𞤢𞤧𞤭𞤤𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        BSD{\r
+            one{"𞤁𞤢𞤤𞤢 𞤄𞤢𞤸𞤢𞤥𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤁𞤢𞤤𞤢𞥄𞤶𞤭 𞤄𞤢𞤸𞤢𞤥𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        BTN{\r
+            one{"𞤲𞤺𞤵𞤤𞤼𞤵𞤪𞤵𞤥𞤵 𞤄𞤵𞤼𞤢𞤲𞤭𞤲𞤳𞤮"}\r
+            other{"𞤐𞤘𞤵𞤤𞤼𞤵𞤪𞤵𞤥𞤶𞤭 𞤄𞤵𞤼𞤢𞤲𞤭𞤲𞤳𞤮"}\r
+        }\r
+        BWP{\r
+            one{"𞤨𞤵𞤤𞤢 𞤄𞤮𞤼𞤵𞤧𞤱𞤢𞤲𞤢𞤲𞤳𞤮"}\r
+            other{"𞤨𞤵𞤤𞤢𞥄𞤶𞤭 𞤄𞤮𞤼𞤵𞤧𞤱𞤢𞤲𞤢𞤲𞤳𞤮"}\r
+        }\r
+        BYN{\r
+            one{"𞤈𞤵𞥅𞤦𞤮𞤤 𞤄𞤫𞤤𞤢𞤪𞤭𞥅𞤧𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤈𞤵𞥅𞤦𞤮𞤤𞤶𞤭 𞤄𞤫𞤤𞤢𞤪𞤭𞥅𞤧𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        BZD{\r
+            one{"𞤁𞤢𞤤𞤢 𞤄𞤫𞤤𞤭𞥅𞤧"}\r
+            other{"𞤁𞤢𞤤𞤢𞥄𞤶𞤭 𞤄𞤫𞤤𞤭𞥅𞤧"}\r
+        }\r
+        CAD{\r
+            one{"𞤁𞤢𞤤𞤢 𞤑𞤢𞤲𞤢𞤣𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤁𞤢𞤤𞤢𞥄𞤶𞤭 𞤑𞤢𞤲𞤢𞤣𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        CDF{\r
+            one{"𞤬𞤢𞤪𞤢𞤲 𞤑𞤮𞤲𞤺𞤮𞤲𞤳𞤮"}\r
+            other{"𞤬𞤢𞤪𞤢𞤲𞤶𞤭 𞤑𞤮𞤲𞤺𞤮𞤲𞤳𞤮"}\r
+        }\r
+        CHF{\r
+            one{"𞤊𞤢𞤪𞤢𞤲 𞤅𞤵𞤱𞤭𞥅𞤧"}\r
+            other{"𞤊𞤢𞤪𞤢𞤲𞤶𞤭 𞤅𞤵𞤱𞤭𞥅𞤧"}\r
+        }\r
+        CLP{\r
+            one{"𞤆𞤫𞤧𞤮 𞤕𞤭𞤤𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤆𞤫𞤧𞤮𞥅𞤶𞤭 𞤕𞤭𞤤𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        CNH{\r
+            one{"𞤴𞤵𞤱𞤢𞤲 𞤕𞤢𞤴𞤲𞤭𞤲𞤳𞤮 (𞤺𞤢𞥄𞤲𞤭𞤲𞤳𞤮)"}\r
+            other{"𞤴𞤵𞤱𞤢𞤲𞤶𞤭 𞤕𞤢𞤴𞤲𞤭𞤲𞤳𞤮 (𞤺𞤢𞥄𞤲𞤭𞤲𞤳𞤮)"}\r
+        }\r
+        CNY{\r
+            one{"𞤴𞤵𞤱𞤢𞤲 𞤕𞤢𞤴𞤲𞤭𞤲𞤳𞤮"}\r
+            other{"𞤴𞤵𞤱𞤢𞤲𞤶𞤭 𞤕𞤢𞤴𞤲𞤭𞤲𞤳𞤮"}\r
+        }\r
+        COP{\r
+            one{"𞤆𞤫𞤧𞤮 𞤑𞤮𞤤𞤮𞤥𞤦𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤆𞤫𞤧𞤮𞥅𞤶𞤭 𞤑𞤮𞤤𞤮𞤥𞤦𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        CRC{\r
+            one{"𞤑𞤮𞤤𞤮𞥅𞤲 𞤑𞤮𞤧𞤼𞤢 𞤈𞤭𞤳𞤢𞤲"}\r
+            other{"𞤑𞤮𞤤𞤮𞥅𞤲𞤶𞤭 𞤑𞤮𞤧𞤼𞤢 𞤈𞤭𞤳𞤢𞤲"}\r
+        }\r
+        CUC{\r
+            one{"𞤆𞤫𞤧𞤮 𞤑𞤵𞤦𞤢𞤲𞤳𞤮 𞤏𞤢𞤴𞤤𞤮𞤼𞤮𞥅𞤲𞥋𞤺𞤮"}\r
+            other{"𞤆𞤫𞤧𞤮𞥅𞤶𞤭 𞤑𞤵𞤦𞤢𞤲𞤳𞤮 𞤏𞤢𞤴𞤤𞤮𞤼𞤮𞥅𞤲𞥋𞤺𞤮"}\r
+        }\r
+        CUP{\r
+            one{"𞤨𞤫𞤧𞤮 𞤑𞤵𞤦𞤢𞤲𞤳𞤮"}\r
+            other{"𞤨𞤫𞤧𞤮𞥅𞤶𞤭 𞤑𞤵𞤦𞤢𞤲𞤳𞤮"}\r
+        }\r
+        CVE{\r
+            one{"𞤫𞤧𞤳𞤵𞤣𞤮 𞤑𞤢𞤨-𞤜𞤫𞥅𞤪𞤣𞤢𞤲𞤳𞤮"}\r
+            other{"𞤫𞤧𞤳𞤵𞤣𞤮𞥅𞤶𞤭 𞤑𞤢𞤨-𞤜𞤫𞥅𞤪𞤣𞤢𞤲𞤳𞤮"}\r
+        }\r
+        CZK{\r
+            one{"𞤑𞤮𞤪𞤵𞤲𞤢 𞤕𞤫𞥅𞤳𞤭𞤲𞤳𞤮"}\r
+            other{"𞤑𞤮𞤪𞤵𞤲𞤢𞥄𞤶𞤭 𞤕𞤫𞥅𞤳𞤭𞤲𞤳𞤮"}\r
+        }\r
+        DJF{\r
+            one{"𞤬𞤢𞤪𞤢𞤲 𞤔𞤭𞤦𞤵𞤼𞤭𞤲𞤳𞤮"}\r
+            other{"𞤬𞤢𞤪𞤢𞤲𞤶𞤭 𞤔𞤭𞤦𞤵𞤼𞤭𞤲𞤳𞤮"}\r
+        }\r
+        DKK{\r
+            one{"𞤑𞤮𞤪𞤲𞤫 𞤁𞤢𞤲𞤭𞥅𞤧𞤭𞤲𞤳𞤮"}\r
+            other{"𞤑𞤮𞤪𞤲𞤫𞥅𞤶𞤭 𞤁𞤢𞤲𞤭𞥅𞤧"}\r
+        }\r
+        DOP{\r
+            one{"𞤆𞤫𞤧𞤮 𞤁𞤮𞤥𞤭𞤲𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤆𞤫𞤧𞤮𞥅𞤶𞤭 𞤁𞤮𞤥𞤭𞤲𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        DZD{\r
+            one{"𞤣𞤭𞤲𞤢𞥄𞤪 𞤀𞤤𞤶𞤢𞤪𞤭𞤲𞤳𞤮"}\r
+            other{"𞤣𞤭𞤲𞤢𞥄𞤪𞤶𞤭 𞤀𞤤𞤶𞤢𞤪𞤭𞤲𞤳𞤮"}\r
+        }\r
+        EGP{\r
+            one{"𞤆𞤢𞤱𞤲𞤣𞤵 𞤃𞤭𞤧𞤭𞤪𞤢𞤲𞤳𞤮"}\r
+            other{"𞤆𞤢𞤱𞤯𞤭 𞤃𞤭𞤧𞤭𞤪𞤢𞤲𞤳𞤮"}\r
+        }\r
+        ERN{\r
+            one{"𞤐𞤢𞤳𞤬𞤢 𞤉𞤪𞤭𞤼𞤫𞤪𞤭𞤲𞤳𞤮"}\r
+            other{"𞤲𞤢𞤳𞤬𞤢𞥄𞤶𞤭 𞤉𞤪𞤭𞤼𞤫𞤪𞤭𞤲𞤳𞤮"}\r
+        }\r
+        ETB{\r
+            one{"𞤦𞤭𞤪 𞤖𞤢𞤦𞤢𞤧𞤭𞤲𞤳𞤮"}\r
+            other{"𞤄𞤭𞤪𞤶𞤭 𞤖𞤢𞤦𞤢𞤧𞤭𞤲𞤳𞤮"}\r
+        }\r
+        EUR{\r
+            one{"𞤴𞤵𞤪𞤮𞥅"}\r
+            other{"𞤴𞤵𞤪𞤮𞥅𞤶𞤭"}\r
+        }\r
+        FJD{\r
+            one{"𞤣𞤢𞤤𞤢 𞤊𞤭𞤶𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤣𞤢𞤤𞤢𞥄𞤶𞤭 𞤊𞤭𞤶𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        FKP{\r
+            one{"𞤆𞤢𞤱𞤲𞤣𞤵 𞤅𞤵𞤪𞤭𞥅𞤶𞤫 𞤊𞤢𞤤𞤳𞤵𞤤𞤢𞤲𞤣𞤭𞤳𞤮"}\r
+            other{"𞤆𞤢𞤱𞤯𞤭 𞤅𞤵𞤪𞤭𞥅𞤶𞤫 𞤊𞤢𞤤𞤳𞤵𞤤𞤢𞤲𞤣𞤭𞤳𞤮"}\r
+        }\r
+        GBP{\r
+            one{"𞤆𞤢𞤱𞤲𞤣𞤵 𞤄𞤪𞤭𞤼𞤭𞥅𞤧𞤭𞤲𞤳𞤮"}\r
+            other{"𞤆𞤢𞤱𞤯𞤭 𞤄𞤪𞤭𞤼𞤭𞥅𞤧𞤭𞤲𞤳𞤮"}\r
+        }\r
+        GEL{\r
+            one{"𞤤𞤢𞤪𞤭 𞤔𞤮𞤪𞤶𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤤𞤢𞤪𞤭𞥅𞤶𞤭 𞤔𞤮𞤪𞤶𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        GHS{\r
+            one{"𞤧𞤭𞤣𞤭 𞤘𞤢𞤲𞤢𞤲𞤳𞤮"}\r
+            other{"𞤧𞤭𞤣𞤭𞥅𞤶𞤭 𞤘𞤢𞤲𞤢𞤲𞤳𞤮"}\r
+        }\r
+        GIP{\r
+            one{"𞤆𞤢𞤱𞤲𞥋𞤣𞤵 𞤔𞤭𞤤𞤦𞤪𞤢𞤤𞤼𞤢𞤪"}\r
+            other{"𞤆𞤢𞤱𞤯𞤭 𞤔𞤭𞤤𞤦𞤪𞤢𞤤𞤼𞤢𞤪"}\r
+        }\r
+        GMD{\r
+            one{"𞤣𞤢𞤤𞤢𞤧𞤭 𞤘𞤢𞤥𞤦𞤭𞤲𞤳𞤮"}\r
+            other{"𞤣𞤢𞤤𞤢𞤧𞤭𞥅𞤶𞤭 𞤘𞤢𞤥𞤦𞤭𞤲𞤳𞤮"}\r
+        }\r
+        GNF{\r
+            one{"𞤬𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮"}\r
+            other{"𞤬𞤢𞤪𞤢𞤲𞤶𞤭 𞤘𞤭𞤲𞤫𞤲𞤳𞤮"}\r
+        }\r
+        GTQ{\r
+            one{"𞤑𞤫𞤼𞤵𞥁𞤢𞤤 𞤘𞤵𞤱𞤢𞤼𞤫𞤥𞤢𞤤𞤢𞤲𞤳𞤮"}\r
+            other{"𞤑𞤫𞤼𞤵𞥁𞤫 𞤘𞤵𞤱𞤢𞤼𞤫𞤥𞤢𞤤𞤢𞤲𞤳𞤮"}\r
+        }\r
+        GYD{\r
+            one{"𞤁𞤢𞤤𞤢 𞤘𞤵𞤴𞤢𞤲𞤫𞥅𞤧𞤭𞤲𞤳𞤮"}\r
+            other{"𞤁𞤢𞤤𞤢𞥄𞤶𞤭 𞤘𞤵𞤴𞤢𞤲𞤫𞥅𞤧𞤭𞤲𞤳𞤮"}\r
+        }\r
+        HKD{\r
+            one{"𞤣𞤢𞤤𞤢 𞤖𞤮𞤲𞤳𞤮𞤲"}\r
+            other{"𞤣𞤢𞤤𞤢𞥄𞤶𞤭 𞤖𞤮𞤲𞤳𞤮𞤲"}\r
+        }\r
+        HNL{\r
+            one{"𞤂𞤫𞤥𞤨𞤭𞤪𞤢 𞤖𞤮𞤲𞤣𞤵𞤪𞤢𞤲𞤳𞤮"}\r
+            other{"𞤂𞤫𞤥𞤨𞤭𞤪𞤢𞥄𞤶𞤭 𞤖𞤮𞤲𞤣𞤵𞤪𞤢𞤲𞤳𞤮"}\r
+        }\r
+        HRK{\r
+            one{"𞤑𞤵𞤲𞤢 𞤑𞤵𞤪𞤢𞥄𞤧𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤑𞤵𞤲𞤢𞥄𞤶𞤭 𞤑𞤵𞤪𞤢𞥄𞤧𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        HUF{\r
+            one{"𞤊𞤮𞤪𞤭𞤲𞤼𞤵 𞤖𞤵𞤲𞤺𞤢𞤪𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤊𞤮𞤪𞤭𞤲𞤼𞤵𞥅𞤶𞤭 𞤖𞤵𞤲𞤺𞤢𞤪𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        IDR{\r
+            one{"𞤪𞤵𞤨𞤭𞤴𞤢 𞤋𞤲𞤣𞤮𞤲𞤫𞤧𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤪𞤵𞤨𞤭𞤴𞤢𞥄𞤶𞤭 𞤋𞤲𞤣𞤮𞤲𞤫𞤧𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        ILS{\r
+            one{"𞥃𞤫𞤳𞤫𞤤 𞤋𞤧𞤪𞤢𞥄𞤤𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞥃𞤫𞤳𞤫𞤤𞤶𞤭 𞤋𞤧𞤪𞤢𞥄𞤤𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        INR{\r
+            one{"𞤪𞤵𞥅𞤨𞤭𞥅 𞤖𞤭𞤲𞤣𞤭𞤧𞤼𞤢𞤲𞤳𞤮"}\r
+            other{"𞤈𞤵𞥅𞤨𞤭𞥅𞤶𞤭 𞤖𞤭𞤲𞤣𞤭𞤧𞤼𞤢𞤲𞤳𞤮"}\r
+        }\r
+        IQD{\r
+            one{"𞤣𞤭𞤲𞤢𞥄𞤪 𞤋𞤪𞤢𞥄𞤹𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤣𞤭𞤲𞤢𞥄𞤪𞤶𞤭 𞤋𞤪𞤢𞥄𞤹𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        IRR{\r
+            one{"𞤪𞤭𞤴𞤢𞥄𞤤 𞤋𞤪𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤪𞤭𞤴𞤢𞥄𞤤𞤶𞤭 𞤋𞤪𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        ISK{\r
+            one{"𞤑𞤮𞤪𞤮𞤲𞤢 𞤀𞤴𞤧𞤭𞤤𞤢𞤲𞤣𞤭𞤲𞤳𞤮"}\r
+            other{"𞤑𞤮𞤪𞤮𞤲𞤢𞥄𞤶𞤭 𞤀𞤴𞤧𞤭𞤤𞤢𞤲𞤣𞤭𞤲𞤳𞤮"}\r
+        }\r
+        JMD{\r
+            one{"𞤁𞤢𞤤𞤢 𞤔𞤢𞤥𞤢𞤴𞤭𞤲𞤳𞤮"}\r
+            other{"𞤁𞤢𞤤𞤢𞥄𞤶𞤭 𞤔𞤢𞤥𞤢𞤴𞤭𞤲𞤳𞤮"}\r
+        }\r
+        JOD{\r
+            one{"𞤣𞤭𞤲𞤢𞥄𞤪 𞤔𞤮𞤪𞤣𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤣𞤭𞤲𞤢𞥄𞤪𞤶𞤭 𞤔𞤮𞤪𞤣𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        JPY{\r
+            one{"𞤴𞤫𞤲 𞤔𞤢𞤨𞤢𞤲𞤳𞤮"}\r
+            other{"𞤴𞤫𞤲𞤶𞤭 𞤔𞤢𞤨𞤢𞤲𞤳𞤮"}\r
+        }\r
+        KES{\r
+            one{"𞤧𞤭𞤤𞤭𞤲 𞤑𞤫𞤲𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤧𞤭𞤤𞤭𞤲𞤶𞤭 𞤑𞤫𞤲𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        KGS{\r
+            one{"𞤧𞤮𞤥𞤵 𞤑𞤭𞤪𞤺𞤭𞤧𞤼𞤢𞤲𞤭𞤲𞤳𞤮"}\r
+            other{"𞤧𞤮𞤥𞤵𞥅𞤶𞤭 𞤑𞤭𞤪𞤺𞤭𞤧𞤼𞤢𞤲𞤭𞤲𞤳𞤮"}\r
+        }\r
+        KHR{\r
+            one{"𞤪𞤭𞤴𞤢𞤤 𞤑𞤢𞤥𞤦𞤮𞤣𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤪𞤭𞤴𞤢𞤤𞤶𞤭 𞤑𞤢𞤥𞤦𞤮𞤣𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        KMF{\r
+            one{"𞤬𞤢𞤪𞤢𞤲 𞤑𞤮𞤥𞤮𞤪𞤭𞤲𞤳𞤮"}\r
+            other{"𞤬𞤢𞤪𞤢𞤲𞤶𞤭 𞤑𞤮𞤥𞤮𞤪𞤭𞤲𞤳𞤮"}\r
+        }\r
+        KPW{\r
+            one{"𞤱𞤮𞤲 𞤁𞤮𞤱𞤣𞤮𞤱𞤪𞤭 𞤑𞤮𞥅𞤪𞤫𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤱𞤮𞤲𞤶𞤭 𞤁𞤮𞤱𞤣𞤮𞤱𞤪𞤭 𞤑𞤮𞥅𞤪𞤫𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        KRW{\r
+            one{"𞤱𞤮𞤲 𞤤𞤫𞤴𞤤𞤫𞤴𞤪𞤭 𞤑𞤮𞥅𞤪𞤫𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤱𞤮𞤲𞤶𞤭 𞤤𞤫𞤴𞤤𞤫𞤴𞤪𞤭 𞤑𞤮𞥅𞤪𞤫𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        KWD{\r
+            one{"𞤣𞤋𞤲𞤢𞥄𞤪 𞤑𞤵𞤱𞤢𞤴𞤼𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤣𞤋𞤲𞤢𞥄𞤪𞤶𞤭 𞤑𞤵𞤱𞤢𞤴𞤼𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        KYD{\r
+            one{"𞤁𞤢𞤤𞤢 𞤅𞤵𞤪𞤭𞥅𞤶𞤫 𞤑𞤢𞤴𞤥𞤢𞥄𞤲"}\r
+            other{"𞤁𞤢𞤤𞤢𞥄𞤶𞤭 𞤅𞤵𞤪𞤭𞥅𞤶𞤫 𞤑𞤢𞤴𞤥𞤢𞥄𞤲"}\r
+        }\r
+        KZT{\r
+            one{"𞤼𞤫𞤲𞤺𞤫 𞤑𞤢𞥁𞤢𞤳𞤭𞤧𞤼𞤢𞤲𞤭𞤲𞤳𞤮"}\r
+            other{"𞤚𞤫𞤲𞤺𞤫𞥅𞤶𞤭 𞤑𞤢𞥁𞤢𞤳𞤭𞤧𞤼𞤢𞤲𞤭𞤲𞤳𞤮"}\r
+        }\r
+        LAK{\r
+            one{"𞤳𞤭𞤨𞤵 𞤂𞤢𞤱𞤮𞥅𞤧𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤳𞤭𞤨𞤵𞥅𞤶𞤭 𞤂𞤢𞤱𞤮𞥅𞤧𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        LBP{\r
+            one{"𞤨𞤢𞤱𞤲𞥋𞤣𞤵 𞤂𞤭𞤦𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤨𞤢𞤱𞤯𞤭 𞤂𞤭𞤦𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        LKR{\r
+            one{"𞤪𞤵𞥅𞤨𞤭𞥅 𞤅𞤭𞤪𞤭-𞤂𞤢𞤲𞤳𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤪𞤵𞥅𞤨𞤭𞥅𞤶𞤭 𞤅𞤭𞤪𞤭-𞤂𞤢𞤲𞤳𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        LRD{\r
+            one{"𞤣𞤢𞤤𞤢 𞤂𞤭𞤦𞤫𞤪𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤣𞤢𞤤𞤢𞥄𞤶𞤭 𞤂𞤭𞤦𞤫𞤪𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        LYD{\r
+            one{"𞤣𞤭𞤲𞤢𞥄𞤪 𞤂𞤭𞤦𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤣𞤭𞤲𞤢𞥄𞤪𞤶𞤭 𞤂𞤭𞤦𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        MAD{\r
+            one{"𞤣𞤭𞤪𞤸𞤢𞤥𞤵 𞤃𞤮𞤪𞤮𞤳𞤢𞤲𞤳𞤮"}\r
+            other{"𞤁𞤭𞤪𞤸𞤢𞤥𞤵𞥅𞤶𞤭 𞤃𞤮𞤪𞤮𞤳𞤢𞤲𞤳𞤮"}\r
+        }\r
+        MDL{\r
+            one{"𞤤𞤭𞥅𞤱𞤮 𞤃𞤮𞤤𞤣𞤮𞤾𞤢𞤲𞤳𞤮"}\r
+            other{"𞤤𞤭𞥅𞤱𞤮𞥅𞤶𞤭 𞤃𞤮𞤤𞤣𞤮𞤾𞤢𞤲𞤳𞤮"}\r
+        }\r
+        MGA{\r
+            one{"𞤢𞤪𞤭𞤴𞤢𞤪𞤭 𞤃𞤢𞤤𞤺𞤢𞤲𞤭𞤲𞤳𞤮"}\r
+            other{"𞤀𞤪𞤭𞤴𞤢𞤪𞤭𞥅𞤶𞤭 𞤃𞤢𞤤𞤺𞤢𞤲𞤭𞤲𞤳𞤮"}\r
+        }\r
+        MKD{\r
+            one{"𞤁𞤭𞤲𞤢𞥄𞤪 𞤃𞤢𞤧𞤫𞤣𞤮𞤲𞤭𞤲𞤳𞤮"}\r
+            other{"𞤁𞤭𞤲𞤢𞥄𞤪𞤶𞤭 𞤃𞤢𞤧𞤫𞤣𞤮𞤲𞤭𞤲𞤳𞤮"}\r
+        }\r
+        MMK{\r
+            one{"𞤳𞤭𞤴𞤢𞤼𞤵 𞤃𞤭𞤴𞤢𞤥𞤢𞤪𞤭𞤲𞤳𞤮"}\r
+            other{"𞤳𞤭𞤴𞤢𞤼𞤵𞥅𞤶𞤭 𞤃𞤭𞤴𞤢𞤥𞤢𞤪𞤭𞤲𞤳𞤮"}\r
+        }\r
+        MNT{\r
+            one{"𞤼𞤵𞤺𞤵𞤪𞤭𞤳𞤵 𞤃𞤮𞤲𞤺𞤮𞤤𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤚𞤵𞤺𞤵𞤪𞤭𞤳𞤵𞥅𞤶𞤭 𞤃𞤮𞤲𞤺𞤮𞤤𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        MOP{\r
+            one{"𞤨𞤢𞤼𞤢𞤳𞤢 𞤃𞤢𞤳𞤢𞤱𞤮𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤨𞤢𞤼𞤢𞤳𞤢𞥄𞤶𞤭 𞤃𞤢𞤳𞤢𞤱𞤮𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        MRO{\r
+            one{"𞤵𞤺𞤭𞤴𞤢 𞤃𞤮𞤪𞤭𞤼𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮 (𞥑𞥙𞥗𞥓 - 𞥒𞥐𞥑𞥗)"}\r
+            other{"𞤵𞤺𞤭𞤴𞤢 𞤃𞤮𞤪𞤭𞤼𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮 (𞥑𞥙𞥗𞥓 - 𞥒𞥐𞥑𞥗)"}\r
+        }\r
+        MRU{\r
+            one{"𞤵𞤺𞤭𞤴𞤢 𞤃𞤮𞤪𞤭𞤼𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤵𞤺𞤭𞤴𞤢𞥄𞤶𞤭 𞤃𞤮𞤪𞤭𞤼𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        MUR{\r
+            one{"𞤪𞤵𞤨𞤭𞥅 𞤃𞤮𞤪𞤭𞤧𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤪𞤵𞤨𞤭𞥅𞤶𞤭 𞤃𞤮𞤪𞤭𞤧𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        MVR{\r
+            one{"𞤪𞤵𞤬𞤭𞤴𞤢𞥄 𞤃𞤢𞤤𞤣𞤭𞤾𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤪𞤵𞤬𞤭𞤴𞤢𞥄𞤶𞤭 𞤃𞤢𞤤𞤣𞤭𞤾𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        MWK{\r
+            one{"𞤳𞤢𞤱𞤢𞤷𞤢 𞤃𞤢𞤤𞤢𞤱𞤭𞤲𞤳𞤮"}\r
+            other{"𞤳𞤢𞤱𞤢𞤷𞤢𞥄𞤶𞤭 𞤃𞤢𞤤𞤢𞤱𞤭𞤲𞤳𞤮"}\r
+        }\r
+        MXN{\r
+            one{"𞤆𞤫𞤧𞤮 𞤃𞤫𞤳𞤧𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤆𞤫𞤧𞤮𞥅𞤶𞤭 𞤃𞤫𞤳𞤧𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        MYR{\r
+            one{"𞤪𞤭𞤲𞤺𞤵𞤼𞤵 𞤃𞤢𞤤𞤫𞥅𞤧𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤪𞤭𞤲𞤺𞤵𞤼𞤵𞥅𞤶𞤭 𞤃𞤢𞤤𞤫𞥅𞤧𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        MZN{\r
+            one{"𞤥𞤫𞤼𞤭𞤳𞤮𞤤 𞤃𞤮𞥁𞤢𞤥𞤦𞤭𞤲𞤳𞤮"}\r
+            other{"𞤥𞤫𞤼𞤭𞤳𞤮𞤤𞤶𞤭 𞤃𞤮𞥁𞤢𞤥𞤦𞤭𞤲𞤳𞤮"}\r
+        }\r
+        NAD{\r
+            one{"𞤣𞤢𞤤𞤢 𞤐𞤢𞤥𞤭𞤥𞤦𞤭𞤲𞤳𞤮"}\r
+            other{"𞤣𞤢𞤤𞤢𞥄𞤶𞤭 𞤐𞤢𞤥𞤭𞤥𞤦𞤭𞤲𞤳𞤮"}\r
+        }\r
+        NGN{\r
+            one{"𞤲𞤢𞤴𞤪𞤢 𞤐𞤢𞤶𞤭𞤪𞤢𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤲𞤢𞤴𞤪𞤢𞥄𞤶𞤭 𞤐𞤢𞤶𞤭𞤪𞤢𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        NIO{\r
+            one{"𞤑𞤮𞥅𞤪𞤣𞤮𞤦𞤢 𞤐𞤭𞤳𞤢𞤪𞤢𞤺𞤵𞤱𞤢𞤲𞤳𞤮"}\r
+            other{"𞤑𞤮𞥅𞤪𞤣𞤮𞤦𞤢𞥄𞤶𞤭 𞤐𞤭𞤳𞤢𞤪𞤢𞤺𞤵𞤱𞤢𞤲𞤳𞤮"}\r
+        }\r
+        NOK{\r
+            one{"𞤑𞤪𞤮𞤲𞤫 𞤐𞤮𞤪𞤱𞤫𞤶𞤭𞤲𞤳𞤮"}\r
+            other{"𞤑𞤪𞤮𞤲𞤫𞥅𞤶𞤭 𞤀𞤴𞤧𞤭𞤤𞤢𞤲𞤣𞤭𞤲𞤳𞤮"}\r
+        }\r
+        NPR{\r
+            one{"𞤪𞤵𞥅𞤨𞤭𞥅 𞤐𞤫𞤨𞤢𞤤𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤪𞤵𞥅𞤨𞤭𞥅𞤶𞤭 𞤐𞤫𞤨𞤢𞤤𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        NZD{\r
+            one{"𞤣𞤢𞤤𞤢 𞤐𞤫𞤱-𞤔𞤭𞤤𞤢𞤲𞤣𞤭𞤲𞤳𞤮"}\r
+            other{"𞤣𞤢𞤤𞤢𞥄𞤶𞤭 𞤐𞤫𞤱-𞤔𞤭𞤤𞤢𞤲𞤣𞤭𞤲𞤳𞤮"}\r
+        }\r
+        OMR{\r
+            one{"𞤪𞤭𞤴𞤢𞥄𞤤 𞤌𞤥𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤪𞤭𞤴𞤢𞥄𞤤𞤶𞤭 𞤌𞤥𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        PAB{\r
+            one{"𞤄𞤢𞤤𞤦𞤮𞤱𞤢 𞤆𞤢𞤲𞤢𞤥𞤢𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤄𞤢𞤤𞤦𞤮𞤱𞤢𞥄𞤶𞤭 𞤆𞤢𞤲𞤢𞤥𞤢𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        PEN{\r
+            one{"𞤅𞤮𞤤 𞤆𞤫𞤪𞤵𞤲𞤳𞤮"}\r
+            other{"𞤅𞤮𞤤𞤶𞤭 𞤆𞤫𞤪𞤵𞤲𞤳𞤮"}\r
+        }\r
+        PGK{\r
+            one{"𞤳𞤭𞤲𞤢 𞤆𞤢𞤨𞤵𞤱𞤢 𞤐𞤫𞤱-𞤘𞤭𞤲𞤫𞤲𞤳𞤮"}\r
+            other{"𞤳𞤭𞤲𞤢𞥄𞤶𞤭 𞤆𞤢𞤨𞤵𞤱𞤢 𞤐𞤫𞤱-𞤘𞤭𞤲𞤫𞤲𞤳𞤮"}\r
+        }\r
+        PHP{\r
+            one{"𞤨𞤭𞤧𞤮 𞤊𞤭𞤤𞤭𞤨𞥆𞤭𞤲𞤳𞤮"}\r
+            other{"𞤨𞤭𞤧𞤮𞥅𞤶𞤭 𞤊𞤭𞤤𞤭𞤨𞥆𞤭𞤲𞤳𞤮"}\r
+        }\r
+        PKR{\r
+            one{"𞤪𞤵𞥅𞤨𞤭𞥅 𞤆𞤢𞤳𞤭𞤧𞤼𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤪𞤵𞥅𞤨𞤭𞥅𞤶𞤭 𞤆𞤢𞤳𞤭𞤧𞤼𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        PLN{\r
+            one{"𞤔𞤢𞤤𞤮𞤼𞤵 𞤆𞤮𞤤𞤭𞥅𞤧𞤭𞤲𞤳𞤮"}\r
+            other{"𞤔𞤢𞤤𞤮𞤼𞤵𞥅𞤶𞤭 𞤆𞤮𞤤𞤭𞥅𞤧𞤭𞤲𞤳𞤮"}\r
+        }\r
+        PYG{\r
+            one{"𞤘𞤵𞤱𞤢𞤪𞤢𞤲𞤭 𞤆𞤢𞥄𞤪𞤢𞤺𞤵𞤴𞤫𞤲𞤳𞤮"}\r
+            other{"𞤘𞤵𞤱𞤢𞤪𞤢𞤲𞤭𞥅𞤶𞤭 𞤆𞤢𞥄𞤪𞤢𞤺𞤵𞤴𞤫𞤲𞤳𞤮"}\r
+        }\r
+        QAR{\r
+            one{"𞤪𞤭𞤴𞤢𞥄𞤤 𞤗𞤢𞤼𞤢𞤪𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤪𞤭𞤴𞤢𞥄𞤤𞤶𞤭 𞤗𞤢𞤼𞤢𞤪𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        RON{\r
+            one{"𞤤𞤫𞤱𞤵 𞤈𞤮𞤥𞤢𞤲𞤭𞤲𞤳𞤮"}\r
+            other{"𞤂𞤫𞤱𞤵𞥅𞤶𞤭 𞤈𞤮𞤥𞤢𞤲𞤭𞤲𞤳𞤮"}\r
+        }\r
+        RSD{\r
+            one{"𞤁𞤭𞤲𞤢𞥄𞤪 𞤅𞤫𞤪𞤦𞤭𞤲𞤳𞤮"}\r
+            other{"𞤁𞤭𞤲𞤢𞥄𞤪𞤶𞤭 𞤅𞤫𞤪𞤦𞤭𞤲𞤳𞤮"}\r
+        }\r
+        RUB{\r
+            one{"𞤈𞤵𞥅𞤦𞤮𞤤 𞤈𞤭𞥅𞤧𞤭𞤲𞤳𞤮"}\r
+            other{"𞤈𞤵𞥅𞤦𞤮𞤤𞤶𞤭 𞤈𞤭𞥅𞤧𞤭𞤲𞤳𞤮"}\r
+        }\r
+        RWF{\r
+            one{"𞤬𞤢𞤪𞤢𞤲 𞤈𞤵𞤱𞤢𞤲𞤣𞤢𞤲𞤳𞤮"}\r
+            other{"𞤬𞤢𞤪𞤢𞤲𞤶𞤭 𞤈𞤵𞤱𞤢𞤲𞤣𞤢𞤲𞤳𞤮"}\r
+        }\r
+        SAR{\r
+            one{"𞤪𞤭𞤴𞤢𞤤 𞤅𞤢𞤵𞥅𞤣𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤪𞤭𞤴𞤢𞤤𞤶𞤭 𞤅𞤢𞤵𞥅𞤣𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        SBD{\r
+            other{"𞤣𞤢𞤤𞤢 𞤅𞤵𞤪𞤭𞥅𞤶𞤫 𞤅𞤵𞤤𞤫𞤴𞤥𞤢𞥄𞤲𞤭𞤲𞤳𞤮"}\r
+        }\r
+        SCR{\r
+            one{"𞤪𞤵𞤨𞤭𞥅 𞤅𞤫𞤴𞤧𞤭𞤤𞤭𞤲𞤳𞤮"}\r
+            other{"𞤪𞤵𞤨𞤭𞥅𞤶𞤭 𞤅𞤫𞤴𞤧𞤭𞤤𞤭𞤲𞤳𞤮"}\r
+        }\r
+        SDG{\r
+            one{"𞤨𞤢𞤱𞤲𞤣𞤵 𞤅𞤵𞤣𞤢𞤲𞤳𞤮"}\r
+            other{"𞤨𞤢𞤱𞤯𞤭 𞤅𞤵𞤣𞤢𞤲𞤳𞤮"}\r
+        }\r
+        SEK{\r
+            one{"𞤑𞤪𞤮𞤲𞤢 𞤅𞤵𞤱𞤫𞤣𞤭𞤲𞤳𞤮"}\r
+            other{"𞤑𞤪𞤮𞤲𞤢𞥄𞤶𞤭 𞤅𞤵𞤱𞤫𞤣𞤭𞤲𞤳𞤮"}\r
+        }\r
+        SGD{\r
+            one{"𞤣𞤢𞤤𞤢 𞤅𞤭𞤲𞤺𞤢𞤨𞤮𞤪𞤫𞤲𞤳𞤮"}\r
+            other{"𞤣𞤢𞤤𞤢𞥄𞤶𞤭 𞤅𞤭𞤲𞤺𞤢𞤨𞤮𞤪𞤫𞤲𞤳𞤮"}\r
+        }\r
+        SHP{\r
+            one{"𞤨𞤢𞤱𞤲𞤣𞤵 𞤅𞤫𞤲-𞤖𞤫𞤤𞤫𞤲𞤢"}\r
+            other{"𞤆𞤢𞤱𞤯𞤭 𞤅𞤫𞤲-𞤖𞤫𞤤𞤫𞤲𞤢"}\r
+        }\r
+        SLL{\r
+            one{"𞤤𞤫𞤴𞤮𞤲 𞤅𞤫𞤪𞤢𞤤𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤤𞤫𞤴𞤮𞤲𞤶𞤭 𞤅𞤫𞤪𞤢𞤤𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        SOS{\r
+            one{"𞤧𞤭𞤤𞤭𞤲 𞤅𞤮𞤥𞤢𞤤𞤭𞤲𞤳𞤮"}\r
+            other{"𞤧𞤭𞤤𞤭𞤲𞤶𞤭 𞤅𞤮𞤥𞤢𞤤𞤭𞤲𞤳𞤮"}\r
+        }\r
+        SRD{\r
+            one{"𞤁𞤢𞤤𞤢 𞤅𞤵𞤪𞤵𞤲𞤢𞤥𞤭𞤲𞤳𞤮"}\r
+            other{"𞤁𞤢𞤤𞤢𞥄𞤶𞤭 𞤅𞤵𞤪𞤵𞤲𞤢𞤥𞤭𞤲𞤳𞤮"}\r
+        }\r
+        SSP{\r
+            one{"𞤨𞤢𞤱𞤲𞤣𞤵 𞤂𞤫𞤴𞤤𞤫𞤴𞤪𞤭 𞤅𞤵𞤣𞤢𞤲𞤭𞤲𞤳𞤮"}\r
+            other{"𞤨𞤢𞤱𞤯𞤭 𞤂𞤫𞤴𞤤𞤫𞤴𞤪𞤭 𞤅𞤵𞤣𞤢𞤲𞤭𞤲𞤳𞤮"}\r
+        }\r
+        STN{\r
+            one{"𞤣𞤮𞤦𞤢𞤪𞤢 𞤅𞤢𞤱𞤮-𞤚𞤮𞤥𞤫 & 𞤆𞤫𞤪𞤫𞤲𞤧𞤭𞤨"}\r
+            other{"𞤣𞤮𞤦𞤢𞤪𞤢𞥄𞤶𞤭 𞤅𞤢𞤱𞤮-𞤚𞤮𞤥𞤫 & 𞤆𞤫𞤪𞤫𞤲𞤧𞤭𞤨"}\r
+        }\r
+        SYP{\r
+            one{"𞤨𞤢𞤱𞤲𞥋𞤣𞤵 𞤅𞤭𞤪𞤢𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤨𞤢𞤱𞤯𞤭 𞤅𞤭𞤪𞤢𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        SZL{\r
+            one{"𞤤𞤭𞤤𞤢𞤲𞤺𞤫𞤲𞤭 𞤅𞤵𞤱𞤢𞤶𞤭"}\r
+            other{"𞤤𞤭𞤤𞤢𞤲𞤺𞤫𞤲𞤭𞥅𞤶𞤭 𞤅𞤵𞤱𞤢𞤶𞤭"}\r
+        }\r
+        THB{\r
+            one{"𞤦𞤢𞤸𞤼𞤵 𞤚𞤢𞤴𞤤𞤢𞤲𞤣𞤭𞤲𞤳𞤮"}\r
+            other{"𞤦𞤢𞤸𞤼𞤵𞥅𞤶𞤭 𞤚𞤢𞤴𞤤𞤢𞤲𞤣𞤭𞤲𞤳𞤮"}\r
+        }\r
+        TJS{\r
+            one{"𞤧𞤢𞤥𞤮𞥅𞤲𞤭 𞤚𞤢𞤶𞤭𞤳𞤭𞤧𞤼𞤢𞤲𞤳𞤮"}\r
+            other{"𞤧𞤢𞤥𞤮𞥅𞤲𞤭𞥅𞤶𞤭 𞤚𞤢𞤶𞤭𞤳𞤭𞤧𞤼𞤢𞤲𞤳𞤮"}\r
+        }\r
+        TMT{\r
+            one{"𞤥𞤢𞤲𞤢𞤼𞤵 𞤚𞤵𞤪𞤳𞤵𞤥𞤫𞤲𞤭𞤧𞤼𞤢𞤲𞤳𞤮"}\r
+            other{"𞤥𞤢𞤲𞤢𞤼𞤵𞥅𞤶𞤭 𞤚𞤵𞤪𞤳𞤵𞤥𞤫𞤲𞤭𞤧𞤼𞤢𞤲𞤳𞤮"}\r
+        }\r
+        TND{\r
+            one{"𞤣𞤭𞤲𞤢𞥄𞤪 𞤚𞤵𞥅𞤲𞤭𞤧𞤭𞤲𞤳𞤮"}\r
+            other{"𞤣𞤭𞤲𞤢𞥄𞤪𞤶𞤭 𞤚𞤵𞥅𞤲𞤭𞤧𞤭𞤲𞤳𞤮"}\r
+        }\r
+        TOP{\r
+            one{"𞤨𞤢𞤢𞤲𞤺𞤢 𞤚𞤮𞤲𞤺𞤢𞤲𞤳𞤮"}\r
+            other{"𞤨𞤢𞤢𞤲𞤺𞤢𞥄𞤶𞤭 𞤚𞤮𞤲𞤺𞤢𞤲𞤳𞤮"}\r
+        }\r
+        TRY{\r
+            one{"𞤤𞤭𞤪𞤢 𞤚𞤵𞤪𞤳𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤤𞤭𞤪𞤢𞥄𞤶𞤭 𞤚𞤵𞤪𞤳𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        TTD{\r
+            one{"𞤁𞤢𞤤𞤢 𞤚𞤭𞤪𞤲𞤭𞤣𞤢𞥄𞤣 & 𞤚𞤮𞤦𞤢𞤺𞤮"}\r
+            other{"𞤁𞤢𞤤𞤢𞥄𞤶𞤭 𞤚𞤭𞤪𞤲𞤭𞤣𞤢𞥄𞤣 & 𞤚𞤮𞤦𞤢𞤺𞤮"}\r
+        }\r
+        TWD{\r
+            one{"𞤣𞤢𞤤𞤢 𞤚𞤢𞤴𞤱𞤢𞥄𞤲𞤳𞤮"}\r
+            other{"𞤣𞤢𞤤𞤢𞥄𞤶𞤭 𞤚𞤢𞤴𞤱𞤢𞥄𞤲𞤳𞤮"}\r
+        }\r
+        TZS{\r
+            one{"𞤧𞤭𞤤𞤭𞤲 𞤚𞤢𞤲𞥁𞤢𞤲𞤭𞤲𞤳𞤮"}\r
+            other{"𞤧𞤭𞤤𞤭𞤲𞤶𞤭 𞤚𞤢𞤲𞥁𞤢𞤲𞤭𞤲𞤳𞤮"}\r
+        }\r
+        UAH{\r
+            one{"𞤖𞤵𞤪𞤢𞤾𞤫𞤲𞤭𞤴𞤢 𞤒𞤵𞤳𞤫𞤪𞤫𞥅𞤲𞤭𞤲𞤳𞤮"}\r
+            other{"𞤖𞤵𞤪𞤢𞤾𞤫𞤲𞤭𞤴𞤢𞥄𞤶𞤭 𞤒𞤵𞤳𞤫𞤪𞤫𞥅𞤲𞤭𞤲𞤳𞤮"}\r
+        }\r
+        UGX{\r
+            one{"𞤧𞤭𞤤𞤭𞤲 𞤓𞤺𞤢𞤲𞤣𞤢𞤲𞤳𞤮"}\r
+            other{"𞤧𞤭𞤤𞤭𞤲𞤶𞤭 𞤓𞤺𞤢𞤲𞤣𞤢𞤲𞤳𞤮"}\r
+        }\r
+        USD{\r
+            one{"𞤁𞤢𞤤𞤢 𞤁𞤫𞤲𞤼𞤢𞤤 𞤂𞤢𞤪𞤫 𞤀𞤥𞤫𞤪𞤭𞤳"}\r
+            other{"𞤁𞤢𞤤𞤢𞥄𞤶𞤭 𞤁𞤫𞤲𞤼𞤢𞤤 𞤂𞤢𞤪𞤫 𞤀𞤥𞤫𞤪𞤭𞤳"}\r
+        }\r
+        UYU{\r
+            one{"𞤆𞤫𞤧𞤮 𞤓𞤪𞤵𞤺𞤵𞤪𞤭𞤲𞤳𞤮"}\r
+            other{"𞤆𞤫𞤧𞤮𞥅𞤶𞤭 𞤓𞤪𞤵𞤺𞤵𞤪𞤭𞤲𞤳𞤮"}\r
+        }\r
+        UZS{\r
+            one{"𞤧𞤮𞤥𞤵 𞤓𞥁𞤦𞤫𞤳𞤭𞤧𞤼𞤢𞤲𞤳𞤮"}\r
+            other{"𞤧𞤮𞤥𞤵𞥅𞤶𞤭 𞤓𞥁𞤦𞤫𞤳𞤭𞤧𞤼𞤢𞤲𞤳𞤮"}\r
+        }\r
+        VEF{\r
+            one{"𞤄𞤮𞤤𞤭𞤾𞤢𞥄𞤪 𞤜𞤫𞤲𞤭𞥅𞤧𞤫𞤤𞤢𞤲𞤳𞤮 (𞥒𞥐𞥐𞥘 - 𞥒𞥐𞥑𞥘)"}\r
+            other{"𞤄𞤮𞤤𞤭𞤾𞤢𞥄𞤪𞤶𞤭 𞤜𞤫𞤲𞤭𞥅𞤧𞤫𞤤𞤢𞤲𞤳𞤮 (𞥒𞥐𞥐𞥘 - 𞥒𞥐𞥑𞥘)"}\r
+        }\r
+        VES{\r
+            one{"𞤄𞤮𞤤𞤭𞤾𞤢𞥄𞤪 𞤜𞤫𞤲𞤭𞥅𞤧𞤫𞤤𞤢𞤲𞤳𞤮"}\r
+            other{"𞤄𞤮𞤤𞤭𞤾𞤢𞥄𞤪𞤶𞤭 𞤜𞤫𞤲𞤭𞥅𞤧𞤫𞤤𞤢𞤲𞤳𞤮"}\r
+        }\r
+        VND{\r
+            one{"𞤣𞤮𞤲𞤺𞤵 𞤜𞤭𞤴𞤫𞤼𞤭𞤲𞤢𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤣𞤮𞤲𞤺𞤵𞥅𞤶𞤭 𞤜𞤭𞤴𞤫𞤼𞤭𞤲𞤢𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        VUV{\r
+            one{"𞤾𞤢𞤼𞤵 𞤜𞤢𞤲𞤵𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤾𞤢𞤼𞤵𞥅𞤶𞤭 𞤜𞤢𞤲𞤵𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        WST{\r
+            one{"𞤼𞤢𞤤𞤢 𞤅𞤢𞤥𞤮𞤱𞤢𞤴𞤢𞤲𞤳𞤮"}\r
+            other{"𞤼𞤢𞤤𞤢𞥄𞤶𞤭 𞤅𞤢𞤥𞤮𞤱𞤢𞤴𞤢𞤲𞤳𞤮"}\r
+        }\r
+        XAF{\r
+            one{"𞤬𞤢𞤪𞤢𞤲 𞤚𞤵𞤦𞤮𞥅𞤪𞤭 𞤀𞤬𞤪𞤭𞤳𞤭𞤲𞤳𞤮"}\r
+            other{"𞤬𞤢𞤪𞤢𞤲𞤶𞤭 𞤚𞤵𞤦𞤮𞥅𞤪𞤭 𞤀𞤬𞤪𞤭𞤳𞤭𞤲𞤳𞤮"}\r
+        }\r
+        XCD{\r
+            one{"𞤁𞤢𞤤𞤢 𞤊𞤵𞤯𞤲𞤢𞥄𞤲𞥋𞤺𞤫 𞤑𞤢𞤪𞤭𞤦𞤭𞤴𞤢"}\r
+            other{"𞤁𞤢𞤤𞤢𞥄𞤶𞤭 𞤊𞤵𞤯𞤲𞤢𞥄𞤲𞥋𞤺𞤫 𞤑𞤢𞤪𞤭𞤦𞤭𞤴𞤢"}\r
+        }\r
+        XOF{\r
+            one{"𞤬𞤢𞤪𞤢𞤲 𞤅𞤊𞤀 𞤖𞤭𞥅𞤪𞤲𞤢𞥄𞤲𞤺𞤫 𞤀𞤬𞤪𞤭𞤳𞤢"}\r
+            other{"𞤬𞤢𞤪𞤢𞤲𞤶𞤭 𞤅𞤊𞤀 𞤖𞤭𞥅𞤪𞤲𞤢𞥄𞤲𞤺𞤫 𞤀𞤬𞤪𞤭𞤳𞤢"}\r
+        }\r
+        XPF{\r
+            one{"𞤬𞤢𞤪𞤢𞤲 𞤅𞤊𞤆"}\r
+            other{"𞤬𞤢𞤪𞤢𞤲𞤶𞤭 𞤅𞤊𞤆"}\r
+        }\r
+        XXX{\r
+            one{"(𞤲𞤦𞤵𞥅𞤯𞤭 𞤲𞤺𞤵𞤥𞤭 𞤢𞤧-𞤢𞤲𞤣𞤢𞥄𞤯𞤭)"}\r
+            other{"𞤲𞤦𞤵𞥅𞤯𞤭 𞤢𞤧-𞤢𞤲𞤣𞤢𞥄𞤯𞤭"}\r
+        }\r
+        YER{\r
+            one{"𞤪𞤭𞤴𞤢𞥄𞤤 𞤒𞤫𞤥𞤫𞤲𞤭𞤲𞤳𞤮"}\r
+            other{"𞤪𞤭𞤴𞤢𞥄𞤤𞤶𞤭 𞤒𞤫𞤥𞤫𞤲𞤭𞤲𞤳𞤮"}\r
+        }\r
+        ZAR{\r
+            one{"𞤪𞤢𞤲𞤣𞤭 𞤂𞤫𞤴𞤤𞤫𞤴𞤪𞤭 𞤀𞤬𞤪𞤭𞤳𞤢𞤲𞤳𞤮"}\r
+            other{"𞤪𞤢𞤲𞤶𞤭 𞤂𞤫𞤴𞤤𞤫𞤴𞤪𞤭 𞤀𞤬𞤪𞤭𞤳𞤢𞤲𞤳𞤮"}\r
+        }\r
+        ZMW{\r
+            one{"𞤳𞤢𞤱𞤢𞤧𞤢 𞤟𞤢𞤥𞤦𞤭𞤲𞤳𞤮"}\r
+            other{"𞤳𞤢𞤱𞤢𞤧𞤢𞥄𞤶𞤭 𞤟𞤢𞤥𞤦𞤭𞤲𞤳𞤮"}\r
+        }\r
+    }\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/curr/ff_Adlm_BF.txt b/source/data/curr/ff_Adlm_BF.txt
new file mode 100644 (file)
index 0000000..1767cf4
--- /dev/null
@@ -0,0 +1,11 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff_Adlm_BF{\r
+    Currencies{\r
+        GNF{\r
+            "GNF",\r
+            "𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮",\r
+        }\r
+    }\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/curr/ff_Adlm_CM.txt b/source/data/curr/ff_Adlm_CM.txt
new file mode 100644 (file)
index 0000000..4789281
--- /dev/null
@@ -0,0 +1,11 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff_Adlm_CM{\r
+    Currencies{\r
+        GNF{\r
+            "GNF",\r
+            "𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮",\r
+        }\r
+    }\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/curr/ff_Adlm_GH.txt b/source/data/curr/ff_Adlm_GH.txt
new file mode 100644 (file)
index 0000000..9bddc78
--- /dev/null
@@ -0,0 +1,15 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff_Adlm_GH{\r
+    Currencies{\r
+        GHS{\r
+            "GH₵",\r
+            "𞤅𞤭𞤣𞤭 𞤘𞤢𞤲𞤢𞤲𞤳𞤮",\r
+        }\r
+        GNF{\r
+            "GNF",\r
+            "𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮",\r
+        }\r
+    }\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/curr/ff_Adlm_GM.txt b/source/data/curr/ff_Adlm_GM.txt
new file mode 100644 (file)
index 0000000..e8530e7
--- /dev/null
@@ -0,0 +1,15 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff_Adlm_GM{\r
+    Currencies{\r
+        GMD{\r
+            "D",\r
+            "𞤁𞤢𞤤𞤢𞤧𞤭 𞤘𞤢𞤥𞤦𞤭𞤲𞤳𞤮",\r
+        }\r
+        GNF{\r
+            "GNF",\r
+            "𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮",\r
+        }\r
+    }\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/curr/ff_Adlm_GW.txt b/source/data/curr/ff_Adlm_GW.txt
new file mode 100644 (file)
index 0000000..e092531
--- /dev/null
@@ -0,0 +1,11 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff_Adlm_GW{\r
+    Currencies{\r
+        GNF{\r
+            "GNF",\r
+            "𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮",\r
+        }\r
+    }\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/curr/ff_Adlm_LR.txt b/source/data/curr/ff_Adlm_LR.txt
new file mode 100644 (file)
index 0000000..cc07861
--- /dev/null
@@ -0,0 +1,15 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff_Adlm_LR{\r
+    Currencies{\r
+        GNF{\r
+            "GNF",\r
+            "𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮",\r
+        }\r
+        LRD{\r
+            "$",\r
+            "𞤁𞤢𞤤𞤢 𞤂𞤭𞤦𞤫𞤪𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+    }\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/curr/ff_Adlm_MR.txt b/source/data/curr/ff_Adlm_MR.txt
new file mode 100644 (file)
index 0000000..ae28841
--- /dev/null
@@ -0,0 +1,15 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff_Adlm_MR{\r
+    Currencies{\r
+        GNF{\r
+            "GNF",\r
+            "𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮",\r
+        }\r
+        MRU{\r
+            "UM",\r
+            "𞤓𞤺𞤭𞤴𞤢 𞤃𞤮𞤪𞤭𞤼𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+    }\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/curr/ff_Adlm_NE.txt b/source/data/curr/ff_Adlm_NE.txt
new file mode 100644 (file)
index 0000000..9534caa
--- /dev/null
@@ -0,0 +1,11 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff_Adlm_NE{\r
+    Currencies{\r
+        GNF{\r
+            "GNF",\r
+            "𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮",\r
+        }\r
+    }\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/curr/ff_Adlm_NG.txt b/source/data/curr/ff_Adlm_NG.txt
new file mode 100644 (file)
index 0000000..6615f6f
--- /dev/null
@@ -0,0 +1,15 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff_Adlm_NG{\r
+    Currencies{\r
+        GNF{\r
+            "GNF",\r
+            "𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮",\r
+        }\r
+        NGN{\r
+            "₦",\r
+            "𞤐𞤢𞤴𞤪𞤢 𞤐𞤢𞤶𞤭𞤪𞤢𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+    }\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/curr/ff_Adlm_SL.txt b/source/data/curr/ff_Adlm_SL.txt
new file mode 100644 (file)
index 0000000..33a2888
--- /dev/null
@@ -0,0 +1,15 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff_Adlm_SL{\r
+    Currencies{\r
+        GNF{\r
+            "GNF",\r
+            "𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮",\r
+        }\r
+        SLL{\r
+            "Le",\r
+            "𞤂𞤫𞤴𞤮𞤲 𞤅𞤫𞤪𞤢𞤤𞤭𞤴𞤢𞤲𞤳𞤮",\r
+        }\r
+    }\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/curr/ff_Adlm_SN.txt b/source/data/curr/ff_Adlm_SN.txt
new file mode 100644 (file)
index 0000000..62af33a
--- /dev/null
@@ -0,0 +1,11 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff_Adlm_SN{\r
+    Currencies{\r
+        GNF{\r
+            "GNF",\r
+            "𞤊𞤢𞤪𞤢𞤲 𞤘𞤭𞤲𞤫𞤲𞤳𞤮",\r
+        }\r
+    }\r
+    Version{"37"}\r
+}\r
index cd674cd..36cf8a0 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ff_Latn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6f95ad2..9f968bc 100644 (file)
@@ -7,5 +7,5 @@ ff_Latn_GH{
             "GHS",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7f6d063..6fc1570 100644 (file)
@@ -7,5 +7,5 @@ ff_Latn_GM{
             "Dalasi Gammbi",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b59edda..12532b2 100644 (file)
@@ -7,5 +7,5 @@ ff_Latn_GN{
             "GNF",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5e9e559..587b967 100644 (file)
@@ -7,5 +7,5 @@ ff_Latn_LR{
             "Dolaar Liberiyaa",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4b3f876..7f7d634 100644 (file)
@@ -7,5 +7,5 @@ ff_Latn_MR{
             "Ugiyya Muritani",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7e00645..d9c06d4 100644 (file)
@@ -7,5 +7,5 @@ ff_Latn_NG{
             "Nayraa Nijeriyaa",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 330a3d7..245a7d4 100644 (file)
@@ -7,5 +7,5 @@ ff_Latn_SL{
             "Lewoon Seraa Liyon",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0272a6e..df48236 100644 (file)
@@ -2536,5 +2536,5 @@ fi{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 54d748c..91e7a0f 100644 (file)
@@ -1437,5 +1437,5 @@ fil{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 711e04a..01bfa94 100644 (file)
@@ -1420,5 +1420,5 @@ fo{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cdb44df..782bc8f 100644 (file)
@@ -7,5 +7,5 @@ fo_DK{
             "donsk króna",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ac50cae..837af41 100644 (file)
@@ -2353,5 +2353,5 @@ fr{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index feef816..748529c 100644 (file)
@@ -7,5 +7,5 @@ fr_BI{
             "franc burundais",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 13c206c..f880be2 100644 (file)
@@ -267,5 +267,5 @@ fr_CA{
             other{"rials yéménites"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f2ece3c..85d9bfe 100644 (file)
@@ -7,5 +7,5 @@ fr_CD{
             "franc congolais",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6e96a30..c9dd301 100644 (file)
@@ -7,5 +7,5 @@ fr_DJ{
             "franc djiboutien",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 876cd9a..dd2cae9 100644 (file)
@@ -7,5 +7,5 @@ fr_DZ{
             "dinar algérien",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9a8fc8f..1de0dd8 100644 (file)
@@ -7,5 +7,5 @@ fr_GN{
             "franc guinéen",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f4df04b..23b1c4a 100644 (file)
@@ -7,5 +7,5 @@ fr_HT{
             "gourde haïtienne",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6da81af..337c003 100644 (file)
@@ -7,5 +7,5 @@ fr_KM{
             "franc comorien",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2d5047b..c19d129 100644 (file)
@@ -11,5 +11,5 @@ fr_LU{
             "franc luxembourgeois",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6c684b7..f778adc 100644 (file)
@@ -7,5 +7,5 @@ fr_MG{
             "ariary malgache",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5d78918..0ca0f0f 100644 (file)
@@ -7,5 +7,5 @@ fr_MR{
             "ouguiya mauritanien",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ae4f23f..0921fd2 100644 (file)
@@ -7,5 +7,5 @@ fr_MU{
             "roupie mauricienne",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index aec41e1..e5885bd 100644 (file)
@@ -7,5 +7,5 @@ fr_RW{
             "franc rwandais",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5fd24be..3af2fd7 100644 (file)
@@ -7,5 +7,5 @@ fr_SC{
             "roupie des Seychelles",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c531f6f..3e369d8 100644 (file)
@@ -7,5 +7,5 @@ fr_SY{
             "livre syrienne",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 639f2c9..50a4170 100644 (file)
@@ -7,5 +7,5 @@ fr_TN{
             "dinar tunisien",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d64acfc..6e6a616 100644 (file)
@@ -7,5 +7,5 @@ fr_VU{
             "vatu vanuatuan",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e595a43..d99af7a 100644 (file)
@@ -377,5 +377,5 @@ fur{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7e8e5ca..5ebc3b9 100644 (file)
@@ -2377,5 +2377,5 @@ fy{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0a49ba3..ccfbc11 100644 (file)
@@ -72,7 +72,7 @@ ga{
         }\r
         ATS{\r
             "ATS",\r
-            "ATS",\r
+            "Scilling na hOstaire",\r
         }\r
         AUD{\r
             "A$",\r
@@ -112,7 +112,7 @@ ga{
         }\r
         BEC{\r
             "BEC",\r
-            "BEC",\r
+            "Franc na Beilge (inmhalartaithe)",\r
         }\r
         BEF{\r
             "BEF",\r
@@ -120,7 +120,7 @@ ga{
         }\r
         BEL{\r
             "BEL",\r
-            "BEL",\r
+            "Franc na Beilge (airgeadais)",\r
         }\r
         BGL{\r
             "BGL",\r
@@ -250,10 +250,6 @@ ga{
             "CLP",\r
             "Peso na Sile",\r
         }\r
-        CNH{\r
-            "CNH",\r
-            "CNH",\r
-        }\r
         CNY{\r
             "CN¥",\r
             "Yuan na Síne",\r
@@ -300,7 +296,7 @@ ga{
         }\r
         DDM{\r
             "DDM",\r
-            "DDM",\r
+            "Marc Ghearmáin an Oirthir",\r
         }\r
         DEM{\r
             "DEM",\r
@@ -1667,13 +1663,6 @@ ga{
             other{"peso na Sile"}\r
             two{"pheso na Sile"}\r
         }\r
-        CNH{\r
-            few{"CNH"}\r
-            many{"CNH"}\r
-            one{"CNH"}\r
-            other{"CNH"}\r
-            two{"CNH"}\r
-        }\r
         CNY{\r
             few{"yuan na Síne"}\r
             many{"yuan na Síne"}\r
@@ -2213,13 +2202,6 @@ ga{
             other{"Talonas Liotuánach"}\r
             two{"Talonas Liotuánach"}\r
         }\r
-        LUC{\r
-            few{"LUC"}\r
-            many{"LUC"}\r
-            one{"LUC"}\r
-            other{"LUC"}\r
-            two{"LUC"}\r
-        }\r
         LUF{\r
             few{"Franc Lucsamburg"}\r
             many{"Franc Lucsamburg"}\r
@@ -3187,5 +3169,5 @@ ga{
         other{"{0} {1}"}\r
         two{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2b56704..6ba021e 100644 (file)
@@ -3144,5 +3144,5 @@ gd{
         other{"{0} {1}"}\r
         two{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6495703..41ffa71 100644 (file)
@@ -1690,5 +1690,5 @@ gl{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 97b0ea2..9d1e6fa 100644 (file)
@@ -2161,5 +2161,5 @@ gsw{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c7980aa..02b96e1 100644 (file)
@@ -1412,5 +1412,5 @@ gu{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4d7697e..48fe0ea 100644 (file)
@@ -231,5 +231,5 @@ guz{
             "Dola ya Zimbabwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 50f47df..55682af 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 gv{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 567513e..3513d06 100644 (file)
@@ -6,14 +6,58 @@ ha{
             "AED",\r
             "Kuɗin Haɗaɗɗiyar Daular Larabawa",\r
         }\r
+        AFN{\r
+            "AFN",\r
+            "Afghani na kasar Afghanistan",\r
+        }\r
+        ALL{\r
+            "ALL",\r
+            "Kudin Albanian",\r
+        }\r
+        AMD{\r
+            "AMD",\r
+            "Kudin Armenian",\r
+        }\r
+        ANG{\r
+            "ANG",\r
+            "Antillean Guilder na ƙasar Netherlands",\r
+        }\r
         AOA{\r
             "AOA",\r
             "Kuɗin Angola",\r
         }\r
+        ARS{\r
+            "ARS",\r
+            "Peso na ƙasar Argentina",\r
+        }\r
         AUD{\r
             "A$",\r
             "Dalar Ostareliya",\r
         }\r
+        AWG{\r
+            "AWG",\r
+            "Florin na yankin Aruba",\r
+        }\r
+        AZN{\r
+            "AZN",\r
+            "Kudin Azerbaijani",\r
+        }\r
+        BAM{\r
+            "BAM",\r
+            "Kudaden Bosnia da Harzegovina",\r
+        }\r
+        BBD{\r
+            "BBD",\r
+            "Dalar ƙasar Barbados",\r
+        }\r
+        BDT{\r
+            "BDT",\r
+            "Taka na kasar Bangladesh",\r
+        }\r
+        BGN{\r
+            "BGN",\r
+            "Kudin Bulgeria",\r
+        }\r
         BHD{\r
             "BHD",\r
             "Kuɗin Baharan",\r
@@ -22,14 +66,42 @@ ha{
             "BIF",\r
             "Kuɗin Burundi",\r
         }\r
+        BMD{\r
+            "BMD",\r
+            "Dalar ƙasar Bermuda",\r
+        }\r
+        BND{\r
+            "BND",\r
+            "Kudin Brunei",\r
+        }\r
+        BOB{\r
+            "BOB",\r
+            "Boloviano na ƙasar Bolivia",\r
+        }\r
         BRL{\r
             "R$",\r
             "Ril Kudin Birazil",\r
         }\r
+        BSD{\r
+            "BSD",\r
+            "Dalar ƙasar Bahamas",\r
+        }\r
+        BTN{\r
+            "BTN",\r
+            "Ngultrum na kasar Bhutan",\r
+        }\r
         BWP{\r
             "BWP",\r
             "Kuɗin Baswana",\r
         }\r
+        BYN{\r
+            "BYN",\r
+            "Kudin Belarusian",\r
+        }\r
+        BZD{\r
+            "BZD",\r
+            "Dalar ƙasar Belize",\r
+        }\r
         CAD{\r
             "CA$",\r
             "Dalar Kanada",\r
@@ -42,18 +114,54 @@ ha{
             "CHF",\r
             "Kuɗin Suwizalan",\r
         }\r
+        CLP{\r
+            "CLP",\r
+            "Peso na ƙasar Chile",\r
+        }\r
+        CNH{\r
+            "CNH",\r
+            "Yuan na ƙasar Sin (na wajen ƙasa)",\r
+        }\r
         CNY{\r
             "CN¥",\r
             "Yuwan kasar Sin",\r
         }\r
+        COP{\r
+            "COP",\r
+            "Peso na ƙasar Columbia",\r
+        }\r
+        CRC{\r
+            "CRC",\r
+            "Colón na kasar Costa Rica",\r
+        }\r
+        CUC{\r
+            "CUC",\r
+            "Peso mai fuska biyu na ƙasar Cuba",\r
+        }\r
+        CUP{\r
+            "CUP",\r
+            "Peso na ƙasar Cuba",\r
+        }\r
         CVE{\r
             "CVE",\r
             "Kuɗin Tsibiran Kap Barde",\r
         }\r
+        CZK{\r
+            "CZK",\r
+            "Kudin Czech",\r
+        }\r
         DJF{\r
             "DJF",\r
             "Kuɗin Jibuti",\r
         }\r
+        DKK{\r
+            "DKK",\r
+            "Krone na ƙasar Denmark",\r
+        }\r
+        DOP{\r
+            "DOP",\r
+            "Peso na jamhuriyar Dominica",\r
+        }\r
         DZD{\r
             "DZD",\r
             "Kuɗin Aljeriya",\r
@@ -74,26 +182,106 @@ ha{
             "€",\r
             "Yuro",\r
         }\r
+        FJD{\r
+            "FJD",\r
+            "Dalar Fiji",\r
+        }\r
+        FKP{\r
+            "FKP",\r
+            "Fam na ƙasar Tsibirai na Falkland",\r
+        }\r
         GBP{\r
             "£",\r
             "Fam na Ingila",\r
         }\r
+        GEL{\r
+            "GEL",\r
+            "Kudin Georgian",\r
+        }\r
         GHC{\r
             "GHC",\r
             "Cedi",\r
         }\r
+        GHS{\r
+            "GHS",\r
+            "Kudin Ghana",\r
+        }\r
+        GIP{\r
+            "GIP",\r
+            "Kudin Gibraltar",\r
+        }\r
         GMD{\r
             "GMD",\r
             "Kuɗin Gambiya",\r
         }\r
+        GNF{\r
+            "GNF",\r
+            "Kudin Guinean",\r
+        }\r
         GNS{\r
             "GNS",\r
             "Kuɗin Gini",\r
         }\r
+        GTQ{\r
+            "GTQ",\r
+            "Quetzal na ƙasar Guatemala",\r
+        }\r
+        GYD{\r
+            "GYD",\r
+            "Dalar Guyana",\r
+        }\r
+        HKD{\r
+            "HK$",\r
+            "Dalar Hong Kong",\r
+        }\r
+        HNL{\r
+            "HNL",\r
+            "Lempira na ƙasar Honduras",\r
+        }\r
+        HRK{\r
+            "HRK",\r
+            "Kudin Croatian",\r
+        }\r
+        HTG{\r
+            "HTG",\r
+            "Gourde na ƙasar Haiti",\r
+        }\r
+        HUF{\r
+            "HUF",\r
+            "Kudin Hungarian",\r
+        }\r
+        IDR{\r
+            "IDR",\r
+            "Rupiah na ƙasar Indonesia",\r
+        }\r
+        ILS{\r
+            "₪",\r
+            "Sabbin Kudin Shekel",\r
+        }\r
         INR{\r
             "₹",\r
             "Kuɗin Indiya",\r
         }\r
+        IQD{\r
+            "IQD",\r
+            "Dinarin Iraqi",\r
+        }\r
+        IRR{\r
+            "IRR",\r
+            "Riyal na kasar Iran",\r
+        }\r
+        ISK{\r
+            "ISK",\r
+            "Króna na ƙasar Iceland",\r
+        }\r
+        JMD{\r
+            "JMD",\r
+            "Dalar Jamaica",\r
+        }\r
+        JOD{\r
+            "JOD",\r
+            "Dinarin Jordanian",\r
+        }\r
         JPY{\r
             "¥",\r
             "Yen kasar Japan",\r
@@ -102,10 +290,50 @@ ha{
             "KES",\r
             "Sulen Kenya",\r
         }\r
+        KGS{\r
+            "KGS",\r
+            "Som na ƙasar Kyrgystani",\r
+        }\r
+        KHR{\r
+            "KHR",\r
+            "Riel na ƙasar Cambodia",\r
+        }\r
         KMF{\r
             "KMF",\r
             "Kuɗin Kwamoras",\r
         }\r
+        KPW{\r
+            "KPW",\r
+            "Won na ƙasar Koreya ta Arewa",\r
+        }\r
+        KRW{\r
+            "₩",\r
+            "Won na Koreya ta Kudu",\r
+        }\r
+        KWD{\r
+            "KWD",\r
+            "Dinarin Kuwaiti",\r
+        }\r
+        KYD{\r
+            "KYD",\r
+            "Dalar ƙasar Tsibirai na Cayman",\r
+        }\r
+        KZT{\r
+            "KZT",\r
+            "Tenge na ƙasar Kazkhstan",\r
+        }\r
+        LAK{\r
+            "LAK",\r
+            "Kudin Laotian",\r
+        }\r
+        LBP{\r
+            "LBP",\r
+            "Kudin Lebanese",\r
+        }\r
+        LKR{\r
+            "LKR",\r
+            "Rupee na kasar Sri Lanka",\r
+        }\r
         LRD{\r
             "LRD",\r
             "Dalar Laberiya",\r
@@ -122,10 +350,30 @@ ha{
             "MAD",\r
             "Kuɗin Maroko",\r
         }\r
+        MDL{\r
+            "MDL",\r
+            "kudaden Moldova",\r
+        }\r
         MGA{\r
             "MGA",\r
             "Kuɗin Madagaskar",\r
         }\r
+        MKD{\r
+            "MKD",\r
+            "Dinarin Macedonian",\r
+        }\r
+        MMK{\r
+            "MMK",\r
+            "Kudin Myanmar",\r
+        }\r
+        MNT{\r
+            "MNT",\r
+            "Tugrik na Mongolia",\r
+        }\r
+        MOP{\r
+            "MOP",\r
+            "Pataca na ƙasar Macao",\r
+        }\r
         MRO{\r
             "MRO",\r
             "Kuɗin Moritaniya (1973–2017)",\r
@@ -138,14 +386,30 @@ ha{
             "MUR",\r
             "Kuɗin Moritus",\r
         }\r
+        MVR{\r
+            "MVR",\r
+            "Rufiyaa na kasar Maldives",\r
+        }\r
         MWK{\r
             "MWK",\r
             "Kuɗin Malawi",\r
         }\r
+        MXN{\r
+            "MX$",\r
+            "Peso na ƙasar Mexico",\r
+        }\r
+        MYR{\r
+            "MYR",\r
+            "Kudin Malaysian",\r
+        }\r
         MZM{\r
             "MZM",\r
             "Kuɗin Mozambik",\r
         }\r
+        MZN{\r
+            "MZN",\r
+            "Metical na ƙasar Mozambique",\r
+        }\r
         NAD{\r
             "NAD",\r
             "Dalar Namibiya",\r
@@ -154,6 +418,66 @@ ha{
             "₦",\r
             "Nairar Najeriya",\r
         }\r
+        NIO{\r
+            "NIO",\r
+            "Córdoba na ƙasar Nicaragua",\r
+        }\r
+        NOK{\r
+            "NOK",\r
+            "Krone na ƙasar Norway",\r
+        }\r
+        NPR{\r
+            "NPR",\r
+            "Rupee na Nepal",\r
+        }\r
+        NZD{\r
+            "NZ$",\r
+            "Dalar New Zealand",\r
+        }\r
+        OMR{\r
+            "OMR",\r
+            "Riyal din Omani",\r
+        }\r
+        PAB{\r
+            "PAB",\r
+            "Balboa na ƙasar Panama",\r
+        }\r
+        PEN{\r
+            "PEN",\r
+            "Sol na ƙasar Peru",\r
+        }\r
+        PGK{\r
+            "PGK",\r
+            "Kina na ƙasar Papua Sabon Guinea",\r
+        }\r
+        PHP{\r
+            "PHP",\r
+            "Kudin Philippine",\r
+        }\r
+        PKR{\r
+            "PKR",\r
+            "Rupee na kasar Pakistan",\r
+        }\r
+        PLN{\r
+            "PLN",\r
+            "Kudaden Polish",\r
+        }\r
+        PYG{\r
+            "PYG",\r
+            "Guarani na ƙasar Paraguay",\r
+        }\r
+        QAR{\r
+            "QAR",\r
+            "Riyal din Qatari",\r
+        }\r
+        RON{\r
+            "RON",\r
+            "Kudin Romanian",\r
+        }\r
+        RSD{\r
+            "RSD",\r
+            "Dinar Serbian",\r
+        }\r
         RUB{\r
             "RUB",\r
             "Ruble kasar Rasha",\r
@@ -166,6 +490,10 @@ ha{
             "SAR",\r
             "Riyal",\r
         }\r
+        SBD{\r
+            "SBD",\r
+            "Dalar Tsibirai na Solomon",\r
+        }\r
         SCR{\r
             "SCR",\r
             "Kuɗin Saishal",\r
@@ -174,6 +502,14 @@ ha{
             "SDG",\r
             "Fam kin Sudan",\r
         }\r
+        SEK{\r
+            "SEK",\r
+            "Krona na ƙasar Sweden",\r
+        }\r
+        SGD{\r
+            "SGD",\r
+            "Dilar Singapore",\r
+        }\r
         SHP{\r
             "SHP",\r
             "Fam kin San Helena",\r
@@ -186,6 +522,14 @@ ha{
             "SOS",\r
             "Sulen Somaliya",\r
         }\r
+        SRD{\r
+            "SRD",\r
+            "Dalar ƙasar Suriname",\r
+        }\r
+        SSP{\r
+            "SSP",\r
+            "Fam na Kudancin Sudan",\r
+        }\r
         STD{\r
             "STD",\r
             "Kuɗin Sawo Tome da Paransip (1977–2017)",\r
@@ -194,18 +538,54 @@ ha{
             "STN",\r
             "Kuɗin Sawo Tome da Paransip",\r
         }\r
+        SYP{\r
+            "SYP",\r
+            "Kudin Syrian",\r
+        }\r
         SZL{\r
             "SZL",\r
             "Kuɗin Lilangeni",\r
         }\r
+        THB{\r
+            "THB",\r
+            "Baht na ƙasar Thailand",\r
+        }\r
+        TJS{\r
+            "TJS",\r
+            "Somoni na ƙasar Tajikistan",\r
+        }\r
+        TMT{\r
+            "TMT",\r
+            "Manat na ƙasar Turkmenistan",\r
+        }\r
         TND{\r
             "TND",\r
             "Kuɗin Tunisiya",\r
         }\r
+        TOP{\r
+            "TOP",\r
+            "Paʼanga na ƙasar Tonga",\r
+        }\r
+        TRY{\r
+            "TRY",\r
+            "Kudin Turkish",\r
+        }\r
+        TTD{\r
+            "TTD",\r
+            "Dalar ƙasar Trinidad da Tobago",\r
+        }\r
+        TWD{\r
+            "NT$",\r
+            "Sabuwar Dalar Taiwan",\r
+        }\r
         TZS{\r
             "TZS",\r
             "Sulen Tanzaniya",\r
         }\r
+        UAH{\r
+            "UAH",\r
+            "Kudin Ukrainian",\r
+        }\r
         UGX{\r
             "UGX",\r
             "Sule Yuganda",\r
@@ -214,18 +594,54 @@ ha{
             "$",\r
             "Dalar Amirka",\r
         }\r
+        UYU{\r
+            "UYU",\r
+            "Peso na ƙasar Uruguay",\r
+        }\r
+        UZS{\r
+            "UZS",\r
+            "Som na ƙasar Uzbekistan",\r
+        }\r
+        VES{\r
+            "VES",\r
+            "Bolívar na ƙasar Venezuela",\r
+        }\r
+        VND{\r
+            "₫",\r
+            "Kudin Vietnamese",\r
+        }\r
+        VUV{\r
+            "VUV",\r
+            "Vatu da ƙasar Vanuatu",\r
+        }\r
+        WST{\r
+            "WST",\r
+            "Tala na ƙasar Samoa",\r
+        }\r
         XAF{\r
             "FCFA",\r
             "Kuɗin Sefa na Afirka Ta Tsakiya",\r
         }\r
+        XCD{\r
+            "EC$",\r
+            "Dalar Gabashin Caribbean",\r
+        }\r
         XOF{\r
             "CFA",\r
             "Kuɗin Sefa na Afirka Ta Yamma",\r
         }\r
+        XPF{\r
+            "CFPF",\r
+            "kudin CFP Franc",\r
+        }\r
         XXX{\r
             "¤",\r
             "Kudin da ba a sani ba",\r
         }\r
+        YER{\r
+            "YER",\r
+            "Riyal din Yemeni",\r
+        }\r
         ZAR{\r
             "ZAR",\r
             "Kuɗin Afirka Ta Kudu",\r
@@ -247,38 +663,454 @@ ha{
         AUD{"$"}\r
     }\r
     CurrencyPlurals{\r
+        AFN{\r
+            one{"Afghani na kasar Afghanistan"}\r
+            other{"Afghani na kasar Afghanistan"}\r
+        }\r
+        ALL{\r
+            one{"Kudin Albanian"}\r
+            other{"Kudin Albanian"}\r
+        }\r
+        AMD{\r
+            one{"kudin Armenian"}\r
+            other{"Kudin Armenian"}\r
+        }\r
+        ANG{\r
+            one{"Antillean guilder na ƙasar Netherlands"}\r
+            other{"Antillean Guilder na ƙasar Netherlands"}\r
+        }\r
+        ARS{\r
+            one{"peso na ƙasar Argentina"}\r
+            other{"Peso na ƙasar Argentina"}\r
+        }\r
+        AWG{\r
+            one{"florin na yankin Aruba"}\r
+            other{"Florin na yankin Aruba"}\r
+        }\r
+        AZN{\r
+            one{"kudin Azerbaijani"}\r
+            other{"Kudin Azerbaijani"}\r
+        }\r
+        BAM{\r
+            one{"Kudaden Bosnia da Herzegovina"}\r
+            other{"Kudaden Bosnia da Harzegovina"}\r
+        }\r
+        BBD{\r
+            one{"dalar Barbados"}\r
+            other{"Dalar ƙasar Barbados"}\r
+        }\r
+        BDT{\r
+            one{"taka na kasar Bangladesh"}\r
+            other{"Taka na kasar Bangladesh"}\r
+        }\r
+        BGN{\r
+            one{"Kudin Bulgeria"}\r
+            other{"Kudin Bulgeria"}\r
+        }\r
+        BMD{\r
+            one{"dalar Bermuda"}\r
+            other{"Dalar ƙasar Bermuda"}\r
+        }\r
+        BND{\r
+            one{"kudin Brunei"}\r
+            other{"Kudin Brunei"}\r
+        }\r
+        BOB{\r
+            one{"boliviano na ƙasar Bolivia"}\r
+            other{"Boloviano na ƙasar Bolivia"}\r
+        }\r
         BRL{\r
             one{"Ril Kudin Birazil"}\r
             other{"Ril Kudin Birazil"}\r
         }\r
+        BSD{\r
+            one{"dalar ƙasar Bahamas"}\r
+            other{"Dalar ƙasar Bahamas"}\r
+        }\r
+        BTN{\r
+            one{"ngultrum na kasar Bhutan"}\r
+            other{"Ngultrum na kasar Bhutan"}\r
+        }\r
+        BYN{\r
+            one{"Kudin Belarusian"}\r
+            other{"Kudin Belarusian"}\r
+        }\r
+        BZD{\r
+            one{"dalar ƙasar Belize"}\r
+            other{"Dalar ƙasar Belize"}\r
+        }\r
+        CLP{\r
+            one{"peso na ƙasar Chile"}\r
+            other{"Peso na ƙasar Chile"}\r
+        }\r
+        CNH{\r
+            one{"yuan na ƙasar Sin (na wajen ƙasa)"}\r
+            other{"Yuan na ƙasar Sin (na wajen ƙasa)"}\r
+        }\r
         CNY{\r
             one{"Yuwan kasar Sin"}\r
             other{"Yuwan kasar Sin"}\r
         }\r
+        COP{\r
+            one{"peso na ƙasar Columbia"}\r
+            other{"Peso na ƙasar Columbia"}\r
+        }\r
+        CRC{\r
+            one{"colón na kasar Costa Rica"}\r
+            other{"Colón na kasar Costa Rica"}\r
+        }\r
+        CUC{\r
+            one{"peso mai fuska biyu na Cuba"}\r
+            other{"Peso mai fuska biyu na ƙasar Cuba"}\r
+        }\r
+        CUP{\r
+            one{"peso na ƙasar Cuba"}\r
+            other{"Peso na ƙasar Cuba"}\r
+        }\r
+        CZK{\r
+            one{"kudin Czech"}\r
+            other{"Kudin Czech"}\r
+        }\r
+        DKK{\r
+            one{"krone na ƙasar Denmark"}\r
+            other{"Krone na ƙasar Denmark"}\r
+        }\r
+        DOP{\r
+            one{"peso na jamhuriyar Dominica"}\r
+            other{"Peso na jamhuriyar Dominica"}\r
+        }\r
+        FJD{\r
+            one{"dalar Fiji"}\r
+            other{"Dalar Fiji"}\r
+        }\r
+        FKP{\r
+            one{"fam na Tsibirai na Falkland"}\r
+            other{"Fam na ƙasar Tsibirai na Falkland"}\r
+        }\r
         GBP{\r
             one{"Fam na Ingila"}\r
             other{"Fam na Ingila"}\r
         }\r
+        GEL{\r
+            one{"kudin Georgian"}\r
+            other{"Kudin Georgian"}\r
+        }\r
+        GHS{\r
+            one{"kudin Ghanainian"}\r
+            other{"Kudin Ghana"}\r
+        }\r
+        GIP{\r
+            one{"Kudin Gibraltal"}\r
+            other{"Kudin Gibraltar"}\r
+        }\r
+        GNF{\r
+            one{"Kudin Guinean"}\r
+            other{"Kudin Guinean"}\r
+        }\r
+        GTQ{\r
+            one{"quetzal na ƙasar Guatemala"}\r
+            other{"Quetzal na ƙasar Guatemala"}\r
+        }\r
+        GYD{\r
+            one{"dalar Guyana"}\r
+            other{"Dalar Guyana"}\r
+        }\r
+        HKD{\r
+            one{"dalar Hong Kong"}\r
+            other{"Dalar Hong Kong"}\r
+        }\r
+        HNL{\r
+            one{"lempira na ƙasar Honduras"}\r
+            other{"Lempira na ƙasar Honduras"}\r
+        }\r
+        HRK{\r
+            one{"Kudin Croatian"}\r
+            other{"Kudin Croatian"}\r
+        }\r
+        HTG{\r
+            one{"gourde na ƙasar Haiti"}\r
+            other{"Gourde na ƙasar Haiti"}\r
+        }\r
+        HUF{\r
+            one{"kudin Hungarian"}\r
+            other{"Kudin Hungarian"}\r
+        }\r
+        IDR{\r
+            one{"rupiah na ƙasar Indonesia"}\r
+            other{"Rupiah na ƙasar Indonesia"}\r
+        }\r
+        ILS{\r
+            one{"sabbin kudi Israeli"}\r
+            other{"Sabbin Kudin Shekel"}\r
+        }\r
+        IQD{\r
+            one{"dinarin Iraqi"}\r
+            other{"Dinarin Iraqi"}\r
+        }\r
+        IRR{\r
+            one{"Riyal-riyal na kasar Iran"}\r
+            other{"Riyal-riyal na kasar Iran"}\r
+        }\r
+        ISK{\r
+            one{"króna na ƙasar Iceland"}\r
+            other{"Króna na ƙasar Iceland"}\r
+        }\r
+        JMD{\r
+            one{"dalar Jamaica"}\r
+            other{"Dalar Jamaica"}\r
+        }\r
+        JOD{\r
+            one{"dinarin Jordanian"}\r
+            other{"Dinarin Jordanian"}\r
+        }\r
         JPY{\r
             one{"Yen kasar Japan"}\r
             other{"Yen kasar Japan"}\r
         }\r
+        KGS{\r
+            one{"som na ƙasar Kyrgystani"}\r
+            other{"Som na ƙasar Kyrgystani"}\r
+        }\r
+        KHR{\r
+            one{"riel na ƙasar Cambodia"}\r
+            other{"Riel na ƙasar Cambodia"}\r
+        }\r
+        KPW{\r
+            one{"won na ƙasar Koreya ta Arewa"}\r
+            other{"Won na ƙasar Koreya ta Arewa"}\r
+        }\r
+        KRW{\r
+            one{"won na Koreya ta Kudu"}\r
+            other{"Won na Koreya ta Kudu"}\r
+        }\r
+        KWD{\r
+            one{"dinarin Kuwaiti"}\r
+            other{"Dinarin Kuwaiti"}\r
+        }\r
+        KYD{\r
+            one{"dalar ƙasar Tsibirai na Cayman"}\r
+            other{"Dalar ƙasar Tsibirai na Cayman"}\r
+        }\r
+        KZT{\r
+            one{"tenge na ƙasar Kazakhstan"}\r
+            other{"Tenge na ƙasar Kazkhstan"}\r
+        }\r
+        LAK{\r
+            one{"kudin Laotian"}\r
+            other{"Kudin Laotian"}\r
+        }\r
+        LBP{\r
+            one{"kudin Lebanese"}\r
+            other{"Kudin Lebanese"}\r
+        }\r
+        LKR{\r
+            one{"rupee na kasar Sri Lanka"}\r
+            other{"Rupee na kasar Sri Lanka"}\r
+        }\r
+        MDL{\r
+            one{"Kudaden Moldovan"}\r
+            other{"kudaden Moldova"}\r
+        }\r
+        MKD{\r
+            one{"Dinarin Macedonian"}\r
+            other{"Dinarin Macedonian"}\r
+        }\r
+        MMK{\r
+            one{"kudin Myanmar"}\r
+            other{"Kudin Myanmar"}\r
+        }\r
+        MNT{\r
+            one{"tugrik na Mongoliya"}\r
+            other{"Tugrik na Mongolia"}\r
+        }\r
+        MOP{\r
+            one{"pataca na ƙasar Macao"}\r
+            other{"Pataca na ƙasar Macao"}\r
+        }\r
+        MVR{\r
+            one{"rufiyaa na kasar Maldives"}\r
+            other{"Rufiyaa na kasar Maldives"}\r
+        }\r
+        MXN{\r
+            one{"peso na ƙasar Mexico"}\r
+            other{"Peso na ƙasar Mexico"}\r
+        }\r
+        MYR{\r
+            one{"kudin Malaysian"}\r
+            other{"Kudin Malaysian"}\r
+        }\r
+        MZN{\r
+            one{"metical na ƙasar Mozambique"}\r
+            other{"Metical na ƙasar Mozambique"}\r
+        }\r
         NGN{\r
             one{"Nairar Najeriya"}\r
             other{"Nairorin Najeriya"}\r
         }\r
+        NIO{\r
+            one{"córdoba na ƙasar Nicaragua"}\r
+            other{"Córdoba na ƙasar Nicaragua"}\r
+        }\r
+        NOK{\r
+            one{"krone na ƙasar Norway"}\r
+            other{"Krone na ƙasar Norway"}\r
+        }\r
+        NPR{\r
+            one{"rupee na kasar Nepal"}\r
+            other{"Rupee na Nepal"}\r
+        }\r
+        NZD{\r
+            one{"dalar New Zealand"}\r
+            other{"Dalar New Zealand"}\r
+        }\r
+        OMR{\r
+            one{"Riyal din Omani"}\r
+            other{"Riyal din Omani"}\r
+        }\r
+        PAB{\r
+            one{"balboa na ƙasar Panama"}\r
+            other{"Balboa na ƙasar Panama"}\r
+        }\r
+        PEN{\r
+            one{"sol na ƙasar Peru"}\r
+            other{"Sol na ƙasar Peru"}\r
+        }\r
+        PGK{\r
+            one{"kina na ƙasar Papua Sabon Guinea"}\r
+            other{"Kina na ƙasar Papua Sabon Guinea"}\r
+        }\r
+        PHP{\r
+            one{"kudin Philippine"}\r
+            other{"Kudin Philippine"}\r
+        }\r
+        PKR{\r
+            one{"rupee na kasar Pakistan"}\r
+            other{"Rupee na kasar Pakistan"}\r
+        }\r
+        PLN{\r
+            one{"kudin Polish"}\r
+            other{"Kudaden Polish"}\r
+        }\r
+        PYG{\r
+            one{"guarani na ƙasar Paraguay"}\r
+            other{"Guarani na ƙasar Paraguay"}\r
+        }\r
+        QAR{\r
+            one{"riyal Qatari"}\r
+            other{"Riyal din Qatari"}\r
+        }\r
+        RON{\r
+            one{"kudin Romanian"}\r
+            other{"Kudin Romanian"}\r
+        }\r
+        RSD{\r
+            one{"dinarin Serbian"}\r
+            other{"Dinar Serbian"}\r
+        }\r
         RUB{\r
             one{"Ruble kasar Rasha"}\r
             other{"Ruble kasar Rasha"}\r
         }\r
+        SBD{\r
+            one{"dalar Tsibirai na Solomon"}\r
+            other{"Dalar Tsibirai na Solomon"}\r
+        }\r
+        SEK{\r
+            one{"krona na ƙasar Sweden"}\r
+            other{"Krona na ƙasar Sweden"}\r
+        }\r
+        SGD{\r
+            one{"dalar Singapore"}\r
+            other{"Dilar Singapore"}\r
+        }\r
+        SRD{\r
+            one{"dalar ƙasar Suriname"}\r
+            other{"Dalar ƙasar Suriname"}\r
+        }\r
+        SSP{\r
+            one{"fam na Kudancin Sudan"}\r
+            other{"Fam na Kudancin Sudan"}\r
+        }\r
+        SYP{\r
+            one{"Kudin Syrian"}\r
+            other{"Kudin Syrian"}\r
+        }\r
+        THB{\r
+            one{"baht na ƙasar Thailand"}\r
+            other{"Baht na ƙasar Thailand"}\r
+        }\r
+        TJS{\r
+            one{"somoni na ƙasar Tajikistan"}\r
+            other{"Somoni na ƙasar Tajikistan"}\r
+        }\r
+        TMT{\r
+            one{"manat na ƙasar Turkmenistan"}\r
+            other{"Manat na ƙasar Turkmenistan"}\r
+        }\r
+        TOP{\r
+            one{"paʼanga na ƙasar Tonga"}\r
+            other{"Paʼanga na ƙasar Tonga"}\r
+        }\r
+        TRY{\r
+            one{"kudin Turkish"}\r
+            other{"Kudin Turkish"}\r
+        }\r
+        TTD{\r
+            one{"dalar ƙasar Trinidad da Tobago"}\r
+            other{"Dalar ƙasar Trinidad da Tobago"}\r
+        }\r
+        TWD{\r
+            one{"Sabuwar dalar Taiwan"}\r
+            other{"Sabuwar Dalar Taiwan"}\r
+        }\r
+        UAH{\r
+            one{"kudin Ukrainian"}\r
+            other{"Kudin Ukrainian"}\r
+        }\r
         USD{\r
             one{"Dalar Amirka"}\r
             other{"Dalar Amirka"}\r
         }\r
+        UYU{\r
+            one{"peso na ƙasar Uruguay"}\r
+            other{"Peso na ƙasar Uruguay"}\r
+        }\r
+        UZS{\r
+            one{"som na ƙasar Uzbekistan"}\r
+            other{"Som na ƙasar Uzbekistan"}\r
+        }\r
+        VES{\r
+            one{"bolívar na ƙasar Venezuela"}\r
+            other{"Bolívar na ƙasar Venezuela"}\r
+        }\r
+        VND{\r
+            one{"kudin Vietnamese"}\r
+            other{"Kudin Vietnamese"}\r
+        }\r
+        VUV{\r
+            one{"vatu na ƙasar Vanuatu"}\r
+            other{"Vatu da ƙasar Vanuatu"}\r
+        }\r
+        WST{\r
+            one{"tala na ƙasar Samoa"}\r
+            other{"Tala na ƙasar Samoa"}\r
+        }\r
+        XCD{\r
+            one{"dalar Gabashin Caribbeaan"}\r
+            other{"Dalar Gabashin Caribbean"}\r
+        }\r
+        XPF{\r
+            one{"kudin CFP franc"}\r
+            other{"kudin CFP Franc"}\r
+        }\r
         XXX{\r
             one{"Kudin sashe da ba a sani ba"}\r
             other{"(Kudin da ba a sani ba)"}\r
         }\r
+        YER{\r
+            one{"riyal din Yemeni"}\r
+            other{"Riyal din Yemeni"}\r
+        }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 38beb59..caa50ec 100644 (file)
@@ -4,8 +4,8 @@ ha_GH{
     Currencies{\r
         GHS{\r
             "GH₵",\r
-            "GHS",\r
+            "Kudin Ghana",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cd4ed37..5c75281 100644 (file)
@@ -11,5 +11,5 @@ haw{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9742c15..c472b5d 100644 (file)
@@ -1998,5 +1998,5 @@ he{
         other{"{0} {1}"}\r
         two{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5d0143f..ca026c5 100644 (file)
@@ -1497,5 +1497,5 @@ hi{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bbfbdb9..12aa74c 100644 (file)
@@ -2820,5 +2820,5 @@ hr{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4d4f921..129c43f 100644 (file)
@@ -7,5 +7,5 @@ hr_BA{
             "konvertibilna marka",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f0e6584..4b9acce 100644 (file)
@@ -1884,5 +1884,5 @@ hsb{
         other{"{0} {1}"}\r
         two{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1397770..84567df 100644 (file)
@@ -18,6 +18,10 @@ hu{
             "AFN",\r
             "afgán afghani",\r
         }\r
+        ALK{\r
+            "ALK",\r
+            "albán lek (1946–1965)",\r
+        }\r
         ALL{\r
             "ALL",\r
             "albán lek",\r
@@ -86,6 +90,10 @@ hu{
             "BAM",\r
             "bosznia-hercegovinai konvertibilis márka",\r
         }\r
+        BAN{\r
+            "BAN",\r
+            "bosznia-hercegovinai új dínár (1994–1997)",\r
+        }\r
         BBD{\r
             "BBD",\r
             "barbadosi dollár",\r
@@ -110,10 +118,18 @@ hu{
             "BGL",\r
             "Bolgár kemény leva",\r
         }\r
+        BGM{\r
+            "BGM",\r
+            "bolgár szocialista leva",\r
+        }\r
         BGN{\r
             "BGN",\r
             "bolgár új leva",\r
         }\r
+        BGO{\r
+            "BGO",\r
+            "bolgár leva (1879–1952)",\r
+        }\r
         BHD{\r
             "BHD",\r
             "bahreini dinár",\r
@@ -582,6 +598,10 @@ hu{
             "MAF",\r
             "Marokkói frank",\r
         }\r
+        MDC{\r
+            "MDC",\r
+            "moldáv kupon",\r
+        }\r
         MDL{\r
             "MDL",\r
             "moldován lei",\r
@@ -598,6 +618,10 @@ hu{
             "MKD",\r
             "macedon dínár",\r
         }\r
+        MKN{\r
+            "MKN",\r
+            "macedón dénár (1992–1993)",\r
+        }\r
         MLF{\r
             "MLF",\r
             "Mali frank",\r
@@ -1090,6 +1114,10 @@ hu{
             "YUN",\r
             "Jugoszláv konvertibilis dínár",\r
         }\r
+        YUR{\r
+            "YUR",\r
+            "jugoszláv reformált dinár (1992–1993)",\r
+        }\r
         ZAL{\r
             "ZAL",\r
             "Dél-afrikai rand (pénzügyi)",\r
@@ -1244,6 +1272,10 @@ hu{
             one{"afgán afghani"}\r
             other{"afgán afghani"}\r
         }\r
+        ALK{\r
+            one{"albán lek (1946–1965)"}\r
+            other{"albán lek (1946–1965)"}\r
+        }\r
         ALL{\r
             one{"albán lek"}\r
             other{"albán lek"}\r
@@ -1312,6 +1344,10 @@ hu{
             one{"bosznia-hercegovinai konvertibilis márka"}\r
             other{"bosznia-hercegovinai konvertibilis márka"}\r
         }\r
+        BAN{\r
+            one{"bosznia-hercegovinai új dínár (1994–1997)"}\r
+            other{"bosznia-hercegovinai új dínár (1994–1997)"}\r
+        }\r
         BBD{\r
             one{"barbadosi dollár"}\r
             other{"barbadosi dollár"}\r
@@ -1336,10 +1372,18 @@ hu{
             one{"Bolgár kemény leva"}\r
             other{"Bolgár kemény leva"}\r
         }\r
+        BGM{\r
+            one{"bolgár szocialista leva"}\r
+            other{"bolgár szocialista leva"}\r
+        }\r
         BGN{\r
             one{"bolgár új leva"}\r
             other{"bolgár új leva"}\r
         }\r
+        BGO{\r
+            one{"bolgár leva (1879–1952)"}\r
+            other{"bolgár leva (1879–1952)"}\r
+        }\r
         BHD{\r
             one{"bahreini dinár"}\r
             other{"bahreini dinár"}\r
@@ -1408,6 +1452,10 @@ hu{
             one{"botswanai pula"}\r
             other{"botswanai pula"}\r
         }\r
+        BYB{\r
+            one{"fehérorosz új rubel (1994–1999)"}\r
+            other{"fehérorosz új rubel (1994–1999)"}\r
+        }\r
         BYN{\r
             one{"belarusz rubel"}\r
             other{"belarusz rubel"}\r
@@ -1452,6 +1500,14 @@ hu{
             one{"Costa Rica-i colon"}\r
             other{"Costa Rica-i colon"}\r
         }\r
+        CSD{\r
+            one{"szerb dinár (2002–2006)"}\r
+            other{"szerb dinár (2002–2006)"}\r
+        }\r
+        CSK{\r
+            one{"csehszlovák kemény korona"}\r
+            other{"csehszlovák kemény korona"}\r
+        }\r
         CUC{\r
             one{"kubai konvertibilis peso"}\r
             other{"kubai konvertibilis peso"}\r
@@ -1492,6 +1548,14 @@ hu{
             one{"eritreai nakfa"}\r
             other{"eritreai nakfa"}\r
         }\r
+        ESA{\r
+            one{"spanyol peseta (A–kontó)"}\r
+            other{"spanyol peseta (A–kontó)"}\r
+        }\r
+        ESP{\r
+            one{"spanyol peseta"}\r
+            other{"spanyol peseta"}\r
+        }\r
         ETB{\r
             one{"etiópiai birr"}\r
             other{"etiópiai birr"}\r
@@ -1536,6 +1600,10 @@ hu{
             one{"Egyenlítői-guineai ekwele"}\r
             other{"Egyenlítői-guineai ekwele"}\r
         }\r
+        GRD{\r
+            one{"görög drachma"}\r
+            other{"görög drachma"}\r
+        }\r
         GTQ{\r
             one{"guatemalai quetzal"}\r
             other{"guatemalai quetzal"}\r
@@ -1552,6 +1620,10 @@ hu{
             one{"hodurasi lempira"}\r
             other{"hodurasi lempira"}\r
         }\r
+        HRD{\r
+            one{"horvát dínár"}\r
+            other{"horvát dínár"}\r
+        }\r
         HRK{\r
             one{"horvát kuna"}\r
             other{"horvát kuna"}\r
@@ -1588,6 +1660,10 @@ hu{
             one{"izlandi korona"}\r
             other{"izlandi korona"}\r
         }\r
+        ITL{\r
+            one{"olasz líra"}\r
+            other{"olasz líra"}\r
+        }\r
         JMD{\r
             one{"jamaicai dollár"}\r
             other{"jamaicai dollár"}\r
@@ -1668,6 +1744,10 @@ hu{
             one{"marokkói dirham"}\r
             other{"marokkói dirham"}\r
         }\r
+        MDC{\r
+            one{"moldáv kupon"}\r
+            other{"moldáv kupon"}\r
+        }\r
         MDL{\r
             one{"moldován lei"}\r
             other{"moldován lei"}\r
@@ -1680,6 +1760,10 @@ hu{
             one{"macedon dínár"}\r
             other{"macedon dínár"}\r
         }\r
+        MKN{\r
+            one{"macedón dénár (1992–1993)"}\r
+            other{"macedón dénár (1992–1993)"}\r
+        }\r
         MMK{\r
             one{"mianmari kyat"}\r
             other{"mianmari kyat"}\r
@@ -1700,6 +1784,14 @@ hu{
             one{"mauritániai ouguiya"}\r
             other{"mauritániai ouguiya"}\r
         }\r
+        MTL{\r
+            one{"máltai líra"}\r
+            other{"máltai líra"}\r
+        }\r
+        MTP{\r
+            one{"máltai font"}\r
+            other{"máltai font"}\r
+        }\r
         MUR{\r
             one{"mauritiusi rúpia"}\r
             other{"mauritiusi rúpia"}\r
@@ -1776,6 +1868,14 @@ hu{
             one{"lengyel zloty"}\r
             other{"lengyel zloty"}\r
         }\r
+        PLZ{\r
+            one{"lengyel zloty (PLZ)"}\r
+            other{"lengyel zloty (PLZ)"}\r
+        }\r
+        PTE{\r
+            one{"portugál escudo"}\r
+            other{"portugál escudo"}\r
+        }\r
         PYG{\r
             one{"paraguayi guarani"}\r
             other{"paraguayi guarani"}\r
@@ -1848,6 +1948,14 @@ hu{
             one{"Szent Ilona-i font"}\r
             other{"Szent Ilona-i font"}\r
         }\r
+        SIT{\r
+            one{"szlovén tolár"}\r
+            other{"szlovén tolár"}\r
+        }\r
+        SKK{\r
+            one{"szlovák korona"}\r
+            other{"szlovák korona"}\r
+        }\r
         SLL{\r
             one{"Sierra Leone-i leone"}\r
             other{"Sierra Leone-i leone"}\r
@@ -1872,6 +1980,10 @@ hu{
             one{"São Tomé és Príncipe-i dobra"}\r
             other{"São Tomé és Príncipe-i dobra"}\r
         }\r
+        SUR{\r
+            one{"szovjet rubel"}\r
+            other{"szovjet rubel"}\r
+        }\r
         SYP{\r
             one{"szíriai font"}\r
             other{"szíriai font"}\r
@@ -1932,6 +2044,10 @@ hu{
             one{"ukrán hrivnya"}\r
             other{"ukrán hrivnya"}\r
         }\r
+        UAK{\r
+            one{"ukrán karbovanec"}\r
+            other{"ukrán karbovanec"}\r
+        }\r
         UGS{\r
             one{"Ugandai shilling (1966–1987)"}\r
             other{"Ugandai shilling (1966–1987)"}\r
@@ -2040,6 +2156,22 @@ hu{
             one{"jemeni rial"}\r
             other{"jemeni rial"}\r
         }\r
+        YUD{\r
+            one{"jugoszláv kemény dinár (1966–1990)"}\r
+            other{"jugoszláv kemény dinár (1966–1990)"}\r
+        }\r
+        YUM{\r
+            one{"jugoszláv új dinár (1994–2002)"}\r
+            other{"jugoszláv új dinár (1994–2002)"}\r
+        }\r
+        YUN{\r
+            one{"jugoszláv konvertibilis dinár (1990–1992)"}\r
+            other{"jugoszláv konvertibilis dinár (1990–1992)"}\r
+        }\r
+        YUR{\r
+            one{"jugoszláv reformált dinár (1992–1993)"}\r
+            other{"jugoszláv reformált dinár (1992–1993)"}\r
+        }\r
         ZAR{\r
             one{"dél-afrikai rand"}\r
             other{"dél-afrikai rand"}\r
@@ -2061,5 +2193,5 @@ hu{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 07e43af..3436650 100644 (file)
@@ -124,7 +124,7 @@ hy{
         }\r
         CNH{\r
             "CNH",\r
-            "CNH",\r
+            "չինական օֆշորային յուան",\r
         }\r
         CNY{\r
             "CN¥",\r
@@ -877,8 +877,8 @@ hy{
             other{"չիլիական պեսո"}\r
         }\r
         CNH{\r
-            one{"CNH"}\r
-            other{"CNH"}\r
+            one{"չինական օֆշորային յուան"}\r
+            other{"չինական օֆշորային յուան"}\r
         }\r
         CNY{\r
             one{"չինական յուան"}\r
@@ -1413,5 +1413,5 @@ hy{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f622894..a0ca3b3 100644 (file)
@@ -953,5 +953,5 @@ ia{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0261a10..c3808cf 100644 (file)
@@ -1934,5 +1934,5 @@ id{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2bbe9e6..af199c1 100644 (file)
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ig{\r
     Currencies{\r
+        AED{\r
+            "AED",\r
+            "Ego Dirham obodo United Arab Emirates",\r
+        }\r
+        AFN{\r
+            "AFN",\r
+            "Ego Afghani Obodo Afghanistan",\r
+        }\r
+        ALL{\r
+            "ALL",\r
+            "Ego Lek Obodo Albania",\r
+        }\r
+        AMD{\r
+            "AMD",\r
+            "Ego Dram obodo Armenia",\r
+        }\r
+        ANG{\r
+            "ANG",\r
+            "Ego Antillean Guilder obodo Netherlands",\r
+        }\r
+        AOA{\r
+            "AOA",\r
+            "Ego Kwanza obodo Angola",\r
+        }\r
+        ARS{\r
+            "ARS",\r
+            "Ego Peso obodo Argentina",\r
+        }\r
+        AUD{\r
+            "A$",\r
+            "Ego Dollar obodo Australia",\r
+        }\r
+        AWG{\r
+            "AWG",\r
+            "Ego Florin obodo Aruba",\r
+        }\r
+        AZN{\r
+            "AZN",\r
+            "Ego Manat obodo Azerbaijan",\r
+        }\r
+        BAM{\r
+            "BAM",\r
+            "Akara mgbanwe ego obodo Bosnia-Herzegovina",\r
+        }\r
+        BBD{\r
+            "BBD",\r
+            "Ego Dollar obodo Barbados",\r
+        }\r
+        BDT{\r
+            "BDT",\r
+            "Ego Taka obodo Bangladesh",\r
+        }\r
+        BGN{\r
+            "BGN",\r
+            "Ego Lev mba Bulgaria",\r
+        }\r
+        BHD{\r
+            "BHD",\r
+            "Ego Dinar Obodo Bahrain",\r
+        }\r
+        BIF{\r
+            "BIF",\r
+            "Ego Franc obodo Burundi",\r
+        }\r
         BMD{\r
             "BMD",\r
             "Dollar Bermuda",\r
         }\r
+        BND{\r
+            "BND",\r
+            "Ego Dollar obodo Brunei",\r
+        }\r
+        BOB{\r
+            "BOB",\r
+            "Ego Boliviano obodo Bolivia",\r
+        }\r
         BRL{\r
             "R$",\r
             "Real Brazil",\r
         }\r
+        BSD{\r
+            "BSD",\r
+            "Ego Dollar Obodo Bahamas",\r
+        }\r
+        BTN{\r
+            "BTN",\r
+            "Ego Ngultrum obodo Bhutan",\r
+        }\r
+        BWP{\r
+            "BWP",\r
+            "Ego Pula obodo Bostwana",\r
+        }\r
+        BYN{\r
+            "BYN",\r
+            "Ego Ruble mba Belarus",\r
+        }\r
         BZD{\r
             "BZD",\r
             "Dollar Belize",\r
@@ -18,98 +106,687 @@ ig{
             "CA$",\r
             "Dollar Canada",\r
         }\r
+        CDF{\r
+            "CDF",\r
+            "Ego Franc obodo Congo",\r
+        }\r
+        CHF{\r
+            "CHF",\r
+            "Ego Franc mba Switzerland",\r
+        }\r
+        CLP{\r
+            "CLP",\r
+            "Ego Peso obodo Chile",\r
+        }\r
+        CNH{\r
+            "CNH",\r
+            "Ego Yuan Obodo China (ndị bi na mmiri)",\r
+        }\r
         CNY{\r
             "CN¥",\r
             "Yuan China",\r
         }\r
+        COP{\r
+            "COP",\r
+            "Ego Peso obodo Columbia",\r
+        }\r
+        CRC{\r
+            "CRC",\r
+            "Ego Colón obodo Costa Rica",\r
+        }\r
+        CUC{\r
+            "CUC",\r
+            "Ego Peso e nwere ike ịgbanwe nke obodo Cuba",\r
+        }\r
+        CUP{\r
+            "CUP",\r
+            "Ego Peso obodo Cuba",\r
+        }\r
         CVE{\r
             "CVE",\r
             "Escudo Caboverdiano",\r
         }\r
+        CZK{\r
+            "CZK",\r
+            "Ego Koruna obodo Czech",\r
+        }\r
+        DJF{\r
+            "DJF",\r
+            "Ego Franc obodo Djibouti",\r
+        }\r
+        DKK{\r
+            "DKK",\r
+            "Ego Krone Obodo Denmark",\r
+        }\r
+        DOP{\r
+            "DOP",\r
+            "Ego Peso Obodo Dominica",\r
+        }\r
+        DZD{\r
+            "DZD",\r
+            "Ego Dinar Obodo Algeria",\r
+        }\r
+        EGP{\r
+            "EGP",\r
+            "Ego Pound obodo Egypt",\r
+        }\r
+        ERN{\r
+            "ERN",\r
+            "Ego Nakfa obodo Eritrea",\r
+        }\r
+        ETB{\r
+            "ETB",\r
+            "Ego Birr obodo Ethiopia",\r
+        }\r
         EUR{\r
             "€",\r
             "Euro",\r
         }\r
+        FJD{\r
+            "FJD",\r
+            "Ego Dollar obodo Fiji",\r
+        }\r
+        FKP{\r
+            "FKP",\r
+            "Ego Pound obodo Falkland Islands",\r
+        }\r
         GBP{\r
             "£",\r
             "Pound British",\r
         }\r
+        GEL{\r
+            "GEL",\r
+            "Ego Lari Obodo Georgia",\r
+        }\r
+        GHS{\r
+            "GHS",\r
+            "Ego Cedi obodo Ghana",\r
+        }\r
+        GIP{\r
+            "GIP",\r
+            "Ego Pound obodo Gibraltar",\r
+        }\r
+        GMD{\r
+            "GMD",\r
+            "Ego Dalasi obodo Gambia",\r
+        }\r
+        GNF{\r
+            "GNF",\r
+            "Ego Franc obodo Guinea",\r
+        }\r
+        GTQ{\r
+            "GTQ",\r
+            "Ego Quetzal obodo Guatemala",\r
+        }\r
+        GYD{\r
+            "GYD",\r
+            "Ego Dollar obodo Guyana",\r
+        }\r
+        HKD{\r
+            "HK$",\r
+            "Ego Dollar Obodo Honk Kong",\r
+        }\r
+        HNL{\r
+            "HNL",\r
+            "Ego Lempira obodo Honduras",\r
+        }\r
+        HRK{\r
+            "HRK",\r
+            "Ego Kuna obodo Croatia",\r
+        }\r
+        HTG{\r
+            "HTG",\r
+            "Ego Gourde obodo Haiti",\r
+        }\r
+        HUF{\r
+            "HUF",\r
+            "Ego Forint obodo Hungary",\r
+        }\r
+        IDR{\r
+            "IDR",\r
+            "Ego Rupiah Obodo Indonesia",\r
+        }\r
+        ILS{\r
+            "₪",\r
+            "Ego Shekel ọhụrụ obodo Israel",\r
+        }\r
         INR{\r
             "₹",\r
             "Rupee India",\r
         }\r
+        IQD{\r
+            "IQD",\r
+            "Ego Dinar obodo Iraq",\r
+        }\r
+        IRR{\r
+            "IRR",\r
+            "Ego Rial obodo Iran",\r
+        }\r
+        ISK{\r
+            "ISK",\r
+            "Ego Króna obodo Iceland",\r
+        }\r
+        JMD{\r
+            "JMD",\r
+            "Ego Dollar obodo Jamaica",\r
+        }\r
+        JOD{\r
+            "JOD",\r
+            "Ego Dinar Obodo Jordan",\r
+        }\r
         JPY{\r
             "¥",\r
             "Yen Japan",\r
         }\r
+        KES{\r
+            "KES",\r
+            "Ego Shilling obodo Kenya",\r
+        }\r
+        KGS{\r
+            "KGS",\r
+            "Ego Som Obodo Kyrgyzstan",\r
+        }\r
+        KHR{\r
+            "KHR",\r
+            "Ego Riel obodo Cambodia",\r
+        }\r
+        KMF{\r
+            "KMF",\r
+            "Ego Franc obodo Comoros",\r
+        }\r
+        KPW{\r
+            "KPW",\r
+            "Ego Won Obodo North Korea",\r
+        }\r
+        KRW{\r
+            "₩",\r
+            "Ego Won Obodo South Korea",\r
+        }\r
+        KWD{\r
+            "KWD",\r
+            "Ego Dinar Obodo Kuwait",\r
+        }\r
+        KYD{\r
+            "KYD",\r
+            "Ego Dollar obodo Cayman Islands",\r
+        }\r
+        KZT{\r
+            "KZT",\r
+            "Ego Tenge obodo Kazakhstani",\r
+        }\r
+        LAK{\r
+            "LAK",\r
+            "Ego Kip Obodo Laos",\r
+        }\r
+        LBP{\r
+            "LBP",\r
+            "Ego Pound obodo Lebanon",\r
+        }\r
+        LKR{\r
+            "LKR",\r
+            "Ego Rupee obodo Sri Lanka",\r
+        }\r
+        LRD{\r
+            "LRD",\r
+            "Ego Dollar obodo Liberia",\r
+        }\r
+        LYD{\r
+            "LYD",\r
+            "Ego Dinar obodo Libya",\r
+        }\r
+        MAD{\r
+            "MAD",\r
+            "Ego Dirham obodo Morocco",\r
+        }\r
+        MDL{\r
+            "MDL",\r
+            "Ego Leu obodo Moldova",\r
+        }\r
+        MGA{\r
+            "MGA",\r
+            "Ego Ariary obodo Madagascar",\r
+        }\r
+        MKD{\r
+            "MKD",\r
+            "Ego Denar Obodo Macedonia",\r
+        }\r
+        MMK{\r
+            "MMK",\r
+            "Ego Kyat obodo Myanmar",\r
+        }\r
+        MNT{\r
+            "MNT",\r
+            "Ego Turgik Obodo Mongolia",\r
+        }\r
+        MOP{\r
+            "MOP",\r
+            "Ego Pataca ndị Obodo Macanese",\r
+        }\r
+        MRU{\r
+            "MRU",\r
+            "Ego Ouguiya Obodo Mauritania",\r
+        }\r
+        MUR{\r
+            "MUR",\r
+            "Ego Rupee obodo Mauritania",\r
+        }\r
+        MVR{\r
+            "MVR",\r
+            "Ego Rufiyaa obodo Moldova",\r
+        }\r
+        MWK{\r
+            "MWK",\r
+            "Ego Kwacha obodo Malawi",\r
+        }\r
+        MXN{\r
+            "MX$",\r
+            "Ego Peso obodo Mexico",\r
+        }\r
+        MYR{\r
+            "MYR",\r
+            "Ego Ringgit obodo Malaysia",\r
+        }\r
+        MZN{\r
+            "MZN",\r
+            "Ego Metical obodo Mozambique",\r
+        }\r
+        NAD{\r
+            "NAD",\r
+            "Ego Dollar obodo Namibia",\r
+        }\r
         NGN{\r
             "₦",\r
             "Naịra",\r
         }\r
+        NIO{\r
+            "NIO",\r
+            "Ego Córodoba obodo Nicaragua",\r
+        }\r
+        NOK{\r
+            "NOK",\r
+            "Ego Krone Obodo Norway",\r
+        }\r
+        NPR{\r
+            "NPR",\r
+            "Ego Rupee obodo Nepal",\r
+        }\r
+        NZD{\r
+            "NZ$",\r
+            "Ego Dollar obodo New Zealand",\r
+        }\r
+        OMR{\r
+            "OMR",\r
+            "Ego Rial obodo Oman",\r
+        }\r
+        PAB{\r
+            "PAB",\r
+            "Ego Balboa obodo Panama",\r
+        }\r
+        PEN{\r
+            "PEN",\r
+            "Ego Sol obodo Peru",\r
+        }\r
+        PGK{\r
+            "PGK",\r
+            "Ego Kina obodo Papua New Guinea",\r
+        }\r
+        PHP{\r
+            "PHP",\r
+            "Ego piso obodo Philippine",\r
+        }\r
+        PKR{\r
+            "PKR",\r
+            "Ego Rupee obodo Pakistan",\r
+        }\r
+        PLN{\r
+            "PLN",\r
+            "Ego Zloty mba Poland",\r
+        }\r
+        PYG{\r
+            "PYG",\r
+            "Ego Guarani obodo Paraguay",\r
+        }\r
+        QAR{\r
+            "QAR",\r
+            "Ego Rial obodo Qatar",\r
+        }\r
+        RON{\r
+            "RON",\r
+            "Ego Leu obodo Romania",\r
+        }\r
+        RSD{\r
+            "RSD",\r
+            "Ego Dinar obodo Serbia",\r
+        }\r
         RUB{\r
             "RUB",\r
             "Ruble Russia",\r
         }\r
+        RWF{\r
+            "RWF",\r
+            "Ego Franc obodo Rwanda",\r
+        }\r
+        SAR{\r
+            "SAR",\r
+            "Ego Riyal obodo Saudi",\r
+        }\r
+        SBD{\r
+            "SBD",\r
+            "Ego Dollar obodo Solomon Islands",\r
+        }\r
+        SCR{\r
+            "SCR",\r
+            "Ego Rupee obodo Seychelles",\r
+        }\r
+        SDG{\r
+            "SDG",\r
+            "Ego Pound obodo Sudan",\r
+        }\r
+        SEK{\r
+            "SEK",\r
+            "Ego Krona Obodo Sweden",\r
+        }\r
+        SGD{\r
+            "SGD",\r
+            "Ego Dollar obodo Singapore",\r
+        }\r
+        SHP{\r
+            "SHP",\r
+            "Ego Pound obodo St Helena",\r
+        }\r
+        SLL{\r
+            "SLL",\r
+            "Ego Leone obodo Sierra Leone",\r
+        }\r
+        SOS{\r
+            "SOS",\r
+            "Ego shilling obodo Somali",\r
+        }\r
         SRD{\r
             "SRD",\r
             "Dollar Surinamese",\r
         }\r
+        SSP{\r
+            "SSP",\r
+            "Ego Pound obodo South Sudan",\r
+        }\r
+        STN{\r
+            "STN",\r
+            "Ego Dobra nke obodo Sāo Tomé na Principe",\r
+        }\r
+        SYP{\r
+            "SYP",\r
+            "Ego Pound obodo Syria",\r
+        }\r
+        SZL{\r
+            "SZL",\r
+            "Ego Lilangeni obodo Swaziland",\r
+        }\r
+        THB{\r
+            "THB",\r
+            "Ego Baht obodo Thai",\r
+        }\r
+        TJS{\r
+            "TJS",\r
+            "Who Somoni obodo Tajikistan",\r
+        }\r
+        TMT{\r
+            "TMT",\r
+            "Ego Manat Obodo Turkmenistan",\r
+        }\r
+        TND{\r
+            "TND",\r
+            "Ego Dinar Obodo Tunisia",\r
+        }\r
+        TOP{\r
+            "TOP",\r
+            "Ego paʻanga obodo Tonga",\r
+        }\r
+        TRY{\r
+            "TRY",\r
+            "Ego Lira obodo Turkey",\r
+        }\r
         TTD{\r
             "TTD",\r
             "Dollar Trinidad & Tobago",\r
         }\r
+        TWD{\r
+            "NT$",\r
+            "Dollar obodo New Taiwan",\r
+        }\r
+        TZS{\r
+            "TZS",\r
+            "Ego Shilling Obodo Tanzania",\r
+        }\r
+        UAH{\r
+            "UAH",\r
+            "Ego Hryvnia obodo Ukraine",\r
+        }\r
+        UGX{\r
+            "UGX",\r
+            "Ego Shilling obodo Uganda",\r
+        }\r
         USD{\r
             "$",\r
             "Dollar US",\r
         }\r
+        UYU{\r
+            "UYU",\r
+            "Ego Peso obodo Uruguay",\r
+        }\r
+        UZS{\r
+            "UZS",\r
+            "Ego Som obodo Uzbekistan",\r
+        }\r
+        VES{\r
+            "VES",\r
+            "Ego Bolivar obodo Venezuela",\r
+        }\r
+        VND{\r
+            "₫",\r
+            "Ego Dong obodo Vietnam",\r
+        }\r
+        VUV{\r
+            "VUV",\r
+            "Ego Vatu obodo Vanuatu",\r
+        }\r
+        WST{\r
+            "WST",\r
+            "Ego Tala obodo Samoa",\r
+        }\r
+        XAF{\r
+            "FCFA",\r
+            "Ego Franc mba etiti Africa",\r
+        }\r
+        XCD{\r
+            "EC$",\r
+            "Ego Dollar obodo East Carribbean",\r
+        }\r
+        XOF{\r
+            "CFA",\r
+            "Ego CFA Franc obodo West Africa",\r
+        }\r
+        XPF{\r
+            "CFPF",\r
+            "Ego Franc obodo CFP",\r
+        }\r
         XXX{\r
             "¤",\r
             "Ego Amaghị",\r
         }\r
+        YER{\r
+            "YER",\r
+            "Ego Rial obodo Yemeni",\r
+        }\r
+        ZAR{\r
+            "ZAR",\r
+            "Ego Rand obodo South Africa",\r
+        }\r
+        ZMW{\r
+            "ZMW",\r
+            "Ego Kwacha Obodo Zambia",\r
+        }\r
     }\r
     CurrencyPlurals{\r
+        AED{\r
+            other{"Ego dirhams obodo UAE"}\r
+        }\r
+        AOA{\r
+            other{"Ego kwanzas obodo Angola"}\r
+        }\r
+        AUD{\r
+            other{"Ego dollars obodo Australia"}\r
+        }\r
+        AZN{\r
+            other{"Ego manats obodo Azerbaijan"}\r
+        }\r
         BMD{\r
             other{"Dollars Bermuda"}\r
         }\r
+        BND{\r
+            other{"Ego dollars obodo Brunei"}\r
+        }\r
         BRL{\r
             other{"Real Brazil"}\r
         }\r
+        BWP{\r
+            other{"Ego pulas obodo Bostwana"}\r
+        }\r
         BZD{\r
             other{"Dollars Belize"}\r
         }\r
         CAD{\r
             other{"Dollars Canada"}\r
         }\r
+        CDF{\r
+            other{"Ego francs mba Congo"}\r
+        }\r
         CNY{\r
             other{"Yuan China"}\r
         }\r
+        CRC{\r
+            other{"Ego colóns obodo Costa Rica"}\r
+        }\r
+        CUP{\r
+            other{"Ego pesos obodo Cuba"}\r
+        }\r
+        DJF{\r
+            other{"ego francs obodo Djibouti"}\r
+        }\r
+        ERN{\r
+            other{"Ego nakfas obodo Eritrea"}\r
+        }\r
+        ETB{\r
+            other{"Ego birrs obodo Ethiopia"}\r
+        }\r
         EUR{\r
             other{"euro"}\r
         }\r
+        FJD{\r
+            other{"Ego dollars obodo Fijian"}\r
+        }\r
         GBP{\r
             other{"Pound British"}\r
         }\r
+        HRK{\r
+            other{"Ego kunas obodo Croatia"}\r
+        }\r
         INR{\r
             other{"Rupee India"}\r
         }\r
+        IQD{\r
+            other{"Ego dinars obodo Iraq"}\r
+        }\r
         JPY{\r
             other{"Yen Japan"}\r
         }\r
+        KYD{\r
+            other{"Ego dollars obodo Cayman Islands"}\r
+        }\r
+        LBP{\r
+            other{"Ego Pound Obodo Lebanon"}\r
+        }\r
+        MDL{\r
+            other{"Ego leu mba Moldova"}\r
+        }\r
+        MGA{\r
+            other{"Ego ariaries obodo Madagascar"}\r
+        }\r
+        MKD{\r
+            other{"Ego denari mba Macedonia"}\r
+        }\r
+        MWK{\r
+            other{"Ego kwachas obodo Malawi"}\r
+        }\r
+        MZN{\r
+            other{"Ego meticals obodo Mozambique"}\r
+        }\r
+        NZD{\r
+            other{"Ego dollars obodo New Zealand"}\r
+        }\r
+        OMR{\r
+            other{"Ego rials Obodo Oman"}\r
+        }\r
+        QAR{\r
+            other{"Ego rials obodo Qatar"}\r
+        }\r
+        RON{\r
+            other{"Ego leu Obodo Romania"}\r
+        }\r
         RUB{\r
             other{"Ruble Russia"}\r
         }\r
+        SBD{\r
+            other{"Ego dollars obodo Solomon Islands"}\r
+        }\r
+        SCR{\r
+            other{"Ego rupees obodo Seychelles"}\r
+        }\r
         SRD{\r
             other{"Dollar Surinamese"}\r
         }\r
+        SSP{\r
+            other{"Ego pounds mba ọdịda anyanwụ Sudan"}\r
+        }\r
+        SZL{\r
+            other{"Ego emalangeni obodo Swaziland"}\r
+        }\r
         TTD{\r
             other{"Dollars Trinidad & Tobago"}\r
         }\r
+        TZS{\r
+            other{"Ego Shillings Obodo Tanzania"}\r
+        }\r
+        UGX{\r
+            other{"Ego shillings obodo Uganda"}\r
+        }\r
         USD{\r
             other{"Dollars US"}\r
         }\r
+        UZS{\r
+            other{"Ego som obodo Uzbekistan"}\r
+        }\r
+        VUV{\r
+            other{"Ego Vanuatu vatus obodo Vanuatu"}\r
+        }\r
+        XAF{\r
+            other{"Ego francs mba etiti Africa"}\r
+        }\r
+        XOF{\r
+            other{"Ego CFA francs mba ọdịda anyanwụ Afrịka"}\r
+        }\r
+        XPF{\r
+            other{"Ego francs obodo CFP"}\r
+        }\r
         XXX{\r
             other{"(ego amaghị)"}\r
         }\r
+        ZAR{\r
+            other{"Ego rand obodo South Africa"}\r
+        }\r
+        ZMW{\r
+            other{"Ego kwachas obodo Zambia"}\r
+        }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a10d437..5414ea9 100644 (file)
@@ -14,5 +14,5 @@ ii{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 88c7527..b47bf89 100644 (file)
@@ -1644,5 +1644,5 @@ is{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 199c92c..5ce33f4 100644 (file)
@@ -220,7 +220,7 @@ it{
         }\r
         CNH{\r
             "CNH",\r
-            "CNH",\r
+            "renmimbi cinese offshore",\r
         }\r
         CNY{\r
             "CN¥",\r
@@ -1325,8 +1325,8 @@ it{
             other{"pesos cileni"}\r
         }\r
         CNH{\r
-            one{"CNH"}\r
-            other{"CNH"}\r
+            one{"renmimbi cinese offshore"}\r
+            other{"renmimbi cinesi offshore"}\r
         }\r
         CNY{\r
             one{"renmimbi cinese"}\r
@@ -1877,5 +1877,5 @@ it{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a002a01..91c663e 100644 (file)
@@ -2223,5 +2223,5 @@ ja{
     CurrencyUnitPatterns{\r
         other{"{0}{1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5294d2b..6835042 100644 (file)
@@ -23,5 +23,5 @@ jgo{
             "ntɛ-ŋkáp yi pɛ́ ká kɛ́ jínɛ",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 734d3af..ad63823 100644 (file)
@@ -235,5 +235,5 @@ jmc{
             "Dola ya Zimbabwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e048e76..f3279ff 100644 (file)
@@ -906,9 +906,6 @@ jv{
         MNT{\r
             other{"Tugrik Mongol"}\r
         }\r
-        MOP{\r
-            other{"MOP"}\r
-        }\r
         MRO{\r
             other{"Ouguiya Mauritania (1973 - 2017)"}\r
         }\r
@@ -1117,5 +1114,5 @@ jv{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b143ac4..7045311 100644 (file)
@@ -1748,5 +1748,5 @@ ka{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8ae1a74..cce304a 100644 (file)
@@ -231,5 +231,5 @@ kab{
             "Adular Azimbabwi",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a6f2159..a93307a 100644 (file)
@@ -231,5 +231,5 @@ kam{
             "Ndola ya Zimbabwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 105f047..5b60aca 100644 (file)
@@ -235,5 +235,5 @@ kde{
             "Dola ya Zimbabwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fab74c1..b862b91 100644 (file)
@@ -757,5 +757,5 @@ kea{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bb1f1f4..ae5f8f2 100644 (file)
@@ -235,5 +235,5 @@ khq{
             "Zimbabwe Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 22e97f9..9913ed4 100644 (file)
@@ -231,5 +231,5 @@ ki{
             "Dola ya Zimbabwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d4669d9..6ea4cee 100644 (file)
@@ -1403,5 +1403,5 @@ kk{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8f10cc5..a6f480c 100644 (file)
@@ -7,5 +7,5 @@ kkj{
             "Franc CFA",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ad520ce..b97226f 100644 (file)
@@ -17,5 +17,5 @@ kl{
             other{"euro"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0364d5c..d18687f 100644 (file)
@@ -231,5 +231,5 @@ kln{
             "Dolaitab ya Zimbabwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 213090c..37591d7 100644 (file)
@@ -1242,5 +1242,5 @@ km{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 21e5ee3..dd164f3 100644 (file)
@@ -1413,5 +1413,5 @@ kn{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9639d87..11b3262 100644 (file)
@@ -1762,5 +1762,5 @@ ko{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cfb74a8..bee0cba 100644 (file)
@@ -793,7 +793,7 @@ kok{
             other{"भुतानीज नागल्ट्रम्स"}\r
         }\r
         BWP{\r
-            other{"Vote बोत्सवाना पुलास"}\r
+            other{"बोत्सवाना पुलास"}\r
         }\r
         BYN{\r
             other{"बैलोरुसियन् रूबल्स"}\r
@@ -912,9 +912,6 @@ kok{
         ILS{\r
             other{"इस्त्रायली न्यु शेकेल्स"}\r
         }\r
-        INR{\r
-            other{"भारतीय रुपया"}\r
-        }\r
         IQD{\r
             other{"इराकी डिनार्स"}\r
         }\r
@@ -1198,5 +1195,5 @@ kok{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4c810f3..5479998 100644 (file)
@@ -1019,5 +1019,5 @@ ks{
             "زِمبابِیُک ڈالَر",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/curr/ks_Arab.txt b/source/data/curr/ks_Arab.txt
new file mode 100644 (file)
index 0000000..644b1f8
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ks_Arab{\r
+    Version{"37"}\r
+}\r
similarity index 89%
rename from source/data/curr/th_TH.txt
rename to source/data/curr/ks_Arab_IN.txt
index 6ab242c..d159ab1 100644 (file)
@@ -3,6 +3,6 @@
 /**\r
  * generated alias target\r
  */\r
-th_TH{\r
+ks_Arab_IN{\r
     ___{""}\r
 }\r
diff --git a/source/data/curr/ks_IN.txt b/source/data/curr/ks_IN.txt
new file mode 100644 (file)
index 0000000..acd2193
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ks_IN{\r
+    "%%ALIAS"{"ks_Arab_IN"}\r
+}\r
index 9b23c83..5a4cfd3 100644 (file)
@@ -235,5 +235,5 @@ ksb{
             "dola ya Zimbabwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b17ce7c..1278c1c 100644 (file)
@@ -231,5 +231,5 @@ ksf{
             "mɔni mǝ á zimbabwɛ́",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4bf1c85..f07dabb 100644 (file)
@@ -912,5 +912,5 @@ ksh{
         other{"{0} {1}"}\r
         zero{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f42ce6b..921d1ad 100644 (file)
@@ -21,5 +21,5 @@ ku{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c67e95b..c7396bc 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kw{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 64c9d73..783fb73 100644 (file)
@@ -124,7 +124,7 @@ ky{
         }\r
         CNH{\r
             "CNH",\r
-            "CNH",\r
+            "Кытай юаны (офшор)",\r
         }\r
         CNY{\r
             "CN¥",\r
@@ -604,7 +604,7 @@ ky{
         }\r
         VES{\r
             "VES",\r
-            "VES",\r
+            "Венесуэла боливары",\r
         }\r
         VND{\r
             "₫",\r
@@ -873,8 +873,8 @@ ky{
             other{"чили песосу"}\r
         }\r
         CNH{\r
-            one{"CNH"}\r
-            other{"CNH"}\r
+            one{"Кытай юаны (офшор)"}\r
+            other{"Кытай юаны (офшор)"}\r
         }\r
         CNY{\r
             one{"Кытай юаны"}\r
@@ -1353,8 +1353,8 @@ ky{
             other{"венесуэла боливары (2008–2018)"}\r
         }\r
         VES{\r
-            one{"VES"}\r
-            other{"VES"}\r
+            one{"Венесуэла боливары"}\r
+            other{"Венесуэла боливары"}\r
         }\r
         VND{\r
             one{"Вьетнам доңу"}\r
@@ -1405,5 +1405,5 @@ ky{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9b9652b..700e971 100644 (file)
@@ -231,5 +231,5 @@ lag{
             "Dóola ya Simbáabwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6e34467..f44a40c 100644 (file)
@@ -2249,5 +2249,5 @@ lb{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a490b1e..cc86a8d 100644 (file)
@@ -235,5 +235,5 @@ lg{
             "Doola ey’eZimbabwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 20b4f6e..af99162 100644 (file)
@@ -7,5 +7,5 @@ lkt{
             "USD",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1b49712..b6375e5 100644 (file)
@@ -235,5 +235,5 @@ ln{
             "Dolarɛ ya Zimbabwɛ",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3b7e0a8..82afce1 100644 (file)
@@ -7,5 +7,5 @@ ln_AO{
             "Kwanza ya Angóla",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 312eee0..99931dc 100644 (file)
@@ -1772,5 +1772,5 @@ lo{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 168318b..5c1f8c9 100644 (file)
@@ -75,12 +75,9 @@ lrc{
         RUB{\r
             other{"روٙبل روٙسیه"}\r
         }\r
-        USD{\r
-            other{"USD"}\r
-        }\r
         XXX{\r
             other{"پیل نادیار"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6cfb384..5dc6486 100644 (file)
@@ -3126,5 +3126,5 @@ lt{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9467219..c3b0f9d 100644 (file)
@@ -235,5 +235,5 @@ lu{
             "Ndola wa Zimbabwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a582a2b..3dc7a5b 100644 (file)
@@ -231,5 +231,5 @@ luo{
             "Dola ya Zimbabwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5b4a765..0baa424 100644 (file)
@@ -231,5 +231,5 @@ luy{
             "Dola ya Zimbabwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e945886..9302e63 100644 (file)
@@ -1821,5 +1821,5 @@ lv{
         other{"{0} {1}"}\r
         zero{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/curr/mai.txt b/source/data/curr/mai.txt
new file mode 100644 (file)
index 0000000..316d1d1
--- /dev/null
@@ -0,0 +1,76 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+mai{\r
+    Currencies{\r
+        BRL{\r
+            "R$",\r
+            "ब्राज़ीली रियाल",\r
+        }\r
+        CNY{\r
+            "CN¥",\r
+            "चीनी युआन",\r
+        }\r
+        EUR{\r
+            "€",\r
+            "यूरो",\r
+        }\r
+        GBP{\r
+            "£",\r
+            "ब्रिटिश पाउंड स्टर्लिंग",\r
+        }\r
+        INR{\r
+            "₹",\r
+            "भारतीय रुपया",\r
+        }\r
+        JPY{\r
+            "JP¥",\r
+            "जापानी येन",\r
+        }\r
+        RUB{\r
+            "RUB",\r
+            "रूसी रूबल",\r
+        }\r
+        USD{\r
+            "$",\r
+            "यूएस डॉलर",\r
+        }\r
+        XXX{\r
+            "¤",\r
+            "अज्ञात मुद्रा",\r
+        }\r
+    }\r
+    Currencies%narrow{\r
+        INR{"₹"}\r
+        USD{"$"}\r
+    }\r
+    CurrencyPlurals{\r
+        BRL{\r
+            other{"ब्राज़ीली रियाल"}\r
+        }\r
+        CNY{\r
+            other{"चीनी युआन"}\r
+        }\r
+        EUR{\r
+            other{"यूरो"}\r
+        }\r
+        GBP{\r
+            other{"ब्रिटिश पाउंड स्टर्लिंग"}\r
+        }\r
+        INR{\r
+            other{"भारतीय रुपया"}\r
+        }\r
+        JPY{\r
+            other{"जापानी येन"}\r
+        }\r
+        RUB{\r
+            other{"रूसी रूबल"}\r
+        }\r
+        USD{\r
+            other{"यूएस डॉलर"}\r
+        }\r
+        XXX{\r
+            other{"(अज्ञात मुद्रा)"}\r
+        }\r
+    }\r
+    Version{"37"}\r
+}\r
index fb7f5f2..175b601 100644 (file)
@@ -231,5 +231,5 @@ mas{
             "Iropiyianí e Simbabwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b5350e9..8f9088b 100644 (file)
@@ -7,5 +7,5 @@ mas_TZ{
             "Iropiyianí e Tanzania",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7ca0db4..6e75be9 100644 (file)
@@ -231,5 +231,5 @@ mer{
             "Dola ya Zimbabwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a9a6699..5b6b420 100644 (file)
@@ -235,5 +235,5 @@ mfe{
             "dolar zimbawe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4bd54d0..024d112 100644 (file)
@@ -239,5 +239,5 @@ mg{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 093bb75..1740255 100644 (file)
@@ -7,5 +7,5 @@ mgh{
             "MZN",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 44620b8..97dcf4b 100644 (file)
@@ -15,5 +15,5 @@ mgo{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d27ff87..1724de2 100644 (file)
@@ -2,62 +2,14 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mi{\r
     Currencies{\r
-        ANG{\r
-            "ANG",\r
-            "ANG",\r
-        }\r
-        ARS{\r
-            "ARS",\r
-            "ARS",\r
-        }\r
-        AWG{\r
-            "AWG",\r
-            "AWG",\r
-        }\r
-        BBD{\r
-            "BBD",\r
-            "BBD",\r
-        }\r
-        BMD{\r
-            "BMD",\r
-            "BMD",\r
-        }\r
         BRL{\r
             "R$",\r
             "Real Parahi",\r
         }\r
-        BSD{\r
-            "BSD",\r
-            "BSD",\r
-        }\r
-        BZD{\r
-            "BZD",\r
-            "BZD",\r
-        }\r
-        CAD{\r
-            "CA$",\r
-            "CAD",\r
-        }\r
         CNY{\r
             "CN¥",\r
             "Yuan Haina",\r
         }\r
-        CRC{\r
-            "CRC",\r
-            "CRC",\r
-        }\r
-        CUC{\r
-            "CUC",\r
-            "CUC",\r
-        }\r
-        CUP{\r
-            "CUP",\r
-            "CUP",\r
-        }\r
-        DOP{\r
-            "DOP",\r
-            "DOP",\r
-        }\r
         EUR{\r
             "€",\r
             "Euro",\r
@@ -66,165 +18,59 @@ mi{
             "£",\r
             "Pāuna Piritene",\r
         }\r
-        GTQ{\r
-            "GTQ",\r
-            "GTQ",\r
-        }\r
-        HNL{\r
-            "HNL",\r
-            "HNL",\r
-        }\r
-        HTG{\r
-            "HTG",\r
-            "HTG",\r
-        }\r
         INR{\r
             "₹",\r
             "Rupī Iniana",\r
         }\r
-        JMD{\r
-            "JMD",\r
-            "JMD",\r
-        }\r
         JPY{\r
             "¥",\r
             "Yen Hapanihi",\r
         }\r
-        KYD{\r
-            "KYD",\r
-            "KYD",\r
-        }\r
-        MXN{\r
-            "MX$",\r
-            "MXN",\r
-        }\r
-        NIO{\r
-            "NIO",\r
-            "NIO",\r
-        }\r
         NZD{\r
             "$",\r
             "Tāra o Aotearoa",\r
         }\r
-        PAB{\r
-            "PAB",\r
-            "PAB",\r
-        }\r
         RUB{\r
             "RUB",\r
             "Rūpera Ruhiana",\r
         }\r
-        TTD{\r
-            "TTD",\r
-            "TTD",\r
-        }\r
         USD{\r
             "US$",\r
             "Tāra US",\r
         }\r
-        XCD{\r
-            "EC$",\r
-            "XCD",\r
-        }\r
         XXX{\r
             "¤",\r
             "Moni Tē Mōhiotia",\r
         }\r
     }\r
     CurrencyPlurals{\r
-        ANG{\r
-            other{"ANG"}\r
-        }\r
-        ARS{\r
-            other{"ARS"}\r
-        }\r
-        AWG{\r
-            other{"AWG"}\r
-        }\r
-        BBD{\r
-            other{"BBD"}\r
-        }\r
-        BMD{\r
-            other{"BMD"}\r
-        }\r
         BRL{\r
             other{"real Parahi"}\r
         }\r
-        BSD{\r
-            other{"BSD"}\r
-        }\r
-        BZD{\r
-            other{"BZD"}\r
-        }\r
-        CAD{\r
-            other{"CAD"}\r
-        }\r
         CNY{\r
             other{"yuan Haina"}\r
         }\r
-        CRC{\r
-            other{"CRC"}\r
-        }\r
-        CUC{\r
-            other{"CUC"}\r
-        }\r
-        CUP{\r
-            other{"CUP"}\r
-        }\r
-        DOP{\r
-            other{"DOP"}\r
-        }\r
         EUR{\r
             other{"euro"}\r
         }\r
         GBP{\r
             other{"pāuna Piritene"}\r
         }\r
-        GTQ{\r
-            other{"GTQ"}\r
-        }\r
-        HNL{\r
-            other{"HNL"}\r
-        }\r
-        HTG{\r
-            other{"HTG"}\r
-        }\r
         INR{\r
             other{"rupī Iniana"}\r
         }\r
-        JMD{\r
-            other{"JMD"}\r
-        }\r
         JPY{\r
             other{"yen Hapanihi"}\r
         }\r
-        KYD{\r
-            other{"KYD"}\r
-        }\r
-        MXN{\r
-            other{"MXN"}\r
-        }\r
-        NIO{\r
-            other{"NIO"}\r
-        }\r
         NZD{\r
             other{"tāra o Aotearoa"}\r
         }\r
-        PAB{\r
-            other{"PAB"}\r
-        }\r
         RUB{\r
             other{"rūpera Ruhiana"}\r
         }\r
-        TTD{\r
-            other{"TTD"}\r
-        }\r
         USD{\r
             other{"tāra US"}\r
         }\r
-        XCD{\r
-            other{"XCD"}\r
-        }\r
         XXX{\r
             other{"(moni tē mōhiotia)"}\r
         }\r
@@ -232,5 +78,5 @@ mi{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 22be575..f286e24 100644 (file)
@@ -1689,5 +1689,5 @@ mk{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7d66cf2..5df13a1 100644 (file)
@@ -2245,5 +2245,5 @@ ml{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d0fa628..13fbf14 100644 (file)
@@ -1413,5 +1413,5 @@ mn{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/curr/mni.txt b/source/data/curr/mni.txt
new file mode 100644 (file)
index 0000000..e6f3e28
--- /dev/null
@@ -0,0 +1,75 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+mni{\r
+    Currencies{\r
+        BRL{\r
+            "R$",\r
+            "ব্রাজিলিয়ান রেয়াল",\r
+        }\r
+        CNY{\r
+            "CN¥",\r
+            "চাইনিজ য়ুআন",\r
+        }\r
+        EUR{\r
+            "€",\r
+            "য়ুরো",\r
+        }\r
+        GBP{\r
+            "£",\r
+            "ব্রিটিশ পাউন্দ",\r
+        }\r
+        INR{\r
+            "₹",\r
+            "ইন্দিয়ান রুপি",\r
+        }\r
+        JPY{\r
+            "JP¥",\r
+            "জাপানিজ য়েন",\r
+        }\r
+        RUB{\r
+            "RUB",\r
+            "রুসিয়ান রুবল",\r
+        }\r
+        USD{\r
+            "$",\r
+            "য়ু এস দি",\r
+        }\r
+        XXX{\r
+            "¤",\r
+            "মশকখংদবা করেন্সি",\r
+        }\r
+    }\r
+    Currencies%narrow{\r
+        USD{"$"}\r
+    }\r
+    CurrencyPlurals{\r
+        BRL{\r
+            other{"ব্রাজিলিয়ান রেয়াল"}\r
+        }\r
+        CNY{\r
+            other{"চাইনিজ য়ুআন"}\r
+        }\r
+        EUR{\r
+            other{"য়ুরো"}\r
+        }\r
+        GBP{\r
+            other{"ব্রিটিশ পাউন্দ"}\r
+        }\r
+        INR{\r
+            other{"ইন্দিয়ান রুপি"}\r
+        }\r
+        JPY{\r
+            other{"জাপানিজ য়েন"}\r
+        }\r
+        RUB{\r
+            other{"রুসিয়ান রুবল"}\r
+        }\r
+        USD{\r
+            other{"য়ু এস দি"}\r
+        }\r
+        XXX{\r
+            other{"মশকখংদবা করেন্সি"}\r
+        }\r
+    }\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/curr/mni_Beng.txt b/source/data/curr/mni_Beng.txt
new file mode 100644 (file)
index 0000000..93f5be2
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+mni_Beng{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/curr/mni_Beng_IN.txt b/source/data/curr/mni_Beng_IN.txt
new file mode 100644 (file)
index 0000000..ce4a031
--- /dev/null
@@ -0,0 +1,8 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+/**\r
+ * generated alias target\r
+ */\r
+mni_Beng_IN{\r
+    ___{""}\r
+}\r
diff --git a/source/data/curr/mni_IN.txt b/source/data/curr/mni_IN.txt
new file mode 100644 (file)
index 0000000..3fb7691
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+mni_IN{\r
+    "%%ALIAS"{"mni_Beng_IN"}\r
+}\r
index 7fae5d4..c0fed1a 100644 (file)
@@ -1409,5 +1409,5 @@ mr{
             other{"झांबियन क्वाचास"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e9e3c1f..8c94448 100644 (file)
@@ -176,7 +176,7 @@ ms{
         }\r
         ERN{\r
             "ERN",\r
-            "ERN",\r
+            "Nakfa Eritrea",\r
         }\r
         ETB{\r
             "ETB",\r
@@ -362,6 +362,10 @@ ms{
             "MGA",\r
             "Ariary Malagasy",\r
         }\r
+        MGF{\r
+            "MGF",\r
+            "Franc Malagasy",\r
+        }\r
         MKD{\r
             "MKD",\r
             "Denar Macedonia",\r
@@ -406,6 +410,14 @@ ms{
             "RM",\r
             "Ringgit Malaysia",\r
         }\r
+        MZE{\r
+            "MZE",\r
+            "Escudo Mozambique",\r
+        }\r
+        MZM{\r
+            "MZM",\r
+            "Metical Mozambique (1980–2006)",\r
+        }\r
         MZN{\r
             "MZN",\r
             "Metikal Mozambique",\r
@@ -470,6 +482,10 @@ ms{
             "QAR",\r
             "Rial Qatar",\r
         }\r
+        RHD{\r
+            "RHD",\r
+            "Dolar Rhodesia",\r
+        }\r
         RON{\r
             "RON",\r
             "Leu Romania",\r
@@ -586,6 +602,10 @@ ms{
             "UAH",\r
             "Hryvnia Ukraine",\r
         }\r
+        UGS{\r
+            "UGS",\r
+            "Shilling Uganda (1966–1987)",\r
+        }\r
         UGX{\r
             "UGX",\r
             "Syiling Uganda",\r
@@ -658,6 +678,18 @@ ms{
             "ZMW",\r
             "Kwacha Zambia",\r
         }\r
+        ZWD{\r
+            "ZWD",\r
+            "Dolar Zimbabwe (1980–2008)",\r
+        }\r
+        ZWL{\r
+            "ZWL",\r
+            "Dolar Zimbabwe (2009)",\r
+        }\r
+        ZWR{\r
+            "ZWR",\r
+            "Dolar Zimbabwe (2008)",\r
+        }\r
     }\r
     Currencies%narrow{\r
         AOA{"Kz"}\r
@@ -1058,6 +1090,12 @@ ms{
         MYR{\r
             other{"Ringgit Malaysia"}\r
         }\r
+        MZE{\r
+            other{"Escudo Mozambique"}\r
+        }\r
+        MZM{\r
+            other{"Metical Mozambique (1980–2006)"}\r
+        }\r
         MZN{\r
             other{"Metikal Mozambique"}\r
         }\r
@@ -1106,6 +1144,9 @@ ms{
         QAR{\r
             other{"Rial Qatar"}\r
         }\r
+        RHD{\r
+            other{"Dolar Rhodesia"}\r
+        }\r
         RON{\r
             other{"Leu Romania"}\r
         }\r
@@ -1193,6 +1234,9 @@ ms{
         UAH{\r
             other{"Hryvnia Ukraine"}\r
         }\r
+        UGS{\r
+            other{"Shilling Uganda (1966–1987)"}\r
+        }\r
         UGX{\r
             other{"Syiling Uganda"}\r
         }\r
@@ -1244,9 +1288,18 @@ ms{
         ZMW{\r
             other{"Kwacha Zambia"}\r
         }\r
+        ZWD{\r
+            other{"Dolar Zimbabwe (1980–2008)"}\r
+        }\r
+        ZWL{\r
+            other{"Dolar Zimbabwe (2009)"}\r
+        }\r
+        ZWR{\r
+            other{"Dolar Zimbabwe (2008)"}\r
+        }\r
     }\r
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8ae4151..71c462e 100644 (file)
@@ -7,5 +7,5 @@ ms_BN{
             "Dolar Brunei",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
similarity index 51%
rename from source/data/lang/th_TH_TRADITIONAL.txt
rename to source/data/curr/ms_ID.txt
index a07213d..b3c0c22 100644 (file)
@@ -1,7 +1,11 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-th_TH_TRADITIONAL{\r
-    calendar{\r
-        default{"buddhist"}\r
+ms_ID{\r
+    Currencies{\r
+        IDR{\r
+            "Rp",\r
+            "Rupiah Indonesia",\r
+        }\r
     }\r
+    Version{"37"}\r
 }\r
index e3fc83f..9330033 100644 (file)
@@ -7,5 +7,5 @@ ms_SG{
             "Dolar Singapura",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 186744b..241e416 100644 (file)
@@ -106,10 +106,6 @@ mt{
             "BZD",\r
             "BZD",\r
         }\r
-        CAD{\r
-            "CA$",\r
-            "CAD",\r
-        }\r
         CDF{\r
             "CDF",\r
             "CDF",\r
@@ -342,10 +338,6 @@ mt{
             "MRO",\r
             "MRO",\r
         }\r
-        MRU{\r
-            "MRU",\r
-            "MRU",\r
-        }\r
         MTL{\r
             "MTL",\r
             "Lira Maltija",\r
@@ -386,10 +378,6 @@ mt{
             "NIO",\r
             "NIO",\r
         }\r
-        NPR{\r
-            "NPR",\r
-            "NPR",\r
-        }\r
         NZD{\r
             "NZ$",\r
             "NZD",\r
@@ -566,10 +554,6 @@ mt{
             "VEF",\r
             "VEF",\r
         }\r
-        VES{\r
-            "VES",\r
-            "VES",\r
-        }\r
         VND{\r
             "₫",\r
             "VND",\r
@@ -704,912 +688,18 @@ mt{
         TRY{"TL"}\r
     }\r
     CurrencyPlurals{\r
-        AED{\r
-            few{"AED"}\r
-            many{"AED"}\r
-            one{"AED"}\r
-            other{"AED"}\r
-        }\r
-        AFN{\r
-            few{"AFN"}\r
-            many{"AFN"}\r
-            one{"AFN"}\r
-            other{"AFN"}\r
-        }\r
-        ALL{\r
-            few{"ALL"}\r
-            many{"ALL"}\r
-            one{"ALL"}\r
-            other{"ALL"}\r
-        }\r
-        AMD{\r
-            few{"AMD"}\r
-            many{"AMD"}\r
-            one{"AMD"}\r
-            other{"AMD"}\r
-        }\r
-        ANG{\r
-            few{"ANG"}\r
-            many{"ANG"}\r
-            one{"ANG"}\r
-            other{"ANG"}\r
-        }\r
-        AOA{\r
-            few{"AOA"}\r
-            many{"AOA"}\r
-            one{"AOA"}\r
-            other{"AOA"}\r
-        }\r
-        ARS{\r
-            few{"ARS"}\r
-            many{"ARS"}\r
-            one{"ARS"}\r
-            other{"ARS"}\r
-        }\r
-        AUD{\r
-            few{"AUD"}\r
-            many{"AUD"}\r
-            one{"AUD"}\r
-            other{"AUD"}\r
-        }\r
-        AWG{\r
-            few{"AWG"}\r
-            many{"AWG"}\r
-            one{"AWG"}\r
-            other{"AWG"}\r
-        }\r
-        AZN{\r
-            few{"AZN"}\r
-            many{"AZN"}\r
-            one{"AZN"}\r
-            other{"AZN"}\r
-        }\r
-        BAM{\r
-            few{"BAM"}\r
-            many{"BAM"}\r
-            one{"BAM"}\r
-            other{"BAM"}\r
-        }\r
-        BBD{\r
-            few{"BBD"}\r
-            many{"BBD"}\r
-            one{"BBD"}\r
-            other{"BBD"}\r
-        }\r
-        BDT{\r
-            few{"BDT"}\r
-            many{"BDT"}\r
-            one{"BDT"}\r
-            other{"BDT"}\r
-        }\r
-        BGN{\r
-            few{"BGN"}\r
-            many{"BGN"}\r
-            one{"BGN"}\r
-            other{"BGN"}\r
-        }\r
-        BHD{\r
-            few{"BHD"}\r
-            many{"BHD"}\r
-            one{"BHD"}\r
-            other{"BHD"}\r
-        }\r
-        BIF{\r
-            few{"BIF"}\r
-            many{"BIF"}\r
-            one{"BIF"}\r
-            other{"BIF"}\r
-        }\r
-        BMD{\r
-            few{"BMD"}\r
-            many{"BMD"}\r
-            one{"BMD"}\r
-            other{"BMD"}\r
-        }\r
-        BND{\r
-            few{"BND"}\r
-            many{"BND"}\r
-            one{"BND"}\r
-            other{"BND"}\r
-        }\r
-        BOB{\r
-            few{"BOB"}\r
-            many{"BOB"}\r
-            one{"BOB"}\r
-            other{"BOB"}\r
-        }\r
-        BRL{\r
-            few{"BRL"}\r
-            many{"BRL"}\r
-            one{"BRL"}\r
-            other{"BRL"}\r
-        }\r
-        BSD{\r
-            few{"BSD"}\r
-            many{"BSD"}\r
-            one{"BSD"}\r
-            other{"BSD"}\r
-        }\r
-        BTN{\r
-            few{"BTN"}\r
-            many{"BTN"}\r
-            one{"BTN"}\r
-            other{"BTN"}\r
-        }\r
-        BWP{\r
-            few{"BWP"}\r
-            many{"BWP"}\r
-            one{"BWP"}\r
-            other{"BWP"}\r
-        }\r
-        BYN{\r
-            few{"BYN"}\r
-            many{"BYN"}\r
-            one{"BYN"}\r
-            other{"BYN"}\r
-        }\r
-        BYR{\r
-            few{"BYR"}\r
-            many{"BYR"}\r
-            one{"BYR"}\r
-            other{"BYR"}\r
-        }\r
-        BZD{\r
-            few{"BZD"}\r
-            many{"BZD"}\r
-            one{"BZD"}\r
-            other{"BZD"}\r
-        }\r
-        CAD{\r
-            few{"CAD"}\r
-            many{"CAD"}\r
-            one{"CAD"}\r
-            other{"CAD"}\r
-        }\r
-        CDF{\r
-            few{"CDF"}\r
-            many{"CDF"}\r
-            one{"CDF"}\r
-            other{"CDF"}\r
-        }\r
-        CHF{\r
-            few{"CHF"}\r
-            many{"CHF"}\r
-            one{"CHF"}\r
-            other{"CHF"}\r
-        }\r
-        CLP{\r
-            few{"CLP"}\r
-            many{"CLP"}\r
-            one{"CLP"}\r
-            other{"CLP"}\r
-        }\r
-        COP{\r
-            few{"COP"}\r
-            many{"COP"}\r
-            one{"COP"}\r
-            other{"COP"}\r
-        }\r
-        CRC{\r
-            few{"CRC"}\r
-            many{"CRC"}\r
-            one{"CRC"}\r
-            other{"CRC"}\r
-        }\r
-        CUC{\r
-            few{"CUC"}\r
-            many{"CUC"}\r
-            one{"CUC"}\r
-            other{"CUC"}\r
-        }\r
-        CUP{\r
-            few{"CUP"}\r
-            many{"CUP"}\r
-            one{"CUP"}\r
-            other{"CUP"}\r
-        }\r
-        CVE{\r
-            few{"CVE"}\r
-            many{"CVE"}\r
-            one{"CVE"}\r
-            other{"CVE"}\r
-        }\r
-        CZK{\r
-            few{"CZK"}\r
-            many{"CZK"}\r
-            one{"CZK"}\r
-            other{"CZK"}\r
-        }\r
-        DJF{\r
-            few{"DJF"}\r
-            many{"DJF"}\r
-            one{"DJF"}\r
-            other{"DJF"}\r
-        }\r
-        DOP{\r
-            few{"DOP"}\r
-            many{"DOP"}\r
-            one{"DOP"}\r
-            other{"DOP"}\r
-        }\r
-        DZD{\r
-            few{"DZD"}\r
-            many{"DZD"}\r
-            one{"DZD"}\r
-            other{"DZD"}\r
-        }\r
-        EGP{\r
-            few{"EGP"}\r
-            many{"EGP"}\r
-            one{"EGP"}\r
-            other{"EGP"}\r
-        }\r
-        ERN{\r
-            few{"ERN"}\r
-            many{"ERN"}\r
-            one{"ERN"}\r
-            other{"ERN"}\r
-        }\r
-        ETB{\r
-            few{"ETB"}\r
-            many{"ETB"}\r
-            one{"ETB"}\r
-            other{"ETB"}\r
-        }\r
         EUR{\r
             few{"ewro"}\r
             many{"ewro"}\r
             one{"ewro"}\r
             other{"ewro"}\r
         }\r
-        FJD{\r
-            few{"FJD"}\r
-            many{"FJD"}\r
-            one{"FJD"}\r
-            other{"FJD"}\r
-        }\r
-        FKP{\r
-            few{"FKP"}\r
-            many{"FKP"}\r
-            one{"FKP"}\r
-            other{"FKP"}\r
-        }\r
-        GEL{\r
-            few{"GEL"}\r
-            many{"GEL"}\r
-            one{"GEL"}\r
-            other{"GEL"}\r
-        }\r
-        GHS{\r
-            few{"GHS"}\r
-            many{"GHS"}\r
-            one{"GHS"}\r
-            other{"GHS"}\r
-        }\r
-        GIP{\r
-            few{"GIP"}\r
-            many{"GIP"}\r
-            one{"GIP"}\r
-            other{"GIP"}\r
-        }\r
-        GMD{\r
-            few{"GMD"}\r
-            many{"GMD"}\r
-            one{"GMD"}\r
-            other{"GMD"}\r
-        }\r
-        GNF{\r
-            few{"GNF"}\r
-            many{"GNF"}\r
-            one{"GNF"}\r
-            other{"GNF"}\r
-        }\r
-        GTQ{\r
-            few{"GTQ"}\r
-            many{"GTQ"}\r
-            one{"GTQ"}\r
-            other{"GTQ"}\r
-        }\r
-        GYD{\r
-            few{"GYD"}\r
-            many{"GYD"}\r
-            one{"GYD"}\r
-            other{"GYD"}\r
-        }\r
-        HNL{\r
-            few{"HNL"}\r
-            many{"HNL"}\r
-            one{"HNL"}\r
-            other{"HNL"}\r
-        }\r
-        HRK{\r
-            few{"HRK"}\r
-            many{"HRK"}\r
-            one{"HRK"}\r
-            other{"HRK"}\r
-        }\r
-        HTG{\r
-            few{"HTG"}\r
-            many{"HTG"}\r
-            one{"HTG"}\r
-            other{"HTG"}\r
-        }\r
-        HUF{\r
-            few{"HUF"}\r
-            many{"HUF"}\r
-            one{"HUF"}\r
-            other{"HUF"}\r
-        }\r
-        IDR{\r
-            few{"IDR"}\r
-            many{"IDR"}\r
-            one{"IDR"}\r
-            other{"IDR"}\r
-        }\r
-        ILS{\r
-            few{"ILS"}\r
-            many{"ILS"}\r
-            one{"ILS"}\r
-            other{"ILS"}\r
-        }\r
-        INR{\r
-            few{"INR"}\r
-            many{"INR"}\r
-            one{"INR"}\r
-            other{"INR"}\r
-        }\r
-        IQD{\r
-            few{"IQD"}\r
-            many{"IQD"}\r
-            one{"IQD"}\r
-            other{"IQD"}\r
-        }\r
-        IRR{\r
-            few{"IRR"}\r
-            many{"IRR"}\r
-            one{"IRR"}\r
-            other{"IRR"}\r
-        }\r
-        JMD{\r
-            few{"JMD"}\r
-            many{"JMD"}\r
-            one{"JMD"}\r
-            other{"JMD"}\r
-        }\r
-        JOD{\r
-            few{"JOD"}\r
-            many{"JOD"}\r
-            one{"JOD"}\r
-            other{"JOD"}\r
-        }\r
-        KES{\r
-            few{"KES"}\r
-            many{"KES"}\r
-            one{"KES"}\r
-            other{"KES"}\r
-        }\r
-        KGS{\r
-            few{"KGS"}\r
-            many{"KGS"}\r
-            one{"KGS"}\r
-            other{"KGS"}\r
-        }\r
-        KHR{\r
-            few{"KHR"}\r
-            many{"KHR"}\r
-            one{"KHR"}\r
-            other{"KHR"}\r
-        }\r
-        KMF{\r
-            few{"KMF"}\r
-            many{"KMF"}\r
-            one{"KMF"}\r
-            other{"KMF"}\r
-        }\r
-        KPW{\r
-            few{"KPW"}\r
-            many{"KPW"}\r
-            one{"KPW"}\r
-            other{"KPW"}\r
-        }\r
-        KRW{\r
-            few{"KRW"}\r
-            many{"KRW"}\r
-            one{"KRW"}\r
-            other{"KRW"}\r
-        }\r
-        KWD{\r
-            few{"KWD"}\r
-            many{"KWD"}\r
-            one{"KWD"}\r
-            other{"KWD"}\r
-        }\r
-        KYD{\r
-            few{"KYD"}\r
-            many{"KYD"}\r
-            one{"KYD"}\r
-            other{"KYD"}\r
-        }\r
-        KZT{\r
-            few{"KZT"}\r
-            many{"KZT"}\r
-            one{"KZT"}\r
-            other{"KZT"}\r
-        }\r
-        LAK{\r
-            few{"LAK"}\r
-            many{"LAK"}\r
-            one{"LAK"}\r
-            other{"LAK"}\r
-        }\r
-        LBP{\r
-            few{"LBP"}\r
-            many{"LBP"}\r
-            one{"LBP"}\r
-            other{"LBP"}\r
-        }\r
-        LKR{\r
-            few{"LKR"}\r
-            many{"LKR"}\r
-            one{"LKR"}\r
-            other{"LKR"}\r
-        }\r
-        LRD{\r
-            few{"LRD"}\r
-            many{"LRD"}\r
-            one{"LRD"}\r
-            other{"LRD"}\r
-        }\r
-        LYD{\r
-            few{"LYD"}\r
-            many{"LYD"}\r
-            one{"LYD"}\r
-            other{"LYD"}\r
-        }\r
-        MAD{\r
-            few{"MAD"}\r
-            many{"MAD"}\r
-            one{"MAD"}\r
-            other{"MAD"}\r
-        }\r
-        MDL{\r
-            few{"MDL"}\r
-            many{"MDL"}\r
-            one{"MDL"}\r
-            other{"MDL"}\r
-        }\r
-        MGA{\r
-            few{"MGA"}\r
-            many{"MGA"}\r
-            one{"MGA"}\r
-            other{"MGA"}\r
-        }\r
-        MKD{\r
-            few{"MKD"}\r
-            many{"MKD"}\r
-            one{"MKD"}\r
-            other{"MKD"}\r
-        }\r
-        MMK{\r
-            few{"MMK"}\r
-            many{"MMK"}\r
-            one{"MMK"}\r
-            other{"MMK"}\r
-        }\r
-        MNT{\r
-            few{"MNT"}\r
-            many{"MNT"}\r
-            one{"MNT"}\r
-            other{"MNT"}\r
-        }\r
-        MOP{\r
-            few{"MOP"}\r
-            many{"MOP"}\r
-            one{"MOP"}\r
-            other{"MOP"}\r
-        }\r
-        MRO{\r
-            few{"MRO"}\r
-            many{"MRO"}\r
-            one{"MRO"}\r
-            other{"MRO"}\r
-        }\r
-        MRU{\r
-            few{"MRU"}\r
-            many{"MRU"}\r
-            one{"MRU"}\r
-            other{"MRU"}\r
-        }\r
-        MUR{\r
-            few{"MUR"}\r
-            many{"MUR"}\r
-            one{"MUR"}\r
-            other{"MUR"}\r
-        }\r
-        MVR{\r
-            few{"MVR"}\r
-            many{"MVR"}\r
-            one{"MVR"}\r
-            other{"MVR"}\r
-        }\r
-        MWK{\r
-            few{"MWK"}\r
-            many{"MWK"}\r
-            one{"MWK"}\r
-            other{"MWK"}\r
-        }\r
-        MXN{\r
-            few{"MXN"}\r
-            many{"MXN"}\r
-            one{"MXN"}\r
-            other{"MXN"}\r
-        }\r
-        MYR{\r
-            few{"MYR"}\r
-            many{"MYR"}\r
-            one{"MYR"}\r
-            other{"MYR"}\r
-        }\r
-        MZN{\r
-            few{"MZN"}\r
-            many{"MZN"}\r
-            one{"MZN"}\r
-            other{"MZN"}\r
-        }\r
-        NAD{\r
-            few{"NAD"}\r
-            many{"NAD"}\r
-            one{"NAD"}\r
-            other{"NAD"}\r
-        }\r
-        NGN{\r
-            few{"NGN"}\r
-            many{"NGN"}\r
-            one{"NGN"}\r
-            other{"NGN"}\r
-        }\r
-        NIO{\r
-            few{"NIO"}\r
-            many{"NIO"}\r
-            one{"NIO"}\r
-            other{"NIO"}\r
-        }\r
-        NPR{\r
-            few{"NPR"}\r
-            many{"NPR"}\r
-            one{"NPR"}\r
-            other{"NPR"}\r
-        }\r
-        NZD{\r
-            few{"NZD"}\r
-            many{"NZD"}\r
-            one{"NZD"}\r
-            other{"NZD"}\r
-        }\r
-        OMR{\r
-            few{"OMR"}\r
-            many{"OMR"}\r
-            one{"OMR"}\r
-            other{"OMR"}\r
-        }\r
-        PAB{\r
-            few{"PAB"}\r
-            many{"PAB"}\r
-            one{"PAB"}\r
-            other{"PAB"}\r
-        }\r
-        PEN{\r
-            few{"PEN"}\r
-            many{"PEN"}\r
-            one{"PEN"}\r
-            other{"PEN"}\r
-        }\r
-        PGK{\r
-            few{"PGK"}\r
-            many{"PGK"}\r
-            one{"PGK"}\r
-            other{"PGK"}\r
-        }\r
-        PHP{\r
-            few{"PHP"}\r
-            many{"PHP"}\r
-            one{"PHP"}\r
-            other{"PHP"}\r
-        }\r
-        PKR{\r
-            few{"PKR"}\r
-            many{"PKR"}\r
-            one{"PKR"}\r
-            other{"PKR"}\r
-        }\r
-        PLN{\r
-            few{"PLN"}\r
-            many{"PLN"}\r
-            one{"PLN"}\r
-            other{"PLN"}\r
-        }\r
-        PYG{\r
-            few{"PYG"}\r
-            many{"PYG"}\r
-            one{"PYG"}\r
-            other{"PYG"}\r
-        }\r
-        QAR{\r
-            few{"QAR"}\r
-            many{"QAR"}\r
-            one{"QAR"}\r
-            other{"QAR"}\r
-        }\r
-        RON{\r
-            few{"RON"}\r
-            many{"RON"}\r
-            one{"RON"}\r
-            other{"RON"}\r
-        }\r
-        RSD{\r
-            few{"RSD"}\r
-            many{"RSD"}\r
-            one{"RSD"}\r
-            other{"RSD"}\r
-        }\r
-        RUB{\r
-            few{"RUB"}\r
-            many{"RUB"}\r
-            one{"RUB"}\r
-            other{"RUB"}\r
-        }\r
-        RWF{\r
-            few{"RWF"}\r
-            many{"RWF"}\r
-            one{"RWF"}\r
-            other{"RWF"}\r
-        }\r
-        SAR{\r
-            few{"SAR"}\r
-            many{"SAR"}\r
-            one{"SAR"}\r
-            other{"SAR"}\r
-        }\r
-        SBD{\r
-            few{"SBD"}\r
-            many{"SBD"}\r
-            one{"SBD"}\r
-            other{"SBD"}\r
-        }\r
-        SCR{\r
-            few{"SCR"}\r
-            many{"SCR"}\r
-            one{"SCR"}\r
-            other{"SCR"}\r
-        }\r
-        SDG{\r
-            few{"SDG"}\r
-            many{"SDG"}\r
-            one{"SDG"}\r
-            other{"SDG"}\r
-        }\r
-        SGD{\r
-            few{"SGD"}\r
-            many{"SGD"}\r
-            one{"SGD"}\r
-            other{"SGD"}\r
-        }\r
-        SHP{\r
-            few{"SHP"}\r
-            many{"SHP"}\r
-            one{"SHP"}\r
-            other{"SHP"}\r
-        }\r
-        SLL{\r
-            few{"SLL"}\r
-            many{"SLL"}\r
-            one{"SLL"}\r
-            other{"SLL"}\r
-        }\r
-        SOS{\r
-            few{"SOS"}\r
-            many{"SOS"}\r
-            one{"SOS"}\r
-            other{"SOS"}\r
-        }\r
-        SRD{\r
-            few{"SRD"}\r
-            many{"SRD"}\r
-            one{"SRD"}\r
-            other{"SRD"}\r
-        }\r
-        SSP{\r
-            few{"SSP"}\r
-            many{"SSP"}\r
-            one{"SSP"}\r
-            other{"SSP"}\r
-        }\r
-        STD{\r
-            few{"STD"}\r
-            many{"STD"}\r
-            one{"STD"}\r
-            other{"STD"}\r
-        }\r
-        STN{\r
-            few{"STN"}\r
-            many{"STN"}\r
-            one{"STN"}\r
-            other{"STN"}\r
-        }\r
-        SYP{\r
-            few{"SYP"}\r
-            many{"SYP"}\r
-            one{"SYP"}\r
-            other{"SYP"}\r
-        }\r
-        SZL{\r
-            few{"SZL"}\r
-            many{"SZL"}\r
-            one{"SZL"}\r
-            other{"SZL"}\r
-        }\r
-        THB{\r
-            few{"THB"}\r
-            many{"THB"}\r
-            one{"THB"}\r
-            other{"THB"}\r
-        }\r
-        TJS{\r
-            few{"TJS"}\r
-            many{"TJS"}\r
-            one{"TJS"}\r
-            other{"TJS"}\r
-        }\r
-        TMT{\r
-            few{"TMT"}\r
-            many{"TMT"}\r
-            one{"TMT"}\r
-            other{"TMT"}\r
-        }\r
-        TND{\r
-            few{"TND"}\r
-            many{"TND"}\r
-            one{"TND"}\r
-            other{"TND"}\r
-        }\r
-        TOP{\r
-            few{"TOP"}\r
-            many{"TOP"}\r
-            one{"TOP"}\r
-            other{"TOP"}\r
-        }\r
-        TRY{\r
-            few{"TRY"}\r
-            many{"TRY"}\r
-            one{"TRY"}\r
-            other{"TRY"}\r
-        }\r
-        TTD{\r
-            few{"TTD"}\r
-            many{"TTD"}\r
-            one{"TTD"}\r
-            other{"TTD"}\r
-        }\r
-        TWD{\r
-            few{"TWD"}\r
-            many{"TWD"}\r
-            one{"TWD"}\r
-            other{"TWD"}\r
-        }\r
-        TZS{\r
-            few{"TZS"}\r
-            many{"TZS"}\r
-            one{"TZS"}\r
-            other{"TZS"}\r
-        }\r
-        UAH{\r
-            few{"UAH"}\r
-            many{"UAH"}\r
-            one{"UAH"}\r
-            other{"UAH"}\r
-        }\r
-        UGX{\r
-            few{"UGX"}\r
-            many{"UGX"}\r
-            one{"UGX"}\r
-            other{"UGX"}\r
-        }\r
-        USD{\r
-            few{"USD"}\r
-            many{"USD"}\r
-            one{"USD"}\r
-            other{"USD"}\r
-        }\r
-        UYU{\r
-            few{"UYU"}\r
-            many{"UYU"}\r
-            one{"UYU"}\r
-            other{"UYU"}\r
-        }\r
-        UZS{\r
-            few{"UZS"}\r
-            many{"UZS"}\r
-            one{"UZS"}\r
-            other{"UZS"}\r
-        }\r
-        VEF{\r
-            few{"VEF"}\r
-            many{"VEF"}\r
-            one{"VEF"}\r
-            other{"VEF"}\r
-        }\r
-        VES{\r
-            few{"VES"}\r
-            many{"VES"}\r
-            one{"VES"}\r
-            other{"VES"}\r
-        }\r
-        VND{\r
-            few{"VND"}\r
-            many{"VND"}\r
-            one{"VND"}\r
-            other{"VND"}\r
-        }\r
-        VUV{\r
-            few{"VUV"}\r
-            many{"VUV"}\r
-            one{"VUV"}\r
-            other{"VUV"}\r
-        }\r
-        WST{\r
-            few{"WST"}\r
-            many{"WST"}\r
-            one{"WST"}\r
-            other{"WST"}\r
-        }\r
-        XAF{\r
-            few{"XAF"}\r
-            many{"XAF"}\r
-            one{"XAF"}\r
-            other{"XAF"}\r
-        }\r
-        XCD{\r
-            few{"XCD"}\r
-            many{"XCD"}\r
-            one{"XCD"}\r
-            other{"XCD"}\r
-        }\r
-        XOF{\r
-            few{"XOF"}\r
-            many{"XOF"}\r
-            one{"XOF"}\r
-            other{"XOF"}\r
-        }\r
-        XPF{\r
-            few{"XPF"}\r
-            many{"XPF"}\r
-            one{"XPF"}\r
-            other{"XPF"}\r
-        }\r
         XXX{\r
             few{"Munita Mhix Magħrufa jew Mhix Valida"}\r
             many{"Munita Mhix Magħrufa jew Mhix Valida"}\r
             one{"Munita mhix magħrufa jew mhix valida"}\r
             other{"Munita Mhix Magħrufa jew Mhix Valida"}\r
         }\r
-        YER{\r
-            few{"YER"}\r
-            many{"YER"}\r
-            one{"YER"}\r
-            other{"YER"}\r
-        }\r
-        ZAR{\r
-            few{"ZAR"}\r
-            many{"ZAR"}\r
-            one{"ZAR"}\r
-            other{"ZAR"}\r
-        }\r
-        ZMW{\r
-            few{"ZMW"}\r
-            many{"ZMW"}\r
-            one{"ZMW"}\r
-            other{"ZMW"}\r
-        }\r
     }\r
     CurrencyUnitPatterns{\r
         few{"{0} {1}"}\r
@@ -1617,5 +707,5 @@ mt{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7c8ee76..12e82f1 100644 (file)
@@ -235,5 +235,5 @@ mua{
             "Solai Zimbabwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index efb3550..8fe9a10 100644 (file)
@@ -1330,5 +1330,5 @@ my{
             other{"ဇင်ဘာဘွေ ခွါးချာ"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 53f1e2c..5727bf2 100644 (file)
@@ -1141,5 +1141,5 @@ mzn{
             other{"زامبیای ِکواچا"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e03a1b2..9fcf8a4 100644 (file)
@@ -235,5 +235,5 @@ naq{
             "Zimbabwe Dollari",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8baf3a3..6d5ad8d 100644 (file)
@@ -640,7 +640,7 @@ nb{
         }\r
         MCF{\r
             "MCF",\r
-            "MCF",\r
+            "monegaskiske franc",\r
         }\r
         MDC{\r
             "MDC",\r
@@ -1942,8 +1942,8 @@ nb{
             other{"marokkanske franc"}\r
         }\r
         MCF{\r
-            one{"MCF"}\r
-            other{"MCF"}\r
+            one{"monegaskisk franc"}\r
+            other{"monegaskiske franc"}\r
         }\r
         MDC{\r
             one{"moldovsk cupon"}\r
@@ -2514,5 +2514,5 @@ nb{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 90d0c99..2f87c5c 100644 (file)
@@ -235,5 +235,5 @@ nd{
             "Dola yase Zimbabwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index df60e8e..ddcdfe9 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nds{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 75db36e..21bfee3 100644 (file)
@@ -1414,5 +1414,5 @@ ne{
             other{"जाम्बियाली क्वाचा"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d403eda..16c4b75 100644 (file)
@@ -2537,5 +2537,5 @@ nl{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9414898..adbaf2c 100644 (file)
@@ -7,5 +7,5 @@ nl_AW{
             "Arubaanse gulden",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fbfdec3..b5ad488 100644 (file)
@@ -7,5 +7,5 @@ nl_BQ{
             "Amerikaanse dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6e6713d..7f2e126 100644 (file)
@@ -7,5 +7,5 @@ nl_CW{
             "Nederlands-Antilliaanse gulden",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 871833d..b7b2763 100644 (file)
@@ -7,5 +7,5 @@ nl_SR{
             "Surinaamse dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 56f2bfa..5c82c44 100644 (file)
@@ -7,5 +7,5 @@ nl_SX{
             "Nederlands-Antilliaanse gulden",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cc7888e..4a2ca25 100644 (file)
@@ -235,5 +235,5 @@ nmg{
             "Dɔ́llɔ Zimbabwǝ (1980–2008)",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 70fbf6d..b9a40f1 100644 (file)
@@ -2212,5 +2212,5 @@ nn{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 28482ad..f08cf08 100644 (file)
@@ -7,5 +7,5 @@ nnh{
             "feláŋ CFA",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5544c5c..3911661 100644 (file)
@@ -11,5 +11,5 @@ nus{
             "SSP",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index eb84b3e..a998d35 100644 (file)
@@ -235,5 +235,5 @@ nyn{
             "Doora ya Zimbabwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cfa7e6a..0a9b5b5 100644 (file)
@@ -43,5 +43,5 @@ om{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 837ce3b..a8832f5 100644 (file)
@@ -7,5 +7,5 @@ om_KE{
             "KES",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c2ea4e8..e114664 100644 (file)
@@ -1380,5 +1380,5 @@ or{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 02c16f6..bba6924 100644 (file)
@@ -65,5 +65,5 @@ os{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8da7863..8ab39e4 100644 (file)
@@ -11,5 +11,5 @@ os_RU{
             "Сом",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f640e61..dd34f1e 100644 (file)
@@ -1582,7 +1582,7 @@ pa{
             other{"ਪੂਰਬੀ ਕੈਰੇਬੀਅਨ ਡਾਲਰ"}\r
         }\r
         XEU{\r
-            one{"XEU"}\r
+            one{"ਯੂਰਪੀਅਨ ਮੁਦਰਾ ਇਕਾਈ"}\r
             other{"ਯੂਰਪੀ ਮੁਦਰਾ ਇਕਾਈ"}\r
         }\r
         XOF{\r
@@ -1614,5 +1614,5 @@ pa{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b407bd4..52cab0c 100644 (file)
@@ -16,5 +16,5 @@ pa_Arab{
             "روپئیہ",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b1dcb3f..de00c95 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pa_Guru{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/curr/pcm.txt b/source/data/curr/pcm.txt
new file mode 100644 (file)
index 0000000..907c50c
--- /dev/null
@@ -0,0 +1,1359 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+pcm{\r
+    Currencies{\r
+        AED{\r
+            "AED",\r
+            "Yunaítẹ́d Áráb Ẹ́míréts Dírham",\r
+        }\r
+        AFN{\r
+            "AFN",\r
+            "Afgán Afgáni",\r
+        }\r
+        ALL{\r
+            "ALL",\r
+            "Albéniá Lẹk",\r
+        }\r
+        AMD{\r
+            "AMD",\r
+            "Armẹ́niá Dram",\r
+        }\r
+        ANG{\r
+            "ANG",\r
+            "Nẹ́dalánds Antílián Gílda",\r
+        }\r
+        AOA{\r
+            "AOA",\r
+            "Angólá Kwánza",\r
+        }\r
+        ARS{\r
+            "ARS",\r
+            "Ajẹntína Pẹ́so",\r
+        }\r
+        AUD{\r
+            "A$",\r
+            "Ọstréliá Dọ́la",\r
+        }\r
+        AWG{\r
+            "AWG",\r
+            "Arúba Flọ́rin",\r
+        }\r
+        AZN{\r
+            "AZN",\r
+            "Azẹrbaiján Mánat",\r
+        }\r
+        BAM{\r
+            "BAM",\r
+            "Bọ́sniá an Hẹzẹgovína Mak Wé Pẹ́sin Fít Chenj",\r
+        }\r
+        BBD{\r
+            "BBD",\r
+            "Barbédọs Dọ́la",\r
+        }\r
+        BDT{\r
+            "BDT",\r
+            "Bangladẹ́sh Táka",\r
+        }\r
+        BGN{\r
+            "BGN",\r
+            "Bọlgériá Lẹv",\r
+        }\r
+        BHD{\r
+            "BHD",\r
+            "Baréin Dínar",\r
+        }\r
+        BIF{\r
+            "BIF",\r
+            "Burúndí Frank",\r
+        }\r
+        BMD{\r
+            "BMD",\r
+            "Bẹmiúda Dọ́la",\r
+        }\r
+        BND{\r
+            "BND",\r
+            "Brunẹí Dọ́la",\r
+        }\r
+        BOB{\r
+            "BOB",\r
+            "Bolíviá Boliviáno",\r
+        }\r
+        BRL{\r
+            "R$",\r
+            "Brazíl Rẹal",\r
+        }\r
+        BSD{\r
+            "BSD",\r
+            "Bahámas Dọ́la",\r
+        }\r
+        BTN{\r
+            "BTN",\r
+            "Bután Ngúltrum",\r
+        }\r
+        BWP{\r
+            "BWP",\r
+            "Botswáná Púla",\r
+        }\r
+        BYN{\r
+            "BYN",\r
+            "Bẹlarús Rúbul",\r
+        }\r
+        BZD{\r
+            "BZD",\r
+            "Bẹliz Dọ́la",\r
+        }\r
+        CAD{\r
+            "KA$",\r
+            "Kánádá Dọ́la",\r
+        }\r
+        CDF{\r
+            "CDF",\r
+            "Kóngó Frank",\r
+        }\r
+        CHF{\r
+            "CHF",\r
+            "Swís Frank",\r
+        }\r
+        CLP{\r
+            "CLP",\r
+            "Chílí Pẹ́so",\r
+        }\r
+        CNH{\r
+            "CNH",\r
+            "Chaíná Yuan (ples-dẹm aúsaíd chaína)",\r
+        }\r
+        CNY{\r
+            "CN¥",\r
+            "Chaíná Yuan",\r
+        }\r
+        COP{\r
+            "COP",\r
+            "Kolómbiá Pẹ́so",\r
+        }\r
+        CRC{\r
+            "CRC",\r
+            "Kósta Ríka Kólọn",\r
+        }\r
+        CUC{\r
+            "CUC",\r
+            "Kiúbá Pẹ́so Wé Pẹ́sin Fít Chenj",\r
+        }\r
+        CUP{\r
+            "CUP",\r
+            "Kiúbá Pẹ́so",\r
+        }\r
+        CVE{\r
+            "CVE",\r
+            "Kép Vẹ́d Ẹskúdo",\r
+        }\r
+        CZK{\r
+            "CZK",\r
+            "Chẹ́k Kórúna",\r
+        }\r
+        DJF{\r
+            "DJF",\r
+            "Jibútí Frank",\r
+        }\r
+        DKK{\r
+            "DKK",\r
+            "Dẹ́nmák Króna",\r
+        }\r
+        DOP{\r
+            "DOP",\r
+            "Dọmíníkan Pẹ́so",\r
+        }\r
+        DZD{\r
+            "DZD",\r
+            "Aljíria Dínar",\r
+        }\r
+        EGP{\r
+            "EGP",\r
+            "Íjípt Paund",\r
+        }\r
+        ERN{\r
+            "ERN",\r
+            "Ẹritrẹá Nákfa",\r
+        }\r
+        ETB{\r
+            "ETB",\r
+            "Ẹtiópiá Berr",\r
+        }\r
+        EUR{\r
+            "€",\r
+            "Yúro",\r
+        }\r
+        FJD{\r
+            "FJD",\r
+            "Fíjí Dọ́la",\r
+        }\r
+        FKP{\r
+            "FKP",\r
+            "Fọlkland Aílands Paund",\r
+        }\r
+        GBP{\r
+            "£",\r
+            "Brítísh Páund",\r
+        }\r
+        GEL{\r
+            "GEL",\r
+            "Jọ́jiá Lári",\r
+        }\r
+        GHS{\r
+            "GHS",\r
+            "Ganá Sídi",\r
+        }\r
+        GIP{\r
+            "GIP",\r
+            "Jibrọ́lta Páund",\r
+        }\r
+        GMD{\r
+            "GMD",\r
+            "Gámbiá Dalási",\r
+        }\r
+        GNF{\r
+            "GNF",\r
+            "Gíní Frank",\r
+        }\r
+        GTQ{\r
+            "GTQ",\r
+            "Guátẹmála Kwuẹ́tzal",\r
+        }\r
+        GYD{\r
+            "GYD",\r
+            "Giyána Dọ́la",\r
+        }\r
+        HKD{\r
+            "HK$",\r
+            "Họng Kọ́ng Dọ́la",\r
+        }\r
+        HNL{\r
+            "HNL",\r
+            "Họndúrán Lẹmpíra",\r
+        }\r
+        HRK{\r
+            "HRK",\r
+            "Kroéshia Kúna",\r
+        }\r
+        HTG{\r
+            "HTG",\r
+            "Haíti Gourd",\r
+        }\r
+        HUF{\r
+            "HUF",\r
+            "Họngériá Fọ́rint",\r
+        }\r
+        IDR{\r
+            "IDR",\r
+            "Indoníshiá Rupia",\r
+        }\r
+        ILS{\r
+            "₪",\r
+            "Ízrẹ́l Niú Shẹ́kẹl",\r
+        }\r
+        INR{\r
+            "₹",\r
+            "Índiá Rúpi",\r
+        }\r
+        IQD{\r
+            "IQD",\r
+            "Irák Dínar",\r
+        }\r
+        IRR{\r
+            "IRR",\r
+            "Irán Rial",\r
+        }\r
+        ISK{\r
+            "ISK",\r
+            "Aíslánd Króna",\r
+        }\r
+        JMD{\r
+            "JMD",\r
+            "Jamaíka Dọla",\r
+        }\r
+        JOD{\r
+            "JOD",\r
+            "Jọ́dán Dínar",\r
+        }\r
+        JPY{\r
+            "JP¥",\r
+            "Japán Yẹn",\r
+        }\r
+        KES{\r
+            "KES",\r
+            "Kẹ́nyá Shílin",\r
+        }\r
+        KGS{\r
+            "KGS",\r
+            "Kẹjístan Som",\r
+        }\r
+        KHR{\r
+            "KHR",\r
+            "Kambódiá Riẹl",\r
+        }\r
+        KMF{\r
+            "KMF",\r
+            "Kọ́mọ́ros Frank",\r
+        }\r
+        KPW{\r
+            "KPW",\r
+            "Nọ́t Koriá Wọn",\r
+        }\r
+        KRW{\r
+            "₩",\r
+            "Saút Koriá Wọn",\r
+        }\r
+        KWD{\r
+            "KWD",\r
+            "Kuwét Dínar",\r
+        }\r
+        KYD{\r
+            "KYD",\r
+            "Kéman Aílands Dọla",\r
+        }\r
+        KZT{\r
+            "KZT",\r
+            "Kazakstan Tẹ́nj",\r
+        }\r
+        LAK{\r
+            "LAK",\r
+            "Laós Kip",\r
+        }\r
+        LBP{\r
+            "LBP",\r
+            "Lẹ́bánọ́n Paund",\r
+        }\r
+        LKR{\r
+            "LKR",\r
+            "Sri Lánká Rúpi",\r
+        }\r
+        LRD{\r
+            "LRD",\r
+            "Laibẹ́riá Dọ́la",\r
+        }\r
+        LYD{\r
+            "LYD",\r
+            "Líbia Dínar",\r
+        }\r
+        MAD{\r
+            "MAD",\r
+            "Morọko Dírham",\r
+        }\r
+        MDL{\r
+            "MDL",\r
+            "Mọldóva Lu",\r
+        }\r
+        MGA{\r
+            "MGA",\r
+            "Malagásí Ariári",\r
+        }\r
+        MKD{\r
+            "MKD",\r
+            "Masẹdónia Dínar",\r
+        }\r
+        MMK{\r
+            "MMK",\r
+            "Miánmá Kiat",\r
+        }\r
+        MNT{\r
+            "MNT",\r
+            "Mọngóliá Túgrik",\r
+        }\r
+        MOP{\r
+            "MOP",\r
+            "Makáo Pátáka",\r
+        }\r
+        MRU{\r
+            "MRU",\r
+            "Mọriténiá Uguíya",\r
+        }\r
+        MUR{\r
+            "MUR",\r
+            "Mọríshọ́s Rúpi",\r
+        }\r
+        MVR{\r
+            "MVR",\r
+            "Mọ́ldívs Rúfíya",\r
+        }\r
+        MWK{\r
+            "MWK",\r
+            "Maláwi ́Kwácha",\r
+        }\r
+        MXN{\r
+            "MX$",\r
+            "Mẹ́ksíko Pẹ́so",\r
+        }\r
+        MYR{\r
+            "MYR",\r
+            "Maléshiá Ríngit",\r
+        }\r
+        MZN{\r
+            "MZN",\r
+            "Mozámbík Métíkal",\r
+        }\r
+        NAD{\r
+            "NAD",\r
+            "Namíbiá Dọ́la",\r
+        }\r
+        NGN{\r
+            "₦",\r
+            "Naijíriá Naíra",\r
+        }\r
+        NIO{\r
+            "NIO",\r
+            "Nikarágwua Kordóba",\r
+        }\r
+        NOK{\r
+            "NOK",\r
+            "Nọ́wé Króna",\r
+        }\r
+        NPR{\r
+            "NPR",\r
+            "Nẹ́pál Rúpi",\r
+        }\r
+        NZD{\r
+            "NZ$",\r
+            "Niú Zílánd Dọ́las",\r
+        }\r
+        OMR{\r
+            "OMR",\r
+            "Omán Rial",\r
+        }\r
+        PAB{\r
+            "PAB",\r
+            "Pánáma Balbóa",\r
+        }\r
+        PEN{\r
+            "PEN",\r
+            "Pẹrúvián Sol",\r
+        }\r
+        PGK{\r
+            "PGK",\r
+            "Pápuá Niú Gíni Kína",\r
+        }\r
+        PHP{\r
+            "PHP",\r
+            "Fílípíns Píso",\r
+        }\r
+        PKR{\r
+            "PKR",\r
+            "Pakístán Rúpi",\r
+        }\r
+        PLN{\r
+            "PLN",\r
+            "Pólánd Zílọ́ti",\r
+        }\r
+        PYG{\r
+            "PYG",\r
+            "Páragwuá Guaráni",\r
+        }\r
+        QAR{\r
+            "QAR",\r
+            "Kata Ríal",\r
+        }\r
+        RON{\r
+            "RON",\r
+            "Roméniá Lu",\r
+        }\r
+        RSD{\r
+            "RSD",\r
+            "Sẹrbia Dínar",\r
+        }\r
+        RUB{\r
+            "RUB",\r
+            "Rọ́shiá Rúbul",\r
+        }\r
+        RWF{\r
+            "RWF",\r
+            "Ruwándá Frank",\r
+        }\r
+        SAR{\r
+            "SAR",\r
+            "Saúdí Arébiá Riyal",\r
+        }\r
+        SBD{\r
+            "SBD",\r
+            "Sólómọ́n Aílands Dọ́la",\r
+        }\r
+        SCR{\r
+            "SCR",\r
+            "Sẹ́chẹ́ls Rúpi",\r
+        }\r
+        SDG{\r
+            "SDG",\r
+            "Sudan Paund",\r
+        }\r
+        SEK{\r
+            "SEK",\r
+            "Swídẹ́n Króna",\r
+        }\r
+        SGD{\r
+            "SGD",\r
+            "Singapọ́ Dọ́la",\r
+        }\r
+        SHP{\r
+            "SHP",\r
+            "Sent Hẹlẹ́ná Paund",\r
+        }\r
+        SLL{\r
+            "SLL",\r
+            "Siẹ́ra Líoniá Liọn",\r
+        }\r
+        SOS{\r
+            "SOS",\r
+            "Sọmáliá Shílin",\r
+        }\r
+        SRD{\r
+            "SRD",\r
+            "Súrínám Dọla",\r
+        }\r
+        SSP{\r
+            "SSP",\r
+            "Saút Sudán Paund",\r
+        }\r
+        STN{\r
+            "STN",\r
+            "Sao Tómẹ & Prínsípẹ Dóbra",\r
+        }\r
+        SYP{\r
+            "SYP",\r
+            "Síriá Paund",\r
+        }\r
+        SZL{\r
+            "SZL",\r
+            "Swází Lilánjẹ́ni",\r
+        }\r
+        THB{\r
+            "THB",\r
+            "Taílánd Baht",\r
+        }\r
+        TJS{\r
+            "TJS",\r
+            "Tajíkstan Sómóni",\r
+        }\r
+        TMT{\r
+            "TMT",\r
+            "Tọkmẹ́nístán Mánat",\r
+        }\r
+        TND{\r
+            "TND",\r
+            "Tuníshia Dínar",\r
+        }\r
+        TOP{\r
+            "TOP",\r
+            "Tónga Pánga",\r
+        }\r
+        TRY{\r
+            "TRY",\r
+            "Tọ́kí Líra",\r
+        }\r
+        TTD{\r
+            "TTD",\r
+            "Trínídad & Tobágo Dọ́la",\r
+        }\r
+        TWD{\r
+            "NT$",\r
+            "Niú Taiwán Dọ́la",\r
+        }\r
+        TZS{\r
+            "TZS",\r
+            "Tanzániá Shílin",\r
+        }\r
+        UAH{\r
+            "UAH",\r
+            "Yukrẹín Rívnia",\r
+        }\r
+        UGX{\r
+            "UGX",\r
+            "Yugándá Shílin",\r
+        }\r
+        USD{\r
+            "US$",\r
+            "US Dọ́la",\r
+        }\r
+        UYU{\r
+            "UYU",\r
+            "Yurugwaí Pẹ́so",\r
+        }\r
+        UZS{\r
+            "UZS",\r
+            "Uzbẹ́kistan Som",\r
+        }\r
+        VES{\r
+            "VES",\r
+            "Vẹnẹzuẹlá Bolívar",\r
+        }\r
+        VND{\r
+            "₫",\r
+            "Viẹ́tnám Dọng",\r
+        }\r
+        VUV{\r
+            "VUV",\r
+            "Vanuátú Vátu",\r
+        }\r
+        WST{\r
+            "WST",\r
+            "Samóa Tála",\r
+        }\r
+        XAF{\r
+            "FCFA",\r
+            "Sẹ́ntrál Áfríká Frank",\r
+        }\r
+        XCD{\r
+            "EC$",\r
+            "Íst Karíbián Dọla",\r
+        }\r
+        XOF{\r
+            "CFA",\r
+            "Wẹ́st Afríká Sẹ́fa Frank",\r
+        }\r
+        XPF{\r
+            "CFPF",\r
+            "Frẹ́nch Poliníshiá Frank",\r
+        }\r
+        XXX{\r
+            "¤",\r
+            "Mọní Wé Pípol Nọ No",\r
+        }\r
+        YER{\r
+            "YER",\r
+            "Yẹ́mẹ́n Rial",\r
+        }\r
+        ZAR{\r
+            "ZAR",\r
+            "Saút Áfríká Rand",\r
+        }\r
+        ZMW{\r
+            "ZMW",\r
+            "Zámbiá Kwácha",\r
+        }\r
+    }\r
+    Currencies%narrow{\r
+        AOA{"Kz"}\r
+        ARS{"$"}\r
+        AUD{"$"}\r
+        BAM{"KM"}\r
+        BBD{"$"}\r
+        BDT{"৳"}\r
+        BMD{"$"}\r
+        BND{"$"}\r
+        BOB{"Bs"}\r
+        BRL{"R$"}\r
+        BSD{"$"}\r
+        BWP{"P"}\r
+        BYN{"p."}\r
+        BZD{"$"}\r
+        CAD{"$"}\r
+        CLP{"$"}\r
+        CNY{"¥"}\r
+        COP{"$"}\r
+        CRC{"₡"}\r
+        CUC{"$"}\r
+        CUP{"$"}\r
+        CZK{"Kč"}\r
+        DKK{"kr"}\r
+        DOP{"$"}\r
+        EGP{"E£"}\r
+        EUR{"€"}\r
+        FJD{"$"}\r
+        FKP{"£"}\r
+        GBP{"£"}\r
+        GEL{"₾"}\r
+        GIP{"£"}\r
+        GNF{"FG"}\r
+        GTQ{"Q"}\r
+        GYD{"$"}\r
+        HKD{"$"}\r
+        HNL{"L"}\r
+        HRK{"kn"}\r
+        HUF{"Ft"}\r
+        IDR{"Rp"}\r
+        ILS{"₪"}\r
+        INR{"₹"}\r
+        ISK{"kr"}\r
+        JMD{"$"}\r
+        JPY{"¥"}\r
+        KHR{"៛"}\r
+        KMF{"CF"}\r
+        KPW{"₩"}\r
+        KRW{"₩"}\r
+        KYD{"$"}\r
+        KZT{"₸"}\r
+        LAK{"₭"}\r
+        LBP{"L£"}\r
+        LKR{"Rs"}\r
+        LRD{"$"}\r
+        MGA{"Ar"}\r
+        MMK{"K"}\r
+        MNT{"₮"}\r
+        MUR{"Rs"}\r
+        MXN{"$"}\r
+        MYR{"RM"}\r
+        NAD{"$"}\r
+        NGN{"₦"}\r
+        NIO{"C$"}\r
+        NOK{"kr"}\r
+        NPR{"Rs"}\r
+        NZD{"$"}\r
+        PHP{"₱"}\r
+        PKR{"Rs"}\r
+        PLN{"zł"}\r
+        PYG{"₲"}\r
+        RON{"lei"}\r
+        RUB{"₽"}\r
+        RWF{"RF"}\r
+        SBD{"$"}\r
+        SEK{"kr"}\r
+        SGD{"$"}\r
+        SHP{"£"}\r
+        SRD{"$"}\r
+        SSP{"£"}\r
+        STN{"Db"}\r
+        SYP{"£"}\r
+        THB{"฿"}\r
+        TOP{"T$"}\r
+        TRY{"₺"}\r
+        TTD{"$"}\r
+        TWD{"$"}\r
+        UAH{"₴"}\r
+        USD{"$"}\r
+        UYU{"$"}\r
+        VND{"₫"}\r
+        XCD{"$"}\r
+        ZAR{"R"}\r
+        ZMW{"ZK"}\r
+    }\r
+    Currencies%variant{\r
+        TRY{"TL"}\r
+    }\r
+    CurrencyPlurals{\r
+        AED{\r
+            one{"Yunaítẹ́d Áráb Ẹ́míréts dírham"}\r
+            other{"Yunaítẹ́d Áráb Ẹ́míréts dírhams"}\r
+        }\r
+        AFN{\r
+            one{"Afgán afgáni"}\r
+            other{"Afgán afgánis"}\r
+        }\r
+        ALL{\r
+            one{"Albéniá Lẹk"}\r
+            other{"Albéniá Lẹk"}\r
+        }\r
+        AMD{\r
+            one{"Armẹ́nia ́dram"}\r
+            other{"Armẹ́niá drams"}\r
+        }\r
+        ANG{\r
+            one{"Nẹ́dalánds Antílián Gílda"}\r
+            other{"Nẹ́dalánds Antílián Gílda"}\r
+        }\r
+        AOA{\r
+            one{"Angólá kwánza"}\r
+            other{"Angólá kwánzas"}\r
+        }\r
+        ARS{\r
+            one{"Ajẹntína Pẹ́so"}\r
+            other{"Ajẹntína Pẹ́so"}\r
+        }\r
+        AUD{\r
+            one{"Ọstréliá dọ́la"}\r
+            other{"Ọstréliá dọ́las"}\r
+        }\r
+        AWG{\r
+            one{"Arúba Flọ́rin"}\r
+            other{"Arúba Flọ́rin"}\r
+        }\r
+        AZN{\r
+            one{"Azẹrbaiján mánat"}\r
+            other{"Azẹrbaiján mánats"}\r
+        }\r
+        BAM{\r
+            one{"Bọ́sniá an Hẹzẹgovína Mak Wé Pẹ́sin Fít Chenj"}\r
+            other{"Bọ́sniá an Hẹzẹgovína Mak Wé Pẹ́sin Fít Chenj"}\r
+        }\r
+        BBD{\r
+            one{"Barbédọs Dọ́la"}\r
+            other{"Barbédọs Dọ́la"}\r
+        }\r
+        BDT{\r
+            one{"Bangladẹ́sh táka"}\r
+            other{"Bangladẹ́sh táka"}\r
+        }\r
+        BGN{\r
+            one{"Bọlgériá Lẹv"}\r
+            other{"Bọlgériá Lẹv"}\r
+        }\r
+        BHD{\r
+            one{"Baréin dínar"}\r
+            other{"Baréin dínars"}\r
+        }\r
+        BIF{\r
+            one{"Burúndí frank"}\r
+            other{"Burúndí franks"}\r
+        }\r
+        BMD{\r
+            one{"Bẹmiúda Dọ́la"}\r
+            other{"Bẹmiúda Dọ́la"}\r
+        }\r
+        BND{\r
+            one{"Brunẹí dọ́la"}\r
+            other{"Brunẹí dọ́las"}\r
+        }\r
+        BOB{\r
+            one{"Bolíviá Boliviáno"}\r
+            other{"Bolíviá Boliviáno"}\r
+        }\r
+        BRL{\r
+            one{"Brazíl Rẹal"}\r
+            other{"Brazíl Rẹal"}\r
+        }\r
+        BSD{\r
+            one{"Bahámas Dọ́la"}\r
+            other{"Bahámas Dọ́la"}\r
+        }\r
+        BTN{\r
+            one{"Bután ngúltrum"}\r
+            other{"Bután ngúltrums"}\r
+        }\r
+        BWP{\r
+            one{"Botswáná púla"}\r
+            other{"Botswáná púlas"}\r
+        }\r
+        BYN{\r
+            one{"Bẹlarús Rúbul"}\r
+            other{"Bẹlarús Rúbul"}\r
+        }\r
+        BZD{\r
+            one{"Bẹliz Dọ́la"}\r
+            other{"Bẹliz Dọ́la"}\r
+        }\r
+        CAD{\r
+            one{"Kánádá Dọ́la"}\r
+            other{"Kánádá Dọ́la"}\r
+        }\r
+        CDF{\r
+            one{"Kóngó frank"}\r
+            other{"Kóngó franks"}\r
+        }\r
+        CHF{\r
+            one{"Swís Frank"}\r
+            other{"Swís Frank"}\r
+        }\r
+        CLP{\r
+            one{"Chílí Pẹ́so"}\r
+            other{"Chílí Pẹ́so"}\r
+        }\r
+        CNH{\r
+            one{"Chaíná yuan (ples-dẹm aúsaíd chaína)"}\r
+            other{"Chaíná yuans (ples-dẹm aúsaíd chaína)"}\r
+        }\r
+        CNY{\r
+            one{"Chaíná yuan"}\r
+            other{"Chaíná yuans"}\r
+        }\r
+        COP{\r
+            one{"Kolómbiá pẹ́so"}\r
+            other{"Kolómbiá pẹ́sos"}\r
+        }\r
+        CRC{\r
+            one{"Kósta Ríka Kólọn"}\r
+            other{"Kósta Ríka Kólọn"}\r
+        }\r
+        CUC{\r
+            one{"Kiúbá Pẹ́so Wé Pẹ́sin Fít Chenj"}\r
+            other{"Kiúbá Pẹ́so Wé Pẹ́sin Fít Chenj"}\r
+        }\r
+        CUP{\r
+            one{"Kiúbá Pẹ́so"}\r
+            other{"Kiúbá Pẹ́so"}\r
+        }\r
+        CVE{\r
+            one{"Kép Vẹ́d ẹskúdo"}\r
+            other{"Kép Vẹ́d ẹskúdos"}\r
+        }\r
+        CZK{\r
+            one{"Chẹ́k Kórúna"}\r
+            other{"Chẹ́k Kórúna"}\r
+        }\r
+        DJF{\r
+            one{"Jibútí frank"}\r
+            other{"Jibútí franks"}\r
+        }\r
+        DKK{\r
+            one{"Dẹ́nmák Króna"}\r
+            other{"Dẹ́nmák Króna"}\r
+        }\r
+        DOP{\r
+            one{"Dọmíníkan Pẹ́so"}\r
+            other{"Dọmíníkan Pẹ́so"}\r
+        }\r
+        DZD{\r
+            one{"Aljíria Dínar"}\r
+            other{"Aljíria Dínar"}\r
+        }\r
+        EGP{\r
+            one{"Íjípt Paund"}\r
+            other{"Íjípt Paund"}\r
+        }\r
+        ERN{\r
+            one{"Ẹritrẹá nákfa"}\r
+            other{"Ẹritrẹá nákfas"}\r
+        }\r
+        ETB{\r
+            one{"Ẹtiópiá berr"}\r
+            other{"Ẹtiópiá berrs"}\r
+        }\r
+        EUR{\r
+            one{"eúro"}\r
+            other{"eúros"}\r
+        }\r
+        FJD{\r
+            one{"Fíjí dọ́la"}\r
+            other{"Fíjí dọ́las"}\r
+        }\r
+        FKP{\r
+            one{"Fọlkland Aílands paund"}\r
+            other{"Fọlkland Aílands paunds"}\r
+        }\r
+        GBP{\r
+            one{"Brítísh Páund"}\r
+            other{"Brítísh Páund"}\r
+        }\r
+        GEL{\r
+            one{"Jọ́jiá lári"}\r
+            other{"Jọ́jiá láris"}\r
+        }\r
+        GHS{\r
+            one{"Ganá sídi"}\r
+            other{"Ganá sídis"}\r
+        }\r
+        GIP{\r
+            one{"Jibrọ́lta Páund"}\r
+            other{"Jibrọ́lta Páund"}\r
+        }\r
+        GMD{\r
+            one{"Gámbiá dalási"}\r
+            other{"Gámbiá dalásis"}\r
+        }\r
+        GNF{\r
+            one{"Gíní frank"}\r
+            other{"Gíní franks"}\r
+        }\r
+        GTQ{\r
+            one{"Guátẹmála Kwuẹ́tzal"}\r
+            other{"Guátẹmála Kwuẹ́tzal"}\r
+        }\r
+        GYD{\r
+            one{"Giyána dọ́la"}\r
+            other{"Giyána dọ́las"}\r
+        }\r
+        HKD{\r
+            one{"Họng Kọ́ng dọ́la"}\r
+            other{"Họng Kọ́ng dọ́las"}\r
+        }\r
+        HNL{\r
+            one{"Họndúrán Lẹmpíra"}\r
+            other{"Họndúrán Lẹmpíra"}\r
+        }\r
+        HRK{\r
+            one{"Kroéshia Kúna"}\r
+            other{"Kroéshia Kúna"}\r
+        }\r
+        HTG{\r
+            one{"Haíti Gourd"}\r
+            other{"Haíti Gourd"}\r
+        }\r
+        HUF{\r
+            one{"Họngériá Fọ́rint"}\r
+            other{"Họngériá Fọ́rint"}\r
+        }\r
+        IDR{\r
+            one{"Indoníshiá rupia"}\r
+            other{"Indoníshiá rupias"}\r
+        }\r
+        ILS{\r
+            one{"Ízrẹ́l niú shẹ́kẹl"}\r
+            other{"Ízrẹ́l niú shẹ́kẹls"}\r
+        }\r
+        INR{\r
+            one{"Índiá rúpi"}\r
+            other{"Índiá rúpis"}\r
+        }\r
+        IQD{\r
+            one{"Irák dínar"}\r
+            other{"Irák dínars"}\r
+        }\r
+        IRR{\r
+            one{"Irán rial"}\r
+            other{"Irán rials"}\r
+        }\r
+        ISK{\r
+            one{"Aíslánd Króna"}\r
+            other{"Aíslánd Króna"}\r
+        }\r
+        JMD{\r
+            one{"Jamaíka Dọla"}\r
+            other{"Jamaíka Dọla"}\r
+        }\r
+        JOD{\r
+            one{"Jọ́dán dínar"}\r
+            other{"Jọ́dán dínars"}\r
+        }\r
+        JPY{\r
+            one{"Japán yẹn"}\r
+            other{"Japán yẹns"}\r
+        }\r
+        KES{\r
+            one{"Kẹ́nyá shílin"}\r
+            other{"Kẹ́nyá shílins"}\r
+        }\r
+        KGS{\r
+            one{"Kẹjístan som"}\r
+            other{"Kẹjístan soms"}\r
+        }\r
+        KHR{\r
+            one{"Kambódiá riẹl"}\r
+            other{"Kambódiá riẹls"}\r
+        }\r
+        KMF{\r
+            one{"Kọ́mọ́ros frank"}\r
+            other{"Kọ́mọ́ros franks"}\r
+        }\r
+        KPW{\r
+            one{"Nọ́t Koriá wọn"}\r
+            other{"Nọ́t Koriá wọns"}\r
+        }\r
+        KRW{\r
+            one{"Saút Koriá wọn"}\r
+            other{"Saút Koriá wọns"}\r
+        }\r
+        KWD{\r
+            one{"Kuwét dínar"}\r
+            other{"Kuwét dínars"}\r
+        }\r
+        KYD{\r
+            one{"Kéman Aílands Dọla"}\r
+            other{"Kéman Aílands Dọla"}\r
+        }\r
+        KZT{\r
+            one{"Kazakstan tẹ́nj"}\r
+            other{"Kazakstan tẹ́njs"}\r
+        }\r
+        LAK{\r
+            one{"Laós kip"}\r
+            other{"Laós kips"}\r
+        }\r
+        LBP{\r
+            one{"Lẹ́bánọ́n paund"}\r
+            other{"Lẹ́bánọ́n paunds"}\r
+        }\r
+        LKR{\r
+            one{"Sri Lánká rúpi"}\r
+            other{"Sri Lánká rúpis"}\r
+        }\r
+        LRD{\r
+            one{"Laibẹ́riá dọ́la"}\r
+            other{"Laibẹ́riá dọ́las"}\r
+        }\r
+        LYD{\r
+            one{"Líbia Dínar"}\r
+            other{"Líbia Dínar"}\r
+        }\r
+        MAD{\r
+            one{"Morọko Dírham"}\r
+            other{"Morọko Dírham"}\r
+        }\r
+        MDL{\r
+            one{"Mọldóva Lu"}\r
+            other{"Mọldóva Lu"}\r
+        }\r
+        MGA{\r
+            one{"Malagásí ariári"}\r
+            other{"Malagásí ariáris"}\r
+        }\r
+        MKD{\r
+            one{"Masẹdónia Dínar"}\r
+            other{"Masẹdónia Dínar"}\r
+        }\r
+        MMK{\r
+            one{"Miánmá kiat"}\r
+            other{"Miánmá kiats"}\r
+        }\r
+        MNT{\r
+            one{"Mọngóliá túgrik"}\r
+            other{"Mọngóliá túgriks"}\r
+        }\r
+        MOP{\r
+            one{"Makáo pátáka"}\r
+            other{"Makáo pátákas"}\r
+        }\r
+        MRU{\r
+            one{"Mọriténiá uguíya"}\r
+            other{"Mọriténiá uguíyas"}\r
+        }\r
+        MUR{\r
+            one{"Mọríshọ́s rúpi"}\r
+            other{"Mọríshọ́s rúpis"}\r
+        }\r
+        MVR{\r
+            one{"Mọ́ldívs rúfíya"}\r
+            other{"Mọ́ldívs rúfíyas"}\r
+        }\r
+        MWK{\r
+            one{"Maláwi ́kwácha"}\r
+            other{"Maláwí kwáchas"}\r
+        }\r
+        MXN{\r
+            one{"Mẹ́ksíko Pẹ́so"}\r
+            other{"Mẹ́ksíko Pẹ́so"}\r
+        }\r
+        MYR{\r
+            one{"Maléshiá ríngit"}\r
+            other{"Maléshiá ríngits"}\r
+        }\r
+        MZN{\r
+            one{"Mozámbík métíkal"}\r
+            other{"Mozámbík métíkals"}\r
+        }\r
+        NAD{\r
+            one{"Namíbiá dọ́la"}\r
+            other{"Namíbiá dọ́las"}\r
+        }\r
+        NGN{\r
+            one{"Naijíriá naíra"}\r
+            other{"Naijíriá naíras"}\r
+        }\r
+        NIO{\r
+            one{"Nikarágwua Kordóba"}\r
+            other{"Nikarágwua Kordóba"}\r
+        }\r
+        NOK{\r
+            one{"Nọ́wé Króna"}\r
+            other{"Nọ́wé Króna"}\r
+        }\r
+        NPR{\r
+            one{"Nẹ́pál rúpi"}\r
+            other{"Nẹ́pál rúpis"}\r
+        }\r
+        NZD{\r
+            one{"Niú Zílánd dọ́la"}\r
+            other{"Niú Zílánd dọ́las"}\r
+        }\r
+        OMR{\r
+            one{"Omán rial"}\r
+            other{"Omán rials"}\r
+        }\r
+        PAB{\r
+            one{"Pánáma Balbóa"}\r
+            other{"Pánáma Balbóa"}\r
+        }\r
+        PEN{\r
+            one{"Pẹrúvián Sol"}\r
+            other{"Pẹrúvián Sol"}\r
+        }\r
+        PGK{\r
+            one{"Pápuá Niú Gíni kína"}\r
+            other{"Pápuá Niú Gíni kínas"}\r
+        }\r
+        PHP{\r
+            one{"Fílípíns píso"}\r
+            other{"Fílípíns písos"}\r
+        }\r
+        PKR{\r
+            one{"Pakístán rúpi"}\r
+            other{"Pakístán rúpis"}\r
+        }\r
+        PLN{\r
+            one{"Pólánd Zílọ́ti"}\r
+            other{"Pólánd Zílọ́ti"}\r
+        }\r
+        PYG{\r
+            one{"Páragwuá Guaráni"}\r
+            other{"Páragwuá Guaráni"}\r
+        }\r
+        QAR{\r
+            one{"Kata ríal"}\r
+            other{"Kata ríals"}\r
+        }\r
+        RON{\r
+            one{"Roméniá Lu"}\r
+            other{"Roméniá Lu"}\r
+        }\r
+        RSD{\r
+            one{"Sẹrbia Dínar"}\r
+            other{"Sẹrbia Dínar"}\r
+        }\r
+        RUB{\r
+            one{"Rọ́shiá Rúbul"}\r
+            other{"Rọ́shiá Rúbul"}\r
+        }\r
+        RWF{\r
+            one{"Ruwándá frank"}\r
+            other{"Ruwándá franks"}\r
+        }\r
+        SAR{\r
+            one{"Saúdí Arébiá riyal"}\r
+            other{"Saúdí Arébiá riyals"}\r
+        }\r
+        SBD{\r
+            one{"Sólómọ́n Aílands dọ́la"}\r
+            other{"Sólómọ́n Aílands dọ́las"}\r
+        }\r
+        SCR{\r
+            one{"Sẹ́chẹ́ls rúpi"}\r
+            other{"Sẹ́chẹ́ls rúpis"}\r
+        }\r
+        SDG{\r
+            one{"Sudan Paund"}\r
+            other{"Sudan Paund"}\r
+        }\r
+        SEK{\r
+            one{"Swídẹ́n Króna"}\r
+            other{"Swídẹ́n Króna"}\r
+        }\r
+        SGD{\r
+            one{"Singapọ́ dọ́la"}\r
+            other{"Singapọ́ dọ́las"}\r
+        }\r
+        SHP{\r
+            one{"Sent Hẹlẹ́ná paund"}\r
+            other{"Sent Hẹlẹ́ná paunds"}\r
+        }\r
+        SLL{\r
+            one{"Siẹ́ra Líoniá liọn"}\r
+            other{"Siẹ́ra Líoniá liọns"}\r
+        }\r
+        SOS{\r
+            one{"Sọmáliá shílin"}\r
+            other{"Sọmáliá shílins"}\r
+        }\r
+        SRD{\r
+            one{"Súrínám Dọla"}\r
+            other{"Súrínám Dọla"}\r
+        }\r
+        SSP{\r
+            one{"Saút Sudán paund"}\r
+            other{"Saút Sudán paunds"}\r
+        }\r
+        STN{\r
+            one{"Sao Tómẹ & Prínsípẹ dóbra"}\r
+            other{"Sao Tómẹ & Prínsípẹ dóbras"}\r
+        }\r
+        SYP{\r
+            one{"Síriá paund"}\r
+            other{"Síriá paunds"}\r
+        }\r
+        SZL{\r
+            one{"Swází lilánjẹ́ni"}\r
+            other{"Swází ẹmalánjẹ́ni"}\r
+        }\r
+        THB{\r
+            one{"Taílánd baht"}\r
+            other{"Taílánd bahts"}\r
+        }\r
+        TJS{\r
+            one{"Tajíkstan sómóni"}\r
+            other{"Tajíkstan sómónis"}\r
+        }\r
+        TMT{\r
+            one{"Tọkmẹ́nístán mánat"}\r
+            other{"Tọkmẹ́nístán mánats"}\r
+        }\r
+        TND{\r
+            one{"Tuníshia Dínar"}\r
+            other{"Tuníshia Dínar"}\r
+        }\r
+        TOP{\r
+            one{"Tónga pánga"}\r
+            other{"Tónga pángas"}\r
+        }\r
+        TRY{\r
+            one{"Tọ́kí líra"}\r
+            other{"Tọ́kí líras"}\r
+        }\r
+        TTD{\r
+            one{"Trínídad & Tobágo Dọ́la"}\r
+            other{"Trínídad & Tobágo Dọ́la"}\r
+        }\r
+        TWD{\r
+            one{"Niú Taiwán dọ́la"}\r
+            other{"Niú Taiwán dọ́las"}\r
+        }\r
+        TZS{\r
+            one{"Tanzániá shílin"}\r
+            other{"Tanzániá shílins"}\r
+        }\r
+        UAH{\r
+            one{"Yukrẹín Rívnia"}\r
+            other{"Yukrẹín Rívnia"}\r
+        }\r
+        UGX{\r
+            one{"Yugándá shílin"}\r
+            other{"Yugándá shílins"}\r
+        }\r
+        USD{\r
+            one{"US Dọ́la"}\r
+            other{"Amẹ́ríká Dọ́la"}\r
+        }\r
+        UYU{\r
+            one{"Yurugwaí Pẹ́so"}\r
+            other{"Yurugwaí Pẹ́so"}\r
+        }\r
+        UZS{\r
+            one{"Uzbẹ́kistan som"}\r
+            other{"Uzbẹ́kistan soms"}\r
+        }\r
+        VES{\r
+            one{"Vẹnẹzuẹlá Bolívar"}\r
+            other{"Vẹnẹzuẹlá Bolívar"}\r
+        }\r
+        VND{\r
+            one{"Viẹ́tnám dọng"}\r
+            other{"Viẹ́tnám dọngs"}\r
+        }\r
+        VUV{\r
+            one{"Vanuátú vátu"}\r
+            other{"Vanuátú vátus"}\r
+        }\r
+        WST{\r
+            one{"Samóa tála"}\r
+            other{"Samóa tálas"}\r
+        }\r
+        XAF{\r
+            one{"Sẹ́ntrál Áfríká frank"}\r
+            other{"Sẹ́ntrál Áfríká franks"}\r
+        }\r
+        XCD{\r
+            one{"Íst Karíbián Dọla"}\r
+            other{"Íst Karíbián Dọla"}\r
+        }\r
+        XOF{\r
+            one{"Wẹ́st Afríká Sẹ́fa frank"}\r
+            other{"Wẹ́st Afríká Sẹ́fa franks"}\r
+        }\r
+        XPF{\r
+            one{"Frẹ́nch Poliníshiá frank"}\r
+            other{"Frẹ́nch Poliníshiá franks"}\r
+        }\r
+        XXX{\r
+            one{"Amaúnt dẹm raít fọ mọní wé pípol nọ no"}\r
+            other{"(mọní wé pípol nọ no)"}\r
+        }\r
+        YER{\r
+            one{"Yẹ́mẹ́n rial"}\r
+            other{"Yẹ́mẹ́n rials"}\r
+        }\r
+        ZAR{\r
+            one{"Saút Áfríká rand"}\r
+            other{"Saút Áfríká rands"}\r
+        }\r
+        ZMW{\r
+            one{"Zámbiá kwácha"}\r
+            other{"Zámbiá kwáchas"}\r
+        }\r
+    }\r
+    CurrencyUnitPatterns{\r
+        one{"{0} {1}"}\r
+        other{"{0} {1}"}\r
+    }\r
+    Version{"37"}\r
+}\r
index e37fa36..a47e743 100644 (file)
@@ -2238,5 +2238,5 @@ pl{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f7cd3dc..a016c15 100644 (file)
@@ -194,6 +194,14 @@ ps{
             "FKP",\r
             "پاکلېنډ ټاپوګانو پونډ",\r
         }\r
+        GBP{\r
+            "£",\r
+            "برتانوې پونډ",\r
+        }\r
+        GEL{\r
+            "GEL",\r
+            "جارجیاېي لارې",\r
+        }\r
         GHS{\r
             "GHS",\r
             "ګانين سيډي",\r
@@ -246,6 +254,10 @@ ps{
             "₪",\r
             "اسرايلي نيو شيکل",\r
         }\r
+        INR{\r
+            "₹",\r
+            "هندي روپۍ",\r
+        }\r
         IQD{\r
             "IQD",\r
             "عراقي دينار",\r
@@ -306,6 +318,10 @@ ps{
             "KZT",\r
             "قازقستاني ټينج",\r
         }\r
+        LAK{\r
+            "LAK",\r
+            "لاشې کپ",\r
+        }\r
         LBP{\r
             "LBP",\r
             "لبناني پونډ",\r
@@ -802,6 +818,14 @@ ps{
             one{"پاکلېنډ ټاپوګانو پونډ"}\r
             other{"پاکلېنډ ټاپوګانو پونډز"}\r
         }\r
+        GBP{\r
+            one{"برتانوې پونډ"}\r
+            other{"برتانوې پونډونه"}\r
+        }\r
+        GEL{\r
+            one{"جارجیا لاري"}\r
+            other{"جارجیاېي لارېز"}\r
+        }\r
         GHS{\r
             one{"ګانين سيډي"}\r
             other{"ګانين سيډيز"}\r
@@ -854,6 +878,10 @@ ps{
             one{"اسرايلي نيو شيکل"}\r
             other{"اسرايلي نيو شيکلز"}\r
         }\r
+        INR{\r
+            one{"هندي روپۍ"}\r
+            other{"هندي روپۍ"}\r
+        }\r
         IQD{\r
             one{"عراقي دينار"}\r
             other{"عراقي دينارونه"}\r
@@ -914,6 +942,10 @@ ps{
             one{"قازقستاني ټينج"}\r
             other{"قازقستاني ټينجز"}\r
         }\r
+        LAK{\r
+            one{"لاشې کپ"}\r
+            other{"لاشې کپس"}\r
+        }\r
         LBP{\r
             one{"لبناني پونډ"}\r
             other{"لبناني پونډونه"}\r
@@ -1211,5 +1243,5 @@ ps{
             other{"زيمبي کواچاز"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 989a30c..9ff0d89 100644 (file)
@@ -21,5 +21,5 @@ ps_PK{
             other{"(نامعلومه مروجه پېسے)"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0b40f7e..0353ad6 100644 (file)
@@ -2501,5 +2501,5 @@ pt{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2bb97cf..fe86d1d 100644 (file)
@@ -8,5 +8,5 @@ pt_AO{
             "kwanza angolano",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5710498..68713f2 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_CH{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fb1755c..d641fe9 100644 (file)
@@ -17,5 +17,5 @@ pt_CV{
             "escudo português",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ebd2cc1..16c1df7 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_GQ{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fdc3c38..a180bcd 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_GW{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 97c8762..f694ed6 100644 (file)
@@ -8,5 +8,5 @@ pt_LU{
             "Franco luxemburguês",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1bcf9b2..5d9f7b7 100644 (file)
@@ -8,5 +8,5 @@ pt_MO{
             "pataca macaense",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7576c62..26ab1fa 100644 (file)
@@ -8,5 +8,5 @@ pt_MZ{
             "metical moçambicano",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f2a6b80..041bd36 100644 (file)
@@ -1353,5 +1353,5 @@ pt_PT{
             other{"kwachas zambianos"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a5a3bc8..f95b6f1 100644 (file)
@@ -8,5 +8,5 @@ pt_ST{
             "dobra de São Tomé e Príncipe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8a4a6ac..8094b42 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_TL{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e7cc079..85f9f65 100644 (file)
@@ -1088,5 +1088,5 @@ qu{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0f2ea18..924c157 100644 (file)
@@ -11,5 +11,5 @@ qu_BO{
             "Sol Peruano",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e7b53d1..db95755 100644 (file)
@@ -11,5 +11,5 @@ qu_EC{
             "Dólar Americano",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ef832d5..6ca53ce 100644 (file)
@@ -1277,5 +1277,5 @@ rm{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 94ad6a0..bc8d3d0 100644 (file)
@@ -223,5 +223,5 @@ rn{
             "Idolari ryo muri Zimbabwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 33c32db..a7ebe2d 100644 (file)
@@ -2224,5 +2224,5 @@ ro{
         one{"{0} {1}"}\r
         other{"{0} de {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b683f3b..d36a414 100644 (file)
@@ -7,5 +7,5 @@ ro_MD{
             "leu moldovenesc",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4526915..4c6d8c9 100644 (file)
@@ -231,5 +231,5 @@ rof{
             "heleri sa Zimbabwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a4b70bb..39f2a53 100644 (file)
@@ -1,8 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * ICU <specials> source: <path>/common/main/root.xml\r
- */\r
 root{\r
     Currencies{\r
         AUD{\r
@@ -196,7 +193,7 @@ root{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     currencySpacing{\r
         afterCurrency{\r
             currencyMatch{"[:^S:]"}\r
index 005ebe5..d6db3c0 100644 (file)
@@ -2236,5 +2236,5 @@ ru{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5139b4b..d80710c 100644 (file)
@@ -14,5 +14,5 @@ ru_BY{
     Currencies%narrow{\r
         BYN{"Br"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7dd5b2e..99083f6 100644 (file)
@@ -7,5 +7,5 @@ ru_KG{
             "киргизский сом",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2caced9..ada3c3b 100644 (file)
@@ -7,5 +7,5 @@ ru_KZ{
             "казахский тенге",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 247a4a2..c643640 100644 (file)
@@ -7,5 +7,5 @@ ru_MD{
             "молдавский лей",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8b74556..f08b730 100644 (file)
@@ -10,5 +10,5 @@ rw{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bd8b637..8db44ee 100644 (file)
@@ -235,5 +235,5 @@ rwk{
             "Dola ya Zimbabwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b8b85f4..c95350f 100644 (file)
@@ -25,5 +25,5 @@ sah{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 75f3639..ca59dcc 100644 (file)
@@ -231,5 +231,5 @@ saq{
             "Dola eel Zimbabwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/curr/sat.txt b/source/data/curr/sat.txt
new file mode 100644 (file)
index 0000000..a24a38a
--- /dev/null
@@ -0,0 +1,85 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sat{\r
+    Currencies{\r
+        BRL{\r
+            "R$",\r
+            "ᱵᱨᱟᱡᱤᱞᱤᱭᱟᱱ ᱨᱤᱭᱟᱹᱞ",\r
+        }\r
+        CNY{\r
+            "CN¥",\r
+            "ᱪᱤᱱᱤ ᱭᱩᱣᱟᱱ",\r
+        }\r
+        EUR{\r
+            "€",\r
+            "ᱭᱩᱨᱚ",\r
+        }\r
+        GBP{\r
+            "£",\r
+            "ᱵᱨᱤᱴᱤᱥ ᱯᱟᱣᱩᱸᱰ",\r
+        }\r
+        INR{\r
+            "₹",\r
+            "ᱥᱤᱧᱚᱛ ᱨᱮᱱᱟᱜ ᱴᱟᱠᱟ",\r
+        }\r
+        JPY{\r
+            "JP¥",\r
+            "ᱡᱟᱯᱟᱱᱤ ᱭᱮᱱ",\r
+        }\r
+        RUB{\r
+            "RUB",\r
+            "ᱨᱩᱥᱤ ᱨᱩᱵᱟᱹᱞ",\r
+        }\r
+        USD{\r
+            "US$",\r
+            "ᱭᱩᱮᱥ ᱰᱚᱞᱟᱨ",\r
+        }\r
+        XXX{\r
+            "¤",\r
+            "ᱵᱟᱝᱩᱨᱩᱢ ᱠᱟᱨᱮᱱᱥᱤ",\r
+        }\r
+    }\r
+    CurrencyPlurals{\r
+        BRL{\r
+            one{"ᱵᱨᱟᱡᱤᱞᱤᱭᱟᱱ ᱨᱤᱭᱟᱹᱞ"}\r
+            other{"ᱵᱨᱟᱡᱤᱞᱤᱭᱟᱱ ᱨᱤᱭᱟᱹᱞᱥ"}\r
+            two{"ᱵᱨᱟᱡᱤᱞᱤᱭᱟᱱ ᱨᱤᱭᱟᱹᱞᱥ"}\r
+        }\r
+        EUR{\r
+            one{"ᱭᱩᱨᱚ"}\r
+            other{"ᱭᱩᱨᱚ"}\r
+            two{"ᱭᱩᱨᱚ"}\r
+        }\r
+        GBP{\r
+            one{"ᱵᱨᱤᱴᱤᱥ ᱯᱟᱣᱩᱸᱰ"}\r
+            other{"ᱵᱨᱤᱴᱤᱥ ᱯᱟᱣᱩᱸᱰᱥ"}\r
+            two{"ᱵᱨᱤᱴᱤᱥ ᱯᱟᱣᱩᱸᱰᱥ"}\r
+        }\r
+        INR{\r
+            one{"ᱥᱤᱧᱚᱛ ᱨᱮᱱᱟᱜ ᱴᱟᱠᱟ"}\r
+            other{"ᱥᱤᱧᱚᱛ ᱨᱮᱱᱟᱜ ᱴᱟᱠᱟ"}\r
+            two{"ᱥᱤᱧᱚᱛ ᱨᱮᱱᱟᱜ ᱴᱟᱠᱟ"}\r
+        }\r
+        JPY{\r
+            one{"ᱡᱟᱯᱟᱱᱤ ᱭᱮᱱ"}\r
+            other{"ᱡᱟᱯᱟᱱᱤ ᱭᱮᱱ"}\r
+            two{"ᱡᱟᱯᱟᱱᱤ ᱭᱮᱱ"}\r
+        }\r
+        RUB{\r
+            one{"ᱨᱩᱥᱤ ᱨᱩᱵᱟᱹᱞ"}\r
+            other{"ᱨᱩᱥᱤ ᱨᱩᱵᱟᱹᱞᱥ"}\r
+            two{"ᱨᱩᱥᱤ ᱨᱩᱵᱟᱹᱞᱥ"}\r
+        }\r
+        USD{\r
+            one{"ᱭᱩᱮᱥ ᱰᱚᱞᱟᱨ"}\r
+            other{"ᱭᱩᱮᱥ ᱰᱚᱞᱟᱨ"}\r
+            two{"ᱭᱩᱮᱥ ᱰᱚᱞᱟᱨ"}\r
+        }\r
+        XXX{\r
+            one{"ᱵᱟᱝᱩᱨᱩᱢ ᱠᱟᱨᱮᱱᱥᱤ"}\r
+            other{"ᱵᱟᱝᱩᱨᱩᱢ ᱠᱟᱨᱮᱱᱥᱤ"}\r
+            two{"ᱵᱟᱝᱩᱨᱩᱢ ᱠᱟᱨᱮᱱᱥᱤ"}\r
+        }\r
+    }\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/curr/sat_IN.txt b/source/data/curr/sat_IN.txt
new file mode 100644 (file)
index 0000000..2a70401
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sat_IN{\r
+    "%%ALIAS"{"sat_Olck_IN"}\r
+}\r
diff --git a/source/data/curr/sat_Olck.txt b/source/data/curr/sat_Olck.txt
new file mode 100644 (file)
index 0000000..5849570
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sat_Olck{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/curr/sat_Olck_IN.txt b/source/data/curr/sat_Olck_IN.txt
new file mode 100644 (file)
index 0000000..d538504
--- /dev/null
@@ -0,0 +1,8 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+/**\r
+ * generated alias target\r
+ */\r
+sat_Olck_IN{\r
+    ___{""}\r
+}\r
index b0c858e..1ddbfdf 100644 (file)
@@ -231,5 +231,5 @@ sbp{
             "Ihela ya Simbabwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 72afe7a..8ead2df 100644 (file)
@@ -839,10 +839,6 @@ sd{
             one{"بیلاروسی ربل"}\r
             other{"بیلاروسی ربل"}\r
         }\r
-        BYR{\r
-            one{"BYR"}\r
-            other{"BYR"}\r
-        }\r
         BZD{\r
             one{"بيليز ڊالر"}\r
             other{"بيليز ڊالر"}\r
@@ -1384,5 +1380,5 @@ sd{
             other{"زمبائي ڪواچا"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/curr/sd_Arab.txt b/source/data/curr/sd_Arab.txt
new file mode 100644 (file)
index 0000000..67d68db
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sd_Arab{\r
+    Version{"37"}\r
+}\r
similarity index 89%
rename from source/data/lang/th_TH.txt
rename to source/data/curr/sd_Arab_PK.txt
index 6ab242c..eda5f89 100644 (file)
@@ -3,6 +3,6 @@
 /**\r
  * generated alias target\r
  */\r
-th_TH{\r
+sd_Arab_PK{\r
     ___{""}\r
 }\r
diff --git a/source/data/curr/sd_Deva.txt b/source/data/curr/sd_Deva.txt
new file mode 100644 (file)
index 0000000..9e20b11
--- /dev/null
@@ -0,0 +1,79 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sd_Deva{\r
+    %%Parent{"root"}\r
+    Currencies{\r
+        BRL{\r
+            "R$",\r
+            "बरजिलियन रियलु",\r
+        }\r
+        CNY{\r
+            "CN¥",\r
+            "चीना युआनु",\r
+        }\r
+        EUR{\r
+            "€",\r
+            "यूरो",\r
+        }\r
+        GBP{\r
+            "£",\r
+            "बरतानवी पाउंडु",\r
+        }\r
+        INR{\r
+            "₹",\r
+            "हिंदुस्तानी रुपयो",\r
+        }\r
+        JPY{\r
+            "¥",\r
+            "जापानी येनु",\r
+        }\r
+        RUB{\r
+            "RUB",\r
+            "रशियनु रुबलु",\r
+        }\r
+        USD{\r
+            "$",\r
+            "यूएस जो डॉलल",\r
+        }\r
+        XXX{\r
+            "¤",\r
+            "अणवाकुफु चालू सिक्को",\r
+        }\r
+    }\r
+    Currencies%narrow{\r
+        GBP{"£"}\r
+        RUB{"₽"}\r
+        USD{"$"}\r
+    }\r
+    CurrencyPlurals{\r
+        BRL{\r
+            one{"बरजिलियन रियलु"}\r
+            other{"बरजिलियन रियल"}\r
+        }\r
+        CNY{\r
+            one{"चीना युआनु"}\r
+            other{"चीना युआन"}\r
+        }\r
+        GBP{\r
+            one{"बरतानवी पाउंड"}\r
+            other{"बरतानवी पाउंड"}\r
+        }\r
+        JPY{\r
+            one{"जापानी येनु"}\r
+            other{"जापानी येन"}\r
+        }\r
+        RUB{\r
+            one{"रशियनु रुबलु"}\r
+            other{"रशियनु रुबल"}\r
+        }\r
+        USD{\r
+            one{"यूएस जो डॉलर"}\r
+            other{"यूएस जा डॉलर"}\r
+        }\r
+        XXX{\r
+            one{"अणवाकुफु चालू सिक्के जो एको"}\r
+            other{"अणवाकुफु चालू सिक्को"}\r
+        }\r
+    }\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/curr/sd_PK.txt b/source/data/curr/sd_PK.txt
new file mode 100644 (file)
index 0000000..a9e1e2c
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sd_PK{\r
+    "%%ALIAS"{"sd_Arab_PK"}\r
+}\r
index c979d27..1cb7e07 100644 (file)
@@ -73,5 +73,5 @@ se{
         other{"{0} {1}"}\r
         two{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1373406..4c2ada9 100644 (file)
@@ -11,5 +11,5 @@ se_SE{
             "ruoŧŧa kruvdno",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2480a85..f6993ed 100644 (file)
@@ -239,5 +239,5 @@ seh{
             "Dólar do Zimbábue",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0bd0e0b..ed6998d 100644 (file)
@@ -235,5 +235,5 @@ ses{
             "Zimbabwe Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f639a13..2af78cc 100644 (file)
@@ -231,5 +231,5 @@ sg{
             "dolära tî Zimbäbwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7e04391..58a9468 100644 (file)
@@ -235,5 +235,5 @@ shi{
             "ⴰⴷⵓⵍⴰⵔ ⵏ ⵣⵉⵎⴱⴰⴱⵡⵉ",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0aa8e5e..b2413de 100644 (file)
@@ -236,5 +236,5 @@ shi_Latn{
             "adular n zimbabwi",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3632ea2..6ab72b9 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 shi_Tfng{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5c48741..96c10dd 100644 (file)
@@ -1406,5 +1406,5 @@ si{
         one{"{1}{0}"}\r
         other{"{1}{0}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4cce40c..f16a61e 100644 (file)
@@ -3136,5 +3136,5 @@ sk{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 36c1d81..aadd9e3 100644 (file)
@@ -2197,5 +2197,5 @@ sl{
         other{"{0} {1}"}\r
         two{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 00214f0..92ef930 100644 (file)
@@ -40,5 +40,5 @@ smn{
         other{"{0} {1}"}\r
         two{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cdcc519..cba42b8 100644 (file)
@@ -239,5 +239,5 @@ sn{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4af0f26..27bc05f 100644 (file)
@@ -26,6 +26,22 @@ so{
             "AOA",\r
             "Kawansada Angola",\r
         }\r
+        ARA{\r
+            "ARA",\r
+            "Argentine Austral",\r
+        }\r
+        ARL{\r
+            "ARL",\r
+            "Beesada Ley ee Arjentiin (1970–1983)",\r
+        }\r
+        ARM{\r
+            "ARM",\r
+            "Beesada Ley ee Arjentiin (1881–1970)",\r
+        }\r
+        ARP{\r
+            "ARP",\r
+            "Beesada Ley ee Arjentiin (1883–1985)",\r
+        }\r
         ARS{\r
             "ARS",\r
             "Beesada Arjentiin",\r
@@ -42,6 +58,10 @@ so{
             "AZN",\r
             "Manaata Asarbeyjan",\r
         }\r
+        BAD{\r
+            "BAD",\r
+            "Diinaarka BBosnia-Hersogofina 1.00 konfatibal maakta Bosnia-Hersogofina 1 konfatibal maaka Bosnia-Hersogofina (1992–1994)",\r
+        }\r
         BAM{\r
             "BAM",\r
             "Konfatibal Maakta Bosnia-Hersogofina",\r
@@ -78,6 +98,10 @@ so{
             "BOB",\r
             "Bolifiyanada Bolifiya",\r
         }\r
+        BOL{\r
+            "BOL",\r
+            "Bolifiyaabka Bolifiyaano(1863–1963)",\r
+        }\r
         BRL{\r
             "R$",\r
             "Realka Barasil",\r
@@ -166,6 +190,10 @@ so{
             "DZD",\r
             "Dinaarka Aljeriya",\r
         }\r
+        EEK{\r
+            "EEK",\r
+            "Kroonka Estooniya",\r
+        }\r
         EGP{\r
             "EGP",\r
             "Bowndka Masar",\r
@@ -182,6 +210,10 @@ so{
             "€",\r
             "Yuuroo",\r
         }\r
+        FIM{\r
+            "FIM",\r
+            "Markkada Fiinishka ah",\r
+        }\r
         FJD{\r
             "FJD",\r
             "Doolarka Fiji",\r
@@ -246,6 +278,10 @@ so{
             "IDR",\r
             "Rubiah Indonesiya",\r
         }\r
+        IEP{\r
+            "IEP",\r
+            "baawnka Ayrishka",\r
+        }\r
         ILS{\r
             "₪",\r
             "Niyuu Shekelka Israaiil",\r
@@ -330,6 +366,10 @@ so{
             "LRD",\r
             "Doolarka Liberiya",\r
         }\r
+        LVR{\r
+            "LVR",\r
+            "Rubalka Latfiya",\r
+        }\r
         LYD{\r
             "LYD",\r
             "Dinaarka Libya",\r
@@ -663,6 +703,22 @@ so{
             one{"kawansada Angola"}\r
             other{"kawansada Angola"}\r
         }\r
+        ARA{\r
+            one{"Argentine Austral"}\r
+            other{"Argentine Australs"}\r
+        }\r
+        ARL{\r
+            one{"Beesada Ley ee Arjentiin (1970–1983)"}\r
+            other{"Beesada Ley ee Arjentiin (1970–1983)"}\r
+        }\r
+        ARM{\r
+            one{"Beesada Ley ee Arjentiin (1881–1970)"}\r
+            other{"Beesada Ley ee Arjentiin (1881–1970)"}\r
+        }\r
+        ARP{\r
+            one{"Beesada Ley ee Arjentiin (1883–1985)"}\r
+            other{"Beesada Ley ee Arjentiin (1883–1985)"}\r
+        }\r
         ARS{\r
             one{"Beesada Arjentiin"}\r
             other{"Beesada Arjentiin"}\r
@@ -679,6 +735,13 @@ so{
             one{"manaata Asarbeyjan"}\r
             other{"manaata Asarbeyjan"}\r
         }\r
+        BAD{\r
+            one{"Diinaarka BBosnia-Hersogofina (1992–1994)"}\r
+            other{\r
+                "Diinaarka BBosnia-Hersogofina 1.00 konfatibal maakta Bosnia-Hersogof"\r
+                "ina 1 konfatibal maaka Bosnia-Hersogofina (1992–1994)"\r
+            }\r
+        }\r
         BAM{\r
             one{"konfatibal maakta Bosnia-Hersogofina"}\r
             other{"konfatibal maakta Bosnia-Hersogofina"}\r
@@ -715,6 +778,10 @@ so{
             one{"Bolifiyanada Bolifiya"}\r
             other{"Bolifiyanada Bolifiya"}\r
         }\r
+        BOL{\r
+            one{"Bolifiyaabka Bolifiyaano(1863–1963)"}\r
+            other{"Bolifiyaabka Bolifiyaano(1863–1963)"}\r
+        }\r
         BRL{\r
             one{"Realka Barasil"}\r
             other{"Realada Barasil"}\r
@@ -803,6 +870,10 @@ so{
             one{"dinaarka Aljeriya"}\r
             other{"dinaarka Aljeriya"}\r
         }\r
+        EEK{\r
+            one{"Kroonka Estooniya"}\r
+            other{"Kroonka Estooniya"}\r
+        }\r
         EGP{\r
             one{"bowndka Masar"}\r
             other{"bowndka Masar"}\r
@@ -819,6 +890,10 @@ so{
             one{"yuuroo"}\r
             other{"yuuroo"}\r
         }\r
+        FIM{\r
+            one{"Markkada Fiinishka ah"}\r
+            other{"Markkada Fiinishka ah"}\r
+        }\r
         FJD{\r
             one{"doolarka Fiji"}\r
             other{"doolarada Fiji"}\r
@@ -883,6 +958,10 @@ so{
             one{"rubiah Indonesiya"}\r
             other{"rubiah Indonesiya"}\r
         }\r
+        IEP{\r
+            one{"baawnka Ayrishka"}\r
+            other{"baawnka Ayrishka"}\r
+        }\r
         ILS{\r
             one{"niyuu shekelka Israaiil"}\r
             other{"niyuu shekelka Israaiil"}\r
@@ -899,6 +978,10 @@ so{
             one{"riyaalka Iran"}\r
             other{"riyaalka Iran"}\r
         }\r
+        ISJ{\r
+            one{"krónaha Iceland (1918–1981)"}\r
+            other{"krónaha Iceland (1918–1981)"}\r
+        }\r
         ISK{\r
             one{"Koronada Eysland"}\r
             other{"Koronada Eysland"}\r
@@ -967,6 +1050,10 @@ so{
             one{"doolarka Liberiya"}\r
             other{"doolarka Liberiya"}\r
         }\r
+        LVR{\r
+            one{"rubalka Latvia"}\r
+            other{"rubalka Latfiya"}\r
+        }\r
         LYD{\r
             one{"dinaarka Libya"}\r
             other{"dinaarka Libya"}\r
@@ -1268,5 +1355,5 @@ so{
             other{"Kawajada Sambiya"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0147c02..cde4b31 100644 (file)
@@ -7,5 +7,5 @@ so_DJ{
             "Faran Jabuuti",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d19cdf0..8639250 100644 (file)
@@ -7,5 +7,5 @@ so_ET{
             "Birta Itoobbiya",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e972f4e..2091d50 100644 (file)
@@ -7,5 +7,5 @@ so_KE{
             "Shilingka Kenya",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5a5dc4f..894dcd8 100644 (file)
@@ -1403,5 +1403,5 @@ sq{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d99baaf..73158b5 100644 (file)
@@ -7,5 +7,5 @@ sq_MK{
             "Denari maqedonas",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index acaa8c9..9fd60cd 100644 (file)
@@ -2657,5 +2657,5 @@ sr{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1ed798b..f89f3af 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sr_Cyrl{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f4e09ae..0aebe00 100644 (file)
@@ -2658,5 +2658,5 @@ sr_Latn{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/curr/su.txt b/source/data/curr/su.txt
new file mode 100644 (file)
index 0000000..1f768f8
--- /dev/null
@@ -0,0 +1,86 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+su{\r
+    Currencies{\r
+        BRL{\r
+            "R$",\r
+            "Real Brasil",\r
+        }\r
+        CNY{\r
+            "CN¥",\r
+            "Yuan Tiongkok",\r
+        }\r
+        EUR{\r
+            "€",\r
+            "Euro",\r
+        }\r
+        GBP{\r
+            "£",\r
+            "Pound Inggris",\r
+        }\r
+        IDR{\r
+            "Rp",\r
+            "Rupee Indonésia",\r
+        }\r
+        INR{\r
+            "₹",\r
+            "Rupee India",\r
+        }\r
+        JPY{\r
+            "¥",\r
+            "Yén Jepang",\r
+        }\r
+        RUB{\r
+            "RUB",\r
+            "Rubel Rusia",\r
+        }\r
+        USD{\r
+            "$",\r
+            "Dolar A.S.",\r
+        }\r
+    }\r
+    Currencies%narrow{\r
+        BRL{"R$"}\r
+        CNY{"¥"}\r
+        EUR{"€"}\r
+        GBP{"£"}\r
+        IDR{"Rp"}\r
+        INR{"₹"}\r
+        JPY{"¥"}\r
+        RUB{"₽"}\r
+        USD{"$"}\r
+    }\r
+    CurrencyPlurals{\r
+        BRL{\r
+            other{"real Brasil"}\r
+        }\r
+        CNY{\r
+            other{"yuan Tiongkok"}\r
+        }\r
+        EUR{\r
+            other{"euro"}\r
+        }\r
+        GBP{\r
+            other{"pound Inggris"}\r
+        }\r
+        IDR{\r
+            other{"rupee Indonésia"}\r
+        }\r
+        INR{\r
+            other{"rupee India"}\r
+        }\r
+        JPY{\r
+            other{"yén Jepang"}\r
+        }\r
+        RUB{\r
+            other{"rubel Rusia"}\r
+        }\r
+        USD{\r
+            other{"dolar A.S."}\r
+        }\r
+    }\r
+    CurrencyUnitPatterns{\r
+        other{"{0} {1}"}\r
+    }\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/curr/su_ID.txt b/source/data/curr/su_ID.txt
new file mode 100644 (file)
index 0000000..54a4c8f
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+su_ID{\r
+    "%%ALIAS"{"su_Latn_ID"}\r
+}\r
diff --git a/source/data/curr/su_Latn.txt b/source/data/curr/su_Latn.txt
new file mode 100644 (file)
index 0000000..2cd8bd7
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+su_Latn{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/curr/su_Latn_ID.txt b/source/data/curr/su_Latn_ID.txt
new file mode 100644 (file)
index 0000000..8ab1d5e
--- /dev/null
@@ -0,0 +1,8 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+/**\r
+ * generated alias target\r
+ */\r
+su_Latn_ID{\r
+    ___{""}\r
+}\r
index a0d4729..b04f153 100644 (file)
@@ -196,6 +196,7 @@ supplementalData:table(nofallback){
         AQ{\r
             {\r
                 id{"XXX"}\r
+                tender{"false"}\r
             }\r
         }\r
         AR{\r
@@ -511,6 +512,7 @@ supplementalData:table(nofallback){
                     0,\r
                 }\r
                 id{"BEL"}\r
+                tender{"false"}\r
                 to:intvector{\r
                     148,\r
                     1026440191,\r
@@ -522,6 +524,7 @@ supplementalData:table(nofallback){
                     0,\r
                 }\r
                 id{"BEC"}\r
+                tender{"false"}\r
                 to:intvector{\r
                     148,\r
                     1026440191,\r
@@ -687,6 +690,7 @@ supplementalData:table(nofallback){
             }\r
             {\r
                 id{"BOV"}\r
+                tender{"false"}\r
             }\r
         }\r
         BQ{\r
@@ -990,9 +994,11 @@ supplementalData:table(nofallback){
             }\r
             {\r
                 id{"CHE"}\r
+                tender{"false"}\r
             }\r
             {\r
                 id{"CHW"}\r
+                tender{"false"}\r
             }\r
         }\r
         CI{\r
@@ -1034,6 +1040,7 @@ supplementalData:table(nofallback){
             }\r
             {\r
                 id{"CLF"}\r
+                tender{"false"}\r
             }\r
         }\r
         CM{\r
@@ -1059,6 +1066,7 @@ supplementalData:table(nofallback){
                     528958464,\r
                 }\r
                 id{"CNX"}\r
+                tender{"false"}\r
                 to:intvector{\r
                     213,\r
                     320765951,\r
@@ -1070,6 +1078,7 @@ supplementalData:table(nofallback){
                     -402654208,\r
                 }\r
                 id{"CNH"}\r
+                tender{"false"}\r
             }\r
         }\r
         CO{\r
@@ -1082,11 +1091,13 @@ supplementalData:table(nofallback){
             }\r
             {\r
                 id{"COU"}\r
+                tender{"false"}\r
             }\r
         }\r
         CP{\r
             {\r
                 id{"XXX"}\r
+                tender{"false"}\r
             }\r
         }\r
         CR{\r
@@ -1370,6 +1381,7 @@ supplementalData:table(nofallback){
                     -619174912,\r
                 }\r
                 id{"ECV"}\r
+                tender{"false"}\r
                 to:intvector{\r
                     220,\r
                     -1725372417,\r
@@ -1470,6 +1482,7 @@ supplementalData:table(nofallback){
                     -942270464,\r
                 }\r
                 id{"ESA"}\r
+                tender{"false"}\r
                 to:intvector{\r
                     88,\r
                     734077951,\r
@@ -1481,6 +1494,7 @@ supplementalData:table(nofallback){
                     -1147389952,\r
                 }\r
                 id{"ESB"}\r
+                tender{"false"}\r
                 to:intvector{\r
                     183,\r
                     -1355582465,\r
@@ -1510,6 +1524,7 @@ supplementalData:table(nofallback){
                     528958464,\r
                 }\r
                 id{"XEU"}\r
+                tender{"false"}\r
                 to:intvector{\r
                     213,\r
                     320765951,\r
@@ -2514,6 +2529,7 @@ supplementalData:table(nofallback){
                     0,\r
                 }\r
                 id{"LUC"}\r
+                tender{"false"}\r
                 to:intvector{\r
                     148,\r
                     1026440191,\r
@@ -2525,6 +2541,7 @@ supplementalData:table(nofallback){
                     0,\r
                 }\r
                 id{"LUL"}\r
+                tender{"false"}\r
                 to:intvector{\r
                     148,\r
                     1026440191,\r
@@ -2981,6 +2998,7 @@ supplementalData:table(nofallback){
             }\r
             {\r
                 id{"MXV"}\r
+                tender{"false"}\r
             }\r
         }\r
         MY{\r
@@ -4285,6 +4303,7 @@ supplementalData:table(nofallback){
             }\r
             {\r
                 id{"USN"}\r
+                tender{"false"}\r
             }\r
             {\r
                 id{"USS"}\r
@@ -4316,9 +4335,11 @@ supplementalData:table(nofallback){
             }\r
             {\r
                 id{"UYI"}\r
+                tender{"false"}\r
             }\r
             {\r
                 id{"UYW"}\r
+                tender{"false"}\r
             }\r
         }\r
         UZ{\r
@@ -4599,6 +4620,7 @@ supplementalData:table(nofallback){
                     459560960,\r
                 }\r
                 id{"ZAL"}\r
+                tender{"false"}\r
                 to:intvector{\r
                     185,\r
                     570250239,\r
@@ -4705,24 +4727,31 @@ supplementalData:table(nofallback){
         ZZ{\r
             {\r
                 id{"XAG"}\r
+                tender{"false"}\r
             }\r
             {\r
                 id{"XAU"}\r
+                tender{"false"}\r
             }\r
             {\r
                 id{"XBA"}\r
+                tender{"false"}\r
             }\r
             {\r
                 id{"XBB"}\r
+                tender{"false"}\r
             }\r
             {\r
                 id{"XBC"}\r
+                tender{"false"}\r
             }\r
             {\r
                 id{"XBD"}\r
+                tender{"false"}\r
             }\r
             {\r
                 id{"XDR"}\r
+                tender{"false"}\r
             }\r
             {\r
                 from:intvector{\r
@@ -4730,6 +4759,7 @@ supplementalData:table(nofallback){
                     416385024,\r
                 }\r
                 id{"XFO"}\r
+                tender{"false"}\r
                 to:intvector{\r
                     244,\r
                     1269579775,\r
@@ -4745,9 +4775,11 @@ supplementalData:table(nofallback){
             }\r
             {\r
                 id{"XPD"}\r
+                tender{"false"}\r
             }\r
             {\r
                 id{"XPT"}\r
+                tender{"false"}\r
             }\r
             {\r
                 id{"XRE"}\r
@@ -4759,15 +4791,19 @@ supplementalData:table(nofallback){
             }\r
             {\r
                 id{"XSU"}\r
+                tender{"false"}\r
             }\r
             {\r
                 id{"XTS"}\r
+                tender{"false"}\r
             }\r
             {\r
                 id{"XUA"}\r
+                tender{"false"}\r
             }\r
             {\r
                 id{"XXX"}\r
+                tender{"false"}\r
             }\r
         }\r
     }\r
index 2cc86ba..57d3056 100644 (file)
@@ -1034,6 +1034,10 @@ sv{
             "UYU",\r
             "uruguayansk peso",\r
         }\r
+        UYW{\r
+            "UYW",\r
+            "uruguayansk indexenhet för nominell lön",\r
+        }\r
         UZS{\r
             "UZS",\r
             "uzbekisk sum",\r
@@ -1574,7 +1578,7 @@ sv{
         }\r
         CNH{\r
             one{"kinesisk yuan (offshore)"}\r
-            other{"CNH"}\r
+            other{"kinesisk yuan (offshore)"}\r
         }\r
         CNX{\r
             one{"kinesisk dollar"}\r
@@ -2344,6 +2348,10 @@ sv{
             one{"uruguayansk peso"}\r
             other{"uruguayanska pesos"}\r
         }\r
+        UYW{\r
+            one{"uruguayansk indexenhet för nominell lön"}\r
+            other{"uruguayansk indexenhet för nominell lön"}\r
+        }\r
         UZS{\r
             one{"uzbekisk sum"}\r
             other{"uzbekiska sum"}\r
@@ -2525,5 +2533,5 @@ sv{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 254cce7..365d78d 100644 (file)
@@ -152,7 +152,7 @@ sw{
         }\r
         CZK{\r
             "CZK",\r
-            "CZK",\r
+            "koruna ya Jamhuri ya Czech",\r
         }\r
         DJF{\r
             "DJF",\r
@@ -1441,5 +1441,5 @@ sw{
         one{"{1} {0}"}\r
         other{"{1} {0}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 96c860e..0f927a3 100644 (file)
@@ -43,5 +43,5 @@ sw_CD{
             "Faranga CFA BCEAO",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e60fcd5..4247a10 100644 (file)
@@ -721,5 +721,5 @@ sw_KE{
             other{"riali za Yemeni"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 41424bd..7f5f0c3 100644 (file)
@@ -7,5 +7,5 @@ sw_UG{
             "Shilingi ya Uganda",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f2ba99e..52e886d 100644 (file)
@@ -1413,5 +1413,5 @@ ta{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 087cef5..ec8da53 100644 (file)
@@ -7,5 +7,5 @@ ta_LK{
             "இலங்கை ரூபாய்",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1fe9b8d..2b35001 100644 (file)
@@ -11,5 +11,5 @@ ta_MY{
             "சிங்கப்பூர் டாலர்",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index dafb88a..d68afef 100644 (file)
@@ -15,5 +15,5 @@ ta_SG{
             "அமெரிக்க டாலர்",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e8c17ff..b77d04f 100644 (file)
@@ -1413,5 +1413,5 @@ te{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9f8f1c2..8f5afb1 100644 (file)
@@ -231,5 +231,5 @@ teo{
             "Edola lok’Zimbabwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 81aeb8f..9431702 100644 (file)
@@ -7,5 +7,5 @@ teo_KE{
             "Ango’otol lok’ Kenya",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f7c724a..522bc3b 100644 (file)
@@ -88,5 +88,5 @@ tg{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b9a7ed7..affa732 100644 (file)
@@ -1792,5 +1792,5 @@ th{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/curr/th_TH_TRADITIONAL.txt b/source/data/curr/th_TH_TRADITIONAL.txt
deleted file mode 100644 (file)
index a07213d..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-// © 2016 and later: Unicode, Inc. and others.\r
-// License & terms of use: http://www.unicode.org/copyright.html#License\r
-th_TH_TRADITIONAL{\r
-    calendar{\r
-        default{"buddhist"}\r
-    }\r
-}\r
index a9ff7c1..1b1beb1 100644 (file)
@@ -43,5 +43,5 @@ ti{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bfd4da9..bcc4343 100644 (file)
@@ -7,5 +7,5 @@ ti_ER{
             "ERN",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 49dabd4..5205418 100644 (file)
@@ -1389,5 +1389,5 @@ tk{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 566552b..aa9096f 100644 (file)
@@ -6,10 +6,6 @@ to{
             "AUD$",\r
             "Tola fakaʻaositelēlia",\r
         }\r
-        BRL{\r
-            "R$",\r
-            "BRL",\r
-        }\r
         FJD{\r
             "FJD",\r
             "Tola fakafisi",\r
@@ -92,5 +88,5 @@ to{
     CurrencyUnitPatterns{\r
         other{"{1} {0}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6aa695f..e8f79c5 100644 (file)
@@ -2400,5 +2400,5 @@ tr{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 211ac70..9eb2c36 100644 (file)
@@ -81,5 +81,5 @@ tt{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 83d8881..070475d 100644 (file)
@@ -235,5 +235,5 @@ twq{
             "Zimbabwe Dollar",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6966b44..8922338 100644 (file)
@@ -235,5 +235,5 @@ tzm{
             "Ḍular Uzimbabwi",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 21f7c7e..ab664c7 100644 (file)
@@ -2417,5 +2417,5 @@ ug{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a6a7c7a..04e1ed3 100644 (file)
@@ -2314,5 +2314,5 @@ uk{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0e639b8..180082a 100644 (file)
@@ -1433,5 +1433,5 @@ ur{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5ee77d0..ee09fb0 100644 (file)
@@ -77,5 +77,5 @@ ur_IN{
             other{"ساموآئی ٹالا"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2cc57bd..190972f 100644 (file)
@@ -124,7 +124,7 @@ uz{
         }\r
         CNH{\r
             "CNH",\r
-            "CNH",\r
+            "Xitoy yuani (ofshor)",\r
         }\r
         CNY{\r
             "CN¥",\r
@@ -873,8 +873,8 @@ uz{
             other{"Chili pesosi"}\r
         }\r
         CNH{\r
-            one{"CNH"}\r
-            other{"CNH"}\r
+            one{"Xitoy yuani (ofshor)"}\r
+            other{"Xitoy yuani (ofshor)"}\r
         }\r
         CNY{\r
             one{"Xitoy yuani"}\r
@@ -1405,5 +1405,5 @@ uz{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7200316..6284431 100644 (file)
@@ -8,5 +8,5 @@ uz_Arab{
             "افغانی",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ab14c51..e20e86f 100644 (file)
@@ -422,5 +422,5 @@ uz_Cyrl{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fab5249..e0f4ba8 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 uz_Latn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f7c9d75..d566858 100644 (file)
@@ -228,5 +228,5 @@ vai{
             other{"ꔖꗼꔷ ꖩꔪ"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6815544..385e770 100644 (file)
@@ -228,5 +228,5 @@ vai_Latn{
             "Zimbhabhuwe Dala",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8aaf4a5..f361880 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 vai_Vaii{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4139d12..bf6ee9b 100644 (file)
@@ -1703,5 +1703,5 @@ vi{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6deafce..4fbf6e3 100644 (file)
@@ -235,5 +235,5 @@ vun{
             "Dola ya Zimbabwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8c79a75..537c35f 100644 (file)
@@ -81,5 +81,5 @@ wae{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c037feb..0e41ecd 100644 (file)
@@ -88,5 +88,5 @@ wo{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a4a92df..62b9a87 100644 (file)
@@ -20,5 +20,5 @@ xh{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cc2caad..0978006 100644 (file)
@@ -231,5 +231,5 @@ xog{
             "Doola ey’eZimbabwe",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4eee999..2bcc83d 100644 (file)
@@ -95,5 +95,5 @@ yav{
             "́faláŋɛ u kɔmɔ́ɔl",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e13c28a..2af9ffa 100644 (file)
@@ -105,5 +105,5 @@ yi{
             other{"אומבאַוואוסטע וואַלוטע"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c04491f..3ceabf4 100644 (file)
@@ -6,14 +6,58 @@ yo{
             "AED",\r
             "Diami ti Awon Orílẹ́ède Arabu",\r
         }\r
+        AFN{\r
+            "AFN",\r
+            "Afugánì Afuganísítàànì",\r
+        }\r
+        ALL{\r
+            "ALL",\r
+            "Lẹ́kẹ̀ Àlìbéníà",\r
+        }\r
+        AMD{\r
+            "AMD",\r
+            "Dírààmù Àmẹ́níà",\r
+        }\r
+        ANG{\r
+            "ANG",\r
+            "Gílídà Netherlands Antillean",\r
+        }\r
         AOA{\r
             "AOA",\r
             "Wansa ti Orílẹ́ède Àngólà",\r
         }\r
+        ARS{\r
+            "ARS",\r
+            "Pẹ́sò Agẹntínà",\r
+        }\r
         AUD{\r
             "A$",\r
             "Dọla ti Orílẹ́ède Ástràlìá",\r
         }\r
+        AWG{\r
+            "AWG",\r
+            "Fuloríìnì Àrúbà",\r
+        }\r
+        AZN{\r
+            "AZN",\r
+            "Mánààtì Àsàbáíjáì",\r
+        }\r
+        BAM{\r
+            "BAM",\r
+            "Àmi Yíyípadà Bosnia-Herzegovina",\r
+        }\r
+        BBD{\r
+            "BBD",\r
+            "Dọ́là Bábádọ̀ọ̀sì",\r
+        }\r
+        BDT{\r
+            "BDT",\r
+            "Tákà Báńgíládẹ̀ẹ̀ṣì",\r
+        }\r
+        BGN{\r
+            "BGN",\r
+            "Owó Lẹ́fì Bọ̀lìgéríà",\r
+        }\r
         BHD{\r
             "BHD",\r
             "Dina ti Orílẹ́ède Báránì",\r
@@ -22,14 +66,42 @@ yo{
             "BIF",\r
             "Faransi ti Orílẹ́ède Bùùrúndì",\r
         }\r
+        BMD{\r
+            "BMD",\r
+            "Dọ́là Bẹ̀múdà",\r
+        }\r
+        BND{\r
+            "BND",\r
+            "Dọ́là Bùrùnéì",\r
+        }\r
+        BOB{\r
+            "BOB",\r
+            "Bọlifiánò Bọ̀lífíà",\r
+        }\r
         BRL{\r
             "R$",\r
             "Owó ti Orílẹ̀-èdè Brazil",\r
         }\r
+        BSD{\r
+            "BSD",\r
+            "Dọ́là Bàhámà",\r
+        }\r
+        BTN{\r
+            "BTN",\r
+            "Ìngọ́tírọ̀mù Bútàànì",\r
+        }\r
         BWP{\r
             "BWP",\r
             "Pula ti Orílẹ́ède Bọ̀tìsúwánà",\r
         }\r
+        BYN{\r
+            "BYN",\r
+            "Rọ́bù Bẹ̀lárùùsì",\r
+        }\r
+        BZD{\r
+            "BZD",\r
+            "Dọ́là Bẹ̀lísè",\r
+        }\r
         CAD{\r
             "CA$",\r
             "Dọla ti Orílẹ́ède Kánádà",\r
@@ -42,18 +114,54 @@ yo{
             "CHF",\r
             "Faransi ti Orílẹ́ède Siwisi",\r
         }\r
+        CLP{\r
+            "CLP",\r
+            "Pẹ́sò Ṣílè",\r
+        }\r
+        CNH{\r
+            "CNH",\r
+            "Yúànì Sháínà",\r
+        }\r
         CNY{\r
             "CN¥",\r
             "Reminibi ti Orílẹ́ède ṣáínà",\r
         }\r
+        COP{\r
+            "COP",\r
+            "Pẹ́sò Kòlóḿbíà",\r
+        }\r
+        CRC{\r
+            "CRC",\r
+            "Kólọ́ọ̀nì Kosita Ríkà",\r
+        }\r
+        CUC{\r
+            "CUC",\r
+            "Pẹ́sò Yíyípadà Kúbà",\r
+        }\r
+        CUP{\r
+            "CUP",\r
+            "Pẹ́sò Kúbà",\r
+        }\r
         CVE{\r
             "CVE",\r
             "Kabofediano ti Orílẹ́ède Esuodo",\r
         }\r
+        CZK{\r
+            "CZK",\r
+            "Koruna Ṣẹ́ẹ̀kì",\r
+        }\r
         DJF{\r
             "DJF",\r
             "Faransi ti Orílẹ́ède Dibouti",\r
         }\r
+        DKK{\r
+            "DKK",\r
+            "Kírónì Dáníṣì",\r
+        }\r
+        DOP{\r
+            "DOP",\r
+            "Pẹ́sò Dòníníkà",\r
+        }\r
         DZD{\r
             "DZD",\r
             "Dina ti Orílẹ́ède Àlùgèríánì",\r
@@ -74,26 +182,106 @@ yo{
             "€",\r
             "owó Yúrò",\r
         }\r
+        FJD{\r
+            "FJD",\r
+            "Dọ́là Fíjì",\r
+        }\r
+        FKP{\r
+            "FKP",\r
+            "Pọ́n-ùn Erékùsù Falkland",\r
+        }\r
         GBP{\r
             "£",\r
             "Pọ́n-ùn ti Orilẹ̀-èdè Gẹ̀ẹ́sì",\r
         }\r
+        GEL{\r
+            "GEL",\r
+            "Lárì Jọ́jíà",\r
+        }\r
         GHC{\r
             "GHC",\r
             "ṣidi ti Orílẹ́ède Gana",\r
         }\r
+        GHS{\r
+            "GHS",\r
+            "Sídì Ghanaian",\r
+        }\r
+        GIP{\r
+            "GIP",\r
+            "Pọ́n-ùn Gibraltar",\r
+        }\r
         GMD{\r
             "GMD",\r
             "Dalasi ti Orílẹ́ède Gamibia",\r
         }\r
+        GNF{\r
+            "GNF",\r
+            "Fírànkì Gíníànì",\r
+        }\r
         GNS{\r
             "GNS",\r
             "Faransi ti Orílẹ́ède Gini",\r
         }\r
+        GTQ{\r
+            "GTQ",\r
+            "Kúẹ́tísààlì Guatimílà",\r
+        }\r
+        GYD{\r
+            "GYD",\r
+            "Dọ́là Gùyánà",\r
+        }\r
+        HKD{\r
+            "HK$",\r
+            "Dọ́là Hong Kong",\r
+        }\r
+        HNL{\r
+            "HNL",\r
+            "Lẹmipírà Ọ́ńdúrà",\r
+        }\r
+        HRK{\r
+            "HRK",\r
+            "Kúnà Croatian",\r
+        }\r
+        HTG{\r
+            "HTG",\r
+            "Gọ́dì Àítì",\r
+        }\r
+        HUF{\r
+            "HUF",\r
+            "Fọ́ríǹtì Họ̀ngérí",\r
+        }\r
+        IDR{\r
+            "IDR",\r
+            "Rúpìyá Indonésíà",\r
+        }\r
+        ILS{\r
+            "₪",\r
+            "Ṣékélì Tuntun Ísírẹ̀ẹ̀lì",\r
+        }\r
         INR{\r
             "₹",\r
             "Rupi ti Orílẹ́ède Indina",\r
         }\r
+        IQD{\r
+            "IQD",\r
+            "Dínárì Ìráákì",\r
+        }\r
+        IRR{\r
+            "IRR",\r
+            "Rial Iranian",\r
+        }\r
+        ISK{\r
+            "ISK",\r
+            "Kòrónà Icelandic",\r
+        }\r
+        JMD{\r
+            "JMD",\r
+            "Dọ́là Jàmáíkà",\r
+        }\r
+        JOD{\r
+            "JOD",\r
+            "Dínárì Jọ́dàànì",\r
+        }\r
         JPY{\r
             "JP¥",\r
             "Yeni ti Orílẹ́ède Japani",\r
@@ -102,10 +290,50 @@ yo{
             "KES",\r
             "ṣiili ti Orílẹ́ède Kenya",\r
         }\r
+        KGS{\r
+            "KGS",\r
+            "Sómú Kirijísítàànì",\r
+        }\r
+        KHR{\r
+            "KHR",\r
+            "Ráyò Kàm̀bọ́díà",\r
+        }\r
         KMF{\r
             "KMF",\r
             "Faransi ti Orílẹ́ède ṣomoriani",\r
         }\r
+        KPW{\r
+            "KPW",\r
+            "Wọ́ọ̀nù Àríwá Kòríà",\r
+        }\r
+        KRW{\r
+            "₩",\r
+            "Wọ́ọ̀nù Gúúsù Kòríà",\r
+        }\r
+        KWD{\r
+            "KWD",\r
+            "Dínárì Kuwaiti",\r
+        }\r
+        KYD{\r
+            "KYD",\r
+            "Dọ́là Erékùsù Cayman",\r
+        }\r
+        KZT{\r
+            "KZT",\r
+            "Tẹngé Kasakísítàànì",\r
+        }\r
+        LAK{\r
+            "LAK",\r
+            "Kíììpù Làótì",\r
+        }\r
+        LBP{\r
+            "LBP",\r
+            "Pọ́n-ùn Lebanese",\r
+        }\r
+        LKR{\r
+            "LKR",\r
+            "Rúpìì Siri Láńkà",\r
+        }\r
         LRD{\r
             "LRD",\r
             "Dọla ti Orílẹ́ède Liberia",\r
@@ -122,10 +350,30 @@ yo{
             "MAD",\r
             "Dirami ti Orílẹ́ède Moroko",\r
         }\r
+        MDL{\r
+            "MDL",\r
+            "Owó Léhù Moldovan",\r
+        }\r
         MGA{\r
             "MGA",\r
             "Faransi ti Orílẹ́ède Malagasi",\r
         }\r
+        MKD{\r
+            "MKD",\r
+            "Dẹ́nà Masidóníà",\r
+        }\r
+        MMK{\r
+            "MMK",\r
+            "Kíyàtì Myanmar",\r
+        }\r
+        MNT{\r
+            "MNT",\r
+            "Túgúrììkì Mòǹgólíà",\r
+        }\r
+        MOP{\r
+            "MOP",\r
+            "Pàtákà Màkáò",\r
+        }\r
         MRO{\r
             "MRO",\r
             "Ouguiya ti Orílẹ́ède Maritania (1973–2017)",\r
@@ -138,14 +386,30 @@ yo{
             "MUR",\r
             "Rupi ti Orílẹ́ède Maritiusi",\r
         }\r
+        MVR{\r
+            "MVR",\r
+            "Rúfìyá Mọ̀lìdífà",\r
+        }\r
         MWK{\r
             "MWK",\r
             "Kaṣa ti Orílẹ́ède Malawi",\r
         }\r
+        MXN{\r
+            "MX$",\r
+            "Pẹ́sò Mẹ́síkò",\r
+        }\r
+        MYR{\r
+            "MYR",\r
+            "Ríngìtì Màléṣíà",\r
+        }\r
         MZM{\r
             "MZM",\r
             "Metika ti Orílẹ́ède Mosamibiki",\r
         }\r
+        MZN{\r
+            "MZN",\r
+            "Mẹ́tíkààlì Mòsáḿbíìkì",\r
+        }\r
         NAD{\r
             "NAD",\r
             "Dọla ti Orílẹ́ède Namibia",\r
@@ -154,6 +418,66 @@ yo{
             "₦",\r
             "Náìrà ti Orílẹ̀-èdè Nàìjíríà",\r
         }\r
+        NIO{\r
+            "NIO",\r
+            "Kọ̀dóbà Naikarágúà",\r
+        }\r
+        NOK{\r
+            "NOK",\r
+            "Kírónì Nọ́ọ́wè",\r
+        }\r
+        NPR{\r
+            "NPR",\r
+            "Rúpìì Nẹ̵́pààlì",\r
+        }\r
+        NZD{\r
+            "NZ$",\r
+            "Dọ́là New Zealand",\r
+        }\r
+        OMR{\r
+            "OMR",\r
+            "Ráyò Omani",\r
+        }\r
+        PAB{\r
+            "PAB",\r
+            "Bálíbóà Pànámà",\r
+        }\r
+        PEN{\r
+            "PEN",\r
+            "Sólì Pèrúù",\r
+        }\r
+        PGK{\r
+            "PGK",\r
+            "Kínà Papua Guinea Tuntun",\r
+        }\r
+        PHP{\r
+            "PHP",\r
+            "Písò Fílípìnì",\r
+        }\r
+        PKR{\r
+            "PKR",\r
+            "Rúpìì Pakisitánì",\r
+        }\r
+        PLN{\r
+            "PLN",\r
+            "Sílọ̀tì Pọ́líṣì",\r
+        }\r
+        PYG{\r
+            "PYG",\r
+            "Gúáránì Párágúwè",\r
+        }\r
+        QAR{\r
+            "QAR",\r
+            "Ráyò Kàtárì",\r
+        }\r
+        RON{\r
+            "RON",\r
+            "Léhù Ròméníà",\r
+        }\r
+        RSD{\r
+            "RSD",\r
+            "Dínárì Sàbíà",\r
+        }\r
         RUB{\r
             "₽",\r
             "Owó ruble ti ilẹ̀ Rọ́ṣíà",\r
@@ -166,6 +490,10 @@ yo{
             "SAR",\r
             "Riya ti Orílẹ́ède Saudi",\r
         }\r
+        SBD{\r
+            "SBD",\r
+            "Dọ́là Erékùsù Sọ́lómọ́nì",\r
+        }\r
         SCR{\r
             "SCR",\r
             "Rupi ti Orílẹ́ède Sayiselesi",\r
@@ -178,6 +506,14 @@ yo{
             "SDP",\r
             "Pọọun ti Orílẹ́ède Sudani",\r
         }\r
+        SEK{\r
+            "SEK",\r
+            "Kòrónà Súwídìn",\r
+        }\r
+        SGD{\r
+            "SGD",\r
+            "Dọ́là Síngápọ̀",\r
+        }\r
         SHP{\r
             "SHP",\r
             "Pọọun ti Orílẹ́ède ̣Elena",\r
@@ -190,6 +526,14 @@ yo{
             "SOS",\r
             "Sile ti Orílẹ́ède Somali",\r
         }\r
+        SRD{\r
+            "SRD",\r
+            "Dọ́là Súrínámì",\r
+        }\r
+        SSP{\r
+            "SSP",\r
+            "Pọ́n-ùn Gúúsù Sùdáànì",\r
+        }\r
         STD{\r
             "STD",\r
             "Dobira ti Orílẹ́ède Sao tome Ati Pirisipe (1977–2017)",\r
@@ -198,18 +542,54 @@ yo{
             "STN",\r
             "Dobira ti Orílẹ́ède Sao tome Ati Pirisipe",\r
         }\r
+        SYP{\r
+            "SYP",\r
+            "Pọ́n-ùn Sírìà",\r
+        }\r
         SZL{\r
             "SZL",\r
             "Lilangeni",\r
         }\r
+        THB{\r
+            "THB",\r
+            "Báàtì Tháì",\r
+        }\r
+        TJS{\r
+            "TJS",\r
+            "Sómónì Tajikístàànì",\r
+        }\r
+        TMT{\r
+            "TMT",\r
+            "Mánààtì Tọkimẹnístàànì",\r
+        }\r
         TND{\r
             "TND",\r
             "Dina ti Orílẹ́ède Tunisia",\r
         }\r
+        TOP{\r
+            "TOP",\r
+            "Pàángà Tóńgà",\r
+        }\r
+        TRY{\r
+            "TRY",\r
+            "Lírà Tọ́kì",\r
+        }\r
+        TTD{\r
+            "TTD",\r
+            "Dọ́là Trinidad & Tobago",\r
+        }\r
+        TWD{\r
+            "NT$",\r
+            "Dọ́là Tàìwánì Tuntun",\r
+        }\r
         TZS{\r
             "TZS",\r
             "Sile ti Orílẹ́ède Tansania",\r
         }\r
+        UAH{\r
+            "UAH",\r
+            "Ọrifiníyà Yukiréníà",\r
+        }\r
         UGX{\r
             "UGX",\r
             "Siile ti Orílẹ́ède Uganda",\r
@@ -218,18 +598,54 @@ yo{
             "$",\r
             "Dọ́là",\r
         }\r
+        UYU{\r
+            "UYU",\r
+            "Pẹ́sò Úrúgúwè",\r
+        }\r
+        UZS{\r
+            "UZS",\r
+            "Sómú Usibẹkísítàànì",\r
+        }\r
+        VES{\r
+            "VES",\r
+            "Bọ̀lífà Fẹnẹsuẹ́là",\r
+        }\r
+        VND{\r
+            "₫",\r
+            "Dáhùn Vietnamese",\r
+        }\r
+        VUV{\r
+            "VUV",\r
+            "Fátù Vanuatu",\r
+        }\r
+        WST{\r
+            "WST",\r
+            "Tálà Sàmóà",\r
+        }\r
         XAF{\r
             "FCFA",\r
             "Faransi ti Orílẹ́ède BEKA",\r
         }\r
+        XCD{\r
+            "EC$",\r
+            "Dọ́là Ilà Oòrùn Karíbíà",\r
+        }\r
         XOF{\r
             "CFA",\r
             "Faransi ti Orílẹ́ède BIKEAO",\r
         }\r
+        XPF{\r
+            "CFPF",\r
+            "Fírànkì CFP",\r
+        }\r
         XXX{\r
             "¤",\r
             "owóníná àìmọ̀",\r
         }\r
+        YER{\r
+            "YER",\r
+            "Ráyò Yẹ́mẹ̀nì",\r
+        }\r
         ZAR{\r
             "ZAR",\r
             "Randi ti Orílẹ́ède Ariwa Afirika",\r
@@ -276,5 +692,5 @@ yo{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 702490d..8c64b35 100644 (file)
@@ -6,14 +6,38 @@ yo_BJ{
             "AED",\r
             "Diami ti Awon Orílɛ́ède Arabu",\r
         }\r
+        ALL{\r
+            "ALL",\r
+            "Lɛ́kɛ̀ Àlìbéníà",\r
+        }\r
+        AMD{\r
+            "AMD",\r
+            "Dírààmù Àmɛ́níà",\r
+        }\r
         AOA{\r
             "AOA",\r
             "Wansa ti Orílɛ́ède Àngólà",\r
         }\r
+        ARS{\r
+            "ARS",\r
+            "Pɛ́sò Agɛntínà",\r
+        }\r
         AUD{\r
             "A$",\r
             "Dɔla ti Orílɛ́ède Ástràlìá",\r
         }\r
+        BBD{\r
+            "BBD",\r
+            "Dɔ́là Bábádɔ̀ɔ̀sì",\r
+        }\r
+        BDT{\r
+            "BDT",\r
+            "Tákà Báńgíládɛ̀ɛ̀shì",\r
+        }\r
+        BGN{\r
+            "BGN",\r
+            "Owó Lɛ́fì Bɔ̀lìgéríà",\r
+        }\r
         BHD{\r
             "BHD",\r
             "Dina ti Orílɛ́ède Báránì",\r
@@ -22,14 +46,42 @@ yo_BJ{
             "BIF",\r
             "Faransi ti Orílɛ́ède Bùùrúndì",\r
         }\r
+        BMD{\r
+            "BMD",\r
+            "Dɔ́là Bɛ̀múdà",\r
+        }\r
+        BND{\r
+            "BND",\r
+            "Dɔ́là Bùrùnéì",\r
+        }\r
+        BOB{\r
+            "BOB",\r
+            "Bɔlifiánò Bɔ̀lífíà",\r
+        }\r
         BRL{\r
             "R$",\r
             "Owó ti Orílɛ̀-èdè Brazil",\r
         }\r
+        BSD{\r
+            "BSD",\r
+            "Dɔ́là Bàhámà",\r
+        }\r
+        BTN{\r
+            "BTN",\r
+            "Ìngɔ́tírɔ̀mù Bútàànì",\r
+        }\r
         BWP{\r
             "BWP",\r
             "Pula ti Orílɛ́ède Bɔ̀tìsúwánà",\r
         }\r
+        BYN{\r
+            "BYN",\r
+            "Rɔ́bù Bɛ̀lárùùsì",\r
+        }\r
+        BZD{\r
+            "BZD",\r
+            "Dɔ́là Bɛ̀lísè",\r
+        }\r
         CAD{\r
             "CA$",\r
             "Dɔla ti Orílɛ́ède Kánádà",\r
@@ -42,18 +94,50 @@ yo_BJ{
             "CHF",\r
             "Faransi ti Orílɛ́ède Siwisi",\r
         }\r
+        CLP{\r
+            "CLP",\r
+            "Pɛ́sò Shílè",\r
+        }\r
         CNY{\r
             "CN¥",\r
             "Reminibi ti Orílɛ́ède sháínà",\r
         }\r
+        COP{\r
+            "COP",\r
+            "Pɛ́sò Kòlóḿbíà",\r
+        }\r
+        CRC{\r
+            "CRC",\r
+            "Kólɔ́ɔ̀nì Kosita Ríkà",\r
+        }\r
+        CUC{\r
+            "CUC",\r
+            "Pɛ́sò Yíyípadà Kúbà",\r
+        }\r
+        CUP{\r
+            "CUP",\r
+            "Pɛ́sò Kúbà",\r
+        }\r
         CVE{\r
             "CVE",\r
             "Kabofediano ti Orílɛ́ède Esuodo",\r
         }\r
+        CZK{\r
+            "CZK",\r
+            "Koruna Shɛ́ɛ̀kì",\r
+        }\r
         DJF{\r
             "DJF",\r
             "Faransi ti Orílɛ́ède Dibouti",\r
         }\r
+        DKK{\r
+            "DKK",\r
+            "Kírónì Dáníshì",\r
+        }\r
+        DOP{\r
+            "DOP",\r
+            "Pɛ́sò Dòníníkà",\r
+        }\r
         DZD{\r
             "DZD",\r
             "Dina ti Orílɛ́ède Àlùgèríánì",\r
@@ -70,14 +154,30 @@ yo_BJ{
             "ETB",\r
             "Biri ti Orílɛ́ède Eutopia",\r
         }\r
+        FJD{\r
+            "FJD",\r
+            "Dɔ́là Fíjì",\r
+        }\r
+        FKP{\r
+            "FKP",\r
+            "Pɔ́n-ùn Erékùsù Falkland",\r
+        }\r
         GBP{\r
             "£",\r
             "Pɔ́n-ùn ti Orilɛ̀-èdè Gɛ̀ɛ́sì",\r
         }\r
+        GEL{\r
+            "GEL",\r
+            "Lárì Jɔ́jíà",\r
+        }\r
         GHC{\r
             "GHC",\r
             "shidi ti Orílɛ́ède Gana",\r
         }\r
+        GIP{\r
+            "GIP",\r
+            "Pɔ́n-ùn Gibraltar",\r
+        }\r
         GMD{\r
             "GMD",\r
             "Dalasi ti Orílɛ́ède Gamibia",\r
@@ -86,10 +186,46 @@ yo_BJ{
             "GNS",\r
             "Faransi ti Orílɛ́ède Gini",\r
         }\r
+        GTQ{\r
+            "GTQ",\r
+            "Kúɛ́tísààlì Guatimílà",\r
+        }\r
+        GYD{\r
+            "GYD",\r
+            "Dɔ́là Gùyánà",\r
+        }\r
+        HKD{\r
+            "HK$",\r
+            "Dɔ́là Hong Kong",\r
+        }\r
+        HNL{\r
+            "HNL",\r
+            "Lɛmipírà Ɔ́ńdúrà",\r
+        }\r
+        HTG{\r
+            "HTG",\r
+            "Gɔ́dì Àítì",\r
+        }\r
+        HUF{\r
+            "HUF",\r
+            "Fɔ́ríǹtì Hɔ̀ngérí",\r
+        }\r
+        ILS{\r
+            "₪",\r
+            "Shékélì Tuntun Ísírɛ̀ɛ̀lì",\r
+        }\r
         INR{\r
             "₹",\r
             "Rupi ti Orílɛ́ède Indina",\r
         }\r
+        JMD{\r
+            "JMD",\r
+            "Dɔ́là Jàmáíkà",\r
+        }\r
+        JOD{\r
+            "JOD",\r
+            "Dínárì Jɔ́dàànì",\r
+        }\r
         JPY{\r
             "JP¥",\r
             "Yeni ti Orílɛ́ède Japani",\r
@@ -98,10 +234,34 @@ yo_BJ{
             "KES",\r
             "shiili ti Orílɛ́ède Kenya",\r
         }\r
+        KHR{\r
+            "KHR",\r
+            "Ráyò Kàm̀bɔ́díà",\r
+        }\r
         KMF{\r
             "KMF",\r
             "Faransi ti Orílɛ́ède shomoriani",\r
         }\r
+        KPW{\r
+            "KPW",\r
+            "Wɔ́ɔ̀nù Àríwá Kòríà",\r
+        }\r
+        KRW{\r
+            "₩",\r
+            "Wɔ́ɔ̀nù Gúúsù Kòríà",\r
+        }\r
+        KYD{\r
+            "KYD",\r
+            "Dɔ́là Erékùsù Cayman",\r
+        }\r
+        KZT{\r
+            "KZT",\r
+            "Tɛngé Kasakísítàànì",\r
+        }\r
+        LBP{\r
+            "LBP",\r
+            "Pɔ́n-ùn Lebanese",\r
+        }\r
         LRD{\r
             "LRD",\r
             "Dɔla ti Orílɛ́ède Liberia",\r
@@ -122,6 +282,10 @@ yo_BJ{
             "MGA",\r
             "Faransi ti Orílɛ́ède Malagasi",\r
         }\r
+        MKD{\r
+            "MKD",\r
+            "Dɛ́nà Masidóníà",\r
+        }\r
         MRO{\r
             "MRO",\r
             "Ouguiya ti Orílɛ́ède Maritania (1973–2017)",\r
@@ -134,14 +298,30 @@ yo_BJ{
             "MUR",\r
             "Rupi ti Orílɛ́ède Maritiusi",\r
         }\r
+        MVR{\r
+            "MVR",\r
+            "Rúfìyá Mɔ̀lìdífà",\r
+        }\r
         MWK{\r
             "MWK",\r
             "Kasha ti Orílɛ́ède Malawi",\r
         }\r
+        MXN{\r
+            "MX$",\r
+            "Pɛ́sò Mɛ́síkò",\r
+        }\r
+        MYR{\r
+            "MYR",\r
+            "Ríngìtì Màléshíà",\r
+        }\r
         MZM{\r
             "MZM",\r
             "Metika ti Orílɛ́ède Mosamibiki",\r
         }\r
+        MZN{\r
+            "MZN",\r
+            "Mɛ́tíkààlì Mòsáḿbíìkì",\r
+        }\r
         NAD{\r
             "NAD",\r
             "Dɔla ti Orílɛ́ède Namibia",\r
@@ -150,6 +330,26 @@ yo_BJ{
             "₦",\r
             "Náìrà ti Orílɛ̀-èdè Nàìjíríà",\r
         }\r
+        NIO{\r
+            "NIO",\r
+            "Kɔ̀dóbà Naikarágúà",\r
+        }\r
+        NOK{\r
+            "NOK",\r
+            "Kírónì Nɔ́ɔ́wè",\r
+        }\r
+        NPR{\r
+            "NPR",\r
+            "Rúpìì Nɛ̵́pààlì",\r
+        }\r
+        NZD{\r
+            "NZ$",\r
+            "Dɔ́là New Zealand",\r
+        }\r
+        PLN{\r
+            "PLN",\r
+            "Sílɔ̀tì Pɔ́líshì",\r
+        }\r
         RUB{\r
             "₽",\r
             "Owó ruble ti ilɛ̀ Rɔ́shíà",\r
@@ -162,6 +362,10 @@ yo_BJ{
             "SAR",\r
             "Riya ti Orílɛ́ède Saudi",\r
         }\r
+        SBD{\r
+            "SBD",\r
+            "Dɔ́là Erékùsù Sɔ́lómɔ́nì",\r
+        }\r
         SCR{\r
             "SCR",\r
             "Rupi ti Orílɛ́ède Sayiselesi",\r
@@ -174,6 +378,10 @@ yo_BJ{
             "SDP",\r
             "Pɔɔun ti Orílɛ́ède Sudani",\r
         }\r
+        SGD{\r
+            "SGD",\r
+            "Dɔ́là Síngápɔ̀",\r
+        }\r
         SHP{\r
             "SHP",\r
             "Pɔɔun ti Orílɛ́ède ̣Elena",\r
@@ -182,6 +390,14 @@ yo_BJ{
             "SOS",\r
             "Sile ti Orílɛ́ède Somali",\r
         }\r
+        SRD{\r
+            "SRD",\r
+            "Dɔ́là Súrínámì",\r
+        }\r
+        SSP{\r
+            "SSP",\r
+            "Pɔ́n-ùn Gúúsù Sùdáànì",\r
+        }\r
         STD{\r
             "STD",\r
             "Dobira ti Orílɛ́ède Sao tome Ati Pirisipe (1977–2017)",\r
@@ -190,14 +406,38 @@ yo_BJ{
             "STN",\r
             "Dobira ti Orílɛ́ède Sao tome Ati Pirisipe",\r
         }\r
+        SYP{\r
+            "SYP",\r
+            "Pɔ́n-ùn Sírìà",\r
+        }\r
+        TMT{\r
+            "TMT",\r
+            "Mánààtì Tɔkimɛnístàànì",\r
+        }\r
         TND{\r
             "TND",\r
             "Dina ti Orílɛ́ède Tunisia",\r
         }\r
+        TRY{\r
+            "TRY",\r
+            "Lírà Tɔ́kì",\r
+        }\r
+        TTD{\r
+            "TTD",\r
+            "Dɔ́là Trinidad & Tobago",\r
+        }\r
+        TWD{\r
+            "NT$",\r
+            "Dɔ́là Tàìwánì Tuntun",\r
+        }\r
         TZS{\r
             "TZS",\r
             "Sile ti Orílɛ́ède Tansania",\r
         }\r
+        UAH{\r
+            "UAH",\r
+            "Ɔrifiníyà Yukiréníà",\r
+        }\r
         UGX{\r
             "UGX",\r
             "Siile ti Orílɛ́ède Uganda",\r
@@ -206,10 +446,26 @@ yo_BJ{
             "$",\r
             "Dɔ́là",\r
         }\r
+        UYU{\r
+            "UYU",\r
+            "Pɛ́sò Úrúgúwè",\r
+        }\r
+        UZS{\r
+            "UZS",\r
+            "Sómú Usibɛkísítàànì",\r
+        }\r
+        VES{\r
+            "VES",\r
+            "Bɔ̀lífà Fɛnɛsuɛ́là",\r
+        }\r
         XAF{\r
             "FCFA",\r
             "Faransi ti Orílɛ́ède BEKA",\r
         }\r
+        XCD{\r
+            "EC$",\r
+            "Dɔ́là Ilà Oòrùn Karíbíà",\r
+        }\r
         XOF{\r
             "CFA",\r
             "Faransi ti Orílɛ́ède BIKEAO",\r
@@ -218,6 +474,10 @@ yo_BJ{
             "¤",\r
             "owóníná àìmɔ̀",\r
         }\r
+        YER{\r
+            "YER",\r
+            "Ráyò Yɛ́mɛ̀nì",\r
+        }\r
         ZAR{\r
             "ZAR",\r
             "Randi ti Orílɛ́ède Ariwa Afirika",\r
@@ -252,5 +512,5 @@ yo_BJ{
             other{"owóníná àìmɔ̀"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5d0e43f..a911c8d 100644 (file)
@@ -2221,5 +2221,5 @@ yue{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 44a9efa..ad7569c 100644 (file)
@@ -2222,5 +2222,5 @@ yue_Hans{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b28249c..f2c5c91 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 yue_Hant{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 77dd7b8..1b8a273 100644 (file)
@@ -242,5 +242,5 @@ zgh{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1d46df9..56c20c4 100644 (file)
@@ -2174,5 +2174,5 @@ zh{
     CurrencyUnitPatterns{\r
         other{"{0}{1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ad4e8b3..54a1c90 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh_Hans{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cf6d87e..95a8ba4 100644 (file)
@@ -26,5 +26,5 @@ zh_Hans_HK{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8d53d52..bb037dc 100644 (file)
@@ -26,5 +26,5 @@ zh_Hans_MO{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 59d5bcc..e5e961a 100644 (file)
@@ -26,5 +26,5 @@ zh_Hans_SG{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 36be46c..d3b55fe 100644 (file)
@@ -2224,5 +2224,5 @@ zh_Hant{
     CurrencyUnitPatterns{\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8ec7c6b..bad5d1b 100644 (file)
@@ -242,10 +242,6 @@ zh_Hant_HK{
             "TZS",\r
             "坦桑尼亞先令",\r
         }\r
-        VES{\r
-            "VES",\r
-            "VES",\r
-        }\r
         VUV{\r
             "VUV",\r
             "瓦努阿圖瓦圖",\r
@@ -472,5 +468,5 @@ zh_Hant_HK{
             other{"贊比亞克瓦查"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d5465c6..8957459 100644 (file)
@@ -8,5 +8,5 @@ zh_Hant_MO{
             "澳門元",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 560780e..db9c53c 100644 (file)
@@ -122,10 +122,6 @@ zu{
             "CLP",\r
             "i-Chilean Peso",\r
         }\r
-        CNH{\r
-            "CNH",\r
-            "CNH",\r
-        }\r
         CNY{\r
             "CN¥",\r
             "i-Chinese Yuan",\r
@@ -880,8 +876,8 @@ zu{
             other{"i-Chilean Peso"}\r
         }\r
         CNH{\r
-            one{"CNH"}\r
-            other{"CNH"}\r
+            one{"i-Chinese yuan (offshore)"}\r
+            other{"i-CNH"}\r
         }\r
         CNY{\r
             one{"i-Chinese Yuan"}\r
@@ -1404,5 +1400,5 @@ zu{
         one{"{0} {1}"}\r
         other{"{0} {1}"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 476b74c..f5438d7 100644 (file)
@@ -49,7 +49,6 @@
                <include locales="ar_TD"/>\r
                <include locales="ar_TN"/>\r
                <include locales="ar_YE"/>\r
-               <include locales="ars"/>\r
                <include locales="as"/>\r
                <include locales="as_IN"/>\r
                <include locales="asa"/>\r
@@ -57,7 +56,6 @@
                <include locales="ast"/>\r
                <include locales="ast_ES"/>\r
                <include locales="az"/>\r
-               <include locales="az_AZ"/>\r
                <include locales="az_Cyrl"/>\r
                <include locales="az_Cyrl_AZ"/>\r
                <include locales="az_Latn"/>\r
                <include locales="bs_Cyrl_BA"/>\r
                <include locales="bs_Latn"/>\r
                <include locales="bs_Latn_BA"/>\r
-               <include locales="bs_BA"/>\r
                <include locales="ca"/>\r
                <include locales="ca_AD"/>\r
                <include locales="ca_ES"/>\r
+               <include locales="ca_ES_VALENCIA"/>\r
                <include locales="ca_FR"/>\r
                <include locales="ca_IT"/>\r
                <include locales="ccp"/>\r
                <include locales="en_PN"/>\r
                <include locales="en_PR"/>\r
                <include locales="en_PW"/>\r
-               <include locales="en_RH"/>\r
                <include locales="en_RW"/>\r
                <include locales="en_SB"/>\r
                <include locales="en_SC"/>\r
                <include locales="fa_AF"/>\r
                <include locales="fa_IR"/>\r
                <include locales="ff"/>\r
-               <include locales="ff_CM"/>\r
-               <include locales="ff_GN"/>\r
+               <include locales="ff_Adlm"/>\r
+               <include locales="ff_Adlm_BF"/>\r
+               <include locales="ff_Adlm_CM"/>\r
+               <include locales="ff_Adlm_GH"/>\r
+               <include locales="ff_Adlm_GM"/>\r
+               <include locales="ff_Adlm_GN"/>\r
+               <include locales="ff_Adlm_GW"/>\r
+               <include locales="ff_Adlm_LR"/>\r
+               <include locales="ff_Adlm_MR"/>\r
+               <include locales="ff_Adlm_NE"/>\r
+               <include locales="ff_Adlm_NG"/>\r
+               <include locales="ff_Adlm_SL"/>\r
+               <include locales="ff_Adlm_SN"/>\r
                <include locales="ff_Latn"/>\r
                <include locales="ff_Latn_BF"/>\r
                <include locales="ff_Latn_CM"/>\r
                <include locales="ff_Latn_NG"/>\r
                <include locales="ff_Latn_SL"/>\r
                <include locales="ff_Latn_SN"/>\r
-               <include locales="ff_MR"/>\r
-               <include locales="ff_SN"/>\r
                <include locales="fi"/>\r
                <include locales="fi_FI"/>\r
                <include locales="fil"/>\r
                <include locales="ig_NG"/>\r
                <include locales="ii"/>\r
                <include locales="ii_CN"/>\r
-               <include locales="in"/>\r
-               <include locales="in_ID"/>\r
                <include locales="is"/>\r
                <include locales="is_IS"/>\r
                <include locales="it"/>\r
                <include locales="it_IT"/>\r
                <include locales="it_SM"/>\r
                <include locales="it_VA"/>\r
-               <include locales="iw"/>\r
-               <include locales="iw_IL"/>\r
                <include locales="ja"/>\r
                <include locales="ja_JP"/>\r
                <include locales="jgo"/>\r
                <include locales="kok"/>\r
                <include locales="kok_IN"/>\r
                <include locales="ks"/>\r
-               <include locales="ks_IN"/>\r
+               <include locales="ks_Arab"/>\r
+               <include locales="ks_Arab_IN"/>\r
                <include locales="ksb"/>\r
                <include locales="ksb_TZ"/>\r
                <include locales="ksf"/>\r
                <include locales="luy_KE"/>\r
                <include locales="lv"/>\r
                <include locales="lv_LV"/>\r
+               <include locales="mai"/>\r
+               <include locales="mai_IN"/>\r
                <include locales="mas"/>\r
                <include locales="mas_KE"/>\r
                <include locales="mas_TZ"/>\r
                <include locales="ml_IN"/>\r
                <include locales="mn"/>\r
                <include locales="mn_MN"/>\r
-               <include locales="mo"/>\r
+               <include locales="mni"/>\r
+               <include locales="mni_Beng"/>\r
+               <include locales="mni_Beng_IN"/>\r
                <include locales="mr"/>\r
                <include locales="mr_IN"/>\r
                <include locales="ms"/>\r
                <include locales="nn_NO"/>\r
                <include locales="nnh"/>\r
                <include locales="nnh_CM"/>\r
-               <include locales="no"/>\r
-               <include locales="no_NO"/>\r
                <include locales="nus"/>\r
                <include locales="nus_SS"/>\r
                <include locales="nyn"/>\r
                <include locales="pa_Arab_PK"/>\r
                <include locales="pa_Guru"/>\r
                <include locales="pa_Guru_IN"/>\r
-               <include locales="pa_IN"/>\r
-               <include locales="pa_PK"/>\r
+               <include locales="pcm"/>\r
+               <include locales="pcm_NG"/>\r
                <include locales="pl"/>\r
                <include locales="pl_PL"/>\r
                <include locales="ps"/>\r
                <include locales="sah_RU"/>\r
                <include locales="saq"/>\r
                <include locales="saq_KE"/>\r
+               <include locales="sat"/>\r
+               <include locales="sat_Olck"/>\r
+               <include locales="sat_Olck_IN"/>\r
                <include locales="sbp"/>\r
                <include locales="sbp_TZ"/>\r
                <include locales="sd"/>\r
-               <include locales="sd_PK"/>\r
+               <include locales="sd_Arab"/>\r
+               <include locales="sd_Arab_PK"/>\r
+               <include locales="sd_Deva"/>\r
+               <include locales="sd_Deva_IN"/>\r
                <include locales="se"/>\r
                <include locales="se_FI"/>\r
                <include locales="se_NO"/>\r
                <include locales="ses_ML"/>\r
                <include locales="sg"/>\r
                <include locales="sg_CF"/>\r
-               <include locales="sh"/>\r
-               <include locales="sh_BA"/>\r
-               <include locales="sh_CS"/>\r
-               <include locales="sh_YU"/>\r
                <include locales="shi"/>\r
                <include locales="shi_Latn"/>\r
                <include locales="shi_Latn_MA"/>\r
                <include locales="shi_Tfng"/>\r
                <include locales="shi_Tfng_MA"/>\r
-               <include locales="shi_MA"/>\r
                <include locales="si"/>\r
                <include locales="si_LK"/>\r
                <include locales="sk"/>\r
                <include locales="sr_Cyrl_BA"/>\r
                <include locales="sr_Cyrl_ME"/>\r
                <include locales="sr_Cyrl_RS"/>\r
-               <include locales="sr_Cyrl_CS"/>\r
                <include locales="sr_Cyrl_XK"/>\r
-               <include locales="sr_Cyrl_YU"/>\r
                <include locales="sr_Latn"/>\r
                <include locales="sr_Latn_BA"/>\r
                <include locales="sr_Latn_ME"/>\r
                <include locales="sr_Latn_RS"/>\r
-               <include locales="sr_Latn_CS"/>\r
                <include locales="sr_Latn_XK"/>\r
-               <include locales="sr_Latn_YU"/>\r
-               <include locales="sr_BA"/>\r
-               <include locales="sr_ME"/>\r
-               <include locales="sr_RS"/>\r
-               <include locales="sr_CS"/>\r
-               <include locales="sr_YU"/>\r
+               <include locales="su"/>\r
+               <include locales="su_Latn"/>\r
+               <include locales="su_Latn_ID"/>\r
                <include locales="sv"/>\r
                <include locales="sv_AX"/>\r
                <include locales="sv_FI"/>\r
                <include locales="ti_ET"/>\r
                <include locales="tk"/>\r
                <include locales="tk_TM"/>\r
-               <include locales="tl"/>\r
-               <include locales="tl_PH"/>\r
                <include locales="to"/>\r
                <include locales="to_TO"/>\r
                <include locales="tr"/>\r
                <include locales="ur_IN"/>\r
                <include locales="ur_PK"/>\r
                <include locales="uz"/>\r
-               <include locales="uz_AF"/>\r
                <include locales="uz_Arab"/>\r
                <include locales="uz_Arab_AF"/>\r
                <include locales="uz_Cyrl"/>\r
                <include locales="uz_Cyrl_UZ"/>\r
                <include locales="uz_Latn"/>\r
                <include locales="uz_Latn_UZ"/>\r
-               <include locales="uz_UZ"/>\r
                <include locales="vai"/>\r
                <include locales="vai_Latn"/>\r
                <include locales="vai_Latn_LR"/>\r
-               <include locales="vai_LR"/>\r
                <include locales="vai_Vaii"/>\r
                <include locales="vai_Vaii_LR"/>\r
                <include locales="vi"/>\r
                <include locales="zh_Hant_HK"/>\r
                <include locales="zh_Hant_MO"/>\r
                <include locales="zh_Hant_TW"/>\r
-               <include locales="zh_CN"/>\r
-               <include locales="zh_HK"/>\r
-               <include locales="zh_MO"/>\r
-               <include locales="zh_SG"/>\r
-               <include locales="zh_TW"/>\r
                <include locales="zu"/>\r
                <include locales="zu_ZA"/>\r
        </locales>\r
index 47cd43d..a452ba7 100644 (file)
     <alias from="iw" to="he"/>\r
     <alias from="iw_IL" to="he_IL"/>\r
     <alias from="ja_JP_TRADITIONAL" to="ja_JP" rbpath="/calendar/default" value="japanese"/>\r
+    <alias from="ks_IN" to="ks_Arab_IN"/>\r
+    <alias from="mni_IN" to="mni_Beng_IN"/>\r
     <alias from="mo" to="ro"/>\r
+    <alias from="no" to="nb"/>\r
     <alias from="no_NO" to="nb_NO"/>\r
     <alias from="no_NO_NY" to="nn_NO"/>\r
-    <alias from="no" to="nb"/>\r
     <alias from="pa_IN" to="pa_Guru_IN"/>\r
     <alias from="pa_PK" to="pa_Arab_PK"/>\r
+    <alias from="sat_IN" to="sat_Olck_IN"/>\r
+    <alias from="sd_PK" to="sd_Arab_PK"/>\r
     <alias from="sh" to="sr_Latn"/>\r
     <alias from="sh_BA" to="sr_Latn_BA"/>\r
     <alias from="sh_CS" to="sr_Latn_RS"/>\r
@@ -44,6 +48,7 @@
     <alias from="sr_Cyrl_CS" to="sr_Cyrl_RS"/>\r
     <alias from="sr_Latn_YU" to="sr_Latn_RS"/>\r
     <alias from="sr_Latn_CS" to="sr_Latn_RS"/>\r
+    <alias from="su_ID" to="su_Latn_ID"/>\r
     <alias from="th_TH_TRADITIONAL" to="th_TH" rbpath="/calendar/default" value="buddhist"/>\r
     <alias from="tl" to="fil"/>\r
     <alias from="tl_PH" to="fil_PH"/>\r
index bcbdb1b..e195606 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 \r
 {\r
-    "cldrVersion": "36.1",\r
+    "cldrVersion": "37",\r
     "aliases": {\r
         "ars": "ar_SA",\r
         "az_AZ": "az_Latn_AZ",\r
         "in_ID": "id_ID",\r
         "iw": "he",\r
         "iw_IL": "he_IL",\r
+        "ks_IN": "ks_Arab_IN",\r
+        "mni_IN": "mni_Beng_IN",\r
         "mo": "ro",\r
         "no": "nb",\r
         "no_NO": "nb_NO",\r
         "no_NO_NY": "nn_NO",\r
         "pa_IN": "pa_Guru_IN",\r
         "pa_PK": "pa_Arab_PK",\r
+        "sat_IN": "sat_Olck_IN",\r
+        "sd_PK": "sd_Arab_PK",\r
         "sh": "sr_Latn",\r
         "sh_BA": "sr_Latn_BA",\r
         "sh_CS": "sr_Latn_RS",\r
@@ -38,6 +42,7 @@
         "sr_RS": "sr_Cyrl_RS",\r
         "sr_XK": "sr_Cyrl_XK",\r
         "sr_YU": "sr_Cyrl_RS",\r
+        "su_ID": "su_Latn_ID",\r
         "tl": "fil",\r
         "tl_PH": "fil_PH",\r
         "uz_AF": "uz_Arab_AF",\r
         "es_US": "es_419",\r
         "es_UY": "es_419",\r
         "es_VE": "es_419",\r
+        "ff_Adlm": "root",\r
         "pa_Arab": "root",\r
         "pt_AO": "pt_PT",\r
         "pt_CH": "pt_PT",\r
         "pt_MZ": "pt_PT",\r
         "pt_ST": "pt_PT",\r
         "pt_TL": "pt_PT",\r
+        "sd_Deva": "root",\r
         "shi_Latn": "root",\r
         "sr_Latn": "root",\r
         "uz_Arab": "root",\r
index 471751d..23f263a 100644 (file)
@@ -116,6 +116,7 @@ af{
         eu{"Baskies"}\r
         ewo{"Ewondo"}\r
         fa{"Persies"}\r
+        fa_AF{"Dari"}\r
         ff{"Fulah"}\r
         fi{"Fins"}\r
         fil{"Filippyns"}\r
@@ -628,7 +629,7 @@ af{
             vaii{"Vai-syfers"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} – alle"}\r
         category-list{"{0}: {1}"}\r
index 65f1251..5fdbb4e 100644 (file)
@@ -48,5 +48,5 @@ agq{
         zh{"Chàenê"}\r
         zu{"Zulù"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ae0dc0e..7d24443 100644 (file)
@@ -47,5 +47,5 @@ ak{
         zh{"Kyaena kasa"}\r
         zu{"Zulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 006cea2..3292851 100644 (file)
@@ -165,6 +165,7 @@ am{
         eu{"ባስክኛ"}\r
         ewo{"ኤዎንዶ"}\r
         fa{"ፐርሺያኛ"}\r
+        fa_AF{"ዳሪኛ"}\r
         ff{"ፉላህ"}\r
         fi{"ፊኒሽ"}\r
         fil{"ፊሊፒንኛ"}\r
@@ -545,6 +546,7 @@ am{
         Thaa{"ታና"}\r
         Thai{"ታይ"}\r
         Tibt{"ቲቤታን"}\r
+        Zmth{"የሂሳብ መግለጫ"}\r
         Zsye{"ኢሞጂ"}\r
         Zsym{"ምልክቶች"}\r
         Zxxx{"ያልተጻፈ"}\r
@@ -696,7 +698,7 @@ am{
             vaii{"የቫይ አሃዞች"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — ሁሉም"}\r
         category-list{"{0}: {1}"}\r
index 8491365..6e2f2be 100644 (file)
@@ -160,6 +160,7 @@ ar{
         eu{"الباسكية"}\r
         ewo{"الإيوندو"}\r
         fa{"الفارسية"}\r
+        fa_AF{"الدارية"}\r
         fan{"الفانج"}\r
         fat{"الفانتي"}\r
         ff{"الفولانية"}\r
@@ -555,8 +556,8 @@ ar{
         zza{"زازا"}\r
     }\r
     Languages%menu{\r
-        yue{"الكَنْتُونية"}\r
-        zh{"الصينية"}\r
+        ars{"العربية، النجدية"}\r
+        ckb{"الكردية، السورانية"}\r
     }\r
     Languages%short{\r
         az{"الأذرية"}\r
@@ -569,6 +570,7 @@ ar{
     }\r
     Scripts{\r
         Arab{"العربية"}\r
+        Aran{"نستعليق"}\r
         Armn{"الأرمينية"}\r
         Bali{"البالية"}\r
         Batk{"الباتاك"}\r
@@ -640,10 +642,12 @@ ar{
         Mlym{"الماليالام"}\r
         Mong{"المغولية"}\r
         Moon{"مون"}\r
+        Mtei{"ميتي ماييك"}\r
         Mymr{"الميانمار"}\r
         Narb{"العربية الشمالية القديمة"}\r
         Nkoo{"أنكو"}\r
         Ogam{"الأوجهام"}\r
+        Olck{"أول تشيكي"}\r
         Orkh{"الأورخون"}\r
         Orya{"الأوريا"}\r
         Osma{"الأوسمانيا"}\r
@@ -651,6 +655,7 @@ ar{
         Phag{"الفاجسبا"}\r
         Phnx{"الفينيقية"}\r
         Plrd{"الصوتيات الجماء"}\r
+        Qaag{"زوجيي"}\r
         Roro{"رنجورنجو"}\r
         Runr{"الروني"}\r
         Sara{"الساراتي"}\r
@@ -857,7 +862,7 @@ ar{
         VALENCIA{"بلنسية"}\r
         WADEGILE{"المندرين باللاتينية - ويد–جيلز"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} - الكل"}\r
         category-list{"{0}: {1}"}\r
index 78a413c..a4bae0c 100644 (file)
@@ -4,5 +4,5 @@ ar_EG{
     Languages{\r
         da{"الدنماركية"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f7f8b7d..8395038 100644 (file)
@@ -12,5 +12,5 @@ ar_LY{
         sw_CD{"السواحيلية الكونغولية"}\r
         ti{"التيغرينية"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2688a51..d5747cc 100644 (file)
@@ -35,5 +35,5 @@ ar_SA{
         en_GB{"الإنجليزية المملكة المتحدة"}\r
         en_US{"الإنجليزية الولايات المتحدة"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 56bd13e..3e778e1 100644 (file)
@@ -108,6 +108,7 @@ as{
         eu{"বাস্ক"}\r
         ewo{"ইওন্দো"}\r
         fa{"ফাৰ্ছী"}\r
+        fa_AF{"দাৰি"}\r
         ff{"ফুলাহ"}\r
         fi{"ফিনিচ"}\r
         fil{"ফিলিপিনো"}\r
@@ -552,7 +553,7 @@ as{
             tibt{"তিব্বতী অংক"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — সকলো"}\r
         category-list{"{0}: {1}"}\r
index 02db2bc..269fb1e 100644 (file)
@@ -48,5 +48,5 @@ asa{
         zh{"Kichina"}\r
         zu{"Kidhulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3c10d85..c3863ad 100644 (file)
@@ -1005,7 +1005,7 @@ ast{
         VALENCIA{"valencianu"}\r
         WADEGILE{"romanización de Wade-Giles"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — too"}\r
         category-list{"{0}: {1}"}\r
index 97aa417..1703d87 100644 (file)
@@ -142,6 +142,7 @@ az{
         eu{"bask"}\r
         ewo{"evondo"}\r
         fa{"fars"}\r
+        fa_AF{"dari"}\r
         fan{"fang"}\r
         fat{"fanti"}\r
         ff{"fula"}\r
@@ -751,7 +752,7 @@ az{
             tibt{"Tibet Rəqəmləri"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — Bütün"}\r
         category-list{"{0}: {1}"}\r
index ad32982..aebc18b 100644 (file)
@@ -398,7 +398,7 @@ az_Cyrl{
     Scripts{\r
         Cyrl{"Кирил"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"Дил: {0}"}\r
         script{"Скрипт: {0}"}\r
index a2372d2..7562a28 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 az_Latn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0fdb036..a986d38 100644 (file)
@@ -48,5 +48,5 @@ bas{
         zh{"Hɔp u kinà"}\r
         zu{"Hɔp u zulù"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 48241b8..fc5de88 100644 (file)
@@ -116,6 +116,7 @@ be{
         eu{"баскская"}\r
         ewo{"эвонда"}\r
         fa{"фарсі"}\r
+        fa_AF{"дары"}\r
         ff{"фула"}\r
         fi{"фінская"}\r
         fil{"філіпінская"}\r
@@ -442,7 +443,6 @@ be{
         zh{"кітайская, паўночныя дыялекты"}\r
     }\r
     Languages%short{\r
-        az{"азербайджанская"}\r
         en_GB{"вялікабрытанская англійская"}\r
     }\r
     Scripts{\r
@@ -573,7 +573,7 @@ be{
             tibt{"тыбецкія лічбы"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — Усё"}\r
         category-list{"{0}: {1}"}\r
index 134e975..d0dd43c 100644 (file)
@@ -48,5 +48,5 @@ bem{
         zh{"Ichi Chainisi"}\r
         zu{"Ichi Zulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index de43e45..5aad633 100644 (file)
@@ -48,5 +48,5 @@ bez{
         zh{"Hichina"}\r
         zu{"Hizulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0a1b669..0e3cfa6 100644 (file)
@@ -83,6 +83,7 @@ bg{
         cad{"каддо"}\r
         car{"карибски"}\r
         cch{"атсам"}\r
+        ccp{"чакма"}\r
         ce{"чеченски"}\r
         ceb{"себуански"}\r
         cgg{"чига"}\r
@@ -143,6 +144,7 @@ bg{
         eu{"баски"}\r
         ewo{"евондо"}\r
         fa{"персийски"}\r
+        fa_AF{"дари"}\r
         fan{"фанг"}\r
         fat{"фанти"}\r
         ff{"фула"}\r
@@ -516,6 +518,7 @@ bg{
         zgh{"стандартен марокански тамазигт"}\r
         zh{"китайски"}\r
         zh_Hans{"китайски (опростен)"}\r
+        zh_Hant{"китайски (традиционен)"}\r
         zu{"зулуски"}\r
         zun{"зуни"}\r
         zxx{"без лингвистично съдържание"}\r
@@ -836,7 +839,7 @@ bg{
         VALENCIA{"Валенсиански"}\r
         WADEGILE{"Уейд-Джайлс романизация"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} – всички"}\r
         category-list{"{0}: {1}"}\r
index 9ad0530..dc4bdc8 100644 (file)
@@ -48,5 +48,5 @@ bm{
         zh{"siniwakan"}\r
         zu{"zulukan"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7121d1c..e289b43 100644 (file)
@@ -151,6 +151,7 @@ bn{
         eu{"বাস্ক"}\r
         ewo{"ইওন্ডো"}\r
         fa{"ফার্সি"}\r
+        fa_AF{"দারি"}\r
         fan{"ফ্যাঙ্গ"}\r
         fat{"ফান্তি"}\r
         ff{"ফুলাহ্"}\r
@@ -879,7 +880,7 @@ bn{
             wara{"ওয়ারেং সিটি সংখ্যা"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — সমস্ত"}\r
         category-list{"{0}: {1}"}\r
index afc6adb..f8a5c37 100644 (file)
@@ -4,5 +4,5 @@ bn_IN{
     Languages{\r
         ksh{"কোলোনিয়ান"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8599687..caf7c6c 100644 (file)
@@ -21,5 +21,5 @@ bo{
         Tibt{"བོད་ཡིག་"}\r
         Zxxx{"སྙན་བརྒྱུད། ཡིག་རིགས་སུ་མ་བཀོད་པའི་ཟིན་ཐོ།"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e83b822..0914a1f 100644 (file)
@@ -878,7 +878,7 @@ br{
         WADEGILE{"romanekadur Wade-Giles"}\r
         XSISTEMO{"esperanteg sistem X"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         enclosed{"{0} — kelcʼhiet"}\r
         extended{"{0} — astennet"}\r
index 0a0a215..392fd45 100644 (file)
@@ -609,7 +609,7 @@ brx{
         SOLBA{"श्टोलविज़्ज़ा या सोलबीका डायलेक्ट"}\r
         TARASK{"तारास्कीएवीचा वर्तनी"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         script{"देवनागरी: {0}"}\r
         territory{"क्षेत्र:भारत {0}"}\r
index f32f5d7..3be1a0b 100644 (file)
@@ -121,6 +121,7 @@ bs{
         dar{"dargva"}\r
         dav{"taita"}\r
         de{"njemački"}\r
+        de_CH{"visoki njemački (Švicarska)"}\r
         del{"delaver"}\r
         den{"slave"}\r
         dgr{"dogrib"}\r
@@ -150,6 +151,7 @@ bs{
         eu{"baskijski"}\r
         ewo{"evondo"}\r
         fa{"perzijski"}\r
+        fa_AF{"dari"}\r
         fan{"fang"}\r
         fat{"fanti"}\r
         ff{"fulah"}\r
@@ -812,7 +814,7 @@ bs{
         TARASK{"Taraskijevica ortografija"}\r
         VALENCIA{"Valencijski"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — sve"}\r
         category-list{"{0}: {1}"}\r
index bd263ce..3b7b8a8 100644 (file)
@@ -777,7 +777,7 @@ bs_Cyrl{
         TARASK{"Тараскијевичка ортографија"}\r
         VALENCIA{"Валенцијска"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — све"}\r
         strokes{\r
index 8d3f9f4..055a94f 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bs_Latn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 04027fc..7f3fb2f 100644 (file)
@@ -170,6 +170,7 @@ ca{
         ewo{"ewondo"}\r
         ext{"extremeny"}\r
         fa{"persa"}\r
+        fa_AF{"dari"}\r
         fan{"fang"}\r
         fat{"fanti"}\r
         ff{"ful"}\r
@@ -609,6 +610,7 @@ ca{
         en_GB{"anglès (GB)"}\r
     }\r
     Languages%variant{\r
+        ckb{"kurd sorani"}\r
         ps{"pushtu"}\r
     }\r
     Scripts{\r
@@ -617,6 +619,7 @@ ca{
         Aghb{"albanès caucàsic"}\r
         Ahom{"ahom"}\r
         Arab{"àrab"}\r
+        Aran{"nastaliq"}\r
         Armi{"arameu imperial"}\r
         Armn{"armeni"}\r
         Avst{"avèstic"}\r
@@ -735,6 +738,7 @@ ca{
         Phnx{"fenici"}\r
         Plrd{"pollard miao"}\r
         Prti{"parthià inscripcional"}\r
+        Qaag{"zawgyi"}\r
         Rjng{"rejang"}\r
         Roro{"rongo-rongo"}\r
         Runr{"rúnic"}\r
@@ -1007,7 +1011,7 @@ ca{
         VALLADER{"baix engiadinès"}\r
         WADEGILE{"romanització Wade-Giles"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — tot"}\r
         category-list{"{0}: {1}"}\r
index a64edc1..3540890 100644 (file)
@@ -833,7 +833,7 @@ ccp{
             vaii{"𑄞𑄭 𑄚𑄘"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — 𑄗𑄪𑄟𑄴"}\r
         category-list{"{0}: {1}"}\r
index db301f6..5911cef 100644 (file)
@@ -403,7 +403,6 @@ ce{
         zza{"заза"}\r
     }\r
     Languages%short{\r
-        az{"азербайджанийн"}\r
         en_GB{"ингалсан (Британи)"}\r
     }\r
     Scripts{\r
@@ -452,10 +451,6 @@ ce{
         Zyyy{"массара а тӀеэцна"}\r
         Zzzz{"доьвзуш доцу йоза"}\r
     }\r
-    Scripts%stand-alone{\r
-        Hans{"атта китайн"}\r
-        Hant{"ламастан китайн"}\r
-    }\r
     Types{\r
         calendar{\r
             gregorian{"григорианан"}\r
@@ -464,7 +459,7 @@ ce{
             persian{"гӀажарийн"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"Мотт: {0}"}\r
         script{"Скрипт: {0}"}\r
index d7def4c..26e841b 100644 (file)
@@ -3,64 +3,64 @@
 ceb{\r
     Languages{\r
         ar{"Arabic"}\r
-        ar_001{"Modern Standard Arabic"}\r
+        ar_001{"Modernong Tamdanang Arabic"}\r
         bn{"Bangla"}\r
         ceb{"Binisaya"}\r
         de{"Aleman"}\r
-        de_AT{"Aleman (Austriano)"}\r
-        de_CH{"Aleman (Swiss Hataas nga Aleman)"}\r
+        de_AT{"Austriano nga Aleman"}\r
+        de_CH{"Swiss nga Taas nga Aleman"}\r
         en{"Ingles"}\r
-        en_AU{"Australyanong Ingles"}\r
-        en_CA{"Ingles (Kanada)"}\r
-        en_GB{"Ingles (Britaniko)"}\r
-        en_US{"Ingles (Amerika)"}\r
+        en_AU{"Ingles sa Australia"}\r
+        en_CA{"Ingles sa Canada"}\r
+        en_GB{"Britanikong Ingles"}\r
+        en_US{"Ingles sa Amerika"}\r
         es{"Espanyol"}\r
-        es_419{"Espanyol (Latino Amerikano)"}\r
-        es_ES{"Espanyol (Uropanhon)"}\r
-        es_MX{"Espanyol (Mexicano)"}\r
-        fr{"Pransesa"}\r
-        fr_CA{"Pranses (Kanada)"}\r
-        fr_CH{"Pransesa (Swiss)"}\r
+        es_419{"Espanyol sa Latin Amerika"}\r
+        es_ES{"Espanyol sa Europe"}\r
+        es_MX{"Espanyol sa Mexico"}\r
+        fr{"Pranses"}\r
+        fr_CA{"Pranses sa Canada"}\r
+        fr_CH{"Swiss nga Pranses"}\r
         hi{"Hindi"}\r
         id{"Indonesian"}\r
         it{"Italiano"}\r
-        ja{"Nipponggo"}\r
+        ja{"Hinapon"}\r
         ko{"Korean"}\r
         nl{"Dutch"}\r
         nl_BE{"Flemish"}\r
         pl{"Polish"}\r
         pt{"Portuguese"}\r
-        pt_BR{"Portuguese (Brazilyano)"}\r
-        pt_PT{"Portuguese (Uropanhon)"}\r
+        pt_BR{"Brazilyanong Portuguese"}\r
+        pt_PT{"Portuguese sa Europe"}\r
         ru{"Ruso"}\r
         th{"Thai"}\r
         tr{"Turkish"}\r
-        und{"Wala Mailhing Pinulongan"}\r
-        zh{"Intsik"}\r
-        zh_Hans{"Pinasimpleng Intsik"}\r
-        zh_Hant{"Tradisyonal Intsik"}\r
+        und{"Wala Mailhing Lengguwahe"}\r
+        zh{"Inintsik"}\r
+        zh_Hans{"Pinasimpleng Inintsik"}\r
+        zh_Hant{"Tradisyonal nga Ininstsik"}\r
     }\r
     Languages%long{\r
-        zh_Hans{"Simplified Mandarin Chinese"}\r
-        zh_Hant{"Traditional Mandarin Chinese"}\r
+        zh_Hans{"Pinasimpleng Mandarin nga Inintsik"}\r
+        zh_Hant{"Tradisyonal nga Mandarin nga Inintsik"}\r
     }\r
     Languages%menu{\r
-        zh{"Chinese, Mandarin"}\r
+        zh{"Inintsik, Mandarin"}\r
     }\r
     Languages%short{\r
-        en_GB{"Ingles (Britaniko)"}\r
-        en_US{"Ingles (Amerika)"}\r
+        en_GB{"Ingles sa UK"}\r
+        en_US{"Ingles sa US"}\r
     }\r
     Scripts{\r
         Arab{"Arabo"}\r
         Cyrl{"Sirilisko"}\r
         Hans{"Pinasimple"}\r
         Hant{"Tradisyonal"}\r
-        Jpan{"Japanese"}\r
+        Jpan{"Hinapon"}\r
         Kore{"Korean"}\r
         Latn{"Latin"}\r
-        Zxxx{"Dili-sinulat"}\r
-        Zzzz{"Wala Mailihing Alpabeto"}\r
+        Zxxx{"Dili Sinulat"}\r
+        Zzzz{"Wala Mailhing Script"}\r
     }\r
     Scripts%stand-alone{\r
         Hans{"Pinasimpleng Han"}\r
@@ -72,17 +72,17 @@ ceb{
             iso8601{"Kalendaryo sa ISO-8601"}\r
         }\r
         collation{\r
-            standard{"Standard nga Paagi sa Pagpihig"}\r
+            standard{"Tamdanang Paagi sa Paghan-ay"}\r
         }\r
         numbers{\r
-            latn{"Kasadpanhong mga Digit"}\r
+            latn{"Mga Western Digit"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
-        language{"Pinulongan: {0}"}\r
-        script{"Alpabeto {0}"}\r
-        territory{"Rehiyon {0}"}\r
+        language{"Lengguwahe: {0}"}\r
+        script{"Script: {0}"}\r
+        territory{"Rehiyon: {0}"}\r
     }\r
     localeDisplayPattern{\r
         keyTypePattern{"{0}: {1}"}\r
index 2728c9e..9f5797f 100644 (file)
@@ -48,5 +48,5 @@ cgg{
         zh{"Oruchaina"}\r
         zu{"Oruzuru"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f92da19..2307a81 100644 (file)
@@ -109,6 +109,7 @@ chr{
         eu{"ᏆᏍᎨ"}\r
         ewo{"ᎡᏬᏂᏙ"}\r
         fa{"ᏇᏏᎠᏂ"}\r
+        fa_AF{"ᏓᎵ"}\r
         ff{"ᏊᎳᏂ"}\r
         fi{"ᏈᏂᏍ"}\r
         fil{"ᎠᏈᎵᎩ"}\r
@@ -548,7 +549,7 @@ chr{
             tibt{"ᏘᏇᏔᏂ ᏗᏎᏍᏗ"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — ᏂᎦᏓ"}\r
         category-list{"{0}: {1}"}\r
index 4e569bf..1e18002 100644 (file)
@@ -387,7 +387,6 @@ ckb{
         zza{"زازا"}\r
     }\r
     Languages%short{\r
-        az{"ئازەربایجانی"}\r
         en_GB{"ئینگلیزی (GB)"}\r
         en_US{"ئینگلیزیی ئەمەریکایی"}\r
     }\r
@@ -441,5 +440,5 @@ ckb{
         Hans{"هانی ئاسانکراو"}\r
         Hant{"هانی دێرین"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index dde1722..3b7cde6 100644 (file)
@@ -177,6 +177,7 @@ cs{
         ewo{"ewondo"}\r
         ext{"extremadurština"}\r
         fa{"perština"}\r
+        fa_AF{"darí"}\r
         fan{"fang"}\r
         fat{"fantština"}\r
         ff{"fulbština"}\r
@@ -640,13 +641,13 @@ cs{
         zh{"standardní čínština"}\r
     }\r
     Languages%short{\r
-        az{"ázerbájdžánština"}\r
         en_GB{"angličtina (VB)"}\r
     }\r
     Scripts{\r
         Afak{"afaka"}\r
         Aghb{"kavkazskoalbánské"}\r
         Arab{"arabské"}\r
+        Aran{"nastaliq"}\r
         Armi{"aramejské (imperiální)"}\r
         Armn{"arménské"}\r
         Avst{"avestánské"}\r
@@ -761,6 +762,7 @@ cs{
         Phnx{"fénické"}\r
         Plrd{"Pollardova fonetická abeceda"}\r
         Prti{"parthské klínové"}\r
+        Qaag{"zawgyi"}\r
         Rjng{"redžanské"}\r
         Roro{"rongorongo"}\r
         Runr{"runové"}\r
@@ -969,7 +971,7 @@ cs{
         SCOTLAND{"angličtina (Skotsko)"}\r
         WADEGILE{"Wade-Giles"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} – vše"}\r
         category-list{"{0}: {1}"}\r
index 624a7f5..5ac244d 100644 (file)
@@ -148,6 +148,7 @@ cy{
         ewo{"Ewondo"}\r
         ext{"Extremadureg"}\r
         fa{"Perseg"}\r
+        fa_AF{"Dari"}\r
         fat{"Ffanti"}\r
         ff{"Ffwla"}\r
         fi{"Ffinneg"}\r
@@ -723,7 +724,7 @@ cy{
         POSIX{"Cyfrifiadur"}\r
         SCOTLAND{"Saesneg Safonol yr Alban"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — y cwbl"}\r
         category-list{"{0}: {1}"}\r
index 3db7ba9..487a5e9 100644 (file)
@@ -160,6 +160,7 @@ da{
         eu{"baskisk"}\r
         ewo{"ewondo"}\r
         fa{"persisk"}\r
+        fa_AF{"dari"}\r
         fan{"fang"}\r
         fat{"fanti"}\r
         ff{"fulah"}\r
@@ -556,11 +557,14 @@ da{
         zza{"zaza"}\r
     }\r
     Languages%menu{\r
+        ars{"arabisk, najdi"}\r
+        ckb{"kurdisk, sorani"}\r
         yue{"kantonesisk (Kina)"}\r
         zh{"mandarin (Kina)"}\r
     }\r
     Languages%short{\r
         az{"azeri"}\r
+        en_US{"amerikansk engelsk"}\r
     }\r
     Languages%variant{\r
         ps{"pushto"}\r
@@ -569,6 +573,7 @@ da{
     Scripts{\r
         Afak{"afaka"}\r
         Arab{"arabisk"}\r
+        Aran{"nastaliq"}\r
         Armi{"armi"}\r
         Armn{"armensk"}\r
         Avst{"avestansk"}\r
@@ -679,6 +684,7 @@ da{
         Phnx{"fønikisk"}\r
         Plrd{"pollardtegn"}\r
         Prti{"prti"}\r
+        Qaag{"zawgyi"}\r
         Rjng{"rejang"}\r
         Roro{"rongo-rongo"}\r
         Runr{"runer"}\r
@@ -961,7 +967,7 @@ da{
         VALLADER{"vallader"}\r
         WADEGILE{"Wade-Giles"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} – alle"}\r
         category-list{"{0}: {1}"}\r
index 96bd6d0..cedded2 100644 (file)
@@ -48,5 +48,5 @@ dav{
         zh{"Kichina"}\r
         zu{"Kizulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e4d1d6b..37884ad 100644 (file)
@@ -175,6 +175,7 @@ de{
         ewo{"Ewondo"}\r
         ext{"Extremadurisch"}\r
         fa{"Persisch"}\r
+        fa_AF{"Dari"}\r
         fan{"Pangwe"}\r
         fat{"Fanti"}\r
         ff{"Ful"}\r
@@ -631,18 +632,18 @@ de{
     }\r
     Languages%long{\r
         zh_Hans{"Mandarin (Vereinfacht)"}\r
+        zh_Hant{"Mandarin (traditionell)"}\r
     }\r
     Languages%menu{\r
+        ckb{"Kurdisch (Sorani)"}\r
         yue{"Chinesisch (Kantonesisch)"}\r
         zh{"Chinesisch (Mandarin)"}\r
     }\r
-    Languages%short{\r
-        az{"Aserbaidschanisch"}\r
-    }\r
     Scripts{\r
         Afak{"Afaka"}\r
         Aghb{"Kaukasisch-Albanisch"}\r
         Arab{"Arabisch"}\r
+        Aran{"Nastaliq"}\r
         Armn{"Armenisch"}\r
         Avst{"Avestisch"}\r
         Bali{"Balinesisch"}\r
@@ -681,6 +682,7 @@ de{
         Grek{"Griechisch"}\r
         Gujr{"Gujarati"}\r
         Guru{"Gurmukhi"}\r
+        Hanb{"Han mit Bopomofo"}\r
         Hang{"Hangul"}\r
         Hani{"Chinesisch"}\r
         Hano{"Hanunoo"}\r
@@ -753,6 +755,7 @@ de{
         Phnx{"Phönizisch"}\r
         Plrd{"Pollard Phonetisch"}\r
         Prti{"Parthisch"}\r
+        Qaag{"Zawgyi"}\r
         Rjng{"Rejang"}\r
         Roro{"Rongorongo"}\r
         Runr{"Runenschrift"}\r
@@ -1010,7 +1013,7 @@ de{
         VALENCIA{"Valencianisch"}\r
         WADEGILE{"Wade-Giles"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — Alle"}\r
         category-list{"{0}: {1}"}\r
index e8cdba3..b5f688d 100644 (file)
@@ -16,5 +16,5 @@ de_AT{
         sh{"Serbokroatisch"}\r
         szl{"Schlesisch"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3b8fbb9..dc12747 100644 (file)
@@ -40,5 +40,5 @@ de_CH{
             ussystem{"US Mass-System"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bdb243f..b4d0d19 100644 (file)
@@ -4,5 +4,5 @@ de_LU{
     Languages{\r
         be{"Belarussisch"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3a176d7..0568961 100644 (file)
@@ -48,5 +48,5 @@ dje{
         zh{"Sinuwa senni"}\r
         zu{"Zulu senni"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 89c560b..808ad76 100644 (file)
@@ -378,7 +378,7 @@ dsb{
             tibt{"tibetske cyfry"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"Rěc: {0}"}\r
         script{"Pismo: {0}"}\r
index 524b67b..8341b7b 100644 (file)
@@ -4,5 +4,5 @@ dua{
     Languages{\r
         dua{"duálá"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e1fd55f..98b1b61 100644 (file)
@@ -48,5 +48,5 @@ dyo{
         zh{"sinua"}\r
         zu{"sulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d24623c..7e53f54 100644 (file)
@@ -234,7 +234,7 @@ dz{
             tibt{"ང་བཅས་ཀྱི་ཨང་ཡིག"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"ཁ་སྐད་: {0}"}\r
         script{"ཡིག་གཟུགས་: {0}"}\r
index 2934304..f15c219 100644 (file)
@@ -48,5 +48,5 @@ ebu{
         zh{"Kĩchina"}\r
         zu{"Kĩzulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2f2f28b..b14a7a3 100644 (file)
@@ -182,6 +182,10 @@ ee{
         zu{"zulugbe"}\r
         zxx{"gbegbɔgblɔ manɔmee"}\r
     }\r
+    Languages%short{\r
+        en_GB{"Yevugbe (GB)"}\r
+        en_US{"Yevugbe (US)"}\r
+    }\r
     Scripts{\r
         Arab{"Arabiagbeŋɔŋlɔ"}\r
         Armn{"armeniagbeŋɔŋlɔ"}\r
@@ -295,7 +299,7 @@ ee{
             tibt{"tibet digitwo"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"gbegbɔgblɔ {0}"}\r
         script{"gbeŋɔŋlɔ {0}"}\r
index ddcafe7..41ad3da 100644 (file)
@@ -160,6 +160,7 @@ el{
         eu{"Βασκικά"}\r
         ewo{"Εγουόντο"}\r
         fa{"Περσικά"}\r
+        fa_AF{"Νταρί"}\r
         fan{"Φανγκ"}\r
         fat{"Φάντι"}\r
         ff{"Φουλά"}\r
@@ -570,6 +571,7 @@ el{
     }\r
     Scripts{\r
         Arab{"Αραβικό"}\r
+        Aran{"Νασταλίκ"}\r
         Armi{"Αυτοκρατορικό Αραμαϊκό"}\r
         Armn{"Αρμενικό"}\r
         Avst{"Αβεστάν"}\r
@@ -891,7 +893,7 @@ el{
         VALENCIA{"Βαλενθιανά"}\r
         WADEGILE{"Εκλατινισμένα Γουάντ-Γκιλς"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — όλα"}\r
         category-list{"{0}: {1}"}\r
index 9ef200f..49ac360 100644 (file)
@@ -666,6 +666,8 @@ en{
         zh_Hant{"Traditional Mandarin Chinese"}\r
     }\r
     Languages%menu{\r
+        ars{"Arabic, Najdi"}\r
+        ckb{"Kurdish, Central"}\r
         yue{"Chinese, Cantonese"}\r
         zh{"Chinese, Mandarin"}\r
     }\r
@@ -675,6 +677,7 @@ en{
         en_US{"US English"}\r
     }\r
     Languages%variant{\r
+        ckb{"Kurdish, Sorani"}\r
         ky{"Kirghiz"}\r
         my{"Myanmar Language"}\r
         ps{"Pushto"}\r
@@ -686,6 +689,7 @@ en{
         Aghb{"Caucasian Albanian"}\r
         Ahom{"Ahom"}\r
         Arab{"Arabic"}\r
+        Aran{"Nastaliq"}\r
         Armi{"Imperial Aramaic"}\r
         Armn{"Armenian"}\r
         Avst{"Avestan"}\r
@@ -1171,6 +1175,7 @@ en{
             roman{"Roman Numerals"}\r
             romanlow{"Roman Lowercase Numerals"}\r
             saur{"Saurashtra Digits"}\r
+            segment{"Segmented Digits"}\r
             shrd{"Sharada Digits"}\r
             sind{"Khudawadi Digits"}\r
             sinh{"Sinhala Lith Digits"}\r
@@ -1270,7 +1275,7 @@ en{
         VALENCIA{"Valencian"}\r
         WADEGILE{"Wade-Giles Romanization"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — all"}\r
         category-list{"{0}: {1}"}\r
index cdef160..b19c421 100644 (file)
@@ -21,7 +21,7 @@ en_001{
             h24{"24-Hour System (1–24)"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} – all"}\r
         compatibility{"{0} – compatibility"}\r
index 48f274d..b438e89 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_150{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9c32af7..a748276 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_AG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index dc0a00f..d3a2f9b 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_AI{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2ef756e..ec475e0 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_AT{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 81ae916..7e53342 100644 (file)
@@ -2,6 +2,9 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_AU{\r
     %%Parent{"en_001"}\r
+    Keys{\r
+        colCaseFirst{"Upper case / Lower case Ordering"}\r
+    }\r
     Languages{\r
         ar_001{"Modern Standard Arabic"}\r
         bn{"Bengali"}\r
@@ -25,10 +28,16 @@ en_AU{
         zh_Hans{"Simplified Chinese"}\r
         zh_Hant{"Traditional Chinese"}\r
     }\r
+    Languages%menu{\r
+        ckb{"Kurdish (Central)"}\r
+    }\r
     Languages%short{\r
         en_GB{"UK English"}\r
         en_US{"US English"}\r
     }\r
+    Languages%variant{\r
+        ckb{"Kurdish (Sorani)"}\r
+    }\r
     Scripts{\r
         Beng{"Bengali"}\r
     }\r
@@ -38,5 +47,5 @@ en_AU{
             ethiopic{"Ethiopian Calendar"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4526faa..6bac355 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BB{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a0482c2..46d6b7d 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BE{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1b0a5b1..1735b51 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6aacc1f..97d27f5 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BS{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5335070..1988772 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BW{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ebede8c..b73fe1d 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BZ{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 239d21d..1d120fa 100644 (file)
@@ -52,5 +52,5 @@ en_CA{
             upper{"To Upper Case"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index dcbc71c..332a810 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CC{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b0ca8ab..e443b47 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CH{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d670907..9e1d5c1 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CK{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 37cb57c..5d5dfe1 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4b709fb..c8f649b 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CX{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7c8d2e5..c852bbe 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CY{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8e56c9b..7fafabe 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_DE{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c5bebd8..332c554 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_DG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6bfddb4..9da0b9c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_DK{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c2b7c48..69c9cad 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_DM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 645f031..b87712d 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_ER{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 95f4bc7..b3758a5 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_FI{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3769889..62582de 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_FJ{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 187ca4b..c14ae42 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_FK{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f8ce885..32598fc 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_FM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d290eec..a83e8d6 100644 (file)
@@ -33,5 +33,5 @@ en_GB{
         en_GB{"UK English"}\r
         en_US{"US English"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5d7fb98..513ab4e 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GD{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 67aca40..70ff464 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fcbf17f..d57f0a1 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GH{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8339d5d..a5e72c1 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GI{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9b6a911..b3195d5 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2dad328..90774d2 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GY{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ecc8376..6088a7f 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_HK{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e5ef11b..e0309d1 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_IE{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 700e18f..9fd8b65 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_IL{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 67029d6..db7ea0b 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_IM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c6ee70f..4b26e92 100644 (file)
@@ -16,5 +16,5 @@ en_IN{
             orya{"Oriya Digits"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3febdeb..bf9042e 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_IO{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5dc72a2..cb85a86 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_JE{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c652c9e..7088750 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_JM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 49b1938..234d24c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_KE{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6d62e0e..59881cc 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_KI{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 45e54a1..4afc89a 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_KN{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6d58211..55d6d3f 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_KY{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 13a5553..69a481e 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_LC{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0f3f774..8384413 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_LR{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4926e99..3fd54d5 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_LS{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 19c7612..058e711 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d34f753..fd3fefa 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MO{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3339fb3..2a2c3fc 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MS{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e19256d..bee60ae 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MT{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7e99578..abf5a6a 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MU{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 53eaa1d..041eb0c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MW{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 05273de..2fb266c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MY{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4c7aad0..cf4bdd3 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NA{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3e6f026..4a77de6 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NF{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3c4b13a..8d3823e 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 03f3145..577e05b 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NL{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4b957cd..d51a078 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NR{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c5b2e0c..5356f56 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NU{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 22a4fed..c999464 100644 (file)
@@ -5,5 +5,5 @@ en_NZ{
     Languages{\r
         mi{"Māori"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c5c15ca..b88a3d7 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_PG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4178526..136dd36 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_PH{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9b0f0fe..a001c81 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_PK{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 01559d3..e125533 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_PN{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bce0771..c254b8a 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_PW{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d1e3ec2..44f6b05 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_RW{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 43ac27d..890787c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SB{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e433337..a051841 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SC{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4b1c909..3facf27 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SD{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e939ca2..40ea5dd 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SE{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f4acd6e..9772a76 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5cbcaae..c3c0dab 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SH{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1e2b996..15ccec4 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SI{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6607917..12c2893 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SL{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 02fc895..a4e3d7a 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SS{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index aa72091..1a736f6 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SX{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5185e38..ff893da 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SZ{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 604cc12..49a3483 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TC{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 52631be..5d06d6c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TK{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bdb0299..74f67ee 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TO{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4724625..e333e38 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TT{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5cb9166..8826578 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TV{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 88077ef..7ed9df8 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TZ{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c64f20a..4dd8946 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_UG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1c16a47..86b9c26 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_VC{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bc9f3a2..c37b20a 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_VG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f8cae92..a481242 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_VU{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2a1b9bf..df4d89c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_WS{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9da4701..4a5f9ad 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_ZA{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5c7e59b..15095b4 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_ZM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fdb8ead..ceeb93f 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_ZW{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 71cb5a5..9830807 100644 (file)
@@ -137,7 +137,6 @@ eo{
         tr{"turka"}\r
         ts{"conga"}\r
         tt{"tatara"}\r
-        tw{"tw"}\r
         ug{"ujgura"}\r
         uk{"ukraina"}\r
         und{"nekonata lingvo"}\r
@@ -156,5 +155,5 @@ eo{
         zu{"zulua"}\r
         zxx{"nelingvaĵo"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 64d0c3e..3ca2fb7 100644 (file)
@@ -160,6 +160,7 @@ es{
         eu{"euskera"}\r
         ewo{"ewondo"}\r
         fa{"persa"}\r
+        fa_AF{"darí"}\r
         fan{"fang"}\r
         fat{"fanti"}\r
         ff{"fula"}\r
@@ -573,6 +574,7 @@ es{
     }\r
     Scripts{\r
         Arab{"árabe"}\r
+        Aran{"nastaliq"}\r
         Armn{"armenio"}\r
         Avst{"avéstico"}\r
         Bali{"balinés"}\r
@@ -657,6 +659,7 @@ es{
         Phag{"phags-pa"}\r
         Phnx{"fenicio"}\r
         Plrd{"Pollard Miao"}\r
+        Qaag{"zawgyi"}\r
         Rjng{"rejang"}\r
         Roro{"rongo-rongo"}\r
         Runr{"rúnico"}\r
@@ -858,7 +861,7 @@ es{
         VALENCIA{"Valenciano"}\r
         WADEGILE{"Romanización Wade-Giles"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — Todo"}\r
         category-list{"{0}: {1}"}\r
index ea3c9ed..067dd92 100644 (file)
@@ -22,6 +22,7 @@ es_419{
         es_ES{"español de España"}\r
         es_MX{"español de México"}\r
         eu{"vasco"}\r
+        fa_AF{"darí"}\r
         fr_CA{"francés canadiense"}\r
         fr_CH{"francés suizo"}\r
         goh{"alemán de la alta edad antigua"}\r
@@ -69,10 +70,12 @@ es_419{
         Laoo{"lao"}\r
         Latn{"latín"}\r
         Mlym{"malayalam"}\r
+        Olck{"ol chiki"}\r
     }\r
     Types{\r
         calendar{\r
-            islamic-umalqura{"islamic-umalqura"}\r
+            islamic-rgsa{"calendario islámico (Arabia Saudita)"}\r
+            islamic-tbla{"calendario islámico tabular"}\r
         }\r
         colAlternate{\r
             non-ignorable{"ordenar símbolos"}\r
@@ -102,7 +105,7 @@ es_419{
             wara{"dígitos en Warang Citi"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         enclosed{"{0} — Adjunto"}\r
         extended{"{0} — Extendido"}\r
index e09e51c..93ff0b4 100644 (file)
@@ -18,5 +18,5 @@ es_AR{
         wo{"wolof"}\r
         zgh{"tamazight marroquí estándar"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index dde9421..e24d246 100644 (file)
@@ -18,5 +18,5 @@ es_BO{
         wo{"wolof"}\r
         zgh{"tamazight marroquí estándar"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e765032..e988982 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_BR{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1e91d76..a81a6e0 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_BZ{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index efc0854..f7fc63a 100644 (file)
@@ -23,5 +23,5 @@ es_CL{
             phonebook{"orden de directorio telefónico"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ee274b4..fa5e447 100644 (file)
@@ -18,5 +18,5 @@ es_CO{
         wo{"wolof"}\r
         zgh{"tamazight marroquí estándar"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b9c07d1..eaeabf8 100644 (file)
@@ -18,5 +18,5 @@ es_CR{
         wo{"wolof"}\r
         zgh{"tamazight marroquí estándar"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3d56222..8bc85d4 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_CU{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 51663a6..9e4d9d3 100644 (file)
@@ -18,5 +18,5 @@ es_DO{
         wo{"wolof"}\r
         zgh{"tamazight marroquí estándar"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8bf832f..1a97bf4 100644 (file)
@@ -18,5 +18,5 @@ es_EC{
         wo{"wolof"}\r
         zgh{"tamazight marroquí estándar"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 76c0111..48dfb0b 100644 (file)
@@ -18,5 +18,5 @@ es_GT{
         wo{"wolof"}\r
         zgh{"tamazight marroquí estándar"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b097e9f..7c1e0c1 100644 (file)
@@ -18,5 +18,5 @@ es_HN{
         wo{"wolof"}\r
         zgh{"tamazight marroquí estándar"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 05ab1cc..70a3f4f 100644 (file)
@@ -34,7 +34,6 @@ es_MX{
         nr{"ndebele meridional"}\r
         nso{"sotho septentrional"}\r
         pa{"punyabí"}\r
-        pcm{"pcm"}\r
         shu{"árabe chadiano"}\r
         ss{"siswati"}\r
         sw{"suajili"}\r
@@ -43,7 +42,7 @@ es_MX{
         tet{"tetún"}\r
         tn{"setswana"}\r
         tyv{"tuviniano"}\r
-        wuu{"wuu"}\r
+        wuu{"chino wu"}\r
         xal{"kalmyk"}\r
         zgh{"tamazight marroquí estándar"}\r
         zh_Hans{"chino simplificado"}\r
@@ -77,7 +76,7 @@ es_MX{
             gujr{"dígitos en gujarati"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         historic{"{0} — Históricos"}\r
         miscellaneous{"{0} — Varios"}\r
index d338566..4427049 100644 (file)
@@ -18,5 +18,5 @@ es_NI{
         wo{"wolof"}\r
         zgh{"tamazight marroquí estándar"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0b484ea..77b8702 100644 (file)
@@ -18,5 +18,5 @@ es_PA{
         wo{"wolof"}\r
         zgh{"tamazight marroquí estándar"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d1fc48c..33899a0 100644 (file)
@@ -18,5 +18,5 @@ es_PE{
         wo{"wolof"}\r
         zgh{"tamazight marroquí estándar"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ca6a0ee..b1c39eb 100644 (file)
@@ -11,5 +11,5 @@ es_PR{
         ss{"siswati"}\r
         wo{"wolof"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0011307..b737134 100644 (file)
@@ -18,5 +18,5 @@ es_PY{
         wo{"wolof"}\r
         zgh{"tamazight marroquí estándar"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cd2bf4f..c29c1f6 100644 (file)
@@ -11,5 +11,5 @@ es_SV{
         ss{"siswati"}\r
         wo{"wolof"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index abf28ea..9831057 100644 (file)
@@ -19,7 +19,6 @@ es_US{
         gmh{"alemán de la alta edad media"}\r
         grc{"griego antiguo"}\r
         gu{"gurayatí"}\r
-        hak{"hak"}\r
         hil{"hiligainón"}\r
         hsn{"xiang (China)"}\r
         ht{"criollo haitiano"}\r
@@ -29,11 +28,9 @@ es_US{
         lo{"lao"}\r
         lus{"lushai"}\r
         mga{"irlandés medieval"}\r
-        nan{"nan"}\r
         nl_BE{"flamenco"}\r
         nr{"ndebele meridional"}\r
         nso{"sotho septentrional"}\r
-        pcm{"pcm"}\r
         rm{"romanche"}\r
         rn{"kiroundi"}\r
         shu{"árabe chadiano"}\r
@@ -46,7 +43,6 @@ es_US{
         tn{"setchwana"}\r
         tyv{"tuviniano"}\r
         wo{"wolof"}\r
-        wuu{"wuu"}\r
         xal{"kalmyk"}\r
         zh_Hans{"chino simplificado"}\r
         zh_Hant{"chino tradicional"}\r
@@ -72,7 +68,7 @@ es_US{
             laoo{"números en lao"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         historic{"{0} — Históricos"}\r
         miscellaneous{"{0} — Varios"}\r
index 741c451..9517a0e 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_UY{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index adb716e..1d0d2cc 100644 (file)
@@ -18,5 +18,5 @@ es_VE{
         wo{"wolof"}\r
         zgh{"tamazight marroquí estándar"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cdcec99..2c79470 100644 (file)
@@ -180,6 +180,7 @@ et{
         ewo{"evondo"}\r
         ext{"estremenju"}\r
         fa{"pärsia"}\r
+        fa_AF{"dari"}\r
         fan{"fangi"}\r
         fat{"fanti"}\r
         ff{"fula"}\r
@@ -201,7 +202,6 @@ et{
         fur{"friuuli"}\r
         fy{"läänefriisi"}\r
         ga{"iiri"}\r
-        gaa{"gaa"}\r
         gag{"gagauusi"}\r
         gan{"kani"}\r
         gay{"gajo"}\r
@@ -470,7 +470,6 @@ et{
         ro_MD{"moldova"}\r
         rof{"rombo"}\r
         rom{"mustlaskeel"}\r
-        root{"root"}\r
         rtm{"rotuma"}\r
         ru{"vene"}\r
         rue{"russiini"}\r
@@ -1047,7 +1046,7 @@ et{
         VALENCIA{"valentsia"}\r
         WADEGILE{"Wade’i-Gilesi latinisatsioon"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} – kõik"}\r
         category-list{"{0}: {1}"}\r
index a82eb7c..91ecdc9 100644 (file)
@@ -119,6 +119,7 @@ eu{
         eu{"euskara"}\r
         ewo{"ewondera"}\r
         fa{"persiera"}\r
+        fa_AF{"daria"}\r
         ff{"fula"}\r
         fi{"finlandiera"}\r
         fil{"filipinera"}\r
@@ -433,7 +434,6 @@ eu{
         zh{"mandarin"}\r
     }\r
     Languages%short{\r
-        az{"azerbaijanera"}\r
         en_GB{"Erresuma Batuko ingeles"}\r
         en_US{"AEBko ingelesa"}\r
     }\r
@@ -635,7 +635,7 @@ eu{
         SCOTLAND{"ESKOZIAR INGELESA"}\r
         VALENCIA{"VALENTZIERA"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — Guztiak"}\r
         category-list{"{0}: {1}"}\r
index b5022c8..c3ff83f 100644 (file)
@@ -48,5 +48,5 @@ ewo{
         zh{"Ǹkɔ́bɔ tsainís"}\r
         zu{"ǹkɔ́bɔ zulú"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 14acdee..2c7c3f2 100644 (file)
@@ -872,7 +872,7 @@ fa{
         SAAHO{"ساهویی"}\r
         SCOTLAND{"انگلیسی معیار اسکاتلند"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — همه"}\r
         category-list{"{0}: {1}"}\r
index 0624bd3..d312ef3 100644 (file)
@@ -46,5 +46,5 @@ fa_AF{
     Scripts{\r
         Mong{"مغلی"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7cc32f2..c58b5e8 100644 (file)
@@ -48,5 +48,5 @@ ff{
         zh{"Sinuwaare"}\r
         zu{"Suluŋkoore"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/lang/ff_Adlm.txt b/source/data/lang/ff_Adlm.txt
new file mode 100644 (file)
index 0000000..2f1b4a5
--- /dev/null
@@ -0,0 +1,286 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff_Adlm{\r
+    %%Parent{"root"}\r
+    Keys{\r
+        calendar{"𞤙𞤢𞤤𞤯𞤭𞤥𞤫𞤪𞤫"}\r
+        cf{"𞤃𞤢𞥄𞤲𞥋𞤣𞤫 𞤐𞥋𞤄𞤵𞥅𞤯𞤭"}\r
+        collation{"𞤈𞤫𞤱𞤲𞤭𞤲𞥋𞤣𞤭𞤪𞤮 𞤔𞤭𞤩𞤼𞤢𞤲𞤣𞤫"}\r
+        currency{"𞤐𞥋𞤄𞤵𞥅𞤯𞤭"}\r
+        hc{"𞤃𞤢𞥄𞤲𞥋𞤣𞤫 𞤚𞤢𞥄𞤪𞤮 𞤐𞥋𞤄𞤵𞥅𞤯𞤭 (𞥑𞥒 𞤥𞤢𞥄 𞥒𞥔)"}\r
+        lb{"𞤐𞥋𞤄𞤢𞥄𞤣𞤭 𞤕𞤮𞤣𞤢𞤲𞤣𞤫 𞤁𞤭𞥅𞤣𞤮𞤤"}\r
+        ms{"𞤐𞥋𞤔𞤵𞤩𞥆𞤵𞤣𞤭 𞤇𞤫𞤼𞤵"}\r
+        numbers{"𞤈𞤢𞤽𞤢𞤥𞤫"}\r
+    }\r
+    Languages{\r
+        aa{"𞤢𞤬𞤢𞥄𞤪𞤫"}\r
+        af{"𞤀𞤬𞤪𞤭𞤳𞤢𞤲𞤪𞤫"}\r
+        ak{"𞤀𞤳𞤢𞤲𞤪𞤫"}\r
+        am{"𞤀𞤥𞤸𞤢𞤪𞤭𞥅𞤪𞤫"}\r
+        an{"𞤀𞤪𞤢𞤺𞤮𞤲𞤪𞤫"}\r
+        anp{"𞤀𞤲𞤺𞤭𞤳𞤢𞥄𞤪𞤫"}\r
+        ar{"𞤀𞥄𞤪𞤫𞤦𞤫𞥅𞤪𞤫"}\r
+        arp{"𞤀𞤪𞤢𞤨𞤢𞤸𞤮𞥅𞤪𞤫"}\r
+        as{"𞤀𞤧𞤢𞤥𞤫𞥅𞤪𞤫"}\r
+        asa{"𞤀𞤧𞤵𞥅𞤪𞤫"}\r
+        ast{"𞤀𞤧𞤼𞤵𞤪𞤭𞥅𞤪𞤫"}\r
+        av{"𞤀𞤬𞤱𞤢𞤪𞤭𞥅𞤪𞤫"}\r
+        awa{"𞤀𞤱𞤢𞤣𞤭𞥅𞤪𞤫"}\r
+        ay{"𞤀𞤴𞤥𞤢𞤪𞤢𞥄𞤪𞤫"}\r
+        az{"𞤀𞤶𞤢𞤪𞤦𞤢𞤴𞤭𞤶𞤢𞤲𞤭𞥅𞤪𞤫"}\r
+        ba{"𞤄𞤢𞤧𞤳𞤭𞥅𞤪𞤫"}\r
+        ban{"𞤄𞤢𞥄𞤤𞤭𞥅𞤪𞤫"}\r
+        bas{"𞤄𞤢𞤧𞤢𞥄𞤪𞤫"}\r
+        be{"𞤄𞤫𞤤𞤢𞤪𞤭𞥅𞤧𞤭𞥅𞤪𞤫"}\r
+        bem{"𞤄𞤫𞤥𞤦𞤢𞥄𞤪𞤫"}\r
+        bez{"𞤄𞤫𞤲𞤢𞥄𞤪𞤫"}\r
+        bg{"𞤄𞤭𞤤𞤺𞤢𞥄𞤪𞤫"}\r
+        bho{"𞤄𞤮𞤧𞤨𞤵𞤪𞤭𞥅𞤪𞤫"}\r
+        bi{"𞤄𞤭𞤧𞤤𞤢𞤥𞤢𞥄𞤪𞤫"}\r
+        bin{"𞤄𞤭𞤲𞤭𞥅𞤪𞤫"}\r
+        bm{"𞤄𞤢𞤥𞤦𞤢𞤪𞤢𞥄𞤪𞤫"}\r
+        bn{"𞤄𞤫𞤲𞤺𞤢𞤤𞤭𞥅𞤪𞤫"}\r
+        br{"𞤄𞤫𞤪𞤫𞤼𞤮𞤲𞤪𞤫"}\r
+        brx{"𞤄𞤮𞤣𞤮𞥅𞤪𞤫"}\r
+        bs{"𞤄𞤮𞤧𞤲𞤭𞤴𞤢𞥄𞤪𞤫"}\r
+        bug{"𞤄𞤵𞤺𞤭𞤧𞤢𞥄𞤪𞤫"}\r
+        byn{"𞤄𞤭𞤤𞤭𞤲𞤪𞤫"}\r
+        ca{"𞤑𞤢𞤼𞤢𞤤𞤢𞤲𞤪𞤫"}\r
+        ce{"𞤕𞤫𞤷𞤫𞤲𞤪𞤫"}\r
+        ceb{"𞤅𞤫𞤦𞤱𞤢𞤲𞤮𞥅𞤪𞤫"}\r
+        cgg{"𞤕𞤭𞤺𞤢𞥄𞤪𞤫"}\r
+        ch{"𞤕𞤢𞤥𞤮𞤪𞤮𞥅𞤪𞤫"}\r
+        chk{"𞤕𞤵𞥅𞤳𞤵𞥅𞤪𞤫"}\r
+        cho{"𞤕𞤢𞤸𞤼𞤢𞥄𞤪𞤫"}\r
+        chr{"𞤕𞤫𞥅𞤪𞤮𞤳𞤭𞥅𞤪𞤫"}\r
+        chy{"𞤅𞤢𞥄𞤴𞤢𞤲𞤪𞤫"}\r
+        ckb{"𞤑𞤵𞤪𞤣𞤵𞥅𞤪𞤫"}\r
+        co{"𞤑𞤮𞤪𞤧𞤭𞤳𞤢𞥄𞤪𞤫"}\r
+        cs{"𞤕𞤫𞤳𞤧𞤭𞤲𞤢𞥄𞤪𞤫"}\r
+        cy{"𞤘𞤢𞤤𞤭𞤲𞤳𞤮𞥅𞤪𞤫"}\r
+        da{"𞤁𞤢𞥄𞤲𞤭𞤧𞤳𞤮𞥅𞤪𞤫"}\r
+        dak{"𞤁𞤢𞤳𞤮𞤼𞤢𞥄𞤪𞤫"}\r
+        dar{"𞤁𞤢𞤪𞤺𞤭𞤲𞤢𞥄𞤪𞤫"}\r
+        de{"𞤘𞤫𞤪𞤥𞤢𞤲𞤳𞤮𞥅𞤪𞤫"}\r
+        de_AT{"𞤘𞤫𞤪𞤥𞤢𞤲𞤳𞤮𞥅𞤪𞤫 𞤐𞤢𞤥𞤧𞤭𞤱𞤭𞤴𞤢𞤲𞤳𞤮𞥅𞤪𞤫"}\r
+        de_CH{"𞤘𞤫𞤪𞤥𞤢𞤲𞤳𞤮𞥅𞤪𞤫 𞤅𞤵𞤱𞤭𞤧𞤴𞤢𞤲𞤳𞤮𞥅𞤪𞤫 𞤚𞤮𞥅𞤱𞤵𞤲𞥋𞤣𞤫"}\r
+        dje{"𞤔𞤢𞤪𞤥𞤢𞥄𞤪𞤫"}\r
+        dua{"𞤁𞤵𞤱𞤢𞤤𞤢𞥄𞤪𞤫"}\r
+        dv{"𞤁𞤭𞥅𞤬𞤫𞤸𞤭𞥅𞤪𞤫"}\r
+        dyo{"𞤔𞤮𞥅𞤤𞤢𞥄𞤪𞤫"}\r
+        dz{"𞤄𞤵𞥅𞤼𞤢𞤲𞤪𞤫"}\r
+        dzg{"𞤁𞤢𞤶𞤢𞤺𞤢𞥄𞤪𞤫"}\r
+        en{"𞤉𞤲𞤺𞤭𞤤𞤫𞥅𞤪𞤫"}\r
+        en_AU{"𞤉𞤲𞤺𞤭𞤤𞤫𞥅𞤪𞤫 𞤌𞤧𞤼𞤪𞤢𞤤𞤭𞤴𞤢𞤲𞤳𞤮𞥅𞤪𞤫"}\r
+        en_CA{"𞤉𞤲𞤺𞤭𞤤𞤫𞥅𞤪𞤫 𞤑𞤢𞤲𞤢𞤣𞤭𞤴𞤢𞤲𞤳𞤮𞥅𞤪𞤫"}\r
+        en_GB{"𞤉𞤲𞤺𞤭𞤤𞤫𞥅𞤪𞤫 𞤄𞤪𞤭𞤼𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮𞥅𞤪𞤫"}\r
+        en_US{"𞤉𞤲𞤺𞤭𞤤𞤫𞥅𞤪𞤫 𞤀𞤥𞤭𞤪𞤭𞤴𞤢𞤲𞤳𞤮𞥅𞤪𞤫"}\r
+        es{"𞤅𞤭𞤨𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮𞥅𞤪𞤫"}\r
+        es_419{"𞤅𞤭𞤨𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮𞥅𞤪𞤫 𞤀𞤥𞤭𞤪𞤭𞤳 𞤂𞤢𞤼𞤭𞤲𞤭𞤴𞤢"}\r
+        es_ES{"𞤅𞤭𞤨𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮𞥅𞤪𞤫 𞤀𞤪𞤮𞤦𞤢"}\r
+        es_MX{"𞤅𞤭𞤨𞤢𞤲𞤭𞤴𞤢𞤲𞤳𞤮𞥅𞤪𞤫 𞤃𞤫𞤳𞤧𞤭𞤳"}\r
+        eu{"𞤄𞤢𞤧𞤳𞤢𞤪𞤢𞥄𞤪𞤫"}\r
+        ff{"𞤆𞤵𞤤𞤢𞤪"}\r
+        fr{"𞤊𞤢𞤪𞤢𞤲𞤧𞤭𞥅𞤪𞤫"}\r
+        fr_CA{"𞤊𞤢𞤪𞤢𞤲𞤧𞤭𞥅𞤪𞤫 𞤑𞤢𞤲𞤢𞤣𞤭𞤴𞤢𞤲𞤳𞤮𞥅𞤪𞤫"}\r
+        fr_CH{"𞤊𞤢𞤪𞤢𞤲𞤧𞤭𞥅𞤪𞤫 𞤅𞤵𞤱𞤭𞤧𞤴𞤢𞤲𞤳𞤮𞥅𞤪𞤫"}\r
+        fy{"𞤊𞤭𞤪𞤭𞥅𞤧𞤭𞤴𞤢𞤲𞤳𞤮𞥅𞤪𞤫 𞤖𞤭𞤪𞤲𞤢"}\r
+        ga{"𞤋𞤪𞤤𞤢𞤲𞤣𞤫𞥅𞤪𞤫"}\r
+        hi{"𞤖𞤭𞤲𞤣𞤭𞤴𞤢𞤲𞤳𞤮𞥅𞤪𞤫"}\r
+        hr{"𞤑𞤮𞤪𞤮𞤱𞤢𞤧𞤭𞥅𞤪𞤫"}\r
+        hy{"𞤀𞤪𞤥𞤫𞤲𞤭𞥅𞤪𞤫"}\r
+        ia{"𞤉𞤲𞤼𞤫𞤪𞤤𞤭𞤺𞤢𞥄𞤪𞤫"}\r
+        id{"𞤉𞤲𞤣𞤮𞤲𞤮𞥅𞤧𞤭𞤴𞤢𞤲𞤳𞤮𞥅𞤪𞤫"}\r
+        ilo{"𞤋𞤤𞤮𞤳𞤮𞥅𞤪𞤫"}\r
+        inh{"𞤋𞤲𞤺𞤮𞤧𞤫𞥅𞤪𞤫"}\r
+        it{"𞤋𞤼𞤢𞤤𞤭𞤲𞤳𞤮𞥅𞤪𞤫"}\r
+        iu{"𞤋𞤲𞤵𞤳𞤼𞤫𞥅𞤪𞤫"}\r
+        ja{"𞤔𞤢𞤨𞤮𞤲𞤫𞥅𞤪𞤫"}\r
+        jgo{"𞤐𞤺𞤮𞤥𞤦𞤢𞥄𞤪𞤫"}\r
+        jmc{"𞤃𞤢𞤳𞤢𞤥𞤫𞥅𞤪𞤫"}\r
+        jv{"𞤔𞤢𞥄𞤱𞤢𞤫𞥅𞤪𞤫"}\r
+        kaj{"𞤑𞤢𞤶𞤫𞥅𞤪𞤫"}\r
+        kde{"𞤃𞤢𞤳𞤮𞤲𞤣𞤫𞥅𞤪𞤫"}\r
+        ko{"𞤑𞤮𞥅𞤪𞤫𞤴𞤢𞤲𞤪𞤫"}\r
+        ksf{"𞤄𞤢𞤬𞤭𞤴𞤢𞥄𞤪𞤫"}\r
+        kw{"𞤑𞤮𞤪𞤲𞤭𞥅𞤪𞤫"}\r
+        lus{"𞤃𞤭𞤧𞤮𞥅𞤪𞤫"}\r
+        mad{"𞤃𞤢𞤣𞤵𞤪𞤫𞥅𞤪𞤫"}\r
+        mag{"𞤃𞤢𞤺𞤢𞤸𞤭𞥅𞤪𞤫"}\r
+        mai{"𞤃𞤢𞤴𞤭𞤼𞤭𞤤𞤭𞥅𞤪𞤫"}\r
+        mak{"𞤃𞤢𞤳𞤢𞤧𞤢𞤪𞤢𞥄𞤪𞤫"}\r
+        mas{"𞤃𞤢𞤧𞤢𞤴𞤭𞥅𞤪𞤫"}\r
+        mdf{"𞤃𞤮𞤳𞤧𞤢𞤲𞤳𞤮𞥅𞤪𞤫"}\r
+        men{"𞤃𞤫𞤲𞤣𞤫𞥅𞤪𞤫"}\r
+        mer{"𞤃𞤫𞤪𞤵𞥅𞤪𞤫"}\r
+        mfe{"𞤃𞤮𞤪𞤭𞥅𞤧𞤭𞤲𞤳𞤮𞥅𞤪𞤫"}\r
+        mg{"𞤃𞤢𞤤𞤢𞤺𞤢𞤧𞤭𞥅𞤪𞤫"}\r
+        mgh{"𞤃𞤢𞤳𞤵𞤱𞤢𞥄𞤪𞤫"}\r
+        mgo{"𞤃𞤫𞤼𞤢𞥄𞤪𞤫"}\r
+        mh{"𞤃𞤢𞤪𞤧𞤢𞤤𞤫𞥅𞤪𞤫"}\r
+        mk{"𞤃𞤢𞤧𞤫𞤣𞤮𞤲𞤭𞤲𞤳𞤮𞥅𞤪𞤫"}\r
+        ml{"𞤃𞤢𞤤𞤢𞤴𞤢𞤤𞤢𞤥𞤪𞤫"}\r
+        mn{"𞤃𞤮𞤲𞤺𞤮𞤤𞤭𞤲𞤳𞤮𞥅𞤪𞤫"}\r
+        mni{"𞤃𞤢𞤲𞤭𞤨𞤵𞥅𞤪𞤫"}\r
+        moh{"𞤃𞤮𞥅𞤸𞤢𞤲𞤳𞤮𞥅𞤪𞤫"}\r
+        mos{"𞤃𞤮𞥅𞤧𞤭𞥅𞤪𞤫"}\r
+        ms{"𞤃𞤢𞤤𞤫𞥅𞤪𞤫"}\r
+        mt{"𞤃𞤢𞤤𞤼𞤭𞤲𞤳𞤮𞥅𞤪𞤫"}\r
+        mua{"𞤃𞤵𞤲𞤣𞤢𞤲𞤪𞤫"}\r
+        mul{"𞤍𞤫𞤲𞤯𞤫 𞤅𞤫𞤪𞤼𞤵𞤯𞤫"}\r
+        mus{"𞤃𞤵𞤧𞤳𞤮𞤳𞤭𞥅𞤪𞤫"}\r
+        mwl{"𞤃𞤭𞤪𞤢𞤲𞤣𞤫𞥅𞤪𞤫"}\r
+        my{"𞤄𞤵𞤪𞤥𞤢𞥄𞤪𞤫"}\r
+        na{"𞤐𞤢𞤱𞤵𞤪𞤵𞤲𞤳𞤮𞥅𞤪𞤫"}\r
+        nap{"𞤐𞤢𞥄𞤨𞤮𞤤𞤭𞤲𞤳𞤮𞥅𞤪𞤫"}\r
+        naq{"𞤐𞤢𞤥𞤢𞥄𞤪𞤫"}\r
+        ne{"𞤐𞤫𞤨𞤢𞤤𞤭𞤲𞤳𞤮𞥅𞤪𞤫"}\r
+        new{"𞤐𞤫𞤱𞤢𞤪𞤭𞥅𞤪𞤫"}\r
+        ng{"𞤐𞤣𞤮𞤲𞤺𞤢𞥄𞤪𞤫"}\r
+        nia{"𞤙𞤢𞤧𞤭𞤲𞤳𞤮𞥅𞤪𞤫"}\r
+        nl{"𞤁𞤮𞥅𞤷𞤪𞤫"}\r
+        nl_BE{"𞤊𞤭𞤤𞤢𞤥𞤢𞤲𞤪𞤫"}\r
+        nnh{"𞤐𞤶𞤢𞤥𞤦𞤵𞥅𞤪𞤫"}\r
+        nqo{"𞤐𞤳𞤮𞥅𞤪𞤫"}\r
+        nv{"𞤐𞤢𞤬𞤱𞤢𞤸𞤮𞥅𞤪𞤫"}\r
+        pl{"𞤆𞤮𞤤𞤢𞤲𞤣𞤭𞥅𞤪𞤫"}\r
+        pt{"𞤆𞤮𞤪𞤼𞤮𞤳𞤫𞥅𞤧𞤭𞥅𞤪𞤫"}\r
+        pt_BR{"𞤆𞤮𞤪𞤼𞤮𞤳𞤫𞥅𞤧𞤭𞥅𞤪𞤫 𞤄𞤪𞤫𞥁𞤭𞤤"}\r
+        pt_PT{"𞤆𞤮𞤪𞤼𞤮𞤳𞤫𞥅𞤧𞤭𞥅𞤪𞤫 𞤆𞤮𞤪𞤼𞤭𞤺𞤢𞥄𞤤"}\r
+        ru{"𞤈𞤭𞥅𞤧𞤭𞤲𞤳𞤮𞥅𞤪𞤫"}\r
+        rup{"𞤀𞤪𞤮𞤥𞤢𞤲𞤭𞥅𞤪𞤫"}\r
+        smn{"𞤋𞤲𞤢𞤪𞤭𞤧𞤳𞤢𞤤𞤭𞥅𞤪𞤫"}\r
+        sq{"𞤀𞤤𞤦𞤢𞤲𞤭𞥅𞤪𞤫"}\r
+        swb{"𞤑𞤮𞤥𞤮𞤪𞤭𞥅𞤪𞤫"}\r
+        th{"𞤚𞤢𞤴𞤤𞤢𞤲𞤣𞤫𞥅𞤪𞤫"}\r
+        tr{"𞤚𞤵𞥅𞤪𞤢𞤲𞤳𞤮𞥅𞤪𞤫"}\r
+        ug{"𞤓𞥅𞤴𞤺𞤵𞥅𞤪𞤫"}\r
+        und{"𞤍𞤫𞤲𞤺𞤢𞤤 𞤢𞤧-𞤢𞤲𞤣𞤢𞥄𞤲𞤺𞤢𞤤"}\r
+        ur{"𞤓𞤪𞤣𞤵𞥅𞤪𞤫"}\r
+        uz{"𞤓𞥅𞤧𞤦𞤫𞤳𞤪𞤫"}\r
+        vai{"𞤾𞤢𞥄𞤴𞤪𞤫"}\r
+        ve{"𞤏𞤫𞤲𞤣𞤢𞥄𞤪𞤫"}\r
+        vi{"𞤏𞤭𞤴𞤫𞤼𞤲𞤢𞤥𞤭𞤲𞤳𞤮𞥅𞤪𞤫"}\r
+        vo{"𞤏𞤮𞤤𞤢𞤨𞤵𞤳𞤪𞤫"}\r
+        vun{"𞤏𞤵𞤲𞤶𞤮𞥅𞤪𞤫"}\r
+        wa{"𞤏𞤢𞥄𞤤𞤮𞤲𞤳𞤮𞥅𞤪𞤫"}\r
+        wae{"𞤏𞤢𞤤𞤧𞤫𞥅𞤪𞤫"}\r
+        wal{"𞤏𞤮𞥅𞤤𞤢𞤴𞤼𞤢𞥄𞤪𞤫"}\r
+        war{"𞤏𞤢𞤪𞤢𞤴𞤫𞥅𞤪𞤫"}\r
+        wo{"𞤏𞤮𞤤𞤮𞤬𞤪𞤫"}\r
+        xh{"𞤑𞤮𞥅𞤧𞤢𞥄𞤪𞤫"}\r
+        yav{"𞤒𞤢𞤲𞤺𞤦𞤫𞥅𞤪𞤫"}\r
+        ybb{"𞤒𞤫𞤥𞤦𞤢𞥄𞤪𞤫"}\r
+        yi{"𞤒𞤭𞤣𞤭𞤧𞤢𞤲𞤳𞤮𞥅𞤪𞤫"}\r
+        yo{"𞤒𞤮𞥅𞤪𞤵𞤦𞤢𞥄𞤪𞤫"}\r
+        yue{"𞤑𞤢𞤲𞤼𞤮𞤲𞤫𞥅𞤪𞤫"}\r
+        zh{"𞤅𞤭𞥅𞤲𞤭𞤴𞤢𞤲𞤳𞤮𞥅𞤪𞤫"}\r
+        zh_Hans{"𞤅𞤭𞥅𞤲𞤭𞤴𞤢𞤲𞤳𞤮𞥅𞤪𞤫 𞤐𞤫𞤱𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+        zh_Hant{"𞤅𞤭𞥅𞤲𞤭𞤴𞤢𞤲𞤳𞤮𞥅𞤪𞤫 𞤚𞤢𞤱𞤢𞥄𞤲𞥋𞤣𞤫"}\r
+        zu{"𞥁𞤵𞤤𞤵𞥅𞤪𞤫"}\r
+    }\r
+    Languages%short{\r
+        az{"𞤀𞤶𞤢𞤪𞤭𞥅𞤪𞤫"}\r
+        en_GB{"𞤉𞤲𞤺𞤭𞤤𞤫𞥅𞤪𞤫 𞤁𞤘"}\r
+        en_US{"𞤉𞤲𞤺𞤭𞤤𞤫𞥅𞤪𞤫 𞤁𞤂𞤀"}\r
+    }\r
+    Scripts{\r
+        Adlm{"𞤀𞤁𞤂𞤢𞤃"}\r
+    }\r
+    Types{\r
+        calendar{\r
+            buddhist{"𞤙𞤢𞤤𞤯𞤭𞤥𞤫𞤪𞤫 𞤄𞤵𞥅𞤣𞤢𞤴𞤢𞤲𞤳𞤮"}\r
+            chinese{"𞤙𞤢𞤤𞤯𞤭𞤥𞤫𞤪𞤫 𞤅𞤭𞥅𞤲𞤭𞤲𞤳𞤮"}\r
+            dangi{"𞤙𞤢𞤤𞤯𞤭𞤥𞤫𞤪𞤫 𞤁𞤢𞤲𞤺𞤭𞤲𞤳𞤮"}\r
+            ethiopic{"𞤙𞤢𞤤𞤯𞤭𞤥𞤫𞤪𞤫 𞤀𞤦𞤢𞤧𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            gregorian{"𞤙𞤢𞤤𞤯𞤭𞤥𞤫𞤪𞤫 𞤘𞤫𞤪𞤺𞤮𞤪𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            hebrew{"𞤙𞤢𞤤𞤯𞤭𞤥𞤫𞤪𞤫 𞤋𞤦𞤪𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            islamic{"𞤙𞤢𞤤𞤥𞤫𞤪𞤫 𞤂𞤭𞤧𞤤𞤢𞥄𞤥𞤴𞤢𞤲𞤳𞤮"}\r
+            islamic-civil{\r
+                "𞤙𞤢𞤤𞤯𞤭𞤥𞤫𞤪𞤫 𞤂𞤭𞤧𞤤𞤢𞥄𞤥𞤴𞤢𞤲𞤳𞤮 (𞤢𞤤𞥆𞤵𞤱𞤢𞤤, "\r
+                "𞤬𞤫𞤱𞤲𞥋𞤣𞤮 𞤲𞥋𞤦𞤫𞤯𞥆𞤢𞥄𞤳𞤵)"\r
+            }\r
+            islamic-tbla{\r
+                "𞤙𞤢𞤤𞤯𞤭𞤥𞤫𞤪𞤫 𞤂𞤭𞤧𞤤𞤢𞥄𞤥𞤵 (𞤀𞤤𞥆𞤵𞤲𞤳𞤮, 𞤊𞤫𞤱𞤣𞤮 "\r
+                "𞤋𞤲𞤳𞤮𞥅𞤣𞤭𞤲𞤳𞤮)"\r
+            }\r
+            iso8601{"𞤙𞤢𞤤𞤯𞤭𞤥𞤫𞤪𞤫 ISO-8601"}\r
+            japanese{"𞤙𞤢𞤤𞤯𞤭𞤥𞤫𞤪𞤫 𞤔𞤢𞥄𞤨𞤮𞤲𞤭𞤲𞤳𞤮"}\r
+            persian{"𞤙𞤢𞤤𞤯𞤭𞤥𞤫𞤪𞤫 𞤊𞤢𞥄𞤪𞤭𞤧𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            roc{"𞤙𞤢𞤤𞤯𞤭𞤥𞤫𞤪𞤫 𞤘𞤫𞤲𞤣𞤭𞤴𞤢𞤲𞤳𞤮 𞤅𞤭𞥅𞤲"}\r
+        }\r
+        cf{\r
+            account{"𞤃𞤢𞥄𞤲𞥋𞤣𞤫 𞤂𞤭𞤥𞤭𞤲𞤳𞤮 𞤐𞥋𞤄𞤵𞥅𞤯𞤭"}\r
+            standard{"𞤃𞤢𞥄𞤲𞥋𞤣𞤫 𞤚𞤢𞤦𞤵𞤼𞤵𞤲𞥋𞤣𞤫 𞤐𞥋𞤄𞤵𞥅𞤯𞤭"}\r
+        }\r
+        collation{\r
+            ducet{"𞤈𞤫𞤱𞤲𞤭𞤲𞥋𞤣𞤭𞤪𞤮 𞤔𞤭𞤩𞤼𞤢𞤲𞤣𞤫 𞤊𞤭𞤩𞤢𞤲𞤣𞤫 Unicode"}\r
+            search{"𞤏𞤭𞤯𞤢𞤲𞤣𞤫 𞤖𞤵𞥅𞤩𞤵𞤲𞥋𞤣𞤫"}\r
+            standard{"𞤖𞤢𞤱𞤪𞤭𞤼𞤢𞤲𞤣𞤫 𞤈𞤫𞤱𞤲𞤭𞤲𞥋𞤣𞤭𞤪𞤮 𞤔𞤭𞤩𞤼𞤢𞤲𞤣𞤫"}\r
+        }\r
+        hc{\r
+            h11{"𞤐𞥋𞤔𞤵𞤩𞥆𞤵𞤣𞤭 𞤁𞤵𞤥𞤵𞤲𞥆𞤢 𞤐𞥋𞤔𞤢𞤥𞤲𞥋𞤣𞤭 𞥑𞥒 (𞥐-𞥑𞥒)"}\r
+            h12{"𞤐𞥋𞤔𞤵𞤩𞥆𞤵𞤣𞤭 𞤁𞤵𞤥𞤵𞤲𞥆𞤢 𞤐𞥋𞤔𞤢𞤥𞤲𞥋𞤣𞤭 𞥑𞥒 (𞥑-𞥑𞥒)"}\r
+            h23{"𞤐𞥋𞤔𞤵𞤩𞥆𞤵𞤣𞤭 𞤁𞤵𞤥𞤵𞤲𞥆𞤢 𞤐𞥋𞤔𞤢𞤥𞤲𞥋𞤣𞤭 𞥒𞥔 (𞥐-𞥒𞥓)"}\r
+            h24{"𞤐𞥋𞤔𞤵𞤩𞥆𞤵𞤣𞤭 𞤁𞤵𞤥𞤵𞤲𞥆𞤢 𞤐𞥋𞤔𞤢𞤥𞤲𞥋𞤣𞤭 𞥒𞥔 (𞥑-𞥒𞥔)"}\r
+        }\r
+        lb{\r
+            loose{"𞤐𞥋𞤄𞤢𞥄𞤣𞤭 𞤒𞤢𞤲𞤻𞤮 𞤕𞤮𞤣𞤢𞤲𞤣𞤫 𞤁𞤭𞥅𞤣𞤮𞤤"}\r
+            normal{"𞤐𞥋𞤄𞤢𞥄𞤣𞤭 𞤖𞤵𞥅𞤩𞤵𞤲𞥋𞤣𞤭 𞤕𞤮𞤣𞤢𞤲𞤣𞤫 𞤁𞤭𞥅𞤣𞤮𞤤"}\r
+            strict{"𞤐𞥋𞤄𞤢𞥄𞤣𞤭 𞤊𞤮𞤷𞥆𞤭𞥅𞤲𞥋𞤣𞤭 𞤕𞤮𞤣𞤢𞤲𞤣𞤫 𞤁𞤭𞥅𞤣𞤮𞤤"}\r
+        }\r
+        ms{\r
+            metric{"𞤐𞥋𞤔𞤵𞤩𞥆𞤵𞤣𞤭 𞤃𞤫𞥅𞤼𞤭𞤲𞤳𞤮"}\r
+            uksystem{"𞤐𞥋𞤔𞤵𞤩𞥆𞤵𞤣𞤭 𞤇𞤫𞤼𞤵 𞤋𞤥𞤦𞤭𞤪𞤢𞥄𞤼𞤵"}\r
+            ussystem{"𞤐𞥋𞤔𞤵𞤩𞤵𞤣𞤭 𞤇𞤫𞤼𞤵 𞤁𞤂𞤀"}\r
+        }\r
+        numbers{\r
+            arab{"𞤂𞤭𞤥𞤪𞤫 𞤀𞥄𞤪𞤢𞤦𞤭𞤲𞤳𞤮-𞤋𞤲𞤣𞤭𞤲𞤳𞤮"}\r
+            arabext{"𞤂𞤭𞤥𞤪𞤫 𞤀𞥄𞤪𞤢𞤦𞤭𞤲𞤳𞤮-𞤋𞤲𞤣𞤭𞤲𞤳𞤮 𞤙𞤢𞤲𞤻𞤢𞥄𞤲𞥋𞤣𞤫"}\r
+            armn{"𞤈𞤢𞤽𞤢𞤥𞤫 𞤀𞤪𞤥𞤫𞤲𞤭𞤲𞤳𞤮"}\r
+            armnlow{"𞤈𞤢𞤽𞤢𞤥𞤫 𞤚𞤮𞤧𞤮𞥅𞤳𞤫 𞤀𞤪𞤥𞤫𞤲𞤭𞤲𞤳𞤮"}\r
+            beng{"𞤂𞤭𞤥𞤫 𞤄𞤢𞤲𞤺𞤭𞤤𞤢𞤲𞤳𞤮"}\r
+            deva{"𞤂𞤭𞤥𞤫 𞤁𞤢𞤾𞤢𞤲𞤢𞤲𞤳𞤮"}\r
+            ethi{"𞤈𞤢𞤽𞤢𞤥𞤫 𞤀𞤦𞤢𞤧𞤭𞤲𞤳𞤮"}\r
+            fullwide{"𞤂𞤭𞤥𞤫 𞤑𞤵𞥅𞤩𞤵𞤯𞤫"}\r
+            geor{"𞤈𞤢𞤽𞤢𞤥𞤫 𞤔𞤮𞤪𞤶𞤭𞤲𞤳𞤮"}\r
+            grek{"𞤈𞤢𞤽𞤢𞤥𞤫 𞤘𞤭𞤪𞤭𞤧𞤢𞤲𞤳𞤮"}\r
+            greklow{"𞤈𞤢𞤽𞤢𞤥𞤫 𞤚𞤮𞤧𞤮𞥅𞤳𞤫 𞤘𞤭𞤪𞤭𞤧𞤢𞤲𞤳𞤮"}\r
+            gujr{"𞤂𞤭𞤥𞤫 𞤘𞤵𞤶𞤵𞤪𞤢𞤲𞤳𞤮"}\r
+            guru{"𞤂𞤭𞤥𞤫 𞤘𞤵𞤪𞤥𞤭𞤲𞤳𞤮"}\r
+            hanidec{"𞤈𞤢𞤽𞤢𞤥𞤫 𞤁𞤫𞥅𞤧𞤭𞤥𞤶𞤫 𞤅𞤭𞥅𞤲𞤭𞤲𞤳𞤮"}\r
+            hans{"𞤈𞤢𞤽𞤢𞤥𞤫 𞤐𞤫𞤱𞤭𞤲𞤢𞥄𞤯𞤫 𞤅𞤭𞥅𞤲𞤭𞤲𞤳𞤮"}\r
+            hansfin{"𞤈𞤢𞤽𞤢𞤥𞤫 𞤅𞤭𞥅𞤲𞤭𞤲𞤳𞤮 𞤐𞤫𞤱𞤭𞤲𞤢𞥄𞤯𞤫 𞤐𞥋𞤘𞤢𞤤𞤵"}\r
+            hant{"𞤈𞤢𞤽𞤢𞤥𞤫 𞤅𞤭𞥅𞤲𞤭𞤲𞤳𞤮 𞤊𞤭𞤲𞤼𞤢𞤱𞤢𞥄𞤶𞤫"}\r
+            hantfin{"𞤈𞤢𞤽𞤢𞤥𞤫 𞤅𞤭𞥅𞤲𞤭𞤲𞤳𞤮 𞤊𞤭𞤲𞤼𞤢𞤱𞤢𞥄𞤶𞤫 𞤐𞥋𞤘𞤢𞤤𞤵"}\r
+            hebr{"𞤈𞤢𞤽𞤢𞤥𞤫 𞤖𞤭𞥅𞤦𞤭𞤪𞤭𞤲𞤳𞤮"}\r
+            jpan{"𞤈𞤢𞤽𞤢𞤥𞤫 𞤔𞤢𞥄𞤨𞤢𞤲𞤭𞤲𞤳𞤮"}\r
+            jpanfin{"𞤈𞤢𞤽𞤢𞤥𞤫 𞤔𞤢𞥄𞤨𞤢𞤲𞤭𞤲𞤳𞤮 𞤐𞥋𞤔𞤢𞤤𞤵"}\r
+            khmr{"𞤂𞤭𞤥𞤫 𞤝𞤭𞥅𞤥𞤭𞤪𞤭𞤲𞤳𞤮"}\r
+            knda{"𞤂𞤭𞤥𞤫 𞤑𞤢𞥄𞤲𞤢𞤣𞤢𞤲𞤳𞤮"}\r
+            laoo{"𞤂𞤭𞤥𞤫 𞤂𞤢𞥄𞤱𞤮𞤴𞤢𞤲𞤳𞤮"}\r
+            latn{"𞤂𞤭𞤥𞤫 𞤖𞤭𞥅𞤪𞤲𞤢𞤲𞤳𞤮"}\r
+            mlym{"𞤂𞤭𞤥𞤫 𞤃𞤢𞤤𞤢𞤴𞤢𞤥𞤳𞤮"}\r
+            mymr{"𞤂𞤭𞤥𞤫 𞤃𞤭𞤴𞤢𞤥𞤢𞤪𞤳𞤮"}\r
+            orya{"𞤂𞤭𞤥𞤫 𞤌𞤣𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            roman{"𞤈𞤢𞤽𞤢𞤥𞤫 𞤈𞤵𞥅𞤥𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            romanlow{"𞤈𞤢𞤽𞤢𞤥𞤫 𞤚𞤮𞤧𞤮𞥅𞤳𞤫 𞤈𞤵𞥅𞤥𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            taml{"𞤈𞤢𞤽𞤢𞤥𞤫 𞤊𞤭𞤲𞤼𞤢𞤱𞤢𞥄𞤶𞤫 𞤚𞤢𞥄𞤥𞤭𞤤𞤭𞥅𞤴𞤢"}\r
+            tamldec{"𞤂𞤭𞤥𞤫 𞤚𞤢𞥄𞤥𞤭𞤤𞤭𞥅𞤴𞤢"}\r
+            telu{"𞤂𞤭𞤥𞤫 𞤚𞤫𞤤𞤵𞤺𞤵𞤲𞤳𞤮"}\r
+            thai{"𞤂𞤭𞤥𞤫 𞤚𞤢𞥄𞤴𞤭𞤲𞤳𞤮"}\r
+            tibt{"𞤂𞤭𞤥𞤫 𞤚𞤭𞤦𞤫𞤼𞤭𞤲𞤳𞤮"}\r
+        }\r
+    }\r
+    Version{"37"}\r
+    codePatterns{\r
+        language{"{0}"}\r
+        script{"{0}"}\r
+        territory{"{0}"}\r
+    }\r
+    localeDisplayPattern{\r
+        keyTypePattern{"{0} : {1}"}\r
+        pattern{"{0} ({1})"}\r
+        separator{"{0}⹁ {1}"}\r
+    }\r
+}\r
index cd674cd..36cf8a0 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ff_Latn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 501c91f..b12d6c1 100644 (file)
@@ -182,6 +182,7 @@ fi{
         ewo{"ewondo"}\r
         ext{"extremadura"}\r
         fa{"persia"}\r
+        fa_AF{"dari"}\r
         fan{"fang"}\r
         fat{"fanti"}\r
         ff{"fulani"}\r
@@ -641,24 +642,22 @@ fi{
         zza{"zaza"}\r
     }\r
     Languages%menu{\r
+        ckb{"kurdi – soranî"}\r
         yue{"kiina (kantonin)"}\r
         zh{"kiina (mandariini)"}\r
     }\r
     Languages%secondary{\r
         crh{"kriminturkki"}\r
-        fa{"persia"}\r
         kl{"grönlanti"}\r
         lad{"juutalaisespanja"}\r
     }\r
-    Languages%short{\r
-        az{"azeri"}\r
-    }\r
     Scripts{\r
         Adlm{"fulanin adlam-aakkosto"}\r
         Afak{"afaka"}\r
         Aghb{"kaukasianalbanialainen"}\r
         Ahom{"ahom"}\r
         Arab{"arabialainen"}\r
+        Aran{"nastaliq"}\r
         Armi{"valtakunnanaramealainen"}\r
         Armn{"armenialainen"}\r
         Avst{"avestalainen"}\r
@@ -679,12 +678,14 @@ fi{
         Cari{"kaarialainen"}\r
         Cham{"tšamilainen"}\r
         Cher{"cherokeelainen"}\r
+        Chrs{"horemzi"}\r
         Cirt{"cirth"}\r
         Copt{"koptilainen"}\r
         Cprt{"muinaiskyproslainen"}\r
         Cyrl{"kyrillinen"}\r
         Cyrs{"kyrillinen muinaiskirkkoslaavimuunnelma"}\r
         Deva{"devanagari"}\r
+        Diak{"dives akuru"}\r
         Dogr{"dogri"}\r
         Dsrt{"deseret"}\r
         Dupl{"Duployén pikakirjoitus"}\r
@@ -697,6 +698,7 @@ fi{
         Geok{"muinaisgeorgialainen"}\r
         Geor{"georgialainen"}\r
         Glag{"glagoliittinen"}\r
+        Gong{"gondin gunjala"}\r
         Gonm{"masaram-gondi"}\r
         Goth{"goottilainen"}\r
         Gran{"grantha"}\r
@@ -714,6 +716,7 @@ fi{
         Hira{"hiragana"}\r
         Hluw{"anatolialaiset hieroglyfit"}\r
         Hmng{"pahawh hmong"}\r
+        Hmnp{"hmongin nyiakeng puachue"}\r
         Hrkt{"japanin tavumerkistöt"}\r
         Hung{"muinaisunkarilainen"}\r
         Inds{"induslainen"}\r
@@ -727,6 +730,7 @@ fi{
         Khar{"kharosthi"}\r
         Khmr{"khmeriläinen"}\r
         Khoj{"khojki"}\r
+        Kits{"kitaanin pieni merkistö"}\r
         Knda{"kannadalainen"}\r
         Kore{"korealainen"}\r
         Kpel{"kpelle"}\r
@@ -833,6 +837,7 @@ fi{
         Wole{"woleai"}\r
         Xpeo{"muinaispersialainen"}\r
         Xsux{"sumerilais-akkadilainen nuolenpääkirjoitus"}\r
+        Yezi{"jesidi"}\r
         Yiii{"yiläinen"}\r
         Zanb{"zanabazar-neliökirjaimisto"}\r
         Zinh{"peritty"}\r
@@ -975,10 +980,12 @@ fi{
             cham{"cham-numerot"}\r
             cyrl{"kyrilliset numerot"}\r
             deva{"devanagarinumerot"}\r
+            diak{"dives akuru -numerot"}\r
             ethi{"etiopialaiset numerot"}\r
             finance{"talousnumerot"}\r
             fullwide{"ideografin levyiset numerot"}\r
             geor{"georgialaiset numerot"}\r
+            gong{"gondin gunjala-numerot"}\r
             gonm{"gondin masaram-numerot"}\r
             grek{"kreikkalaiset numerot"}\r
             greklow{"kreikkalaiset piennumerot"}\r
@@ -991,6 +998,7 @@ fi{
             hantfin{"perinteiset kiinalaiset talousnumerot"}\r
             hebr{"heprealaiset numerot"}\r
             hmng{"pahawh hmong -numerot"}\r
+            hmnp{"hmongin nyiakeng puachue -numerot"}\r
             java{"jaavalaiset numerot"}\r
             jpan{"japanilaiset numerot"}\r
             jpanfin{"japanilaiset talousnumerot"}\r
@@ -1021,6 +1029,7 @@ fi{
             olck{"ol chiki -numerot"}\r
             orya{"orijalaiset numerot"}\r
             osma{"osmanjalaiset numerot"}\r
+            rohg{"hanifilaisen rohingyan numerot"}\r
             roman{"roomalaiset numerot"}\r
             romanlow{"roomalaiset piennumerot"}\r
             saur{"saurashtra-numerot"}\r
@@ -1069,6 +1078,7 @@ fi{
         BISKE{"sloveenin resian San Giorgion/Bilan alamurre"}\r
         BOHORIC{"sloveenin Bohorič-aakkosto"}\r
         BOONT{"englannin boontling-murre"}\r
+        BORNHOLM{"Bornholmin murre"}\r
         CISAUP{"oksitaanin luoteisitalialainen variantti"}\r
         COLB1945{"portugalin oikeinkirjoitus 1945"}\r
         CORNU{"englannin cornu-murre"}\r
@@ -1098,6 +1108,7 @@ fi{
         KSCOR{"kornin Kernowek-ortografia"}\r
         LAUKIKA{"klassinen sanskriitti"}\r
         LEMOSIN{"oksitaanin Limousin-alueen variantti"}\r
+        LENGADOC{"oksitaanin lengadocian variantti"}\r
         LIPAW{"sloveenin resian Lipovazin/Lipovecin alamurre"}\r
         LUNA1918{"venäjän ortografia 1918"}\r
         METELKO{"sloveenin Metelko-aakkosto"}\r
@@ -1105,6 +1116,7 @@ fi{
         NDYUKA{"ndyukan kreolimurre"}\r
         NEDIS{"sloveenin natisonen murre"}\r
         NEWFOUND{"englannin newfoundlandilaismurre"}\r
+        NICARD{"oksitaanin Nizzan variantti"}\r
         NJIVA{"sloveenin resian Gnivan/Njivan alamurre"}\r
         NULIK{"nykyvolapük"}\r
         OSOJS{"sloveenin resian Oseaccon/Osojanen alamurre"}\r
@@ -1117,6 +1129,7 @@ fi{
         PINYIN{"kiinan pinyin-latinaistus"}\r
         POLYTON{"polytoninen kreikka"}\r
         POSIX{"tietokonemäärittely POSIX"}\r
+        PROVENC{"provensaali"}\r
         PUTER{"retoromaanin puter-muoto"}\r
         REVISED{"uudistettu oikeinkirjoitus"}\r
         RIGIK{"klassinen volapük"}\r
@@ -1140,13 +1153,14 @@ fi{
         VAIDIKA{"sanskriitin veda-murre"}\r
         VALENCIA{"katalaanin valencian murre"}\r
         VALLADER{"reoromaanin vallader-muoto"}\r
+        VIVARAUP{"oksitaanin vivaro-alpiininen variantti"}\r
         WADEGILE{"kiinan Wade-Giles-latinaistus"}\r
         XSISTEMO{"esperanton x-kirjoitus"}\r
     }\r
     Variants%secondary{\r
         FONUPA{"suomalais-ugrilainen tarkekirjoitus"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} – kaikki"}\r
         category-list{"{0}: {1}"}\r
index 96d009a..e51a736 100644 (file)
@@ -120,6 +120,7 @@ fil{
         eu{"Basque"}\r
         ewo{"Ewondo"}\r
         fa{"Persian"}\r
+        fa_AF{"Dari"}\r
         ff{"Fulah"}\r
         fi{"Finnish"}\r
         fil{"Filipino"}\r
@@ -459,7 +460,7 @@ fil{
         Grek{"Greek"}\r
         Gujr{"Gujarati"}\r
         Guru{"Gurmukhi"}\r
-        Hanb{"Hanb"}\r
+        Hanb{"Han na may Bopomofo"}\r
         Hang{"Hangul"}\r
         Hani{"Han"}\r
         Hans{"Pinasimple"}\r
@@ -673,7 +674,7 @@ fil{
         PINYIN{"Pinyin Romanization"}\r
         WADEGILE{"Wade-Giles Romanization"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — lahat"}\r
         category-list{"{0}: {1}"}\r
index 018ae60..c8d22d6 100644 (file)
@@ -302,7 +302,6 @@ fo{
         ro{"rumenskt"}\r
         ro_MD{"moldaviskt"}\r
         rof{"rombo"}\r
-        root{"root"}\r
         ru{"russiskt"}\r
         rup{"aromenskt"}\r
         rw{"kinyarwanda"}\r
@@ -557,7 +556,7 @@ fo{
         POLYTON{"polytonísk"}\r
         WADEGILE{"Wade-Giles"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — Alt"}\r
         category-list{"{0}: {1}"}\r
index 69d76ed..a779b86 100644 (file)
@@ -182,6 +182,7 @@ fr{
         ewo{"éwondo"}\r
         ext{"estrémègne"}\r
         fa{"persan"}\r
+        fa_AF{"dari"}\r
         fan{"fang"}\r
         fat{"fanti"}\r
         ff{"peul"}\r
@@ -645,18 +646,17 @@ fr{
         zh_Hant{"mandarin traditionnel"}\r
     }\r
     Languages%menu{\r
+        ckb{"kurde sorani"}\r
         yue{"chinois cantonais"}\r
         zh{"chinois mandarin"}\r
     }\r
-    Languages%short{\r
-        az{"azéri"}\r
-    }\r
     Languages%variant{\r
         ps{"pashto"}\r
         ug{"ouïgour"}\r
     }\r
     Scripts{\r
         Arab{"arabe"}\r
+        Aran{"nastaliq"}\r
         Armi{"araméen impérial"}\r
         Armn{"arménien"}\r
         Avst{"avestique"}\r
@@ -752,6 +752,7 @@ fr{
         Phnx{"phénicien"}\r
         Plrd{"phonétique de Pollard"}\r
         Prti{"parthe des inscriptions"}\r
+        Qaag{"zawgyi"}\r
         Rjng{"rejang"}\r
         Roro{"rongorongo"}\r
         Runr{"runique"}\r
@@ -983,7 +984,7 @@ fr{
         VALENCIA{"valencien"}\r
         WADEGILE{"Wade-Giles"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — tout"}\r
         category-list{"{0} : {1}"}\r
index 24f0fae..c05f709 100644 (file)
@@ -7,5 +7,5 @@ fr_BE{
         gu{"gujarati"}\r
         njo{"ao"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 08e64e9..6022c54 100644 (file)
@@ -84,6 +84,7 @@ fr_CA{
         zh_Hant{"chinois, mandarin traditionnel"}\r
     }\r
     Languages%menu{\r
+        ckb{"sorani"}\r
         yue{"chinois, cantonais"}\r
         zh{"chinois, mandarin"}\r
     }\r
@@ -97,6 +98,7 @@ fr_CA{
         Hans{"idéogrammes han simplifiés"}\r
         Hant{"idéogrammes han traditionnels"}\r
         Hrkt{"syllabaires japonais"}\r
+        Olck{"ol chiki"}\r
         Zsye{"zsye"}\r
     }\r
     Scripts%stand-alone{\r
@@ -127,7 +129,7 @@ fr_CA{
             mong{"Chiffres mongols"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         category-list{"{0} : {1}"}\r
     }\r
index 5ff4be0..15716dd 100644 (file)
@@ -6,5 +6,5 @@ fr_CH{
         pdc{"allemand de Pennsylvanie"}\r
         sdh{"kurde méridional"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6d32f71..65b6e70 100644 (file)
@@ -299,7 +299,7 @@ fur{
         SOLBA{"dialet di Stolvize"}\r
         VALENCIA{"valenzian"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"Lenghe: {0}"}\r
         script{"Scriture: {0}"}\r
index ab3d1a9..73019a7 100644 (file)
@@ -886,7 +886,7 @@ fy{
         VALLADER{"Vallader"}\r
         WADEGILE{"Wade-Giles-romanisering"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"Taal: {0}"}\r
         script{"Skrift: {0}"}\r
index 8c58b61..125db7a 100644 (file)
@@ -14,64 +14,45 @@ ga{
     Languages{\r
         aa{"Afáiris"}\r
         ab{"Abcáisis"}\r
-        ace{"ace"}\r
-        ada{"ada"}\r
         ady{"Adaigéis"}\r
         ae{"Aivéistis"}\r
         af{"Afracáinis"}\r
-        agq{"agq"}\r
         ain{"Aidhniúis"}\r
         ak{"Acáinis"}\r
         akk{"Acáidis"}\r
-        ale{"ale"}\r
-        alt{"alt"}\r
         am{"Amáiris"}\r
         an{"Aragóinis"}\r
         ang{"Sean-Bhéarla"}\r
-        anp{"anp"}\r
         ar{"Araibis"}\r
         ar_001{"Araibis Chaighdeánach"}\r
         arc{"Aramais"}\r
         arn{"Mapúitsis"}\r
-        arp{"arp"}\r
         as{"Asaimis"}\r
-        asa{"asa"}\r
         ast{"Astúiris"}\r
         av{"Aváiris"}\r
-        awa{"awa"}\r
         ay{"Aidhmiris"}\r
         az{"Asarbaiseáinis"}\r
         ba{"Baiscíris"}\r
         ban{"Bailís"}\r
         bar{"Baváiris"}\r
-        bas{"bas"}\r
         be{"Bealarúisis"}\r
         bem{"Beimbis"}\r
-        bez{"bez"}\r
         bg{"Bulgáiris"}\r
-        bho{"bho"}\r
         bi{"Bioslaimis"}\r
-        bin{"bin"}\r
-        bla{"bla"}\r
-        bm{"bm"}\r
+        bm{"Bambairis"}\r
         bn{"Beangáilis"}\r
         bo{"Tibéidis"}\r
         br{"Briotáinis"}\r
-        brx{"brx"}\r
         bs{"Boisnis"}\r
         bua{"Buiriáitis"}\r
         bug{"Buiginis"}\r
-        byn{"byn"}\r
         ca{"Catalóinis"}\r
+        ccp{"Chakma"}\r
         ce{"Seisnis"}\r
         ceb{"Seabúáinis"}\r
-        cgg{"cgg"}\r
         ch{"Seamóiris"}\r
-        chk{"chk"}\r
         chm{"Mairis"}\r
-        cho{"cho"}\r
         chr{"Seiricis"}\r
-        chy{"chy"}\r
         ckb{"Coirdis Lárnach"}\r
         co{"Corsaicis"}\r
         cop{"Coptais"}\r
@@ -83,26 +64,18 @@ ga{
         cv{"Suvaisis"}\r
         cy{"Breatnais"}\r
         da{"Danmhairgis"}\r
-        dak{"dak"}\r
-        dar{"dar"}\r
         dav{"Taita"}\r
         de{"Gearmáinis"}\r
         de_AT{"Gearmáinis Ostarach"}\r
         de_CH{"Ard-Ghearmáinis Eilvéiseach"}\r
-        dgr{"dgr"}\r
         dje{"Zarmais"}\r
         dsb{"Sorbais Íochtarach"}\r
-        dua{"dua"}\r
+        dua{"Duailis"}\r
         dum{"Meán-Ollainnis"}\r
         dv{"Divéihis"}\r
-        dyo{"dyo"}\r
         dz{"Seoinicis"}\r
-        dzg{"dzg"}\r
-        ebu{"ebu"}\r
-        ee{"ee"}\r
-        efi{"efi"}\r
+        ee{"Éabhais"}\r
         egy{"Sean-Éigiptis"}\r
-        eka{"eka"}\r
         el{"Gréigis"}\r
         en{"Béarla"}\r
         en_AU{"Béarla Astrálach"}\r
@@ -117,8 +90,9 @@ ga{
         es_MX{"Spáinnis Mheicsiceach"}\r
         et{"Eastóinis"}\r
         eu{"Bascais"}\r
-        ewo{"ewo"}\r
+        ewo{"Éabhandóis"}\r
         fa{"Peirsis"}\r
+        fa_AF{"Dairis"}\r
         ff{"Fuláinis"}\r
         fi{"Fionlainnis"}\r
         fil{"Filipínis"}\r
@@ -134,7 +108,6 @@ ga{
         fur{"Friúilis"}\r
         fy{"Freaslainnis Iartharach"}\r
         ga{"Gaeilge"}\r
-        gaa{"gaa"}\r
         gan{"Sínis Gan"}\r
         gd{"Gaeilge na hAlban"}\r
         gez{"Aetóipis"}\r
@@ -143,14 +116,11 @@ ga{
         gmh{"Meán-Ard-Ghearmáinis"}\r
         gn{"Guaráinis"}\r
         goh{"Sean-Ard-Ghearmáinis"}\r
-        gor{"gor"}\r
         grc{"Sean-Ghréigis"}\r
         gsw{"Gearmáinis Eilvéiseach"}\r
         gu{"Gúisearáitis"}\r
         guc{"Uaúis"}\r
-        guz{"guz"}\r
         gv{"Manainnis"}\r
-        gwi{"gwi"}\r
         ha{"Hásais"}\r
         hak{"Haicéis"}\r
         haw{"Haváis"}\r
@@ -170,14 +140,11 @@ ga{
         hy{"Airméinis"}\r
         hz{"Heiréiris"}\r
         ia{"Interlingua"}\r
-        iba{"iba"}\r
         ibb{"Ibibis"}\r
         id{"Indinéisis"}\r
         ie{"Interlingue"}\r
         ig{"Íogbóis"}\r
-        ii{"ii"}\r
         ik{"Iniúipiaicis"}\r
-        ilo{"ilo"}\r
         inh{"Iongúis"}\r
         io{"Ido"}\r
         is{"Íoslainnis"}\r
@@ -192,16 +159,10 @@ ga{
         ka{"Seoirsis"}\r
         kaa{"Cara-Chalpáis"}\r
         kab{"Caibílis"}\r
-        kac{"kac"}\r
-        kaj{"kaj"}\r
         kam{"Cambais"}\r
-        kbd{"kbd"}\r
-        kcg{"kcg"}\r
         kde{"Makonde"}\r
         kea{"Kabuverdianu"}\r
-        kfo{"kfo"}\r
         kg{"Congóis"}\r
-        kha{"kha"}\r
         khq{"Koyra Chiini"}\r
         ki{"Ciocúis"}\r
         kj{"Cuainiáimis"}\r
@@ -210,21 +171,14 @@ ga{
         kl{"Kalaallisut"}\r
         kln{"Kalenjin"}\r
         km{"Ciméiris"}\r
-        kmb{"kmb"}\r
         kn{"Cannadais"}\r
         ko{"Cóiréis"}\r
         kok{"Concáinis"}\r
-        kpe{"kpe"}\r
         kr{"Canúiris"}\r
-        krc{"krc"}\r
         krl{"Cairéilis"}\r
         kru{"Curúicis"}\r
         ks{"Caismíris"}\r
-        ksb{"ksb"}\r
-        ksf{"ksf"}\r
-        ksh{"ksh"}\r
         ku{"Coirdis"}\r
-        kum{"kum"}\r
         kv{"Coimis"}\r
         kw{"Coirnis"}\r
         ky{"Cirgisis"}\r
@@ -233,7 +187,6 @@ ga{
         lag{"Langi"}\r
         lah{"Puinseáibis Iartharach"}\r
         lb{"Lucsambuirgis"}\r
-        lez{"lez"}\r
         lg{"Lugandais"}\r
         li{"Liombuirgis"}\r
         lij{"Liogúiris"}\r
@@ -242,22 +195,14 @@ ga{
         lmo{"Lombairdis"}\r
         ln{"Liongáilis"}\r
         lo{"Laoisis"}\r
-        loz{"loz"}\r
         lrc{"Luri Thuaidh"}\r
         lt{"Liotuáinis"}\r
         lu{"Lúba-Cataingis"}\r
-        lua{"lua"}\r
-        lun{"lun"}\r
         luo{"Lúóis"}\r
-        lus{"lus"}\r
         luy{"Luyia"}\r
         lv{"Laitvis"}\r
-        mad{"mad"}\r
-        mag{"mag"}\r
-        mai{"mai"}\r
-        mak{"mak"}\r
+        mai{"Maitilis"}\r
         mas{"Másais"}\r
-        mdf{"mdf"}\r
         men{"Meindis"}\r
         mer{"Meru"}\r
         mfe{"Morisyen"}\r
@@ -267,25 +212,20 @@ ga{
         mgo{"Metaʼ"}\r
         mh{"Mairsillis"}\r
         mi{"Maorais"}\r
-        mic{"mic"}\r
-        min{"min"}\r
         mk{"Macadóinis"}\r
         ml{"Mailéalaimis"}\r
         mn{"Mongóilis"}\r
         mni{"Manapúiris"}\r
         moh{"Móháicis"}\r
-        mos{"mos"}\r
         mr{"Maraitis"}\r
         mrj{"Mairis Iartharach"}\r
         ms{"Malaeis"}\r
         mt{"Máltais"}\r
         mua{"Mundang"}\r
         mul{"Ilteangacha"}\r
-        mus{"mus"}\r
         mwl{"Mioraindéis"}\r
         mwr{"Marmhairis"}\r
         my{"Burmais"}\r
-        myv{"myv"}\r
         mzn{"Mazanderani"}\r
         na{"Nárúis"}\r
         nan{"Sínis Min Nan"}\r
@@ -296,9 +236,7 @@ ga{
         nds{"Gearmáinis Íochtarach"}\r
         nds_NL{"Sacsainis Íochtarach"}\r
         ne{"Neipeailis"}\r
-        new{"new"}\r
         ng{"Ndongais"}\r
-        nia{"nia"}\r
         niu{"Níobhais"}\r
         nl{"Ollainnis"}\r
         nl_BE{"Pléimeannais"}\r
@@ -306,9 +244,7 @@ ga{
         nn{"Nua-Ioruais"}\r
         nnh{"Ngiemboon"}\r
         no{"Ioruais"}\r
-        nog{"nog"}\r
         non{"Sean-Lochlainnis"}\r
-        nqo{"nqo"}\r
         nr{"Ndeibéilis an Deiscirt"}\r
         nso{"Sútúis an Tuaiscirt"}\r
         nus{"Nuer"}\r
@@ -321,11 +257,6 @@ ga{
         or{"Oirísis"}\r
         os{"Oiséitis"}\r
         pa{"Puinseáibis"}\r
-        pag{"pag"}\r
-        pam{"pam"}\r
-        pap{"pap"}\r
-        pau{"pau"}\r
-        pcm{"pcm"}\r
         peo{"Sean-Pheirsis"}\r
         pi{"Páilis"}\r
         pl{"Polainnis"}\r
@@ -336,39 +267,29 @@ ga{
         pt_PT{"Portaingéilis Ibéarach"}\r
         qu{"Ceatsuais"}\r
         quc{"Cuitséis"}\r
-        rap{"rap"}\r
-        rar{"rar"}\r
         rm{"Rómainis"}\r
         rn{"Rúindis"}\r
         ro{"Rómáinis"}\r
         ro_MD{"Moldáivis"}\r
-        rof{"rof"}\r
         rom{"Romainis"}\r
-        root{"root"}\r
+        root{"Root"}\r
         ru{"Rúisis"}\r
         rup{"Arómáinis"}\r
         rw{"Ciniaruaindis"}\r
-        rwk{"rwk"}\r
         sa{"Sanscrait"}\r
-        sad{"sad"}\r
         sah{"Sachais"}\r
         sam{"Aramais Shamárach"}\r
-        saq{"saq"}\r
         sat{"Santáilis"}\r
-        sba{"sba"}\r
-        sbp{"sbp"}\r
         sc{"Sairdínis"}\r
         scn{"Sicilis"}\r
         sco{"Albainis"}\r
         sd{"Sindis"}\r
         se{"Sáimis Thuaidh"}\r
-        seh{"seh"}\r
         ses{"Koyraboro Senni"}\r
         sg{"Sangóis"}\r
         sga{"Sean-Ghaeilge"}\r
         sh{"Seirbea-Chróitis"}\r
         shi{"Tachelhit"}\r
-        shn{"shn"}\r
         si{"Siolóinis"}\r
         sk{"Slóvaicis"}\r
         sl{"Slóivéinis"}\r
@@ -378,17 +299,13 @@ ga{
         smn{"Sáimis Inari"}\r
         sms{"Sáimis Skolt"}\r
         sn{"Seoinis"}\r
-        snk{"snk"}\r
         so{"Somáilis"}\r
         sog{"Sogdánais"}\r
         sq{"Albáinis"}\r
         sr{"Seirbis"}\r
-        srn{"srn"}\r
         ss{"Suaisis"}\r
-        ssy{"ssy"}\r
         st{"Seasóitis"}\r
         su{"Sundais"}\r
-        suk{"suk"}\r
         sux{"Suiméiris"}\r
         sv{"Sualainnis"}\r
         sw{"Svahaílis"}\r
@@ -398,13 +315,10 @@ ga{
         szl{"Siléisis"}\r
         ta{"Tamailis"}\r
         te{"Teileagúis"}\r
-        tem{"tem"}\r
-        teo{"teo"}\r
-        tet{"tet"}\r
+        teo{"Teso"}\r
         tg{"Táidsícis"}\r
         th{"Téalainnis"}\r
         ti{"Tigrinis"}\r
-        tig{"tig"}\r
         tk{"Tuircméinis"}\r
         tl{"Tagálaigis"}\r
         tlh{"Klingon"}\r
@@ -412,20 +326,15 @@ ga{
         to{"Tongais"}\r
         tpi{"Tok Pisin"}\r
         tr{"Tuircis"}\r
-        trv{"trv"}\r
         ts{"Songais"}\r
         tt{"Tatairis"}\r
-        tum{"tum"}\r
-        tvl{"tvl"}\r
         tw{"Tíbhis"}\r
-        twq{"twq"}\r
+        twq{"Tasawaq"}\r
         ty{"Taihítis"}\r
-        tyv{"tyv"}\r
         tzm{"Tamazight Atlais Láir"}\r
         udm{"Udmairtis"}\r
         ug{"Uigiúiris"}\r
         uk{"Úcráinis"}\r
-        umb{"umb"}\r
         und{"Teanga Anaithnid"}\r
         ur{"Urdúis"}\r
         uz{"Úisbéiceastáinis"}\r
@@ -435,18 +344,13 @@ ga{
         vi{"Vítneaimis"}\r
         vls{"Pléimeannais Iartharach"}\r
         vo{"Volapük"}\r
-        vun{"vun"}\r
+        vun{"Vunjo"}\r
         wa{"Vallúnais"}\r
-        wae{"wae"}\r
-        wal{"wal"}\r
-        war{"war"}\r
+        wae{"Walser"}\r
         wo{"Volaifis"}\r
-        wuu{"wuu"}\r
         xal{"Cailmícis"}\r
         xh{"Cóisis"}\r
-        xog{"xog"}\r
-        yav{"yav"}\r
-        ybb{"ybb"}\r
+        yav{"Yangben"}\r
         yi{"Giúdais"}\r
         yo{"Iarúibis"}\r
         yue{"Cantainis"}\r
@@ -459,7 +363,6 @@ ga{
         zu{"Súlúis"}\r
         zun{"Zúinis"}\r
         zxx{"Gan ábhar teangeolaíoch"}\r
-        zza{"zza"}\r
     }\r
     Languages%menu{\r
         yue{"Sínis, Cantainis"}\r
@@ -470,7 +373,7 @@ ga{
         en_US{"Béarla S.A.M."}\r
     }\r
     Scripts{\r
-        Adlm{"Adlm"}\r
+        Adlm{"Adlam"}\r
         Aghb{"Albánach Cugasach"}\r
         Ahom{"Ahom"}\r
         Arab{"Arabach"}\r
@@ -478,70 +381,50 @@ ga{
         Armn{"Airméanach"}\r
         Avst{"Aivéisteach"}\r
         Bali{"Bailíoch"}\r
-        Bamu{"Bamu"}\r
-        Bass{"Bass"}\r
         Batk{"Batacach"}\r
         Beng{"Beangálach"}\r
-        Bhks{"Bhks"}\r
         Bopo{"Bopomofo"}\r
-        Brah{"Brah"}\r
         Brai{"Braille"}\r
         Bugi{"Buigineach"}\r
         Buhd{"Buthaideach"}\r
-        Cakm{"Cakm"}\r
-        Cans{"Cans"}\r
-        Cari{"Cari"}\r
-        Cham{"Cham"}\r
+        Cans{"Siollach Bundúchasach Ceanadach Aontaithe"}\r
         Cher{"Seiricíoch"}\r
         Copt{"Coptach"}\r
         Cprt{"Cipireach"}\r
         Cyrl{"Coireallach"}\r
         Deva{"Déiveanágrach"}\r
-        Dsrt{"Dsrt"}\r
-        Dupl{"Dupl"}\r
+        Dupl{"Gearrscríobh Duployan"}\r
         Egyd{"Éigipteach coiteann"}\r
         Egyh{"Éigipteach cliarúil"}\r
         Egyp{"Iairiglifí Éigipteacha"}\r
-        Elba{"Elba"}\r
         Ethi{"Aetópach"}\r
         Geor{"Seoirseach"}\r
         Glag{"Glagalach"}\r
-        Gonm{"Gonm"}\r
         Goth{"Gotach"}\r
-        Gran{"Gran"}\r
         Grek{"Gréagach"}\r
         Gujr{"Gúisearátach"}\r
         Guru{"Gurmúcach"}\r
         Hanb{"Han agus Bopomofo"}\r
         Hang{"Hangalach"}\r
         Hani{"Han"}\r
-        Hano{"Hano"}\r
         Hans{"Simplithe"}\r
         Hant{"Traidisiúnta"}\r
-        Hatr{"Hatr"}\r
         Hebr{"Eabhrach"}\r
         Hira{"Hireagánach"}\r
         Hluw{"Iairiglifí Anatólacha"}\r
-        Hmng{"Hmng"}\r
         Hrkt{"Siollabraí Seapánacha"}\r
         Hung{"Sean-Ungárach"}\r
         Ital{"Sean-Iodáilic"}\r
         Jamo{"Seamó"}\r
         Java{"Iávach"}\r
         Jpan{"Seapánach"}\r
-        Kali{"Kali"}\r
         Kana{"Catacánach"}\r
-        Khar{"Khar"}\r
         Khmr{"Ciméarach"}\r
-        Khoj{"Khoj"}\r
         Knda{"Cannadach"}\r
         Kore{"Cóiréach"}\r
-        Kthi{"Kthi"}\r
-        Lana{"Lana"}\r
         Laoo{"Laosach"}\r
         Latg{"Cló Gaelach"}\r
         Latn{"Laidineach"}\r
-        Lepc{"Lepc"}\r
         Limb{"Liombúch"}\r
         Lina{"Líneach A"}\r
         Linb{"Líneach B"}\r
@@ -549,77 +432,39 @@ ga{
         Lyci{"Liciach"}\r
         Lydi{"Lidiach"}\r
         Mahj{"Mahasánach"}\r
-        Mand{"Mand"}\r
         Mani{"Mainicéasach"}\r
-        Marc{"Marc"}\r
         Maya{"Iairiglifí Máigheacha"}\r
         Mend{"Meindeach"}\r
-        Merc{"Merc"}\r
-        Mero{"Mero"}\r
         Mlym{"Mailéalamach"}\r
-        Modi{"Modi"}\r
         Mong{"Mongólach"}\r
-        Mroo{"Mroo"}\r
-        Mtei{"Mtei"}\r
-        Mult{"Mult"}\r
+        Mult{"Multani"}\r
         Mymr{"Maenmarach"}\r
         Narb{"Sean-Arabach Thuaidh"}\r
-        Nbat{"Nbat"}\r
         Newa{"Newa"}\r
-        Nkoo{"Nkoo"}\r
-        Nshu{"Nshu"}\r
         Ogam{"Ogham"}\r
-        Olck{"Olck"}\r
-        Orkh{"Orkh"}\r
         Orya{"Oiríseach"}\r
-        Osge{"Osge"}\r
-        Osma{"Osma"}\r
-        Palm{"Palm"}\r
-        Pauc{"Pauc"}\r
         Perm{"Sean-Pheirmeach"}\r
-        Phag{"Phag"}\r
-        Phli{"Phli"}\r
-        Phlp{"Phlp"}\r
         Phnx{"Féiníceach"}\r
         Plrd{"Pollard Foghrach"}\r
         Prti{"Pairtiach Inscríbhinniúil"}\r
-        Rjng{"Rjng"}\r
         Runr{"Rúnach"}\r
         Samr{"Samárach"}\r
         Sarb{"Sean-Arabach Theas"}\r
-        Saur{"Saur"}\r
-        Sgnw{"Sgnw"}\r
         Shaw{"Shawach"}\r
-        Shrd{"Shrd"}\r
-        Sidd{"Sidd"}\r
-        Sind{"Sind"}\r
         Sinh{"Siolónach"}\r
-        Sora{"Sora"}\r
-        Soyo{"Soyo"}\r
-        Sund{"Sund"}\r
-        Sylo{"Sylo"}\r
+        Sund{"Sundainéis"}\r
         Syrc{"Siriceach"}\r
-        Tagb{"Tagb"}\r
-        Takr{"Takr"}\r
-        Tale{"Tale"}\r
-        Talu{"Talu"}\r
         Taml{"Tamalach"}\r
-        Tang{"Tang"}\r
-        Tavt{"Tavt"}\r
         Telu{"Teileagúch"}\r
         Tfng{"Tifinagh"}\r
         Tglg{"Tagálagach"}\r
         Thaa{"Tánach"}\r
         Thai{"Téalannach"}\r
         Tibt{"Tibéadach"}\r
-        Tirh{"Tirh"}\r
         Ugar{"Úgairíteach"}\r
-        Vaii{"Vaii"}\r
-        Wara{"Wara"}\r
         Xpeo{"Sean-Pheirseach"}\r
         Xsux{"Dingchruthach Suiméar-Acádach"}\r
         Yiii{"Ís"}\r
-        Zanb{"Zanb"}\r
         Zinh{"Oidhreacht"}\r
         Zmth{"Nodaireacht Mhatamaiticiúil"}\r
         Zsye{"Emoji"}\r
@@ -639,15 +484,11 @@ ga{
             coptic{"Féilire Coptach"}\r
             dangi{"Féilire Dangi"}\r
             ethiopic{"Féilire Aetóipice"}\r
-            ethiopic-amete-alem{"ethiopic-amete-alem"}\r
+            ethiopic-amete-alem{"Féilire Aetóipice Amete Alem"}\r
             gregorian{"Féilire Ghréagóra"}\r
             hebrew{"Féilire na nEabhrach"}\r
             indian{"Féilire Náisiúnta na hIndia"}\r
             islamic{"Féilire Ioslamach"}\r
-            islamic-civil{"islamic-civil"}\r
-            islamic-rgsa{"islamic-rgsa"}\r
-            islamic-tbla{"islamic-tbla"}\r
-            islamic-umalqura{"islamic-umalqura"}\r
             iso8601{"Féilire ISO-8601"}\r
             japanese{"Féilire Seapánach"}\r
             persian{"Féilire Peirseach"}\r
@@ -659,22 +500,16 @@ ga{
         }\r
         collation{\r
             big5han{"Ord sórtála Síneach traidisiúnta - Big5"}\r
-            compat{"compat"}\r
-            dictionary{"dictionary"}\r
+            dictionary{"Ord Sórtála Foclóirí"}\r
             ducet{"Ord Sórtála Réamhshocraithe Unicode"}\r
-            emoji{"emoji"}\r
-            eor{"eor"}\r
+            emoji{"Ord Sórtála Emoji"}\r
             gb2312han{"Ord sórtála Síneach simplithe - GB 2312"}\r
             phonebook{"Ord sórtála an eolaire teileafóin"}\r
             pinyin{"Ord sórtála pinyin"}\r
-            reformed{"reformed"}\r
             search{"Cuardach Ilfhóinteach"}\r
-            searchjl{"searchjl"}\r
             standard{"Ord Sórtála Caighdeánach"}\r
             stroke{"Ord sórtála stríce"}\r
             traditional{"Ord sórtála traidisiúnta"}\r
-            unihan{"unihan"}\r
-            zhuyin{"zhuyin"}\r
         }\r
         hc{\r
             h11{"Córas 12 Uair (0–11)"}\r
@@ -693,22 +528,21 @@ ga{
             ussystem{"Córas Tomhais SAM"}\r
         }\r
         numbers{\r
-            ahom{"ahom"}\r
+            ahom{"Digití Ahom"}\r
             arab{"Digití Ind-Arabacha"}\r
             arabext{"Digití Ind-Arabacha Breisithe"}\r
             armn{"Uimhreacha Airméanacha"}\r
             armnlow{"Uimhreacha Cás Íochtair Airméanacha"}\r
             bali{"Digití Bailíocha"}\r
             beng{"Digití Beangálacha"}\r
-            brah{"brah"}\r
-            cakm{"cakm"}\r
-            cham{"cham"}\r
+            brah{"Digití Brahmi"}\r
+            cakm{"Digití Chakma"}\r
+            cham{"Digití Cham"}\r
             cyrl{"Uimhreacha Coireallacha"}\r
             deva{"Digití Déiveanágracha"}\r
             ethi{"Uimhreacha Aetóipice"}\r
             fullwide{"Digití Lánleithid"}\r
             geor{"Uimhreacha Seoirseacha"}\r
-            gonm{"gonm"}\r
             grek{"Uimhreacha Gréagacha"}\r
             greklow{"Uimhreacha Cás Íochtair Gréagacha"}\r
             gujr{"Digití Gúisearátacha"}\r
@@ -719,144 +553,94 @@ ga{
             hant{"Uimhreacha sa tSínis Thraidisiúnta"}\r
             hantfin{"Uimhreacha Airgeadúla sa tSínis Thraidisiúnta"}\r
             hebr{"Uimhreacha Eabhracha"}\r
-            hmng{"hmng"}\r
             java{"Digití Iávacha"}\r
             jpan{"Uimhreacha Seapánacha"}\r
             jpanfin{"Uimhreacha Airgeadúla Seapánacha"}\r
-            kali{"kali"}\r
             khmr{"Digití Ciméaracha"}\r
             knda{"Digití Cannadacha"}\r
-            lana{"lana"}\r
-            lanatham{"lanatham"}\r
             laoo{"Digití Laosacha"}\r
             latn{"Digití Iartharacha"}\r
-            lepc{"lepc"}\r
-            limb{"limb"}\r
-            mathbold{"mathbold"}\r
-            mathdbl{"mathdbl"}\r
-            mathmono{"mathmono"}\r
-            mathsanb{"mathsanb"}\r
-            mathsans{"mathsans"}\r
             mlym{"Digití Mailéalamacha"}\r
-            modi{"modi"}\r
             mong{"Digití Mongólacha"}\r
-            mroo{"mroo"}\r
-            mtei{"mtei"}\r
             mymr{"Digití Maenmaracha"}\r
-            mymrshan{"mymrshan"}\r
-            mymrtlng{"mymrtlng"}\r
-            nkoo{"nkoo"}\r
-            olck{"olck"}\r
             orya{"Digití Oiríseacha"}\r
-            osma{"osma"}\r
             roman{"Uimhreacha Rómhánacha"}\r
             romanlow{"Uimhreacha Cás Íochtair Rómhánacha"}\r
-            saur{"saur"}\r
-            shrd{"shrd"}\r
-            sind{"sind"}\r
-            sinh{"sinh"}\r
-            sora{"sora"}\r
-            sund{"sund"}\r
-            takr{"takr"}\r
-            talu{"talu"}\r
             taml{"Uimhreacha Traidisiúnta Tamalacha"}\r
             tamldec{"Digití Tamalacha"}\r
             telu{"Digití Teileagúcha"}\r
             thai{"Digití Téalannacha"}\r
             tibt{"Digití Tibéadacha"}\r
-            tirh{"tirh"}\r
-            vaii{"vaii"}\r
-            wara{"wara"}\r
         }\r
     }\r
     Variants{\r
-        1606NICT{"1606NICT"}\r
         1694ACAD{"Nua-Fhraincis Mhoch"}\r
         1901{"Litriú Traidisiúnta na Gearmáinise"}\r
         1959ACAD{"Acadúil"}\r
-        1994{"1994"}\r
-        1996{"1996"}\r
-        ABL1943{"ABL1943"}\r
         ALALC97{"Rómhánú ALA-LC, eagrán 1997"}\r
-        ALUKU{"ALUKU"}\r
-        AO1990{"AO1990"}\r
         AREVELA{"Airméinis an Oirthir"}\r
         AREVMDA{"Airméinis an Iarthair"}\r
-        BAKU1926{"BAKU1926"}\r
-        BALANKA{"BALANKA"}\r
-        BARLA{"BARLA"}\r
         BASICENG{"Bun-Bhéarla"}\r
-        BAUDDHA{"BAUDDHA"}\r
-        BISCAYAN{"BISCAYAN"}\r
-        BISKE{"BISKE"}\r
+        BAUDDHA{"Bauddha"}\r
+        BISCAYAN{"BIOSCÁNACH"}\r
+        BISKE{"Canúint San Giorgo/Bila"}\r
         BOHORIC{"Aibítir Bohorič"}\r
-        BOONT{"BOONT"}\r
-        COLB1945{"COLB1945"}\r
+        BOONT{"Boontling"}\r
         CORNU{"Béarla an Choirn"}\r
         DAJNKO{"Aibítir Dajnko"}\r
-        EKAVSK{"EKAVSK"}\r
         EMODENG{"Nua-Bhéarla Moch"}\r
         FONIPA{"Fogharscríobh IPA"}\r
-        FONNAPA{"FONNAPA"}\r
+        FONNAPA{"Fonnapa"}\r
         FONUPA{"Fogharscríobh UPA"}\r
-        FONXSAMP{"FONXSAMP"}\r
+        FONXSAMP{"Fonxsamp"}\r
         HEPBURN{"Rómhánú Hepburn"}\r
-        HOGNORSK{"HOGNORSK"}\r
-        HSISTEMO{"HSISTEMO"}\r
-        IJEKAVSK{"IJEKAVSK"}\r
-        ITIHASA{"ITIHASA"}\r
-        JAUER{"JAUER"}\r
-        JYUTPING{"JYUTPING"}\r
+        HOGNORSK{"Hognorsk"}\r
+        HSISTEMO{"Hsistemo"}\r
+        ITIHASA{"Itihasa"}\r
+        JAUER{"Jauer"}\r
+        JYUTPING{"Jyutping"}\r
         KKCOR{"Gnáth-Litriú"}\r
-        KOCIEWIE{"KOCIEWIE"}\r
+        KOCIEWIE{"Kociewie"}\r
         KSCOR{"Litriú Caighdeánach"}\r
-        LAUKIKA{"LAUKIKA"}\r
-        LIPAW{"LIPAW"}\r
-        LUNA1918{"LUNA1918"}\r
+        LAUKIKA{"Laukika"}\r
+        LUNA1918{"Luna1918"}\r
         METELKO{"Aibítir Metelko"}\r
         MONOTON{"Aontonach"}\r
-        NDYUKA{"NDYUKA"}\r
-        NEDIS{"NEDIS"}\r
         NEWFOUND{"Talamh an Éisc"}\r
-        NJIVA{"NJIVA"}\r
+        NJIVA{"Canúint Gniva/Njiva"}\r
         NULIK{"Volapük Nua-Aimseartha"}\r
-        OSOJS{"OSOJS"}\r
         OXENDICT{"Litriú OED"}\r
-        PAHAWH2{"PAHAWH2"}\r
-        PAHAWH3{"PAHAWH3"}\r
-        PAHAWH4{"PAHAWH4"}\r
-        PAMAKA{"PAMAKA"}\r
-        PETR1708{"PETR1708"}\r
+        PAHAWH2{"Pahawh2"}\r
+        PAHAWH3{"Pahawh3"}\r
+        PAHAWH4{"Pahawh4"}\r
+        PETR1708{"Petr1708"}\r
         PINYIN{"Rómhánú Pinyin"}\r
         POLYTON{"Iltonach"}\r
         POSIX{"Ríomhaire"}\r
-        PUTER{"PUTER"}\r
+        PUTER{"Puter"}\r
         REVISED{"Litriú Athbhreithnithe"}\r
         RIGIK{"Volapük Clasaiceach"}\r
-        ROZAJ{"ROZAJ"}\r
-        RUMGR{"RUMGR"}\r
-        SAAHO{"SAAHO"}\r
+        ROZAJ{"Reisiach"}\r
+        RUMGR{"Rumgr"}\r
+        SAAHO{"Saho"}\r
         SCOTLAND{"Béarla Caighdeánach na hAlban"}\r
         SCOUSE{"Béarla Learphoill"}\r
         SIMPLE{"Simplí"}\r
-        SOLBA{"SOLBA"}\r
-        SOTAV{"SOTAV"}\r
-        SPANGLIS{"SPANGLIS"}\r
-        SURMIRAN{"SURMIRAN"}\r
-        SURSILV{"SURSILV"}\r
-        SUTSILV{"SUTSILV"}\r
-        TARASK{"TARASK"}\r
+        SPANGLIS{"Spainglis"}\r
+        SURMIRAN{"Surmiran"}\r
+        SURSILV{"Sursilvan"}\r
+        SUTSILV{"Sutsilv"}\r
         UCCOR{"Litriú Comhaontaithe"}\r
         UCRCOR{"Litriú Comhaontaithe Athbhreithnithe"}\r
         ULSTER{"Cúige Uladh"}\r
         UNIFON{"Aibítir foghraíochta Unifon"}\r
         VAIDIKA{"Véideach"}\r
         VALENCIA{"Vaileinsis"}\r
-        VALLADER{"VALLADER"}\r
+        VALLADER{"Vallader"}\r
         WADEGILE{"Rómhánú Wade-Giles"}\r
-        XSISTEMO{"XSISTEMO"}\r
+        XSISTEMO{"Xsistemo"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — Uile"}\r
         category-list{"{0}: {1}"}\r
index 3f6276a..d68c86a 100644 (file)
@@ -169,6 +169,7 @@ gd{
         ewo{"Ewondo"}\r
         ext{"Cànan na h-Extremadura"}\r
         fa{"Peirsis"}\r
+        fa_AF{"Dari"}\r
         fan{"Fang"}\r
         fat{"Fanti"}\r
         ff{"Fulah"}\r
@@ -748,7 +749,7 @@ gd{
         Phnx{"Pheniceach"}\r
         Plrd{"Miao Phollard"}\r
         Prti{"Partais snaidh-sgrìobhte"}\r
-        Qaag{"Qaag"}\r
+        Qaag{"Zawgyi"}\r
         Rjng{"Rejang"}\r
         Rohg{"Hanifi Rohingya"}\r
         Roro{"Rongorongo"}\r
@@ -966,13 +967,13 @@ gd{
         1994{"Litreachadh stannardach dual-chainnt Resia"}\r
         1996{"Litreachadh na Gearmailtise 1996"}\r
         ABL1943{"Gnàthas-litreachaidh 1943"}\r
-        AKUAPEM{"AKUAPEM"}\r
+        AKUAPEM{"Akuapem"}\r
         ALALC97{"Ròmanachadh ALA-LC 1997"}\r
         ALUKU{"Dual-chainnt Aluku"}\r
         AO1990{"Aonta litreachadh na Portagailise 1990"}\r
         AREVELA{"Airmeinis an Ear"}\r
         AREVMDA{"Airmeinis an Iar"}\r
-        ASANTE{"ASANTE"}\r
+        ASANTE{"Asante"}\r
         BAKU1926{"Abidil Laideann aonaichte na Turcaise"}\r
         BALANKA{"Dual-chainnt Balanka de Anii"}\r
         BARLA{"Dual-chainntean Barlavento de Kabuverdianu"}\r
@@ -988,15 +989,18 @@ gd{
         EKAVSK{"Sèirbhis le fuaimneachadh iarach"}\r
         EMODENG{"Nua-Bheurla thràth"}\r
         FONIPA{"Comharran fuaim-eòlais an IPA"}\r
-        FONNAPA{"FONNAPA"}\r
+        FONNAPA{"Aibidil Fhuaim-eòlach Aimeireaga a Tuath"}\r
         FONUPA{"Comharran fuaim-eòlais an UPA"}\r
-        FONXSAMP{"FONXSAMP"}\r
+        FONXSAMP{"Tar-sgrìobhadh X-SAMPA"}\r
         HEPBURN{"Ròmanachadh Hepburn"}\r
         HOGNORSK{"Høgnorsk"}\r
-        HSISTEMO{"HSISTEMO"}\r
+        HSISTEMO{"Roghainn-èiginn stannardach litreachadh na h-Esperanto le h"}\r
         IJEKAVSK{"Sèirbis le fuaimneachadh Ijekavia"}\r
         ITIHASA{"Itihasa"}\r
-        IVANCHOV{"IVANCHOV"}\r
+        IVANCHOV{\r
+            "Bulgarian in 1899 orthography = Bulgairis le litreachadh na bliadhna 189"\r
+            "9"\r
+        }\r
         JAUER{"Jauer"}\r
         JYUTPING{"Jyutping"}\r
         KKCOR{"Litreachadh coitcheann"}\r
@@ -1004,7 +1008,7 @@ gd{
         KSCOR{"Litreachadh stannardach"}\r
         LAUKIKA{"Laukika"}\r
         LIPAW{"Dual-chainnt Lipovaz Resia"}\r
-        LUNA1918{"LUNA1918"}\r
+        LUNA1918{"Litreachadh na Ruisise às dèidh 1917"}\r
         METELKO{"Aibidil Metelko"}\r
         MONOTON{"Greugais mhonotonach"}\r
         NDYUKA{"Dual-chainnt Ndyuka"}\r
@@ -1030,7 +1034,7 @@ gd{
         SAAHO{"Saho"}\r
         SCOTLAND{"Beurla Stannardach na h-Alba"}\r
         SCOUSE{"Scouse"}\r
-        SIMPLE{"SIMPLE"}\r
+        SIMPLE{"Samhlaidhean sìmplichte"}\r
         SOLBA{"Dual-chainnt Stolvizza/Solbica"}\r
         SOTAV{"Dual-chainntean Sotavento de Kabuverdianu"}\r
         SPANGLIS{"Spanglish"}\r
@@ -1046,9 +1050,9 @@ gd{
         VALENCIA{"Valencià"}\r
         VALLADER{"Vallader"}\r
         WADEGILE{"Ròmanachadh Wade-Giles"}\r
-        XSISTEMO{"XSISTEMO"}\r
+        XSISTEMO{"Roghainn-èiginn stannardach litreachadh na h-Esperanto le x"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} – na h-uile"}\r
         category-list{"{0}: {1}"}\r
index a8cba27..57aab13 100644 (file)
@@ -70,6 +70,7 @@ gl{
         bug{"buginés"}\r
         byn{"blin"}\r
         ca{"catalán"}\r
+        ccp{"chakma"}\r
         ce{"checheno"}\r
         ceb{"cebuano"}\r
         cgg{"kiga"}\r
@@ -121,6 +122,7 @@ gl{
         eu{"éuscaro"}\r
         ewo{"ewondo"}\r
         fa{"persa"}\r
+        fa_AF{"dari"}\r
         ff{"fula"}\r
         fi{"finés"}\r
         fil{"filipino"}\r
@@ -632,7 +634,7 @@ gl{
             vaii{"Díxitos Vai"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} (todo)"}\r
         category-list{"{0}: {1}"}\r
index e8e7c6a..e45d851 100644 (file)
@@ -449,7 +449,6 @@ gsw{
     }\r
     Scripts{\r
         Arab{"Arabisch"}\r
-        Armi{"Armi"}\r
         Armn{"Armenisch"}\r
         Avst{"Aveschtisch"}\r
         Bali{"Balinesisch"}\r
@@ -463,7 +462,6 @@ gsw{
         Buhd{"Buhid"}\r
         Cans{"UCAS"}\r
         Cari{"Karisch"}\r
-        Cham{"Cham"}\r
         Cher{"Cherokee"}\r
         Cirt{"Cirth"}\r
         Copt{"Koptisch"}\r
@@ -619,7 +617,7 @@ gsw{
         SOLBA{"Solbica-Mundart"}\r
         TARASK{"Taraskievica-Rächtschriibig"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"Schpraach: {0}"}\r
         script{"Schrift: {0}"}\r
index d4f5dfa..48e7ea4 100644 (file)
@@ -157,6 +157,7 @@ gu{
         eu{"બાસ્ક"}\r
         ewo{"ઇવોન્ડો"}\r
         fa{"ફારસી"}\r
+        fa_AF{"ડારી"}\r
         fan{"ફેંગ"}\r
         fat{"ફન્ટી"}\r
         ff{"ફુલાહ"}\r
@@ -202,7 +203,6 @@ gu{
         gwi{"ગ્વિચ’ઇન"}\r
         ha{"હૌસા"}\r
         hai{"હૈડા"}\r
-        hak{"hak"}\r
         haw{"હવાઇયન"}\r
         he{"હીબ્રુ"}\r
         hi{"હિન્દી"}\r
@@ -213,7 +213,6 @@ gu{
         ho{"હિરી મોટૂ"}\r
         hr{"ક્રોએશિયન"}\r
         hsb{"અપર સોર્બિયન"}\r
-        hsn{"hsn"}\r
         ht{"હૈતિઅન ક્રેઓલે"}\r
         hu{"હંગેરિયન"}\r
         hup{"હૂપા"}\r
@@ -349,7 +348,6 @@ gu{
         myv{"એર્ઝયા"}\r
         mzn{"મઝાન્દેરાની"}\r
         na{"નાઉરૂ"}\r
-        nan{"nan"}\r
         nap{"નેપોલિટાન"}\r
         naq{"નમા"}\r
         nb{"નોર્વેજિયન બોકમાલ"}\r
@@ -530,7 +528,6 @@ gu{
         was{"વાશો"}\r
         wbp{"વાર્લ્પીરી"}\r
         wo{"વોલોફ"}\r
-        wuu{"wuu"}\r
         xal{"કાલ્મિક"}\r
         xh{"ખોસા"}\r
         xog{"સોગા"}\r
@@ -858,7 +855,7 @@ gu{
         PINYIN{"પિનયિન રોમનાઇઝેશન"}\r
         WADEGILE{"વેડ-ગિલ્સ રોમનાઇઝેશન"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — તમામ"}\r
         category-list{"{0}: {1}"}\r
index ce8eed6..ab1a5d0 100644 (file)
@@ -48,5 +48,5 @@ guz{
         zh{"Kichina"}\r
         zu{"Kizulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c38305d..7e3f48a 100644 (file)
@@ -4,5 +4,5 @@ gv{
     Languages{\r
         gv{"Gaelg"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c071410..531f30e 100644 (file)
@@ -4,8 +4,11 @@ ha{
     Keys{\r
         calendar{"Kalanda"}\r
         cf{"Yanayin Kudi"}\r
+        collation{"Tsarin Rabewa"}\r
         currency{"Kudin Kasa"}\r
         hc{"Zagayen Awowi"}\r
+        lb{"Salo na Raba Layi"}\r
+        ms{"Tsarin Awo"}\r
         numbers{"Lambobi"}\r
     }\r
     Languages{\r
@@ -184,6 +187,7 @@ ha{
         rof{"Rombo"}\r
         ru{"Rashanci"}\r
         rw{"Kiniyaruwanda"}\r
+        rwk{"yaren Rwa"}\r
         sa{"Sanskrit"}\r
         sah{"Sakha"}\r
         saq{"Samburu"}\r
@@ -241,6 +245,7 @@ ha{
         zh_Hans{"Sauƙaƙaƙƙen Sinanci"}\r
         zh_Hant{"Sinanci na gargajiya"}\r
         zu{"Harshen Zulu"}\r
+        zxx{"Babu abun-ciki na yare"}\r
     }\r
     Languages%menu{\r
         yue{"Sinanci"}\r
@@ -256,6 +261,7 @@ ha{
         Armn{"Armeniyawa"}\r
         Beng{"Bangla"}\r
         Bopo{"Bopomofo"}\r
+        Brai{"Rubutun Makafi"}\r
         Cyrl{"Cyrillic"}\r
         Deva{"Devanagari"}\r
         Ethi{"Ethiopic"}\r
@@ -264,12 +270,34 @@ ha{
         Gujr{"Gujarati"}\r
         Guru{"Gurmukhi"}\r
         Hanb{"Han with Bopomofo"}\r
+        Hang{"Yaren Hangul"}\r
+        Hani{"Mutanen Han na ƙasar Sin"}\r
         Hans{"Sauƙaƙaƙƙen"}\r
         Hant{"Na gargajiya"}\r
         Hebr{"Ibrananci"}\r
+        Hira{"Tsarin Rubutun Hiragana"}\r
+        Hrkt{"kalaman Jafananci"}\r
+        Jpan{"Jafanis"}\r
+        Kana{"Tsarin Rubutun Katakana"}\r
+        Khmr{"Yaren Khmer"}\r
+        Knda{"Yaren Kannada"}\r
+        Kore{"Koriya"}\r
+        Laoo{"Mutanen Laos"}\r
         Latn{"Latin"}\r
+        Mlym{"Yaren Malayalam"}\r
+        Mong{"Na kasar Mongolia"}\r
+        Mymr{"Ƙasar Myanmar"}\r
+        Orya{"Yaren Odia"}\r
+        Sinh{"Yaren Sinhala"}\r
+        Taml{"Yaren Tamil"}\r
+        Telu{"Yaren Telugu"}\r
+        Thaa{"Yaren Thaana"}\r
+        Tibt{"Yaren Tibet"}\r
+        Zmth{"Alamar Lissafi"}\r
+        Zsye{"Alama ta hoto"}\r
         Zsym{"Alamomi"}\r
         Zxxx{"Ba rubutacce ba"}\r
+        Zyyy{"Gama-gari"}\r
         Zzzz{"Rubutun da ba sani ba"}\r
     }\r
     Scripts%stand-alone{\r
@@ -288,8 +316,15 @@ ha{
             iso8601{"Kalanda ISO-8601"}\r
             japanese{"Kalanda Jafan"}\r
             persian{"Kalanda Farisa"}\r
+            roc{"Kalandar kasar Sin"}\r
+        }\r
+        cf{\r
+            account{"Tsarin Kudi na Kididdiga"}\r
+            standard{"Tsarin Kudi Nagartacce"}\r
         }\r
         collation{\r
+            ducet{"Tsarin Rabewa na Dan-maƙalu na Asali"}\r
+            search{"Bincike na Dalilai-Gamagari"}\r
             standard{"Daidai ta ce Kasà"}\r
         }\r
         hc{\r
@@ -298,12 +333,55 @@ ha{
             h23{"Tsarin Awowi 24(0–23)"}\r
             h24{"Tsarin Awowi 24(1–24)"}\r
         }\r
+        lb{\r
+            loose{"Salo na Raba Layi Sakakke"}\r
+            normal{"Salo na Raba Layi na Kodayaushe"}\r
+            strict{"Salo na Raba Layi mai Tsauri"}\r
+        }\r
+        ms{\r
+            metric{"Tsarin Awo na Metric"}\r
+            uksystem{"Tsarin Awo na Imperial"}\r
+            ussystem{"Tsarin Awo na Amurka"}\r
+        }\r
         numbers{\r
             arab{"Lambobi na larabawan a gabas"}\r
+            arabext{"Fitattun lambobin lissafi na Larabci"}\r
+            armn{"Lambobin ƙirga na Armenia"}\r
+            armnlow{"Kananan Haruffan Armenia"}\r
+            beng{"Lambobin Yaren Bangla"}\r
+            deva{"Lambobin Tsarin Rubutu na Devangari"}\r
+            ethi{"Lambobin ƙirga na Ethiopia"}\r
+            fullwide{"Lambobi masu Cikakken-Faɗi"}\r
+            geor{"Lambobin ƙirga na Georgia"}\r
+            grek{"Lambobin ƙirga na Girka"}\r
+            greklow{"Kananan Haruffa na Girka"}\r
+            gujr{"Lambobin Yaren Gujarati"}\r
+            guru{"Lambobi na Tsarin Rubutun Gurmukhi"}\r
+            hanidec{"Lambobin Gomiya na Yaren ƙasar Sin"}\r
+            hans{"Lambobin ƙirga na Yaren ƙasar Sin wanda aka Sauƙaƙa"}\r
+            hansfin{"Lambobin Ƙirgan Kudi na Yaren ƙasar Sin wanda aka Sauƙaƙa"}\r
+            hant{"Lambobin Ƙirga na Yaren ƙasar Sin na Alʼada"}\r
+            hantfin{"Lambobin Ƙirgan Kudi na Yaren ƙasar Sin na Alʼada"}\r
+            hebr{"Lambobin ƙirga na Hebrew"}\r
+            jpan{"Lambobin ƙirga na Jafananci"}\r
+            jpanfin{"Lambobin ƙirgan Kudi na Jafananci"}\r
+            khmr{"Lambobin Yaren Khmer"}\r
+            knda{"Lambobin Yaren Kannada"}\r
+            laoo{"Lambobin Yaren Lao"}\r
             latn{"Lambobi na yammacin"}\r
+            mlym{"Lambobin Yaren Malayalam"}\r
+            mymr{"Lambobin Myanmar"}\r
+            orya{"Lambobin Yaren Odia"}\r
+            roman{"Lambobin Rumawa"}\r
+            romanlow{"Lambobin Kirga Kanana na Rumawa"}\r
+            taml{"Lambobin ƙirga na Tamil na Alʼada"}\r
+            tamldec{"Lambobin Tamil"}\r
+            telu{"Lambobin yaren Telugu"}\r
+            thai{"Lambobin yaren Thai"}\r
+            tibt{"Lambobin yaren Tibet"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"Harshe: {0}"}\r
         script{"Rubutu: {0}"}\r
index 108f478..2744076 100644 (file)
@@ -24,5 +24,5 @@ ha_NE{
         en_GB{"Turanci Ingila"}\r
         en_US{"Amirka Turanci"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fd10222..e558bbd 100644 (file)
@@ -40,5 +40,5 @@ haw{
         zh_Hans{"Pākē Hoʻomaʻalahi ʻia"}\r
         zh_Hant{"Pākē Kuʻuna"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ef032d9..d59ff93 100644 (file)
@@ -153,6 +153,7 @@ he{
         eu{"בסקית"}\r
         ewo{"אוונדו"}\r
         fa{"פרסית"}\r
+        fa_AF{"דארי"}\r
         fan{"פנג"}\r
         fat{"פאנטי"}\r
         ff{"פולה"}\r
@@ -554,14 +555,13 @@ he{
         yue{"סינית, קנטונזית"}\r
         zh{"סינית, מנדרינית"}\r
     }\r
-    Languages%short{\r
-        az{"אזרית"}\r
-    }\r
     Languages%variant{\r
         ps{"פושטו"}\r
     }\r
     Scripts{\r
         Arab{"ערבי"}\r
+        Aran{"נסתעליק"}\r
+        Armi{"ארמית רשמית"}\r
         Armn{"ארמני"}\r
         Bali{"באלינזי"}\r
         Beng{"בנגלי"}\r
@@ -605,9 +605,13 @@ he{
         Maya{"מאיה"}\r
         Mlym{"מליאלאם"}\r
         Mong{"מונגולי"}\r
+        Mtei{"מאיטי מאייק"}\r
         Mymr{"מיאנמר"}\r
+        Nkoo{"נ׳קו"}\r
+        Olck{"אול צ׳יקי"}\r
         Orya{"אודייה"}\r
         Phnx{"פיניקי"}\r
+        Qaag{"זאוגיי"}\r
         Runr{"רוני"}\r
         Sinh{"סינהלה"}\r
         Syrc{"סורי"}\r
@@ -789,7 +793,7 @@ he{
         SCOTLAND{"אנגלית סקוטית סטנדרטית"}\r
         WADEGILE{"ווייד-גיילס, שיטה לתעתוק סינית לאותיות לטיניות"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} - הכל"}\r
         category-list{"{0}: {1}"}\r
index c973677..abcdc34 100644 (file)
@@ -152,6 +152,7 @@ hi{
         eu{"बास्क"}\r
         ewo{"इवोन्डो"}\r
         fa{"फ़ारसी"}\r
+        fa_AF{"दारी"}\r
         fan{"फैन्ग"}\r
         fat{"फन्टी"}\r
         ff{"फुलाह"}\r
@@ -336,7 +337,7 @@ hi{
         myv{"एर्ज़या"}\r
         mzn{"माज़न्देरानी"}\r
         na{"नाउरू"}\r
-        nan{"nan"}\r
+        nan{"मिन नान"}\r
         nap{"नीपोलिटन"}\r
         naq{"नामा"}\r
         nb{"नॉर्वेजियाई बोकमाल"}\r
@@ -544,6 +545,8 @@ hi{
         zh_Hant{"पारंपरिक मैंडेरिन चीनी"}\r
     }\r
     Languages%menu{\r
+        ars{"अरबी, नज्दी"}\r
+        ckb{"कुर्दी, सोरानी"}\r
         yue{"चीनी, कैंटोनीज़"}\r
         zh{"चीनी, मैंडेरिन"}\r
     }\r
@@ -557,6 +560,7 @@ hi{
     }\r
     Scripts{\r
         Arab{"अरबी"}\r
+        Aran{"नस्तालीक़"}\r
         Armi{"इम्पिरियल आर्मेनिक"}\r
         Armn{"आर्मेनियाई"}\r
         Avst{"अवेस्तन"}\r
@@ -650,6 +654,7 @@ hi{
         Phnx{"फोनिशियन"}\r
         Plrd{"पॉलार्ड फोनेटिक"}\r
         Prti{"इंस्क्रिपश्नल पार्थियन"}\r
+        Qaag{"ज़ौजी"}\r
         Rjng{"रीजांग"}\r
         Roro{"रोन्गोरोन्गो"}\r
         Runr{"रूनिक"}\r
@@ -849,7 +854,7 @@ hi{
         POSIX{"कम्प्यूटर"}\r
         REVISED{"संशोधित वर्तनी"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — सभी"}\r
         category-list{"{0}: {1}"}\r
index ab7d76a..93f4924 100644 (file)
@@ -161,6 +161,7 @@ hr{
         eu{"baskijski"}\r
         ewo{"ewondo"}\r
         fa{"perzijski"}\r
+        fa_AF{"dari"}\r
         fan{"fang"}\r
         fat{"fanti"}\r
         ff{"fula"}\r
@@ -562,6 +563,8 @@ hr{
         zh_Hant{"mandarinski kineski (tradicionalni)"}\r
     }\r
     Languages%menu{\r
+        ars{"arapski, najdi"}\r
+        ckb{"kurdski, sorani"}\r
         yue{"kineski, kantonski"}\r
         zh{"kineski, mandarinski"}\r
     }\r
@@ -574,6 +577,7 @@ hr{
     Scripts{\r
         Afak{"afaka pismo"}\r
         Arab{"arapsko pismo"}\r
+        Aran{"nastaliq"}\r
         Armi{"aramejsko pismo"}\r
         Armn{"armensko pismo"}\r
         Avst{"avestansko pismo"}\r
@@ -683,6 +687,7 @@ hr{
         Phnx{"feničko pismo"}\r
         Plrd{"pollard fonetsko pismo"}\r
         Prti{"pisani parthian"}\r
+        Qaag{"zawgyi"}\r
         Rjng{"rejang pismo"}\r
         Roro{"rongorongo pismo"}\r
         Runr{"runsko pismo"}\r
@@ -923,7 +928,7 @@ hr{
         VALENCIA{"valencijski"}\r
         WADEGILE{"Wade-Giles romanizacija"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} – sve"}\r
         category-list{"{0}: {1}"}\r
index e5ec02f..d04359a 100644 (file)
@@ -374,7 +374,7 @@ hsb{
             tibt{"tibetske cyfry"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"rěč: {0}"}\r
         script{"pismo: {0}"}\r
index 0b0ba38..ba2003a 100644 (file)
@@ -160,6 +160,7 @@ hu{
         eu{"baszk"}\r
         ewo{"evondo"}\r
         fa{"perzsa"}\r
+        fa_AF{"dari"}\r
         fan{"fang"}\r
         fat{"fanti"}\r
         ff{"fulani"}\r
@@ -561,6 +562,8 @@ hu{
         zh_Hant{"kínai (hagyományos)"}\r
     }\r
     Languages%menu{\r
+        ars{"arab, nedzsdi"}\r
+        ckb{"kurd, szoráni"}\r
         yue{"kantoni kínai"}\r
         zh{"mandarin"}\r
     }\r
@@ -569,6 +572,7 @@ hu{
     }\r
     Scripts{\r
         Arab{"Arab"}\r
+        Aran{"Nasztalik"}\r
         Armi{"Birodalmi arámi"}\r
         Armn{"Örmény"}\r
         Avst{"Avesztán"}\r
@@ -603,7 +607,7 @@ hu{
         Grek{"Görög"}\r
         Gujr{"Gudzsaráti"}\r
         Guru{"Gurmuki"}\r
-        Hanb{"Hanb"}\r
+        Hanb{"Han bopomofóval"}\r
         Hang{"Hangul"}\r
         Hani{"Han"}\r
         Hano{"Hanunoo"}\r
@@ -660,6 +664,7 @@ hu{
         Phnx{"Főniciai"}\r
         Plrd{"Pollard fonetikus"}\r
         Prti{"Feliratos parthian"}\r
+        Qaag{"Zawgyi"}\r
         Rjng{"Redzsang"}\r
         Roro{"Rongorongo"}\r
         Runr{"Runikus"}\r
@@ -911,7 +916,7 @@ hu{
         VALLADER{"Vallader"}\r
         WADEGILE{"Wade-Giles átírás"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} – összes"}\r
         category-list{"{0}: {1}"}\r
index dcbe426..ece8896 100644 (file)
@@ -67,6 +67,7 @@ hy{
         bug{"բուգիերեն"}\r
         byn{"բիլին"}\r
         ca{"կատալաներեն"}\r
+        ccp{"չակմա"}\r
         ce{"չեչեներեն"}\r
         ceb{"սեբուերեն"}\r
         cgg{"չիգա"}\r
@@ -120,6 +121,7 @@ hy{
         eu{"բասկերեն"}\r
         ewo{"էվոնդո"}\r
         fa{"պարսկերեն"}\r
+        fa_AF{"դարի"}\r
         ff{"ֆուլահ"}\r
         fi{"ֆիններեն"}\r
         fil{"ֆիլիպիներեն"}\r
@@ -485,11 +487,13 @@ hy{
         zxx{"առանց լեզվային բովանդակության"}\r
         zza{"զազաերեն"}\r
     }\r
+    Languages%long{\r
+        zh_Hant{"չինարեն (ավանդական չինարեն)"}\r
+    }\r
     Languages%menu{\r
         yue{"չինարեն, կանտոներեն"}\r
     }\r
     Languages%short{\r
-        az{"ադրբեջաներեն"}\r
         en_GB{"անգլերեն (Բրիտանիա)"}\r
     }\r
     Scripts{\r
@@ -538,10 +542,6 @@ hy{
         Zyyy{"ընդհանուր"}\r
         Zzzz{"անհայտ գիր"}\r
     }\r
-    Scripts%stand-alone{\r
-        Hans{"պարզեցված չինական"}\r
-        Hant{"ավանդական չինական"}\r
-    }\r
     Types{\r
         calendar{\r
             buddhist{"բուդդայական օրացույց"}\r
@@ -623,7 +623,7 @@ hy{
         AREVELA{"արևելահայերեն"}\r
         AREVMDA{"արեւմտահայերէն"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — բոլորը"}\r
         category-list{"{0}․ {1}"}\r
index dee4d26..7f77f6a 100644 (file)
@@ -532,7 +532,7 @@ ia{
             tibt{"cifras tibetan"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — toto"}\r
         category-list{"{0}: {1}"}\r
index fd1b044..9230751 100644 (file)
@@ -164,6 +164,7 @@ id{
         eu{"Basque"}\r
         ewo{"Ewondo"}\r
         fa{"Persia"}\r
+        fa_AF{"Persia Dari"}\r
         fan{"Fang"}\r
         fat{"Fanti"}\r
         ff{"Fula"}\r
@@ -586,6 +587,7 @@ id{
         Afak{"Afaka"}\r
         Aghb{"Albania Kaukasia"}\r
         Arab{"Arab"}\r
+        Aran{"Nastaliq"}\r
         Armi{"Aram Imperial"}\r
         Armn{"Armenia"}\r
         Avst{"Avesta"}\r
@@ -669,7 +671,6 @@ id{
         Merc{"Kursif Meroitik"}\r
         Mero{"Meroitik"}\r
         Mlym{"Malayalam"}\r
-        Modi{"Modi"}\r
         Mong{"Mongolia"}\r
         Moon{"Moon"}\r
         Mroo{"Mro"}\r
@@ -694,6 +695,7 @@ id{
         Phnx{"Phoenix"}\r
         Plrd{"Fonetik Pollard"}\r
         Prti{"Prasasti Parthia"}\r
+        Qaag{"Zawgyi"}\r
         Rjng{"Rejang"}\r
         Roro{"Rongorongo"}\r
         Runr{"Runik"}\r
@@ -952,7 +954,7 @@ id{
         VALENCIA{"Valencia"}\r
         WADEGILE{"Wade-Giles Latin"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — Semua"}\r
         category-list{"{0}: {1}"}\r
index 6cb5c66..024a58f 100644 (file)
@@ -94,7 +94,7 @@ ig{
             latn{"Ọnụ Ọgụgụ Mpaghara Ọdịda Anyanwụ"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"Asụsụ: {0}"}\r
         script{"Mkpụrụ Okwu: {0}"}\r
index 5901146..79a0c92 100644 (file)
@@ -33,7 +33,7 @@ ii{
             islamic{"ꑳꌦꇂꑍꉖ"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"ꅇꉙ: {0}"}\r
         script{"ꇇꁱ: {0}"}\r
index 0390eb2..55f1a99 100644 (file)
@@ -154,6 +154,7 @@ is{
         eu{"baskneska"}\r
         ewo{"evondó"}\r
         fa{"persneska"}\r
+        fa_AF{"darí"}\r
         fan{"fang"}\r
         fat{"fantí"}\r
         ff{"fúla"}\r
@@ -197,7 +198,6 @@ is{
         gwi{"gvísín"}\r
         ha{"hása"}\r
         hai{"haída"}\r
-        hak{"hak"}\r
         haw{"havaíska"}\r
         he{"hebreska"}\r
         hi{"hindí"}\r
@@ -207,7 +207,6 @@ is{
         ho{"hírímótú"}\r
         hr{"króatíska"}\r
         hsb{"hásorbneska"}\r
-        hsn{"hsn"}\r
         ht{"haítíska"}\r
         hu{"ungverska"}\r
         hup{"húpa"}\r
@@ -341,7 +340,6 @@ is{
         myv{"ersja"}\r
         mzn{"masanderaní"}\r
         na{"nárúska"}\r
-        nan{"nan"}\r
         nap{"napólíska"}\r
         naq{"nama"}\r
         nb{"norskt bókmál"}\r
@@ -520,7 +518,6 @@ is{
         was{"vasjó"}\r
         wbp{"varlpiri"}\r
         wo{"volof"}\r
-        wuu{"wuu"}\r
         xal{"kalmúkska"}\r
         xh{"sósa"}\r
         xog{"sóga"}\r
@@ -553,7 +550,6 @@ is{
         zh{"kínverska, mandarín"}\r
     }\r
     Languages%short{\r
-        az{"aserska"}\r
         en_GB{"enska (bresk)"}\r
     }\r
     Scripts{\r
@@ -759,7 +755,7 @@ is{
             vaii{"Vai-tölustafir"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — allt"}\r
         category-list{"{0}: {1}"}\r
index 82ceb01..d7f97eb 100644 (file)
@@ -182,6 +182,7 @@ it{
         ewo{"ewondo"}\r
         ext{"estremegno"}\r
         fa{"persiano"}\r
+        fa_AF{"dari"}\r
         fan{"fang"}\r
         fat{"fanti"}\r
         ff{"fulah"}\r
@@ -472,7 +473,6 @@ it{
         ro_MD{"moldavo"}\r
         rof{"rombo"}\r
         rom{"romani"}\r
-        root{"root"}\r
         rtm{"rotumano"}\r
         ru{"russo"}\r
         rue{"ruteno"}\r
@@ -648,6 +648,7 @@ it{
     Scripts{\r
         Afak{"afaka"}\r
         Arab{"arabo"}\r
+        Aran{"nastaliq"}\r
         Armi{"aramaico imperiale"}\r
         Armn{"armeno"}\r
         Avst{"avestico"}\r
@@ -758,6 +759,7 @@ it{
         Phnx{"fenicio"}\r
         Plrd{"fonetica di pollard"}\r
         Prti{"partico delle iscrizioni"}\r
+        Qaag{"zawgyi"}\r
         Rjng{"rejang"}\r
         Roro{"rongorongo"}\r
         Runr{"runico"}\r
@@ -1026,7 +1028,7 @@ it{
         VALENCIA{"valenziano"}\r
         WADEGILE{"romanizzazione Wade-Giles"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — Tutto"}\r
         category-list{"{0}: {1}"}\r
index 8900afb..791788f 100644 (file)
@@ -179,6 +179,7 @@ ja{
         ewo{"エウォンド語"}\r
         ext{"エストレマドゥーラ語"}\r
         fa{"ペルシア語"}\r
+        fa_AF{"ダリー語"}\r
         fan{"ファング語"}\r
         fat{"ファンティー語"}\r
         ff{"フラ語"}\r
@@ -638,6 +639,8 @@ ja{
         zh_Hant{"標準中国語 (繁体字)"}\r
     }\r
     Languages%menu{\r
+        ars{"アラビア語(ナジュド地方)"}\r
+        ckb{"クルド語(中央)"}\r
         yue{"中国語 (広東語)"}\r
         zh{"中国語 (標準語)"}\r
     }\r
@@ -647,6 +650,7 @@ ja{
         en_US{"英語(米国)"}\r
     }\r
     Languages%variant{\r
+        ckb{"クルド語(ソラニー)"}\r
         ps{"パシュトゥ語"}\r
         ug{"ウィグル語"}\r
     }\r
@@ -654,6 +658,7 @@ ja{
         Afak{"アファカ文字"}\r
         Aghb{"カフカス・アルバニア文字"}\r
         Arab{"アラビア文字"}\r
+        Aran{"ナスタアリーク体"}\r
         Armi{"帝国アラム文字"}\r
         Armn{"アルメニア文字"}\r
         Avst{"アヴェスター文字"}\r
@@ -1022,7 +1027,6 @@ ja{
         KSCOR{"標準コーンウォール語正書法"}\r
         LAUKIKA{"ラウキカ"}\r
         LIPAW{"レージア方言 リポヴァツ方言"}\r
-        LUNA1918{"LUNA1918"}\r
         METELKO{"メテルチッツァ"}\r
         MONOTON{"モノトニック"}\r
         NDYUKA{"ンジュカ方言"}\r
@@ -1031,7 +1035,6 @@ ja{
         NULIK{"現代ヴォラピュク語"}\r
         OSOJS{"オゼアッコ/オソヤネ方言"}\r
         PAMAKA{"パマカ方言"}\r
-        PETR1708{"PETR1708"}\r
         PINYIN{"ピン音(ローマ字表記法)"}\r
         POLYTON{"ポリトニック"}\r
         POSIX{"コンピュータ"}\r
@@ -1039,7 +1042,6 @@ ja{
         REVISED{"改訂版"}\r
         RIGIK{"古典ヴォラピュク語"}\r
         ROZAJ{"レシア方言"}\r
-        RUMGR{"RUMGR"}\r
         SAAHO{"サホ語"}\r
         SCOTLAND{"スコットランド標準英語"}\r
         SCOUSE{"リバプール方言"}\r
@@ -1056,7 +1058,7 @@ ja{
         VALLADER{"ヴァラダー"}\r
         WADEGILE{"ウェード式ローマ字表記法"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — すべて"}\r
         category-list{"{0}: {1}"}\r
index be36580..faa55d7 100644 (file)
@@ -28,5 +28,5 @@ jgo{
             latn{"pɛnɔ́mba"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cf2bede..3c82cab 100644 (file)
@@ -48,5 +48,5 @@ jmc{
         zh{"Kyichina"}\r
         zu{"Kyizulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b9d4cfd..9b93d30 100644 (file)
@@ -12,7 +12,7 @@ jv{
         numbers{"Angka"}\r
     }\r
     Languages{\r
-        af{"af"}\r
+        af{"Afrika"}\r
         agq{"Aghem"}\r
         ak{"Akan"}\r
         am{"Amharik"}\r
@@ -22,9 +22,8 @@ jv{
         asa{"Asu"}\r
         ast{"Asturia"}\r
         az{"Azerbaijan"}\r
-        ban{"ban"}\r
         bas{"Basaa"}\r
-        be{"be"}\r
+        be{"Belarus"}\r
         bem{"Bemba"}\r
         bez{"Bena"}\r
         bg{"Bulgaria"}\r
@@ -33,7 +32,7 @@ jv{
         bo{"Tibet"}\r
         br{"Breton"}\r
         brx{"Bodo"}\r
-        bs{"bs"}\r
+        bs{"Bosnia lan Hercegovina"}\r
         ca{"Katala"}\r
         ccp{"Chakma"}\r
         ce{"Chechen"}\r
@@ -252,7 +251,7 @@ jv{
         en_GB{"Inggris (Britania)"}\r
     }\r
     Scripts{\r
-        Arab{"Arab"}\r
+        Arab{"hija’iyah"}\r
         Armn{"Armenia"}\r
         Beng{"Bangla"}\r
         Bopo{"Bopomofo"}\r
@@ -285,6 +284,7 @@ jv{
         Orya{"Odia"}\r
         Sinh{"Sinhala"}\r
         Taml{"Tamil"}\r
+        Telu{"Telugu"}\r
         Thaa{"Thaana"}\r
         Thai{"Thailand"}\r
         Tibt{"Tibetan"}\r
@@ -376,7 +376,7 @@ jv{
             tibt{"Digit Tibet"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — kabeh"}\r
         compatibility{"{0} — kompatibilitas"}\r
index ece2256..4d8652d 100644 (file)
@@ -136,6 +136,7 @@ ka{
         eu{"ბასკური"}\r
         ewo{"ევონდო"}\r
         fa{"სპარსული"}\r
+        fa_AF{"დარი"}\r
         ff{"ფულა"}\r
         fi{"ფინური"}\r
         fil{"ფილიპინური"}\r
@@ -500,7 +501,6 @@ ka{
         zh{"ჩინური, მანდარინი"}\r
     }\r
     Languages%short{\r
-        az{"აზერბაიჯანული"}\r
         en_GB{"გართ. სამ. ინგლისური"}\r
         en_US{"აშშ ინგლისური"}\r
     }\r
@@ -743,7 +743,7 @@ ka{
             tibt{"ტიბეტური ციფრები"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — ყველა"}\r
         category-list{"{0}: {1}"}\r
index fe7a657..3ec21eb 100644 (file)
@@ -48,5 +48,5 @@ kab{
         zh{"Tacinwat, Tamundarint"}\r
         zu{"Tazulut"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a154bdb..2685682 100644 (file)
@@ -48,5 +48,5 @@ kam{
         zh{"Kichina"}\r
         zu{"Kizulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 609795e..9e79940 100644 (file)
@@ -48,5 +48,5 @@ kde{
         zh{"Chichina"}\r
         zu{"Chizulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1a30dd7..54f6244 100644 (file)
@@ -329,7 +329,7 @@ kea{
             latn{"Nunbru osidental"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"Lingua: {0}"}\r
         script{"Skrita: {0}"}\r
index d5d55a1..c6a0af7 100644 (file)
@@ -48,5 +48,5 @@ khq{
         zh{"Sinuwa senni, Mandareŋ"}\r
         zu{"Julu senni"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d40a785..ec73a1c 100644 (file)
@@ -48,5 +48,5 @@ ki{
         zh{"Kĩcaina"}\r
         zu{"Kizulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e7a2c1b..bbfea9d 100644 (file)
@@ -109,6 +109,7 @@ kk{
         eu{"баск тілі"}\r
         ewo{"эвондо тілі"}\r
         fa{"парсы тілі"}\r
+        fa_AF{"дари тілі"}\r
         ff{"фула тілі"}\r
         fi{"фин тілі"}\r
         fil{"филиппин тілі"}\r
@@ -423,7 +424,6 @@ kk{
         zh{"қытай тілі (мандарин)"}\r
     }\r
     Languages%short{\r
-        az{"әзірбайжан тілі"}\r
         en_GB{"британиялық ағылшын тілі"}\r
         en_US{"америкалық ағылшын тілі"}\r
     }\r
@@ -473,10 +473,6 @@ kk{
         Zyyy{"жалпы"}\r
         Zzzz{"белгісіз жазу"}\r
     }\r
-    Scripts%stand-alone{\r
-        Hans{"жеңілдетілген қытай иероглифы"}\r
-        Hant{"дәстүрлі қытай иероглифы"}\r
-    }\r
     Types{\r
         calendar{\r
             buddhist{"Будда күнтізбесі"}\r
@@ -554,7 +550,7 @@ kk{
             tibt{"Тибет сандары"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — барлығы"}\r
         category-list{"{0}: {1}"}\r
index 03a986e..ff1f48a 100644 (file)
@@ -6,5 +6,5 @@ kkj{
         fr{"numbu buy"}\r
         kkj{"kakɔ"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bc5c2cf..b123a1d 100644 (file)
@@ -4,7 +4,7 @@ kl{
     Languages{\r
         kl{"kalaallisut"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     localeDisplayPattern{\r
         keyTypePattern{"{0}: {1}"}\r
         pattern{"{0} ({1})"}\r
index b24f41e..8b26eea 100644 (file)
@@ -48,5 +48,5 @@ kln{
         zh{"kutitab China"}\r
         zu{"kutitab Zulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6c95a97..44e2769 100644 (file)
@@ -103,6 +103,7 @@ km{
         eu{"បាសខ៍"}\r
         ewo{"អ៊ីវ៉ុនដូ"}\r
         fa{"ភឺសៀន"}\r
+        fa_AF{"ដារី"}\r
         ff{"ហ្វ៊ូឡា"}\r
         fi{"ហ្វាំងឡង់"}\r
         fil{"ហ្វីលីពីន"}\r
@@ -544,7 +545,7 @@ km{
             tibt{"លេខទីបេ"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — ទាំងអស់"}\r
         category-list{"{0}: {1}"}\r
index fe5aa62..239064f 100644 (file)
@@ -151,6 +151,7 @@ kn{
         eu{"ಬಾಸ್ಕ್"}\r
         ewo{"ಇವಾಂಡೋ"}\r
         fa{"ಪರ್ಶಿಯನ್"}\r
+        fa_AF{"ದರಿ"}\r
         fan{"ಫಾಂಗ್"}\r
         fat{"ಫಾಂಟಿ"}\r
         ff{"ಫುಲಾ"}\r
@@ -712,6 +713,7 @@ kn{
             indian{"ಭಾರತೀಯ ರಾಷ್ಟ್ರೀಯ ಕ್ಯಾಲೆಂಡರ್"}\r
             islamic{"ಇಸ್ಲಾಮಿಕ್ ಕ್ಯಾಲೆಂಡರ್"}\r
             islamic-civil{"ಇಸ್ಲಾಮಿಕ್-ಸಿವಿಲ್ ಕ್ಯಾಲೆಂಡರ್"}\r
+            islamic-rgsa{"ಇಸ್ಲಾಮಿಕ್‌ ಕ್ಯಾಲೆಂಡರ್‌ (ಸೌದಿ ಅರೇಬಿಯಾ, ಸೈಟಿಂಗ್‌)bia, sighting)"}\r
             islamic-umalqura{"ಇಸ್ಲಾಮಿಕ್ ಕ್ಯಾಲೆಂಡರ್ (ಉಮ್ ಅಲ್-ಖುರಾ)"}\r
             iso8601{"ISO-8601 ಕ್ಯಾಲೆಂಡರ್"}\r
             japanese{"ಜಪಾನೀಸ್ ಕ್ಯಾಲೆಂಡರ್"}\r
@@ -840,7 +842,7 @@ kn{
             vaii{"ವಾಯ್ ಅಂಕೆಗಳು"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — ಎಲ್ಲ"}\r
         category-list{"{0}: {1}"}\r
index aec5361..8177531 100644 (file)
@@ -159,6 +159,7 @@ ko{
         eu{"바스크어"}\r
         ewo{"이원도어"}\r
         fa{"페르시아어"}\r
+        fa_AF{"다리어"}\r
         fan{"팡그어"}\r
         fat{"판티어"}\r
         ff{"풀라어"}\r
@@ -566,6 +567,7 @@ ko{
         zh_Hant{"중국어(만다린, 번체)"}\r
     }\r
     Languages%menu{\r
+        ckb{"쿠르드어(소라니)"}\r
         yue{"중국어(광둥어)"}\r
         zh{"중국어(만다린)"}\r
     }\r
@@ -576,6 +578,7 @@ ko{
         Afak{"아파카 문자"}\r
         Aghb{"코카시안 알바니아 문자"}\r
         Arab{"아랍 문자"}\r
+        Aran{"나스탈리크체"}\r
         Armi{"아랍제국 문자"}\r
         Armn{"아르메니아 문자"}\r
         Avst{"아베스타 문자"}\r
@@ -688,6 +691,7 @@ ko{
         Phnx{"페니키아 문자"}\r
         Plrd{"폴라드 표음 문자"}\r
         Prti{"명문 파라티아 문자"}\r
+        Qaag{"저지 문자"}\r
         Rjng{"레장 문자"}\r
         Roro{"롱고롱고"}\r
         Runr{"룬 문자"}\r
@@ -930,7 +934,7 @@ ko{
         VAIDIKA{"바이디카"}\r
         VALLADER{"발라더"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — 전체"}\r
         category-list{"{0}: {1}"}\r
index 96767f0..4a58726 100644 (file)
@@ -80,7 +80,7 @@ kok{
         dav{"तायता"}\r
         de{"जर्मन"}\r
         de_AT{"ऑस्ट्रियन जर्मन"}\r
-        de_CH{"सà¥\8dवà¥\80à¤\9d à¤®à¥\8dहान जर्मन"}\r
+        de_CH{"सà¥\8dविà¤\9d à¤¹à¤¾à¤¯ जर्मन"}\r
         dgr{"डोगरीब"}\r
         dje{"झर्मा"}\r
         dsb{"लोवर सोर्बियन"}\r
@@ -96,32 +96,33 @@ kok{
         el{"ग्रीक्"}\r
         en{"इंग्लीश"}\r
         en_AU{"ऑस्ट्रेलियन इंग्लीश"}\r
-        en_CA{"à¤\95à¥\85नाडà¥\80यन इंग्लीश"}\r
+        en_CA{"à¤\95à¥\85नडियन इंग्लीश"}\r
         en_GB{"ब्रिटीश इंग्लीश"}\r
         en_US{"अमेरिकन इंग्लीश"}\r
         eo{"इस्परान्टो"}\r
-        es{"सà¥\8dपà¥\85निश"}\r
-        es_419{"लà¥\85à¤\9fिन à¤\85मà¥\87रिà¤\95न à¤¸à¥\8dपà¥\85निश"}\r
-        es_ES{"यà¥\81रà¥\8bपियन à¤¸à¥\8dपà¥\85निश"}\r
-        es_MX{"मà¥\87à¤\95à¥\8dसिà¤\95न à¤¸à¥\8dपà¥\85निश"}\r
+        es{"सà¥\8dपà¥\85नà¥\80श"}\r
+        es_419{"लातà¥\80à¤\82 à¤\85मà¥\87रिà¤\95न à¤¸à¥\8dपà¥\85नà¥\80श"}\r
+        es_ES{"यà¥\81रà¥\8bपियन à¤¸à¥\8dपà¥\85नà¥\80श"}\r
+        es_MX{"मà¥\85à¤\95à¥\8dसिà¤\95न à¤¸à¥\8dपà¥\85नà¥\80श"}\r
         et{"इस्टोनियन्"}\r
         eu{"बास्क"}\r
         ewo{"एवोंडो"}\r
-        fa{"पर्सियन"}\r
+        fa{"पर्शियन"}\r
+        fa_AF{"दारी"}\r
         ff{"फुला"}\r
         fi{"फिन्निष्"}\r
         fil{"फिलिपिनो"}\r
         fj{"फिजी"}\r
         fo{"फेरोस्"}\r
         fon{"फोन"}\r
-        fr{"फà¥\8dरà¥\87नà¥\8dच"}\r
-        fr_CA{"à¤\95à¥\85नाडà¥\80यन à¤«à¥\8dरà¥\87नà¥\8dच"}\r
-        fr_CH{"सà¥\8dवà¥\80à¤\9d à¤«à¥\8dरà¥\87नà¥\8dच"}\r
+        fr{"फà¥\8dरà¥\87à¤\82च"}\r
+        fr_CA{"à¤\95à¥\85नडियन à¤«à¥\8dरà¥\87à¤\82च"}\r
+        fr_CH{"सà¥\8dविà¤\9d à¤«à¥\8dरà¥\87à¤\82च"}\r
         fur{"फ्रिलियन"}\r
         fy{"पश्चिमी फ्रिशियन"}\r
         ga{"ऐरिष"}\r
         gaa{"गा"}\r
-        gd{"सà¥\8dà¤\95ाà¤\9fसà¥\8d à¤\97à¥\87लिà¤\95à¥\8d"}\r
+        gd{"सà¥\8dà¤\95à¥\89à¤\9fà¥\80श à¤\97à¥\85लà¥\80à¤\95"}\r
         gez{"गेझ"}\r
         gil{"गिलबर्टीस"}\r
         gl{"गेलीशियन"}\r
@@ -193,7 +194,7 @@ kok{
         krl{"कारेलियन"}\r
         kru{"कुरुख"}\r
         ks{"कश्मीरी"}\r
-        ksb{"शंबाला"}\r
+        ksb{"शाà¤\82बाला"}\r
         ksf{"बाफिया"}\r
         ksh{"कोलोनियन"}\r
         ku{"कुर्दिष"}\r
@@ -280,7 +281,7 @@ kok{
         nyn{"नानकोले"}\r
         oc{"ओसिटान्"}\r
         om{"ओरोमो"}\r
-        or{"à¤\93रिया"}\r
+        or{"à¤\93डिया"}\r
         os{"ओसेटिक"}\r
         pa{"पंजाबी"}\r
         pag{"पांगासियान"}\r
@@ -288,19 +289,19 @@ kok{
         pap{"पापिमेंटो"}\r
         pau{"पालुयान"}\r
         pcm{"नायझेरियन पिडगीन"}\r
-        pl{"पà¥\8bलिष"}\r
+        pl{"पà¥\89लà¥\80श"}\r
         prg{"प्रुसियन"}\r
         ps{"पाष्टो"}\r
-        pt{"पà¥\8bरà¥\8dतà¥\81à¤\97िज"}\r
-        pt_BR{"बà¥\8dराà¤\9dिलियन à¤ªà¥\8bरà¥\8dतà¥\81à¤\97िज"}\r
-        pt_PT{"यà¥\81रà¥\8bपियन à¤ªà¥\8bरà¥\8dतà¥\81à¤\97िज"}\r
+        pt{"पà¥\8bरà¥\8dतà¥\81à¤\97à¥\80ज"}\r
+        pt_BR{"बà¥\8dराà¤\9dिलियन à¤ªà¥\8bरà¥\8dतà¥\81à¤\97à¥\80ज"}\r
+        pt_PT{"यà¥\81रà¥\8bपियन à¤ªà¥\8bरà¥\8dतà¥\81à¤\97à¥\80ज"}\r
         qu{"क्वेच्वा"}\r
         quc{"किचे"}\r
         rap{"रापान्यु"}\r
         rar{"रारोटोंगान"}\r
-        rm{"रà¥\8bमाà¤\82नà¥\8dश"}\r
+        rm{"रोमान्श"}\r
         rn{"रुंदी"}\r
-        ro{"रोमानियन"}\r
+        ro{"रोमानियन"}\r
         ro_MD{"मोल्डावियन्"}\r
         rof{"रोम्बो"}\r
         root{"रूट"}\r
@@ -311,7 +312,7 @@ kok{
         sa{"संस्कृत"}\r
         sad{"संडावे"}\r
         sah{"सखा"}\r
-        saq{"साà¤\82बारà¥\81"}\r
+        saq{"सामà¥\8dबरà¥\82"}\r
         sat{"संथाली"}\r
         sba{"गांबे"}\r
         sbp{"सांगू"}\r
@@ -322,14 +323,14 @@ kok{
         se{"उत्तरीय सामी"}\r
         seh{"सेना"}\r
         ses{"कोयराबोरो सेन्नी"}\r
-        sg{"साà¤\82à¤\97à¥\8dरà¥\8b"}\r
+        sg{"सांगो"}\r
         sh{"सेर्बो-क्रोयेषियन्"}\r
         shi{"ताछेहीट"}\r
         shn{"शान"}\r
-        si{"सिनà¥\8dहलà¥\80सà¥\8d"}\r
+        si{"सिनहालà¥\80स"}\r
         sk{"स्लोवाक"}\r
-        sl{"सà¥\8dलà¥\8bवà¥\87नियनà¥\8d"}\r
-        sm{"समà¥\8bन"}\r
+        sl{"सà¥\8dलà¥\8bवानियन"}\r
+        sm{"सामà¥\8bà¤\85न"}\r
         sma{"दक्षिणी सामी"}\r
         smj{"लुले सामी"}\r
         smn{"ईनारी सामी"}\r
@@ -342,10 +343,10 @@ kok{
         srn{"श्रानन टोंगो"}\r
         ss{"स्वाती"}\r
         ssy{"साहो"}\r
-        st{"सà¥\87सोथो"}\r
+        st{"सावथरà¥\8dन सोथो"}\r
         su{"सुंदनीस"}\r
         suk{"सुकुमा"}\r
-        sv{"सà¥\8dवà¥\80दà¥\80ष"}\r
+        sv{"सà¥\8dविडà¥\80श"}\r
         sw{"स्वाहिली"}\r
         sw_CD{"काँगो स्वाहिली"}\r
         swb{"कोमोरियन"}\r
@@ -380,7 +381,7 @@ kok{
         ug{"उयघूर"}\r
         uk{"युक्रेनियन्"}\r
         umb{"यमबुंडु"}\r
-        und{"à¤\85à¤\9cà¥\8dà¤\9eात à¤­à¤¾à¤¶à¤¾"}\r
+        und{"à¤\85à¤\9cà¥\8dà¤\9eात à¤­à¤¾à¤¸"}\r
         ur{"उर्दू"}\r
         uz{"उझबेक"}\r
         vai{"वाई"}\r
@@ -402,7 +403,7 @@ kok{
         yo{"यूरुबा"}\r
         yue{"कांटोसी"}\r
         za{"झ्हुन्ग"}\r
-        zgh{"पà¥\8dरमाणित à¤®à¥\8bरà¥\8bà¤\95à¥\8dà¤\95न à¤¤à¤¾à¤®à¤¾à¤\9dायट"}\r
+        zgh{"पà¥\8dरमाणà¥\80त à¤®à¥\89रà¥\8bà¤\95à¥\8dà¤\95न à¤¤à¤®à¤¾à¤\9dà¥\80ट"}\r
         zh{"चिनी"}\r
         zh_Hans{"सोंपी चिनी"}\r
         zh_Hant{"पारंपारीक चिनी"}\r
@@ -411,13 +412,21 @@ kok{
         zxx{"अणकार सामुग्री ना"}\r
         zza{"झाझा"}\r
     }\r
+    Languages%long{\r
+        zh_Hans{"सोंपी मंडारीन चिनी"}\r
+        zh_Hant{"पारंपारीक मंडारीन चिनी"}\r
+    }\r
+    Languages%menu{\r
+        yue{"चिनी, कॅण्टोनीस"}\r
+        zh{"चिनी, मंडारीन"}\r
+    }\r
     Languages%short{\r
         az{"अझेरी"}\r
-        en_GB{"यà¥\81के इंग्लीश"}\r
-        en_US{"यà¥\81एस इंग्लीश"}\r
+        en_GB{"यà¥\82के इंग्लीश"}\r
+        en_US{"यà¥\82एस इंग्लीश"}\r
     }\r
     Scripts{\r
-        Arab{"à¤\85रà¥\87बिà¤\95"}\r
+        Arab{"à¤\86रबà¥\80"}\r
         Armn{"आर्मेनियन"}\r
         Beng{"बांग्ला"}\r
         Bopo{"बोपोमोफो"}\r
@@ -429,9 +438,9 @@ kok{
         Grek{"ग्रीक"}\r
         Gujr{"गुजराती"}\r
         Guru{"गुरमुखी"}\r
-        Hanb{"बà¥\8bपà¥\8bमà¥\8bफà¥\8b à¤µà¤¾à¤\82à¤\97डा à¤¹à¥\85न"}\r
+        Hanb{"बà¥\8bपà¥\8bफà¥\8bमà¥\8b à¤µà¤°à¤µà¥\80à¤\82 à¤¹à¤¾न"}\r
         Hang{"हंगूल"}\r
-        Hani{"हà¥\85न"}\r
+        Hani{"हान"}\r
         Hans{"सोंपी"}\r
         Hant{"पारंपारीक"}\r
         Hebr{"हिब्रू"}\r
@@ -439,8 +448,8 @@ kok{
         Hrkt{"जपानी अक्षरमाळ"}\r
         Jamo{"जामो"}\r
         Jpan{"जपानी"}\r
-        Kana{"à¤\95ाà¤\9fकाना"}\r
-        Khmr{"à¤\95à¤\82बà¥\8bडियन"}\r
+        Kana{"à¤\95à¤\9fाकाना"}\r
+        Khmr{"à¤\96मà¥\87र"}\r
         Knda{"कन्नड"}\r
         Kore{"कोरियन"}\r
         Laoo{"लाओ"}\r
@@ -451,7 +460,7 @@ kok{
         Orya{"ओरिया"}\r
         Sinh{"सिन्हाला"}\r
         Taml{"तमीळ"}\r
-        Telu{"तà¥\87लà¥\81à¤\97à¥\82"}\r
+        Telu{"तेलगू"}\r
         Thaa{"थाणा"}\r
         Thai{"थाई"}\r
         Tibt{"तिबेटन"}\r
@@ -472,7 +481,7 @@ kok{
             chinese{"चीनी दिनदर्शिका"}\r
             dangi{"डांगी दिनदर्शिका"}\r
             ethiopic{"इथियोपिक दिनदर्शिका"}\r
-            gregorian{"à¤\97à¥\8dरà¥\87à¤\97à¥\8bरियन à¤¦à¤¿à¤¨à¤¦à¤°à¥\8dशिà¤\95ा"}\r
+            gregorian{"à¤\97à¥\8dरà¥\87à¤\97à¥\8bरियन à¤\95à¥\85लà¥\87नà¥\8dडर"}\r
             hebrew{"हिब्रू दिनदर्शिका"}\r
             islamic{"ईस्लामीक दिनदर्शिका"}\r
             iso8601{"आयएसओ-8601 दिनदर्शिका"}\r
@@ -546,7 +555,7 @@ kok{
             tibt{"तिबेतियन अंक"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — सगळें"}\r
         compatibility{"{0} — अनुरुपताय"}\r
@@ -561,7 +570,7 @@ kok{
         }\r
     }\r
     codePatterns{\r
-        language{"भाशा: {0}"}\r
+        language{"भासà¤\83{0}"}\r
         script{"लिपी: {0}"}\r
         territory{"प्रांत: {0}"}\r
     }\r
index 9e886cc..abaa9c6 100644 (file)
@@ -445,6 +445,7 @@ ks{
     }\r
     Scripts{\r
         Arab{"اَربی"}\r
+        Aran{"نستعلیق"}\r
         Armn{"اَرمانیَن"}\r
         Avst{"اَویستَن"}\r
         Bali{"بالَنیٖز"}\r
@@ -609,7 +610,7 @@ ks{
         SOLBA{"ثٹولوِزا/سولبِکا بوٗلۍ"}\r
         TARASK{"تاراسکیٖوِکا علمہ ہِجاِ"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"زَبان: {0}"}\r
         script{"رَسم الخط: {0}"}\r
diff --git a/source/data/lang/ks_Arab.txt b/source/data/lang/ks_Arab.txt
new file mode 100644 (file)
index 0000000..644b1f8
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ks_Arab{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/lang/ks_Arab_IN.txt b/source/data/lang/ks_Arab_IN.txt
new file mode 100644 (file)
index 0000000..d159ab1
--- /dev/null
@@ -0,0 +1,8 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+/**\r
+ * generated alias target\r
+ */\r
+ks_Arab_IN{\r
+    ___{""}\r
+}\r
diff --git a/source/data/lang/ks_IN.txt b/source/data/lang/ks_IN.txt
new file mode 100644 (file)
index 0000000..acd2193
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ks_IN{\r
+    "%%ALIAS"{"ks_Arab_IN"}\r
+}\r
index a6fcac0..aa8164e 100644 (file)
@@ -48,5 +48,5 @@ ksb{
         zh{"Kichina"}\r
         zu{"Kizulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f8f0638..c02c196 100644 (file)
@@ -48,5 +48,5 @@ ksf{
         zh{"ricinɔá"}\r
         zu{"rizúlu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5b6ffaa..ce78f9d 100644 (file)
@@ -512,7 +512,7 @@ ksh{
         VALENCIA{"valenzijaanesche Dijaläk"}\r
         WADEGILE{"lateijnesche Ömschreff noh Wade-Giles"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"de Schprohch afjekööz met „{0}“"}\r
         script{"de Schreff afjekööz met „{0}“"}\r
index eb19a6f..a75a3f0 100644 (file)
@@ -36,7 +36,6 @@ ku{
         br{"bretonî"}\r
         bs{"bosnî"}\r
         bug{"bugî"}\r
-        byn{"byn"}\r
         ca{"katalanî"}\r
         ce{"çeçenî"}\r
         ceb{"sebwanoyî"}\r
@@ -74,7 +73,6 @@ ku{
         fy{"frîsî"}\r
         ga{"îrî"}\r
         gd{"gaelîka skotî"}\r
-        gez{"gez"}\r
         gil{"kîrîbatî"}\r
         gl{"galîsî"}\r
         gn{"guwaranî"}\r
@@ -238,9 +236,6 @@ ku{
         zu{"zuluyî"}\r
         zza{"zazakî"}\r
     }\r
-    Languages%short{\r
-        az{"azerî"}\r
-    }\r
     Scripts{\r
         Arab{"erebî"}\r
         Armn{"ermenî"}\r
@@ -273,7 +268,7 @@ ku{
             roman{"hejmarên romî"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"ziman: {0}"}\r
         script{"nivîs: {0}"}\r
index cd649c8..d2d793c 100644 (file)
@@ -4,5 +4,5 @@ kw{
     Languages{\r
         kw{"kernewek"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 949ed5a..8cb5048 100644 (file)
@@ -103,6 +103,7 @@ ky{
         eu{"баскча"}\r
         ewo{"эвондочо"}\r
         fa{"фарсча"}\r
+        fa_AF{"дари"}\r
         ff{"фулача"}\r
         fi{"финче"}\r
         fil{"филипинче"}\r
@@ -250,7 +251,6 @@ ky{
         myv{"эрзянча"}\r
         mzn{"мазандераниче"}\r
         na{"науруча"}\r
-        nan{"nan"}\r
         nap{"неополитанча"}\r
         naq{"намача"}\r
         nb{"норвежче (букмал)"}\r
@@ -392,7 +392,6 @@ ky{
         war{"варайча"}\r
         wbp{"ворлпириче"}\r
         wo{"уолофчо"}\r
-        wuu{"wuu"}\r
         xal{"калмыкча"}\r
         xh{"косача"}\r
         xog{"согача"}\r
@@ -544,7 +543,7 @@ ky{
             tibt{"Тибет сандары"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — баары"}\r
         category-list{"{0}: {1}"}\r
index 975b558..d5c9930 100644 (file)
@@ -48,5 +48,5 @@ lag{
         zh{"Kɨchíina"}\r
         zu{"Kɨzúulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 20f1b5b..3dde64a 100644 (file)
@@ -385,7 +385,6 @@ lb{
         nb{"Norwegesch Bokmål"}\r
         nd{"Nord-Ndebele-Sprooch"}\r
         nds{"Nidderdäitsch"}\r
-        nds_NL{"nds_NL"}\r
         ne{"Nepalesesch"}\r
         new{"Newari"}\r
         ng{"Ndonga"}\r
@@ -622,7 +621,6 @@ lb{
     }\r
     Scripts{\r
         Arab{"Arabesch"}\r
-        Armi{"Armi"}\r
         Armn{"Armenesch"}\r
         Avst{"Avestesch"}\r
         Bali{"Balinesesch"}\r
@@ -636,7 +634,6 @@ lb{
         Buhd{"Buhid"}\r
         Cans{"UCAS"}\r
         Cari{"Karesch"}\r
-        Cham{"Cham"}\r
         Cher{"Cherokee"}\r
         Cirt{"Cirth"}\r
         Copt{"Koptesch"}\r
@@ -875,7 +872,7 @@ lb{
         VALENCIA{"Valencianesch"}\r
         WADEGILE{"Wade-Giles"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"Sprooch: {0}"}\r
         script{"Schrëft: {0}"}\r
index b18330a..6e3393e 100644 (file)
@@ -48,5 +48,5 @@ lg{
         zh{"Lucayina"}\r
         zu{"Luzzulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c90ce9c..df6d043 100644 (file)
@@ -152,5 +152,5 @@ lkt{
         zu{"Zulu Iyápi"}\r
         zza{"Zaza Iyápi"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4eb26e4..3aaed3a 100644 (file)
@@ -48,5 +48,5 @@ ln{
         zh{"lisinwa"}\r
         zu{"zulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 510fad1..1b3ec45 100644 (file)
@@ -81,6 +81,7 @@ lo{
         car{"ຄາຣິບ"}\r
         cay{"ຄາຢູກາ"}\r
         cch{"ອາດແຊມ"}\r
+        ccp{"Chakma"}\r
         ce{"ຊີເຄນ"}\r
         ceb{"ຊີບູໂນ"}\r
         cgg{"ຊີກາ"}\r
@@ -148,6 +149,7 @@ lo{
         eu{"ບັສກີ"}\r
         ewo{"ອີວອນດູ"}\r
         fa{"ເປີຊຽນ"}\r
+        fa_AF{"ດາຣີ"}\r
         fan{"ແຟງ"}\r
         fat{"ແຟນຕີ"}\r
         ff{"ຟູລາ"}\r
@@ -542,6 +544,7 @@ lo{
         zh_Hant{"ພາສາຈີນແມນດາຣິນດັ້ງເດີມ"}\r
     }\r
     Languages%menu{\r
+        yue{"ພາສາຈີນ, ຈີກວາງຕຸ້ງ"}\r
         zh{"ພາສາຈີນ, ພາສາຈີນກາງ"}\r
     }\r
     Languages%short{\r
@@ -884,7 +887,7 @@ lo{
         VALLADER{"ວັລລາເດີ"}\r
         WADEGILE{"ການຖອດອັກສອນແບບເວດ-ໄຈລ໌"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — ທັງໝົດ"}\r
         category-list{"{0}: {1}"}\r
index 7fd279c..68ba677 100644 (file)
@@ -296,7 +296,7 @@ lrc{
             latn{"عأدأدیا لاتین"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"{0}"}\r
         script{"{0}"}\r
index af9ea6e..5089582 100644 (file)
@@ -644,7 +644,6 @@ lt{
         zh_Hant{"tradicinė mandarinų kinų"}\r
     }\r
     Languages%menu{\r
-        yue{"kinų kalbos Kantono tarmė"}\r
         zh{"kinų, mandarinų"}\r
     }\r
     Languages%short{\r
@@ -1030,7 +1029,7 @@ lt{
         VALENCIA{"Valenciečiai"}\r
         WADEGILE{"Wade-Giles Romanization"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} – visi"}\r
         category-list{"{0}: {1}"}\r
index 6a85559..3e6428f 100644 (file)
@@ -46,5 +46,5 @@ lu{
         zh{"shinɛ"}\r
         zu{"Nzulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d556bf8..5fdf14d 100644 (file)
@@ -48,5 +48,5 @@ luo{
         zh{"Kichina"}\r
         zu{"Kizulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0a3d806..e782279 100644 (file)
@@ -48,5 +48,5 @@ luy{
         zh{"Kichina"}\r
         zu{"Kizulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1e71fab..3bb551f 100644 (file)
@@ -153,6 +153,7 @@ lv{
         eu{"basku"}\r
         ewo{"evondu"}\r
         fa{"persiešu"}\r
+        fa_AF{"darī"}\r
         fan{"fangu"}\r
         fat{"fantu"}\r
         ff{"fulu"}\r
@@ -223,7 +224,7 @@ lv{
         iu{"inuītu"}\r
         ja{"japāņu"}\r
         jbo{"ložbans"}\r
-        jgo{"jgo"}\r
+        jgo{"ngomba"}\r
         jmc{"mačamu"}\r
         jpr{"jūdpersiešu"}\r
         jrb{"jūdarābu"}\r
@@ -549,7 +550,6 @@ lv{
         zh{"ķīniešu (mandarīnu)"}\r
     }\r
     Languages%short{\r
-        az{"azerbaidžāņu"}\r
         en_GB{"angļu (Lielbritānija)"}\r
     }\r
     Scripts{\r
@@ -806,7 +806,7 @@ lv{
         VALENCIA{"valensiešu"}\r
         WADEGILE{"Veida-Džailza romanizācija"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — visas"}\r
         category-list{"{0}: {1}"}\r
diff --git a/source/data/lang/mai.txt b/source/data/lang/mai.txt
new file mode 100644 (file)
index 0000000..9d2d272
--- /dev/null
@@ -0,0 +1,75 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+mai{\r
+    Languages{\r
+        de{"जर्मन"}\r
+        de_AT{"ऑस्ट्रियाई जर्मन"}\r
+        de_CH{"स्विस उच्च जर्मन"}\r
+        en{"अंग्रेज़ी"}\r
+        en_AU{"ऑस्ट्रेलियाई अंग्रेज़ी"}\r
+        en_CA{"कनाडाई अंग्रेज़ी"}\r
+        en_GB{"ब्रिटिश अंग्रेज़ी"}\r
+        en_US{"अमेरिकी अंग्रेज़ी"}\r
+        es{"स्पेनी"}\r
+        es_419{"लैटिन अमेरिकी स्पेनिश"}\r
+        es_ES{"यूरोपीय स्पेनिश"}\r
+        es_MX{"मैक्सिकन स्पेनिश"}\r
+        fr{"फ़्रेंच"}\r
+        fr_CA{"कनाडाई फ़्रेंच"}\r
+        fr_CH{"स्विस फ़्रेंच"}\r
+        it{"इतालवी"}\r
+        ja{"जापानी"}\r
+        mai{"मैथिली"}\r
+        pt{"पुर्तगाली"}\r
+        pt_BR{"ब्राज़ीली पुर्तगाली"}\r
+        pt_PT{"यूरोपीय पुर्तगाली"}\r
+        ru{"रूसी"}\r
+        und{"अज्ञात भाषा"}\r
+        zh{"चीनी"}\r
+        zh_Hans{"सरलीकृत चीनी"}\r
+        zh_Hant{"पारंपरिक चीनी"}\r
+    }\r
+    Languages%long{\r
+        zh_Hans{"सरलीकृत मैंडेरिन चीनी"}\r
+        zh_Hant{"पारंपरिक मैंडेरिन चीनी"}\r
+    }\r
+    Languages%menu{\r
+        zh{"चीनी, मैंडेरिन"}\r
+    }\r
+    Languages%short{\r
+        en_GB{"यू॰के॰ अंग्रेज़ी"}\r
+        en_US{"अमेरिकी अंग्रेज़ी"}\r
+    }\r
+    Scripts{\r
+        Arab{"अरबी"}\r
+        Cyrl{"सिरिलिक"}\r
+        Deva{"देवनागरी"}\r
+        Hans{"सरलीकृत"}\r
+        Hant{"पारंपरिक"}\r
+        Latn{"लैटिन"}\r
+        Zxxx{"अलिखित"}\r
+        Zzzz{"अज्ञात लिपि"}\r
+    }\r
+    Scripts%stand-alone{\r
+        Hans{"सरलीकृत हान"}\r
+        Hant{"पारंपरिक हान"}\r
+    }\r
+    Types{\r
+        calendar{\r
+            gregorian{"ग्रेगोरियन कैलेंडर"}\r
+        }\r
+        collation{\r
+            standard{"मानक सॉर्ट क्रम"}\r
+        }\r
+        numbers{\r
+            deva{"देवनागरी अंक"}\r
+            latn{"पश्चिमी अंक"}\r
+        }\r
+    }\r
+    Version{"37"}\r
+    codePatterns{\r
+        language{"भाषा: {0}"}\r
+        script{"लिपि: {0}"}\r
+        territory{"क्षेत्र: {0}"}\r
+    }\r
+}\r
index 4caa3c9..539865f 100644 (file)
@@ -48,5 +48,5 @@ mas{
         zh{"nkʉtʉ́k ɔ́ɔ̄ lchina"}\r
         zu{"nkʉtʉ́k ɔ́ɔ̄ lzulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 381aab3..2d0a87d 100644 (file)
@@ -48,5 +48,5 @@ mer{
         zh{"Kĩchina"}\r
         zu{"Kĩzulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cd0d5cc..dcb22ee 100644 (file)
@@ -48,5 +48,5 @@ mfe{
         zh{"sinwa, mandarin"}\r
         zu{"zoulou"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d91e916..6a36b1e 100644 (file)
@@ -48,5 +48,5 @@ mg{
         zh{"Sinoa, Mandarin"}\r
         zu{"Zolò"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e6d2af7..2ae6ae2 100644 (file)
@@ -47,5 +47,5 @@ mgh{
         zh{"Ichina"}\r
         zu{"Izulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7efbf79..818b3cb 100644 (file)
@@ -18,7 +18,7 @@ mgo{
             latn{"inu"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"{0}"}\r
         script{"{0}"}\r
index c1d1e24..7bc8ca4 100644 (file)
@@ -60,7 +60,7 @@ mi{
             latn{"Ngā Mati Pākehā"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"Reo: {0}"}\r
         script{"Momotuhi: {0}"}\r
index 476c47b..7d50838 100644 (file)
@@ -171,6 +171,7 @@ mk{
         ewo{"евондо"}\r
         ext{"екстремадурски"}\r
         fa{"персиски"}\r
+        fa_AF{"дари"}\r
         fan{"фанг"}\r
         fat{"фанти"}\r
         ff{"фула"}\r
@@ -916,7 +917,7 @@ mk{
         PINYIN{"Пинјин романизација"}\r
         WADEGILE{"Вејд-Џајлс романизација"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} - сите"}\r
         category-list{"{0}: {1}"}\r
index dbd31b5..7dd4e3e 100644 (file)
@@ -904,7 +904,7 @@ ml{
         POSIX{"കമ്പ്യൂട്ടർ"}\r
         REVISED{"പരിഷ്ക്കരിച്ച ലിപി"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — എല്ലാം"}\r
         category-list{"{0}: {1}"}\r
index 4551246..b0ac189 100644 (file)
@@ -552,7 +552,7 @@ mn{
             tibt{"төвд тоо"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} - Бүгд"}\r
         category-list{"{0}: {1}"}\r
diff --git a/source/data/lang/mni.txt b/source/data/lang/mni.txt
new file mode 100644 (file)
index 0000000..267cccd
--- /dev/null
@@ -0,0 +1,79 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+mni{\r
+    Languages{\r
+        de{"জর্মন"}\r
+        de_AT{"ওষ্ট্রিয়ান জর্মন"}\r
+        de_CH{"স্বিজ হায় জর্মন"}\r
+        en{"ইংলিস"}\r
+        en_AU{"ওষ্ট্রেলিয়ান ইংলিস"}\r
+        en_CA{"কানাদিয়ান ইংলিস"}\r
+        en_GB{"ব্রিটিশ ইংলিস"}\r
+        en_US{"অমেরিকান ইংলিস"}\r
+        es{"স্পেনিস"}\r
+        es_419{"লেটিন অমেরিকান স্পেনিস"}\r
+        fr{"ফ্রেঞ্চ"}\r
+        fr_CA{"কানাদিয়ান ফ্রেঞ্চ"}\r
+        fr_CH{"স্বিজ ফ্রেঞ্চ"}\r
+        it{"ইটালিয়ান"}\r
+        ja{"জাপানিজ"}\r
+        mni{"মৈতৈলোন্"}\r
+        pt{"পোর্টুগিজ"}\r
+        pt_BR{"ব্রাজিলিয়ান পোর্টুগিজ"}\r
+        pt_PT{"য়ুরোপিয়ান পোর্টুগিজ"}\r
+        ru{"রুসিয়ান"}\r
+        und{"মশকখংদবা লোল"}\r
+        zh{"চাইনিজ"}\r
+        zh_Hans{"সিমপ্লিফাইদ চাইনিজ"}\r
+        zh_Hant{"ত্রেদিস্নেল চাইনিজ"}\r
+    }\r
+    Languages%long{\r
+        zh_Hans{"সিমপ্লিফাইদ মন্দারিন চাইনিজ"}\r
+        zh_Hant{"ত্রেদিস্নেল মন্দারিন চাইনিজ"}\r
+    }\r
+    Languages%menu{\r
+        zh{"চাইনিজ মন্দারিন"}\r
+    }\r
+    Languages%short{\r
+        en_GB{"য়ু কে ইংলিস"}\r
+        en_US{"য়ু এস ইংলিস"}\r
+    }\r
+    Scripts{\r
+        Arab{"আরবিক"}\r
+        Beng{"বাংলা"}\r
+        Cyrl{"সিরিলিক"}\r
+        Hans{"সিমপ্লিফাইদ"}\r
+        Hant{"ত্রেদিস্নেল"}\r
+        Latn{"লেটিন"}\r
+        Mtei{"মেইটেই মায়েক"}\r
+        Zxxx{"ইদবা"}\r
+        Zzzz{"মশকখংদবা স্ক্রিপ্ট"}\r
+    }\r
+    Scripts%stand-alone{\r
+        Hans{"সিমপ্লিফাইদ চাইনিজ"}\r
+        Hant{"ত্রেদিস্নেল চাইনিজ"}\r
+    }\r
+    Types{\r
+        calendar{\r
+            gregorian{"গ্রিগোরিয়ান কেলেন্দর"}\r
+        }\r
+        collation{\r
+            standard{"ষ্টেন্দর্দ সোর্ট ওর্দর"}\r
+        }\r
+        numbers{\r
+            beng{"বাংলা দিজিট"}\r
+            latn{"ৱেস্তর্ন দিজিট"}\r
+        }\r
+    }\r
+    Version{"37"}\r
+    codePatterns{\r
+        language{"লোল: {0}"}\r
+        script{"স্ক্রিপ্ট: {0}"}\r
+        territory{"লমদম: {0}"}\r
+    }\r
+    localeDisplayPattern{\r
+        keyTypePattern{"{0}: {1}"}\r
+        pattern{"{0} ({1})"}\r
+        separator{"{0}, {1}"}\r
+    }\r
+}\r
diff --git a/source/data/lang/mni_Beng.txt b/source/data/lang/mni_Beng.txt
new file mode 100644 (file)
index 0000000..93f5be2
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+mni_Beng{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/lang/mni_Beng_IN.txt b/source/data/lang/mni_Beng_IN.txt
new file mode 100644 (file)
index 0000000..ce4a031
--- /dev/null
@@ -0,0 +1,8 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+/**\r
+ * generated alias target\r
+ */\r
+mni_Beng_IN{\r
+    ___{""}\r
+}\r
diff --git a/source/data/lang/mni_IN.txt b/source/data/lang/mni_IN.txt
new file mode 100644 (file)
index 0000000..3fb7691
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+mni_IN{\r
+    "%%ALIAS"{"mni_Beng_IN"}\r
+}\r
index 1c40f63..73c33f9 100644 (file)
@@ -844,7 +844,7 @@ mr{
         PINYIN{"पिनयिन रोमनायझेशन"}\r
         WADEGILE{"वादे-गिलेस रोमनायझेशन"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — सर्व"}\r
         category-list{"{0}: {1}"}\r
index cd5565a..fad16d0 100644 (file)
@@ -142,6 +142,7 @@ ms{
         eu{"Basque"}\r
         ewo{"Ewondo"}\r
         fa{"Parsi"}\r
+        fa_AF{"Dari"}\r
         ff{"Fulah"}\r
         fi{"Finland"}\r
         fil{"Filipina"}\r
@@ -489,11 +490,11 @@ ms{
         Adlm{"Adlam"}\r
         Aghb{"Kaukasia Albania"}\r
         Arab{"Arab"}\r
+        Aran{"Nastaliq"}\r
         Armi{"Aramia Imperial"}\r
         Armn{"Armenia"}\r
         Avst{"Avestan"}\r
         Bali{"Bali"}\r
-        Bamu{"Bamu"}\r
         Bass{"Bassa Vah"}\r
         Batk{"Batak"}\r
         Beng{"Benggala"}\r
@@ -504,7 +505,7 @@ ms{
         Bugi{"Bugis"}\r
         Buhd{"Buhid"}\r
         Cakm{"Chakma"}\r
-        Cans{"Cans"}\r
+        Cans{"Suku Kata Orang Asli Kanada Bersatu"}\r
         Cari{"Carian"}\r
         Cham{"Cham"}\r
         Cher{"Cherokee"}\r
@@ -845,10 +846,60 @@ ms{
         }\r
     }\r
     Variants{\r
+        1606NICT{"Lewat Pertengahan Era Perancis hingga 1606"}\r
+        1694ACAD{"Awal Pertengahan Era Perancis"}\r
+        1901{"Sistem ejaan Jerman Tradisional"}\r
+        1959ACAD{"Akademik"}\r
+        1994{"Sistem ejaan Resia standard"}\r
+        1996{"Sistem ejaan Jerman 1996"}\r
+        ABL1943{"Perumusan sistem ejaan 1943"}\r
+        ALALC97{"Perumian ALA-LC, edisi 1997"}\r
+        ALUKU{"Dialek Aluku"}\r
+        AO1990{"Perjanjian Sistem Ejaan Bahasa Portugis 1990"}\r
+        BAKU1926{"Abjad Latin Turki Disatukan"}\r
+        BALANKA{"Dialek Balanka Anii"}\r
+        BARLA{"Kumpulan dialek Barlavento Kabuverdianu"}\r
+        BISKE{"Dialek San Giorgio/Bila"}\r
+        BOHORIC{"Abjad Bohoric"}\r
+        BOONT{"Boontling"}\r
+        COLB1945{"Konvensyen Sistem Ejaan Portugis-Brazil 1945"}\r
+        DAJNKO{"Abjad Dajnko"}\r
+        EKAVSK{"Serbia dengan sebutan Ekavia"}\r
+        EMODENG{"Inggeris Moden Awal"}\r
+        FONIPA{"Fonetik IPA"}\r
+        FONUPA{"Fonetik UPA"}\r
+        HEPBURN{"Perumian Hepburn"}\r
+        IJEKAVSK{"Fon Serbia dengan sebutan Ijekavia"}\r
+        KKCOR{"Sistem Ejaan Lazim"}\r
+        KSCOR{"Sistem Ejaan Standard"}\r
+        LIPAW{"Dialek Lipovaz Resia"}\r
+        METELKO{"Abjad Metelko"}\r
+        MONOTON{"Ekanada"}\r
+        NDYUKA{"Dialek Ndyuka"}\r
+        NEDIS{"Dialek Natisone"}\r
+        NJIVA{"Dialek Gniva/Njiva"}\r
+        NULIK{"Volapuk Moden"}\r
+        OSOJS{"Dialek Oseacco/Osojane"}\r
+        OXENDICT{"Ejaan Kamus Inggeris Oxford"}\r
+        PAMAKA{"Dialek Pamaka"}\r
+        PINYIN{"Perumian Pinyin"}\r
+        POLYTON{"Banyak Nada"}\r
         POSIX{"Komputer"}\r
+        REVISED{"Sistem Ejaan Semakan"}\r
+        RIGIK{"Vopaluk Klasik"}\r
+        ROZAJ{"Resia"}\r
+        SAAHO{"Saho"}\r
         SCOTLAND{"Inggeris Standard Scotland"}\r
+        SOLBA{"Dialek Stolvizza/Solbica"}\r
+        SOTAV{"Kumpulan dialek Sotavento Kabuverdianu"}\r
+        TARASK{"Sistem ejaan Taraskievica"}\r
+        UCCOR{"Sistem Ejaan Bersatu"}\r
+        UCRCOR{"Sistem Ejaan Semakan Bersatu"}\r
+        UNIFON{"Abjad fonetik Unifon"}\r
+        VALENCIA{"Valencia"}\r
+        WADEGILE{"Perumian Wade-Giles"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — Semua"}\r
         category-list{"{0}: {1}"}\r
index 2adfde4..1107a7a 100644 (file)
@@ -557,7 +557,7 @@ mt{
     Variants{\r
         REVISED{"Ortografija Irriveda"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"Lingwa: {0}"}\r
         script{"Skript: {0}"}\r
index f3f09a4..97eff1d 100644 (file)
@@ -39,7 +39,6 @@ mua{
         so{"Somaliya"}\r
         sv{"Swedia"}\r
         ta{"Tamul"}\r
-        th{"th"}\r
         tr{"Turk"}\r
         uk{"Ukrainia"}\r
         ur{"Urdu"}\r
@@ -48,5 +47,5 @@ mua{
         zh{"zah Syiŋ"}\r
         zu{"Zulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a91d71d..683d7b1 100644 (file)
@@ -114,6 +114,7 @@ my{
         eu{"ဘာစ်ခ်"}\r
         ewo{"အီဝန်ဒို"}\r
         fa{"ပါရှန်"}\r
+        fa_AF{"ဒါရီ"}\r
         ff{"ဖူလာ"}\r
         fi{"ဖင်လန်"}\r
         fil{"ဖိလစ်ပိုင်"}\r
@@ -591,7 +592,7 @@ my{
         REVISED{"ပြန်လည်စီစစ်ထားသော ရေးထုံး"}\r
         SCOTLAND{"စကော့ စံ အင်္ဂလိပ်"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — အားလုံး"}\r
         category-list{"{0} − {1}"}\r
index 55cb440..6532044 100644 (file)
@@ -262,10 +262,9 @@ mzn{
         Kana{"کاتاکانا"}\r
     }\r
     Scripts%stand-alone{\r
-        Hans{"ساده‌بَیی هان"}\r
         Hant{"استاندارد ِسنتی هانت"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"زوون: {0}"}\r
         script{"اسکریپت: {0}"}\r
index 4293b05..77ba7d7 100644 (file)
@@ -48,5 +48,5 @@ naq{
         zh{"Chineesǁî gowab, Mandarinni"}\r
         zu{"Zulub"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1b8f2a1..13e9f5d 100644 (file)
@@ -173,6 +173,7 @@ nb{
         ewo{"ewondo"}\r
         ext{"ekstremaduransk"}\r
         fa{"persisk"}\r
+        fa_AF{"dari"}\r
         fan{"fang"}\r
         fat{"fanti"}\r
         ff{"fulfulde"}\r
@@ -632,6 +633,7 @@ nb{
         zh_Hant{"tradisjonell mandarinkinesisk"}\r
     }\r
     Languages%menu{\r
+        ars{"arabisk (najd)"}\r
         zh{"kinesisk, mandarin"}\r
     }\r
     Languages%short{\r
@@ -645,6 +647,7 @@ nb{
         Aghb{"kaukasus-albansk"}\r
         Ahom{"ahom"}\r
         Arab{"arabisk"}\r
+        Aran{"nastaliq"}\r
         Armi{"arameisk"}\r
         Armn{"armensk"}\r
         Avst{"avestisk"}\r
@@ -761,6 +764,7 @@ nb{
         Phnx{"fønikisk"}\r
         Plrd{"pollard-fonetisk"}\r
         Prti{"inskripsjonsparthisk"}\r
+        Qaag{"zawgyi"}\r
         Rjng{"rejang"}\r
         Roro{"rongorongo"}\r
         Runr{"runer"}\r
@@ -1021,7 +1025,6 @@ nb{
         KSCOR{"standard ortografi"}\r
         LAUKIKA{"laukika"}\r
         LIPAW{"resia med Lipovaz-dialekt"}\r
-        LUNA1918{"LUNA1918"}\r
         METELKO{"Metelko-alfabet"}\r
         MONOTON{"monotonisk rettskriving"}\r
         NDYUKA{"ndyuka-dialekt"}\r
@@ -1030,15 +1033,12 @@ nb{
         NULIK{"moderne volapük"}\r
         OSOJS{"oseacco- og osojanedialekt"}\r
         PAMAKA{"Pamaka-dialekt"}\r
-        PETR1708{"PETR1708"}\r
         PINYIN{"pinyin"}\r
         POLYTON{"polytonisk rettskriving"}\r
         POSIX{"dataspråk"}\r
-        PUTER{"PUTER"}\r
         REVISED{"revidert ortografi"}\r
         RIGIK{"klassisk volapük"}\r
         ROZAJ{"resisk dialekt"}\r
-        RUMGR{"RUMGR"}\r
         SAAHO{"saho"}\r
         SCOTLAND{"skotsk standard engelsk"}\r
         SCOUSE{"scouse dialekt"}\r
@@ -1057,7 +1057,7 @@ nb{
         VALLADER{"vallader"}\r
         WADEGILE{"Wade-Giles-romanisering"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} – alt"}\r
         category-list{"{0}: {1}"}\r
index 9c05f93..324c9a0 100644 (file)
@@ -48,5 +48,5 @@ nd{
         zh{"isi-China"}\r
         zu{"isi-Zulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index df60e8e..ddcdfe9 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nds{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c13d781..f86cf01 100644 (file)
@@ -3,11 +3,11 @@
 ne{\r
     Keys{\r
         calendar{"पात्रो"}\r
-        cf{"cf"}\r
+        cf{"मुद्राको ढाँचा"}\r
         collation{"क्रमबद्ध सुची"}\r
         currency{"मुद्रा"}\r
-        hc{"hc"}\r
-        lb{"lb"}\r
+        hc{"समय चक्र (12 तथा 24)"}\r
+        lb{"पङ्क्ति विच्छेदको शैली"}\r
         ms{"मापन प्रणाली"}\r
         numbers{"अङ्कहरू"}\r
     }\r
@@ -169,6 +169,7 @@ ne{
         ewo{"इवोन्डो"}\r
         ext{"एक्सट्रेमादुराली"}\r
         fa{"फारसी"}\r
+        fa_AF{"दारी"}\r
         fan{"फाङ"}\r
         fat{"फान्टी"}\r
         ff{"फुलाह"}\r
@@ -707,17 +708,13 @@ ne{
         Xpeo{"पुरानो पर्सियन"}\r
         Yiii{"यी"}\r
         Zinh{"इन्हेरिटेड"}\r
-        Zmth{"Zmth"}\r
-        Zsye{"Zsye"}\r
+        Zmth{"गणितीय चिन्ह"}\r
+        Zsye{"इमोजी"}\r
         Zsym{"प्रतीकहरू"}\r
         Zxxx{"नलेखिएको"}\r
         Zyyy{"साझा"}\r
         Zzzz{"अज्ञात लिपि"}\r
     }\r
-    Scripts%stand-alone{\r
-        Hans{"सरलिकृत चिनियाँ"}\r
-        Hant{"परम्परागत चिनियाँ"}\r
-    }\r
     Types{\r
         calendar{\r
             buddhist{"बुद्धिष्ट पात्रो"}\r
@@ -756,9 +753,9 @@ ne{
             h24{"hc-h24"}\r
         }\r
         lb{\r
-            loose{"loose"}\r
-            normal{"normal"}\r
-            strict{"strict"}\r
+            loose{"पङ्क्ति विच्छेदको खुला शैली"}\r
+            normal{"पङ्क्ति विच्छेदको सामान्य शैली"}\r
+            strict{"पङ्क्ति विच्छेदको कडा शैली"}\r
         }\r
         ms{\r
             metric{"मेट्रिक प्रणाली"}\r
@@ -807,7 +804,7 @@ ne{
         AREVELA{"पूर्वी आर्मेनियाली"}\r
         POSIX{"कम्प्युटर"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0}-सबै"}\r
         category-list{"{0}: {1}"}\r
index b651312..81418e9 100644 (file)
@@ -172,6 +172,7 @@ nl{
         ewo{"Ewondo"}\r
         ext{"Extremeens"}\r
         fa{"Perzisch"}\r
+        fa_AF{"Dari"}\r
         fan{"Fang"}\r
         fat{"Fanti"}\r
         ff{"Fulah"}\r
@@ -626,7 +627,8 @@ nl{
         zh_Hant{"Mandarijn (traditioneel)"}\r
     }\r
     Languages%menu{\r
-        yue{"Kantonees"}\r
+        ars{"Arabisch, Nadjdi"}\r
+        ckb{"Koerdisch, Soranî"}\r
         zh{"Mandarijn"}\r
     }\r
     Languages%short{\r
@@ -641,6 +643,7 @@ nl{
         Aghb{"Kaukasisch Albanees"}\r
         Ahom{"Ahom"}\r
         Arab{"Arabisch"}\r
+        Aran{"Nastaliq"}\r
         Armi{"Keizerlijk Aramees"}\r
         Armn{"Armeens"}\r
         Avst{"Avestaans"}\r
@@ -661,12 +664,14 @@ nl{
         Cari{"Carisch"}\r
         Cham{"Cham"}\r
         Cher{"Cherokee"}\r
+        Chrs{"Chorasmisch"}\r
         Cirt{"Cirth"}\r
         Copt{"Koptisch"}\r
         Cprt{"Cyprisch"}\r
         Cyrl{"Cyrillisch"}\r
         Cyrs{"Oudkerkslavisch Cyrillisch"}\r
         Deva{"Devanagari"}\r
+        Diak{"Dives Akuru"}\r
         Dogr{"Dogra"}\r
         Dsrt{"Deseret"}\r
         Dupl{"Duployan snelschrift"}\r
@@ -686,7 +691,7 @@ nl{
         Grek{"Grieks"}\r
         Gujr{"Gujarati"}\r
         Guru{"Gurmukhi"}\r
-        Hanb{"Hanb"}\r
+        Hanb{"Han met Bopomofo"}\r
         Hang{"Hangul"}\r
         Hani{"Han"}\r
         Hano{"Hanunoo"}\r
@@ -711,6 +716,7 @@ nl{
         Khar{"Kharoshthi"}\r
         Khmr{"Khmer"}\r
         Khoj{"Khojki"}\r
+        Kits{"Kitaans kleinschrift"}\r
         Knda{"Kannada"}\r
         Kore{"Koreaans"}\r
         Kpel{"Kpelle"}\r
@@ -769,7 +775,7 @@ nl{
         Phnx{"Foenicisch"}\r
         Plrd{"Pollard-fonetisch"}\r
         Prti{"Inscriptioneel Parthisch"}\r
-        Qaag{"Qaag"}\r
+        Qaag{"Zawgyi"}\r
         Rjng{"Rejang"}\r
         Rohg{"Hanifi Rohingya"}\r
         Roro{"Rongorongo"}\r
@@ -817,6 +823,7 @@ nl{
         Wole{"Woleai"}\r
         Xpeo{"Oudperzisch"}\r
         Xsux{"Sumero-Akkadian Cuneiform"}\r
+        Yezi{"Jezidi"}\r
         Yiii{"Yi"}\r
         Zanb{"vierkant Zanabazar"}\r
         Zinh{"Overgeërfd"}\r
@@ -949,6 +956,7 @@ nl{
             cham{"Cham cijfers"}\r
             cyrl{"Cyrillische cijfers"}\r
             deva{"Devanagari cijfers"}\r
+            diak{"Dives Akuru cijfers"}\r
             ethi{"Ethiopische cijfers"}\r
             finance{"Financiële cijfers"}\r
             fullwide{"cijfers met volledige breedte"}\r
@@ -1046,6 +1054,7 @@ nl{
         BISKE{"San Giorgio/Bila-dialect"}\r
         BOHORIC{"Bohorič-alfabet"}\r
         BOONT{"Boontling"}\r
+        BORNHOLM{"Bornholms"}\r
         CISAUP{"Cisaup"}\r
         COLB1945{"Portugese-Braziliaanse spellingsverdrag van 1945"}\r
         CORNU{"Cornu"}\r
@@ -1124,7 +1133,7 @@ nl{
         WADEGILE{"Wade-Giles-romanisering"}\r
         XSISTEMO{"X-sistemo"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — alle"}\r
         category-list{"{0}: {1}"}\r
index bc98825..92b60a4 100644 (file)
@@ -47,5 +47,5 @@ nmg{
         zh{"Kiɛl bó chinois"}\r
         zu{"Zulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f57605c..88f7844 100644 (file)
@@ -761,7 +761,7 @@ nn{
         TARASK{"taraskievica-ortografi"}\r
         VALENCIA{"valensisk dialekt"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} – alt"}\r
         category-list{"{0}: {1}"}\r
index f412ca9..ff3bf00 100644 (file)
@@ -24,5 +24,5 @@ nnh{
         yav{"Shwóŋò pʉa shÿó Mbafìa"}\r
         ybb{"Shwóŋò Tsaŋ"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bb13380..4d1577a 100644 (file)
@@ -48,5 +48,5 @@ nus{
         zh{"Thok cayna"}\r
         zu{"Thok dhuluni"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b07c918..ef83e87 100644 (file)
@@ -48,5 +48,5 @@ nyn{
         zh{"Oruchaina"}\r
         zu{"Oruzuru"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fa5d9e3..75720d2 100644 (file)
@@ -92,5 +92,5 @@ om{
     Scripts{\r
         Latn{"Latin"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ed5aa1d..bef13ae 100644 (file)
@@ -140,6 +140,7 @@ or{
         eu{"ବାସ୍କ୍ୱି"}\r
         ewo{"ଇୱୋଣ୍ଡୋ"}\r
         fa{"ପର୍ସିଆନ୍"}\r
+        fa_AF{"ଦାରି"}\r
         fan{"ଫାଙ୍ଗ"}\r
         fat{"ଫାଣ୍ଟି"}\r
         ff{"ଫୁଲାହ"}\r
@@ -736,6 +737,7 @@ or{
             laoo{"ଲାଓ ଅଙ୍କଗୁଡ଼ିକ"}\r
             latn{"ପାଶ୍ଚାତ୍ୟ ଅଙ୍କଗୁଡ଼ିକ"}\r
             mlym{"ମଲୟାଲମ୍ ଅଙ୍କଗୁଡ଼ିକ"}\r
+            mong{"ମଙ୍ଗୋଲୀୟ ଡିଜିଟ୍"}\r
             mymr{"ମିଆଁମାର୍‌ ଅଙ୍କଗୁଡ଼ିକ"}\r
             orya{"ଓଡ଼ିଆ ଅଙ୍କଗୁଡ଼ିକ"}\r
             roman{"ରୋମାନ୍‌ ସଂଖ୍ୟାଗୁଡ଼ିକ"}\r
@@ -747,7 +749,17 @@ or{
             tibt{"ତିବତୀ ଅଙ୍କଗୁଡ଼ିକ"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Variants{\r
+        1694ACAD{"ଆଦ୍ୟ ଆଧୁନିକ ଫରାସୀ"}\r
+        1901{"ପାରମ୍ପରିକ ଜର୍ମାନ ବର୍ଣ୍ଣପ୍ରକରଣ"}\r
+        1959ACAD{"ଏକାଡେମିକ"}\r
+        1996{"1996ର ଜର୍ମାନ ବର୍ଣ୍ଣପ୍ରକରଣ"}\r
+        ALUKU{"ଆଲୁକୁ ଉପଭାଷା"}\r
+        UNIFON{"ୟୁନିଫନ୍ ଫନେଟିକ୍ ଆଲଫାବେଟ୍"}\r
+        VAIDIKA{"ବୈଦିକ"}\r
+        VALENCIA{"ଭେଲେନସିଆନ୍"}\r
+    }\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — ସମସ୍ତ"}\r
         category-list{"{0}: {1}"}\r
index 45afade..9888d80 100644 (file)
@@ -96,7 +96,7 @@ os{
             latn{"Нырыккон цифрӕтӕ"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"Ӕвзаг: {0}"}\r
         script{"Скрипт: {0}"}\r
index 179b413..1eb4551 100644 (file)
@@ -110,6 +110,7 @@ pa{
         eu{"ਬਾਸਕ"}\r
         ewo{"ਇਵੋਂਡੋ"}\r
         fa{"ਫ਼ਾਰਸੀ"}\r
+        fa_AF{"ਦਾਰੀ"}\r
         ff{"ਫੁਲਾਹ"}\r
         fi{"ਫਿਨਿਸ਼"}\r
         fil{"ਫਿਲੀਪਿਨੋ"}\r
@@ -436,6 +437,7 @@ pa{
     }\r
     Scripts{\r
         Arab{"ਅਰਬੀ"}\r
+        Aran{"ਨਸਤਾਲੀਕ"}\r
         Armn{"ਅਰਮੀਨੀਆਈ"}\r
         Beng{"ਬੰਗਾਲੀ"}\r
         Bopo{"ਬੋਪੋਮੋਫੋ"}\r
@@ -573,7 +575,7 @@ pa{
             tibt{"ਤਿੱਬਤੀ ਅੰਕ"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — ਸਭ"}\r
         category-list{"{0}: {1}"}\r
index b0c957d..97c2dc6 100644 (file)
@@ -7,7 +7,8 @@ pa_Arab{
     }\r
     Scripts{\r
         Arab{"عربی"}\r
+        Aran{"نستعلیق"}\r
         Guru{"گُرمُکھی"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b1dcb3f..de00c95 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pa_Guru{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/lang/pcm.txt b/source/data/lang/pcm.txt
new file mode 100644 (file)
index 0000000..d95ea5e
--- /dev/null
@@ -0,0 +1,419 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+pcm{\r
+    Keys{\r
+        calendar{"Kalẹ́nda"}\r
+        cf{"Haú To Arénj Mọní"}\r
+        collation{"Arénj Tins Wẹl"}\r
+        currency{"Mọní"}\r
+        hc{"Awá Saíkul (12 vs 24)"}\r
+        lb{"Laín Brẹk Staíl"}\r
+        ms{"Sístẹm fọ Mẹ́zhọ́mẹnt"}\r
+        numbers{"Nọ́mba-dẹm"}\r
+    }\r
+    Languages{\r
+        af{"Áfríkaans Lángwej"}\r
+        agq{"Aghẹ́m Lángwej"}\r
+        ak{"Akan Lángwej"}\r
+        am{"Amhárík Lángwej"}\r
+        ar{"Arábík Lángwej"}\r
+        ar_001{"Gẹ́nárál Arábík Lángwej fọ dís taim"}\r
+        as{"Asamíz Lángwej"}\r
+        asa{"Asu Lángwej"}\r
+        ast{"Astúriá Lángwej"}\r
+        az{"Azẹrbaijáni Lángwej"}\r
+        bas{"Básaa Lángwej"}\r
+        be{"Bẹlarúsiá Lángwej"}\r
+        bem{"Bẹ́mba Lángwej"}\r
+        bez{"Bẹ́na Lángwej"}\r
+        bg{"Bọlgériá Lángwej"}\r
+        bm{"Bambára Lángwej"}\r
+        bn{"Bángla Lángwej"}\r
+        bo{"Tibẹ́tan"}\r
+        br{"Brẹ́tọn Lángwej"}\r
+        brx{"Bódo Lángwej"}\r
+        bs{"Bọ́sniá Lángwej"}\r
+        ca{"Kátála Lángwej"}\r
+        ccp{"Chákma Lángwej"}\r
+        ce{"Chẹ́chẹn Lángwej"}\r
+        ceb{"Sẹbuáno Lángwej"}\r
+        cgg{"Chíga Lángwej"}\r
+        chr{"Chẹ́rókii Lángwej"}\r
+        ckb{"Mídúl Kọ́dish Lángwej"}\r
+        co{"Kọsíkan Lángwej"}\r
+        cs{"Chẹ́k Lángwej"}\r
+        cu{"Chọ́ch Slávik"}\r
+        cy{"Wẹlsh"}\r
+        da{"Dénísh Lángwej"}\r
+        dav{"Taíta"}\r
+        de{"Jámán Lángwej"}\r
+        de_AT{"Ọ́stria Jámán"}\r
+        de_CH{"Swítzaland Haí Jámán"}\r
+        dje{"Zármá"}\r
+        dsb{"Lówá Sorbiá"}\r
+        dua{"Duála Lángwej"}\r
+        dyo{"Jóla-Fónyi Lángwej"}\r
+        dz{"Zọ́ngka Lángwej"}\r
+        ebu{"Ẹmbu Lángwej"}\r
+        ee{"Ẹ́wẹ́ Lángwej"}\r
+        el{"Grík Lángwej"}\r
+        en{"Ínglish"}\r
+        en_AU{"Ọstréliá Ínglish"}\r
+        en_CA{"Kánáda Ínglish"}\r
+        en_GB{"Brítísh Ínglish"}\r
+        en_US{"Amẹ́ríka Ínglish"}\r
+        eo{"Ẹsperánto Lángwej"}\r
+        es{"Spánish Lángwej"}\r
+        es_419{"Látín Amẹ́ríka Spánish"}\r
+        es_ES{"Yúrop Spánish"}\r
+        es_MX{"Mẹ́ksiko Spánish"}\r
+        et{"Ẹstóniá Lángwej"}\r
+        eu{"Básk Lángwej"}\r
+        ewo{"Ẹwondo Lángwej"}\r
+        fa{"Pẹ́shiá Lángwej"}\r
+        fa_AF{"Dári"}\r
+        ff{"Fúlaní Lángwej"}\r
+        fi{"Fínísh Lángwej"}\r
+        fil{"Filipínó Lángwej"}\r
+        fo{"Fáróís Lángwej"}\r
+        fr{"Frẹ́nch Lángwej"}\r
+        fr_CA{"Kánádá Frẹnch"}\r
+        fr_CH{"Swítzalánd Frẹnch"}\r
+        fur{"Friúlián Lángwej"}\r
+        fy{"Wẹ́stán Frísiá Lángwej"}\r
+        ga{"Aírísh Lángwej"}\r
+        gd{"Gaelík Lángwej ọf Gael Pípol fọ Skọ́tland"}\r
+        gl{"Galísiá Lángwej"}\r
+        gsw{"Jámán Swis"}\r
+        gu{"Gujarátí Lángwej"}\r
+        guz{"Gusí Lángwej"}\r
+        gv{"Mánks Lángwej"}\r
+        ha{"Háusá Lángwej"}\r
+        haw{"Hawaii Lángwej"}\r
+        he{"Híbru Lángwej"}\r
+        hi{"Híndi Lángwej"}\r
+        hmn{"Mọ́ng Lángwej"}\r
+        hr{"Kroéshia Lángwej"}\r
+        hsb{"Sóbiá Lángwej di ọ́p-ọ́p wan"}\r
+        ht{"Haítí Kriol"}\r
+        hu{"Họngári Lángwej"}\r
+        hy{"Armẹ́niá Lángwej"}\r
+        ia{"Intalíngwuá Lángwej"}\r
+        id{"Indoníshia Lángwej"}\r
+        ig{"Igbo Lángwej"}\r
+        ii{"Síchuan Yi"}\r
+        is{"Aíslánd Lángwej"}\r
+        it{"Ítáli Lángwej"}\r
+        ja{"Japan Lángwej"}\r
+        jgo{"Ngómbá Lángwej"}\r
+        jmc{"Machámẹ́ Lángwej"}\r
+        jv{"Javáníz Lángwej"}\r
+        ka{"Jọ́jiá Lángwej"}\r
+        kab{"Kabail Lángwej"}\r
+        kam{"Kámbá Lángwej"}\r
+        kde{"Makọ́ndẹ́ Lángwej"}\r
+        kea{"Kábúvẹrdiánu Lángwej"}\r
+        khq{"Koyra Chíní Lángwej"}\r
+        ki{"Kikúyú Lángwej"}\r
+        kk{"Kazák Lángwej"}\r
+        kkj{"Kákó Lángwej"}\r
+        kl{"Kalálísút Lángwej"}\r
+        kln{"Kálẹ́njín Lángwej"}\r
+        km{"Kmaí Lángwej"}\r
+        kn{"Kánnáda Lángwej"}\r
+        ko{"Koriá Lángwej"}\r
+        kok{"Kónkéní Lángwej"}\r
+        ks{"Kashmírí Lángwej"}\r
+        ksb{"Shambala"}\r
+        ksf{"Bafiá Lángwej"}\r
+        ksh{"Kọlónián Lángwej"}\r
+        ku{"Kọ́dísh Lángwej"}\r
+        kw{"Kọ́nish Lángwej"}\r
+        ky{"Kiẹ́gíz Lángwej"}\r
+        la{"Látín Lángwej"}\r
+        lag{"Langi Lángwej"}\r
+        lb{"Lọ́ksémbọ́g Lángwej"}\r
+        lg{"Gánda Lángwej"}\r
+        lkt{"Lakótá Lángwej"}\r
+        ln{"Lingálá Lángwej"}\r
+        lo{"Láo Lángwej"}\r
+        lrc{"Nọ́tán Lúrí Lángwej"}\r
+        lt{"Lituéniá Lángwej"}\r
+        lu{"Lúbá-Katángá Lángwej"}\r
+        luo{"Luó Lángwej"}\r
+        luy{"Luyia Lángwej"}\r
+        lv{"Látvián Lángwej"}\r
+        mas{"Masaí Lángwej"}\r
+        mer{"Mẹ́rú Lángwej"}\r
+        mfe{"Morísiẹ́n Lángwej"}\r
+        mg{"Malagásí Lángwej"}\r
+        mgh{"Makúwá-Mító"}\r
+        mgo{"Mẹta’ Lángwej"}\r
+        mi{"Maórí Lángwej"}\r
+        mk{"Masẹdóniá Lángwej"}\r
+        ml{"Maléyálám Lángwej"}\r
+        mn{"Mọngóliá Lángwej"}\r
+        mr{"Marátí Lángwej"}\r
+        ms{"Malé Lángwej"}\r
+        mt{"Mọ́ltá Lángwej"}\r
+        mua{"Mundáng Lángwej"}\r
+        mul{"Plẹ́ntí Lángwej-dẹm"}\r
+        my{"Bọ́ma Lángwej"}\r
+        mzn{"Mazandẹrání Lángwej"}\r
+        naq{"Naámá Lángwej"}\r
+        nb{"Nọwẹ́jiá Bokmál Lángwej"}\r
+        nd{"Nọ́tán Ndẹbẹlẹ Lángwej"}\r
+        nds{"Ló Jámán Lángwej"}\r
+        ne{"Nẹpálí Lángwej"}\r
+        nl{"Dọch Lángwej"}\r
+        nl_BE{"Flẹ́mish Lángwej"}\r
+        nmg{"Kwasió Lángwej"}\r
+        nn{"Nọwẹ́jiá Niúnọsk"}\r
+        nnh{"Ngiẹ́mbọn Lángwej"}\r
+        nus{"Núa"}\r
+        ny{"Nyánja"}\r
+        nyn{"Nyankólẹ"}\r
+        om{"Orómó"}\r
+        or{"Ódiá"}\r
+        os{"Osẹ́tik"}\r
+        pa{"Punjábi"}\r
+        pcm{"Naijíriá Píjin"}\r
+        pl{"Pólánd Lángwej"}\r
+        prg{"Prúshia"}\r
+        ps{"Páshto"}\r
+        pt{"Pọtiugiz"}\r
+        pt_BR{"Brazíl Pọtiugíz"}\r
+        pt_PT{"Yúróp Pọtiugíz"}\r
+        qu{"Kẹchuá"}\r
+        rm{"Románsh"}\r
+        rn{"Rúndi"}\r
+        ro{"Romániá Lángwej"}\r
+        rof{"Rómbo"}\r
+        ru{"Rọshiá Lángwej"}\r
+        rw{"Kinyarwánda Lángwej"}\r
+        rwk{"Rwa"}\r
+        sa{"Sánskrit"}\r
+        sah{"Sakhá"}\r
+        saq{"Sambúru"}\r
+        sbp{"Sangu"}\r
+        sd{"Síndí"}\r
+        se{"Nọ́tán Sámí Lángwej"}\r
+        seh{"Sẹ́ná"}\r
+        ses{"Kóiraboró Sẹ́nní Lángwej"}\r
+        sg{"sàngo"}\r
+        shi{"Táchẹ́lit"}\r
+        si{"Sínhala"}\r
+        sk{"Slóvak"}\r
+        sl{"Slovẹ́niá Lángwej"}\r
+        sm{"Samóá Lángwej"}\r
+        smn{"Ínárí Sámí Lángwej"}\r
+        sn{"Shóna"}\r
+        so{"Sọmáli"}\r
+        sq{"Albéniá Lángwej"}\r
+        sr{"Sẹrbiá Lángwej"}\r
+        st{"Saútán Sóto"}\r
+        su{"Sọ́ndaniz"}\r
+        sv{"Suwídẹ́n Lángwej"}\r
+        sw{"Swahíli"}\r
+        ta{"tàmil"}\r
+        te{"Tẹlugu"}\r
+        teo{"Tẹ́so"}\r
+        tg{"Tájik"}\r
+        th{"Taí"}\r
+        ti{"Tigrínyá"}\r
+        tk{"Tọ́kmẹn"}\r
+        to{"Tóngan"}\r
+        tr{"Tọ́ki"}\r
+        tt{"Tatá"}\r
+        twq{"Tasawak"}\r
+        tzm{"Mídúl Atlás Támazígt Lángwej"}\r
+        ug{"Wiúgọ"}\r
+        uk{"Yukrénia"}\r
+        und{"Lángwej wé nóbọ́di sabi"}\r
+        ur{"Úrdú"}\r
+        uz{"Úzbẹk"}\r
+        vai{"Vaí"}\r
+        vi{"Viẹ́tnám Lángwej"}\r
+        vo{"Vólapiuk"}\r
+        vun{"Vúnjo"}\r
+        wae{"Wọ́lsa"}\r
+        wo{"Wólof"}\r
+        xh{"Kọ́sa"}\r
+        xog{"sóga"}\r
+        yav{"Yangbẹn"}\r
+        yi{"Yídish"}\r
+        yo{"Yorubá"}\r
+        yue{"Kántọn Lángwej"}\r
+        zgh{"Gẹ́nárál Morókó Támazígt Lángwej"}\r
+        zh{"Mandarín Chainíz Lángwej"}\r
+        zh_Hans{"Ízí Chainíz Lángwej"}\r
+        zh_Hant{"Tradíshọ́nál Chainíz Lángwej"}\r
+        zu{"Zúlu"}\r
+        zxx{"Nó Lángwéj Kọ́ntẹnt"}\r
+    }\r
+    Languages%long{\r
+        zh_Hans{"Ízí Mandarín Chainíz Lángwej"}\r
+        zh_Hant{"Tradíshọ́nál Mandarín Chainíz Lángwej"}\r
+    }\r
+    Languages%menu{\r
+        yue{"Chainiz Kántọniz"}\r
+        zh{"Chainiz, Mandarin"}\r
+    }\r
+    Languages%short{\r
+        en_GB{"UK Ínglish"}\r
+        en_US{"US Ínglish"}\r
+    }\r
+    Scripts{\r
+        Arab{"Arábík"}\r
+        Armn{"Armẹ́nia"}\r
+        Beng{"Bángla"}\r
+        Bopo{"Bopomófo"}\r
+        Brai{"Blaínd Pípol Raítín Sístẹm"}\r
+        Cyrl{"Sírílik"}\r
+        Deva{"Dẹvanágári"}\r
+        Ethi{"Ẹtiópik"}\r
+        Geor{"Jọ́jia"}\r
+        Grek{"Grík"}\r
+        Gujr{"Gujaráti"}\r
+        Guru{"Gúrmukhi"}\r
+        Hanb{"Han Wit Bopomófo"}\r
+        Hang{"Hángul"}\r
+        Hani{"Chainiz"}\r
+        Hans{"Ízí Chainíz Lángwej"}\r
+        Hant{"Nọ́mal"}\r
+        Hebr{"Híbrú"}\r
+        Hira{"Hiagána"}\r
+        Hrkt{"Pát ọf Japán Raítín Sístẹm"}\r
+        Jamo{"Jámo"}\r
+        Jpan{"Japan"}\r
+        Kana{"Katákána"}\r
+        Khmr{"Kemẹẹ"}\r
+        Knda{"Kánnad Raítín Sístẹm"}\r
+        Kore{"Koria"}\r
+        Laoo{"Lao"}\r
+        Latn{"Látin"}\r
+        Mlym{"Maléyálam"}\r
+        Mong{"Mọngólia"}\r
+        Mymr{"Miánmar"}\r
+        Orya{"Ódia"}\r
+        Sinh{"Sinhála"}\r
+        Taml{"Támil"}\r
+        Telu{"Tẹ́lúgu"}\r
+        Thaa{"Tána"}\r
+        Thai{"Taí"}\r
+        Tibt{"Tíbẹt"}\r
+        Zmth{"Matimátiks Sains"}\r
+        Zsye{"Ẹ́móji"}\r
+        Zsym{"Símbuls"}\r
+        Zxxx{"Wétín Dẹm Nó Rait"}\r
+        Zyyy{"Jẹ́náral"}\r
+        Zzzz{"Raítín Sístẹm Wé Nóbọ́di Sabí"}\r
+    }\r
+    Scripts%stand-alone{\r
+        Hans{"Ízí Chainíz Lang"}\r
+        Hant{"Nọ́mál Chainiz"}\r
+    }\r
+    Types{\r
+        calendar{\r
+            buddhist{"Búdíst Kalẹ́nda"}\r
+            chinese{"Chaíníz Kalẹ́nda"}\r
+            dangi{"Dangi Kalẹ́nda"}\r
+            ethiopic{"Ẹtiópiá Kalẹ́nda"}\r
+            gregorian{"Grẹ́górí Kalẹ́nda"}\r
+            hebrew{"Híbrú Kalẹ́nda"}\r
+            islamic{"Múslím Kalẹ́nda"}\r
+            iso8601{"ISO-8601 Kalẹ́nda"}\r
+            japanese{"Japán Kalẹ́nda"}\r
+            persian{"Pẹ́shia Kalẹ́nda"}\r
+            roc{"Ripọ́blík ọf Chaíná Kalẹ́nda"}\r
+        }\r
+        cf{\r
+            account{"Akáunt To Ték Arénj Mọní"}\r
+            standard{"Nọ́mál Wè To Arénj Mọní"}\r
+        }\r
+        collation{\r
+            ducet{"Yúníkód Mén Wè To Arénj Tins Wẹl"}\r
+            search{"Jẹ́nárál Sachin"}\r
+            standard{"Nọ́mál Wè To Arénj Tins Wẹl"}\r
+        }\r
+        hc{\r
+            h11{"12 Áwa Sístẹm (0–11)"}\r
+            h12{"12 Áwa Sístẹm (1–12)"}\r
+            h23{"24 Áwa Sístẹm (0–23)"}\r
+            h24{"24 Áwa Sístẹm (1–24)"}\r
+        }\r
+        lb{\r
+            loose{"Lúz Laín Brẹk Staíl"}\r
+            normal{"Nọ́mál Laín Brẹk Staíl"}\r
+            strict{"Fíksd Laín Brẹk Staíl"}\r
+        }\r
+        ms{\r
+            metric{"Mẹ́trík Sístẹm"}\r
+            uksystem{"Impẹ́riál Sístẹm fọ Mẹ́zhọ́mẹnt"}\r
+            ussystem{"US Sístẹm fọ Mẹ́zhọ́mẹnt"}\r
+        }\r
+        numbers{\r
+            arab{"Arábík Nọ́mba-dẹm"}\r
+            arabext{"Ẹstrá Arábík Nọ́mba-dẹm"}\r
+            armn{"Armẹ́niá Nọ́mba-dẹm"}\r
+            armnlow{"Smọ́l Taíp Armẹ́niá Nọ́mba-dẹm"}\r
+            beng{"Bánglá Nọ́mba-dẹm"}\r
+            deva{"Dẹvanágári Nọ́mba-dẹm"}\r
+            ethi{"Ẹtiópiá Nọ́mba-dẹm"}\r
+            fullwide{"Fúl-Waid Nọ́mba-dẹm"}\r
+            geor{"Jọ́jiá Nọ́mba-dẹm"}\r
+            grek{"Grík Nọ́mba-dẹm"}\r
+            greklow{"Smọ́l Taíp Grík Nọ́mba-dẹm"}\r
+            gujr{"Gujarátí Nọ́mba-dẹm"}\r
+            guru{"Gúrmukhi Nọ́mba-dẹm"}\r
+            hanidec{"Chainíz Nọ́mba-dẹm"}\r
+            hans{"Ízí Chainíz Nọ́mba-dẹm"}\r
+            hansfin{"Ízí Chainíz Mọní Nọ́mba-dẹm"}\r
+            hant{"Nọ́mál Chainíz Nọ́mba-dẹm"}\r
+            hantfin{"Nọ́mál Chainíz Mọní Nọ́mba-dẹm"}\r
+            hebr{"Híbru Nọ́mba-dẹm"}\r
+            jpan{"Japán Nọ́mba-dẹm"}\r
+            jpanfin{"Japán Mọní Nọ́mba-dẹm"}\r
+            khmr{"Kmai Nọ́mba-dẹm"}\r
+            knda{"Kánnád Nọ́mba-dẹm"}\r
+            laoo{"Lao Nọ́mba-dẹm"}\r
+            latn{"Wẹ́stán Nọ́mba-dẹm"}\r
+            mlym{"Maléyálam Nọ́mba-dẹm"}\r
+            mymr{"Miánma Nọ́mba-dẹm"}\r
+            orya{"Ódia Nọ́mba-dẹm"}\r
+            roman{"Rómán Nọ́mba-dẹm"}\r
+            romanlow{"Smọ́l Taíp Rómán Nọ́mba-dẹm"}\r
+            taml{"Nọ́mál Támíl Nọ́mba-dẹm"}\r
+            tamldec{"Támíl Nọ́mba-dẹm"}\r
+            telu{"Tẹ́lúgu Nọ́mba-dẹm"}\r
+            thai{"Taí Nọ́mba-dẹm"}\r
+            tibt{"Tíbẹt Nọ́mba-dẹm"}\r
+        }\r
+    }\r
+    Version{"37"}\r
+    characterLabelPattern{\r
+        all{"{0} — ọl"}\r
+        category-list{"{0}: {1}"}\r
+        compatibility{"{0} — Fít ích ọ́da"}\r
+        enclosed{"{0} — Sọráund"}\r
+        extended{"{0} — Strẹch"}\r
+        historic{"{0} — Impọ́tant"}\r
+        miscellaneous{"{0} — Dífrẹ́n Dífrẹ́n Tins"}\r
+        other{"{0} — Ọ́da"}\r
+        scripts{"Raítín Sístẹm-dẹm —{0}"}\r
+        strokes{\r
+            one{"{0}Strok"}\r
+            other{"{0}Strok"}\r
+        }\r
+    }\r
+    codePatterns{\r
+        language{"Lángwej: {0}"}\r
+        script{"Haú to raít tins: {0}"}\r
+        territory{"Éria: {0}"}\r
+    }\r
+    localeDisplayPattern{\r
+        keyTypePattern{"{0}: {1}"}\r
+        pattern{"{0} ({1})"}\r
+        separator{"{0}, {1}"}\r
+    }\r
+}\r
index e3a8342..618942a 100644 (file)
@@ -182,6 +182,7 @@ pl{
         ewo{"ewondo"}\r
         ext{"estremadurski"}\r
         fa{"perski"}\r
+        fa_AF{"dari"}\r
         fan{"fang"}\r
         fat{"fanti"}\r
         ff{"fulani"}\r
@@ -645,6 +646,7 @@ pl{
         zh_Hant{"standardowy chiński tradycyjny"}\r
     }\r
     Languages%menu{\r
+        ckb{"kurdyjski sorani"}\r
         zh{"chiński, mandaryński"}\r
     }\r
     Languages%short{\r
@@ -655,6 +657,7 @@ pl{
     }\r
     Scripts{\r
         Arab{"arabskie"}\r
+        Aran{"nastaliq"}\r
         Armi{"armi"}\r
         Armn{"ormiańskie"}\r
         Avst{"awestyjskie"}\r
@@ -748,6 +751,7 @@ pl{
         Phnx{"fenicki"}\r
         Plrd{"fonetyczny Pollard’a"}\r
         Prti{"partyjski inskrypcyjny"}\r
+        Qaag{"zawgyi"}\r
         Rjng{"rejang"}\r
         Roro{"rongorongo"}\r
         Runr{"runiczne"}\r
@@ -972,7 +976,7 @@ pl{
         VALENCIA{"walencki"}\r
         WADEGILE{"latynizacja Wade’a i Gilesa"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — wszystko"}\r
         category-list{"{0}: {1}"}\r
index 60af166..6b32706 100644 (file)
@@ -108,6 +108,7 @@ ps{
         eu{"باسکي"}\r
         ewo{"اوونڊو"}\r
         fa{"فارسي"}\r
+        fa_AF{"دری (افغانستان)"}\r
         ff{"فولاح"}\r
         fi{"فینلنډي"}\r
         fil{"فلیپیني"}\r
@@ -120,7 +121,6 @@ ps{
         fur{"فرائیلیین"}\r
         fy{"لوېديځ فريشي"}\r
         ga{"ائيرلېنډي"}\r
-        gaa{"gaa"}\r
         gd{"سکاټلېنډي ګېلک"}\r
         gez{"ګیز"}\r
         gil{"گلبرتي"}\r
@@ -545,7 +545,7 @@ ps{
             tibt{"تبتي اعداد"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} - ټول"}\r
         compatibility{"{0} - مطابقت"}\r
index 5147c8f..80dd5e8 100644 (file)
@@ -16,5 +16,5 @@ ps_PK{
             arabext{"غځېدلے عربي ۔ اينډيک عدد"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a5744e0..c21b779 100644 (file)
@@ -153,6 +153,7 @@ pt{
         eu{"basco"}\r
         ewo{"ewondo"}\r
         fa{"persa"}\r
+        fa_AF{"dari"}\r
         fan{"fangue"}\r
         fat{"fanti"}\r
         ff{"fula"}\r
@@ -553,14 +554,13 @@ pt{
         yue{"cantonês (tradicional)"}\r
         zh{"chinês, mandarim"}\r
     }\r
-    Languages%short{\r
-        az{"azerbaijano"}\r
-    }\r
     Languages%variant{\r
+        ckb{"curdo sorâni"}\r
         ps{"pushto"}\r
     }\r
     Scripts{\r
         Arab{"árabe"}\r
+        Aran{"nastaliq"}\r
         Armi{"armi"}\r
         Armn{"armênio"}\r
         Avst{"avéstico"}\r
@@ -656,6 +656,7 @@ pt{
         Phnx{"fenício"}\r
         Plrd{"fonético pollard"}\r
         Prti{"prti"}\r
+        Qaag{"zawgyi"}\r
         Rjng{"rejang"}\r
         Roro{"rongorongo"}\r
         Runr{"rúnico"}\r
@@ -888,7 +889,7 @@ pt{
         VALENCIA{"valenciano"}\r
         WADEGILE{"romanização Wade-Giles"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — todos"}\r
         category-list{"{0}: {1}"}\r
index c3fa854..fd4d0fa 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_AO{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5710498..68713f2 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_CH{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6a14f79..a8e8329 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_CV{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ebd2cc1..16c1df7 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_GQ{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fdc3c38..a180bcd 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_GW{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 262456f..a573ce4 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_LU{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 537eedc..1ff0ef5 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_MO{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ae83ef0..e23c11c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_MZ{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d67b357..791298b 100644 (file)
@@ -49,6 +49,7 @@ pt_PT{
         es_ES{"espanhol europeu"}\r
         es_MX{"espanhol mexicano"}\r
         et{"estónio"}\r
+        fa_AF{"dari"}\r
         fon{"fon"}\r
         fr_CA{"francês canadiano"}\r
         fr_CH{"francês suíço"}\r
@@ -95,7 +96,6 @@ pt_PT{
         pt_PT{"português europeu"}\r
         raj{"rajastanês"}\r
         ro_MD{"moldávio"}\r
-        root{"root"}\r
         se{"sami do norte"}\r
         sga{"irlandês antigo"}\r
         shu{"árabe do Chade"}\r
@@ -125,6 +125,7 @@ pt_PT{
         zh_Hant{"chinês mandarim tradicional"}\r
     }\r
     Languages%menu{\r
+        ckb{"curdo sorani"}\r
         zh{"chinês mandarim"}\r
     }\r
     Languages%short{\r
@@ -132,6 +133,7 @@ pt_PT{
         en_GB{"inglês (RU)"}\r
     }\r
     Scripts{\r
+        Aran{"nasta’liq"}\r
         Armn{"arménio"}\r
         Beng{"bengalês"}\r
         Egyd{"egípcio demótico"}\r
@@ -269,7 +271,7 @@ pt_PT{
         MONOTON{"monotónico"}\r
         POLYTON{"politónico"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} – tudo"}\r
         compatibility{"{0} – compatibilidade"}\r
index fcd835b..1f59f52 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_ST{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8a4a6ac..8094b42 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_TL{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9684709..65cba6b 100644 (file)
@@ -343,5 +343,5 @@ qu{
             tibt{"Tibetano Sananpakuna"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7691836..3eb72d2 100644 (file)
@@ -627,7 +627,7 @@ rm{
         TARASK{"ortografia taraskievica"}\r
         VALENCIA{"valencian"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"Lingua: {0}"}\r
         script{"Scrittira: {0}"}\r
index 72d4b77..a94ada3 100644 (file)
@@ -48,5 +48,5 @@ rn{
         zh{"Igishinwa"}\r
         zu{"Ikizulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index adfa4d0..98d4524 100644 (file)
@@ -2,7 +2,6 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ro{\r
     Keys{\r
-        calendar{"calendar"}\r
         cf{"Format monedă"}\r
         colAlternate{"sortare cu ignorarea simbolurilo"}\r
         colBackwards{"sortare inversă după accent"}\r
@@ -153,6 +152,7 @@ ro{
         eu{"bască"}\r
         ewo{"ewondo"}\r
         fa{"persană"}\r
+        fa_AF{"dari"}\r
         fan{"fang"}\r
         fat{"fanti"}\r
         ff{"fulah"}\r
@@ -407,7 +407,6 @@ ro{
         ro{"română"}\r
         rof{"rombo"}\r
         rom{"romani"}\r
-        root{"root"}\r
         ru{"rusă"}\r
         rup{"aromână"}\r
         rw{"kinyarwanda"}\r
@@ -554,14 +553,15 @@ ro{
         zh{"chineză, mandarină"}\r
     }\r
     Languages%short{\r
-        az{"azeră"}\r
         en_US{"engleză (S.U.A)"}\r
     }\r
     Languages%variant{\r
+        ckb{"kurdă sorani"}\r
         ps{"pushto"}\r
     }\r
     Scripts{\r
         Arab{"arabă"}\r
+        Aran{"nastaaliq"}\r
         Armn{"armeană"}\r
         Bali{"balineză"}\r
         Beng{"bengaleză"}\r
@@ -613,9 +613,12 @@ ro{
         Maya{"hieroglife maya"}\r
         Mlym{"malayalam"}\r
         Mong{"mongolă"}\r
+        Mtei{"meitei mayek"}\r
         Mymr{"birmană"}\r
+        Olck{"ol chiki"}\r
         Orya{"oriya"}\r
         Phnx{"feniciană"}\r
+        Qaag{"zawgyi"}\r
         Runr{"runică"}\r
         Sinh{"singaleză"}\r
         Syrc{"siriacă"}\r
@@ -790,7 +793,7 @@ ro{
         SCOTLAND{"engleză standard scoțiană"}\r
         WADEGILE{"Wade-Giles"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} – toate"}\r
         category-list{"{0}: {1}"}\r
index 0882a6b..92c35fc 100644 (file)
@@ -5,5 +5,5 @@ ro_MD{
         sw_CD{"swahili (R. D. Congo)"}\r
         wal{"wolaytta"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4ffe5ff..6c594f3 100644 (file)
@@ -48,5 +48,5 @@ rof{
         zh{"Kichina"}\r
         zu{"Kizulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2a045f2..fe6aec9 100644 (file)
@@ -1,10 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * ICU <specials> source: <path>/common/main/root.xml\r
- */\r
 root{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — all"}\r
         category-list{"{0}: {1}"}\r
index 39e589a..5f37572 100644 (file)
@@ -160,6 +160,7 @@ ru{
         eu{"баскский"}\r
         ewo{"эвондо"}\r
         fa{"персидский"}\r
+        fa_AF{"дари"}\r
         fan{"фанг"}\r
         fat{"фанти"}\r
         ff{"фулах"}\r
@@ -562,17 +563,19 @@ ru{
         zh_Hant{"севернокитайский, традиционное письмо"}\r
     }\r
     Languages%menu{\r
+        ars{"арабская (недждийский)"}\r
+        ckb{"курдская (сорани)"}\r
         yue{"юэ"}\r
         zh{"севернокитайский"}\r
     }\r
     Languages%short{\r
-        az{"азербайджанский"}\r
         en_GB{"британский английский"}\r
         en_US{"американский английский"}\r
     }\r
     Scripts{\r
         Afak{"афака"}\r
         Arab{"арабица"}\r
+        Aran{"насталик"}\r
         Armi{"арамейская"}\r
         Armn{"армянская"}\r
         Avst{"авестийская"}\r
@@ -683,6 +686,7 @@ ru{
         Phnx{"финикийская"}\r
         Plrd{"поллардовская фонетика"}\r
         Prti{"парфянская"}\r
+        Qaag{"зоджи"}\r
         Rjng{"реджангская"}\r
         Roro{"ронго-ронго"}\r
         Runr{"руническая"}\r
@@ -733,10 +737,6 @@ ru{
         Zyyy{"общепринятая"}\r
         Zzzz{"неизвестная письменность"}\r
     }\r
-    Scripts%stand-alone{\r
-        Hans{"упрощенная китайская"}\r
-        Hant{"традиционная китайская"}\r
-    }\r
     Scripts%variant{\r
         Arab{"персидско-арабская"}\r
     }\r
@@ -926,7 +926,7 @@ ru{
         VALENCIA{"Валенсийский"}\r
         WADEGILE{"Система Уэйда – Джайлза"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — все"}\r
         category-list{"{0}: {1}"}\r
index 47dbec7..37a531c 100644 (file)
@@ -108,5 +108,5 @@ rw{
         yi{"Inyeyidishi"}\r
         zu{"Inyezulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a0066eb..da84da0 100644 (file)
@@ -48,5 +48,5 @@ rwk{
         zh{"Kyichina"}\r
         zu{"Kyizulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b861413..5de4088 100644 (file)
@@ -91,7 +91,7 @@ sah{
             h24{"24 чаастаах тиһик (0–24)"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         strokes{\r
             other{"{0} Strokes"}\r
index ed277f9..44b3747 100644 (file)
@@ -48,5 +48,5 @@ saq{
         zh{"Kichina"}\r
         zu{"Kizulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/lang/sat.txt b/source/data/lang/sat.txt
new file mode 100644 (file)
index 0000000..5af95e0
--- /dev/null
@@ -0,0 +1,78 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sat{\r
+    Languages{\r
+        de{"ᱡᱟᱨᱢᱟᱱ"}\r
+        de_AT{"ᱚᱥᱴᱨᱤᱭᱟ ᱡᱟᱨᱢᱟᱱ"}\r
+        de_CH{"ᱥᱩᱣᱤᱥ ᱦᱟᱤ ᱡᱟᱨᱢᱟᱱ"}\r
+        en{"ᱟᱝᱜᱽᱨᱮᱡᱤ"}\r
+        en_AU{"ᱚᱥᱴᱨᱮᱞᱤᱭᱟᱱ ᱟᱝᱜᱽᱨᱮᱡᱤ"}\r
+        en_CA{"ᱠᱟᱱᱟᱰᱤᱭᱟᱱ ᱟᱝᱜᱽᱨᱮᱡᱤ"}\r
+        en_GB{"ᱵᱨᱤᱴᱤᱥ ᱟᱝᱜᱽᱨᱮᱡᱤ"}\r
+        en_US{"ᱟᱢᱮᱨᱤᱠᱟᱱ ᱟᱝᱜᱽᱨᱮᱡᱤ"}\r
+        es{"ᱮᱥᱯᱮᱱᱤᱥ"}\r
+        es_419{"ᱞᱮᱴᱤᱱ ᱟᱢᱮᱨᱤᱠᱟᱱ ᱮᱥᱯᱮᱱᱤᱥ"}\r
+        es_ES{"ᱨᱩᱥᱤᱭᱟᱱ ᱮᱥᱯᱮᱱᱤᱥ"}\r
+        es_MX{"ᱢᱮᱠᱥᱤᱠᱟᱱ ᱮᱥᱯᱮᱱᱤᱥ"}\r
+        fr{"ᱯᱷᱨᱮᱧᱪ"}\r
+        fr_CA{"ᱠᱟᱱᱟᱰᱤᱭᱟᱱ ᱯᱷᱨᱮᱧᱪ"}\r
+        fr_CH{"ᱥᱩᱣᱤᱥ ᱯᱷᱨᱮᱧᱪ"}\r
+        it{"ᱤᱴᱟᱞᱤᱟᱱ"}\r
+        ja{"ᱡᱟᱯᱟᱱᱤ"}\r
+        pt{"ᱯᱩᱨᱛᱜᱟᱞᱤ"}\r
+        pt_BR{"ᱵᱨᱟᱡᱤᱞᱤᱭᱟᱱ ᱯᱩᱨᱛᱜᱟᱞᱤ"}\r
+        pt_PT{"ᱭᱩᱨᱚᱯᱤᱭᱟᱱ ᱯᱩᱨᱛᱜᱟᱞᱤ"}\r
+        ru{"ᱨᱩᱥᱤᱭᱟᱱ"}\r
+        sat{"ᱥᱟᱱᱛᱟᱲᱤ"}\r
+        und{"ᱵᱟᱝ ᱩᱨᱩᱢ ᱯᱟᱹᱨᱥᱤ"}\r
+        zh{"ᱪᱟᱭᱱᱤᱡᱽ"}\r
+        zh_Hans{"ᱟᱞᱜᱟᱣᱟᱠᱟᱱ ᱪᱟᱭᱱᱤᱡᱽ"}\r
+        zh_Hant{"ᱴᱨᱮᱰᱤᱥᱱᱟᱞ ᱪᱟᱭᱱᱤᱡᱽ"}\r
+    }\r
+    Languages%long{\r
+        zh_Hans{"ᱟᱞᱜᱟᱣᱟᱠᱟᱱ ᱢᱟᱫᱟᱨᱤᱱ ᱪᱟᱭᱱᱤᱡᱽ"}\r
+        zh_Hant{"ᱴᱨᱮᱰᱤᱥᱱᱟᱞ ᱢᱟᱫᱟᱨᱤᱱ ᱪᱟᱭᱱᱤᱡᱽ"}\r
+    }\r
+    Languages%menu{\r
+        zh{"ᱪᱟᱭᱱᱤᱡᱽ, ᱢᱟᱱᱰᱟᱨᱤᱱ"}\r
+    }\r
+    Languages%short{\r
+        en_GB{"ᱭᱩᱠᱮ ᱟᱝᱜᱽᱨᱮᱡᱤ"}\r
+        en_US{"ᱭᱩᱮᱥ ᱟᱝᱜᱽᱨᱮᱡᱤ"}\r
+    }\r
+    Scripts{\r
+        Arab{"ᱟᱨᱵᱤᱠ"}\r
+        Cyrl{"ᱥᱤᱨᱤᱞᱤᱠ"}\r
+        Deva{"ᱫᱮᱣᱟᱱᱟᱜᱟᱨᱤ"}\r
+        Hans{"ᱥᱤᱢᱯᱞᱤᱯᱟᱭᱤᱰ"}\r
+        Hant{"ᱴᱨᱮᱰᱤᱥᱚᱱ"}\r
+        Latn{"ᱞᱮᱴᱤᱱ"}\r
+        Olck{"ᱚᱞ ᱪᱤᱠᱤ"}\r
+        Zxxx{"ᱵᱟᱝ ᱚᱞ ᱟᱠᱟᱱ"}\r
+        Zzzz{"ᱵᱟᱝ ᱩᱨᱩᱢ ᱪᱤᱠᱤ"}\r
+    }\r
+    Scripts%stand-alone{\r
+        Hans{"ᱥᱤᱢᱯᱞᱤᱯᱟᱭᱤᱰ ᱦᱟᱱ"}\r
+        Hant{"ᱴᱨᱮᱰᱤᱥᱚᱱ ᱦᱟᱱ"}\r
+    }\r
+    Types{\r
+        calendar{\r
+            gregorian{"ᱜᱨᱮᱜᱚᱨᱤᱭᱟᱱ ᱠᱟᱞᱮᱱᱰᱟᱨ"}\r
+        }\r
+        collation{\r
+            standard{"ᱮᱥᱴᱮᱱᱰᱟᱨᱰ ᱛᱷᱟᱨ ᱟᱸᱫᱮ"}\r
+        }\r
+        numbers{\r
+            latn{"ᱣᱮᱥᱴᱟᱨᱱ ᱮᱞ"}\r
+        }\r
+    }\r
+    Version{"37"}\r
+    codePatterns{\r
+        language{"ᱯᱟᱹᱨᱥᱤ: {0}"}\r
+        script{"ᱪᱤᱠᱤ/ᱦᱟᱨᱚᱯᱺ {0}"}\r
+        territory{"ᱴᱚᱴᱷᱟᱺ {0}"}\r
+    }\r
+    localeDisplayPattern{\r
+        keyTypePattern{"{0}: {1}"}\r
+    }\r
+}\r
diff --git a/source/data/lang/sat_IN.txt b/source/data/lang/sat_IN.txt
new file mode 100644 (file)
index 0000000..2a70401
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sat_IN{\r
+    "%%ALIAS"{"sat_Olck_IN"}\r
+}\r
diff --git a/source/data/lang/sat_Olck.txt b/source/data/lang/sat_Olck.txt
new file mode 100644 (file)
index 0000000..5849570
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sat_Olck{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/lang/sat_Olck_IN.txt b/source/data/lang/sat_Olck_IN.txt
new file mode 100644 (file)
index 0000000..d538504
--- /dev/null
@@ -0,0 +1,8 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+/**\r
+ * generated alias target\r
+ */\r
+sat_Olck_IN{\r
+    ___{""}\r
+}\r
index 5a46841..78c6533 100644 (file)
@@ -48,5 +48,5 @@ sbp{
         zh{"Ishishina"}\r
         zu{"Ishisulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index dc17dbe..764336e 100644 (file)
@@ -108,6 +108,7 @@ sd{
         eu{"باسڪي"}\r
         ewo{"اوانڊو"}\r
         fa{"فارسي"}\r
+        fa_AF{"دري"}\r
         ff{"فلاهه"}\r
         fi{"فنش"}\r
         fil{"فلپائني"}\r
@@ -549,7 +550,7 @@ sd{
             tibt{"تبتي عدد"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — سڀئي"}\r
         category-list{"{0}: {1}"}\r
diff --git a/source/data/lang/sd_Arab.txt b/source/data/lang/sd_Arab.txt
new file mode 100644 (file)
index 0000000..67d68db
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sd_Arab{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/lang/sd_Arab_PK.txt b/source/data/lang/sd_Arab_PK.txt
new file mode 100644 (file)
index 0000000..eda5f89
--- /dev/null
@@ -0,0 +1,8 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+/**\r
+ * generated alias target\r
+ */\r
+sd_Arab_PK{\r
+    ___{""}\r
+}\r
diff --git a/source/data/lang/sd_Deva.txt b/source/data/lang/sd_Deva.txt
new file mode 100644 (file)
index 0000000..c31398c
--- /dev/null
@@ -0,0 +1,83 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sd_Deva{\r
+    %%Parent{"root"}\r
+    Languages{\r
+        de{"जर्मन"}\r
+        de_AT{"आसट्रियन जो जर्मन"}\r
+        de_CH{"स्विसु हाई जर्मनु"}\r
+        en{"अंगरेज़ी"}\r
+        en_AU{"ऑसटेलियन अंगरेज़ी"}\r
+        en_CA{"केनेडियन अंगरेज़ी"}\r
+        es{"स्पेनिश"}\r
+        es_419{"लैटिणु अमिरिकी स्पेन वारो"}\r
+        es_ES{"यूरोपियन स्पेनी"}\r
+        es_MX{"मैक्सिकन स्पेनिश"}\r
+        fr{"फ़्रांस जी ॿोली"}\r
+        it{"इटालियनु"}\r
+        ja{"जापानीज़"}\r
+        pt{"पुर्तगीज़"}\r
+        pt_PT{".यूरोपी पुर्तगीज़"}\r
+        ru{"रशियनु"}\r
+        sd{"सिन्धी"}\r
+        und{"अणवाकुफु भाषा"}\r
+        zh{"चीनी(लिप्यंतरण जो इशारो: खास करे, मेंडिरिन चीनी जे लाइ"}\r
+        zh_Hant{"रवायती चीनी"}\r
+    }\r
+    Languages%long{\r
+        zh_Hans{"सवली मेंडिरिन चीनी"}\r
+        zh_Hant{"रवायती मेंडिरिन चीनी"}\r
+    }\r
+    Languages%menu{\r
+        zh{"चीनी,मेंडारिन"}\r
+    }\r
+    Languages%short{\r
+        en_GB{"यूके जी अंगरेज़ी"}\r
+        en_US{"यूएस जी अंगरेज़ी"}\r
+    }\r
+    Scripts{\r
+        Arab{"अरेबिक"}\r
+        Cyrl{"सिरिलिक"}\r
+        Deva{"देवनागिरी"}\r
+        Hans{\r
+            "सवलो थियण(लिप्यंतरण जो इशारो: लिपि नालो जो इहो तर्जमो चीनी भाषा जे नाले "\r
+            "सां ॻडु ॻढिण में कमु इंदो आहे"\r
+        }\r
+        Hant{\r
+            "रवायती (लिप्यंतरण जो इशारो: लिपि नालो जो इहो तर्जमो चीनी भाषा जे नाले सा"\r
+            "ं ॻडु करे ॻढिंजी करे थींदो आहे )"\r
+        }\r
+        Latn{"लैटिन"}\r
+        Zxxx{"अणलिखयल"}\r
+        Zzzz{"अणवाकुफु लिपि"}\r
+    }\r
+    Scripts%stand-alone{\r
+        Hans{\r
+            "सवलो थियण हान(लिप्यंतरण जो इशारो: लिपि नालो जो इहो तर्जमो जुदा रुप में इ"\r
+            "स्तेमाल थींदो आहे चीनी भाषा जे नाले सां ॻडु थी करे ना थींदो आहे)"\r
+        }\r
+        Hant{\r
+            "रवायती हान (लिप्यंतरण जो इशारो: लिपि नालो जो इहो तर्जमो जुदा सां इस्तेमा"\r
+            "ल थींदो आहे चीनी भाषा जे नाले सा ॻढिंजी करे न थींदो आहे )"\r
+        }\r
+    }\r
+    Types{\r
+        calendar{\r
+            gregorian{"ग्रेगेरियन कलेंडरु"}\r
+        }\r
+        collation{\r
+            standard{"मअयारी तरीके वारो आदेश"}\r
+        }\r
+        numbers{\r
+            arab{"अरेबिक-इंडिक डिजिट"}\r
+            deva{"देवनागिरी लिपि"}\r
+            latn{"मग़रबी डिजिट"}\r
+        }\r
+    }\r
+    Version{"37"}\r
+    codePatterns{\r
+        language{"भाषा: {0}"}\r
+        script{"लिपि: {0}"}\r
+        territory{"इलाको: {0}"}\r
+    }\r
+}\r
diff --git a/source/data/lang/sd_PK.txt b/source/data/lang/sd_PK.txt
new file mode 100644 (file)
index 0000000..a9e1e2c
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sd_PK{\r
+    "%%ALIAS"{"sd_Arab_PK"}\r
+}\r
index ddaca2b..a58a3f9 100644 (file)
@@ -154,7 +154,7 @@ se{
         PINYIN{"pinyin"}\r
         WADEGILE{"Wade-Giles"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"giella: {0}"}\r
         script{"chállin: {0}"}\r
index 7324c04..fccbc45 100644 (file)
@@ -45,10 +45,6 @@ se_FI{
         Zxxx{"orrut čállojuvvot"}\r
         Zzzz{"dovdameahttun čállin"}\r
     }\r
-    Scripts%stand-alone{\r
-        Hans{"álkes kiinnálaš"}\r
-        Hant{"árbevirolaš kiinnálaš"}\r
-    }\r
     Types{\r
         calendar{\r
             buddhist{"buddhista kaleandar"}\r
@@ -59,11 +55,8 @@ se_FI{
             ethiopic-amete-alem{"etiohpalaš-amete-alem kaleandar"}\r
             gregorian{"gregorialaš kalendar"}\r
         }\r
-        numbers{\r
-            fullwide{"fullwide"}\r
-        }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         script{"čállin: {0}"}\r
     }\r
index 9fba4fe..3997f74 100644 (file)
@@ -48,5 +48,5 @@ seh{
         zh{"chinês"}\r
         zu{"zulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d9f9b04..d0f15d3 100644 (file)
@@ -48,5 +48,5 @@ ses{
         zh{"Sinuwa senni, Mandareŋ"}\r
         zu{"Zulu senni"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5612367..30cfc68 100644 (file)
@@ -48,5 +48,5 @@ sg{
         zh{"Shinuäa"}\r
         zu{"Zûlu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5b44213..1a85a64 100644 (file)
@@ -48,5 +48,5 @@ shi{
         zh{"ⵜⴰⵛⵉⵏⵡⵉⵜ"}\r
         zu{"ⵜⴰⵣⵓⵍⵓⵜ"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6a4c577..8d4d02d 100644 (file)
@@ -49,5 +49,5 @@ shi_Latn{
         zh{"Tacinwit"}\r
         zu{"Tazulut"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3632ea2..6ab72b9 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 shi_Tfng{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ee3e8ca..5243215 100644 (file)
@@ -110,6 +110,7 @@ si{
         eu{"බාස්ක්"}\r
         ewo{"එවොන්ඩො"}\r
         fa{"පර්සියානු"}\r
+        fa_AF{"ඩාරි"}\r
         ff{"ෆුලාහ්"}\r
         fi{"ෆින්ලන්ත"}\r
         fil{"පිලිපීන"}\r
@@ -557,7 +558,7 @@ si{
             tibt{"ටිබෙට ඉලක්කම්"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — සියල්ල"}\r
         category-list{"{0}: {1}"}\r
index 65c7cf3..d4369ee 100644 (file)
@@ -160,6 +160,7 @@ sk{
         eu{"baskičtina"}\r
         ewo{"ewondo"}\r
         fa{"perzština"}\r
+        fa_AF{"daríjčina"}\r
         fan{"fangčina"}\r
         fat{"fanti"}\r
         ff{"fulbčina"}\r
@@ -560,12 +561,12 @@ sk{
         zh{"čínština (mandarínska)"}\r
     }\r
     Languages%short{\r
-        az{"azerbajdžančina"}\r
         en_GB{"angličtina (britská)"}\r
         en_US{"angličtina (americká)"}\r
     }\r
     Scripts{\r
         Arab{"arabské"}\r
+        Aran{"nastaliq"}\r
         Armn{"arménske"}\r
         Bali{"balijský"}\r
         Beng{"bengálske"}\r
@@ -602,9 +603,12 @@ sk{
         Maya{"mayské hieroglyfy"}\r
         Mlym{"malajálamske"}\r
         Mong{"mongolské"}\r
+        Mtei{"mejtej majek (manipurské)"}\r
         Mymr{"barmské"}\r
+        Olck{"santálske (ol chiki)"}\r
         Orya{"uríjske"}\r
         Osma{"osmanský"}\r
+        Qaag{"zawgyi"}\r
         Runr{"Runové písmo"}\r
         Sinh{"sinhálske"}\r
         Taml{"tamilské"}\r
@@ -770,7 +774,7 @@ sk{
     Variants{\r
         SCOTLAND{"škótska štandardná angličtina"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} – všetko"}\r
         category-list{"{0}: {1}"}\r
index 11130c6..544a04b 100644 (file)
@@ -149,6 +149,7 @@ sl{
         eu{"baskovščina"}\r
         ewo{"evondovščina"}\r
         fa{"perzijščina"}\r
+        fa_AF{"darijščina"}\r
         fan{"fangijščina"}\r
         fat{"fantijščina"}\r
         ff{"fulščina"}\r
@@ -553,7 +554,6 @@ sl{
         Bugi{"buginski"}\r
         Buhd{"buhidski"}\r
         Cans{"poenotena zlogovna pisava kanadskih staroselcev"}\r
-        Cham{"Cham"}\r
         Cher{"čerokeški"}\r
         Cirt{"kirt"}\r
         Copt{"koptski"}\r
@@ -663,10 +663,6 @@ sl{
         Zyyy{"splošno"}\r
         Zzzz{"neznan ali neveljaven zapis"}\r
     }\r
-    Scripts%stand-alone{\r
-        Hans{"poenostavljena pisava han"}\r
-        Hant{"tradicionalna pisava han"}\r
-    }\r
     Scripts%variant{\r
         Arab{"perzijskoarabski"}\r
     }\r
@@ -882,7 +878,7 @@ sl{
         VALENCIA{"valencijski pravopis"}\r
         WADEGILE{"romanizacija Wade-Giles"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} – vse"}\r
         category-list{"{0}: {1}"}\r
index e0d6eee..46fe205 100644 (file)
@@ -397,7 +397,7 @@ smn{
         zxx{"ij kielâlâš siskáldâs"}\r
         zza{"zazakielâ"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"kielâ: {0}"}\r
         script{"čäällimvuáhádâh: {0}"}\r
index f8977c9..5c92888 100644 (file)
@@ -48,5 +48,5 @@ sn{
         zh{"chiChinese"}\r
         zu{"chiZulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c750f61..f7f7358 100644 (file)
@@ -69,6 +69,7 @@ so{
         eu{"Basquu"}\r
         ewo{"Eewondho"}\r
         fa{"Faarisi"}\r
+        fa_AF{"Faarsi"}\r
         ff{"Fuulah"}\r
         fi{"Finishka"}\r
         fil{"Tagalog"}\r
@@ -76,6 +77,7 @@ so{
         fr{"Faransiis"}\r
         fr_CA{"Faransiiska Kanada"}\r
         fr_CH{"Faransiis (Iswiiserlaand)"}\r
+        frc{"Faransiiska Cajun"}\r
         fur{"Firiyuuliyaan"}\r
         fy{"Firiisiyan Galbeed"}\r
         ga{"Ayrish"}\r
@@ -134,12 +136,14 @@ so{
         lkt{"Laakoota"}\r
         ln{"Lingala"}\r
         lo{"Lao"}\r
+        lou{"Louisiana Creole"}\r
         lrc{"Koonfurta Luuri"}\r
         lt{"Lituwaanays"}\r
         lu{"Luuba-kataanga"}\r
         luo{"Luwada"}\r
         luy{"Luhya"}\r
         lv{"Laatfiyaan"}\r
+        mai{"Dadka Maithili"}\r
         mas{"Masaay"}\r
         mer{"Meeru"}\r
         mfe{"Moorisayn"}\r
@@ -185,6 +189,7 @@ so{
         rn{"Rundhi"}\r
         ro{"Romanka"}\r
         rof{"Rombo"}\r
+        root{"Xidid"}\r
         ru{"Ruush"}\r
         rw{"Ruwaandha"}\r
         rwk{"Raawa"}\r
@@ -250,41 +255,173 @@ so{
     Languages%short{\r
         az{"Aseeri"}\r
         en_GB{"Ingiriiska Boqortooyada Midooday"}\r
+        en_US{"Ingiriisi (US)"}\r
     }\r
     Scripts{\r
+        Adlm{"Adlam"}\r
+        Aghb{"Qoraalka Luuqada Caucasian Albanian"}\r
+        Ahom{"Dadka Ahom"}\r
         Arab{"Carabi"}\r
+        Aran{"Farta Luuqada Faarsiga"}\r
+        Armi{"Luuqada Imperial Aramaic"}\r
         Armn{"Armeeniyaan"}\r
+        Avst{"Luuqada Avestan"}\r
+        Bali{"Baliniis"}\r
+        Bamu{"Bamum"}\r
+        Bass{"Qoraalka Vah"}\r
+        Batk{"Batak"}\r
         Beng{"Baangla"}\r
+        Bhks{"Qoraalka Bhaiksuki"}\r
+        Bopo{"Farta Manadariinka Taywaan"}\r
+        Brah{"Dhirta Brahmi"}\r
         Brai{"Qoraalka Indhoolaha"}\r
+        Bugi{"Luuqada Buginiiska"}\r
+        Buhd{"Luuqada Buhid"}\r
+        Cakm{"Jakma"}\r
+        Cans{"Qoraalka Luuqada Aborajiinka ee Kanada"}\r
+        Cari{"Luuqada kaariyaanka"}\r
+        Cham{"Jam"}\r
+        Cher{"Jerokee"}\r
+        Chrs{"Luuqada Korasmiyaanka"}\r
+        Copt{"Dadka Kotiga"}\r
+        Cprt{"sibraas dhalad ah"}\r
         Cyrl{"Siriylik"}\r
         Deva{"Dhefangaari"}\r
+        Diak{"Luuqadaha Dives Akuru"}\r
+        Dogr{"Dadka Dogra"}\r
+        Dsrt{"Gobalka Deseret"}\r
+        Dupl{"Qoraalka Duployan shorthand"}\r
+        Egyp{"Fartii hore ee Masaarida"}\r
+        Elba{"Magaalada Elbasan"}\r
+        Elym{"Qoraalka Elymaic"}\r
         Ethi{"Itoobiya"}\r
         Geor{"Jiyoorjoyaan"}\r
+        Glag{"Qoraalka Glagolitic"}\r
+        Gong{"Gumjala Gondi"}\r
+        Gonm{"Qoraalka Masaram Gondi"}\r
+        Goth{"Dadka Gothic"}\r
+        Gran{"Qoraalka Grantha"}\r
         Grek{"Giriik"}\r
         Gujr{"Gujaraati"}\r
+        Guru{"Luuqada gujarati"}\r
+        Hanb{"luuqada Han iyo Farta Mandariinka Taywaan"}\r
         Hang{"Hanguul"}\r
+        Hani{"Luuqada Han"}\r
+        Hano{"Qoraalka Hanunoo"}\r
         Hans{"La fududeeyay"}\r
         Hant{"Hore"}\r
+        Hatr{"Qoraalka Hatran"}\r
         Hebr{"Cibraani"}\r
         Hira{"Hiragana"}\r
+        Hluw{"Qoraalka Anatolian Hieroglyphs"}\r
+        Hmng{"Hmonga pahawh"}\r
+        Hmnp{"Hmonga Nyiakeng Puachue"}\r
         Hrkt{"Qoraalka Xuruufta Jabaaniiska"}\r
+        Hung{"Hangariyaankii Hore"}\r
+        Ital{"Itaaliggii Hore"}\r
         Jamo{"Jaamo"}\r
+        Java{"Jafaniis"}\r
         Jpan{"Jabaaniis"}\r
+        Kali{"Kayah LI"}\r
         Kana{"Katakaana"}\r
+        Khar{"Koraalka kharooshi"}\r
         Khmr{"Khamer"}\r
+        Khoj{"Qoraalka Khojki"}\r
+        Kits{"Qoraalka yar ee Khitan"}\r
         Knda{"Kanada"}\r
         Kore{"Kuuriyaan"}\r
+        Kthi{"kaithi"}\r
+        Lana{"Lanna"}\r
+        Laoo{"Dalka Lao"}\r
         Latn{"Laatiin"}\r
+        Lepc{"Lebja"}\r
+        Limb{"Limbu"}\r
+        Lina{"Nidaamka qoraalka Linear A"}\r
+        Linb{"Nidaamka qoraalka Linear B"}\r
+        Lisu{"Wabiga Fraser"}\r
+        Lyci{"Lyciantii Hore"}\r
+        Lydi{"Lydian"}\r
+        Mahj{"Mahajani"}\r
+        Maka{"Makasar"}\r
+        Mand{"Luuqada Mandaean"}\r
+        Mani{"Manichaean"}\r
+        Marc{"Marchen"}\r
+        Medf{"Madefaidrin"}\r
+        Mend{"Mende"}\r
+        Merc{"Meroitic Curve"}\r
+        Mero{"Meroitic"}\r
         Mlym{"Maalayalam"}\r
+        Modi{"Moodi"}\r
         Mong{"Mongooliyaan"}\r
+        Mroo{"Mro"}\r
+        Mtei{"Qoraalka Luuqada Meitei"}\r
+        Mult{"Multani"}\r
         Mymr{"Mayanmaar"}\r
+        Nand{"Nandinagari"}\r
+        Narb{"Carabiyadii Hore ee Wuqooye"}\r
+        Nbat{"Nabataean"}\r
+        Newa{"Newa"}\r
+        Nkoo{"N’Ko"}\r
+        Nshu{"Nüshu"}\r
+        Ogam{"Ogham"}\r
+        Olck{"Ol Jiki"}\r
+        Orkh{"Orkhon"}\r
         Orya{"Oodhiya"}\r
+        Osge{"Osage"}\r
+        Osma{"Osmanya"}\r
+        Palm{"Palmyrene"}\r
+        Pauc{"Baaw Sin Haaw"}\r
+        Perm{"Permic gii hore"}\r
+        Phag{"Qoraalka Phags-pa"}\r
+        Phli{"Qoraaladii hore ee Pahlavi"}\r
+        Phlp{"Qoraalka midig laga bilaabo ee faarsiyiintii"}\r
+        Phnx{"Luuqada Phoenicianka"}\r
+        Plrd{"Shibanaha"}\r
+        Prti{"Qoraalka Parthian"}\r
+        Qaag{"Qoraalka Sawgiga"}\r
+        Rjng{"Dadka Rejan"}\r
+        Rohg{"Hanifi Rohingya"}\r
+        Runr{"Dadka Rejang"}\r
+        Samr{"Dadka Samaritan"}\r
+        Sarb{"Crabiyaankii Hore ee Wuqooyi"}\r
+        Saur{"Sawrashtra"}\r
+        Sgnw{"Qaabka dhagoolka loola hadlo"}\r
+        Shaw{"calaamad qoris"}\r
+        Shrd{"Sharada"}\r
+        Sidd{"Siddham"}\r
+        Sind{"khudwadi"}\r
         Sinh{"Sinhaala"}\r
+        Sogd{"Sogdiyaan"}\r
+        Sogo{"Sogdiyaankii Hore"}\r
+        Sora{"Qoraalka Sora Sompeng"}\r
+        Soyo{"Soyombo"}\r
+        Sund{"Dadka Sundaniiska"}\r
+        Sylo{"Qoraalka Luuqada Sylheti"}\r
+        Syrc{"Lahjada Syriac"}\r
+        Tagb{"Tagbanwa"}\r
+        Takr{"Takri"}\r
+        Tale{"Tai Le"}\r
+        Talu{"Tai Lue cusub"}\r
         Taml{"Taamiil"}\r
+        Tang{"Luuqada Tangut"}\r
+        Tavt{"Farta lagu Qoro Luuqadaha Tai"}\r
         Telu{"Teeluguu"}\r
+        Tfng{"Farta Tifinagh"}\r
+        Tglg{"Luuqada Tagalog"}\r
         Thaa{"Daana"}\r
         Thai{"Taay"}\r
         Tibt{"Tibetaan"}\r
+        Tirh{"Qoraalka Luuqada Maithili"}\r
+        Ugar{"Luuqada Ugaritic"}\r
+        Vaii{"Dadka Vai"}\r
+        Wara{"Nidaamka Qoraalka Luuqada Ho"}\r
+        Wcho{"Dadka wanjo"}\r
+        Xpeo{"Faarsigii Hore"}\r
+        Xsux{"Qoraalkii Hore ee dadka Sumaariyiinta ee dhulka mesobataamiya"}\r
+        Yezi{"Dadka Yesiidiga"}\r
+        Yiii{"Tiknoolajiyada Yi"}\r
+        Zanb{"Xarafka laba jibaaran ee kujira Xarfaha Zanabazar"}\r
+        Zinh{"Dhaxlay"}\r
         Zmth{"Aqoonsiga Xisaabta"}\r
         Zsye{"Calaamad Dareen Muujin"}\r
         Zsym{"Calaamado"}\r
@@ -300,11 +437,18 @@ so{
         calendar{\r
             buddhist{"Habeentiriska Buudhist"}\r
             chinese{"Habeetiriska Shiinaha"}\r
+            coptic{"Habeentiriska Koptiga"}\r
             dangi{"Habeetiriska Dangi"}\r
             ethiopic{"Habeentiriska Itoobiya"}\r
+            ethiopic-amete-alem{"Taariikhda Itoobiya ee Amete Alem"}\r
             gregorian{"Habeetiriska Geregoriyaan"}\r
             hebrew{"Habeentiriska yuhuudda"}\r
+            indian{"Taariikhda Qaranka Hindiya"}\r
             islamic{"Habeentiriska islaamka"}\r
+            islamic-civil{"Taariikhda Islaamiga (tabular, civil epoch)"}\r
+            islamic-rgsa{"Habeentiriska Islaamka (Sacuudiga, aragtida)"}\r
+            islamic-tbla{"Taariikhda Islaamiga (tabular, astronomical epoch)"}\r
+            islamic-umalqura{"Taariikhda Islaamiga(Umm al-Qura)"}\r
             iso8601{"Habeentiriska ISO-8601"}\r
             japanese{"Habeentiriska jabbaanka"}\r
             persian{"Habeentiriska Baarshiyaanka"}\r
@@ -315,9 +459,23 @@ so{
             standard{"Habka Heerka Lacagta"}\r
         }\r
         collation{\r
+            big5han{"Isku hagaajinta Shiineeskii Hore - Big5"}\r
+            compat{"Iswaafajinta Isku hajintii hore"}\r
+            dictionary{"Isku hagaajinta Qaamuuska"}\r
             ducet{"Lambar Sireedka Caalamiga ee Kala Soocidda Dalabka"}\r
+            emoji{"Isku hagaajinta Emojiga"}\r
+            eor{"Xeerarka Dalabka Yurub"}\r
+            gb2312han{"Isku hagaajinta Farta shiineeska"}\r
+            phonebook{"Isku hagaajinta foonbuuga"}\r
+            pinyin{"Isku hagaajinta Pinyin"}\r
+            reformed{"Isku hagaajinta Reformed"}\r
             search{"Raadinta Guud"}\r
+            searchjl{"Raadinta Shibanaha Hangul"}\r
             standard{"Amarka Kala Soocidda Caadiga ah"}\r
+            stroke{"Isku hagaajinta Farta"}\r
+            traditional{"Isku hagaajin Fareedkii Hore"}\r
+            unihan{"Isku hagaajinta Farta Radical-Stroke"}\r
+            zhuyin{"Isku hagaajinta Farta Zhuyin"}\r
         }\r
         hc{\r
             h11{"12 Saac ee Nidaamka Saacadda (0–12)"}\r
@@ -336,15 +494,24 @@ so{
             ussystem{"Nidaamka Cabbirka ee US"}\r
         }\r
         numbers{\r
+            ahom{"Godadka Ahom"}\r
             arab{"Gdadka Carabi-Hindiya"}\r
             arabext{"Tirooyinka Dheeraadka ah ee Godadka Carabi-Hindiya"}\r
             armn{"Nidaam Tireedka Armeeniya"}\r
             armnlow{"Nidaam Tireedka Yaryar ee Armeeniya"}\r
+            bali{"Godadka Balinese"}\r
             beng{"Godadka Banglaa"}\r
+            brah{"Godadka Brahmi"}\r
+            cakm{"Godadka Chakma"}\r
+            cham{"Godadka cham"}\r
+            cyrl{"Lambarada Cyrillic"}\r
             deva{"Godadka Defangaari"}\r
+            diak{"Godadka Dives Akuru"}\r
             ethi{"Nidaam Tireedka Itoobiya"}\r
             fullwide{"Ballac Godadka Buuxa"}\r
             geor{"Nidaam Tireedka Giyoorgiyaanka"}\r
+            gong{"Godadka Gunjala Gondi"}\r
+            gonm{"Lambarada Masaram Gondi"}\r
             grek{"Nidaam Tireedka Giriiga"}\r
             greklow{"Nidaam Tireedka Yaryar ee Giriiga"}\r
             gujr{"Godadka Gujaraati"}\r
@@ -355,25 +522,109 @@ so{
             hant{"Nidaam Tireedka Hore ee Shiinaha"}\r
             hantfin{"Nidaam Tireedkii Hore ee Dhaqaalaha Shiinaha"}\r
             hebr{"Nidaam Tireedka Cibraanka"}\r
+            hmng{"Nidaam Tireedka Hebrew"}\r
+            hmnp{"Godadka Nyiakeng Puachue Hmong"}\r
+            java{"Godadka Javanese"}\r
             jpan{"Nidaam Tireedka Jabbaanka"}\r
             jpanfin{"Nidaam Tireedka Dhaqaalaha Jabbaanka"}\r
+            kali{"Godadka Kayah Li"}\r
             khmr{"Godadka Khamer"}\r
             knda{"Godadka Kanada"}\r
+            lana{"Godadka Tai Tham Hora"}\r
+            lanatham{"Godadka Tai Tham"}\r
             laoo{"Godadka Laao"}\r
             latn{"Godadka Ree Galbeedka"}\r
+            lepc{"Godadka Lepcha"}\r
+            limb{"Godadka Limbu"}\r
+            mathbold{"Godad Xisaabeedka Waaweeyn"}\r
+            mathdbl{"Godad Xisaabeedka Labalaabma"}\r
+            mathmono{"Godad Xisaabeedka Monospace"}\r
+            mathsanb{"Godad xisaabeedka waaweeyn ee Sans-Serif"}\r
+            mathsans{"Godad xisaabeedka Sans-Serif"}\r
             mlym{"Godadka Malayalam"}\r
+            modi{"Godadka Modi"}\r
+            mong{"Godadka Mongooliyaanka"}\r
+            mroo{"Godadka Mro"}\r
+            mtei{"Godadka Meetei Mayek"}\r
             mymr{"Godadka Mayanmaar"}\r
+            mymrshan{"Godadka Myanmar Shan"}\r
+            mymrtlng{"Godadka Myanmar Tai Laing"}\r
+            nkoo{"Godadka N’Ko"}\r
+            olck{"Godadka Ol Chiki"}\r
             orya{"Godadka Oodhiya"}\r
+            osma{"Godadka Osmanya"}\r
+            rohg{"Godadka Hanifi Rohingya"}\r
             roman{"Nidaam Tireedka Roomaanka"}\r
             romanlow{"Nidaam Tireedka yaryar ee Roomaanka"}\r
+            saur{"Godadka Saurashtra"}\r
+            shrd{"Godadka Sharada"}\r
+            sind{"Godadka Khudawadi"}\r
+            sinh{"Godadka Sinhala Lith"}\r
+            sora{"Godadka Sora Sompeng"}\r
+            sund{"Godadka Sundaniiska"}\r
+            takr{"Godadka Takri"}\r
+            talu{"Godadka cusub ee Tai Lue"}\r
             taml{"Nidaam Tireedki Hore ee Taaamiil"}\r
             tamldec{"Godka Tirada Taamiil"}\r
             telu{"Godka Tirada Telugu"}\r
             thai{"Godka Tirada Thai"}\r
             tibt{"Godka Tirada Tibetan"}\r
+            tirh{"Godadka Tirhuta"}\r
+            vaii{"Godadka Vai"}\r
+            wara{"Godadka Warang Citi"}\r
+            wcho{"Godadka Wancho"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Variants{\r
+        1606NICT{"Fransiiskii dhexe ee ugu dambeeyay ilaa 1606"}\r
+        1694ACAD{"Faransiiskii Hore"}\r
+        1901{"orthofraphygii hore ee Jarmalka"}\r
+        1959ACAD{"Tacliin"}\r
+        1994{"Heerka orthographyga Resiyaanka"}\r
+        1996{"Orthigraphygii jarmal ee 1996"}\r
+        ABL1943{"Qaacideeynta orthographygii 1943"}\r
+        ALALC97{"ALA-LC Romanization, 1997 daabacaad"}\r
+        ALUKU{"Lahjada Aluku"}\r
+        AO1990{"Heshiiska luuqada orthografiga burtuqiiska 1990"}\r
+        BAKU1926{"Farta Latin Turkiga ee Mideeysan"}\r
+        BALANKA{"Lahjada Balanka ee Anii"}\r
+        BARLA{"lahjada kooxda Barlavento ee kabuverdianu"}\r
+        BISKE{"Lahjada San Giorgio/Bila"}\r
+        BOHORIC{"Farta Bohorič"}\r
+        BOONT{"Luuqada Boontling"}\r
+        BORNHOLM{"BOONHOLM"}\r
+        COLB1945{"Shirkii orthografiga ee Portuguese-Brazilian 1945"}\r
+        DAJNKO{"alfabeetka Dajnko"}\r
+        EKAVSK{"dhaqyada isku jirka ah ee Serbiyaanka iyo Ekviyaan"}\r
+        EMODENG{"Ingiriiskii hore ee casriga ahaa"}\r
+        IJEKAVSK{"dhawaaqyada Serbiyaanka iyo Ijekaviyaan"}\r
+        KKCOR{"orhographyga caadiga ah"}\r
+        KSCOR{"heerka orthographyga"}\r
+        LENGADOC{"LENGADOK"}\r
+        LIPAW{"Lahjada Lipavaz ee Resiyaanka"}\r
+        LUNA1918{"LUUNA1918"}\r
+        METELKO{"alfaabeetka nmetelko"}\r
+        MONOTON{"MOONOTOONIK"}\r
+        NDYUKA{"lahjada Ndyuka"}\r
+        NEDIS{"lahjada Natisone"}\r
+        NEWFOUND{"HELITAANCUSUB"}\r
+        NICARD{"KAARKANI"}\r
+        NJIVA{"lahjada Gniva/Njiva"}\r
+        NULIK{"Folabuka casriga ah"}\r
+        OSOJS{"lahjada Oseacco/Osojane"}\r
+        OXENDICT{"hinggaadinta Qaamuuska Ingiriisiga Oxford"}\r
+        POSIX{"Kombiyuutar"}\r
+        SAAHO{"Saaho"}\r
+        SCOTLAND{"Heerka Ingiriisiga Iskootishka"}\r
+        SCOUSE{"GARAACID"}\r
+        SIMPLE{"Fudud"}\r
+        SOLBA{"lahjada Stolvizza/Solbica"}\r
+        TARASK{"orthographyga Taraskievica"}\r
+        UCCOR{"orthograpghyga mideeysan"}\r
+        UCRCOR{"orthographyga mideeysan ee hadana ladul maray"}\r
+        VALENCIA{"Faleensiyaawi"}\r
+    }\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} dhamaan"}\r
         compatibility{"{0} — waafaqsanaanta"}\r
index 2d64ead..0a2ab82 100644 (file)
@@ -109,6 +109,7 @@ sq{
         eu{"baskisht"}\r
         ewo{"euondoisht"}\r
         fa{"persisht"}\r
+        fa_AF{"darisht"}\r
         ff{"fulaisht"}\r
         fi{"finlandisht"}\r
         fil{"filipinisht"}\r
@@ -414,6 +415,10 @@ sq{
         zxx{"nuk ka përmbajtje gjuhësore"}\r
         zza{"zazaisht"}\r
     }\r
+    Languages%long{\r
+        zh_Hans{"kinezishte mandarine (e thjeshtuar)"}\r
+        zh_Hant{"kinezishte mandarine (tradicionale)"}\r
+    }\r
     Languages%menu{\r
         yue{"kinezishte kantoneze"}\r
         zh{"kinezishte mandarine"}\r
@@ -562,7 +567,7 @@ sq{
             tibt{"shifra tibetiane"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — Të gjitha"}\r
         category-list{"{0}: {1}"}\r
index 0848397..9e9cd2a 100644 (file)
@@ -83,6 +83,7 @@ sr{
         cad{"кадо"}\r
         car{"карипски"}\r
         cch{"атсам"}\r
+        ccp{"чакма"}\r
         ce{"чеченски"}\r
         ceb{"себуански"}\r
         cgg{"чига"}\r
@@ -145,6 +146,7 @@ sr{
         eu{"баскијски"}\r
         ewo{"евондо"}\r
         fa{"персијски"}\r
+        fa_AF{"дари"}\r
         fan{"фанг"}\r
         fat{"фанти"}\r
         ff{"фула"}\r
@@ -850,7 +852,7 @@ sr{
         TARASK{"Тараскијевичка ортографија"}\r
         VALENCIA{"Валенцијска"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — све"}\r
         category-list{"{0}: {1}"}\r
index 1ed798b..f89f3af 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sr_Cyrl{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 187bc9b..e561836 100644 (file)
@@ -21,5 +21,5 @@ sr_Cyrl_BA{
         zh_Hant{"традиционални кинески"}\r
         zu{"исизулу"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cb23f77..c9e061b 100644 (file)
@@ -17,5 +17,5 @@ sr_Cyrl_ME{
         zgh{"стандардни марокански тамашек"}\r
         zu{"исизулу"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index aa5ca4c..db23d22 100644 (file)
@@ -17,5 +17,5 @@ sr_Cyrl_XK{
         zgh{"стандардни марокански тамашек"}\r
         zu{"исизулу"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0bff272..f00baff 100644 (file)
@@ -84,6 +84,7 @@ sr_Latn{
         cad{"kado"}\r
         car{"karipski"}\r
         cch{"atsam"}\r
+        ccp{"čakma"}\r
         ce{"čečenski"}\r
         ceb{"sebuanski"}\r
         cgg{"čiga"}\r
@@ -146,6 +147,7 @@ sr_Latn{
         eu{"baskijski"}\r
         ewo{"evondo"}\r
         fa{"persijski"}\r
+        fa_AF{"dari"}\r
         fan{"fang"}\r
         fat{"fanti"}\r
         ff{"fula"}\r
@@ -851,7 +853,7 @@ sr_Latn{
         TARASK{"Taraskijevička ortografija"}\r
         VALENCIA{"Valencijska"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — sve"}\r
         category-list{"{0}: {1}"}\r
index c8af249..c9e7988 100644 (file)
@@ -21,5 +21,5 @@ sr_Latn_BA{
         zh_Hant{"tradicionalni kineski"}\r
         zu{"isizulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bad233f..032f804 100644 (file)
@@ -17,5 +17,5 @@ sr_Latn_ME{
         zgh{"standardni marokanski tamašek"}\r
         zu{"isizulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0939cea..f5c2315 100644 (file)
@@ -17,5 +17,5 @@ sr_Latn_XK{
         zgh{"standardni marokanski tamašek"}\r
         zu{"isizulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/lang/su.txt b/source/data/lang/su.txt
new file mode 100644 (file)
index 0000000..5ef9412
--- /dev/null
@@ -0,0 +1,78 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+su{\r
+    Languages{\r
+        de{"Jérman"}\r
+        de_AT{"Jérman Austria"}\r
+        de_CH{"Jérman Swiss Luhur"}\r
+        en{"Inggris"}\r
+        en_AU{"Inggris Australia"}\r
+        en_CA{"Inggris Kanada"}\r
+        en_GB{"Inggris Inggris"}\r
+        en_US{"Inggris Amerika"}\r
+        es{"Spanyol"}\r
+        es_419{"Spanyol Amérika Latin"}\r
+        es_ES{"Spanyol Éropa"}\r
+        es_MX{"Spanyol Méksiko"}\r
+        fr{"Prancis"}\r
+        fr_CA{"Prancis Kanada"}\r
+        fr_CH{"Prancis Swiss"}\r
+        it{"Italia"}\r
+        ja{"Jepang"}\r
+        pt{"Portugis"}\r
+        pt_BR{"Portugis Brasil"}\r
+        pt_PT{"Portugis Éropa"}\r
+        ru{"Rusia"}\r
+        su{"Basa Sunda"}\r
+        und{"Teu Dipikaterang"}\r
+        zh{"Tiongkok"}\r
+        zh_Hans{"Tiongkok Sederhana"}\r
+        zh_Hant{"Tiongkok Tradisional"}\r
+    }\r
+    Languages%long{\r
+        zh_Hans{"Tiongkok Mandarin Sederhana"}\r
+        zh_Hant{"Tiongkok Mandarin Tradisional"}\r
+    }\r
+    Languages%menu{\r
+        zh{"Tiongkok, Mandarin"}\r
+    }\r
+    Languages%short{\r
+        en_GB{"Inggris UK"}\r
+        en_US{"Inggris AS"}\r
+    }\r
+    Scripts{\r
+        Arab{"Basa Arab"}\r
+        Cyrl{"Sirilik"}\r
+        Hans{"Sederhana"}\r
+        Hant{"Tradisional"}\r
+        Latn{"Latin"}\r
+        Zxxx{"Non-tulisan"}\r
+        Zzzz{"Skrip Teu Dipikaterang"}\r
+    }\r
+    Scripts%stand-alone{\r
+        Hans{"Han Sederhana"}\r
+        Hant{"Han Tradisional"}\r
+    }\r
+    Types{\r
+        calendar{\r
+            gregorian{"Kalender Grégorian"}\r
+        }\r
+        collation{\r
+            standard{"Aturan Runtuyan Standar"}\r
+        }\r
+        numbers{\r
+            latn{"Digit Barat"}\r
+        }\r
+    }\r
+    Version{"37"}\r
+    codePatterns{\r
+        language{"Basa: {0}"}\r
+        script{"Skrip: {0}"}\r
+        territory{"Daérah: {0}"}\r
+    }\r
+    localeDisplayPattern{\r
+        keyTypePattern{"{0}: {1}"}\r
+        pattern{"{0} ({1})"}\r
+        separator{"{0}, {1}"}\r
+    }\r
+}\r
diff --git a/source/data/lang/su_ID.txt b/source/data/lang/su_ID.txt
new file mode 100644 (file)
index 0000000..54a4c8f
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+su_ID{\r
+    "%%ALIAS"{"su_Latn_ID"}\r
+}\r
diff --git a/source/data/lang/su_Latn.txt b/source/data/lang/su_Latn.txt
new file mode 100644 (file)
index 0000000..2cd8bd7
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+su_Latn{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/lang/su_Latn_ID.txt b/source/data/lang/su_Latn_ID.txt
new file mode 100644 (file)
index 0000000..8ab1d5e
--- /dev/null
@@ -0,0 +1,8 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+/**\r
+ * generated alias target\r
+ */\r
+su_Latn_ID{\r
+    ___{""}\r
+}\r
index ace157f..acceb36 100644 (file)
@@ -182,6 +182,7 @@ sv{
         ewo{"ewondo"}\r
         ext{"extremaduriska"}\r
         fa{"persiska"}\r
+        fa_AF{"dari"}\r
         fan{"fang"}\r
         fat{"fanti"}\r
         ff{"fulani"}\r
@@ -645,7 +646,8 @@ sv{
         zh_Hant{"traditionell kinesiska"}\r
     }\r
     Languages%menu{\r
-        yue{"kantonesiska"}\r
+        ars{"arabiska (najd)"}\r
+        ckb{"kurdiska (sorani)"}\r
         zh{"mandarin"}\r
     }\r
     Languages%short{\r
@@ -661,6 +663,7 @@ sv{
         Aghb{"kaukasiska albanska"}\r
         Ahom{"ahom"}\r
         Arab{"arabiska"}\r
+        Aran{"nastaliq"}\r
         Armi{"imperisk arameiska"}\r
         Armn{"armeniska"}\r
         Avst{"avestiska"}\r
@@ -789,6 +792,7 @@ sv{
         Phnx{"feniciska"}\r
         Plrd{"pollardtecken"}\r
         Prti{"tidig parthianska"}\r
+        Qaag{"zawgyi"}\r
         Rjng{"rejang"}\r
         Rohg{"hanifiska"}\r
         Roro{"rongo-rongo"}\r
@@ -1140,7 +1144,7 @@ sv{
         WADEGILE{"Wade-Giles"}\r
         XSISTEMO{"x-system"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} – alla"}\r
         category-list{"{0}: {1}"}\r
index 412b5bf..b74eb48 100644 (file)
@@ -7,5 +7,5 @@ sv_FI{
     Scripts%variant{\r
         Arab{"persisk-arabiska"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 86e81f9..0e8ee8e 100644 (file)
@@ -478,7 +478,7 @@ sw{
         Grek{"Kigiriki"}\r
         Gujr{"Kigujarati"}\r
         Guru{"Kigurmukhi"}\r
-        Hanb{"Hanb"}\r
+        Hanb{"Kihan chenye Bopomofo"}\r
         Hang{"Kihangul"}\r
         Hani{"Kihan"}\r
         Hans{"Rahisi"}\r
@@ -656,7 +656,7 @@ sw{
             vaii{"Dijiti za Vai"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — zote"}\r
         category-list{"{0}: {1}"}\r
index 1330a31..5a62a96 100644 (file)
@@ -19,7 +19,6 @@ sw_CD{
         ky{"Kikirigizi"}\r
         lam{"Kilamba"}\r
         li{"Kilimburgi"}\r
-        mak{"mak"}\r
         mdf{"Kimoksha"}\r
         mic{"Kimikmaki"}\r
         mk{"Kimasedonia"}\r
@@ -36,5 +35,5 @@ sw_CD{
         udm{"Kiudumurti"}\r
         yi{"Kiyidi"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0ed5e2d..56c9aad 100644 (file)
@@ -82,5 +82,5 @@ sw_KE{
             tamldec{"Nambari za Kitamili"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8e6a1f8..c8b69c1 100644 (file)
@@ -154,6 +154,7 @@ ta{
         eu{"பாஸ்க்"}\r
         ewo{"எவோன்டோ"}\r
         fa{"பெர்ஷியன்"}\r
+        fa_AF{"தாரி"}\r
         fan{"ஃபேங்க்"}\r
         fat{"ஃபான்டி"}\r
         ff{"ஃபுலா"}\r
@@ -848,7 +849,7 @@ ta{
         PINYIN{"பின்யின் ரோமானைசெஷன்"}\r
         WADEGILE{"வேட்-கைல்ஸ் ரோமனைஷேசன்"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — அனைத்தும்"}\r
         category-list{"{0}: {1}"}\r
index 902db2c..7ce8b1b 100644 (file)
@@ -154,6 +154,7 @@ te{
         eu{"బాస్క్యూ"}\r
         ewo{"ఎవోండొ"}\r
         fa{"పర్షియన్"}\r
+        fa_AF{"డారి"}\r
         fan{"ఫాంగ్"}\r
         fat{"ఫాంటి"}\r
         ff{"ఫ్యుల"}\r
@@ -853,7 +854,7 @@ te{
         REVISED{"సవరించబడిన వర్ణక్రమం"}\r
         WADEGILE{"వేడ్-గైల్స్ రోమనైజేషన్"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — అన్ని"}\r
         category-list{"{0}: {1}"}\r
index 49305bc..f1ddcfc 100644 (file)
@@ -48,5 +48,5 @@ teo{
         zh{"Kichina"}\r
         zu{"Kizulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 77394e8..44d1952 100644 (file)
@@ -201,7 +201,7 @@ tg{
             latn{"Рақамҳои ғарбӣ"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"{0}"}\r
         script{"{0}"}\r
index fc8a6ad..f17dc04 100644 (file)
@@ -182,6 +182,7 @@ th{
         ewo{"อีวันโด"}\r
         ext{"เอกซ์เตรมาดูรา"}\r
         fa{"เปอร์เซีย"}\r
+        fa_AF{"ดารี"}\r
         fan{"ฟอง"}\r
         fat{"ฟันติ"}\r
         ff{"ฟูลาห์"}\r
@@ -650,6 +651,7 @@ th{
         en_US{"อังกฤษ - อเมริกัน"}\r
     }\r
     Languages%variant{\r
+        ckb{"เคิร์ดโซรานี"}\r
         ps{"พุชโต"}\r
     }\r
     Scripts{\r
@@ -1060,7 +1062,7 @@ th{
         VALLADER{"วัลลาเดอร์"}\r
         WADEGILE{"การถอดอักษรแบบเวด-ไจลส์"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — ทั้งหมด"}\r
         category-list{"{0}: {1}"}\r
index 6fa2922..6efc3ce 100644 (file)
@@ -104,7 +104,7 @@ ti{
         Ethi{"ፊደል"}\r
         Latn{"ላቲን"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"{0}"}\r
         script{"{0}"}\r
index 8e3b1b0..9dc36ea 100644 (file)
@@ -103,6 +103,7 @@ tk{
         eu{"bask dili"}\r
         ewo{"ewondo dili"}\r
         fa{"pars dili"}\r
+        fa_AF{"dari dili"}\r
         ff{"fula dili"}\r
         fi{"fin dili"}\r
         fil{"filippin dili"}\r
@@ -534,7 +535,7 @@ tk{
             tibt{"Tibet sanlary"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — ähli"}\r
         category-list{"{0}: {1}"}\r
index ca22249..9e65d6a 100644 (file)
@@ -637,7 +637,6 @@ to{
         zh{"lea fakasiaina-mānitali"}\r
     }\r
     Languages%short{\r
-        az{"lea fakaʻasapaisani"}\r
         en_GB{"lea fakapilitānia"}\r
         en_US{"lea fakapālangi-ʻAmelika"}\r
     }\r
@@ -810,10 +809,6 @@ to{
         Zyyy{"tohinima fakatatau"}\r
         Zzzz{"tohinima taʻeʻiloa"}\r
     }\r
-    Scripts%stand-alone{\r
-        Hans{"tohinima fakasiaina-fakafaingofua"}\r
-        Hant{"tohinima fakasiaina-tukufakaholo"}\r
-    }\r
     Types{\r
         calendar{\r
             buddhist{"fakaputa"}\r
@@ -896,7 +891,7 @@ to{
             tibt{"fika fakatipeti"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — kotoa"}\r
         category-list{"{0}: {1}"}\r
index 6b4d0c0..f3c1040 100644 (file)
@@ -183,6 +183,7 @@ tr{
         ewo{"Ewondo"}\r
         ext{"Ekstremadura Dili"}\r
         fa{"Farsça"}\r
+        fa_AF{"Darice"}\r
         fan{"Fang"}\r
         fat{"Fanti"}\r
         ff{"Fula dili"}\r
@@ -646,6 +647,8 @@ tr{
         zh_Hant{"Geleneksel Çince (Mandarin)"}\r
     }\r
     Languages%menu{\r
+        ars{"Arapça, Necd"}\r
+        ckb{"Kürtçe, Sorani"}\r
         yue{"Çince, Kantonca"}\r
         zh{"Çince, Mandarin"}\r
     }\r
@@ -658,6 +661,7 @@ tr{
         Afak{"Afaka"}\r
         Aghb{"Kafkas Albanyası"}\r
         Arab{"Arap"}\r
+        Aran{"Nestâlik"}\r
         Armi{"İmparatorluk Aramicesi"}\r
         Armn{"Ermeni"}\r
         Avst{"Avesta"}\r
@@ -722,7 +726,7 @@ tr{
         Khmr{"Kmer"}\r
         Khoj{"Khojki"}\r
         Knda{"Kannada"}\r
-        Kore{"Kore"}\r
+        Kore{"Korece"}\r
         Kpel{"Kpelle"}\r
         Kthi{"Kaithi"}\r
         Lana{"Lanna"}\r
@@ -740,7 +744,6 @@ tr{
         Lydi{"Lidya"}\r
         Mahj{"Mahajani"}\r
         Mand{"Manden"}\r
-        Mani{"Mani"}\r
         Maya{"Maya Hiyeroglifleri"}\r
         Mend{"Mende"}\r
         Merc{"Meroitik El Yazısı"}\r
@@ -772,6 +775,7 @@ tr{
         Phnx{"Fenike"}\r
         Plrd{"Pollard Fonetik"}\r
         Prti{"Partça Kitabe Dili"}\r
+        Qaag{"Zawgyi"}\r
         Rjng{"Rejang"}\r
         Roro{"Rongorongo"}\r
         Runr{"Runik"}\r
@@ -1047,7 +1051,7 @@ tr{
         VALENCIA{"Valensiyaca"}\r
         WADEGILE{"Wade-Giles (Latin Alfabesinde Yazımı)"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — tümü"}\r
         category-list{"{0}: {1}"}\r
index 95f75a5..05095d8 100644 (file)
@@ -165,10 +165,6 @@ tt{
     Languages%menu{\r
         zh{"мандарин кытайчасы"}\r
     }\r
-    Languages%short{\r
-        en_GB{"инглиз (Берләшкән Корольлек)"}\r
-        en_US{"инглиз (АКШ)"}\r
-    }\r
     Scripts{\r
         Arab{"гарәп"}\r
         Cyrl{"кирилл"}\r
@@ -193,7 +189,7 @@ tt{
             latn{"көнбатыш цифрлары"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"Тел: {0}"}\r
         script{"Язу: {0}"}\r
index 884e2ae..9093fa4 100644 (file)
@@ -48,5 +48,5 @@ twq{
         zh{"Sinuwa senni, Mandareŋ"}\r
         zu{"Zulu senni"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5fc99ef..4f1af0c 100644 (file)
@@ -48,5 +48,5 @@ tzm{
         zh{"Tacinwit,Mandarin"}\r
         zu{"tazulut"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 025d42b..8401e69 100644 (file)
@@ -680,10 +680,6 @@ ug{
         Zyyy{"ئورتاق"}\r
         Zzzz{"يوچۇن يېزىق"}\r
     }\r
-    Scripts%stand-alone{\r
-        Hans{"ئاددىي خەنچە"}\r
-        Hant{"مۇرەككەپ خەنچە"}\r
-    }\r
     Types{\r
         calendar{\r
             buddhist{"بۇددا يىلنامەسى"}\r
@@ -830,7 +826,7 @@ ug{
         VALENCIA{"ۋالېنسىيە"}\r
         WADEGILE{"ۋېي ئائىلىسى پىنيىن لاتىنلاشتۇرۇش"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"تىل: {0}"}\r
         script{"يېزىق: {0}"}\r
index 4795391..170a370 100644 (file)
@@ -171,6 +171,7 @@ uk{
         eu{"баскська"}\r
         ewo{"евондо"}\r
         fa{"перська"}\r
+        fa_AF{"дарі"}\r
         fan{"фанг"}\r
         fat{"фанті"}\r
         ff{"фула"}\r
@@ -574,6 +575,8 @@ uk{
         zh_Hant{"китайська мандаринська (традиційне письмо)"}\r
     }\r
     Languages%menu{\r
+        ars{"арабська, надждійська"}\r
+        ckb{"курдська, сорані"}\r
         yue{"китайська кантонська"}\r
         zh{"китайська мандаринська"}\r
     }\r
@@ -587,6 +590,7 @@ uk{
         Aghb{"кавказька албанська"}\r
         Ahom{"ахом"}\r
         Arab{"арабиця"}\r
+        Aran{"насталік"}\r
         Armi{"армі"}\r
         Armn{"вірменська"}\r
         Avst{"авестійський"}\r
@@ -685,6 +689,7 @@ uk{
         Phnx{"фінікійський"}\r
         Plrd{"писемність Полларда"}\r
         Prti{"парфянський"}\r
+        Qaag{"зоджі"}\r
         Rjng{"реджанг"}\r
         Roro{"ронго-ронго"}\r
         Runr{"рунічний"}\r
@@ -733,6 +738,7 @@ uk{
     }\r
     Scripts%variant{\r
         Arab{"персько-арабська"}\r
+        Olck{"ол чікі"}\r
     }\r
     Types{\r
         calendar{\r
@@ -909,7 +915,7 @@ uk{
         VALENCIA{"Валенсійська"}\r
         WADEGILE{"Романізація Вейда-Джайлза"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — усі"}\r
         category-list{"{0}: {1}"}\r
index 21f0ae4..8d96acb 100644 (file)
@@ -121,6 +121,7 @@ ur{
         eu{"باسکی"}\r
         ewo{"ایوانڈو"}\r
         fa{"فارسی"}\r
+        fa_AF{"دری"}\r
         ff{"فولہ"}\r
         fi{"فینیش"}\r
         fil{"فلیپینو"}\r
@@ -149,7 +150,6 @@ ur{
         gv{"مینکس"}\r
         gwi{"گوئچ ان"}\r
         ha{"ہؤسا"}\r
-        hak{"hak"}\r
         haw{"ہوائی"}\r
         he{"عبرانی"}\r
         hi{"ہندی"}\r
@@ -157,7 +157,6 @@ ur{
         hmn{"ہمانگ"}\r
         hr{"کراتی"}\r
         hsb{"اپر سربیائی"}\r
-        hsn{"hsn"}\r
         ht{"ہیتی"}\r
         hu{"ہنگیرین"}\r
         hup{"ہیوپا"}\r
@@ -273,7 +272,6 @@ ur{
         myv{"ارزیا"}\r
         mzn{"مزندرانی"}\r
         na{"ناؤرو"}\r
-        nan{"nan"}\r
         nap{"نیاپولیٹن"}\r
         naq{"ناما"}\r
         nb{"نارویجین بوکمل"}\r
@@ -416,7 +414,6 @@ ur{
         war{"وارے"}\r
         wbp{"وارلپیری"}\r
         wo{"وولوف"}\r
-        wuu{"wuu"}\r
         xal{"کالمیک"}\r
         xh{"ژوسا"}\r
         xog{"سوگا"}\r
@@ -448,6 +445,7 @@ ur{
     }\r
     Scripts{\r
         Arab{"عربی"}\r
+        Aran{"نستعلیق"}\r
         Armn{"آرمینیائی"}\r
         Beng{"بنگالی"}\r
         Bopo{"بوپوموفو"}\r
@@ -640,7 +638,7 @@ ur{
             vaii{"وائی ہندسے"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — تمام"}\r
         category-list{"{0}: {1}"}\r
index b5c7732..099a921 100644 (file)
@@ -23,5 +23,5 @@ ur_IN{
             tibt{"تبتی ہندسے"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b059e29..b27f7a8 100644 (file)
@@ -109,6 +109,7 @@ uz{
         eu{"bask"}\r
         ewo{"evondo"}\r
         fa{"fors"}\r
+        fa_AF{"dari"}\r
         ff{"fula"}\r
         fi{"fincha"}\r
         fil{"filipincha"}\r
@@ -136,7 +137,6 @@ uz{
         gv{"men"}\r
         gwi{"gvichin"}\r
         ha{"xausa"}\r
-        hak{"hak"}\r
         haw{"gavaycha"}\r
         he{"ivrit"}\r
         hi{"hind"}\r
@@ -144,7 +144,6 @@ uz{
         hmn{"xmong"}\r
         hr{"xorvat"}\r
         hsb{"yuqori sorb"}\r
-        hsn{"hsn"}\r
         ht{"gaityan"}\r
         hu{"venger"}\r
         hup{"xupa"}\r
@@ -258,7 +257,6 @@ uz{
         myv{"erzya"}\r
         mzn{"mozandaron"}\r
         na{"nauru"}\r
-        nan{"nan"}\r
         nap{"neapolitan"}\r
         naq{"nama"}\r
         nb{"norveg-bokmal"}\r
@@ -397,7 +395,6 @@ uz{
         war{"varay"}\r
         wbp{"valbiri"}\r
         wo{"volof"}\r
-        wuu{"wuu"}\r
         xal{"qalmoq"}\r
         xh{"kxosa"}\r
         xog{"soga"}\r
@@ -474,10 +471,6 @@ uz{
         Zyyy{"umumiy"}\r
         Zzzz{"noma’lum yozuv"}\r
     }\r
-    Scripts%stand-alone{\r
-        Hans{"soddalashgan xitoy"}\r
-        Hant{"an’anaviy xitoy"}\r
-    }\r
     Types{\r
         calendar{\r
             buddhist{"buddizm taqvimi"}\r
@@ -555,7 +548,7 @@ uz{
             tibt{"tibet raqamlari"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — hammasi"}\r
         category-list{"{0}: {1}"}\r
index 4e55396..29cdf65 100644 (file)
@@ -10,5 +10,5 @@ uz_Arab{
     Scripts{\r
         Arab{"عربی"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e38c938..cf27fdd 100644 (file)
@@ -355,10 +355,6 @@ uz_Cyrl{
         Zyyy{"Умумий"}\r
         Zzzz{"Номаълум шрифт"}\r
     }\r
-    Scripts%stand-alone{\r
-        Hans{"Соддалаштирилган"}\r
-        Hant{"Анъанавий"}\r
-    }\r
     Types{\r
         calendar{\r
             gregorian{"Григориан календари"}\r
@@ -406,7 +402,7 @@ uz_Cyrl{
             tibt{"Тибет рақамлари"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"Тил: {0}"}\r
         script{"{0}"}\r
index fab5249..e0f4ba8 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 uz_Latn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 86c044d..06974ea 100644 (file)
@@ -48,5 +48,5 @@ vai{
         zh{"ꕦꕇꔧ"}\r
         zu{"ꖮꖨ"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index af1d38f..61d628c 100644 (file)
@@ -49,5 +49,5 @@ vai_Latn{
         zh{"Chaniĩ"}\r
         zu{"Zúlu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8aaf4a5..f361880 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 vai_Vaii{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2beed4c..b604ad1 100644 (file)
@@ -175,6 +175,7 @@ vi{
         ewo{"Tiếng Ewondo"}\r
         ext{"Tiếng Extremadura"}\r
         fa{"Tiếng Ba Tư"}\r
+        fa_AF{"Tiếng Dari"}\r
         fan{"Tiếng Fang"}\r
         fat{"Tiếng Fanti"}\r
         ff{"Tiếng Fulah"}\r
@@ -590,11 +591,13 @@ vi{
         en_US{"Tiếng Anh (Mỹ)"}\r
     }\r
     Languages%variant{\r
+        ckb{"Tiếng Kurd Sorani"}\r
         ps{"Tiếng Pushto"}\r
     }\r
     Scripts{\r
         Afak{"Chữ Afaka"}\r
         Arab{"Chữ Ả Rập"}\r
+        Aran{"Chữ Nastaliq"}\r
         Armi{"Chữ Imperial Aramaic"}\r
         Armn{"Chữ Armenia"}\r
         Avst{"Chữ Avestan"}\r
@@ -705,6 +708,7 @@ vi{
         Phnx{"Chữ Phoenicia"}\r
         Plrd{"Ngữ âm Pollard"}\r
         Prti{"Chữ Parthia Văn bia"}\r
+        Qaag{"Chữ Zawgyi"}\r
         Rjng{"Chữ Rejang"}\r
         Roro{"Chữ Rongorongo"}\r
         Runr{"Chữ Runic"}\r
@@ -995,7 +999,7 @@ vi{
         VALENCIA{"Tiếng Valencia"}\r
         WADEGILE{"La Mã hóa Wade-Giles"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — tất cả"}\r
         category-list{"{0}: {1}"}\r
index 18ab3b0..df8c2e7 100644 (file)
@@ -48,5 +48,5 @@ vun{
         zh{"Kyichina"}\r
         zu{"Kyizulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7f1d18b..a868f9d 100644 (file)
@@ -193,7 +193,7 @@ wae{
             latn{"Arabiši Zálä"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"Sprač: {0}"}\r
         script{"Alfabét: {0}"}\r
index c7c58bb..93b57be 100644 (file)
@@ -181,7 +181,7 @@ wo{
             latn{"Siifari Tugal"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"{0}"}\r
         script{"{0}"}\r
index 9df24da..3419e6b 100644 (file)
@@ -4,5 +4,5 @@ xh{
     Languages{\r
         xh{"isiXhosa"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bea2615..c113211 100644 (file)
@@ -48,5 +48,5 @@ xog{
         zh{"Olucayina"}\r
         zu{"Oluzzulu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 73d8cc3..a01d4b9 100644 (file)
@@ -48,5 +48,5 @@ yav{
         zh{"sinúɛ"}\r
         zu{"nusulú"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 56e4a2c..a7b6595 100644 (file)
@@ -126,7 +126,6 @@ yi{
         sk{"סלאוואַקיש"}\r
         sl{"סלאוועניש"}\r
         sli{"אונטער שלעזיש"}\r
-        sly{"sly"}\r
         sm{"סאַמאאַניש"}\r
         sn{"שאנאַ"}\r
         so{"סאמאַליש"}\r
@@ -155,6 +154,7 @@ yi{
         zu{"זולו"}\r
     }\r
     Languages%short{\r
+        en_GB{"ענגליש (GB)"}\r
         en_US{"ענגליש (US)"}\r
     }\r
     Scripts{\r
@@ -170,7 +170,7 @@ yi{
             gregorian{"גרעגארישער קאַלענדאַר"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"שפראַך: {0}"}\r
         script{"שריפֿט: {0}"}\r
index 805b10e..9df5864 100644 (file)
@@ -1,25 +1,60 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 yo{\r
+    Keys{\r
+        calendar{"Kàlẹ́ńdà"}\r
+        cf{"Ìgúnrégé Kọ́rẹ́ńsì"}\r
+        collation{"Ètò Ẹlẹ́sẹẹsẹ"}\r
+        currency{"Kọ́rẹ́ńsì"}\r
+        hc{"Òbíríkiti Wákàtí (12 vs 24)"}\r
+        lb{"Àra Ìda Ìlà"}\r
+        ms{"Èto Ìdiwọ̀n"}\r
+        numbers{"Àwọn nọ́ńbà"}\r
+    }\r
     Languages{\r
         af{"Èdè Afrikani"}\r
+        agq{"Ágẹ̀ẹ̀mù"}\r
         ak{"Èdè Akani"}\r
         am{"Èdè Amariki"}\r
         ar{"Èdè Árábìkì"}\r
         as{"Ti Assam"}\r
+        asa{"Asu"}\r
+        ast{"Asturian"}\r
         az{"Èdè Azerbaijani"}\r
+        bas{"Basaa"}\r
         be{"Èdè Belarusi"}\r
+        bem{"Béḿbà"}\r
+        bez{"Bẹ́nà"}\r
         bg{"Èdè Bugaria"}\r
+        bm{"Báḿbàrà"}\r
         bn{"Èdè Bengali"}\r
+        bo{"Tibetán"}\r
         br{"Èdè Bretoni"}\r
+        brx{"Bódò"}\r
         bs{"Èdè Bosnia"}\r
         ca{"Èdè Catala"}\r
+        ccp{"Chakma"}\r
+        ce{"Chechen"}\r
+        ceb{"Cebuano"}\r
+        cgg{"Chiga"}\r
+        chr{"Shẹ́rókiì"}\r
+        ckb{"Ààrin Gbùngbùn Kurdish"}\r
+        co{"Corsican"}\r
         cs{"Èdè seeki"}\r
+        cu{"Síláfííkì Ilé Ìjọ́sìn"}\r
         cy{"Èdè Welshi"}\r
         da{"Èdè Ilẹ̀ Denmark"}\r
+        dav{"Táítà"}\r
         de{"Èdè Jámánì"}\r
         de_AT{"Èdè Jámánì (Ọ́síríà )"}\r
         de_CH{"Èdè Ilẹ̀ Jámánì (Orílẹ́ède swítsàlandì)"}\r
+        dje{"Ṣárúmà"}\r
+        dsb{"Ṣobíànù Ìpìlẹ̀"}\r
+        dua{"Duala"}\r
+        dyo{"Jola-Fonyi"}\r
+        dz{"Dzongkha"}\r
+        ebu{"Ẹmbù"}\r
+        ee{"Ewè"}\r
         el{"Èdè Giriki"}\r
         en{"Èdè Gẹ̀ẹ́sì"}\r
         en_AU{"Èdè Gẹ̀ẹ́sì (órílẹ̀-èdè Ọsirélíà)"}\r
@@ -35,6 +70,7 @@ yo{
         es_MX{"Èdè Sípáníìṣì (orílẹ̀-èdè Mẹ́síkò)"}\r
         et{"Èdè Estonia"}\r
         eu{"Èdè Baski"}\r
+        ewo{"Èwóǹdò"}\r
         fa{"Èdè Pasia"}\r
         ff{"Èdè Fúlàní"}\r
         fi{"Èdè Finisi"}\r
@@ -43,56 +79,137 @@ yo{
         fr{"Èdè Faransé"}\r
         fr_CA{"Èdè Faransé (orílẹ̀-èdè Kánádà)"}\r
         fr_CH{"Èdè Faranṣé (Súwísàlaǹdì)"}\r
+        fur{"Firiúlíànì"}\r
         fy{"Èdè Frisia"}\r
         ga{"Èdè Ireland"}\r
         gd{"Èdè Gaelik ti Ilu Scotland"}\r
         gl{"Èdè Galicia"}\r
         gn{"Èdè Guarani"}\r
+        gsw{"Súwísì ti Jámánì"}\r
         gu{"Èdè Gujarati"}\r
+        guz{"Gusii"}\r
+        gv{"Máǹkì"}\r
         ha{"Èdè Hausa"}\r
+        haw{"Hawaiian"}\r
         he{"Èdè Heberu"}\r
         hi{"Èdè Híńdì"}\r
+        hmn{"Hmong"}\r
         hr{"Èdè Kroatia"}\r
+        hsb{"Sorbian Apá Òkè"}\r
+        ht{"Haitian Creole"}\r
         hu{"Èdè Hungaria"}\r
         hy{"Èdè Ile Armenia"}\r
         ia{"Èdè pipo"}\r
         id{"Èdè Indonéṣíà"}\r
         ie{"Iru Èdè"}\r
         ig{"Èdè Yíbò"}\r
+        ii{"Ṣíkuán Yì"}\r
         is{"Èdè Icelandic"}\r
         it{"Èdè Ítálì"}\r
         ja{"Èdè Jàpáànù"}\r
+        jgo{"Ńgòmbà"}\r
+        jmc{"Máṣámè"}\r
         jv{"Èdè Javanasi"}\r
         ka{"Èdè Georgia"}\r
+        kab{"Kabilè"}\r
+        kam{"Káńbà"}\r
+        kde{"Mákondé"}\r
+        kea{"Kabufadíánù"}\r
+        khq{"Koira Ṣíínì"}\r
+        ki{"Kíkúyù"}\r
+        kk{"Kaṣakì"}\r
+        kkj{"Kàkó"}\r
+        kl{"Kalaalísùtì"}\r
+        kln{"Kálẹnjín"}\r
         km{"Èdè kameri"}\r
         kn{"Èdè Kannada"}\r
         ko{"Èdè Kòríà"}\r
+        kok{"Kónkánì"}\r
+        ks{"Kaṣímirì"}\r
+        ksb{"Ṣáńbálà"}\r
+        ksf{"Báfíà"}\r
+        ksh{"Colognian"}\r
+        ku{"Kọdiṣì"}\r
+        kw{"Kọ́nììṣì"}\r
+        ky{"Kírígíìsì"}\r
         la{"Èdè Latini"}\r
+        lag{"Láńgì"}\r
+        lb{"Lùṣẹ́mbọ́ọ̀gì"}\r
+        lg{"Ganda"}\r
+        lkt{"Lákota"}\r
+        ln{"Lìǹgálà"}\r
+        lo{"Láò"}\r
+        lrc{"Apáàríwá Lúrì"}\r
         lt{"Èdè Lithuania"}\r
+        lu{"Lúbà-Katanga"}\r
+        luy{"Luyíà"}\r
         lv{"Èdè Latvianu"}\r
+        mas{"Másáì"}\r
+        mer{"Mérù"}\r
+        mfe{"Morisiyen"}\r
+        mg{"Malagasì"}\r
+        mgh{"Makhuwa-Meeto"}\r
+        mgo{"Métà"}\r
+        mi{"Màórì"}\r
         mk{"Èdè Macedonia"}\r
+        ml{"Málàyálámù"}\r
+        mn{"Mòngólíà"}\r
         mr{"Èdè marathi"}\r
         ms{"Èdè Malaya"}\r
         mt{"Èdè Malta"}\r
+        mua{"Múndàngì"}\r
+        mul{"Ọlọ́pọ̀ èdè"}\r
         my{"Èdè Bumiisi"}\r
+        mzn{"Masanderani"}\r
+        naq{"Námà"}\r
+        nb{"Nọ́ọ́wè Bokímàl"}\r
+        nd{"Àríwá Ndebele"}\r
+        nds{"Jámánì ìpìlẹ̀"}\r
         ne{"Èdè Nepali"}\r
         nl{"Èdè Dọ́ọ̀ṣì"}\r
+        nmg{"Kíwáṣíò"}\r
+        nn{"Nọ́ọ́wè Nínọ̀sìkì"}\r
+        nnh{"Ngiembùnù"}\r
         no{"Èdè Norway"}\r
+        nus{"Núẹ̀"}\r
+        ny{"Ńyájà"}\r
+        nyn{"Ńyákọ́lè"}\r
         oc{"Èdè Occitani"}\r
+        om{"Òròmọ́"}\r
+        or{"Òdíà"}\r
+        os{"Ọṣẹ́tíìkì"}\r
         pa{"Èdè Punjabi"}\r
         pl{"Èdè Póláǹdì"}\r
+        prg{"Púrúṣíànù"}\r
+        ps{"Páshítò"}\r
         pt{"Èdè Pọtogí"}\r
         pt_BR{"Èdè Pọtogí (Orilẹ̀-èdè Bràsíl)"}\r
         pt_PT{"Èdè Pọtogí (orílẹ̀-èdè Yúróòpù)"}\r
+        qu{"Kúẹ́ńjùà"}\r
+        rm{"Rómáǹṣì"}\r
+        rn{"Rúńdì"}\r
         ro{"Èdè Romania"}\r
+        rof{"Róńbò"}\r
         ru{"Èdè Rọ́ṣíà"}\r
         rw{"Èdè Ruwanda"}\r
+        rwk{"Riwa"}\r
         sa{"Èdè awon ara Indo"}\r
+        sah{"Sàkíhà"}\r
+        saq{"Samburu"}\r
+        sbp{"Sangu"}\r
         sd{"Èdè Sindhi"}\r
+        se{"Apáàríwá Sami"}\r
+        seh{"Ṣẹnà"}\r
+        ses{"Koiraboro Seni"}\r
+        sg{"Sango"}\r
         sh{"Èdè Serbo-Croatiani"}\r
+        shi{"Taṣelíìtì"}\r
         si{"Èdè Sinhalese"}\r
         sk{"Èdè Slovaki"}\r
         sl{"Èdè Slovenia"}\r
+        sm{"Sámóánù"}\r
+        smn{"Inari Sami"}\r
+        sn{"Ṣọnà"}\r
         so{"Èdè ara Somalia"}\r
         sq{"Èdè Albania"}\r
         sr{"Èdè Serbia"}\r
@@ -102,53 +219,171 @@ yo{
         sw{"Èdè Swahili"}\r
         ta{"Èdè Tamili"}\r
         te{"Èdè Telugu"}\r
+        teo{"Tẹ́sò"}\r
+        tg{"Tàjíìkì"}\r
         th{"Èdè Tai"}\r
         ti{"Èdè Tigrinya"}\r
         tk{"Èdè Turkmen"}\r
         tlh{"Èdè Klingoni"}\r
+        to{"Tóńgàn"}\r
         tr{"Èdè Tọọkisi"}\r
+        tt{"Tatarí"}\r
+        twq{"Tasawak"}\r
+        tzm{"Ààrin Gbùngbùn Atlas Tamazight"}\r
+        ug{"Yúgọ̀"}\r
         uk{"Èdè Ukania"}\r
         und{"Èdè àìmọ̀"}\r
         ur{"Èdè Udu"}\r
         uz{"Èdè Uzbek"}\r
         vi{"Èdè Jetinamu"}\r
+        vo{"Fọ́lápùùkù"}\r
+        vun{"Funjo"}\r
+        wae{"Wọsà"}\r
+        wo{"Wọ́lọ́ọ̀fù"}\r
         xh{"Èdè Xhosa"}\r
+        xog{"Ṣógà"}\r
+        yav{"Yangbẹn"}\r
         yi{"Èdè Yiddishi"}\r
         yo{"Èdè Yorùbá"}\r
+        yue{"Cantonese"}\r
+        zgh{"Àfẹnùkò Támásáìtì ti Mòrókò"}\r
         zh{"Èdè Mandarin tí wọ́n ń sọ lórílẹ̀-èdè Ṣáínà"}\r
+        zh_Hant{"Èdè Ìbílẹ̀ Ṣáínà"}\r
         zu{"Èdè Ṣulu"}\r
+        zxx{"Kò sí àkóònú elédè"}\r
     }\r
     Languages%menu{\r
         zh{"Ṣáídà, Mandrínì"}\r
     }\r
+    Languages%short{\r
+        en_GB{"Èdè Gẹ̀ẹ́sì (GB)"}\r
+        en_US{"Èdè Gẹ̀ẹ́sì (US)"}\r
+    }\r
     Scripts{\r
         Arab{"èdè Lárúbáwá"}\r
+        Armn{"Àmẹ́níà"}\r
+        Beng{"Báńgílà"}\r
+        Bopo{"Bopomófò"}\r
+        Brai{"Bíráìlè"}\r
         Cyrl{"èdè ilẹ̀ Rọ́ṣíà"}\r
+        Deva{"Dẹfanagárì"}\r
+        Ethi{"Ẹtiópíìkì"}\r
+        Geor{"Jọ́jíànù"}\r
+        Grek{"Jọ́jíà"}\r
+        Gujr{"Gujaráti"}\r
+        Guru{"Gurumúkhì"}\r
+        Hanb{"Han pẹ̀lú Bopomófò"}\r
+        Hang{"Háńgùlù"}\r
+        Hani{"Háànù"}\r
         Hans{"tí wọ́n mú rọrùn."}\r
         Hant{"Hans àtọwọ́dọ́wọ́"}\r
+        Hebr{"Hébérù"}\r
+        Hira{"Hiragánà"}\r
+        Hrkt{"ìlànà àfọwọ́kọ ará Jàpánù"}\r
         Jpan{"èdè jàpáànù"}\r
+        Kana{"Katakánà"}\r
+        Khmr{"Kẹmẹ̀"}\r
+        Knda{"Kanada"}\r
         Kore{"Kóríà"}\r
+        Laoo{"Láò"}\r
         Latn{"Èdè Látìn"}\r
+        Mlym{"Málàyálámù"}\r
+        Mong{"Mòngólíà"}\r
+        Mymr{"Myánmarà"}\r
+        Orya{"Òdíà"}\r
+        Sinh{"Sìnhálà"}\r
+        Taml{"Támílì"}\r
+        Telu{"Télúgù"}\r
+        Thaa{"Taana"}\r
+        Tibt{"Tíbétán"}\r
+        Zmth{"Àmì Ìṣèsìrò"}\r
+        Zsye{"Émójì"}\r
+        Zsym{"Àwọn àmì"}\r
         Zxxx{"Aikọsilẹ"}\r
+        Zyyy{"Wọ́pọ̀"}\r
         Zzzz{"Ìṣọwọ́kọ̀wé àìmọ̀"}\r
     }\r
     Scripts%stand-alone{\r
         Hans{"Hans tí wọ́n mú rọrùn."}\r
-        Hant{"Hans àtọwọ́dọ́wọ́"}\r
     }\r
     Types{\r
         calendar{\r
+            buddhist{"Kàlẹ̀ńdà Buddhist"}\r
+            chinese{"Kàlẹ̀ńdà ti Ṣáìnà"}\r
+            dangi{"Kàlẹ̀ńdà dangi"}\r
+            ethiopic{"Kàlẹ̀ńdà Ẹtíópíìkì"}\r
             gregorian{"Kàlẹ́ńdà Gregory"}\r
+            hebrew{"Kàlẹ̀ńdà Hébérù"}\r
+            islamic{"Kàlẹ̀ńdà Lárúbáwá"}\r
             iso8601{"Kàlẹ́ńdà ISO-8601"}\r
+            japanese{"Kàlẹ̀ńdà ti Jàpánù"}\r
+            persian{"Kàlẹ̀ńdà Pásíànù"}\r
+            roc{"Kàlẹ̀ńdà Minguo"}\r
+        }\r
+        cf{\r
+            account{"Ìgúnrégé Ìṣirò Owó Kọ́rẹ́ńsì"}\r
+            standard{"Ìgúnrégé Gbèdéke Kọ́rẹ́ńsì"}\r
         }\r
         collation{\r
+            ducet{"Ètò Ẹlẹ́sẹẹsẹ Àkùàyàn Unicode"}\r
+            search{"Ìṣàwárí Ète-Gbogbogbò"}\r
             standard{"Ìlànà Onírúurú Ètò"}\r
         }\r
+        hc{\r
+            h11{"Èto Wákàtí 12 (0–11)"}\r
+            h12{"Èto Wákàtí 12 (1–12)"}\r
+            h23{"Èto Wákàtí 24 (0–23)"}\r
+            h24{"Èto Wákàtí 24 (1–24)"}\r
+        }\r
+        lb{\r
+            loose{"Àra Ìda Ìlà Títú"}\r
+            normal{"Àra Ìda Ìlà Déédéé"}\r
+            strict{"Àra Ìda Ìlà Mímúná"}\r
+        }\r
+        ms{\r
+            metric{"Èto Mẹ́tíríìkì"}\r
+            uksystem{"Èto Ìdiwọ̀n Ọba"}\r
+            ussystem{"Èto Ìdiwọ̀n US"}\r
+        }\r
         numbers{\r
+            arab{"àwọn díjítì Làrubáwá-Índíà"}\r
+            arabext{"Àwọn Díjíìtì Lárúbáwá-Índíà fífẹ̀"}\r
+            armn{"Àwọn nọ́ńbà Àmẹ́níà"}\r
+            armnlow{"Àwọn Nọ́ńbà Kékèké ti Amẹ́ríkà"}\r
+            beng{"Àwọn díjíìtì Báńgílà"}\r
+            deva{"Àwọn díjììtì Defanagárì"}\r
+            ethi{"Àwọn nọ́ńbà Ẹtiópíìkì"}\r
+            fullwide{"Àwọn Díjíìtì Fífẹ̀-Ẹ̀kún"}\r
+            geor{"Àwọn nọ́ńbà Jọ́jíà"}\r
+            grek{"Àwọn nọ́ńbà Gíríìkì"}\r
+            greklow{"Àwọn Nọ́ńbà Gíríìkì Kékèké"}\r
+            gujr{"Àwọn díjíìtì Gùjárátì"}\r
+            guru{"Àwọn Díjíìtì Gurumukì"}\r
+            hanidec{"Àwọn nọ́ńbà Dẹ́símà Ṣáìnà"}\r
+            hans{"Àwọn nọ́ńbà Ìrọ̀rùn ti Ṣáìnà"}\r
+            hansfin{"Àwọn nọ́ńbà Ìṣúná Ìrọ̀rùn Ṣáìnà"}\r
+            hant{"Àwọn nọ́ńbà Ìbílẹ̀ Ṣáìnà"}\r
+            hantfin{"Àwọn nọ́ńbà Ìṣúná Ìbílẹ̀ Ṣáìnà"}\r
+            hebr{"Àwọn nọ́ńbà Hébérù"}\r
+            jpan{"Àwọn nọ́ńbà Jápànù"}\r
+            jpanfin{"Àwọn nọ́ńbà Ìṣúná Jàpáànù"}\r
+            khmr{"Àwọn díjíìtì Kẹ́mẹ̀"}\r
+            knda{"Àwọn díjíìtì kanada"}\r
+            laoo{"Àwọn díjíìtì Láó"}\r
             latn{"Díjíítì Ìwọ̀ Oòrùn"}\r
+            mlym{"Àwọn díjíìtì Málàyálámù"}\r
+            mymr{"Àwọn díjíìtì Myánmarí"}\r
+            orya{"Àwọn díjíìtì Òdíà"}\r
+            roman{"Àwọn díjíìtì Rómánù"}\r
+            romanlow{"Àwọn díjíìtì Rómánù Kékeré"}\r
+            taml{"Àwọn díjíìtì Ìbílẹ̀ Támílù"}\r
+            tamldec{"Àwọn díjíìtì Tàmílù"}\r
+            telu{"Àwọn díjíìtì Télúgù"}\r
+            thai{"Àwọn díjíìtì Thai"}\r
+            tibt{"Àwọn díjíìtì Tibetán"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         language{"Èdè: {0}"}\r
         script{"Ìṣọwọ́kọ̀wé: {0}"}\r
index 8c44d4b..def28a9 100644 (file)
@@ -1,10 +1,25 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 yo_BJ{\r
+    Keys{\r
+        calendar{"Kàlɛ́ńdà"}\r
+        cf{"Ìgúnrégé Kɔ́rɛ́ńsì"}\r
+        collation{"Ètò Ɛlɛ́sɛɛsɛ"}\r
+        currency{"Kɔ́rɛ́ńsì"}\r
+        ms{"Èto Ìdiwɔ̀n"}\r
+        numbers{"Àwɔn nɔ́ńbà"}\r
+    }\r
     Languages{\r
+        agq{"Ágɛ̀ɛ̀mù"}\r
+        bez{"Bɛ́nà"}\r
+        chr{"Shɛ́rókiì"}\r
+        cu{"Síláfííkì Ilé Ìjɔ́sìn"}\r
         da{"Èdè Ilɛ̀ Denmark"}\r
         de_AT{"Èdè Jámánì (Ɔ́síríà )"}\r
         de_CH{"Èdè Ilɛ̀ Jámánì (Orílɛ́ède swítsàlandì)"}\r
+        dje{"Shárúmà"}\r
+        dsb{"Shobíànù Ìpìlɛ̀"}\r
+        ebu{"Ɛmbù"}\r
         en{"Èdè Gɛ̀ɛ́sì"}\r
         en_AU{"Èdè Gɛ̀ɛ́sì (órílɛ̀-èdè Ɔsirélíà)"}\r
         en_CA{"Èdè Gɛ̀ɛ́sì (Orílɛ̀-èdè Kánádà)"}\r
@@ -19,24 +34,73 @@ yo_BJ{
         fr_CA{"Èdè Faransé (orílɛ̀-èdè Kánádà)"}\r
         fr_CH{"Èdè Faranshé (Súwísàlaǹdì)"}\r
         id{"Èdè Indonéshíà"}\r
+        ii{"Shíkuán Yì"}\r
+        jmc{"Máshámè"}\r
+        khq{"Koira Shíínì"}\r
+        kk{"Kashakì"}\r
+        kln{"Kálɛnjín"}\r
+        ks{"Kashímirì"}\r
+        ksb{"Sháńbálà"}\r
+        ku{"Kɔdishì"}\r
+        kw{"Kɔ́nììshì"}\r
+        lb{"Lùshɛ́mbɔ́ɔ̀gì"}\r
+        mul{"Ɔlɔ́pɔ̀ èdè"}\r
+        nb{"Nɔ́ɔ́wè Bokímàl"}\r
+        nds{"Jámánì ìpìlɛ̀"}\r
         nl{"Èdè Dɔ́ɔ̀shì"}\r
+        nmg{"Kíwáshíò"}\r
+        nn{"Nɔ́ɔ́wè Nínɔ̀sìkì"}\r
+        nus{"Núɛ̀"}\r
+        nyn{"Ńyákɔ́lè"}\r
+        om{"Òròmɔ́"}\r
+        os{"Ɔshɛ́tíìkì"}\r
+        prg{"Púrúshíànù"}\r
         pt{"Èdè Pɔtogí"}\r
         pt_BR{"Èdè Pɔtogí (Orilɛ̀-èdè Bràsíl)"}\r
         pt_PT{"Èdè Pɔtogí (orílɛ̀-èdè Yúróòpù)"}\r
+        qu{"Kúɛ́ńjùà"}\r
+        rm{"Rómáǹshì"}\r
         ru{"Èdè Rɔ́shíà"}\r
+        seh{"Shɛnà"}\r
+        shi{"Tashelíìtì"}\r
+        sn{"Shɔnà"}\r
+        teo{"Tɛ́sò"}\r
         tr{"Èdè Tɔɔkisi"}\r
+        ug{"Yúgɔ̀"}\r
         und{"Èdè àìmɔ̀"}\r
+        vo{"Fɔ́lápùùkù"}\r
+        wae{"Wɔsà"}\r
+        wo{"Wɔ́lɔ́ɔ̀fù"}\r
+        xog{"Shógà"}\r
+        yav{"Yangbɛn"}\r
+        zgh{"Àfɛnùkò Támásáìtì ti Mòrókò"}\r
         zh{"Èdè Mandarin tí wɔ́n ń sɔ lórílɛ̀-èdè Sháínà"}\r
+        zh_Hant{"Èdè Ìbílɛ̀ Sháínà"}\r
         zu{"Èdè Shulu"}\r
     }\r
     Languages%menu{\r
         zh{"Sháídà, Mandrínì"}\r
     }\r
+    Languages%short{\r
+        en_GB{"Èdè Gɛ̀ɛ́sì (GB)"}\r
+        en_US{"Èdè Gɛ̀ɛ́sì (US)"}\r
+    }\r
     Scripts{\r
+        Armn{"Àmɛ́níà"}\r
         Cyrl{"èdè ilɛ̀ Rɔ́shíà"}\r
+        Deva{"Dɛfanagárì"}\r
+        Ethi{"Ɛtiópíìkì"}\r
+        Geor{"Jɔ́jíànù"}\r
+        Grek{"Jɔ́jíà"}\r
+        Hanb{"Han pɛ̀lú Bopomófò"}\r
         Hans{"tí wɔ́n mú rɔrùn."}\r
         Hant{"Hans àtɔwɔ́dɔ́wɔ́"}\r
+        Hrkt{"ìlànà àfɔwɔ́kɔ ará Jàpánù"}\r
+        Khmr{"Kɛmɛ̀"}\r
+        Zmth{"Àmì Ìshèsìrò"}\r
+        Zsym{"Àwɔn àmì"}\r
         Zxxx{"Aikɔsilɛ"}\r
+        Zyyy{"Wɔ́pɔ̀"}\r
         Zzzz{"Ìshɔwɔ́kɔ̀wé àìmɔ̀"}\r
     }\r
     Scripts%stand-alone{\r
@@ -45,14 +109,70 @@ yo_BJ{
     }\r
     Types{\r
         calendar{\r
+            buddhist{"Kàlɛ̀ńdà Buddhist"}\r
+            chinese{"Kàlɛ̀ńdà ti Sháìnà"}\r
+            dangi{"Kàlɛ̀ńdà dangi"}\r
+            ethiopic{"Kàlɛ̀ńdà Ɛtíópíìkì"}\r
             gregorian{"Kàlɛ́ńdà Gregory"}\r
+            hebrew{"Kàlɛ̀ńdà Hébérù"}\r
+            islamic{"Kàlɛ̀ńdà Lárúbáwá"}\r
             iso8601{"Kàlɛ́ńdà ISO-8601"}\r
+            japanese{"Kàlɛ̀ńdà ti Jàpánù"}\r
+            persian{"Kàlɛ̀ńdà Pásíànù"}\r
+            roc{"Kàlɛ̀ńdà Minguo"}\r
+        }\r
+        cf{\r
+            account{"Ìgúnrégé Ìshirò Owó Kɔ́rɛ́ńsì"}\r
+            standard{"Ìgúnrégé Gbèdéke Kɔ́rɛ́ńsì"}\r
+        }\r
+        collation{\r
+            ducet{"Ètò Ɛlɛ́sɛɛsɛ Àkùàyàn Unicode"}\r
+            search{"Ìshàwárí Ète-Gbogbogbò"}\r
+        }\r
+        ms{\r
+            metric{"Èto Mɛ́tíríìkì"}\r
+            uksystem{"Èto Ìdiwɔ̀n Ɔba"}\r
+            ussystem{"Èto Ìdiwɔ̀n US"}\r
         }\r
         numbers{\r
+            arab{"àwɔn díjítì Làrubáwá-Índíà"}\r
+            arabext{"Àwɔn Díjíìtì Lárúbáwá-Índíà fífɛ̀"}\r
+            armn{"Àwɔn nɔ́ńbà Àmɛ́níà"}\r
+            armnlow{"Àwɔn Nɔ́ńbà Kékèké ti Amɛ́ríkà"}\r
+            beng{"Àwɔn díjíìtì Báńgílà"}\r
+            deva{"Àwɔn díjììtì Defanagárì"}\r
+            ethi{"Àwɔn nɔ́ńbà Ɛtiópíìkì"}\r
+            fullwide{"Àwɔn Díjíìtì Fífɛ̀-Ɛ̀kún"}\r
+            geor{"Àwɔn nɔ́ńbà Jɔ́jíà"}\r
+            grek{"Àwɔn nɔ́ńbà Gíríìkì"}\r
+            greklow{"Àwɔn Nɔ́ńbà Gíríìkì Kékèké"}\r
+            gujr{"Àwɔn díjíìtì Gùjárátì"}\r
+            guru{"Àwɔn Díjíìtì Gurumukì"}\r
+            hanidec{"Àwɔn nɔ́ńbà Dɛ́símà Sháìnà"}\r
+            hans{"Àwɔn nɔ́ńbà Ìrɔ̀rùn ti Sháìnà"}\r
+            hansfin{"Àwɔn nɔ́ńbà Ìshúná Ìrɔ̀rùn Sháìnà"}\r
+            hant{"Àwɔn nɔ́ńbà Ìbílɛ̀ Sháìnà"}\r
+            hantfin{"Àwɔn nɔ́ńbà Ìshúná Ìbílɛ̀ Sháìnà"}\r
+            hebr{"Àwɔn nɔ́ńbà Hébérù"}\r
+            jpan{"Àwɔn nɔ́ńbà Jápànù"}\r
+            jpanfin{"Àwɔn nɔ́ńbà Ìshúná Jàpáànù"}\r
+            khmr{"Àwɔn díjíìtì Kɛ́mɛ̀"}\r
+            knda{"Àwɔn díjíìtì kanada"}\r
+            laoo{"Àwɔn díjíìtì Láó"}\r
             latn{"Díjíítì Ìwɔ̀ Oòrùn"}\r
+            mlym{"Àwɔn díjíìtì Málàyálámù"}\r
+            mymr{"Àwɔn díjíìtì Myánmarí"}\r
+            orya{"Àwɔn díjíìtì Òdíà"}\r
+            roman{"Àwɔn díjíìtì Rómánù"}\r
+            romanlow{"Àwɔn díjíìtì Rómánù Kékeré"}\r
+            taml{"Àwɔn díjíìtì Ìbílɛ̀ Támílù"}\r
+            tamldec{"Àwɔn díjíìtì Tàmílù"}\r
+            telu{"Àwɔn díjíìtì Télúgù"}\r
+            thai{"Àwɔn díjíìtì Thai"}\r
+            tibt{"Àwɔn díjíìtì Tibetán"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     codePatterns{\r
         script{"Ìshɔwɔ́kɔ̀wé: {0}"}\r
     }\r
index 44aecf0..de545c9 100644 (file)
@@ -173,6 +173,7 @@ yue{
         ewo{"依汪都文"}\r
         ext{"埃斯特雷馬杜拉文"}\r
         fa{"波斯文"}\r
+        fa_AF{"達里文"}\r
         fan{"芳族文"}\r
         fat{"芳蒂文"}\r
         ff{"富拉文"}\r
@@ -634,9 +635,6 @@ yue{
         yue{"中文 (粵語)"}\r
         zh{"中文 (普通話)"}\r
     }\r
-    Languages%short{\r
-        az{"亞塞拜然文"}\r
-    }\r
     Scripts{\r
         Afak{"阿法卡文字"}\r
         Aghb{"高加索阿爾巴尼亞文"}\r
@@ -1033,7 +1031,7 @@ yue{
         VALLADER{"瑞士瓦勒德方言"}\r
         WADEGILE{"威妥瑪式拼音"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — 全部"}\r
         category-list{"{0}: {1}"}\r
index ae0322c..ad401a1 100644 (file)
@@ -174,6 +174,7 @@ yue_Hans{
         ewo{"依汪都文"}\r
         ext{"埃斯特雷马杜拉文"}\r
         fa{"波斯文"}\r
+        fa_AF{"达里文"}\r
         fan{"芳族文"}\r
         fat{"芳蒂文"}\r
         ff{"富拉文"}\r
@@ -635,9 +636,6 @@ yue_Hans{
         yue{"中文 (粤语)"}\r
         zh{"中文 (普通话)"}\r
     }\r
-    Languages%short{\r
-        az{"亚塞拜然文"}\r
-    }\r
     Scripts{\r
         Afak{"阿法卡文字"}\r
         Aghb{"高加索阿尔巴尼亚文"}\r
@@ -1034,7 +1032,7 @@ yue_Hans{
         VALLADER{"瑞士瓦勒德方言"}\r
         WADEGILE{"威妥玛式拼音"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — 全部"}\r
         category-list{"{0}: {1}"}\r
index b28249c..f2c5c91 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 yue_Hant{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0fbb03b..53f1a18 100644 (file)
@@ -61,5 +61,5 @@ zgh{
             islamic{"ⴰⵙⵎⵍⵓⵙⵙⴰⵏ ⵏ ⵍⵉⵙⵍⴰⵎ"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8cddef5..3af962b 100644 (file)
@@ -161,6 +161,7 @@ zh{
         eu{"巴斯克语"}\r
         ewo{"旺杜语"}\r
         fa{"波斯语"}\r
+        fa_AF{"达里语"}\r
         fan{"芳格语"}\r
         fat{"芳蒂语"}\r
         ff{"富拉语"}\r
@@ -563,6 +564,8 @@ zh{
         zh_Hant{"台湾国语"}\r
     }\r
     Languages%menu{\r
+        ars{"阿拉伯语(纳吉迪)"}\r
+        ckb{"库尔德语(索拉尼)"}\r
         yue{"广东话"}\r
         zh{"普通话"}\r
     }\r
@@ -574,7 +577,10 @@ zh{
     Scripts{\r
         Adlm{"阿德拉姆文"}\r
         Afak{"阿法卡文"}\r
+        Aghb{"高加索阿尔巴尼亚文"}\r
+        Ahom{"Ahom"}\r
         Arab{"阿拉伯文"}\r
+        Aran{"波斯体"}\r
         Armi{"皇室亚拉姆文"}\r
         Armn{"亚美尼亚文"}\r
         Avst{"阿维斯陀文"}\r
@@ -595,12 +601,14 @@ zh{
         Cari{"卡里亚文"}\r
         Cham{"占文"}\r
         Cher{"切罗基文"}\r
+        Chrs{"花拉子模文"}\r
         Cirt{"色斯文"}\r
         Copt{"克普特文"}\r
         Cprt{"塞浦路斯文"}\r
         Cyrl{"西里尔文"}\r
         Cyrs{"西里尔文字(古教会斯拉夫文的变体)"}\r
         Deva{"天城文"}\r
+        Diak{"迪维西阿库鲁文"}\r
         Dogr{"多格拉文"}\r
         Dsrt{"德塞莱特文"}\r
         Dupl{"杜普洛伊速记"}\r
@@ -608,6 +616,7 @@ zh{
         Egyh{"古埃及僧侣书写体"}\r
         Egyp{"古埃及象形文"}\r
         Elba{"爱尔巴桑文"}\r
+        Elym{"埃利迈文"}\r
         Ethi{"埃塞俄比亚文"}\r
         Geok{"格鲁吉亚文(教堂体)"}\r
         Geor{"格鲁吉亚文"}\r
@@ -625,6 +634,7 @@ zh{
         Hano{"汉奴罗文"}\r
         Hans{"简体"}\r
         Hant{"繁体"}\r
+        Hatr{"哈特兰文"}\r
         Hebr{"希伯来文"}\r
         Hira{"平假名"}\r
         Hluw{"安那托利亚象形文字"}\r
@@ -643,6 +653,7 @@ zh{
         Khar{"卡罗须提文"}\r
         Khmr{"高棉文"}\r
         Khoj{"克吉奇文字"}\r
+        Kits{"契丹小字"}\r
         Knda{"卡纳达文"}\r
         Kore{"韩文"}\r
         Kpel{"克佩列文"}\r
@@ -660,6 +671,7 @@ zh{
         Loma{"洛马文"}\r
         Lyci{"利西亚文"}\r
         Lydi{"吕底亚文"}\r
+        Mahj{"默哈金文"}\r
         Maka{"望加锡文"}\r
         Mand{"阿拉米文"}\r
         Mani{"摩尼教文"}\r
@@ -670,10 +682,12 @@ zh{
         Merc{"麦罗埃草书"}\r
         Mero{"麦若提克文"}\r
         Mlym{"马拉雅拉姆文"}\r
+        Modi{"莫迪文"}\r
         Mong{"蒙古文"}\r
         Moon{"韩文语系"}\r
         Mroo{"谬文"}\r
         Mtei{"曼尼普尔文"}\r
+        Mult{"穆尔坦文"}\r
         Mymr{"缅甸文"}\r
         Nand{"楠迪梵文"}\r
         Narb{"古北方阿拉伯文"}\r
@@ -698,6 +712,7 @@ zh{
         Phnx{"腓尼基文"}\r
         Plrd{"波拉德音标文字"}\r
         Prti{"帕提亚文碑铭体"}\r
+        Qaag{"Zawgyi"}\r
         Rjng{"拉让文"}\r
         Rohg{"哈乃斐罗兴亚文"}\r
         Roro{"朗格朗格文"}\r
@@ -741,9 +756,11 @@ zh{
         Vaii{"瓦依文"}\r
         Visp{"可见语言"}\r
         Wara{"瓦郎奇蒂文字"}\r
+        Wcho{"万秋文"}\r
         Wole{"沃莱艾文"}\r
         Xpeo{"古波斯文"}\r
         Xsux{"苏美尔-阿卡德楔形文字"}\r
+        Yezi{"雅兹迪文"}\r
         Yiii{"彝文"}\r
         Zanb{"札那巴札尔方块文字"}\r
         Zinh{"遗传学术语"}\r
@@ -876,6 +893,7 @@ zh{
             cham{"占文数字"}\r
             cyrl{"斯拉夫数字"}\r
             deva{"梵文数字"}\r
+            diak{"迪维西阿库鲁数字"}\r
             ethi{"埃塞俄比亚数字"}\r
             finance{"金融数字"}\r
             fullwide{"全角数字"}\r
@@ -918,6 +936,7 @@ zh{
             mtei{"曼尼普尔数字"}\r
             mymr{"缅甸数字"}\r
             mymrshan{"缅甸掸文数字"}\r
+            mymrtlng{"缅甸泰兰数字"}\r
             native{"当地数字"}\r
             nkoo{"曼德数字"}\r
             olck{"桑塔利文数字"}\r
@@ -943,6 +962,7 @@ zh{
             traditional{"传统数字"}\r
             vaii{"瓦伊文数字"}\r
             wara{"瓦郎奇蒂数字"}\r
+            wcho{"万秋数字"}\r
         }\r
     }\r
     Variants{\r
@@ -953,6 +973,7 @@ zh{
         1994{"标准雷西亚拼字"}\r
         1996{"1996 年德文拼字"}\r
         ABL1943{"1943年正写法构想"}\r
+        AKUAPEM{"阿夸佩姆方言"}\r
         ALALC97{"1997 版 ALA-LC 罗马字"}\r
         ALUKU{"阿鲁库方言"}\r
         AO1990{"1990年葡萄牙语正写法协议"}\r
@@ -960,6 +981,7 @@ zh{
         AREVELA{"东亚美尼亚文"}\r
         AREVMDA{"西亚美尼亚文"}\r
         ASANTE{"阿散蒂方言"}\r
+        AUVERN{"自动钻机"}\r
         BAKU1926{"统一土耳其拉丁字母"}\r
         BALANKA{"阿尼语Balanka方言"}\r
         BARLA{"佛得角语向风方言组"}\r
@@ -967,30 +989,46 @@ zh{
         BAUDDHA{"佛陀梵文"}\r
         BISCAYAN{"比斯开方言"}\r
         BISKE{"圣乔治/比拉方言"}\r
+        BOHORIC{"博霍里奇字母"}\r
         BOONT{"布恩特林方言"}\r
+        BORNHOLM{"博恩霍尔姆方言"}\r
+        CISAUP{"西萨普方言"}\r
         COLB1945{"1945年葡萄牙-巴西正写法协定"}\r
         CORNU{"科尔尼方言"}\r
+        CREISS{"克雷桑方言"}\r
         DAJNKO{"达金科字母"}\r
+        EKAVSK{"塞尔维亚语伊卡维亚发音"}\r
         EMODENG{"近代英语"}\r
         FONIPA{"国际音标"}\r
+        FONKIRSH{"丰吉什方言"}\r
+        FONNAPA{"福纳帕方言"}\r
         FONUPA{"UPA 音标"}\r
         FONXSAMP{"X-SAMPA 音标"}\r
         GASCON{"加斯科方言"}\r
+        GRCLASS{"粗粒级"}\r
+        GRITAL{"格里陶方言"}\r
+        GRMISTR{"格米斯特方言"}\r
         HEPBURN{"赫伯恩罗马字"}\r
         HOGNORSK{"高地挪威文"}\r
+        HSISTEMO{"赫西斯特莫方言"}\r
+        IJEKAVSK{"塞尔维亚语伊吉卡维亚发音"}\r
         ITIHASA{"史诗梵文"}\r
+        IVANCHOV{"伊万乔夫方言"}\r
         JAUER{"米施泰尔方言"}\r
         JYUTPING{"粤语拼音"}\r
         KKCOR{"常用拼字"}\r
+        KOCIEWIE{"科奇韦方言"}\r
         KSCOR{"标准正写法"}\r
         LAUKIKA{"传统梵文"}\r
         LEMOSIN{"利姆赞方言"}\r
         LENGADOC{"隆格多克方言"}\r
         LIPAW{"雷西亚 Lipovaz 方言"}\r
         LUNA1918{"俄文拼字(1918年起)"}\r
+        METELKO{"梅特尔科字母"}\r
         MONOTON{"单音字母"}\r
         NDYUKA{"Ndyuka 方言"}\r
         NEDIS{"Natisone 方言"}\r
+        NEWFOUND{"纽芬兰方言"}\r
         NICARD{"尼斯方言"}\r
         NJIVA{"Gniva/Njiva 方言"}\r
         NULIK{"现代沃拉普克语"}\r
@@ -1004,6 +1042,7 @@ zh{
         PINYIN{"拼音罗马字"}\r
         POLYTON{"多音字母"}\r
         POSIX{"电脑"}\r
+        PROVENC{"普罗旺斯方言"}\r
         PUTER{"瑞士普特尔方言"}\r
         REVISED{"修订的拼字"}\r
         RIGIK{"古典沃拉普克语"}\r
@@ -1027,9 +1066,11 @@ zh{
         VAIDIKA{"吠陀梵文"}\r
         VALENCIA{"瓦伦西亚文"}\r
         VALLADER{"瑞士瓦勒德方言"}\r
+        VIVARAUP{"维瓦鲁普方言"}\r
         WADEGILE{"WG 威氏拼音法"}\r
+        XSISTEMO{"西西斯特莫方言"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — 全部"}\r
         category-list{"{0}: {1}"}\r
index ad4e8b3..54a1c90 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh_Hans{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 356e36d..992bf77 100644 (file)
@@ -630,11 +630,8 @@ zh_Hant{
         zza{"扎扎文"}\r
     }\r
     Languages%menu{\r
-        yue{"粵語"}\r
-        zh{"中文"}\r
-    }\r
-    Languages%short{\r
-        az{"亞塞拜然文"}\r
+        ars{"阿拉伯文(納吉迪)"}\r
+        ckb{"庫德文(索拉尼)"}\r
     }\r
     Scripts{\r
         Adlm{"富拉文"}\r
@@ -642,6 +639,7 @@ zh_Hant{
         Aghb{"高加索阿爾巴尼亞文"}\r
         Ahom{"阿洪姆文"}\r
         Arab{"阿拉伯文"}\r
+        Aran{"波斯體"}\r
         Armi{"皇室亞美尼亞文"}\r
         Armn{"亞美尼亞文"}\r
         Avst{"阿維斯陀文"}\r
@@ -763,6 +761,7 @@ zh_Hant{
         Phnx{"腓尼基文"}\r
         Plrd{"柏格理拼音符"}\r
         Prti{"帕提亞文(碑銘體)"}\r
+        Qaag{"佐基文"}\r
         Rjng{"拉讓文"}\r
         Roro{"朗格朗格象形文"}\r
         Runr{"古北歐文字"}\r
@@ -1079,7 +1078,7 @@ zh_Hant{
         VALLADER{"瑞士瓦勒德方言"}\r
         WADEGILE{"威妥瑪式拼音"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — 全部"}\r
         category-list{"{0}: {1}"}\r
index 7d5040d..82e5a5f 100644 (file)
@@ -26,6 +26,7 @@ zh_Hant_HK{
         es_419{"拉丁美洲西班牙文"}\r
         es_ES{"歐洲西班牙文"}\r
         es_MX{"墨西哥西班牙文"}\r
+        fa_AF{"達利文"}\r
         fr_CA{"加拿大法文"}\r
         fr_CH{"瑞士法文"}\r
         gil{"吉爾伯特文"}\r
@@ -123,12 +124,10 @@ zh_Hant_HK{
     Variants{\r
         1901{"傳統德國拼字法"}\r
         1996{"1996 德國拼字法"}\r
-        ABL1943{"ABL1943"}\r
         REVISED{"已修訂拼字法"}\r
         SCOTLAND{"蘇格蘭標準英語"}\r
-        SOTAV{"SOTAV"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         enclosed{"{0} — 包含"}\r
         historic{"{0} — 舊式"}\r
index 448f7d6..cf72366 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh_Hant_MO{\r
     %%Parent{"zh_Hant_HK"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8cc2f0a..7abe90b 100644 (file)
@@ -120,6 +120,7 @@ zu{
         eu{"isi-Basque"}\r
         ewo{"isi-Ewondo"}\r
         fa{"isi-Persian"}\r
+        fa_AF{"isi-Dari"}\r
         ff{"isi-Fulah"}\r
         fi{"isi-Finnish"}\r
         fil{"isi-Filipino"}\r
@@ -634,7 +635,7 @@ zu{
             vaii{"Izinhlazu Zezinombolo ze-Vai"}\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     characterLabelPattern{\r
         all{"{0} — All"}\r
         category-list{"{0}: {1}"}\r
index bcbdb1b..e195606 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 \r
 {\r
-    "cldrVersion": "36.1",\r
+    "cldrVersion": "37",\r
     "aliases": {\r
         "ars": "ar_SA",\r
         "az_AZ": "az_Latn_AZ",\r
         "in_ID": "id_ID",\r
         "iw": "he",\r
         "iw_IL": "he_IL",\r
+        "ks_IN": "ks_Arab_IN",\r
+        "mni_IN": "mni_Beng_IN",\r
         "mo": "ro",\r
         "no": "nb",\r
         "no_NO": "nb_NO",\r
         "no_NO_NY": "nn_NO",\r
         "pa_IN": "pa_Guru_IN",\r
         "pa_PK": "pa_Arab_PK",\r
+        "sat_IN": "sat_Olck_IN",\r
+        "sd_PK": "sd_Arab_PK",\r
         "sh": "sr_Latn",\r
         "sh_BA": "sr_Latn_BA",\r
         "sh_CS": "sr_Latn_RS",\r
@@ -38,6 +42,7 @@
         "sr_RS": "sr_Cyrl_RS",\r
         "sr_XK": "sr_Cyrl_XK",\r
         "sr_YU": "sr_Cyrl_RS",\r
+        "su_ID": "su_Latn_ID",\r
         "tl": "fil",\r
         "tl_PH": "fil_PH",\r
         "uz_AF": "uz_Arab_AF",\r
         "es_US": "es_419",\r
         "es_UY": "es_419",\r
         "es_VE": "es_419",\r
+        "ff_Adlm": "root",\r
         "pa_Arab": "root",\r
         "pt_AO": "pt_PT",\r
         "pt_CH": "pt_PT",\r
         "pt_MZ": "pt_PT",\r
         "pt_ST": "pt_PT",\r
         "pt_TL": "pt_PT",\r
+        "sd_Deva": "root",\r
         "shi_Latn": "root",\r
         "sr_Latn": "root",\r
         "uz_Arab": "root",\r
index c89f8ce..516556a 100644 (file)
@@ -215,7 +215,7 @@ af{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 61b76f0..9278c01 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 af_NA{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 39d310f..50bba64 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 af_ZA{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c29dc69..d74c75c 100644 (file)
@@ -23,7 +23,7 @@ agq{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 2ab2e2c..d348bb2 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 agq_CM{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cdea93a..5c15d56 100644 (file)
@@ -25,7 +25,7 @@ ak{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 2c3dc5a..c198803 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ak_GH{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b4af3e5..3c43541 100644 (file)
@@ -222,7 +222,7 @@ am{
         minimumGroupingDigits{"1"}\r
         traditional{"ethi"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
@@ -1045,7 +1045,7 @@ am{
                     "ዓ/ም",\r
                 }\r
                 abbreviated%variant{\r
-                    "BCE",\r
+                    "ዓ/ዓ",\r
                     "CE",\r
                 }\r
                 narrow{\r
index f712e9c..c830d02 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 am_ET{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8f32fd1..5602122 100644 (file)
@@ -385,7 +385,7 @@ ar{
         minimumGroupingDigits{"1"}\r
         native{"arab"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index d25c93d..049f351 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ar_001{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 95cec75..83af9c2 100644 (file)
@@ -4,7 +4,7 @@ ar_AE{
     NumberElements{\r
         default{"arab"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             eras{\r
index 05dcd3b..5231106 100644 (file)
@@ -4,5 +4,5 @@ ar_BH{
     NumberElements{\r
         default{"arab"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fb500fe..7e1f31f 100644 (file)
@@ -4,5 +4,5 @@ ar_DJ{
     NumberElements{\r
         default{"arab"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5c73480..4bbd595 100644 (file)
@@ -11,7 +11,7 @@ ar_DZ{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             monthNames{\r
index bcf77d5..42775af 100644 (file)
@@ -4,5 +4,5 @@ ar_EG{
     NumberElements{\r
         default{"arab"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4be860b..3058b65 100644 (file)
@@ -4,5 +4,5 @@ ar_EH{
     NumberElements{\r
         default{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d9d57ca..f36afd6 100644 (file)
@@ -4,5 +4,5 @@ ar_ER{
     NumberElements{\r
         default{"arab"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0828d89..15d76cb 100644 (file)
@@ -4,7 +4,7 @@ ar_IL{
     NumberElements{\r
         default{"arab"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index e9f9e26..f168be0 100644 (file)
@@ -4,7 +4,7 @@ ar_IQ{
     NumberElements{\r
         default{"arab"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             monthNames{\r
index 0b7307d..717daa3 100644 (file)
@@ -4,7 +4,7 @@ ar_JO{
     NumberElements{\r
         default{"arab"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             monthNames{\r
index 6f574a1..fcfde01 100644 (file)
@@ -4,7 +4,7 @@ ar_KM{
     NumberElements{\r
         default{"arab"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index e83b58b..f0a53eb 100644 (file)
@@ -4,5 +4,5 @@ ar_KW{
     NumberElements{\r
         default{"arab"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 56e7448..eb66d38 100644 (file)
@@ -11,7 +11,7 @@ ar_LB{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             monthNames{\r
index 5adcaf7..d4ac4b1 100644 (file)
@@ -11,7 +11,7 @@ ar_LY{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             dayPeriod{\r
index a7bf030..55688c4 100644 (file)
@@ -12,7 +12,7 @@ ar_MA{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index fb090bd..0df5fbe 100644 (file)
@@ -11,7 +11,7 @@ ar_MR{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             monthNames{\r
index c0807c7..21d2142 100644 (file)
@@ -4,5 +4,5 @@ ar_OM{
     NumberElements{\r
         default{"arab"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8351f6d..6ffb81d 100644 (file)
@@ -4,7 +4,7 @@ ar_PS{
     NumberElements{\r
         default{"arab"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             monthNames{\r
index 753a115..4cffd47 100644 (file)
@@ -4,5 +4,5 @@ ar_QA{
     NumberElements{\r
         default{"arab"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f41bcf4..bc55e7d 100644 (file)
@@ -10,7 +10,7 @@ ar_SA{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         default{"islamic-umalqura"}\r
         gregorian{\r
index 139b71e..b6efd3a 100644 (file)
@@ -4,5 +4,5 @@ ar_SD{
     NumberElements{\r
         default{"arab"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c3c6db9..4a1fefc 100644 (file)
@@ -10,5 +10,5 @@ ar_SO{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f4facd3..f360f1a 100644 (file)
@@ -4,5 +4,5 @@ ar_SS{
     NumberElements{\r
         default{"arab"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d97b249..645ac89 100644 (file)
@@ -4,7 +4,7 @@ ar_SY{
     NumberElements{\r
         default{"arab"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             monthNames{\r
index 62c1a44..9976165 100644 (file)
@@ -4,5 +4,5 @@ ar_TD{
     NumberElements{\r
         default{"arab"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 939a9f4..ff7fe3c 100644 (file)
@@ -11,7 +11,7 @@ ar_TN{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             monthNames{\r
index d4b1fbe..7cc03d1 100644 (file)
@@ -4,5 +4,5 @@ ar_YE{
     NumberElements{\r
         default{"arab"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 024c7f8..db7049c 100644 (file)
@@ -239,7 +239,7 @@ as{
         }\r
         native{"beng"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index c970e57..4f16ffe 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 as_IN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7569d88..9bda195 100644 (file)
@@ -11,7 +11,7 @@ asa{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 934314b..541056a 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 asa_TZ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 628a7cc..745ec42 100644 (file)
@@ -236,7 +236,7 @@ ast{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index eec18eb..2936046 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ast_ES{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 40eee73..c2b1ca5 100644 (file)
@@ -218,7 +218,7 @@ az{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 43a81cc..c979b41 100644 (file)
@@ -27,7 +27,7 @@ az_Cyrl{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index e1e8178..0d43d1e 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 az_Cyrl_AZ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a2372d2..7562a28 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 az_Latn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5b8d371..1b0c97c 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 az_Latn_AZ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b657c59..62b57ec 100644 (file)
@@ -24,7 +24,7 @@ bas{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 6d536f5..7d94283 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bas_CM{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fdd184d..cfc3f2c 100644 (file)
@@ -289,7 +289,7 @@ be{
         minimumGroupingDigits{"2"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
@@ -689,10 +689,6 @@ be{
                     "да н.э.",\r
                     "н.э.",\r
                 }\r
-                abbreviated%variant{\r
-                    "да н.э.",\r
-                    "н.э.",\r
-                }\r
                 wide{\r
                     "да нараджэння Хрыстова",\r
                     "ад нараджэння Хрыстова",\r
index bea1814..e991f9a 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 be_BY{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 74d95b1..13b13b2 100644 (file)
@@ -12,7 +12,7 @@ bem{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 713bc6c..97dfd3c 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bem_ZM{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b31dcdd..2546410 100644 (file)
@@ -11,7 +11,7 @@ bez{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index df225b3..1a051dd 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bez_TZ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 688265e..217e9ef 100644 (file)
@@ -212,7 +212,7 @@ bg{
         minimumGroupingDigits{"2"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 129fb18..15a6ec3 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bg_BG{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b834562..5113b83 100644 (file)
@@ -12,7 +12,7 @@ bm{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index cc4c93d..dc7bb98 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bm_ML{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3d7e00f..287a89a 100644 (file)
@@ -247,7 +247,7 @@ bn{
         minimumGroupingDigits{"1"}\r
         native{"beng"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index 4d8acc5..1395188 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bn_BD{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 71ebec1..2669178 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bn_IN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b69e1da..6fa5620 100644 (file)
@@ -33,7 +33,7 @@ bo{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index fac588a..cba3b56 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bo_CN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b342488..7834435 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bo_IN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4e11381..3ba566c 100644 (file)
@@ -558,7 +558,7 @@ br{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index 3ec5ccc..ddc365a 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 br_FR{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e987af2..ab04067 100644 (file)
@@ -36,7 +36,7 @@ brx{
         }\r
         native{"deva"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index de76f1e..8415e6c 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 brx_IN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 12ef3f9..2107544 100644 (file)
@@ -248,7 +248,7 @@ bs{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 84807d0..71d2cd9 100644 (file)
@@ -233,7 +233,7 @@ bs_Cyrl{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index b43249b..c4c9d40 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bs_Cyrl_BA{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8d3f9f4..055a94f 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bs_Latn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b844eb0..d31f1cb 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bs_Latn_BA{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b65deee..63edead 100644 (file)
@@ -218,7 +218,7 @@ ca{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index 00a4ae9..0c71dfb 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ca_AD{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d0a4bbe..9f2679d 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ca_ES{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 173f3c6..b100b5a 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ca_FR{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f4ae8bb..040f9d7 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ca_IT{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 604c95a..f82c6e4 100644 (file)
@@ -83,7 +83,7 @@ ccp{
         minimumGroupingDigits{"1"}\r
         native{"cakm"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -444,7 +444,7 @@ ccp{
                 }\r
                 abbreviated%variant{\r
                     "𑄈𑄳𑄢𑄨𑄌𑄴𑄑𑄧𑄛𑄫𑄢𑄴𑄝𑄛𑄴𑄘𑄧",\r
-                    "CE",\r
+                    "𑄈𑄳𑄢𑄨𑄌𑄴𑄑𑄛𑄴𑄘𑄧",\r
                 }\r
                 wide{\r
                     "𑄈𑄳𑄢𑄨𑄌𑄴𑄑𑄴𑄛𑄫𑄢𑄴𑄝𑄧",\r
@@ -452,7 +452,7 @@ ccp{
                 }\r
                 wide%variant{\r
                     "𑄈𑄳𑄢𑄨𑄌𑄴𑄑𑄴𑄛𑄫𑄢𑄴𑄝𑄛𑄴𑄘𑄧",\r
-                    "CE",\r
+                    "𑄈𑄳𑄢𑄨𑄌𑄴𑄑𑄛𑄴𑄘𑄧",\r
                 }\r
             }\r
             intervalFormats{\r
index ff0e543..7dcd286 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ccp_BD{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 139e33d..d620b12 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ccp_IN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 773e98e..16fee65 100644 (file)
@@ -193,7 +193,7 @@ ce{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -301,7 +301,7 @@ ce{
                 }\r
                 abbreviated%variant{\r
                     "МАССО",\r
-                    "CE",\r
+                    "в. э",\r
                 }\r
                 wide{\r
                     "Ӏийса пайхамар вина де кхачале",\r
index e8f1af9..c9e25f1 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ce_RU{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 39efbb3..5aae39d 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ceb{\r
-    AuxExemplarCharacters{"[c f j q v x z]"}\r
+    AuxExemplarCharacters{"[c f j ñ q v x z]"}\r
     ExemplarCharacters{"[a b d e g h i k l m n o p r s t u w y]"}\r
     ExemplarCharactersIndex{"[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]"}\r
     ExemplarCharactersPunctuation{"[\\- ‑ , ; \\: ! ? . … ' ‘ ’ \u0022 “ ” ( ) \\[ \\] @ * / \\& # ′ ″]"}\r
@@ -35,7 +35,7 @@ ceb{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -137,6 +137,9 @@ ceb{
                     M{"M/d – M/d"}\r
                     d{"M/d – M/d"}\r
                 }\r
+                d{\r
+                    d{"d – d"}\r
+                }\r
                 fallback{"{0} – {1}"}\r
                 y{\r
                     y{"y – y G"}\r
@@ -212,9 +215,9 @@ ceb{
                 Ehm{"E h:mm a"}\r
                 Ehms{"E h:mm:ss a"}\r
                 Gy{"G y"}\r
-                GyMMM{"G y MMM"}\r
-                GyMMMEd{"G y MMM d, E"}\r
-                GyMMMd{"G y MMM d"}\r
+                GyMMM{"MMM y G"}\r
+                GyMMMEd{"E, MMM d, y G"}\r
+                GyMMMd{"MMM d, y G"}\r
                 H{"HH"}\r
                 Hm{"HH:mm"}\r
                 Hms{"HH:mm:ss"}\r
@@ -259,10 +262,10 @@ ceb{
                         "Dom",\r
                         "Lun",\r
                         "Mar",\r
-                        "Mks",\r
-                        "Hu",\r
-                        "Bi",\r
-                        "Sa",\r
+                        "Miy",\r
+                        "Huw",\r
+                        "Biy",\r
+                        "Sab",\r
                     }\r
                     narrow{\r
                         "D",\r
@@ -293,6 +296,15 @@ ceb{
                     }\r
                 }\r
                 stand-alone{\r
+                    abbreviated{\r
+                        "Dom",\r
+                        "Lun",\r
+                        "Mar",\r
+                        "Miy",\r
+                        "Huw",\r
+                        "Biy",\r
+                        "Sab",\r
+                    }\r
                     narrow{\r
                         "D",\r
                         "L",\r
@@ -306,13 +318,17 @@ ceb{
             }\r
             eras{\r
                 abbreviated{\r
-                    "WK",\r
+                    "BC",\r
                     "KP",\r
                 }\r
                 abbreviated%variant{\r
-                    "WKP",\r
+                    "BCE",\r
                     "CE",\r
                 }\r
+                wide{\r
+                    "Sa Wala Pa Si Kristo",\r
+                    "Anno Domini",\r
+                }\r
                 wide%variant{\r
                     "Sa Wala Pa ang Common Era",\r
                     "Common Era",\r
@@ -385,12 +401,22 @@ ceb{
                     M{"E, MMM d – E, MMM d"}\r
                     d{"E, MMM d – E, MMM d"}\r
                 }\r
+                MMMd{\r
+                    d{"MMM d – d"}\r
+                }\r
                 Md{\r
                     M{"M/d – M/d"}\r
                     d{"M/d – M/d"}\r
                 }\r
+                d{\r
+                    d{"d – d"}\r
+                }\r
                 fallback{"{0} – {1}"}\r
+                h{\r
+                    h{"h – h a"}\r
+                }\r
                 hm{\r
+                    h{"h:mm – h:mm a"}\r
                     m{"h:mm – h:mm a"}\r
                 }\r
                 hmv{\r
@@ -400,6 +426,9 @@ ceb{
                 hv{\r
                     h{"h – h a v"}\r
                 }\r
+                y{\r
+                    y{"y – y"}\r
+                }\r
                 yM{\r
                     M{"M/y – M/y"}\r
                     y{"M/y – M/y"}\r
@@ -480,14 +509,14 @@ ceb{
                 }\r
                 stand-alone{\r
                     abbreviated{\r
-                        "En",\r
+                        "Ene",\r
                         "Peb",\r
                         "Mar",\r
-                        "Apr",\r
+                        "Abr",\r
                         "May",\r
                         "Hun",\r
                         "Hul",\r
-                        "Ag",\r
+                        "Ago",\r
                         "Set",\r
                         "Okt",\r
                         "Nob",\r
@@ -726,8 +755,8 @@ ceb{
             end{"{0}, o {1}"}\r
         }\r
         standard{\r
-            2{"{0} at {1}"}\r
-            end{"{0}, at {1}"}\r
+            2{"{0} ug {1}"}\r
+            end{"{0}, ug {1}"}\r
             middle{"{0}, {1}"}\r
             start{"{0}, {1}"}\r
         }\r
index 64b5583..18f595d 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ceb_PH{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5bbdbd5..759e89f 100644 (file)
@@ -10,7 +10,7 @@ cgg{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 247f5b8..ad24b59 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 cgg_UG{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4ef5062..eb0a031 100644 (file)
@@ -219,7 +219,7 @@ chr{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index a4adfb5..9799922 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 chr_US{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 21e9cb4..5274128 100644 (file)
@@ -57,7 +57,7 @@ ckb{
         minimumGroupingDigits{"1"}\r
         native{"arab"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index fbecc64..def1d07 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ckb_IQ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 263277e..e5e6ce5 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ckb_IR{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         default{"persian"}\r
         gregorian{\r
index b0393ca..aa636a9 100644 (file)
@@ -519,7 +519,7 @@ cs{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
@@ -3134,10 +3134,6 @@ cs{
                     "př. n. l.",\r
                     "n. l.",\r
                 }\r
-                abbreviated%variant{\r
-                    "př. n. l.",\r
-                    "n. l.",\r
-                }\r
                 narrow{\r
                     "př.n.l.",\r
                     "n.l.",\r
index 354d7ee..36d1d6b 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 cs_CZ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 366fc28..5775fa1 100644 (file)
@@ -395,7 +395,7 @@ cy{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index bb276f3..9d6b03f 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 cy_GB{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index dcf9097..c5b1258 100644 (file)
@@ -212,7 +212,7 @@ da{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
@@ -774,14 +774,14 @@ da{
                     y{"y–y G"}\r
                 }\r
                 GyM{\r
-                    G{"M/y GGGG–M/y GGGG"}\r
-                    M{"M/y–M/y GGGGG"}\r
-                    y{"M/y–M/y GGGGG"}\r
+                    G{"MM.y GGGGG–MM.y GGGGG"}\r
+                    M{"MM.y–MM.y GGGGG"}\r
+                    y{"MM.y–MM.y GGGGG"}\r
                 }\r
                 GyMEd{\r
-                    G{"E, d/M/y GGGGG–E, d/M/y GGGGG"}\r
+                    G{"E dd.MM.y GGGGG–E dd.MM.y GGGGG"}\r
                     M{"E dd.MM.y–E dd.MM.y GGGGG"}\r
-                    d{"E dd. MM. y–E dd. MM. y GGGGG"}\r
+                    d{"E dd.MM.y–E dd.MM.y GGGGG"}\r
                     y{"E dd.MM.y–E dd.MM.y GGGGG"}\r
                 }\r
                 GyMMM{\r
@@ -802,9 +802,9 @@ da{
                     y{"d. MMM y–d. MMM y G"}\r
                 }\r
                 GyMd{\r
-                    G{"d/M/y GGGGG–d/M/y GGGGG"}\r
+                    G{"dd.MM.y GGGGG–dd.MM.y GGGGG"}\r
                     M{"dd.MM.y–dd.MM.y GGGGG"}\r
-                    d{"d/M/y–d/M/y GGGGG"}\r
+                    d{"dd.MM.y–dd.MM.y GGGGG"}\r
                     y{"dd.MM.y–dd.MM.y GGGGG"}\r
                 }\r
                 H{\r
index 9797cdf..b74f368 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 da_DK{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7fea54e..7dbca15 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 da_GL{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5462817..565605f 100644 (file)
@@ -12,7 +12,7 @@ dav{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 23383cf..2fb6b52 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 dav_KE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 71a571d..4199720 100644 (file)
@@ -218,7 +218,7 @@ de{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index e15e684..63307ea 100644 (file)
@@ -14,7 +14,7 @@ de_AT{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             dayPeriod{\r
index 7d659ee..5ca086b 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 de_BE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 94ae01d..d93547c 100644 (file)
@@ -15,7 +15,7 @@ de_CH{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             dayNames{\r
index 34d8a6c..7b77d47 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 de_DE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 968896a..82096a5 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 de_IT{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             monthNames{\r
index 038e648..17915d4 100644 (file)
@@ -14,7 +14,7 @@ de_LI{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             dayPeriod{\r
index 5ffdace..40e7b54 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 de_LU{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkersNarrow{\r
index 3e2d031..f53db4c 100644 (file)
@@ -18,7 +18,7 @@ dje{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index e518222..c128128 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 dje_NE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3e7cea9..065e3c2 100644 (file)
@@ -196,7 +196,7 @@ dsb{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index c204ecb..f2c1aa2 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 dsb_DE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 452e400..9d6cb13 100644 (file)
@@ -21,7 +21,7 @@ dua{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 49f98f3..45ebf85 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 dua_CM{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c717363..7e6ac5a 100644 (file)
@@ -18,7 +18,7 @@ dyo{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 0c23459..8d82691 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 dyo_SN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ff54007..8d9374c 100644 (file)
@@ -106,7 +106,7 @@ dz{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index b12efb8..7ae9eb2 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 dz_BT{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8fee15c..c4177d7 100644 (file)
@@ -11,7 +11,7 @@ ebu{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 37e2cd9..1232a9b 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ebu_KE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e589cd0..18cc1cf 100644 (file)
@@ -200,7 +200,7 @@ ee{
         }\r
         minimumGroupingDigits{"3"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 2971f83..faa1cb0 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ee_GH{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 789e5b8..994bb5b 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ee_TG{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index e155034..1af5c48 100644 (file)
@@ -216,7 +216,7 @@ el{
         native{"latn"}\r
         traditional{"grek"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index 8ea7267..fe18c89 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 el_CY{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 815111e..683ba77 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 el_GR{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6681eea..87756e3 100644 (file)
@@ -205,7 +205,7 @@ en{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index 3e41665..00db6c9 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_001{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         chinese{\r
             DateTimePatterns{\r
index ca91d5a..51d3568 100644 (file)
@@ -10,7 +10,7 @@ en_150{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index bc8befb..0fb423b 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_AE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         chinese{\r
             DateTimePatterns{\r
index 9c32af7..a748276 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_AG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0d7606a..0971b1e 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_AI{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index a9a75a0..0bb9b4c 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_AS{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0a32b77..c8de987 100644 (file)
@@ -16,5 +16,5 @@ en_AT{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cdc52eb..16aa456 100644 (file)
@@ -13,7 +13,7 @@ en_AU{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         chinese{\r
             monthNames{\r
@@ -85,6 +85,18 @@ en_AU{
                 yMd{"dd/MM/y"}\r
             }\r
             intervalFormats{\r
+                GyMEd{\r
+                    G{"E dd/MM/y GGGGG – E dd/MM/y GGGGG"}\r
+                    M{"E dd/MM/y – E dd/MM/y GGGGG"}\r
+                    d{"E dd/MM/y – E dd/MM/y GGGGG"}\r
+                    y{"E dd/MM/y – E dd/MM/y GGGGG"}\r
+                }\r
+                GyMMMEd{\r
+                    G{"E d MMM y G – E d MMM y G"}\r
+                    M{"E d MMM – E d MMM y G"}\r
+                    d{"E d MMM – E d MMM y G"}\r
+                    y{"E d MMM y – E d MMM y G"}\r
+                }\r
                 MEd{\r
                     M{"E, d/M – E, d/M"}\r
                     d{"E, d/M – E, d/M"}\r
index 4526faa..6bac355 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BB{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1a51396..0a10c92 100644 (file)
@@ -10,7 +10,7 @@ en_BE{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index b1a5d19..e160b98 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BI{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 1b0a5b1..1735b51 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6aacc1f..97d27f5 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BS{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1148540..92f3365 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BW{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 894ed72..49dc945 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BZ{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 323fca6..fe336e1 100644 (file)
@@ -9,7 +9,7 @@ en_CA{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         chinese{\r
             DateTimePatterns{\r
index e55f54a..b4af53b 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CC{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 10ac548..68d00c4 100644 (file)
@@ -14,5 +14,5 @@ en_CH{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f321632..01d8434 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CK{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 4c4313a..77a08e0 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 63ee958..29b3616 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CX{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 7c8d2e5..c852bbe 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CY{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0dbd557..76d1848 100644 (file)
@@ -14,5 +14,5 @@ en_DE{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1f3f74d..e299cd3 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_DG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 828f4d9..c02cfc5 100644 (file)
@@ -15,7 +15,7 @@ en_DK{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             availableFormats{\r
index c2b7c48..69c9cad 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_DM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 645f031..b87712d 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_ER{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9c02f10..9e913e1 100644 (file)
@@ -15,7 +15,7 @@ en_FI{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             availableFormats{\r
index 3769889..62582de 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_FJ{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bd35a1d..fa6de51 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_FK{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index f8ce885..32598fc 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_FM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 728c6b5..f62e067 100644 (file)
@@ -10,7 +10,7 @@ en_GB{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             availableFormats{\r
index 5d7fb98..513ab4e 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GD{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3e6f1f4..4a2c0c0 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index fcbf17f..d57f0a1 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GH{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e3b0a80..7d39892 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GI{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 9b6a911..b3195d5 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1d8c5d5..02179b6 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GU{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2dad328..90774d2 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GY{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a210c32..c4039fe 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_HK{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 4c9b3c7..a3f4388 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_IE{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index e882fa0..a1fceb4 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_IL{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             availableFormats{\r
index 67bad67..426460b 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_IM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index f05f341..4371d50 100644 (file)
@@ -66,7 +66,7 @@ en_IN{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -99,6 +99,18 @@ en_IN{
                 yyyyMd{"d/M/y G"}\r
             }\r
             intervalFormats{\r
+                GyMEd{\r
+                    G{"E, d/M/y GGGGG – E, d/M/y GGGGG"}\r
+                    M{"E, d/M/y – E, d/M/y GGGGG"}\r
+                    d{"E, d/M/y – E, d/M/y GGGGG"}\r
+                    y{"E, d/M/y – E, d/M/y GGGGG"}\r
+                }\r
+                GyMd{\r
+                    G{"d/M/y GGGGG – d/M/y GGGGG"}\r
+                    M{"d/M/y – d/M/y GGGGG"}\r
+                    d{"d/M/y – d/M/y GGGGG"}\r
+                    y{"d/M/y – d/M/y GGGGG"}\r
+                }\r
                 MEd{\r
                     M{"E, dd/MM – E, dd/MM"}\r
                     d{"E, dd/MM – E, dd/MM"}\r
index b4c05fe..75bb77c 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_IO{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 1688eed..423122d 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_JE{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index c652c9e..7088750 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_JM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index aace871..f3ecd85 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_KE{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 6d62e0e..59881cc 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_KI{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 45e54a1..4afc89a 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_KN{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6d58211..55d6d3f 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_KY{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 13a5553..69a481e 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_LC{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0f3f774..8384413 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_LR{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4926e99..3fd54d5 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_LS{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d93186a..0050bbc 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index b8342d2..29c9e78 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MH{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d34f753..fd3fefa 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MO{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a105656..38b57c3 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MP{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7e4c652..dc55f05 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MS{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index a803c10..387ba35 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MT{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index c1ed344..4efcb13 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MU{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 53eaa1d..041eb0c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MW{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 05273de..2fb266c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MY{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4c7aad0..cf4bdd3 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NA{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e1a8356..938e8d9 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NF{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 49a62c9..34e8114 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 14a4a92..9df0b7d 100644 (file)
@@ -14,5 +14,5 @@ en_NL{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f720598..806ae57 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NR{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index bbcf46e..7c75252 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NU{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index c9ca90a..efaffa9 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NZ{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index c5c15ca..b88a3d7 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_PG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4178526..136dd36 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_PH{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a36b26c..15e5261 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_PK{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index ad70a85..2f3bccc 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_PN{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 87eb8ff..e4b6414 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_PR{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bce0771..c254b8a 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_PW{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2f8f061..4fe9e3f 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_RW{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 43ac27d..890787c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SB{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b975677..9a5747a 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SC{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 4b1c909..3facf27 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SD{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d33ce71..311958b 100644 (file)
@@ -15,7 +15,7 @@ en_SE{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 43e7db1..e71d80b 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 948c6ea..7d76607 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SH{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 4c79982..f3c8837 100644 (file)
@@ -14,5 +14,5 @@ en_SI{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6607917..12c2893 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SL{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 02fc895..a4e3d7a 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SS{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cbbbff1..b70ef5a 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SX{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 5185e38..ff893da 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SZ{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 604cc12..49a3483 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TC{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f818ecd..43aca88 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TK{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index bdb0299..74f67ee 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TO{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4724625..e333e38 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TT{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0d5a029..36fd0e2 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TV{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index cd1e20a..6aef333 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TZ{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 3fc6fdc..3dc413c 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_UG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index c4680bd..d680ba3 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_UM{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c77a4dc..d1e54ec 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_US{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0eb14d1..520e1a1 100644 (file)
@@ -16,5 +16,5 @@ en_US_POSIX{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1c16a47..86b9c26 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_VC{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bc9f3a2..c37b20a 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_VG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e561750..ca819fd 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_VI{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f8cae92..a481242 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_VU{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2a1b9bf..df4d89c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_WS{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index de0fe31..4aaaa8c 100644 (file)
@@ -15,7 +15,7 @@ en_ZA{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 5c7e59b..15095b4 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_ZM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5b1963e..dc19568 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_ZW{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index ef06c9a..d17b7a4 100644 (file)
@@ -14,7 +14,7 @@ eo{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index ab2f375..781b511 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 eo_001{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3a6128b..268c0b9 100644 (file)
@@ -215,7 +215,7 @@ es{
         minimumGroupingDigits{"2"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index 155ea6b..daa381d 100644 (file)
@@ -95,7 +95,7 @@ es_419{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         coptic{\r
             monthNames{\r
index ce79151..7005892 100644 (file)
@@ -14,7 +14,7 @@ es_AR{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             availableFormats{\r
index dcd07ad..0cd2959 100644 (file)
@@ -10,7 +10,7 @@ es_BO{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index e765032..e988982 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_BR{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1e91d76..a81a6e0 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_BZ{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a3d3ad1..189528d 100644 (file)
@@ -13,7 +13,7 @@ es_CL{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 82a7281..c77ba50 100644 (file)
@@ -13,7 +13,7 @@ es_CO{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 55bb625..2865f18 100644 (file)
@@ -11,7 +11,7 @@ es_CR{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index 3d56222..8bc85d4 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_CU{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2a5c26c..1c9561e 100644 (file)
@@ -9,7 +9,7 @@ es_DO{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index b4204dc..286ea16 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_EA{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d35ce17..a02a7e0 100644 (file)
@@ -13,7 +13,7 @@ es_EC{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index 99d636d..b53d5d0 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_ES{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ffd1785..be289a9 100644 (file)
@@ -8,5 +8,5 @@ es_GQ{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a7df51a..79d653d 100644 (file)
@@ -46,7 +46,7 @@ es_GT{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 206bd9f..de7fe8d 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_HN{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index fa91e57..4bdcc36 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_IC{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 96aacb2..ef844ab 100644 (file)
@@ -89,7 +89,7 @@ es_MX{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 5f774e4..630a70c 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_NI{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index f463649..0f1b934 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_PA{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index c3bb67e..7f30916 100644 (file)
@@ -61,7 +61,7 @@ es_PE{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index a86c630..20654be 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_PH{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index f1d0aa5..77542f0 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_PR{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index daea9ff..a15f898 100644 (file)
@@ -13,7 +13,7 @@ es_PY{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index 24a8690..a1407bb 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_SV{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index 440e6f3..e9309a9 100644 (file)
@@ -125,7 +125,7 @@ es_US{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 1667a66..2ff364d 100644 (file)
@@ -14,7 +14,7 @@ es_UY{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index a5cb7f3..e6e8e21 100644 (file)
@@ -13,7 +13,7 @@ es_VE{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index bc265ee..33b4f33 100644 (file)
@@ -211,7 +211,7 @@ et{
         minimumGroupingDigits{"2"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index aea5a2f..97c0713 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 et_EE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e8fdb6e..1724b3c 100644 (file)
@@ -210,7 +210,7 @@ eu{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
@@ -811,18 +811,18 @@ eu{
                         "A",\r
                     }\r
                     wide{\r
-                        "urtarrila",\r
-                        "otsaila",\r
-                        "martxoa",\r
-                        "apirila",\r
-                        "maiatza",\r
-                        "ekaina",\r
-                        "uztaila",\r
-                        "abuztua",\r
-                        "iraila",\r
-                        "urria",\r
-                        "azaroa",\r
-                        "abendua",\r
+                        "urtarrilak",\r
+                        "otsailak",\r
+                        "martxoak",\r
+                        "apirilak",\r
+                        "maiatzak",\r
+                        "ekainak",\r
+                        "uztailak",\r
+                        "abuztuak",\r
+                        "irailak",\r
+                        "urriak",\r
+                        "azaroak",\r
+                        "abenduak",\r
                     }\r
                 }\r
                 stand-alone{\r
index e045d42..3de4a0e 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 eu_ES{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b027201..8d9233c 100644 (file)
@@ -23,7 +23,7 @@ ewo{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 9eb36f2..00c6d67 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ewo_CM{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5ea9970..e106acf 100644 (file)
@@ -243,7 +243,7 @@ fa{
         minimumGroupingDigits{"1"}\r
         native{"arabext"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index c919078..461c966 100644 (file)
@@ -18,7 +18,7 @@ fa_AF{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             appendItems{\r
index 5d8a628..e9fa1c7 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fa_IR{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2016bf4..979275d 100644 (file)
@@ -16,7 +16,7 @@ ff{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
diff --git a/source/data/locales/ff_Adlm.txt b/source/data/locales/ff_Adlm.txt
new file mode 100644 (file)
index 0000000..5633163
--- /dev/null
@@ -0,0 +1,1369 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff_Adlm{\r
+    %%Parent{"root"}\r
+    AuxExemplarCharacters{"[𞤾 𞤿 𞥀 𞥁 𞥂 𞥃]"}\r
+    Ellipsis{\r
+        final{"{0}…"}\r
+        initial{"…{0}"}\r
+        medial{"{0}…{1}"}\r
+        word-final{"{0}…"}\r
+        word-initial{"…{0}"}\r
+        word-medial{"{0} … {1}"}\r
+    }\r
+    ExemplarCharacters{\r
+        "[\U0001E944\U0001E945\U0001E946 𞤢 𞤣 𞤤 𞤥 𞤦 𞤧 𞤨 𞤩 𞤪 𞤫 𞤬 𞤭 𞤮 𞤯 "\r
+        "𞤰 𞤱 𞤲 𞤳 𞤴 𞤵 𞤶 𞤷 𞤸 𞤹 𞤺 𞤻 𞤼 𞤽 𞥋]"\r
+    }\r
+    ExemplarCharactersIndex{"[𞤀 𞤛]"}\r
+    ExemplarCharactersNumbers{"[𞥐 𞥑 𞥒 𞥓 𞥔 𞥕 𞥖 𞥗 𞥘 𞥙]"}\r
+    ExemplarCharactersPunctuation{"[\\- ‑ 𞥞 𞥟 . % ‰]"}\r
+    MoreInformation{"؟"}\r
+    NumberElements{\r
+        default{"adlm"}\r
+        latn{\r
+            patterns{\r
+                decimalFormat{"#,##0.###"}\r
+            }\r
+            patternsShort{\r
+                currencyFormat{\r
+                    1000{\r
+                        one{"¤ 0 𞤘𞤵𞤤"}\r
+                        other{"¤ 0 𞤘𞤵𞤤"}\r
+                    }\r
+                    10000{\r
+                        one{"¤ 00 𞤘𞤵𞤤"}\r
+                        other{"¤ 00 𞤘𞤵𞤤"}\r
+                    }\r
+                    100000{\r
+                        one{"¤ 000 𞤘𞤵𞤤"}\r
+                        other{"¤ 000 𞤘𞤵𞤤"}\r
+                    }\r
+                    1000000{\r
+                        one{"¤ 0 𞤁𞤵"}\r
+                        other{"¤ 0 𞤁𞤵"}\r
+                    }\r
+                    10000000{\r
+                        one{"¤ 00 𞤁𞤵"}\r
+                        other{"¤ 00 𞤁𞤵"}\r
+                    }\r
+                    100000000{\r
+                        one{"¤ 000 𞤁𞤵"}\r
+                        other{"¤ 000𞤁𞤵"}\r
+                    }\r
+                }\r
+            }\r
+            symbols{\r
+                nan{"𞤏𞤮𞤈"}\r
+            }\r
+        }\r
+        minimalPairs{\r
+            ordinal{\r
+                other{"𞤎𞤫𞤼𞥆𞤭𞤪𞤫𞥅 {0} 𞤳𞤢 𞤻𞤢𞥄𞤥𞤮"}\r
+            }\r
+            plural{\r
+                one{"{0} 𞤻𞤢𞤤𞥆𞤢𞤤"}\r
+                other{"{0} 𞤻𞤢𞤤𞤯𞤫"}\r
+            }\r
+        }\r
+        minimumGroupingDigits{"1"}\r
+        native{"adlm"}\r
+    }\r
+    Version{"37"}\r
+    calendar{\r
+        gregorian{\r
+            AmPmMarkers{\r
+                "𞤀𞤎",\r
+                "𞤇𞤎",\r
+            }\r
+            AmPmMarkersAbbr{\r
+                "𞤀𞤎",\r
+                "𞤇𞤎",\r
+            }\r
+            AmPmMarkersNarrow{\r
+                "𞤢",\r
+                "𞤩",\r
+            }\r
+            DateTimePatterns{\r
+                "HH:mm:ss zzzz",\r
+                "HH:mm:ss z",\r
+                "HH:mm:ss",\r
+                "HH:mm",\r
+                "y MMMM d, EEEE",\r
+                "y MMMM d",\r
+                "y MMM d",\r
+                "y-MM-dd",\r
+                "{1} {0}",\r
+                "{1}{0}",\r
+                "{1} {0}",\r
+                "{1} {0}",\r
+                "{1} {0}",\r
+            }\r
+            availableFormats{\r
+                MMMMW{\r
+                    one{"𞤴𞤮𞤲𞤼𞤫𞤪𞤫 W 𞤲𞤣𞤫𞤪 MMMM"}\r
+                    other{"𞤴𞤮𞤲𞤼𞤫𞤪𞤫 W 𞤲𞤣𞤫𞤪 MMMM"}\r
+                }\r
+                yw{\r
+                    one{"𞤴𞤮𞤲𞤼𞤫𞤪𞤫 w 𞤲𞤣𞤫𞤪 Y"}\r
+                    other{"𞤴𞤮𞤲𞤼𞤫𞤪𞤫 w 𞤲𞤣𞤫𞤪 Y"}\r
+                }\r
+            }\r
+            dayNames{\r
+                format{\r
+                    abbreviated{\r
+                        "𞤈𞤫𞤬",\r
+                        "𞤀𞥄𞤩𞤵",\r
+                        "𞤃𞤢𞤦",\r
+                        "𞤔𞤫𞤧",\r
+                        "𞤐𞤢𞥄𞤧",\r
+                        "𞤃𞤢𞤣",\r
+                        "𞤖𞤮𞤪",\r
+                    }\r
+                    narrow{\r
+                        "𞤈",\r
+                        "𞤀𞥄",\r
+                        "𞤃",\r
+                        "𞤔",\r
+                        "𞤐",\r
+                        "𞤃",\r
+                        "𞤖",\r
+                    }\r
+                    short{\r
+                        "𞤈𞤫𞤬",\r
+                        "𞤀𞥄𞤩𞤵",\r
+                        "𞤃𞤢𞤦",\r
+                        "𞤔𞤫𞤧",\r
+                        "𞤐𞤢𞥄𞤧",\r
+                        "𞤃𞤢𞤣",\r
+                        "𞤖𞤮𞤪",\r
+                    }\r
+                    wide{\r
+                        "𞤈𞤫𞤬𞤦𞤭𞤪𞥆𞤫",\r
+                        "𞤀𞥄𞤩𞤵𞤲𞥋𞤣𞤫",\r
+                        "𞤃𞤢𞤱𞤦𞤢𞥄𞤪𞤫",\r
+                        "𞤐𞥋𞤔𞤫𞤧𞤤𞤢𞥄𞤪𞤫",\r
+                        "𞤐𞤢𞥄𞤧𞤢𞥄𞤲𞥋𞤣𞤫",\r
+                        "𞤃𞤢𞤱𞤲𞥋𞤣𞤫",\r
+                        "𞤖𞤮𞤪𞤦𞤭𞤪𞥆𞤫",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    abbreviated{\r
+                        "𞤈𞤫𞤬",\r
+                        "𞤀𞥄𞤩𞤵",\r
+                        "𞤃𞤢𞤦",\r
+                        "𞤔𞤫𞤧",\r
+                        "𞤐𞤢𞥄𞤧",\r
+                        "𞤃𞤢𞤣",\r
+                        "𞤖𞤮𞤪",\r
+                    }\r
+                    narrow{\r
+                        "𞤈",\r
+                        "𞤀𞥄",\r
+                        "𞤃",\r
+                        "𞤔",\r
+                        "𞤐",\r
+                        "𞤃",\r
+                        "𞤖",\r
+                    }\r
+                    short{\r
+                        "𞤈𞤫𞤬",\r
+                        "𞤀𞥄𞤩𞤵",\r
+                        "𞤃𞤢𞤦",\r
+                        "𞤔𞤫𞤧",\r
+                        "𞤐𞤢𞥄𞤧",\r
+                        "𞤃𞤢𞤣",\r
+                        "𞤖𞤮𞤪",\r
+                    }\r
+                    wide{\r
+                        "𞤈𞤫𞤬𞤦𞤭𞤪𞥆𞤫",\r
+                        "𞤀𞥄𞤩𞤵𞤲𞥋𞤣𞤫",\r
+                        "𞤃𞤢𞤱𞤦𞤢𞥄𞤪𞤫",\r
+                        "𞤐𞥋𞤔𞤫𞤧𞤤𞤢𞥄𞤪𞤫",\r
+                        "𞤐𞤢𞥄𞤧𞤢𞥄𞤲𞥋𞤣𞤫",\r
+                        "𞤃𞤢𞤱𞤲𞥋𞤣𞤫",\r
+                        "𞤖𞤮𞤪𞤦𞤭𞤪𞥆𞤫",\r
+                    }\r
+                }\r
+            }\r
+            dayPeriod{\r
+                stand-alone{\r
+                    abbreviated{\r
+                        am{"𞤀𞤎"}\r
+                        pm{"𞤇𞤎"}\r
+                    }\r
+                    narrow{\r
+                        am{"𞤀𞤎"}\r
+                        pm{"𞤇𞤎"}\r
+                    }\r
+                    wide{\r
+                        am{"𞤀𞤎"}\r
+                        pm{"𞤇𞤎"}\r
+                    }\r
+                }\r
+            }\r
+            eras{\r
+                abbreviated{\r
+                    "𞤀𞤀𞤋",\r
+                    "𞤇𞤀𞤋",\r
+                }\r
+                abbreviated%variant{\r
+                    "𞤀𞤘𞤖",\r
+                    "𞤀𞤖",\r
+                }\r
+                wide{\r
+                    "𞤀𞤣𞤮 𞤀𞤲𞥆𞤢𞤦𞤭 𞤋𞥅𞤧𞤢𞥄",\r
+                    "𞤇𞤢𞥄𞤱𞤮 𞤀𞤲𞥆𞤢𞤦𞤭 𞤋𞥅𞤧𞤢𞥄",\r
+                }\r
+                wide%variant{\r
+                    "𞤀𞤣𞤮 𞤘𞤭𞤪𞤢𞤤 𞤖𞤢𞤲𞤣𞤫",\r
+                    "𞤘𞤭𞤪𞤢𞤤 𞤖𞤢𞤲𞤣𞤫",\r
+                }\r
+            }\r
+            monthNames{\r
+                format{\r
+                    abbreviated{\r
+                        "𞤅𞤭𞥅𞤤𞤮",\r
+                        "𞤕𞤮𞤤𞤼𞤮",\r
+                        "𞤐𞥋𞤄𞤮𞥅𞤴𞤮",\r
+                        "𞤅𞤫𞥅𞤼𞤮",\r
+                        "𞤁𞤵𞥅𞤶𞤮",\r
+                        "𞤑𞤮𞤪𞤧𞤮",\r
+                        "𞤃𞤮𞤪𞤧𞤮",\r
+                        "𞤔𞤵𞤳𞤮",\r
+                        "𞤅𞤭𞤤𞤼𞤮",\r
+                        "𞤒𞤢𞤪𞤳𞤮",\r
+                        "𞤔𞤮𞤤𞤮",\r
+                        "𞤐𞥋𞤄𞤮𞤱𞤼𞤮",\r
+                    }\r
+                    narrow{\r
+                        "𞤅",\r
+                        "𞤕",\r
+                        "𞤄",\r
+                        "𞤅",\r
+                        "𞤁",\r
+                        "𞤑",\r
+                        "𞤃",\r
+                        "𞤔",\r
+                        "𞤅",\r
+                        "𞤒",\r
+                        "𞤔",\r
+                        "𞤄",\r
+                    }\r
+                    wide{\r
+                        "𞤅𞤭𞥅𞤤𞤮",\r
+                        "𞤕𞤮𞤤𞤼𞤮",\r
+                        "𞤐𞥋𞤄𞤮𞥅𞤴𞤮",\r
+                        "𞤅𞤫𞥅𞤼𞤮",\r
+                        "𞤁𞤵𞥅𞤶𞤮",\r
+                        "𞤑𞤮𞤪𞤧𞤮",\r
+                        "𞤃𞤮𞤪𞤧𞤮",\r
+                        "𞤔𞤵𞤳𞤮",\r
+                        "𞤅𞤭𞤤𞤼𞤮",\r
+                        "𞤒𞤢𞤪𞤳𞤮",\r
+                        "𞤔𞤮𞤤𞤮",\r
+                        "𞤐𞥋𞤄𞤮𞤱𞤼𞤮",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    abbreviated{\r
+                        "𞤅𞤭𞥅𞤤",\r
+                        "𞤕𞤮𞤤",\r
+                        "𞤄𞤮𞥅𞤴",\r
+                        "𞤅𞤫𞥅𞤼",\r
+                        "𞤁𞤵𞥅𞤶",\r
+                        "𞤑𞤮𞤪",\r
+                        "𞤃𞤮𞤪",\r
+                        "𞤔𞤵𞤳",\r
+                        "𞤅𞤭𞤤",\r
+                        "𞤒𞤢𞤪",\r
+                        "𞤔𞤮𞤤",\r
+                        "𞤄𞤮𞤱",\r
+                    }\r
+                    narrow{\r
+                        "𞤅",\r
+                        "𞤕",\r
+                        "𞤄",\r
+                        "𞤅",\r
+                        "𞤁",\r
+                        "𞤑",\r
+                        "𞤃",\r
+                        "𞤔",\r
+                        "𞤅",\r
+                        "𞤒",\r
+                        "𞤄",\r
+                        "𞤄",\r
+                    }\r
+                    wide{\r
+                        "𞤅𞤭𞥅𞤤𞤮",\r
+                        "𞤕𞤮𞤤𞤼𞤮",\r
+                        "𞤐𞥋𞤄𞤮𞥅𞤴𞤮",\r
+                        "𞤅𞤫𞥅𞤼𞤮",\r
+                        "𞤁𞤵𞥅𞤶𞤮",\r
+                        "𞤑𞤮𞤪𞤧𞤮",\r
+                        "𞤃𞤮𞤪𞤧𞤮",\r
+                        "𞤔𞤵𞤳𞤮",\r
+                        "𞤅𞤭𞤤𞤼𞤮",\r
+                        "𞤒𞤢𞤪𞤳𞤮",\r
+                        "𞤔𞤮𞤤𞤮",\r
+                        "𞤐𞥋𞤄𞤮𞤱𞤼𞤮",\r
+                    }\r
+                }\r
+            }\r
+            quarters{\r
+                format{\r
+                    abbreviated{\r
+                        "𞤒𞥑",\r
+                        "𞤐𞥒",\r
+                        "𞤐𞥓",\r
+                        "𞤐𞥔",\r
+                    }\r
+                    narrow{\r
+                        "𞥑",\r
+                        "𞥒",\r
+                        "𞥓",\r
+                        "𞥔",\r
+                    }\r
+                    wide{\r
+                        "𞤒𞥑",\r
+                        "𞤐𞥒",\r
+                        "𞤐𞥓",\r
+                        "𞤐𞥔",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    abbreviated{\r
+                        "𞤐𞥑",\r
+                        "𞤐𞥒",\r
+                        "𞤐𞥓",\r
+                        "𞤐𞥔",\r
+                    }\r
+                    narrow{\r
+                        "𞥑",\r
+                        "𞥒",\r
+                        "𞥓",\r
+                        "𞥔",\r
+                    }\r
+                    wide{\r
+                        "𞤐𞤢𞤴𞤩𞤭𞥅𞤪𞤫 𞥑𞤪𞤫",\r
+                        "𞤐𞤢𞤴𞤩𞤭𞥅𞤪𞤫 𞥒𞤪𞤫",\r
+                        "𞤐𞤢𞤴𞤩𞤭𞥅𞤪𞤫 𞥓𞤪𞤫",\r
+                        "𞤐𞤢𞤴𞤩𞤭𞥅𞤪𞤫 𞥔𞤪𞤫",\r
+                    }\r
+                }\r
+            }\r
+        }\r
+        islamic{\r
+            eras{\r
+                abbreviated{\r
+                    "𞤇𞤊",\r
+                }\r
+            }\r
+            monthNames{\r
+                format{\r
+                    abbreviated{\r
+                        "𞤔𞤮𞤦.",\r
+                        "𞤅𞤢𞤨.",\r
+                        "𞤆𞤢𞤪.",\r
+                        "𞤃𞤭𞤨.",\r
+                        "𞤄𞤢𞤨.",\r
+                        "𞤅𞤢𞤪.",\r
+                        "𞤈𞤢𞤶.",\r
+                        "𞤅𞤢𞤧.",\r
+                        "𞤅𞤵𞤥.",\r
+                        "𞤔𞤵𞤤.",\r
+                        "𞤅𞤢𞤣.",\r
+                        "𞤁𞤮𞤲.",\r
+                    }\r
+                    narrow{\r
+                        "𞥑",\r
+                        "𞥒",\r
+                        "𞥓",\r
+                        "𞥔",\r
+                        "𞥕",\r
+                        "𞥖",\r
+                        "𞥗",\r
+                        "𞥘",\r
+                        "𞥙",\r
+                        "𞥑𞥐",\r
+                        "𞥑𞥑",\r
+                        "𞥑𞥒",\r
+                    }\r
+                    wide{\r
+                        "𞤔𞤮𞤥𞤦𞤫𞤲𞤼𞤫",\r
+                        "𞤅𞤢𞤦𞥆𞤮𞤪𞤣𞤵-𞤆𞤢𞤪𞤢𞤲",\r
+                        "𞤆𞤢𞤪𞤢𞤲",\r
+                        "𞤃𞤭𞤥𞤨𞤢𞤪𞤢𞤲",\r
+                        "𞤄𞤢𞤨𞥆𞤢𞤪𞤢𞤲",\r
+                        "𞤅𞤢𞤦𞥆𞤮𞤪𞤣𞤵-𞤈𞤢𞥄𞤶𞤭𞤦𞤭",\r
+                        "𞤈𞤢𞥄𞤶𞤭𞤦𞤭",\r
+                        "𞤅𞤢𞤦𞥆𞤮𞤪𞤣𞤵-𞤅𞤵𞥅𞤥𞤢𞤴𞤫𞥅",\r
+                        "𞤅𞤵𞥅𞤥𞤢𞤴𞤫𞥅",\r
+                        "𞤔𞤵𞥅𞤤𞤣𞤢𞥄𞤲𞥋𞤣𞤵",\r
+                        "𞤅𞤢𞤦𞥆𞤮𞤪𞤣𞤵-𞤁𞤮𞤲𞤳𞤭𞤲",\r
+                        "𞤁𞤵𞤲𞤳𞤭𞤲",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    abbreviated{\r
+                        "𞤔𞤮𞤦.",\r
+                        "𞤅𞤢𞤨.",\r
+                        "𞤆𞤢𞤪.",\r
+                        "𞤃𞤭𞤨.",\r
+                        "𞤄𞤢𞤨.",\r
+                        "𞤅𞤢𞤪.",\r
+                        "𞤈𞤢𞤶.",\r
+                        "𞤅𞤢𞤧.",\r
+                        "𞤅𞤵𞤥.",\r
+                        "𞤔𞤵𞤤.",\r
+                        "𞤅𞤢𞤣.",\r
+                        "𞤁𞤮𞤲.",\r
+                    }\r
+                    narrow{\r
+                        "𞥑",\r
+                        "𞥒",\r
+                        "𞥓",\r
+                        "𞥔",\r
+                        "𞥕",\r
+                        "𞥖",\r
+                        "𞥗",\r
+                        "𞥘",\r
+                        "𞥙",\r
+                        "𞥑𞥐",\r
+                        "𞥑𞥑",\r
+                        "𞥑𞥒",\r
+                    }\r
+                    wide{\r
+                        "𞤔𞤮𞤥𞤦𞤫𞤲𞤼𞤫",\r
+                        "𞤅𞤢𞤦𞥆𞤮𞤪𞤣𞤵-𞤆𞤢𞤪𞤢𞤲",\r
+                        "𞤆𞤢𞤪𞤢𞤲",\r
+                        "𞤃𞤭𞤥𞤨𞤢𞤪𞤢𞤲",\r
+                        "𞤄𞤢𞤨𞥆𞤢𞤪𞤢𞤲",\r
+                        "𞤅𞤢𞤦𞥆𞤮𞤪𞤣𞤵-𞤈𞤢𞥄𞤶𞤭𞤦𞤭",\r
+                        "𞤈𞤢𞥄𞤶𞤭𞤦𞤭",\r
+                        "𞤅𞤢𞤦𞥆𞤮𞤪𞤣𞤵-𞤅𞤵𞥅𞤥𞤢𞤴𞤫𞥅",\r
+                        "𞤅𞤵𞥅𞤥𞤢𞤴𞤫𞥅",\r
+                        "𞤔𞤵𞥅𞤤𞤣𞤢𞥄𞤲𞥋𞤣𞤵",\r
+                        "𞤅𞤢𞤦𞥆𞤮𞤪𞤣𞤵-𞤁𞤮𞤲𞤳𞤭𞤲",\r
+                        "𞤁𞤵𞤲𞤳𞤭𞤲",\r
+                    }\r
+                }\r
+            }\r
+        }\r
+    }\r
+    delimiters{\r
+        alternateQuotationEnd{"’"}\r
+        alternateQuotationStart{"‘"}\r
+        quotationEnd{"”"}\r
+        quotationStart{"“"}\r
+    }\r
+    fields{\r
+        day{\r
+            dn{"𞤻𞤢𞤤𞥆𞤢𞤤"}\r
+            relative{\r
+                "-1"{"𞤸𞤢𞤲𞤳𞤭"}\r
+                "0"{"𞤸𞤢𞤲𞤣𞤫"}\r
+                "1"{"𞤶𞤢𞤲𞤺𞤮"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤻𞤢𞤤𞥆𞤢𞤤"}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤻𞤢𞤤𞥆𞤫"}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤻𞤢𞤤𞥆𞤢𞤤 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤻𞤢𞤤𞥆𞤫 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        day-narrow{\r
+            dn{"𞤻𞤢𞤤."}\r
+            relative{\r
+                "-1"{"𞤸𞤢𞤲𞤳𞤭"}\r
+                "0"{"𞤸𞤢𞤲𞤣𞤫"}\r
+                "1"{"𞤶𞤢𞤲𞤺𞤮"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤻𞤢𞤤𞥆𞤢𞤤"}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤻𞤢𞤤𞥆𞤫"}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤻𞤢𞤤𞥆𞤢𞤤 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤻𞤢𞤤𞥆𞤫 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        day-short{\r
+            dn{"𞤻𞤢𞤤."}\r
+            relative{\r
+                "-1"{"𞤸𞤢𞤲𞤳𞤭"}\r
+                "0"{"𞤸𞤢𞤲𞤣𞤫"}\r
+                "1"{"𞤶𞤢𞤲𞤺𞤮"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤻𞤢𞤤𞥆𞤢𞤤"}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤻𞤢𞤤𞥆𞤫"}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤻𞤢𞤤𞥆𞤢𞤤 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤻𞤢𞤤𞥆𞤫 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        dayOfYear{\r
+            dn{"𞤻𞤢𞤤𞥆𞤢𞤤 𞤳𞤢 𞤸𞤭𞤼𞤢𞥄𞤲𞥋𞤣𞤫"}\r
+        }\r
+        dayOfYear-narrow{\r
+            dn{"𞤻𞤢𞤤. 𞤳𞤢 𞤸𞤼."}\r
+        }\r
+        dayOfYear-short{\r
+            dn{"𞤻𞤢𞤤. 𞤳𞤢 𞤸𞤼."}\r
+        }\r
+        dayperiod{\r
+            dn{"𞤀𞤎/𞤇𞤎"}\r
+        }\r
+        dayperiod-narrow{\r
+            dn{"𞤀𞤎/𞤇𞤎"}\r
+        }\r
+        dayperiod-short{\r
+            dn{"𞤀𞤎/𞤇𞤎"}\r
+        }\r
+        era{\r
+            dn{"𞤺𞤭𞤪𞤢𞤤"}\r
+        }\r
+        era-narrow{\r
+            dn{"𞤺𞤭𞤪𞤢𞤤"}\r
+        }\r
+        era-short{\r
+            dn{"𞤺𞤭𞤪𞤢𞤤"}\r
+        }\r
+        fri{\r
+            relative{\r
+                "-1"{"𞤃𞤢𞤱𞤲𞥋𞤣𞤫 𞤬𞤫𞤰𞥆𞤵𞤲𞥋𞤣𞤫"}\r
+                "0"{"𞤲𞥋𞤣𞤮𞥅 𞤯𞤮𞤮 𞤃𞤢𞤱𞤲𞥋𞤣𞤫"}\r
+                "1"{"𞤃𞤢𞤱𞤲𞥋𞤣𞤫 𞤢𞤪𞤢𞤴𞤲𞥋𞤣𞤫"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤃𞤢𞤱𞤲𞥋𞤣𞤫"}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤃𞤢𞤱𞤯𞤫"}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤃𞤢𞤱𞤲𞥋𞤣𞤫 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤃𞤢𞤱𞤯𞤫 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        fri-narrow{\r
+            relative{\r
+                "-1"{"𞤃𞤣 𞤬𞤫𞤰𞥆𞤵𞤲𞥋𞤣𞤫"}\r
+                "0"{"𞤲𞥋𞤣𞤮𞥅 𞤯𞤮𞤮 𞤃𞤣"}\r
+                "1"{"𞤃𞤣 𞤢𞤪𞤢𞤴𞤲𞥋𞤣𞤫"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤃𞤣"}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤃𞤣"}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤃𞤣 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤃𞤣 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        fri-short{\r
+            relative{\r
+                "-1"{"𞤃𞤢𞤣. 𞤬𞤫𞤰𞥆𞤵𞤲𞥋𞤣𞤫"}\r
+                "0"{"𞤲𞥋𞤣𞤮𞥅 𞤯𞤮𞤮 𞤃𞤢𞤣."}\r
+                "1"{"𞤃𞤢𞤣. 𞤢𞤪𞤢𞤴𞤲𞥋𞤣𞤫"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤃𞤢𞤣."}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤃𞤢𞤣."}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤃𞤢𞤣. 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤃𞤢𞤣. 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        hour{\r
+            dn{"𞤲𞥋𞤶𞤢𞤥𞤲𞥋𞤣𞤭"}\r
+            relative{\r
+                "0"{"𞤲𞥋𞤣𞤭𞥅 𞤯𞤮𞤮 𞤲𞥋𞤶𞤢𞤥𞤲𞥋𞤣𞤭"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤲𞥋𞤶𞤢𞤥𞤲𞥋𞤣𞤭"}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤲𞥋𞤶𞤢𞤥𞤤𞤭"}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤲𞥋𞤶𞤢𞤥𞤲𞥋𞤣𞤭 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤭"}\r
+                    other{"{0} 𞤲𞥋𞤶𞤢𞤥𞤤𞤭 𞤱𞤵𞤤𞤭𞥅𞤯𞤭"}\r
+                }\r
+            }\r
+        }\r
+        hour-narrow{\r
+            dn{"𞤶𞤢."}\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤶𞤢."}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤶𞤢."}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤶𞤢. 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤭"}\r
+                    other{"{0} 𞤶𞤢. 𞤱𞤵𞤤𞤭𞥅𞤯𞤭"}\r
+                }\r
+            }\r
+        }\r
+        hour-short{\r
+            dn{"𞤶𞤢."}\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤶𞤢."}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤶𞤢."}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤶𞤢. 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤭"}\r
+                    other{"{0} 𞤶𞤢. 𞤱𞤵𞤤𞤭𞥅𞤯𞤭"}\r
+                }\r
+            }\r
+        }\r
+        minute{\r
+            dn{"𞤸𞤮𞤶𞤮𞤥𞤪𞤫"}\r
+            relative{\r
+                "0"{"𞤲𞥋𞤣𞤫𞥅 𞤯𞤮𞤮 𞤸𞤮𞤶𞤮𞤥𞤪𞤫"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤸𞤮𞤶𞤮𞤥𞤪𞤫"}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤳𞤮𞤶𞤮𞤥𞤶𞤫"}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤸𞤮𞤶𞤮𞤥𞤪𞤫 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤳𞤮𞤶𞤮𞤥𞤶𞤫 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        minute-narrow{\r
+            dn{"𞤸𞤮𞤶."}\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤸𞤮𞤶."}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤸𞤮𞤶."}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤸𞤮𞤶. 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤸𞤮𞤶. 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        minute-short{\r
+            dn{"𞤸𞤮𞤶."}\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤸𞤮𞤶."}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤸𞤮𞤶."}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤸𞤮𞤶. 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤳𞤮𞤶. 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        mon{\r
+            relative{\r
+                "-1"{"𞤀𞥄𞤩𞤵𞤲𞥋𞤣𞤫 𞤬𞤫𞤰𞥆𞤵𞤲𞥋𞤣𞤫"}\r
+                "0"{"𞤲𞥋𞤣𞤫𞥅 𞤯𞤮𞤮 𞤀𞥄𞤩𞤵𞤲𞥋𞤣𞤫"}\r
+                "1"{"𞤀𞥄𞤩𞤵𞤲𞥋𞤣𞤫 𞤀𞤪𞤢𞤴𞤲𞥋𞤣𞤫"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤀𞥄𞤩𞤵𞤲𞥋𞤣𞤫"}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤀𞥄𞤩𞤵𞤯𞤫"}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤀𞥄𞤩𞤵𞤲𞥋𞤣𞤫 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤀𞥄𞤩𞤵𞤯𞤫 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        mon-narrow{\r
+            relative{\r
+                "-1"{"𞤀 𞤬𞤫𞤰𞥆𞤵𞤲𞥋𞤣𞤫"}\r
+                "0"{"𞤲𞥋𞤣𞤫𞥅 𞤯𞤮𞤮 𞤀"}\r
+                "1"{"𞤀 𞤀𞤪𞤢𞤴𞤲𞥋𞤣𞤫"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤀"}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤀"}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤀 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤀 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        mon-short{\r
+            relative{\r
+                "-1"{"𞤀𞥄𞤩𞤵. 𞤬𞤫𞤰𞥆𞤵𞤲𞥋𞤣𞤫"}\r
+                "0"{"𞤲𞥋𞤣𞤫𞥅 𞤯𞤮𞤮 𞤀𞥄𞤩𞤵."}\r
+                "1"{"𞤀𞥄𞤩𞤵. 𞤀𞤪𞤢𞤴𞤲𞥋𞤣𞤫"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤀𞥄𞤩𞤵."}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤀𞥄𞤩𞤵."}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤀𞥄𞤩𞤵. 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤀𞥄𞤩𞤵. 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        month{\r
+            dn{"𞤤𞤫𞤱𞤪𞤵"}\r
+            relative{\r
+                "-1"{"𞤤𞤫𞤱𞤪𞤵 𞤬𞤫𞤰𞥆𞤵𞤲𞥋𞤣𞤵"}\r
+                "0"{"𞤲𞥋𞤣𞤵𞥅 𞤯𞤮𞤮 𞤤𞤫𞤱𞤪𞤵"}\r
+                "1"{"𞤤𞤫𞤱𞤪𞤵 𞤢𞤪𞤢𞤴𞤲𞥋𞤣𞤵"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤤𞤫𞤱𞤪𞤵"}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤤𞤫𞤦𞥆𞤭"}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤤𞤫𞤱𞤪𞤵 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤵"}\r
+                    other{"{0} 𞤤𞤫𞤦𞥆𞤭 𞤱𞤵𞤤𞤭𞥅𞤯𞤭"}\r
+                }\r
+            }\r
+        }\r
+        month-narrow{\r
+            dn{"𞤤𞤫𞤱."}\r
+            relative{\r
+                "-1"{"𞤤𞤫𞤱. 𞤬𞤫𞤰𞥆𞤵𞤲𞥋𞤣𞤵"}\r
+                "0"{"𞤲𞤣𞤮𞥅 𞤯𞤮𞤮 𞤤𞤫𞤱."}\r
+                "1"{"𞤤𞤫𞤱. 𞤸𞤭𞤳𞥆𞤭𞥅𞤲𞤣𞤵"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤤𞤫𞤱."}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤤𞤫𞤦."}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤤𞤫𞤱. 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤵"}\r
+                    other{"{0} 𞤤𞤫𞤦. 𞤱𞤵𞤤𞤭𞥅𞤯𞤭"}\r
+                }\r
+            }\r
+        }\r
+        month-short{\r
+            dn{"𞤤𞤫𞤱."}\r
+            relative{\r
+                "-1"{"𞤤𞤫𞤱. 𞤬𞤫𞤰𞥆𞤵𞤲𞥋𞤣𞤵"}\r
+                "0"{"𞤲𞤣𞤮𞥅 𞤯𞤮𞤮 𞤤𞤫𞤱."}\r
+                "1"{"𞤤𞤫𞤱. 𞤸𞤭𞤳𞥆𞤭𞥅𞤲𞤣𞤵"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤤𞤫𞤱."}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤤𞤫𞤦."}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤤𞤫𞤱. 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤵"}\r
+                    other{"{0} 𞤤𞤫𞤦. 𞤱𞤵𞤤𞤭𞥅𞤯𞤭"}\r
+                }\r
+            }\r
+        }\r
+        quarter{\r
+            dn{"𞤲𞤢𞤴𞤢𞤩𞤭𞥅𞤪𞤫"}\r
+            relative{\r
+                "-1"{"𞤲𞤢𞤴𞤩𞤭𞥅𞤪𞤫 𞤬𞤫𞤰𞥆𞤵𞤲𞥋𞤣𞤫"}\r
+                "0"{"𞤲𞥋𞤣𞤫𞥅 𞤯𞤮𞤮 𞤲𞤢𞤴𞤩𞤭𞥅𞤪𞤫"}\r
+                "1"{"𞤲𞤢𞤴𞤩𞤭𞥅𞤪𞤫 𞤸𞤭𞤳𞥆𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤲𞤢𞤴𞤩𞤭𞥅𞤪𞤫"}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤲𞤢𞤴𞤩𞤭𞥅𞤶𞤫"}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤲𞤢𞤴𞤩𞤭𞥅𞤪𞤫 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤲𞤢𞤴𞤢𞤩𞤭𞥅𞤶𞤫 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        quarter-narrow{\r
+            dn{"𞤲𞤢𞤴."}\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤲𞤢𞤴."}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤲𞤢𞤴𞤶."}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤲𞤢𞤴. 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤲𞤢𞤴𞤶. 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                }\r
+            }\r
+        }\r
+        quarter-short{\r
+            dn{"𞤲𞤢𞤴."}\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤲𞤢𞤴."}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤲𞤢𞤴𞤶."}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤲𞤢𞤴. 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤲𞤢𞤴𞤶. 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        sat{\r
+            relative{\r
+                "-1"{"𞤖𞤮𞤪𞤦𞤭𞤪𞥆𞤫 𞤬𞤫𞤰𞥆𞤵𞤲𞥋𞤣𞤫"}\r
+                "0"{"𞤲𞥋𞤣𞤫𞥅 𞤯𞤮𞤮 𞤖𞤮𞤪𞤦𞤭𞤪𞥆𞤫"}\r
+                "1"{"𞤖𞤮𞤪𞤦𞤭𞤪𞥆𞤫 𞤢𞤪𞤢𞤴𞤲𞥋𞤣𞤫"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤖𞤮𞤪𞤦𞤭𞤪𞥆𞤫"}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤖𞤮𞤪𞤦𞤭𞤪𞤶𞤫"}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤖𞤮𞤪𞤦𞤭𞤪𞥆𞤫 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤖𞤮𞤪𞤦𞤭𞤪𞤶𞤫 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        sat-narrow{\r
+            relative{\r
+                "-1"{"𞤖𞤮 𞤬𞤫𞤰𞥆𞤵𞤲𞥋𞤣𞤫"}\r
+                "0"{"𞤲𞥋𞤣𞤫𞥅 𞤯𞤮𞤮 𞤖𞤮"}\r
+                "1"{"𞤖𞤮 𞤢𞤪𞤢𞤴𞤲𞥋𞤣𞤫"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤖𞤮"}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤖𞤮"}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤖𞤮 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤖𞤮 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        sat-short{\r
+            relative{\r
+                "-1"{"𞤖𞤮𞤪. 𞤬𞤫𞤰𞥆𞤵𞤲𞥋𞤣𞤫"}\r
+                "0"{"𞤲𞥋𞤣𞤫𞥅 𞤯𞤮𞤮 𞤖𞤮𞤪."}\r
+                "1"{"𞤖𞤮𞤪. 𞤢𞤪𞤢𞤴𞤲𞥋𞤣𞤫"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤖𞤮𞤪."}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤖𞤮𞤪."}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤖𞤮𞤪. 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤖𞤮𞤪. 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        second{\r
+            dn{"𞤸𞤭𞤲𞤰𞤫𞤪𞤫"}\r
+            relative{\r
+                "0"{"𞤶𞤮𞥅𞤲𞤭"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤳𞤭𞤲𞤰𞤢𞤤"}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤳𞤭𞤲𞤰𞤫"}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤳𞤭𞤲𞤰𞤢𞤤 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤺𞤢𞤤"}\r
+                    other{"{0} 𞤳𞤭𞤲𞤰𞤫 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        second-narrow{\r
+            dn{"𞤸𞤭𞤲."}\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤳𞤭𞤲."}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤳𞤭𞤲."}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤳𞤭𞤲. 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤺𞤢𞤤"}\r
+                    other{"{0} 𞤳𞤭𞤲. 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        second-short{\r
+            dn{"𞤸𞤭𞤲."}\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤳𞤭𞤲."}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤳𞤭𞤲."}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤳𞤭𞤲. 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤺𞤢𞤤"}\r
+                    other{"{0} 𞤳𞤭𞤲. 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        sun{\r
+            relative{\r
+                "-1"{"𞤈𞤫𞤬𞤦𞤭𞤪𞥆𞤫 𞤬𞤫𞤰𞥆𞤵𞤲𞥋𞤣𞤫"}\r
+                "0"{"𞤲𞥋𞤣𞤫𞥅 𞤯𞤮𞤮 𞤈𞤫𞤬𞤦𞤭𞤪𞥆𞤫"}\r
+                "1"{"𞤈𞤫𞤬𞤦𞤭𞤪𞥆𞤫 𞤢𞤪𞤢𞤴𞤲𞥋𞤣𞤫"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤈𞤫𞤬𞤦𞤭𞤪𞥆𞤫"}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤈𞤫𞤬𞤦𞤭𞤪𞤶𞤫"}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤈𞤫𞤬𞤦𞤭𞤪𞥆𞤫 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤈𞤫𞤬𞤦𞤭𞤪𞤶𞤫 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        sun-narrow{\r
+            relative{\r
+                "-1"{"𞤈𞤫 𞤬𞤫𞤰𞥆𞤵𞤲𞥋𞤣𞤫"}\r
+                "0"{"𞤲𞥋𞤣𞤫𞥅 𞤯𞤮𞤮 𞤈𞤫"}\r
+                "1"{"𞤈𞤫 𞤢𞤪𞤢𞤴𞤲𞥋𞤣𞤫"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤈𞤫"}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤈𞤫"}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤈𞤫 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤈𞤫 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        sun-short{\r
+            relative{\r
+                "-1"{"𞤈𞤫𞤬. 𞤬𞤫𞤰𞥆𞤵𞤲𞥋𞤣𞤫"}\r
+                "0"{"𞤲𞥋𞤣𞤫𞥅 𞤯𞤮𞤮 𞤈𞤫𞤬."}\r
+                "1"{"𞤈𞤫𞤬. 𞤢𞤪𞤢𞤴𞤲𞥋𞤣𞤫"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤈𞤫𞤬."}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤈𞤫𞤬."}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤈𞤫𞤬. 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤈𞤫𞤬. 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        thu{\r
+            relative{\r
+                "-1"{"𞤐𞤢𞥄𞤧𞤢𞥄𞤲𞥋𞤣𞤫 𞤬𞤫𞤰𞥆𞤵𞤲𞥋𞤣𞤫"}\r
+                "0"{"𞤲𞥋𞤣𞤫𞥅 𞤯𞤮𞤮 𞤐𞤢𞥄𞤧𞤢𞥄𞤲𞥋𞤣𞤫"}\r
+                "1"{"𞤐𞤢𞥄𞤧𞤢𞥄𞤲𞥋𞤣𞤫 𞤀𞤪𞤢𞤴𞤲𞥋𞤣𞤫"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤐𞤢𞥄𞤧𞤢𞥄𞤲𞥋𞤣𞤫"}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤐𞤢𞥄𞤧𞤢𞥄𞤯𞤫"}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤐𞤢𞥄𞤧𞤢𞥄𞤲𞥋𞤣𞤫 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤐𞤢𞥄𞤧𞤢𞥄𞤯𞤫 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        thu-narrow{\r
+            relative{\r
+                "-1"{"𞤐𞤢𞥄 𞤬𞤫𞤰𞥆𞤵𞤲𞥋𞤣𞤫"}\r
+                "0"{"𞤲𞥋𞤣𞤫𞥅 𞤯𞤮𞤮 𞤐𞤢𞥄"}\r
+                "1"{"𞤐𞤢𞥄 𞤀𞤪𞤢𞤴𞤲𞥋𞤣𞤫"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤐𞤢𞥄"}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤐𞤢𞥄"}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤐𞤢𞥄 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤐𞤢𞥄 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        thu-short{\r
+            relative{\r
+                "-1"{"𞤐𞤢𞥄𞤧. 𞤬𞤫𞤰𞥆𞤵𞤲𞥋𞤣𞤫"}\r
+                "0"{"𞤲𞥋𞤣𞤫𞥅 𞤯𞤮𞤮 𞤐𞤢𞥄𞤧."}\r
+                "1"{"𞤐𞤢𞥄𞤧. 𞤀𞤪𞤢𞤴𞤲𞥋𞤣𞤫"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤐𞤢𞥄𞤧."}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤐𞤢𞥄𞤧."}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤐𞤢𞥄𞤧. 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤐𞤢𞥄𞤧. 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        tue{\r
+            relative{\r
+                "-1"{"𞤃𞤢𞤱𞤦𞤢𞥄𞤪𞤫 𞤬𞤫𞤰𞥆𞤵𞤲𞥋𞤣𞤫"}\r
+                "0"{"𞤲𞥋𞤣𞤫𞥅 𞤯𞤮𞤮 𞤃𞤢𞤱𞤦𞤢𞥄𞤪𞤫"}\r
+                "1"{"𞤃𞤢𞤱𞤦𞤢𞥄𞤪𞤫 𞤀𞤪𞤢𞤴𞤲𞥋𞤣𞤫"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤃𞤢𞤱𞤦𞤢𞥄𞤶𞤫"}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤃𞤢𞤱𞤦𞤢𞥄𞤶𞤫"}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤃𞤢𞤱𞤦𞤢𞥄𞤪𞤫 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤃𞤢𞤱𞤦𞤢𞥄𞤶𞤫 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        tue-narrow{\r
+            relative{\r
+                "-1"{"𞤃𞤢 𞤬𞤫𞤰𞥆𞤵𞤲𞥋𞤣𞤫"}\r
+                "0"{"𞤲𞥋𞤣𞤫𞥅 𞤯𞤮𞤮 𞤃𞤢"}\r
+                "1"{"𞤃𞤢 𞤀𞤪𞤢𞤴𞤲𞥋𞤣𞤫"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤃𞤢"}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤃𞤢"}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤃𞤢 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤃𞤢 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                }\r
+            }\r
+        }\r
+        tue-short{\r
+            relative{\r
+                "-1"{"𞤃𞤢𞤱. 𞤬𞤫𞤰𞥆𞤵𞤲𞥋𞤣𞤫"}\r
+                "0"{"𞤲𞥋𞤣𞤫𞥅 𞤯𞤮𞤮 𞤃𞤢𞤱."}\r
+                "1"{"𞤃𞤢𞤱. 𞤀𞤪𞤢𞤴𞤲𞥋𞤣𞤫"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤃𞤢𞤱."}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤃𞤢𞤱."}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤃𞤢𞤱. 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤃𞤢𞤱. 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        wed{\r
+            relative{\r
+                "-1"{"𞤐𞥋𞤔𞤫𞤧𞤤𞤢𞥄𞤪𞤫 𞤬𞤫𞤰𞥆𞤵𞤲𞥋𞤣𞤫"}\r
+                "0"{"𞤲𞥋𞤣𞤫𞥅 𞤯𞤮𞤮 𞤐𞥋𞤔𞤫𞤧𞤤𞤢𞥄𞤪𞤫"}\r
+                "1"{"𞤐𞥋𞤔𞤫𞤧𞤤𞤢𞥄𞤪𞤫 𞤀𞤪𞤢𞤴𞤲𞥋𞤣𞤫"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤐𞥋𞤔𞤫𞤧𞤤𞤢𞥄𞤪𞤫"}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤐𞥋𞤔𞤫𞤧𞤤𞤢𞥄𞤶𞤫"}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤐𞥋𞤔𞤫𞤧𞤤𞤢𞥄𞤪𞤫 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤐𞥋𞤔𞤫𞤧𞤤𞤢𞥄𞤶𞤫 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                }\r
+            }\r
+        }\r
+        wed-narrow{\r
+            relative{\r
+                "-1"{"𞤐𞥋𞤔 𞤬𞤫𞤰𞥆𞤵𞤲𞥋𞤣𞤫"}\r
+                "0"{"𞤲𞥋𞤣𞤫𞥅 𞤯𞤮𞤮 𞤐𞥋𞤔"}\r
+                "1"{"𞤐𞥋𞤔 𞤀𞤪𞤢𞤴𞤲𞥋𞤣𞤫"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤐𞥋𞤔"}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤐𞥋𞤔"}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤐𞥋𞤔 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤐𞥋𞤔 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        wed-short{\r
+            relative{\r
+                "-1"{"𞤔𞤫𞤧. 𞤬𞤫𞤰𞥆𞤵𞤲𞥋𞤣𞤫"}\r
+                "0"{"𞤲𞥋𞤣𞤫𞥅 𞤯𞤮𞤮 𞤔𞤫𞤧."}\r
+                "1"{"𞤔𞤫𞤧. 𞤀𞤪𞤢𞤴𞤲𞥋𞤣𞤫"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤔𞤫𞤧."}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤔𞤫𞤧."}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤔𞤫𞤧. 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤔𞤫𞤧. 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        week{\r
+            dn{"𞤴𞤮𞤲𞤼𞤫𞤪𞤫"}\r
+            relative{\r
+                "-1"{"𞤴𞤮𞤲𞤼𞤫𞤪𞤫 𞤬𞤫𞤰𞥆𞤵𞤲𞥋𞤣𞤫"}\r
+                "0"{"𞤲𞤣𞤫𞥅 𞤯𞤮𞤮 𞤴𞤮𞤲𞤼𞤫𞤪𞤫"}\r
+                "1"{"𞤴𞤮𞤲𞤼𞤫𞤪𞤫 𞤢𞤪𞤢𞤴𞤲𞤣𞤫"}\r
+            }\r
+            relativePeriod{"𞤴𞤮𞤲𞤼𞤫𞤪𞤫 {0}"}\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤴𞤮𞤲𞤼𞤫𞤪𞤫"}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤶𞤮𞤲𞤼𞤫"}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤴𞤮𞤲𞤼𞤫𞤪𞤫 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤶𞤮𞤲𞤼𞤫 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        week-narrow{\r
+            dn{"𞤴𞤼."}\r
+            relative{\r
+                "-1"{"𞤴𞤼. 𞤬𞤫𞤰𞥆𞤵𞤲𞥋𞤣𞤫"}\r
+                "0"{"𞤲𞤣𞤫𞥅 𞤯𞤮𞤮 𞤴𞤼."}\r
+                "1"{"𞤴𞤼. 𞤸𞤭𞤳𞥆𞤭𞥅𞤲𞤣𞤫"}\r
+            }\r
+            relativePeriod{"𞤴𞤮𞤲𞤼𞤫𞤪𞤫 {0}"}\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤴𞤼."}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤶𞤼."}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤴𞤼. 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤶𞤼. 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        week-short{\r
+            dn{"𞤴𞤼."}\r
+            relative{\r
+                "-1"{"𞤴𞤼. 𞤬𞤫𞤰𞥆𞤵𞤲𞥋𞤣𞤫"}\r
+                "0"{"𞤲𞤣𞤫𞥅 𞤯𞤮𞤮 𞤴𞤼."}\r
+                "1"{"𞤴𞤼. 𞤸𞤭𞤳𞥆𞤭𞥅𞤲𞤣𞤫"}\r
+            }\r
+            relativePeriod{"𞤴𞤮𞤲𞤼𞤫𞤪𞤫 {0}"}\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤴𞤼."}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤶𞤼."}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤴𞤼. 𞤱𞤵𞤤𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+                    other{"{0} 𞤶𞤼. 𞤱𞤵𞤤𞤭𞥅𞤯𞤫"}\r
+                }\r
+            }\r
+        }\r
+        weekOfMonth{\r
+            dn{"𞤴𞤮𞤲𞤼𞤫𞤪𞤫 𞤳𞤢 𞤤𞤫𞤱𞤪𞤵"}\r
+        }\r
+        weekOfMonth-narrow{\r
+            dn{"𞤴𞤼. 𞤳𞤢 𞤤𞤫𞤱."}\r
+        }\r
+        weekOfMonth-short{\r
+            dn{"𞤴𞤼. 𞤳𞤢 𞤤𞤫𞤱."}\r
+        }\r
+        weekday{\r
+            dn{"𞤻𞤢𞤤𞥆𞤢𞤤 𞤳𞤢 𞤴𞤮𞤲𞤼𞤫𞤪𞤫"}\r
+        }\r
+        weekday-narrow{\r
+            dn{"𞤻𞤢𞤤. 𞤳𞤢 𞤴𞤼."}\r
+        }\r
+        weekday-short{\r
+            dn{"𞤻𞤢𞤤. 𞤳𞤢 𞤴𞤼."}\r
+        }\r
+        weekdayOfMonth{\r
+            dn{"𞤻𞤢𞤤𞥆𞤢𞤤 𞤳𞤢 𞤴𞤮𞤲𞤼𞤫𞤪𞤫"}\r
+        }\r
+        weekdayOfMonth-narrow{\r
+            dn{"𞤻𞤢𞤤. 𞤳𞤢 𞤤𞤫𞤱."}\r
+        }\r
+        weekdayOfMonth-short{\r
+            dn{"𞤻𞤢𞤤. 𞤳𞤢 𞤤𞤫𞤱."}\r
+        }\r
+        year{\r
+            dn{"𞤸𞤭𞤼𞤢𞥄𞤲𞤣𞤫"}\r
+            relative{\r
+                "-1"{"𞤸𞤭𞤼𞤢𞥄𞤲𞥋𞤣𞤫 𞤪𞤫𞤱𞤢𞤲𞤭"}\r
+                "0"{"𞤸𞤭𞤼𞤢𞥄𞤲𞥋𞤣𞤫 𞤸𞤭𞤳𞥆𞤢"}\r
+                "1"{"𞤸𞤭𞤼𞤢𞥄𞤲𞥋𞤣𞤫 𞤸𞤭𞤳𞥆𞤭𞥅𞤲𞥋𞤣𞤫"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤸𞤭𞤼𞤢𞥄𞤲𞥋𞤣𞤫"}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤳𞤭𞤼𞤢𞥄𞤯𞤫"}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤸𞤭𞤼𞤢𞥄𞤲𞥋𞤣𞤫 𞤪𞤫𞤱𞤢𞤲𞤭"}\r
+                    other{"{0} 𞤳𞤭𞤼𞤢𞥄𞤯𞤫 𞤪𞤫𞤱𞤢𞤲𞤭"}\r
+                }\r
+            }\r
+        }\r
+        year-narrow{\r
+            dn{"𞤸𞤭𞤼."}\r
+            relative{\r
+                "-1"{"𞤸𞤭𞤼. 𞤪𞤫𞤱𞤢𞤲𞤭"}\r
+                "0"{"𞤸𞤭𞤼. 𞤸𞤭𞤳𞥆𞤢"}\r
+                "1"{"𞤸𞤭𞤼. 𞤸𞤭𞤳𞥆𞤭𞥅𞤲𞤣𞤫"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤸𞤭𞤼."}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤸𞤭𞤼."}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤸𞤭𞤼. 𞤪𞤫𞤱𞤢𞤲𞤭"}\r
+                    other{"{0} 𞤳𞤭𞤼. 𞤪𞤫𞤱𞤢𞤲𞤭"}\r
+                }\r
+            }\r
+        }\r
+        year-short{\r
+            dn{"𞤸𞤭𞤼."}\r
+            relative{\r
+                "-1"{"𞤸𞤭𞤼. 𞤪𞤫𞤱𞤢𞤲𞤭"}\r
+                "0"{"𞤸𞤭𞤼. 𞤸𞤭𞤳𞥆𞤢"}\r
+                "1"{"𞤸𞤭𞤼. 𞤸𞤭𞤳𞥆𞤭𞥅𞤲𞤣𞤫"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤸𞤭𞤼."}\r
+                    other{"𞤲𞥋𞤣𞤫𞤪 {0} 𞤸𞤭𞤼."}\r
+                }\r
+                past{\r
+                    one{"{0} 𞤸𞤭𞤼. 𞤪𞤫𞤱𞤢𞤲𞤭"}\r
+                    other{"{0} 𞤳𞤭𞤼. 𞤪𞤫𞤱𞤢𞤲𞤭"}\r
+                }\r
+            }\r
+        }\r
+        zone{\r
+            dn{"𞤳𞤭𞤶𞤮𞥅𞤪𞤫 𞤲𞤮𞤳𞥆𞤵𞥅𞤪𞤫"}\r
+        }\r
+        zone-narrow{\r
+            dn{"𞤲𞤮𞤳𞥆𞤵"}\r
+        }\r
+        zone-short{\r
+            dn{"𞤲𞤮𞤳𞥆𞤵𞥅𞤪𞤫"}\r
+        }\r
+    }\r
+    layout{\r
+        characters{"right-to-left"}\r
+        lines{"top-to-bottom"}\r
+    }\r
+    listPattern{\r
+        or{\r
+            2{"{0} 𞤥𞤢𞥄 {1}"}\r
+            end{"{0}⹁ 𞤥𞤢𞥄 {1}"}\r
+            middle{"{0}⹁ {1}"}\r
+            start{"{0}⹁ {1}"}\r
+        }\r
+        or-narrow{\r
+            2{"{0} 𞤥𞤢𞥄 {1}"}\r
+            end{"{0}⹁ 𞤥𞤢𞥄 {1}"}\r
+            middle{"{0}⹁ {1}"}\r
+            start{"{0}⹁ {1}"}\r
+        }\r
+        or-short{\r
+            2{"{0} 𞤥𞤢𞥄 {1}"}\r
+            end{"{0}⹁ 𞤥𞤢𞥄 {1}"}\r
+            middle{"{0}⹁ {1}"}\r
+            start{"{0}⹁ {1}"}\r
+        }\r
+        standard{\r
+            2{"{0} 𞤫 {1}"}\r
+            end{"{0}⹁ {1}"}\r
+            middle{"{0}⹁ {1}"}\r
+            start{"{0}⹁ {1}"}\r
+        }\r
+        standard-narrow{\r
+            2{"{0}⹁ {1}"}\r
+            end{"{0}⹁ {1}"}\r
+            middle{"{0}⹁ {1}"}\r
+            start{"{0}⹁ {1}"}\r
+        }\r
+        standard-short{\r
+            2{"{0} & {1}"}\r
+            end{"{0}⹁ & {1}"}\r
+            middle{"{0}⹁ {1}"}\r
+            start{"{0}⹁ {1}"}\r
+        }\r
+        unit{\r
+            2{"{0} 𞤫 {1}"}\r
+            end{"{0} 𞤫 {1}"}\r
+            middle{"{0}, {1}"}\r
+            start{"{0}⹁ {1}"}\r
+        }\r
+        unit-narrow{\r
+            2{"{0} {1}"}\r
+            end{"{0}, {1}"}\r
+            middle{"{0}, {1}"}\r
+            start{"{0}, {1}"}\r
+        }\r
+        unit-short{\r
+            2{"{0} 𞤫 {1}"}\r
+            end{"{0}, {1}"}\r
+            middle{"{0}, {1}"}\r
+            start{"{0}⹁ {1}"}\r
+        }\r
+    }\r
+    measurementSystemNames{\r
+        UK{"𞤁𞤫𞤲𞤼𞤢𞤤 𞤐𞤁𞤫𞤱𞤲𞤺𞤵𞥅𞤶𞤭 𞤁𞤘"}\r
+        US{"𞤁𞤫𞤲𞤼𞤢𞤤 𞤂𞤢𞤪𞤫 𞤀𞤥𞤫𞤪𞤭𞤳 𞤁𞤂𞤀"}\r
+        metric{"𞤃𞤫𞤼𞤭𞤪𞤭𞤲𞤳𞤮"}\r
+    }\r
+    parse{\r
+        date{\r
+            lenient{\r
+                "[\\--/]",\r
+                "[\\:∶︓﹕:]",\r
+            }\r
+        }\r
+        general{\r
+            lenient{\r
+                "[.․。︒﹒.。]",\r
+                "['ʼ՚᾽᾿’']",\r
+                "[%٪﹪%]",\r
+                "[؉‰]",\r
+                "[\$﹩$]",\r
+                "[£₤£]",\r
+                "[¥¥]",\r
+                "[₩₩]",\r
+                "[₨₹{Rp}{Rs}]",\r
+            }\r
+        }\r
+        number{\r
+            lenient{\r
+                "[\\-‐‒–⁻₋−➖﹣-]",\r
+                "[,،٫、︐︑﹐﹑,、]",\r
+                "[+⁺₊➕﬩﹢+]",\r
+            }\r
+            stricter{\r
+                "[,٫︐﹐,]",\r
+                "[.․﹒.。]",\r
+            }\r
+        }\r
+    }\r
+}\r
diff --git a/source/data/locales/ff_Adlm_BF.txt b/source/data/locales/ff_Adlm_BF.txt
new file mode 100644 (file)
index 0000000..de8a39a
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff_Adlm_BF{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/locales/ff_Adlm_CM.txt b/source/data/locales/ff_Adlm_CM.txt
new file mode 100644 (file)
index 0000000..1271807
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff_Adlm_CM{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/locales/ff_Adlm_GH.txt b/source/data/locales/ff_Adlm_GH.txt
new file mode 100644 (file)
index 0000000..581c5c3
--- /dev/null
@@ -0,0 +1,24 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff_Adlm_GH{\r
+    Version{"37"}\r
+    calendar{\r
+        gregorian{\r
+            DateTimePatterns{\r
+                "h:mm:ss a zzzz",\r
+                "h:mm:ss a z",\r
+                "h:mm:ss a",\r
+                "h:mm a",\r
+                "y MMMM d, EEEE",\r
+                "y MMMM d",\r
+                "y MMM d",\r
+                "y-MM-dd",\r
+                "{1} {0}",\r
+                "{1}{0}",\r
+                "{1} {0}",\r
+                "{1} {0}",\r
+                "{1} {0}",\r
+            }\r
+        }\r
+    }\r
+}\r
diff --git a/source/data/locales/ff_Adlm_GM.txt b/source/data/locales/ff_Adlm_GM.txt
new file mode 100644 (file)
index 0000000..ec6ede1
--- /dev/null
@@ -0,0 +1,24 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff_Adlm_GM{\r
+    Version{"37"}\r
+    calendar{\r
+        gregorian{\r
+            DateTimePatterns{\r
+                "h:mm:ss a zzzz",\r
+                "h:mm:ss a z",\r
+                "h:mm:ss a",\r
+                "h:mm a",\r
+                "y MMMM d, EEEE",\r
+                "y MMMM d",\r
+                "y MMM d",\r
+                "y-MM-dd",\r
+                "{1} {0}",\r
+                "{1}{0}",\r
+                "{1} {0}",\r
+                "{1} {0}",\r
+                "{1} {0}",\r
+            }\r
+        }\r
+    }\r
+}\r
diff --git a/source/data/locales/ff_Adlm_GN.txt b/source/data/locales/ff_Adlm_GN.txt
new file mode 100644 (file)
index 0000000..12e8bee
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff_Adlm_GN{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/locales/ff_Adlm_GW.txt b/source/data/locales/ff_Adlm_GW.txt
new file mode 100644 (file)
index 0000000..ae8d4a3
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff_Adlm_GW{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/locales/ff_Adlm_LR.txt b/source/data/locales/ff_Adlm_LR.txt
new file mode 100644 (file)
index 0000000..e6c9886
--- /dev/null
@@ -0,0 +1,24 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff_Adlm_LR{\r
+    Version{"37"}\r
+    calendar{\r
+        gregorian{\r
+            DateTimePatterns{\r
+                "h:mm:ss a zzzz",\r
+                "h:mm:ss a z",\r
+                "h:mm:ss a",\r
+                "h:mm a",\r
+                "y MMMM d, EEEE",\r
+                "y MMMM d",\r
+                "y MMM d",\r
+                "y-MM-dd",\r
+                "{1} {0}",\r
+                "{1}{0}",\r
+                "{1} {0}",\r
+                "{1} {0}",\r
+                "{1} {0}",\r
+            }\r
+        }\r
+    }\r
+}\r
diff --git a/source/data/locales/ff_Adlm_MR.txt b/source/data/locales/ff_Adlm_MR.txt
new file mode 100644 (file)
index 0000000..5a9afeb
--- /dev/null
@@ -0,0 +1,24 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff_Adlm_MR{\r
+    Version{"37"}\r
+    calendar{\r
+        gregorian{\r
+            DateTimePatterns{\r
+                "h:mm:ss a zzzz",\r
+                "h:mm:ss a z",\r
+                "h:mm:ss a",\r
+                "h:mm a",\r
+                "y MMMM d, EEEE",\r
+                "y MMMM d",\r
+                "y MMM d",\r
+                "y-MM-dd",\r
+                "{1} {0}",\r
+                "{1}{0}",\r
+                "{1} {0}",\r
+                "{1} {0}",\r
+                "{1} {0}",\r
+            }\r
+        }\r
+    }\r
+}\r
diff --git a/source/data/locales/ff_Adlm_NE.txt b/source/data/locales/ff_Adlm_NE.txt
new file mode 100644 (file)
index 0000000..4b4d12e
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff_Adlm_NE{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/locales/ff_Adlm_NG.txt b/source/data/locales/ff_Adlm_NG.txt
new file mode 100644 (file)
index 0000000..e5b2cc7
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff_Adlm_NG{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/locales/ff_Adlm_SL.txt b/source/data/locales/ff_Adlm_SL.txt
new file mode 100644 (file)
index 0000000..38f31a3
--- /dev/null
@@ -0,0 +1,24 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff_Adlm_SL{\r
+    Version{"37"}\r
+    calendar{\r
+        gregorian{\r
+            DateTimePatterns{\r
+                "h:mm:ss a zzzz",\r
+                "h:mm:ss a z",\r
+                "h:mm:ss a",\r
+                "h:mm a",\r
+                "y MMMM d, EEEE",\r
+                "y MMMM d",\r
+                "y MMM d",\r
+                "y-MM-dd",\r
+                "{1} {0}",\r
+                "{1}{0}",\r
+                "{1} {0}",\r
+                "{1} {0}",\r
+                "{1} {0}",\r
+            }\r
+        }\r
+    }\r
+}\r
diff --git a/source/data/locales/ff_Adlm_SN.txt b/source/data/locales/ff_Adlm_SN.txt
new file mode 100644 (file)
index 0000000..08f8c7c
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff_Adlm_SN{\r
+    Version{"37"}\r
+}\r
index cd674cd..36cf8a0 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ff_Latn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b311d29..f7bb66f 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ff_Latn_BF{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 91b3b74..1254743 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ff_Latn_CM{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 452cf4c..9739391 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ff_Latn_GH{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 8a13458..b802a72 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ff_Latn_GM{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index f761dbf..792bfca 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ff_Latn_GN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 992767e..5c566ea 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ff_Latn_GW{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 00e5915..a19938a 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ff_Latn_LR{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 7faf494..89893aa 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ff_Latn_MR{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index c94e55c..a62f3b5 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ff_Latn_NE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a4099c4..e39f136 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ff_Latn_NG{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0b7e8be..e27e061 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ff_Latn_SL{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 0ff50bd..c27ced6 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ff_Latn_SN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 31e6881..91774cd 100644 (file)
@@ -216,7 +216,7 @@ fi{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
@@ -529,6 +529,23 @@ fi{
                     d{"E d.M. – E d.M.y G"}\r
                     y{"E d.M.y – E d.M.y G"}\r
                 }\r
+                GyMMMM{\r
+                    G{"LLLL y G – LLLL y G"}\r
+                    M{"LLLL–LLLL y G"}\r
+                    y{"LLLL y – LLLL y G"}\r
+                }\r
+                GyMMMMEd{\r
+                    G{"E d. MMMM y G – E d. MMMM y G"}\r
+                    M{"E d. MMMM – E d. MMMM y G"}\r
+                    d{"E d. – E d. MMMM y G"}\r
+                    y{"E d. MMMM y – E d. MMMM y G"}\r
+                }\r
+                GyMMMMd{\r
+                    G{"d. MMMM y G – d. MMMM y G"}\r
+                    M{"d. MMMM – d. MMMM y G"}\r
+                    d{"d.–d. MMMM y G"}\r
+                    y{"d. MMMM y – d. MMMM y G"}\r
+                }\r
                 GyMMMd{\r
                     G{"d.M.y G – d.M.y G"}\r
                     M{"d.M.–d.M.y G"}\r
@@ -923,9 +940,9 @@ fi{
                     y{"E d.M.y – E d.M.y GGGGG"}\r
                 }\r
                 GyMMM{\r
-                    G{"MMM y G – MMM y G"}\r
-                    M{"MMM–MMM y G"}\r
-                    y{"MMM y – MMM y G"}\r
+                    G{"M.y G – M.y G"}\r
+                    M{"M.–M.y G"}\r
+                    y{"M.y–M.y G"}\r
                 }\r
                 GyMMMEd{\r
                     G{"E d.M.y – E d.M.y G"}\r
@@ -933,6 +950,23 @@ fi{
                     d{"E d.M – E d.M.y G"}\r
                     y{"E d.M.y – E d.M.y G"}\r
                 }\r
+                GyMMMM{\r
+                    G{"LLLL y G – LLLL y G"}\r
+                    M{"LLLL–LLLL y G"}\r
+                    y{"LLLL y – LLLL y G"}\r
+                }\r
+                GyMMMMEd{\r
+                    G{"E d. MMMM y G – E d. MMMM y G"}\r
+                    M{"E d. MMMM – E d. MMMM y G"}\r
+                    d{"E d. – E d. MMMM y G"}\r
+                    y{"E d. MMMM y – E d. MMMM y G"}\r
+                }\r
+                GyMMMMd{\r
+                    G{"d. MMMM y G – d. MMMM y G"}\r
+                    M{"d. MMMM – d. MMMM y G"}\r
+                    d{"d.–d. MMMM y G"}\r
+                    y{"d. MMMM y – d. MMMM y G"}\r
+                }\r
                 GyMMMd{\r
                     G{"d.M.y. G – d.M.y G"}\r
                     M{"d.M–d.M.y G"}\r
index a15fc2a..1e0e77a 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fi_FI{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7597fd7..9d5b26a 100644 (file)
@@ -211,7 +211,7 @@ fil{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index 06246f5..020ceae 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fil_PH{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a688bb8..06919d3 100644 (file)
@@ -211,7 +211,7 @@ fo{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 7ef63dd..c080c96 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fo_DK{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 493e17d..eb03623 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fo_FO{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 49499d2..2a04b61 100644 (file)
@@ -221,7 +221,7 @@ fr{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index 3eba8ab..07f3d5f 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_BE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 7d697c3..98cd7fd 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_BF{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 163d68d..754bd5e 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_BI{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f4220f8..fdccd2d 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_BJ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cc9d8a9..756eadb 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_BL{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1017bb5..85e443a 100644 (file)
@@ -103,7 +103,7 @@ fr_CA{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         coptic{\r
             monthNames{\r
index 6d0bba4..9644431 100644 (file)
@@ -8,7 +8,7 @@ fr_CD{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             dayPeriod{\r
index 97a58a8..6f9777f 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_CF{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 429468a..e0afccd 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_CG{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cef9aff..49f370e 100644 (file)
@@ -11,7 +11,7 @@ fr_CH{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index a2fe696..e3f40a6 100644 (file)
@@ -8,5 +8,5 @@ fr_CI{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 39bf514..a060950 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_CM{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index 47cc98e..2a47edd 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_DJ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index a037d88..066fcb9 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_DZ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 6aedfca..1acbafa 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_FR{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9ff6f38..393d3dd 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_GA{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7fea697..206c1c9 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_GF{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d56c014..27b0956 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_GN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8eed8e1..6f8180a 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_GP{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e7ce309..1ff7cf3 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_GQ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1b19056..c483fee 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_HT{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             dayPeriod{\r
index a8845a8..1587cc0 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_KM{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cf134d6..b8b2df8 100644 (file)
@@ -9,5 +9,5 @@ fr_LU{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7e1d2bd..1acc6d8 100644 (file)
@@ -9,7 +9,7 @@ fr_MA{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index a87ce74..0155bfe 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_MC{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 191a064..158906e 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_MF{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 599845a..e83a64b 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_MG{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f2eafb5..65f2d63 100644 (file)
@@ -8,7 +8,7 @@ fr_ML{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 563de11..2b51c70 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_MQ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e1747df..4b1bc12 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_MR{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index deb19d8..bdf673c 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_MU{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 74d4222..4501c4b 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_NC{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 824d2be..6d0b4da 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_NE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 82e7248..c88bde7 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_PF{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e2c2321..00d6b73 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_PM{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8c00669..c85d64f 100644 (file)
@@ -8,7 +8,7 @@ fr_RE{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             dayPeriod{\r
index 64c554e..1fa2f62 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_RW{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1f4654a..b514af4 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_SC{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4bd8268..a3cdec1 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_SN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             dayPeriod{\r
index 252773a..ed9397f 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_SY{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index b984bb9..ac83594 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_TD{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index e0404b6..4a9ef93 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_TG{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 77e39ea..9f801e9 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_TN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index e1cf0d7..34b0014 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_VU{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index c7bd486..c97dfc1 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_WF{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b164cd5..9afea13 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_YT{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cb5676c..bb417ca 100644 (file)
@@ -27,7 +27,7 @@ fur{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -614,9 +614,6 @@ fur{
                 }\r
             }\r
         }\r
-        zone{\r
-            dn{"zone"}\r
-        }\r
     }\r
     listPattern{\r
         standard{\r
index 8d2a617..0f6604d 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fur_IT{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9c13bd4..e7892c9 100644 (file)
@@ -155,7 +155,7 @@ fy{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index 20265d8..bed8fc4 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fy_NL{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 958d435..7396663 100644 (file)
@@ -313,7 +313,7 @@ ga{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index 3104731..a54eae4 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ga_GB{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index df11b6d..5c4f2fa 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ga_IE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 916f4f3..1360182 100644 (file)
@@ -1156,7 +1156,7 @@ gd{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index 50ddb39..80fca63 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 gd_GB{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e93cbdd..5badb4a 100644 (file)
@@ -215,7 +215,7 @@ gl{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 1440fd1..eccc765 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 gl_ES{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5373d1d..b2c96a2 100644 (file)
@@ -180,7 +180,7 @@ gsw{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index c4c771b..0daae80 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 gsw_CH{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d489696..3e8c13f 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 gsw_FR{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 01d5707..652f83d 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 gsw_LI{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 43b151c..408c723 100644 (file)
@@ -252,7 +252,7 @@ gu{
         minimumGroupingDigits{"1"}\r
         native{"gujr"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index f075170..3812340 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 gu_IN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bd4ee42..0afac1f 100644 (file)
@@ -12,7 +12,7 @@ guz{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index d1353aa..b949908 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 guz_KE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 43d85fb..f475026 100644 (file)
@@ -23,7 +23,7 @@ gv{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index b6f3dc2..f611b6f 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 gv_IM{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0edd12d..81c5073 100644 (file)
@@ -163,7 +163,7 @@ ha{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index e2f713d..26498db 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ha_GH{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 17420d4..11149e8 100644 (file)
@@ -3,5 +3,5 @@
 ha_NE{\r
     AuxExemplarCharacters{"[á à â é è ê í ì î ó ò ô p q {r\u0303} ú ù û v x {ʼy}]"}\r
     ExemplarCharactersIndex{"[A B Ɓ C D Ɗ E F G H I J K Ƙ L M N O P Q R S T U V W X Y Ƴ Z]"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4a2ea33..87e6e24 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ha_NG{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 240b4c0..2190a5e 100644 (file)
@@ -32,7 +32,7 @@ haw{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 8ad7eef..1a8e305 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 haw_US{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5e5b673..e2fd152 100644 (file)
@@ -301,7 +301,7 @@ he{
         native{"latn"}\r
         traditional{"hebr"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index 4365e92..d0f55c0 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 he_IL{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0cd26d1..d9dc323 100644 (file)
@@ -238,7 +238,7 @@ hi{
         minimumGroupingDigits{"1"}\r
         native{"deva"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         ethiopic{\r
             monthNames{\r
index b4748f5..c2129b1 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 hi_IN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index aa49641..170a159 100644 (file)
@@ -252,7 +252,7 @@ hr{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index 3b8b150..7677c13 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 hr_BA{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 667aebb..7c4cd43 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 hr_HR{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d9560de..2f7a5dd 100644 (file)
@@ -196,7 +196,7 @@ hsb{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 6cff783..0b26223 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 hsb_DE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d6ca2ee..3d1e390 100644 (file)
@@ -223,7 +223,7 @@ hu{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index 510dc51..870aac2 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 hu_HU{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8e2e114..4b4ee3f 100644 (file)
@@ -220,7 +220,7 @@ hy{
         native{"latn"}\r
         traditional{"armn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index ebae7c4..34157de 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 hy_AM{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 91f8c29..5c2092f 100644 (file)
@@ -193,7 +193,7 @@ ia{
         }\r
         minimumGroupingDigits{"2"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 28264a8..5f20840 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ia_001{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5952646..aa3f5d9 100644 (file)
@@ -175,7 +175,7 @@ id{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index 7e81ead..3625819 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 id_ID{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bfc7e8f..9778c71 100644 (file)
@@ -101,7 +101,7 @@ ig{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 765111a..980ad5d 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ig_NG{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5bd990e..80edfbe 100644 (file)
@@ -20,7 +20,7 @@ ii{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index 3f825c3..eddba58 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ii_CN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6ace051..ccc0579 100644 (file)
@@ -221,7 +221,7 @@ is{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index 7ea2e7a..123fe21 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 is_IS{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a18f2eb..fc8cd4f 100644 (file)
@@ -212,7 +212,7 @@ it{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index b9ebbfb..cff560f 100644 (file)
@@ -13,7 +13,7 @@ it_CH{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index dab87c0..d821299 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 it_IT{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 773c45a..5017373 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 it_SM{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d61d7cb..26c9a67 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 it_VA{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 09f755f..5cee868 100644 (file)
@@ -235,7 +235,7 @@ ja{
         native{"latn"}\r
         traditional{"jpan"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index 40c505d..e3ae26e 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ja_JP{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b3821f3..112e0a6 100644 (file)
@@ -1,6 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ja_JP_TRADITIONAL{\r
+    Version{"37"}\r
     calendar{\r
         default{"japanese"}\r
     }\r
index 09353e8..94e5cfb 100644 (file)
@@ -39,7 +39,7 @@ jgo{
         }\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index a1b18ce..9aafe83 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 jgo_CM{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fc8270c..baecfff 100644 (file)
@@ -11,7 +11,7 @@ jmc{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index daf6474..dddf028 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 jmc_TZ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1c3ed1b..4f263f0 100644 (file)
@@ -156,7 +156,7 @@ jv{
         }\r
         native{"java"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 5656539..1fc02a5 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 jv_ID{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4e161ee..09ee3c7 100644 (file)
@@ -221,7 +221,7 @@ ka{
         native{"latn"}\r
         traditional{"geor"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index fbaca80..784f297 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ka_GE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 83f2e14..713b1eb 100644 (file)
@@ -16,7 +16,7 @@ kab{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 4d18b2e..d465f50 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kab_DZ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f9b1bf1..7efd541 100644 (file)
@@ -11,7 +11,7 @@ kam{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 5a14c86..a806302 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kam_KE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 694f417..c266516 100644 (file)
@@ -11,7 +11,7 @@ kde{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index c3c124c..38f7404 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kde_TZ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d70a56c..cc44365 100644 (file)
@@ -141,7 +141,7 @@ kea{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 127b7f3..15c1bf2 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kea_CV{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2c765ca..2eafeda 100644 (file)
@@ -15,7 +15,7 @@ khq{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 949bc5c..fb35b9a 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 khq_ML{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 99418be..b17f997 100644 (file)
@@ -12,7 +12,7 @@ ki{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index c15fd5c..521ef21 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ki_KE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index edb75ae..3694f55 100644 (file)
@@ -221,7 +221,7 @@ kk{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 16866e2..beb188a 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kk_KZ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cc99aef..db66ea0 100644 (file)
@@ -24,7 +24,7 @@ kkj{
         }\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -184,7 +184,7 @@ kkj{
                         "fɛ",\r
                         "njapi",\r
                         "nyukul",\r
-                        "11",\r
+                        "M11",\r
                         "ɓulɓusɛ",\r
                     }\r
                 }\r
@@ -200,7 +200,7 @@ kkj{
                         "fɛ",\r
                         "njapi",\r
                         "nyukul",\r
-                        "11",\r
+                        "M11",\r
                         "ɓulɓusɛ",\r
                     }\r
                 }\r
index 82b8cc8..b313ab8 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kkj_CM{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ea5847c..b776466 100644 (file)
@@ -23,7 +23,7 @@ kl{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index c7f1d0f..6700bc1 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kl_GL{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7521d74..8c9acbb 100644 (file)
@@ -12,7 +12,7 @@ kln{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 2154b6c..b7c1aa8 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kln_KE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 90bb4da..2f50a18 100644 (file)
@@ -178,7 +178,7 @@ km{
         minimumGroupingDigits{"1"}\r
         native{"khmr"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -1737,6 +1737,13 @@ km{
             middle{"{0}, {1}"}\r
             start{"{0}, {1}"}\r
         }\r
+        standard-narrow{\r
+            2{"{0}, {1}"}\r
+            end{"{0}, {1}"}\r
+        }\r
+        standard-short{\r
+            2{"{0} និង {1}"}\r
+        }\r
         unit{\r
             2{"{0} {1}"}\r
             end{"{0} {1}"}\r
index 9cadee8..2e32802 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 km_KH{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c98b13f..d51a6bf 100644 (file)
@@ -240,7 +240,7 @@ kn{
         minimumGroupingDigits{"1"}\r
         native{"knda"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index 31be31e..0922b58 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kn_IN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ebd85d8..52251f8 100644 (file)
@@ -207,7 +207,7 @@ ko{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             availableFormats{\r
index 7ebae34..e5b4dc6 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ko_KP{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7cad904..00d8ba6 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ko_KR{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a7d015f..3c4a5f2 100644 (file)
@@ -36,6 +36,7 @@ kok{
         }\r
         latn{\r
             miscPatterns{\r
+                approximately{"~{0}"}\r
                 atLeast{"{0}+"}\r
                 atMost{"≤{0}"}\r
                 range{"{0}–{1}"}\r
@@ -189,7 +190,7 @@ kok{
         minimumGroupingDigits{"1"}\r
         native{"deva"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -432,10 +433,10 @@ kok{
                 ms{"mm:ss"}\r
                 y{"y"}\r
                 yM{"y-MM"}\r
-                yMEd{"y-MM-dd, E"}\r
+                yMEd{"d-M-y, E"}\r
                 yMMM{"y MMM"}\r
                 yMMMEd{"y MMM d, E"}\r
-                yMMMM{"y MMMM"}\r
+                yMMMM{"MMMM, y"}\r
                 yMMMd{"y MMM d"}\r
                 yMd{"y-MM-dd"}\r
                 yQQQ{"y QQQ"}\r
@@ -451,7 +452,7 @@ kok{
                         "सोमार",\r
                         "मंगळार",\r
                         "बुधवार",\r
-                        "à¤\97à¥\81रà¥\81वार",\r
+                        "बिरà¥\87सà¥\8dतार",\r
                         "शुक्रार",\r
                         "शेनवार",\r
                     }\r
@@ -460,7 +461,7 @@ kok{
                         "सो",\r
                         "मं",\r
                         "बु",\r
-                        "à¤\97à¥\81",\r
+                        "बि",\r
                         "शु",\r
                         "शे",\r
                     }\r
@@ -469,7 +470,7 @@ kok{
                         "सोम",\r
                         "मंगळ",\r
                         "बुध",\r
-                        "à¤\97à¥\81रà¥\81",\r
+                        "बिरà¥\87",\r
                         "शुक्र",\r
                         "शेन",\r
                     }\r
@@ -478,7 +479,7 @@ kok{
                         "सोमार",\r
                         "मंगळार",\r
                         "बुधवार",\r
-                        "à¤\97à¥\81रà¥\81वार",\r
+                        "बिरà¥\87सà¥\8dतार",\r
                         "शुक्रार",\r
                         "शेनवार",\r
                     }\r
@@ -489,7 +490,7 @@ kok{
                         "सोमार",\r
                         "मंगळार",\r
                         "बुधवार",\r
-                        "à¤\97à¥\81रà¥\81वार",\r
+                        "बिरà¥\87सà¥\8dतार",\r
                         "शुक्रार",\r
                         "शेनवार",\r
                     }\r
@@ -498,7 +499,7 @@ kok{
                         "सो",\r
                         "मं",\r
                         "बु",\r
-                        "à¤\97à¥\81",\r
+                        "ब",\r
                         "शु",\r
                         "शे",\r
                     }\r
@@ -507,7 +508,7 @@ kok{
                         "सोम",\r
                         "मंगळ",\r
                         "बुध",\r
-                        "à¤\97à¥\81रà¥\81",\r
+                        "बिरà¥\87",\r
                         "शुक्र",\r
                         "शेन",\r
                     }\r
@@ -516,7 +517,7 @@ kok{
                         "सोमार",\r
                         "मंगळार",\r
                         "बुधवार",\r
-                        "à¤\97à¥\81रà¥\81वार",\r
+                        "बिरà¥\87सà¥\8dतार",\r
                         "शुक्रार",\r
                         "शेनवार",\r
                     }\r
@@ -707,8 +708,8 @@ kok{
                         "एप्रिल",\r
                         "मे",\r
                         "जून",\r
-                        "à¤\9cà¥\81लाय",\r
-                        "à¤\86à¤\97à¥\8bसà¥\8dत",\r
+                        "जुलय",\r
+                        "à¤\91à¤\97सà¥\8dà¤\9f",\r
                         "सप्टेंबर",\r
                         "ऑक्टोबर",\r
                         "नोव्हेंबर",\r
@@ -735,8 +736,8 @@ kok{
                         "एप्रिल",\r
                         "मे",\r
                         "जून",\r
-                        "à¤\9cà¥\81लाय",\r
-                        "à¤\86à¤\97à¥\8bसà¥\8dत",\r
+                        "जुलय",\r
+                        "à¤\91à¤\97सà¥\8dà¤\9f",\r
                         "सप्टेंबर",\r
                         "ऑक्टोबर",\r
                         "नोव्हेंबर",\r
@@ -745,18 +746,18 @@ kok{
                 }\r
                 stand-alone{\r
                     abbreviated{\r
-                        "जानेवारी",\r
-                        "फेब्रुवारी",\r
+                        "जाने",\r
+                        "फेब्रु",\r
                         "मार्च",\r
-                        "à¤\8fपà¥\8dरिल",\r
+                        "à¤\8fपà¥\8dरà¥\80",\r
                         "मे",\r
                         "जून",\r
-                        "जुलाय",\r
-                        "à¤\86à¤\97à¥\8bसà¥\8dत",\r
-                        "सप्टेंबर",\r
-                        "ऑक्टोबर",\r
-                        "नोव्हेंबर",\r
-                        "डिसेंबर",\r
+                        "जुल",\r
+                        "à¤\91à¤\97",\r
+                        "सप्टें",\r
+                        "ऑक्टो",\r
+                        "नो",\r
+                        "डिसे",\r
                     }\r
                     narrow{\r
                         "1",\r
@@ -779,8 +780,8 @@ kok{
                         "एप्रिल",\r
                         "मे",\r
                         "जून",\r
-                        "à¤\9cà¥\81लाय",\r
-                        "à¤\86à¤\97à¥\8bसà¥\8dत",\r
+                        "जुलय",\r
+                        "à¤\91à¤\97सà¥\8dà¤\9f",\r
                         "सप्टेंबर",\r
                         "ऑक्टोबर",\r
                         "नोव्हेंबर",\r
@@ -810,24 +811,12 @@ kok{
                     }\r
                 }\r
                 stand-alone{\r
-                    abbreviated{\r
-                        "Q1",\r
-                        "Q2",\r
-                        "Q3",\r
-                        "Q4",\r
-                    }\r
                     narrow{\r
                         "1",\r
                         "2",\r
                         "3",\r
                         "4",\r
                     }\r
-                    wide{\r
-                        "1लें त्रैमासीक",\r
-                        "2रें त्रैमासीक",\r
-                        "3रें त्रैमासीक",\r
-                        "4थें त्रैमासीक",\r
-                    }\r
                 }\r
             }\r
         }\r
@@ -853,6 +842,7 @@ kok{
         downwards_arrows{"सकयल दर्शोवपी बाण"}\r
         downwards_upwards_arrows{"सकयल वयर दर्शोवपी बाण"}\r
         east_asian_scripts{"उदेंत आशियाई लिपी"}\r
+        emoji{"इमोजी"}\r
         european_scripts{"युरोपियन लिपी"}\r
         female{"बायल"}\r
         flag{"बावटो"}\r
@@ -887,11 +877,11 @@ kok{
         modifier{"मॉडिफायर"}\r
         musical_symbols{"संगिताचें चिन्न"}\r
         nature{"सैम"}\r
-        nonspacing{"सुवातना"}\r
+        nonspacing{"सुवात ना"}\r
         numbers{"आंकडे"}\r
         objects{"ऑब्जॅक्ट"}\r
         other{"हेर"}\r
-        paired{"जोडी लायिल्लें"}\r
+        paired{"जोडी"}\r
         person{"व्यक्ती"}\r
         phonetic_alphabet{"फोनेटिक अक्षर"}\r
         pictographs{"पिक्टोग्राफ"}\r
@@ -903,20 +893,20 @@ kok{
         small_form_variant{"ल्हान वेरीयंट"}\r
         smiley{"स्मायली"}\r
         smileys_people{"स्मायली वा व्यक्ती"}\r
-        south_asian_scripts{"दà¤\95à¥\8dषिण à¤\86शियाà¤\88 लिपी"}\r
+        south_asian_scripts{"दà¤\95à¥\8dषà¥\80ण à¤\86शियायà¥\80 लिपी"}\r
         southeast_asian_scripts{"आग्नेय आशियाई लिपी"}\r
         spacing{"सुवात घेवप"}\r
-        sport{"à¤\95à¥\8dरिडा"}\r
-        symbols{"à¤\95à¥\81रà¥\82"}\r
-        technical_symbols{"ताà¤\82तà¥\8dरिà¤\95 à¤\95à¥\81रà¥\82"}\r
+        sport{"à¤\96à¥\87ळ"}\r
+        symbols{"à¤\9aिनà¥\8dन"}\r
+        technical_symbols{"ताà¤\82तà¥\8dरà¥\80à¤\95 à¤\9aिनà¥\8dन"}\r
         tone_marks{"स्वर खूण"}\r
-        travel{"भà¥\8bà¤\82वडà¥\80"}\r
-        travel_places{"भà¥\8bà¤\82वडà¥\80 à¤µà¤¾ à¤¸à¥\81वात"}\r
+        travel{"पà¥\8dरवास"}\r
+        travel_places{"पà¥\8dरवास à¤µà¤¾ à¤ à¤¿à¤\95ाण"}\r
         upwards_arrows{"वयर दर्शोवपी बाण"}\r
         variant_forms{"वेरीयंट"}\r
         vocalic_jamo{"स्वरयुक्त जामो"}\r
         weather{"हवामान"}\r
-        western_asian_scripts{"à¤\85सà¥\8dतà¤\82त à¤\86शियाà¤\88 लिपी"}\r
+        western_asian_scripts{"पशà¥\8dà¤\9aिमà¥\80 à¤\86शियायà¥\80 लिपी"}\r
         whitespace{"धवीसुवात"}\r
     }\r
     delimiters{\r
@@ -1289,7 +1279,6 @@ kok{
             }\r
         }\r
         second-narrow{\r
-            dn{"सेकंद"}\r
             relativeTime{\r
                 future{\r
                     other{"{0} सेकंदानीं"}\r
@@ -1624,6 +1613,9 @@ kok{
             middle{"{0}, {1}"}\r
             start{"{0}, {1}"}\r
         }\r
+        standard-narrow{\r
+            2{"{0}, {1}"}\r
+        }\r
         standard-short{\r
             2{"{0} & {1}"}\r
         }\r
index a71e881..aec4d01 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kok_IN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 24b5ea4..5730d9c 100644 (file)
@@ -36,7 +36,7 @@ ks{
         }\r
         native{"arabext"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
diff --git a/source/data/locales/ks_Arab.txt b/source/data/locales/ks_Arab.txt
new file mode 100644 (file)
index 0000000..644b1f8
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ks_Arab{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/locales/ks_Arab_IN.txt b/source/data/locales/ks_Arab_IN.txt
new file mode 100644 (file)
index 0000000..8f4e058
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ks_Arab_IN{\r
+    Version{"37"}\r
+}\r
index e383ede..acd2193 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ks_IN{\r
-    Version{"36.1"}\r
+    "%%ALIAS"{"ks_Arab_IN"}\r
 }\r
index 1921689..e15dfa6 100644 (file)
@@ -11,7 +11,7 @@ ksb{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 5c80b40..11cbc5a 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ksb_TZ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index efa5fb9..7831ec1 100644 (file)
@@ -20,7 +20,7 @@ ksf{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index c53d16c..1632760 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ksf_CM{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9f68957..9426a8e 100644 (file)
@@ -161,7 +161,7 @@ ksh{
         }\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index 43241fb..ee488a8 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ksh_DE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 832c39e..3371382 100644 (file)
@@ -50,7 +50,7 @@ ku{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -165,10 +165,6 @@ ku{
                     "BZ",\r
                     "PZ",\r
                 }\r
-                abbreviated%variant{\r
-                    "BZ",\r
-                    "PZ",\r
-                }\r
                 wide{\r
                     "berî zayînê",\r
                     "piştî zayînê",\r
index e074534..ea62adb 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ku_TR{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 95c4553..ef92be4 100644 (file)
@@ -9,7 +9,7 @@ kw{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index c7ac74c..d765d4c 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kw_GB{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 355319b..491e1e3 100644 (file)
@@ -214,7 +214,7 @@ ky{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -593,10 +593,6 @@ ky{
                     "б.з.ч.",\r
                     "б.з.",\r
                 }\r
-                abbreviated%variant{\r
-                    "б.з.ч.",\r
-                    "б.з.",\r
-                }\r
                 wide{\r
                     "биздин заманга чейин",\r
                     "биздин заман",\r
index fbf9f3f..a75bda1 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ky_KG{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f344c63..80e7e50 100644 (file)
@@ -3,7 +3,7 @@
 lag{\r
     ExemplarCharacters{"[a á b c d e é f g h i í ɨ j k l m n o ó p q r s t u ú ʉ v w x y z]"}\r
     ExemplarCharactersIndex{"[A B C D E F G H I Ɨ J K L M N O P Q R S T U Ʉ V W X Y Z]"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 9db564f..dc13f41 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lag_TZ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f5c9e82..0913574 100644 (file)
@@ -156,7 +156,7 @@ lb{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index f6e3ebc..12e3ba7 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lb_LU{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1c9cdfb..680235f 100644 (file)
@@ -11,7 +11,7 @@ lg{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 87ef730..5cc66a8 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lg_UG{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d731f79..0ebbbf9 100644 (file)
@@ -9,7 +9,7 @@ lkt{
     ExemplarCharactersIndex{"[A B Č E G Ǧ H Ȟ I K L M N Ŋ O P S Š T U W Y Z Ž]"}\r
     ExemplarCharactersNumbers{"[\\- ‑ , . % ‰ + 0 1 2 3 4 5 6 7 8 9]"}\r
     ExemplarCharactersPunctuation{"[\\- ‐ ‑ – — , ; \\: ! ? . \u0022 “ ” ( ) \\[ \\] @ * / \\& #]"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 8399057..392da56 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lkt_US{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4522298..cfcfaf9 100644 (file)
@@ -24,7 +24,7 @@ ln{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 2e4a224..0aa4776 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ln_AO{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8f0cc57..6e4ee33 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ln_CD{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5b5219b..7a5227f 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ln_CF{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5f27d31..8661787 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ln_CG{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 30d9942..7a3cc78 100644 (file)
@@ -263,7 +263,7 @@ lo{
         }\r
         native{"laoo"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         chinese{\r
             DateTimePatterns{\r
@@ -737,6 +737,22 @@ lo{
                     M{"GGGGG M/y – M/y"}\r
                     y{"GGGGG M/y – M/y"}\r
                 }\r
+                GyMEd{\r
+                    G{"E, d/M GGGGG y – E, d/M GGGGG y"}\r
+                    M{"E, d/M GGGGG y – E, d/M GGGGG y"}\r
+                    d{"E, d/M GGGGG y – E, d/M GGGGG y"}\r
+                }\r
+                GyMMMEd{\r
+                    G{"E, d MMM G y – E, d MMM G y"}\r
+                    M{"E, d MMM – E, d MMM G y"}\r
+                    d{"E, d MMM – E, d MMM G y"}\r
+                    y{"E, d MMM G y – E, d MMM G y"}\r
+                }\r
+                GyMMMd{\r
+                    G{"d MMM G y– d MMM G y"}\r
+                    M{"d MMM – d MMM G y"}\r
+                    y{"d MMM G y– d MMM G y"}\r
+                }\r
                 GyMd{\r
                     G{"GGGGG d/M/y – GGGGG d/M/y"}\r
                     M{"GGGGG d/M/y – d/M/y"}\r
index f05c654..50efa21 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lo_LA{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 114bdd0..6100677 100644 (file)
@@ -36,7 +36,7 @@ lrc{
         }\r
         native{"arabext"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         default{"persian"}\r
         generic{\r
@@ -148,10 +148,6 @@ lrc{
                     "BCE",\r
                     "CE",\r
                 }\r
-                abbreviated%variant{\r
-                    "BCE",\r
-                    "CE",\r
-                }\r
             }\r
             intervalFormats{\r
                 fallback{"{0} – {1}"}\r
index ddfef26..64eff83 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lrc_IQ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         default{"gregorian"}\r
         gregorian{\r
index c31fbaa..3ff665c 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lrc_IR{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b1638f4..bef2602 100644 (file)
@@ -292,7 +292,7 @@ lt{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index 39a98e1..0fb417d 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lt_LT{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2597683..cd9f9fc 100644 (file)
@@ -20,7 +20,7 @@ lu{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index bb7273a..77b28ec 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lu_CD{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0c4a0d2..3aeb4d9 100644 (file)
@@ -11,7 +11,7 @@ luo{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 0f346d4..21f089a 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 luo_KE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 55ce069..54b1c05 100644 (file)
@@ -10,7 +10,7 @@ luy{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index db6ba55..28440b7 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 luy_KE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4f94b7c..ea72f65 100644 (file)
@@ -251,7 +251,7 @@ lv{
         minimumGroupingDigits{"2"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
@@ -803,10 +803,6 @@ lv{
                     "p.m.ē.",\r
                     "m.ē.",\r
                 }\r
-                abbreviated%variant{\r
-                    "p.m.ē.",\r
-                    "m.ē.",\r
-                }\r
                 narrow{\r
                     "p.m.ē.",\r
                     "m.ē.",\r
index 2bc51e2..dcf1501 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lv_LV{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/locales/mai.txt b/source/data/locales/mai.txt
new file mode 100644 (file)
index 0000000..a46fe87
--- /dev/null
@@ -0,0 +1,396 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+mai{\r
+    AuxExemplarCharacters{"[अ {अ\u0902} {अः} आ इ ई उ ऊ ऋ ऌ ॡ ए ऐ ओ औ]"}\r
+    ExemplarCharacters{\r
+        "[\u093C \u0902 ः क {क\u094Dष} ख ग घ च छ ज {ज\u094Dञ} झ ञ ट ठ ड {ड\u0902} ढ ण"\r
+        " त {त\u094Dर} थ द ध न प फ ब भ म य र ल व श {श\u094Dर} ष स ह ा ि ी \u0941 "\r
+        "\u0942 \u0947 \u0948 ो ौ]"\r
+    }\r
+    ExemplarCharactersIndex{\r
+        "[\u093C अ {अ\u0902} {अः} आ इ ई उ ऊ ऋ ऌ ॡ ए ऐ ओ औ क {क\u094Dष} ख ग घ च छ ज {ज"\r
+        "\u094Dञ} झ ञ ट ठ ड {ड\u0902} ढ ण त {त\u094Dर} थ द ध न प फ ब भ म य र ल व श {श"\r
+        "\u094Dर} ष स ह]"\r
+    }\r
+    ExemplarCharactersPunctuation{\r
+        "[_ \\- ‑ – — , ; \\: ! ? . … ' ‘ ’ \u0022 “ ” ( ) \\[ \\] \\{ \\} § @ * / "\r
+        "\\\\ \\& # ′ ″ ` + | ~]"\r
+    }\r
+    NumberElements{\r
+        latn{\r
+            patterns{\r
+                scientificFormat{"[#E0]"}\r
+            }\r
+        }\r
+        native{"deva"}\r
+    }\r
+    Version{"37"}\r
+    calendar{\r
+        generic{\r
+            DateTimePatterns{\r
+                "h:mm:ss a zzzz",\r
+                "h:mm:ss a z",\r
+                "h:mm:ss a",\r
+                "h:mm a",\r
+                "G EEEE, d MMMM y",\r
+                "G d MMMM y",\r
+                "G d MMM y",\r
+                "G d/M/y",\r
+                "{1}, {0}",\r
+                "{1} के {0}",\r
+                "{1} के {0}",\r
+                "{1}, {0}",\r
+                "{1}, {0}",\r
+            }\r
+        }\r
+        gregorian{\r
+            AmPmMarkers{\r
+                "am",\r
+                "pm",\r
+            }\r
+            DateTimePatterns{\r
+                "h:mm:ss a zzzz",\r
+                "h:mm:ss a z",\r
+                "h:mm:ss a",\r
+                "h:mm a",\r
+                "EEEE, d MMMM y",\r
+                "d MMMM y",\r
+                "d MMM y",\r
+                "d/M/yy",\r
+                "{1}, {0}",\r
+                "{1} के {0}",\r
+                "{1} के {0}",\r
+                "{1}, {0}",\r
+                "{1}, {0}",\r
+            }\r
+            availableFormats{\r
+                Bh{"B h"}\r
+                Bhm{"B h:mm"}\r
+                Bhms{"B h:mm:ss"}\r
+                EBhm{"E B h:mm"}\r
+                EBhms{"E B h:mm:ss"}\r
+                Ed{"E d"}\r
+                Gy{"y G"}\r
+                GyMMM{"MMM G y"}\r
+                GyMMMEd{"E, d MMM y G"}\r
+                GyMMMd{"d MMM y G"}\r
+                MEd{"E, d/M"}\r
+                MMMEd{"E, d MMM"}\r
+                MMMMd{"d MMMM"}\r
+                MMMd{"d MMM"}\r
+                Md{"d/M"}\r
+                yM{"M/y"}\r
+                yMEd{"E, d/M/y"}\r
+                yMMM{"MMM y"}\r
+                yMMMEd{"E, d MMM y"}\r
+                yMMMM{"MMMM y"}\r
+                yMMMd{"d MMM y"}\r
+                yMd{"d/M/y"}\r
+                yQQQ{"QQQ y"}\r
+                yQQQQ{"QQQQ y"}\r
+            }\r
+            dayNames{\r
+                format{\r
+                    abbreviated{\r
+                        "रवि",\r
+                        "सोम",\r
+                        "मंगल",\r
+                        "बुध",\r
+                        "गुरु",\r
+                        "शुक्र",\r
+                        "शनि",\r
+                    }\r
+                    narrow{\r
+                        "र",\r
+                        "सो",\r
+                        "मं",\r
+                        "बु",\r
+                        "गु",\r
+                        "शु",\r
+                        "श",\r
+                    }\r
+                    wide{\r
+                        "रविवार",\r
+                        "सोमवार",\r
+                        "मंगलवार",\r
+                        "बुधवार",\r
+                        "गुरुवार",\r
+                        "शुक्रवार",\r
+                        "शनिवार",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    abbreviated{\r
+                        "रवि",\r
+                        "सोम",\r
+                        "मंगल",\r
+                        "बुध",\r
+                        "गुरु",\r
+                        "शुक्र",\r
+                        "शनि",\r
+                    }\r
+                    narrow{\r
+                        "र",\r
+                        "सो",\r
+                        "मं",\r
+                        "बु",\r
+                        "गु",\r
+                        "शु",\r
+                        "श",\r
+                    }\r
+                    wide{\r
+                        "रविवार",\r
+                        "सोमवार",\r
+                        "मंगलवार",\r
+                        "बुधवार",\r
+                        "गुरुवार",\r
+                        "शुक्रवार",\r
+                        "शनिवार",\r
+                    }\r
+                }\r
+            }\r
+            eras{\r
+                abbreviated{\r
+                    "ईसा-पूर्व",\r
+                    "ईस्वी",\r
+                }\r
+                abbreviated%variant{\r
+                    "ईसवी पूर्व",\r
+                    "ईसवी",\r
+                }\r
+            }\r
+            monthNames{\r
+                format{\r
+                    abbreviated{\r
+                        "जन॰",\r
+                        "फ़र॰",\r
+                        "मार्च",\r
+                        "अप्रैल",\r
+                        "मई",\r
+                        "जून",\r
+                        "जुल॰",\r
+                        "अग॰",\r
+                        "सित॰",\r
+                        "अक्तू॰",\r
+                        "नव॰",\r
+                        "दिस॰",\r
+                    }\r
+                    narrow{\r
+                        "ज",\r
+                        "फ़",\r
+                        "मा",\r
+                        "अ",\r
+                        "म",\r
+                        "जू",\r
+                        "जु",\r
+                        "अ",\r
+                        "सि",\r
+                        "अ",\r
+                        "न",\r
+                        "दि",\r
+                    }\r
+                    wide{\r
+                        "जनवरी",\r
+                        "फ़रवरी",\r
+                        "मार्च",\r
+                        "अप्रैल",\r
+                        "मई",\r
+                        "जून",\r
+                        "जुलाई",\r
+                        "अगस्त",\r
+                        "सितंबर",\r
+                        "अक्तूबर",\r
+                        "नवंबर",\r
+                        "दिसंबर",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    abbreviated{\r
+                        "जन॰",\r
+                        "फ़र॰",\r
+                        "मार्च",\r
+                        "अप्रैल",\r
+                        "मई",\r
+                        "जून",\r
+                        "जुल॰",\r
+                        "अग॰",\r
+                        "सित॰",\r
+                        "अक्तू॰",\r
+                        "नव॰",\r
+                        "दिस॰",\r
+                    }\r
+                    narrow{\r
+                        "ज",\r
+                        "फ़",\r
+                        "मा",\r
+                        "अ",\r
+                        "म",\r
+                        "जू",\r
+                        "जु",\r
+                        "अ",\r
+                        "सि",\r
+                        "अ",\r
+                        "न",\r
+                        "दि",\r
+                    }\r
+                    wide{\r
+                        "जनवरी",\r
+                        "फ़रवरी",\r
+                        "मार्च",\r
+                        "अप्रैल",\r
+                        "मई",\r
+                        "जून",\r
+                        "जुलाई",\r
+                        "अगस्त",\r
+                        "सितंबर",\r
+                        "अक्तूबर",\r
+                        "नवंबर",\r
+                        "दिसंबर",\r
+                    }\r
+                }\r
+            }\r
+            quarters{\r
+                format{\r
+                    abbreviated{\r
+                        "ति1",\r
+                        "ति2",\r
+                        "ति3",\r
+                        "ति4",\r
+                    }\r
+                    wide{\r
+                        "पहली तिमाही",\r
+                        "दूसरी तिमाही",\r
+                        "तीसरी तिमाही",\r
+                        "चौथी तिमाही",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    abbreviated{\r
+                        "ति1",\r
+                        "ति2",\r
+                        "ति3",\r
+                        "ति4",\r
+                    }\r
+                    wide{\r
+                        "पहली तिमाही",\r
+                        "दूसरी तिमाही",\r
+                        "तीसरी तिमाही",\r
+                        "चौथी तिमाही",\r
+                    }\r
+                }\r
+            }\r
+        }\r
+    }\r
+    fields{\r
+        day{\r
+            dn{"दिन"}\r
+            relative{\r
+                "-1"{"काइल के दिन"}\r
+                "0"{"आजुक दिन"}\r
+                "1"{"काइल के दिन"}\r
+            }\r
+        }\r
+        day-narrow{\r
+            dn{"दिन"}\r
+            relative{\r
+                "-1"{"बीतल काइल के दिन"}\r
+                "0"{"आइ के दिन"}\r
+                "1"{"आवय वाला काइल के दिन"}\r
+            }\r
+        }\r
+        day-short{\r
+            dn{"दिन"}\r
+            relative{\r
+                "-1"{"बीतल काइल"}\r
+                "0"{"आइ"}\r
+                "1"{"आवय वाला काइल"}\r
+            }\r
+        }\r
+        dayperiod{\r
+            dn{"पूर्वाह्न/अपराह्न"}\r
+        }\r
+        era{\r
+            dn{"युग"}\r
+        }\r
+        hour{\r
+            dn{"घंटा"}\r
+        }\r
+        hour-narrow{\r
+            dn{"घं॰"}\r
+        }\r
+        hour-short{\r
+            dn{"घं॰"}\r
+        }\r
+        minute{\r
+            dn{"मिनट"}\r
+        }\r
+        minute-narrow{\r
+            dn{"मि॰"}\r
+        }\r
+        minute-short{\r
+            dn{"मि॰"}\r
+        }\r
+        month{\r
+            dn{"महीना"}\r
+        }\r
+        month-narrow{\r
+            dn{"मास"}\r
+        }\r
+        month-short{\r
+            dn{"मास"}\r
+        }\r
+        quarter{\r
+            dn{"तिमाही"}\r
+        }\r
+        quarter-narrow{\r
+            dn{"तिमाही"}\r
+        }\r
+        quarter-short{\r
+            dn{"तिमाही"}\r
+        }\r
+        second{\r
+            dn{"सेकंड"}\r
+        }\r
+        second-narrow{\r
+            dn{"से॰"}\r
+        }\r
+        second-short{\r
+            dn{"से॰"}\r
+        }\r
+        week{\r
+            dn{"सप्ताह"}\r
+        }\r
+        week-narrow{\r
+            dn{"सप्ताह"}\r
+        }\r
+        week-short{\r
+            dn{"सप्ताह"}\r
+        }\r
+        weekday{\r
+            dn{"सप्ताह के दिन"}\r
+        }\r
+        year{\r
+            dn{"वर्ष"}\r
+        }\r
+        year-narrow{\r
+            dn{"वर्ष"}\r
+        }\r
+        year-short{\r
+            dn{"वर्ष"}\r
+        }\r
+        zone{\r
+            dn{"समय क्षेत्र"}\r
+        }\r
+    }\r
+    listPattern{\r
+        standard{\r
+            2{"{0} और {1}"}\r
+            end{"{0}, और {1}"}\r
+        }\r
+    }\r
+    measurementSystemNames{\r
+        UK{"यूके"}\r
+        US{"यूएस"}\r
+        metric{"मीट्रिक"}\r
+    }\r
+}\r
diff --git a/source/data/locales/mai_IN.txt b/source/data/locales/mai_IN.txt
new file mode 100644 (file)
index 0000000..be3223a
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+mai_IN{\r
+    Version{"37"}\r
+}\r
index cc0316e..ab56cd2 100644 (file)
@@ -15,7 +15,7 @@ mas{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index f7f51c4..32fcf9b 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mas_KE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 48be92d..6ca2bb3 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mas_TZ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7691241..dc3dd8b 100644 (file)
@@ -11,7 +11,7 @@ mer{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index d64332b..75f52f4 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mer_KE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 433d417..3b4582f 100644 (file)
@@ -11,7 +11,7 @@ mfe{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 6366b63..3057d6c 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mfe_MU{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 28bfca1..1bb7320 100644 (file)
@@ -33,7 +33,7 @@ mg{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 385cb1d..f28583b 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mg_MG{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 155e6be..b6cbcbb 100644 (file)
@@ -13,7 +13,7 @@ mgh{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index b2de0e9..58a2d50 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mgh_MZ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7070ef7..f591d95 100644 (file)
@@ -39,7 +39,7 @@ mgo{
         }\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 482767a..e304e79 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mgo_CM{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b6ead7d..e65b6d6 100644 (file)
@@ -149,7 +149,7 @@ mi{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -402,10 +402,6 @@ mi{
                     "BCE",\r
                     "CE",\r
                 }\r
-                abbreviated%variant{\r
-                    "BCE",\r
-                    "CE",\r
-                }\r
                 wide{\r
                     "BCE",\r
                     "CE",\r
index de3f263..abedd80 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mi_NZ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 157a448..293ccd2 100644 (file)
@@ -214,7 +214,7 @@ mk{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index fd5676b..e836232 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mk_MK{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4846ecd..43e809a 100644 (file)
@@ -241,7 +241,7 @@ ml{
         }\r
         native{"mlym"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index d9fc022..751cea7 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ml_IN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6ef7d1d..dab45d3 100644 (file)
@@ -215,7 +215,7 @@ mn{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 5a310fa..afb896b 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mn_MN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/locales/mni.txt b/source/data/locales/mni.txt
new file mode 100644 (file)
index 0000000..7cd5ede
--- /dev/null
@@ -0,0 +1,352 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+mni{\r
+    AuxExemplarCharacters{"[\u200C\u200D]"}\r
+    ExemplarCharacters{\r
+        "[\u09BC \u0981 ং ঃ অ আ ই ঈ উ ঊ ঋ এ ঐ ও ঔ ক খ গ ঘ ঙ চ ছ জ ঝ ঞ ট ঠ ড {ড\u09BC}"\r
+        " ঢ {ঢ\u09BC} ণ ত থ দ ধ ন প ফ ব ভ ম য {য\u09BC} র ল ৱ শ ষ স হ া ি ী \u09C1 "\r
+        "\u09C2 \u09C3 ে ৈ ো ৌ \u09CD]"\r
+    }\r
+    ExemplarCharactersNumbers{"[\\- ‑ , . % ‰ + 0০ 1১ 2২ 3৩ 4৪ 5৫ 6৬ 7৭ 8৮ 9৯]"}\r
+    ExemplarCharactersPunctuation{\r
+        "[\\- ‐ ‑ – — , ; \\: ! ? . … ' ‘ ’ \u0022 “ ” ( ) \\[ \\] § @ * / \\& # † ‡ "\r
+        "′ ″]"\r
+    }\r
+    NumberElements{\r
+        default{"beng"}\r
+        latn{\r
+            symbols{\r
+                decimal{"."}\r
+                group{","}\r
+                minusSign{"-"}\r
+                percentSign{"%"}\r
+                plusSign{"+"}\r
+            }\r
+        }\r
+    }\r
+    Version{"37"}\r
+    calendar{\r
+        generic{\r
+            DateTimePatterns{\r
+                "h:mm:ss a zzzz",\r
+                "h:mm:ss a z",\r
+                "h:mm:ss a",\r
+                "h:mm a",\r
+                "MMMM d, y G, EEEE",\r
+                "MMMM d, y G",\r
+                "MMM d, y G",\r
+                "M/d/y GGGGG",\r
+                "{1} {0}",\r
+                "{1} গী {0} দা",\r
+                "{1} গী {0} দা",\r
+                "{1} {0}",\r
+                "{1}, {0}",\r
+            }\r
+            intervalFormats{\r
+                fallback{"{0} - {1}"}\r
+            }\r
+        }\r
+        gregorian{\r
+            AmPmMarkers{\r
+                "এ এম",\r
+                "পি এম",\r
+            }\r
+            AmPmMarkersAbbr{\r
+                "নুমাং",\r
+                "PM",\r
+            }\r
+            DateTimePatterns{\r
+                "h:mm:ss a zzzz",\r
+                "h:mm:ss a z",\r
+                "h:mm:ss a",\r
+                "h:mm a",\r
+                "MMMM d, y, EEEE",\r
+                "MMMM d, y",\r
+                "MMM d, y",\r
+                "d/M/yy",\r
+                "{1}, {0}",\r
+                "{1} গী {0} দা",\r
+                "{1} গী {0} দা",\r
+                "{1}, {0}",\r
+                "{1}, {0}",\r
+            }\r
+            availableFormats{\r
+                GyMMM{"G y MMM"}\r
+                GyMMMEd{"G y MMM d, E"}\r
+                GyMMMd{"G y MMM d"}\r
+                MEd{"d/M, E"}\r
+                MMMEd{"MMM d, E"}\r
+                MMMMd{"MMMM d"}\r
+                MMMd{"MMM d"}\r
+                Md{"d/M"}\r
+                yM{"M/y"}\r
+                yMEd{"d/M/y, E"}\r
+                yMMM{"MMM y"}\r
+                yMMMEd{"MMM d, y, E"}\r
+                yMMMM{"MMMM y"}\r
+                yMMMd{"MMM d, y"}\r
+                yMd{"d/M/y"}\r
+                yQQQ{"y QQQ"}\r
+            }\r
+            dayNames{\r
+                format{\r
+                    abbreviated{\r
+                        "নোংমাইজিং",\r
+                        "নিংথৌকাবা",\r
+                        "লৈবাকপোকপা",\r
+                        "য়ুমশকৈশা",\r
+                        "শগোলশেন",\r
+                        "ইরাই",\r
+                        "থাংজ",\r
+                    }\r
+                    narrow{\r
+                        "নো",\r
+                        "নিং",\r
+                        "লৈ",\r
+                        "য়ুম",\r
+                        "শগ",\r
+                        "ইরা",\r
+                        "থাং",\r
+                    }\r
+                    wide{\r
+                        "নোংমাইজিং",\r
+                        "নিংথৌকাবা",\r
+                        "লৈবাকপোকপা",\r
+                        "য়ুমশকৈশা",\r
+                        "শগোলশেন",\r
+                        "ইরাই",\r
+                        "থাংজ",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    abbreviated{\r
+                        "নোংমাইজিং",\r
+                        "নিংথৌকাবা",\r
+                        "লৈবাকপোকপা",\r
+                        "য়ুমশকৈশা",\r
+                        "শগোলশেন",\r
+                        "ইরাই",\r
+                        "থাংজ",\r
+                    }\r
+                    narrow{\r
+                        "নো",\r
+                        "নিং",\r
+                        "লৈ",\r
+                        "য়ুম",\r
+                        "শগ",\r
+                        "ইরা",\r
+                        "থাং",\r
+                    }\r
+                    wide{\r
+                        "নোংমাইজিং",\r
+                        "নিংথৌকাবা",\r
+                        "লৈবাকপোকপা",\r
+                        "য়ুমশকৈশা",\r
+                        "শগোলশেন",\r
+                        "ইরাই",\r
+                        "থাংজ",\r
+                    }\r
+                }\r
+            }\r
+            eras{\r
+                abbreviated{\r
+                    "খৃ: মমাং",\r
+                    "খৃ: মতুং",\r
+                }\r
+                abbreviated%variant{\r
+                    "বি সি ই",\r
+                    "সি ই",\r
+                }\r
+            }\r
+            monthNames{\r
+                format{\r
+                    abbreviated{\r
+                        "জানুৱারি",\r
+                        "ফেব্রুৱারি",\r
+                        "মার্চ",\r
+                        "এপ্রিল",\r
+                        "মে",\r
+                        "জুন",\r
+                        "জুলাই",\r
+                        "আগস্ট",\r
+                        "সেপ্টেম্বর",\r
+                        "ওক্টোবর",\r
+                        "নভেম্বর",\r
+                        "ডিসেম্বর",\r
+                    }\r
+                    narrow{\r
+                        "জা",\r
+                        "ফে",\r
+                        "মার",\r
+                        "এপ",\r
+                        "মে",\r
+                        "জুন",\r
+                        "জুল",\r
+                        "আ",\r
+                        "সে",\r
+                        "ওক",\r
+                        "নব",\r
+                        "ডি",\r
+                    }\r
+                    wide{\r
+                        "জানুৱারি",\r
+                        "ফেব্রুৱারি",\r
+                        "মার্চ",\r
+                        "এপ্রিল",\r
+                        "মে",\r
+                        "জুন",\r
+                        "জুলাই",\r
+                        "আগস্ট",\r
+                        "সেপ্টেম্বর",\r
+                        "ওক্টোবর",\r
+                        "নভেম্বর",\r
+                        "ডিসেম্বর",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    abbreviated{\r
+                        "জানু",\r
+                        "ফেব্রু",\r
+                        "মার",\r
+                        "এপ্রি",\r
+                        "মে",\r
+                        "জুন",\r
+                        "জুলা",\r
+                        "আগ",\r
+                        "সেপ্ট",\r
+                        "ওক্টো",\r
+                        "নভে",\r
+                        "ডিসে",\r
+                    }\r
+                    narrow{\r
+                        "জা",\r
+                        "ফে",\r
+                        "মার",\r
+                        "এপ",\r
+                        "মে",\r
+                        "জুন",\r
+                        "জুল",\r
+                        "আ",\r
+                        "সে",\r
+                        "ও",\r
+                        "নব",\r
+                        "ডি",\r
+                    }\r
+                    wide{\r
+                        "জানুৱারি",\r
+                        "ফেব্রুৱারি",\r
+                        "মার্চ",\r
+                        "এপ্রিল",\r
+                        "মে",\r
+                        "জুন",\r
+                        "জুলাই",\r
+                        "আগস্ট",\r
+                        "সেপ্টেম্বর",\r
+                        "ওক্টোবর",\r
+                        "নভেম্বর",\r
+                        "ডিসেম্বর",\r
+                    }\r
+                }\r
+            }\r
+            quarters{\r
+                format{\r
+                    abbreviated{\r
+                        "অহানবা মসুং",\r
+                        "অনীশুবা মসুং",\r
+                        "অহুমশুবা মসুং",\r
+                        "মরীশুবা মসুং",\r
+                    }\r
+                    wide{\r
+                        "অহানবা মসুং",\r
+                        "অনীশুবা মসুং",\r
+                        "অহুমশুবা মসুং",\r
+                        "মরীশুবা মসুং",\r
+                    }\r
+                }\r
+            }\r
+        }\r
+    }\r
+    fields{\r
+        day{\r
+            dn{"নুমিৎ"}\r
+            relative{\r
+                "-1"{"ঙরাং"}\r
+                "0"{"ঙসি"}\r
+                "1"{"হয়েং"}\r
+            }\r
+        }\r
+        day-narrow{\r
+            dn{"নুমিৎ"}\r
+            relative{\r
+                "-1"{"ঙরাং"}\r
+                "0"{"ঙসি"}\r
+                "1"{"হয়েং"}\r
+            }\r
+        }\r
+        day-short{\r
+            relative{\r
+                "-1"{"ঙরাং"}\r
+                "0"{"ঙসি"}\r
+                "1"{"হয়েং"}\r
+            }\r
+        }\r
+        dayperiod{\r
+            dn{"এ এম/পি এম"}\r
+        }\r
+        era{\r
+            dn{"চক"}\r
+        }\r
+        hour{\r
+            dn{"পুং"}\r
+        }\r
+        minute{\r
+            dn{"মিনট"}\r
+        }\r
+        minute-narrow{\r
+            dn{"মিনট"}\r
+        }\r
+        minute-short{\r
+            dn{"মিনট"}\r
+        }\r
+        month{\r
+            dn{"থা"}\r
+        }\r
+        quarter{\r
+            dn{"মসুং"}\r
+        }\r
+        quarter-narrow{\r
+            dn{"মসুং"}\r
+        }\r
+        quarter-short{\r
+            dn{"মসুং"}\r
+        }\r
+        second{\r
+            dn{"সেকেণ্ড"}\r
+        }\r
+        week{\r
+            dn{"চয়োল"}\r
+        }\r
+        weekday{\r
+            dn{"চয়োলগী নুমিৎ"}\r
+        }\r
+        year{\r
+            dn{"চহী"}\r
+        }\r
+        zone{\r
+            dn{"জোন"}\r
+        }\r
+    }\r
+    listPattern{\r
+        standard{\r
+            2{"{0} অমসুং {1}"}\r
+            end{"{0} অমসুং {1}"}\r
+            middle{"{0}, {1}"}\r
+            start{"{0}, {1}"}\r
+        }\r
+    }\r
+    measurementSystemNames{\r
+        UK{"য়ু কে"}\r
+        US{"য়ু এস"}\r
+        metric{"মেত্রিক"}\r
+    }\r
+}\r
diff --git a/source/data/locales/mni_Beng.txt b/source/data/locales/mni_Beng.txt
new file mode 100644 (file)
index 0000000..93f5be2
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+mni_Beng{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/locales/mni_Beng_IN.txt b/source/data/locales/mni_Beng_IN.txt
new file mode 100644 (file)
index 0000000..98563cd
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+mni_Beng_IN{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/locales/mni_IN.txt b/source/data/locales/mni_IN.txt
new file mode 100644 (file)
index 0000000..3fb7691
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+mni_IN{\r
+    "%%ALIAS"{"mni_Beng_IN"}\r
+}\r
index 751c706..6689c28 100644 (file)
@@ -243,7 +243,7 @@ mr{
         minimumGroupingDigits{"1"}\r
         native{"deva"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index f2604f4..0046b53 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mr_IN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 022d441..e4f4095 100644 (file)
@@ -182,7 +182,7 @@ ms{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index 9b45eaa..0c1266e 100644 (file)
@@ -12,7 +12,7 @@ ms_BN{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
diff --git a/source/data/locales/ms_ID.txt b/source/data/locales/ms_ID.txt
new file mode 100644 (file)
index 0000000..07d5ce7
--- /dev/null
@@ -0,0 +1,113 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ms_ID{\r
+    NumberElements{\r
+        latn{\r
+            patterns{\r
+                accountingFormat{"¤#,##0.00"}\r
+            }\r
+            symbols{\r
+                decimal{","}\r
+                group{"."}\r
+                timeSeparator{"."}\r
+            }\r
+        }\r
+    }\r
+    Version{"37"}\r
+    calendar{\r
+        generic{\r
+            DateTimePatterns{\r
+                "HH.mm.ss zzzz",\r
+                "HH.mm.ss z",\r
+                "HH.mm.ss",\r
+                "HH.mm",\r
+                "EEEE, dd MMMM y G",\r
+                "d MMMM y G",\r
+                "d MMM y G",\r
+                "dd/MM/yy GGGGG",\r
+                "{1} {0}",\r
+                "{1} {0}",\r
+                "{1} {0}",\r
+                "{1} {0}",\r
+                "{1} {0}",\r
+            }\r
+        }\r
+        gregorian{\r
+            DateTimePatterns{\r
+                "HH.mm.ss zzzz",\r
+                "HH.mm.ss z",\r
+                "HH.mm.ss",\r
+                "HH.mm",\r
+                "EEEE, dd MMMM y",\r
+                "d MMMM y",\r
+                "d MMM y",\r
+                "dd/MM/yy",\r
+                "{1}, {0}",\r
+                "{1} {0}",\r
+                "{1} {0}",\r
+                "{1}, {0}",\r
+                "{1}, {0}",\r
+            }\r
+            availableFormats{\r
+                Bhm{"h.mm B"}\r
+                Bhms{"h.mm.ss B"}\r
+                EBhm{"E h.mm B"}\r
+                EBhms{"E h.mm.ss B"}\r
+                EHm{"E HH.mm"}\r
+                EHms{"E HH.mm.ss"}\r
+                Ehm{"E h.mm a"}\r
+                Ehms{"E h.mm.ss a"}\r
+                Hm{"HH.mm"}\r
+                Hms{"HH.mm.ss"}\r
+                Hmsv{"HH.mm.ss v"}\r
+                Hmv{"HH.mm v"}\r
+                hm{"h.mm a"}\r
+                hms{"h.mm.ss a"}\r
+                hmsv{"h.mm.ss. a v"}\r
+                hmv{"h.mm a v"}\r
+            }\r
+            intervalFormats{\r
+                Bhm{\r
+                    B{"h.mm B – h.mm B"}\r
+                    h{"h.mm – h.mm B"}\r
+                    m{"h.mm – h.mm B"}\r
+                }\r
+                Hm{\r
+                    H{"HH.mm–HH.mm"}\r
+                    m{"HH.mm–HH.mm"}\r
+                }\r
+                Hmv{\r
+                    H{"HH.mm–HH.mm v"}\r
+                    m{"HH.mm–HH.mm v"}\r
+                }\r
+                hm{\r
+                    a{"h.mm a – h.mm a"}\r
+                    h{"h.mm–h.mm a"}\r
+                    m{"h.mm–h.mm a"}\r
+                }\r
+                hmv{\r
+                    a{"h.mm a – h.mm a v"}\r
+                    h{"h.mm–h.mm a v"}\r
+                    m{"h.mm–h.mm a v"}\r
+                }\r
+            }\r
+        }\r
+        islamic{\r
+            DateTimePatterns{\r
+                "HH.mm.ss zzzz",\r
+                "HH.mm.ss z",\r
+                "HH.mm.ss",\r
+                "HH.mm",\r
+                "EEEE, dd MMMM y G",\r
+                "d MMMM y G",\r
+                "d MMM y G",\r
+                "dd/MM/yy GGGGG",\r
+                "{1} {0}",\r
+                "{1} {0}",\r
+                "{1} {0}",\r
+                "{1} {0}",\r
+                "{1} {0}",\r
+            }\r
+        }\r
+    }\r
+}\r
index 2420ad6..7c834ba 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ms_MY{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0824a17..48ae89a 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ms_SG{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 45d5689..906f24f 100644 (file)
@@ -48,7 +48,7 @@ mt{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 6aac1b1..725ab2d 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mt_MT{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2b0ae48..ce3f147 100644 (file)
@@ -19,7 +19,7 @@ mua{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index a3b5fba..463fb1b 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mua_CM{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1774607..4e69d0a 100644 (file)
@@ -203,7 +203,7 @@ my{
         }\r
         native{"mymr"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 12fa7fe..371c4a1 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 my_MM{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e38c091..f2ec153 100644 (file)
@@ -26,7 +26,7 @@ mzn{
         default{"arabext"}\r
         native{"arabext"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         default{"persian"}\r
         gregorian{\r
index 93eceb0..579e1f0 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mzn_IR{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 10f0929..068cff3 100644 (file)
@@ -11,7 +11,7 @@ naq{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 7e38197..86b6cf6 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 naq_NA{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 23e582e..142e371 100644 (file)
@@ -1280,7 +1280,7 @@ nb{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index e615798..2bc0855 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nb_NO{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1a07ab0..2b4e5db 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nb_SJ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 41c976e..0859a11 100644 (file)
@@ -12,7 +12,7 @@ nd{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index a7588ee..b4044b0 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nd_ZW{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index af6270d..cab5afe 100644 (file)
@@ -7,5 +7,5 @@ nds{
         "[\\- ‐ ‑ – — , ; \\: ! ? . … ' ‘ ‚ \u0022 “ „ « » ( ) \\[ \\] \\{ \\} § @ * "\r
         "/ \\& #]"\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3175ff2..9542844 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nds_DE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ec3e571..7c50bc7 100644 (file)
@@ -8,5 +8,5 @@ nds_NL{
         "[\\- ‐ ‑ – — , ; \\: ! ? . … ' ‘ ’ \u0022 “ ” ( ) \\[ \\] § @ * / \\& # † ‡ "\r
         "′ ″]"\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 52519ae..54d804b 100644 (file)
@@ -26,9 +26,9 @@ ne{
         default{"deva"}\r
         deva{\r
             patterns{\r
-                currencyFormat{"¤ #,##0.00"}\r
-                decimalFormat{"#,##0.###"}\r
-                percentFormat{"#,##0%"}\r
+                currencyFormat{"¤ #,##,##0.00"}\r
+                decimalFormat{"#,##,##0.###"}\r
+                percentFormat{"#,##,##0%"}\r
                 scientificFormat{"#E0"}\r
             }\r
             symbols{\r
@@ -53,10 +53,10 @@ ne{
                 range{"{0}–{1}"}\r
             }\r
             patterns{\r
-                accountingFormat{"¤ #,##0.00"}\r
-                currencyFormat{"¤ #,##0.00"}\r
-                decimalFormat{"#,##0.###"}\r
-                percentFormat{"#,##0%"}\r
+                accountingFormat{"¤ #,##,##0.00"}\r
+                currencyFormat{"¤ #,##,##0.00"}\r
+                decimalFormat{"#,##,##0.###"}\r
+                percentFormat{"#,##,##0%"}\r
                 scientificFormat{"#E0"}\r
             }\r
             patternsLong{\r
@@ -241,7 +241,7 @@ ne{
         minimumGroupingDigits{"1"}\r
         native{"deva"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index d09ce7f..126dcd0 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ne_IN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 4610919..c910959 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ne_NP{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0abefa6..c368f71 100644 (file)
@@ -1485,7 +1485,7 @@ nl{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index 48a0a8d..0c6472c 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nl_AW{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 259ddfa..379a13f 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nl_BE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 53a9b24..359a5fd 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nl_BQ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c2627de..1fe51a7 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nl_CW{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index dacf4d2..170799b 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nl_NL{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 36c1832..ac73430 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nl_SR{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1911ef5..d3f6bee 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nl_SX{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index db364a7..78e2fca 100644 (file)
@@ -22,7 +22,7 @@ nmg{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 7751992..031799e 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nmg_CM{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2b2f5be..d9fe543 100644 (file)
@@ -98,7 +98,7 @@ nn{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 3302327..bc2a556 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nn_NO{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7887248..8728d55 100644 (file)
@@ -28,7 +28,7 @@ nnh{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index fe0b15c..a4aac4b 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nnh_CM{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 542ac18..cc3c3b5 100644 (file)
@@ -22,7 +22,7 @@ nus{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index e871a7b..03c45eb 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nus_SS{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fca5208..c07629b 100644 (file)
@@ -10,7 +10,7 @@ nyn{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 2123c16..2f39e53 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nyn_UG{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e52a92c..eb7cc61 100644 (file)
@@ -35,7 +35,7 @@ om{
         native{"latn"}\r
         traditional{"ethi"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 84fa00e..4e71373 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 om_ET{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b9858fe..7a2634c 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 om_KE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index dbf65db..ad818a8 100644 (file)
@@ -240,7 +240,7 @@ or{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -1216,6 +1216,11 @@ or{
         }\r
         quarter-narrow{\r
             dn{"ତ୍ରୟ."}\r
+            relative{\r
+                "-1"{"ଗତ ତିନିମାସ"}\r
+                "0"{"ଏହି ତିନିମାସ"}\r
+                "1"{"ଆଗାମୀ ତିନିମାସ"}\r
+            }\r
             relativeTime{\r
                 future{\r
                     one{"{0} ତ୍ରୟ. ରେ"}\r
@@ -1229,6 +1234,11 @@ or{
         }\r
         quarter-short{\r
             dn{"ତ୍ରୟ."}\r
+            relative{\r
+                "-1"{"ଗତ ତିନିମାସ"}\r
+                "0"{"ଏହି ତ୍ରୟମାସ"}\r
+                "1"{"ଆଗାମୀ ତ୍ରୟମାସ"}\r
+            }\r
             relativeTime{\r
                 future{\r
                     one{"{0} ତ୍ରୟ. ରେ"}\r
index 4adf29b..d84b76c 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 or_IN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f70fc80..03e51ff 100644 (file)
@@ -44,7 +44,7 @@ os{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index f7e81fe..6a61cf3 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 os_GE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a710229..857be32 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 os_RU{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3ebce2a..572b64c 100644 (file)
@@ -257,7 +257,7 @@ pa{
         minimumGroupingDigits{"1"}\r
         native{"guru"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index b4f4fd7..57077e1 100644 (file)
@@ -23,7 +23,7 @@ pa_Arab{
         }\r
         native{"arabext"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 4823c76..4cd5372 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pa_Arab_PK{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b1dcb3f..de00c95 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pa_Guru{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 606c794..c55d95f 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pa_Guru_IN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/locales/pcm.txt b/source/data/locales/pcm.txt
new file mode 100644 (file)
index 0000000..36564a8
--- /dev/null
@@ -0,0 +1,1860 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+pcm{\r
+    AuxExemplarCharacters{"[à c è {ẹ\u0300} ì ò {ọ\u0300} q ù x]"}\r
+    Ellipsis{\r
+        final{"{0}…"}\r
+        initial{"…{0}"}\r
+        medial{"{0}…{1}"}\r
+        word-final{"{0} …"}\r
+        word-initial{"… {0}"}\r
+        word-medial{"{0} … {1}"}\r
+    }\r
+    ExemplarCharacters{\r
+        "[a á b {ch} d e é ẹ {ẹ\u0301} f g {gb} h i í j k {kp} l m n o ó ọ {ọ\u0301} "\r
+        "p r s {sh} t u ú v w y z {zh}]"\r
+    }\r
+    ExemplarCharactersIndex{"[A B {CH} D E F G H I J K L M N O P R S T U V W Y Z]"}\r
+    ExemplarCharactersNumbers{"[\\- ‑ , . % ‰ + 0 1 2 3 4 5 6 7 8 9]"}\r
+    ExemplarCharactersPunctuation{\r
+        "[\\- ‐ ‑ – — , ; \\: ! ? . … ' ‘ ’ \u0022 “ ” ( ) \\[ \\] § @ * / \\& # † ‡ "\r
+        "′ ″]"\r
+    }\r
+    MoreInformation{"?"}\r
+    NumberElements{\r
+        default{"latn"}\r
+        latn{\r
+            miscPatterns{\r
+                approximately{"~{0}"}\r
+                atLeast{"{0}+"}\r
+                atMost{"≤{0}"}\r
+                range{"{0}–{1}"}\r
+            }\r
+            patterns{\r
+                accountingFormat{"¤#,##0.00"}\r
+                currencyFormat{"¤#,##0.00"}\r
+                decimalFormat{"#,##0.###"}\r
+                percentFormat{"#,##0%"}\r
+                scientificFormat{"#E0"}\r
+            }\r
+            patternsLong{\r
+                decimalFormat{\r
+                    1000{\r
+                        one{"0 Taúzan"}\r
+                        other{"0 Taúzan"}\r
+                    }\r
+                    10000{\r
+                        one{"00 Taúzan"}\r
+                        other{"00 Taúzan"}\r
+                    }\r
+                    100000{\r
+                        one{"000 Taúzan"}\r
+                        other{"000 Taúzan"}\r
+                    }\r
+                    1000000{\r
+                        one{"0 Míliọn"}\r
+                        other{"0 Míliọn"}\r
+                    }\r
+                    10000000{\r
+                        one{"00 Míliọn"}\r
+                        other{"00 Míliọn"}\r
+                    }\r
+                    100000000{\r
+                        one{"000 Míliọn"}\r
+                        other{"000 Míliọn"}\r
+                    }\r
+                    1000000000{\r
+                        one{"0 Bíliọn"}\r
+                        other{"0 Bíliọn"}\r
+                    }\r
+                    10000000000{\r
+                        one{"00 Bíliọn"}\r
+                        other{"00 Bíliọn"}\r
+                    }\r
+                    100000000000{\r
+                        one{"000 Bíliọn"}\r
+                        other{"000 Bíliọn"}\r
+                    }\r
+                    1000000000000{\r
+                        one{"0 Tríliọn"}\r
+                        other{"0 Tríliọn"}\r
+                    }\r
+                    10000000000000{\r
+                        one{"00 Tríliọn"}\r
+                        other{"00 Tríliọn"}\r
+                    }\r
+                    100000000000000{\r
+                        one{"000 Tríliọn"}\r
+                        other{"000 Tríliọn"}\r
+                    }\r
+                }\r
+            }\r
+            patternsShort{\r
+                currencyFormat{\r
+                    1000{\r
+                        one{"¤0K"}\r
+                        other{"¤0K"}\r
+                    }\r
+                    10000{\r
+                        one{"¤00K"}\r
+                        other{"¤00K"}\r
+                    }\r
+                    100000{\r
+                        one{"¤000K"}\r
+                        other{"¤000K"}\r
+                    }\r
+                    1000000{\r
+                        one{"¤0M"}\r
+                        other{"¤0M"}\r
+                    }\r
+                    10000000{\r
+                        one{"¤00M"}\r
+                        other{"¤00M"}\r
+                    }\r
+                    100000000{\r
+                        one{"¤000M"}\r
+                        other{"¤000M"}\r
+                    }\r
+                    1000000000{\r
+                        one{"¤0B"}\r
+                        other{"¤0B"}\r
+                    }\r
+                    10000000000{\r
+                        one{"¤00B"}\r
+                        other{"¤00B"}\r
+                    }\r
+                    100000000000{\r
+                        one{"¤000B"}\r
+                        other{"¤000B"}\r
+                    }\r
+                    1000000000000{\r
+                        one{"¤0T"}\r
+                        other{"¤0T"}\r
+                    }\r
+                    10000000000000{\r
+                        one{"¤00T"}\r
+                        other{"¤00T"}\r
+                    }\r
+                    100000000000000{\r
+                        one{"¤000T"}\r
+                        other{"¤000T"}\r
+                    }\r
+                }\r
+                decimalFormat{\r
+                    1000{\r
+                        one{"0K"}\r
+                        other{"0K"}\r
+                    }\r
+                    10000{\r
+                        one{"00K"}\r
+                        other{"00K"}\r
+                    }\r
+                    100000{\r
+                        one{"000K"}\r
+                        other{"000K"}\r
+                    }\r
+                    1000000{\r
+                        one{"0M"}\r
+                        other{"0M"}\r
+                    }\r
+                    10000000{\r
+                        one{"00M"}\r
+                        other{"00M"}\r
+                    }\r
+                    100000000{\r
+                        one{"000M"}\r
+                        other{"000M"}\r
+                    }\r
+                    1000000000{\r
+                        one{"0B"}\r
+                        other{"0B"}\r
+                    }\r
+                    10000000000{\r
+                        one{"00B"}\r
+                        other{"00B"}\r
+                    }\r
+                    100000000000{\r
+                        one{"000B"}\r
+                        other{"000B"}\r
+                    }\r
+                    1000000000000{\r
+                        one{"0T"}\r
+                        other{"0T"}\r
+                    }\r
+                    10000000000000{\r
+                        one{"00T"}\r
+                        other{"00T"}\r
+                    }\r
+                    100000000000000{\r
+                        one{"000T"}\r
+                        other{"000T"}\r
+                    }\r
+                }\r
+            }\r
+            symbols{\r
+                decimal{"."}\r
+                exponential{"E"}\r
+                group{","}\r
+                infinity{"∞"}\r
+                minusSign{"-"}\r
+                nan{"NaN"}\r
+                perMille{"‰"}\r
+                percentSign{"%"}\r
+                plusSign{"+"}\r
+            }\r
+        }\r
+        minimalPairs{\r
+            ordinal{\r
+                other{"Take the {0}th right."}\r
+            }\r
+            plural{\r
+                one{"{0} dè"}\r
+                other{"{0}?"}\r
+            }\r
+        }\r
+        native{"latn"}\r
+    }\r
+    Version{"37"}\r
+    calendar{\r
+        generic{\r
+            DateTimePatterns{\r
+                "HH:mm:ss zzzz",\r
+                "H:mm:ss z",\r
+                "HH:mm:ss",\r
+                "HH:mm",\r
+                "EEEE, d MMMM y G",\r
+                "d MMMM y G",\r
+                "d MMM y G",\r
+                "dd/MM/y GGGGG",\r
+                "{1}, {0}",\r
+                "{1} 'fọ' {0}",\r
+                "{1} 'fọ' {0}",\r
+                "{1}, {0}",\r
+                "{1}, {0}",\r
+            }\r
+            availableFormats{\r
+                Bh{"h B"}\r
+                Bhm{"h:mm B"}\r
+                Bhms{"h:mm:ss B"}\r
+                E{"ccc"}\r
+                EBhm{"E h:mm B"}\r
+                EBhms{"E h:mm:ss B"}\r
+                EHm{"E HH:mm"}\r
+                EHms{"E HH:mm:ss"}\r
+                Ed{"d, E"}\r
+                Ehm{"E h:mm a"}\r
+                Ehms{"E h:mm:ss a"}\r
+                Gy{"G y"}\r
+                GyMMM{"G y MMM"}\r
+                GyMMMEd{"G y MMM d, E"}\r
+                GyMMMd{"G y MMM d"}\r
+                H{"HH"}\r
+                Hm{"HH:mm"}\r
+                Hms{"HH:mm:ss"}\r
+                M{"L"}\r
+                MEd{"E, M/d"}\r
+                MMM{"LLL"}\r
+                MMMEd{"E, MMM d"}\r
+                MMMMd{"MMMM d"}\r
+                MMMd{"MMM d"}\r
+                Md{"M/d"}\r
+                d{"d"}\r
+                h{"h a"}\r
+                hm{"h:mm a"}\r
+                hms{"h:mm:ss a"}\r
+                ms{"mm:ss"}\r
+                y{"y G"}\r
+                yyyy{"y G"}\r
+                yyyyM{"GGGGG y-MM"}\r
+                yyyyMEd{"GGGGG y-MM-dd, E"}\r
+                yyyyMMM{"G y MMM"}\r
+                yyyyMMMEd{"G y MMM d, E"}\r
+                yyyyMMMM{"G y MMMM"}\r
+                yyyyMMMd{"G y MMM d"}\r
+                yyyyMd{"GGGGG y-MM-dd"}\r
+                yyyyQQQ{"G y QQQ"}\r
+                yyyyQQQQ{"G y QQQQ"}\r
+            }\r
+            intervalFormats{\r
+                Bh{\r
+                    B{"h B – h B"}\r
+                    h{"h–h B"}\r
+                }\r
+                Bhm{\r
+                    B{"h:mm B – h:mm B"}\r
+                    h{"h:mm–h:mm B"}\r
+                    m{"h:mm–h:mm B"}\r
+                }\r
+                Gy{\r
+                    G{"G y – G y"}\r
+                    y{"G y–y"}\r
+                }\r
+                GyM{\r
+                    G{"GGGGG y-MM – GGGGG y-MM"}\r
+                    M{"GGGGG y-MM – y-MM"}\r
+                    y{"GGGGG y-MM – y-MM"}\r
+                }\r
+                GyMEd{\r
+                    G{"GGGGG y-MM-dd, E – GGGGG y-MM-dd, E"}\r
+                    M{"GGGGG y-MM-dd, E – y-MM-dd, E"}\r
+                    d{"GGGGG y-MM-dd, E – y-MM-dd, E"}\r
+                    y{"GGGGG y-MM-dd, E – y-MM-dd, E"}\r
+                }\r
+                GyMMM{\r
+                    G{"G y MMM – G y MMM"}\r
+                    M{"G y MMM–MMM"}\r
+                    y{"G y MMM – y MMM"}\r
+                }\r
+                GyMMMEd{\r
+                    G{"G y MMM d, E – G y MMM d, E"}\r
+                    M{"G y MMM d, E – MMM d, E"}\r
+                    d{"G y MMM d, E – MMM d, E"}\r
+                    y{"G y MMM d, E – y MMM d, E"}\r
+                }\r
+                GyMMMd{\r
+                    G{"G y MMM d – G y MMM d"}\r
+                    M{"G y MMM d – MMM d"}\r
+                    d{"G y MMM d–d"}\r
+                    y{"G y MMM d – y MMM d"}\r
+                }\r
+                GyMd{\r
+                    G{"GGGGG y-MM-dd – GGGGG y-MM-dd"}\r
+                    M{"GGGGG y-MM-dd – y-MM-dd"}\r
+                    d{"GGGGG y-MM-dd – y-MM-dd"}\r
+                    y{"GGGGG y-MM-dd – y-MM-dd"}\r
+                }\r
+                M{\r
+                    M{"MM–MM"}\r
+                }\r
+                MEd{\r
+                    M{"MM-dd, E – MM-dd, E"}\r
+                    d{"MM-dd, E – MM-dd, E"}\r
+                }\r
+                MMM{\r
+                    M{"LLL–LLL"}\r
+                }\r
+                MMMEd{\r
+                    M{"MMM d, E – MMM d, E"}\r
+                    d{"MMM d, E – MMM d, E"}\r
+                }\r
+                MMMd{\r
+                    M{"MMM d – MMM d"}\r
+                    d{"MMM d–d"}\r
+                }\r
+                Md{\r
+                    M{"MM-dd – MM-dd"}\r
+                    d{"MM-dd – MM-dd"}\r
+                }\r
+                d{\r
+                    d{"d–d"}\r
+                }\r
+                fallback{"{0} – {1}"}\r
+                y{\r
+                    y{"G y–y"}\r
+                }\r
+                yM{\r
+                    M{"GGGGG y-MM – y-MM"}\r
+                    y{"GGGGG y-MM – y-MM"}\r
+                }\r
+                yMEd{\r
+                    M{"GGGGG y-MM-dd, E – y-MM-dd, E"}\r
+                    d{"GGGGG y-MM-dd, E – y-MM-dd, E"}\r
+                    y{"GGGGG y-MM-dd, E – y-MM-dd, E"}\r
+                }\r
+                yMMM{\r
+                    M{"G y MMM–MMM"}\r
+                    y{"G y MMM – y MMM"}\r
+                }\r
+                yMMMEd{\r
+                    M{"G y MMM d, E – MMM d, E"}\r
+                    d{"G y MMM d, E – MMM d, E"}\r
+                    y{"G y MMM d, E – y MMM d, E"}\r
+                }\r
+                yMMMM{\r
+                    M{"G y MMMM–MMMM"}\r
+                    y{"G y MMMM – y MMMM"}\r
+                }\r
+                yMMMd{\r
+                    M{"G y MMM d – MMM d"}\r
+                    d{"G y MMM d–d"}\r
+                    y{"G y MMM d – y MMM d"}\r
+                }\r
+                yMd{\r
+                    M{"GGGGG y-MM-dd – y-MM-dd"}\r
+                    d{"GGGGG y-MM-dd – y-MM-dd"}\r
+                    y{"GGGGG y-MM-dd – y-MM-dd"}\r
+                }\r
+            }\r
+        }\r
+        gregorian{\r
+            AmPmMarkers{\r
+                "Fọ mọ́nin",\r
+                "Fọ ívnin",\r
+            }\r
+            AmPmMarkersAbbr{\r
+                "AM",\r
+                "PM",\r
+            }\r
+            AmPmMarkersNarrow{\r
+                "AM",\r
+                "PM",\r
+            }\r
+            DateTimePatterns{\r
+                "HH:mm:ss zzzz",\r
+                "H:mm:ss z",\r
+                "HH:mm:ss",\r
+                "HH:mm",\r
+                "EEEE, d MMMM y",\r
+                "d MMMM y",\r
+                "d MMM y",\r
+                "dd/MM/y",\r
+                "{1} {0}",\r
+                "{1} 'fọ' {0}",\r
+                "{1} 'fọ' {0}",\r
+                "{1} {0}",\r
+                "{1} {0}",\r
+            }\r
+            appendItems{\r
+                Timezone{"{0} {1}"}\r
+            }\r
+            availableFormats{\r
+                Bh{"h B"}\r
+                Bhm{"h:mm B"}\r
+                Bhms{"h:mm:ss B"}\r
+                E{"ccc"}\r
+                EBhm{"E h:mm B"}\r
+                EBhms{"E h:mm:ss B"}\r
+                EHm{"E HH:mm"}\r
+                EHms{"E HH:mm:ss"}\r
+                Ed{"d E"}\r
+                Ehm{"E h:mm a"}\r
+                Ehms{"E h:mm:ss a"}\r
+                Gy{"y G"}\r
+                GyMMM{"MMM y G"}\r
+                GyMMMEd{"E, d MMM y G"}\r
+                GyMMMd{"d MMM y G"}\r
+                H{"HH"}\r
+                Hm{"HH:mm"}\r
+                Hms{"HH:mm:ss"}\r
+                Hmsv{"HH:mm:ss v"}\r
+                Hmv{"HH:mm v"}\r
+                M{"L"}\r
+                MEd{"E, d/M"}\r
+                MMM{"LLL"}\r
+                MMMEd{"E, d MMM"}\r
+                MMMMW{\r
+                    one{"'Wik' W 'fọ' MMMM"}\r
+                    other{"'Wik' W 'fọ' MMMM"}\r
+                }\r
+                MMMMd{"d MMMM"}\r
+                MMMd{"d MMM"}\r
+                Md{"d /M"}\r
+                d{"d"}\r
+                h{"h a"}\r
+                hm{"h:mm a"}\r
+                hms{"h:mm:ss a"}\r
+                hmsv{"h:mm:ss a v"}\r
+                hmv{"h:mm a v"}\r
+                ms{"mm:ss"}\r
+                y{"y"}\r
+                yM{"M/y"}\r
+                yMEd{"E, d/M/y"}\r
+                yMMM{"MMM y"}\r
+                yMMMEd{"E, d MMM y"}\r
+                yMMMM{"MMMM y"}\r
+                yMMMd{"d MMM y"}\r
+                yMd{"d/M/y"}\r
+                yQQQ{"QQQ y"}\r
+                yQQQQ{"QQQQ y"}\r
+                yw{\r
+                    one{"'Wik' w 'fọ' Y"}\r
+                    other{"'week' w 'of' Y"}\r
+                }\r
+            }\r
+            dayNames{\r
+                format{\r
+                    abbreviated{\r
+                        "Sọ́n",\r
+                        "Mọ́n",\r
+                        "Tiú",\r
+                        "Wẹ́n",\r
+                        "Tọ́z",\r
+                        "Fraí",\r
+                        "Sát",\r
+                    }\r
+                    narrow{\r
+                        "S",\r
+                        "M",\r
+                        "T",\r
+                        "W",\r
+                        "T",\r
+                        "F",\r
+                        "S",\r
+                    }\r
+                    short{\r
+                        "Sọ́n",\r
+                        "Mọ́n",\r
+                        "Tiú",\r
+                        "Wẹ́n",\r
+                        "Tọ́z",\r
+                        "Fraí",\r
+                        "Sát",\r
+                    }\r
+                    wide{\r
+                        "Sọ́ndè",\r
+                        "Mọ́ndè",\r
+                        "Tiúzdè",\r
+                        "Wẹ́nẹ́zdè",\r
+                        "Tọ́zdè",\r
+                        "Fraídè",\r
+                        "Sátọdè",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    abbreviated{\r
+                        "Sọ́n",\r
+                        "Mọ́n",\r
+                        "Tiú",\r
+                        "Wẹ́n",\r
+                        "Tọ́z",\r
+                        "Fraí",\r
+                        "Sát",\r
+                    }\r
+                    narrow{\r
+                        "S",\r
+                        "M",\r
+                        "T",\r
+                        "W",\r
+                        "T",\r
+                        "F",\r
+                        "S",\r
+                    }\r
+                    short{\r
+                        "Sọ́n",\r
+                        "Mọ́n",\r
+                        "Tiú",\r
+                        "Wẹ́n",\r
+                        "Tọ́z",\r
+                        "Fraí",\r
+                        "Sát",\r
+                    }\r
+                    wide{\r
+                        "Sọ́ndè",\r
+                        "Mọ́ndè",\r
+                        "Tiúzdè",\r
+                        "Wẹ́nẹ́zdè",\r
+                        "Tọ́zdè",\r
+                        "Fraídè",\r
+                        "Sátọdè",\r
+                    }\r
+                }\r
+            }\r
+            dayPeriod{\r
+                stand-alone{\r
+                    abbreviated{\r
+                        am{"AM"}\r
+                        pm{"PM"}\r
+                    }\r
+                    narrow{\r
+                        am{"AM"}\r
+                        pm{"PM"}\r
+                    }\r
+                    wide{\r
+                        am{"Fọ mọ́nin"}\r
+                        pm{"Fọ ívnin"}\r
+                    }\r
+                }\r
+            }\r
+            eras{\r
+                abbreviated{\r
+                    "BK",\r
+                    "KIY",\r
+                }\r
+                abbreviated%variant{\r
+                    "BJT",\r
+                    "JT",\r
+                }\r
+                wide{\r
+                    "Bifọ́ Kraist",\r
+                    "Kraist Im Yiẹ",\r
+                }\r
+                wide%variant{\r
+                    "Bifọ́ Jẹ́nárál Taim",\r
+                    "Jẹ́nárál Taim",\r
+                }\r
+            }\r
+            intervalFormats{\r
+                Bh{\r
+                    B{"h B – h B"}\r
+                    h{"h–h B"}\r
+                }\r
+                Bhm{\r
+                    B{"h:mm B – h:mm B"}\r
+                    h{"h:mm–h:mm B"}\r
+                    m{"h:mm–h:mm B"}\r
+                }\r
+                Gy{\r
+                    G{"y G – y G"}\r
+                    y{"y–y G"}\r
+                }\r
+                GyM{\r
+                    G{"MM-y GGGGG – MM-y GGGGG"}\r
+                    M{"MM-y – MM-y GGGGG"}\r
+                    y{"MM-y – MM-y GGGGG"}\r
+                }\r
+                GyMEd{\r
+                    G{"E, dd-MM-y GGGGG – E, dd-MM-y GGGGG"}\r
+                    M{"E, dd-MM-y – E, dd-MM-y GGGGG"}\r
+                    d{"E, dd-MM-y – E, dd-MM-y GGGGG"}\r
+                    y{"E, dd-MM-y – E, dd-MM-y GGGGG"}\r
+                }\r
+                GyMMM{\r
+                    G{"MMM y G – MMM y G"}\r
+                    M{"MMM–MMM y G"}\r
+                    y{"MMM y – MMM y G"}\r
+                }\r
+                GyMMMEd{\r
+                    G{"E, d MMM y G – E, d MMM y G"}\r
+                    M{"E, d MMM – E, d MMM y G"}\r
+                    d{"E, d MMM – E, d MMM y G"}\r
+                    y{"E, d MMM y – E, d MMM y G"}\r
+                }\r
+                GyMMMd{\r
+                    G{"d MMM y G – d MMM y G"}\r
+                    M{"d MMM – d MMM y G"}\r
+                    d{"d–d MMM y G"}\r
+                    y{"d MMM y – d MMM y G"}\r
+                }\r
+                GyMd{\r
+                    G{"dd-MM-y GGGGG – dd-MM-y GGGGG"}\r
+                    M{"dd-MM-y – dd-MM-y GGGGG"}\r
+                    d{"dd-MM-y – dd-MM-y GGGGG"}\r
+                    y{"dd-MM-y – dd-MM-y GGGGG"}\r
+                }\r
+                H{\r
+                    H{"HH–HH"}\r
+                }\r
+                Hm{\r
+                    H{"HH:mm–HH:mm"}\r
+                    m{"HH:mm–HH:mm"}\r
+                }\r
+                Hmv{\r
+                    H{"HH:mm–HH:mm v"}\r
+                    m{"HH:mm–HH:mm v"}\r
+                }\r
+                Hv{\r
+                    H{"HH–HH v"}\r
+                }\r
+                M{\r
+                    M{"MM–MM"}\r
+                }\r
+                MEd{\r
+                    M{"E, dd-MM – E, dd/MM"}\r
+                    d{"E, dd/MM – E, dd/MM"}\r
+                }\r
+                MMM{\r
+                    M{"LLL–LLL"}\r
+                }\r
+                MMMEd{\r
+                    M{"E, d MMM – E, d MMM"}\r
+                    d{"E, d MMM – E, d MMM"}\r
+                }\r
+                MMMd{\r
+                    M{"d MMM – d MMM"}\r
+                    d{"d–d MMM"}\r
+                }\r
+                Md{\r
+                    M{"dd/MM – dd/MM"}\r
+                    d{"dd/MM – dd/MM"}\r
+                }\r
+                d{\r
+                    d{"d–d"}\r
+                }\r
+                fallback{"{0} – {1}"}\r
+                h{\r
+                    a{"h a – h a"}\r
+                    h{"h–h a"}\r
+                }\r
+                hm{\r
+                    a{"h:mm a – h:mm a"}\r
+                    h{"h:mm–h:mm a"}\r
+                    m{"h:mm–h:mm a"}\r
+                }\r
+                hmv{\r
+                    a{"h:mm a – h:mm a v"}\r
+                    h{"h:mm–h:mm a v"}\r
+                    m{"h:mm–h:mm a v"}\r
+                }\r
+                hv{\r
+                    a{"h a – h a v"}\r
+                    h{"h–h a v"}\r
+                }\r
+                y{\r
+                    y{"y–y"}\r
+                }\r
+                yM{\r
+                    M{"MM/y – MM/y"}\r
+                    y{"M/y – M/y"}\r
+                }\r
+                yMEd{\r
+                    M{"E, dd/MM/y – E, dd/MM/y"}\r
+                    d{"E, dd/MM/y – E, dd/MM/y"}\r
+                    y{"E, dd/MM/y – E, dd/MM/y"}\r
+                }\r
+                yMMM{\r
+                    M{"MMM–MMM y"}\r
+                    y{"MMM y – MMM y"}\r
+                }\r
+                yMMMEd{\r
+                    M{"E, d MMM y – E, d MMM y"}\r
+                    d{"E, d MMM y – E, d MMM y"}\r
+                    y{"E, d MMM y – E, d MMM y"}\r
+                }\r
+                yMMMM{\r
+                    M{"MMMM – MMMM y"}\r
+                    y{"MMMM y – MMMM y"}\r
+                }\r
+                yMMMd{\r
+                    M{"d MMM – d MMM y"}\r
+                    d{"d – d MMM y"}\r
+                    y{"d MMM y – d MMM y"}\r
+                }\r
+                yMd{\r
+                    M{"dd/MM/y – dd/MM/y"}\r
+                    d{"dd/MM/y – dd/MM/y"}\r
+                    y{"dd/MM/y – dd/MM/y"}\r
+                }\r
+            }\r
+            monthNames{\r
+                format{\r
+                    abbreviated{\r
+                        "Jén",\r
+                        "Fẹ́b",\r
+                        "Mach",\r
+                        "Épr",\r
+                        "Mee",\r
+                        "Jun",\r
+                        "Jul",\r
+                        "Ọgọ",\r
+                        "Sẹp",\r
+                        "Ọkt",\r
+                        "Nọv",\r
+                        "Dis",\r
+                    }\r
+                    narrow{\r
+                        "J",\r
+                        "F",\r
+                        "M",\r
+                        "A",\r
+                        "M",\r
+                        "J",\r
+                        "J",\r
+                        "A",\r
+                        "S",\r
+                        "O",\r
+                        "N",\r
+                        "D",\r
+                    }\r
+                    wide{\r
+                        "Jénúári",\r
+                        "Fẹ́búári",\r
+                        "Mach",\r
+                        "Éprel",\r
+                        "Mee",\r
+                        "Jun",\r
+                        "Julai",\r
+                        "Ọgọst",\r
+                        "Sẹptẹ́mba",\r
+                        "Ọktóba",\r
+                        "Nọvẹ́mba",\r
+                        "Disẹ́mba",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    abbreviated{\r
+                        "Jén",\r
+                        "Fẹ́b",\r
+                        "Mach",\r
+                        "Épr",\r
+                        "Mee",\r
+                        "Jun",\r
+                        "Jul",\r
+                        "Ọ́gọ",\r
+                        "Sẹp",\r
+                        "Ọkt",\r
+                        "Nọv",\r
+                        "Dis",\r
+                    }\r
+                    narrow{\r
+                        "J",\r
+                        "F",\r
+                        "M",\r
+                        "A",\r
+                        "M",\r
+                        "J",\r
+                        "J",\r
+                        "A",\r
+                        "S",\r
+                        "O",\r
+                        "N",\r
+                        "D",\r
+                    }\r
+                    wide{\r
+                        "Jénúári",\r
+                        "Fẹ́búári",\r
+                        "Mach",\r
+                        "Éprel",\r
+                        "Mee",\r
+                        "Jun",\r
+                        "Julai",\r
+                        "Ọgọst",\r
+                        "Sẹptẹ́mba",\r
+                        "Ọktóba",\r
+                        "Nọvẹ́mba",\r
+                        "Disẹ́mba",\r
+                    }\r
+                }\r
+            }\r
+            quarters{\r
+                format{\r
+                    abbreviated{\r
+                        "K1",\r
+                        "K2",\r
+                        "K3",\r
+                        "K4",\r
+                    }\r
+                    narrow{\r
+                        "1",\r
+                        "2",\r
+                        "3",\r
+                        "4",\r
+                    }\r
+                    wide{\r
+                        "Fẹ́st Kwọ́ta",\r
+                        "Sẹ́kọ́n Kwọ́ta",\r
+                        "Tọ́d Kwọ́ta",\r
+                        "Fọ́t Kwọ́ta",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    abbreviated{\r
+                        "K1",\r
+                        "K2",\r
+                        "K3",\r
+                        "K4",\r
+                    }\r
+                    narrow{\r
+                        "1",\r
+                        "2",\r
+                        "3",\r
+                        "4",\r
+                    }\r
+                    wide{\r
+                        "Fẹ́st Kwọ́ta",\r
+                        "Sẹ́kọ́n Kwọ́ta",\r
+                        "Tọ́d Kwọ́ta",\r
+                        "Fọ́t Kwọ́ta",\r
+                    }\r
+                }\r
+            }\r
+        }\r
+    }\r
+    characterLabel{\r
+        activities{"Tins Wé De Hápun"}\r
+        african_scripts{"Áfríká Raítín Sístẹm"}\r
+        american_scripts{"Amẹ́ríká Raítín Sístẹm"}\r
+        animal{"Ánímọl"}\r
+        animals_nature{"Ánímọl ọ Néchọ"}\r
+        arrows{"Áro"}\r
+        body{"Bọ́di"}\r
+        box_drawing{"Bọ́ks Drọyin"}\r
+        braille{"Blaínd Pípol Raítín Sístẹm"}\r
+        building{"Bíldin"}\r
+        bullets_stars{"Búlẹt ọ Sta"}\r
+        consonantal_jamo{"Jamo Kọ́nsónant"}\r
+        currency_symbols{"Mọní Símbol"}\r
+        dash_connector{"Dash ọ Kọnẹ́ktọ"}\r
+        digits{"Nọ́mba"}\r
+        dingbats{"Díngbat"}\r
+        divination_symbols{"Fọ́tiún Tẹ́lín Símbol"}\r
+        downwards_arrows{"Aro Wé Pọínt Daun"}\r
+        downwards_upwards_arrows{"Aro Wé Pọínt Ọ́p & Daun"}\r
+        east_asian_scripts{"Íst Éshiá Raítín Sístẹm"}\r
+        emoji{"Ẹ́móji"}\r
+        european_scripts{"Yúrop Raítín Sístẹm"}\r
+        female{"Wúman"}\r
+        flag{"Flag"}\r
+        flags{"Flag-dẹm"}\r
+        food_drink{"Fud & Drink"}\r
+        format{"Fọ́mat"}\r
+        format_whitespace{"Fọ́mat & Waítspes"}\r
+        full_width_form_variant{"Fúl-Waid Taíp"}\r
+        geometric_shapes{"Jiọmẹ́tri Shep"}\r
+        half_width_form_variant{"Háf-Waid Taíp"}\r
+        han_characters{"Hán ABChD"}\r
+        han_radicals{"Han Rádikál"}\r
+        hanja{"Hánja"}\r
+        hanzi_simplified{"Símpúl Hánzi"}\r
+        hanzi_traditional{"Nọ́mál Hánzi"}\r
+        heart{"Hat"}\r
+        historic_scripts{"Impọ́tánt Raítín Sístẹm"}\r
+        ideographic_desc_characters{"Idiógráfík dískr. Kárákta"}\r
+        japanese_kana{"Japán Kána"}\r
+        kanbun{"Kanbun"}\r
+        kanji{"Kánji"}\r
+        keycap{"Kíkap"}\r
+        leftwards_arrows{"Áro Wé Pọínt Lẹft"}\r
+        leftwards_rightwards_arrows{"Áro Wé Pọínt Lẹft & Rait"}\r
+        letterlike_symbols{"Símbul Wé Bi Laik ABChD"}\r
+        limited_use{"Límítẹ́d yuz"}\r
+        male{"Man"}\r
+        math_symbols{"Matimátík Símbọl"}\r
+        middle_eastern_scripts{"Mídúl Ístán Raítín Sístẹm"}\r
+        miscellaneous{"Dífrẹ́n Dífrẹ́n Tins"}\r
+        modern_scripts{"Mọ́dán Raítín Sístẹm"}\r
+        modifier{"Mọdifaya"}\r
+        musical_symbols{"Miúzík Símbul"}\r
+        nature{"Néchọ"}\r
+        nonspacing{"Nospes"}\r
+        numbers{"Nọ́mba-dẹm"}\r
+        objects{"Sọ́mtin"}\r
+        other{"Ọ́da"}\r
+        paired{"Tuú bai Tuu"}\r
+        person{"Pẹ́sin"}\r
+        phonetic_alphabet{"Fọnẹ́tík Álfábẹt"}\r
+        pictographs{"Piktógráfi"}\r
+        place{"Ples"}\r
+        plant{"Plant"}\r
+        punctuation{"Pọnkchuéshọn"}\r
+        rightwards_arrows{"Áro Wé Pọínt Rait"}\r
+        sign_standard_symbols{"Sain ọ Símbul"}\r
+        small_form_variant{"Tins Dẹm Smọ́l Smọ́l Taíp"}\r
+        smiley{"Smaílí"}\r
+        smileys_people{"Smaílí ọ Pẹ́sin"}\r
+        south_asian_scripts{"Saút Éshiá Raítín Sístẹm"}\r
+        southeast_asian_scripts{"Saút Íst Raítín Sístẹm"}\r
+        spacing{"Mék Spes"}\r
+        sport{"Átlẹ́tík Spọt"}\r
+        symbols{"Símbul"}\r
+        technical_symbols{"Tẹ́kíníkál Símbul"}\r
+        tone_marks{"Tón Mak"}\r
+        travel{"Trávul"}\r
+        travel_places{"Trávul ọ Ples"}\r
+        upwards_arrows{"Áro-dẹm Wé Pọínt Ọp"}\r
+        variant_forms{"dífrẹ́n dífrẹ́n taip"}\r
+        vocalic_jamo{"Vokálík Jámo"}\r
+        weather{"Wẹ́da"}\r
+        western_asian_scripts{"Wẹ́stán Éshiá Raítín Sístẹm"}\r
+        whitespace{"Waítspes"}\r
+    }\r
+    delimiters{\r
+        alternateQuotationEnd{"’"}\r
+        alternateQuotationStart{"‘"}\r
+        quotationEnd{"”"}\r
+        quotationStart{"“"}\r
+    }\r
+    fields{\r
+        day{\r
+            dn{"Dè"}\r
+            relative{\r
+                "-1"{"Yẹ́stadè"}\r
+                "0"{"Todè"}\r
+                "1"{"Tumọ́ro"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0}dè wé de kọm"}\r
+                    other{"Fọ {0}dè wé de kọm"}\r
+                }\r
+                past{\r
+                    one{"{0} dè wé dọ́n pas"}\r
+                    other{"{0} dè wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        day-narrow{\r
+            dn{"Dè"}\r
+            relative{\r
+                "-1"{"Yẹ́stadè"}\r
+                "0"{"Todè"}\r
+                "1"{"Tumọ́ro"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0}dè wé de kọm"}\r
+                    other{"Fọ {0}dè wé de kọm"}\r
+                }\r
+                past{\r
+                    one{"{0} dè wé dọ́n pas"}\r
+                    other{"{0} dè wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        day-short{\r
+            dn{"Dè"}\r
+            relative{\r
+                "-1"{"Yẹ́stadè"}\r
+                "0"{"Todè"}\r
+                "1"{"Tumọ́ro"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0}dè wé de kọm"}\r
+                    other{"Fọ {0}dè wé de kọm"}\r
+                }\r
+                past{\r
+                    one{"{0} dè wé dọ́n pas"}\r
+                    other{"{0} dè wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        dayOfYear{\r
+            dn{"Dè fọ yiẹ"}\r
+        }\r
+        dayOfYear-narrow{\r
+            dn{"Dè fọ yiẹ"}\r
+        }\r
+        dayOfYear-short{\r
+            dn{"Dè fọ yiẹ"}\r
+        }\r
+        dayperiod{\r
+            dn{"fọ mọ́nin fọ áftanun fọ ívnin fọ nait"}\r
+        }\r
+        dayperiod-narrow{\r
+            dn{"fọ mọ́nin/fọ áftanun, fọ ívnin, fọ nait"}\r
+        }\r
+        dayperiod-short{\r
+            dn{"fọ mọ́nin/fọ áftanun, fọ ívnin, fọ nait"}\r
+        }\r
+        era{\r
+            dn{"Taim"}\r
+        }\r
+        era-narrow{\r
+            dn{"Taim"}\r
+        }\r
+        era-short{\r
+            dn{"Taim"}\r
+        }\r
+        fri{\r
+            relative{\r
+                "-1"{"Lást Fraidè"}\r
+                "0"{"Dís Fraidè"}\r
+                "1"{"Nẹ́st Fraidè"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0} Fraidè"}\r
+                    other{"Fọ {0} Fraidè"}\r
+                }\r
+                past{\r
+                    one{"{0}Fraidè wé dọ́n pas"}\r
+                    other{"{0}Fraidè wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        fri-narrow{\r
+            relative{\r
+                "-1"{"Lást Fraidè"}\r
+                "0"{"Dís Fraidè"}\r
+                "1"{"Nẹ́st Fraidè"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0} Fraidè"}\r
+                    other{"Fọ {0} Fraidè"}\r
+                }\r
+                past{\r
+                    one{"{0}Fraidè wé dọ́n pas"}\r
+                    other{"{0}Fraidè wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        fri-short{\r
+            relative{\r
+                "-1"{"Lást Fraidè"}\r
+                "0"{"Dís Fraidè"}\r
+                "1"{"Nẹ́st Fraidè"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0} Fraidè"}\r
+                    other{"Fọ {0} Fraidè"}\r
+                }\r
+                past{\r
+                    one{"{0}Fraidè wé dọ́n pas"}\r
+                    other{"{0}Fraidè wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        hour{\r
+            dn{"Awa"}\r
+            relative{\r
+                "0"{"Dís áwa"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0} áwa wé de kọm"}\r
+                    other{"Fọ {0} áwa wé de kọm"}\r
+                }\r
+                past{\r
+                    one{"{0} áwa wé dọ́n pas"}\r
+                    other{"{0} áwa wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        hour-narrow{\r
+            dn{"Awa"}\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0} áwa wé de kọm"}\r
+                    other{"Fọ {0} áwa wé de kọm"}\r
+                }\r
+                past{\r
+                    one{"Fọ {0} áwa wé de kọm"}\r
+                    other{"Fọ {0} áwa wé de kọm"}\r
+                }\r
+            }\r
+        }\r
+        hour-short{\r
+            dn{"Awa"}\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0} áwa wé de kọm"}\r
+                    other{"Fọ {0} áwa wé de kọm"}\r
+                }\r
+                past{\r
+                    one{"{0} áwa wé dọ́n pas"}\r
+                    other{"{0} áwa wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        minute{\r
+            dn{"Mínit"}\r
+            relative{\r
+                "0"{"Dís mínit"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0} mínit wé de kọm"}\r
+                    other{"Fọ {0} mínit wé de kọm"}\r
+                }\r
+                past{\r
+                    one{"{0} mínit wé dọ́n pas"}\r
+                    other{"{0} mínit wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        minute-narrow{\r
+            dn{"Mínit"}\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0} mínit wé de kọm"}\r
+                    other{"Fọ {0} mínit wé de kọm"}\r
+                }\r
+                past{\r
+                    one{"{0} mínit wé dọ́n pas"}\r
+                    other{"{0} mínit wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        minute-short{\r
+            dn{"Mínit"}\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0} mínit wé de kọm"}\r
+                    other{"Fọ {0} mínit wé de kọm"}\r
+                }\r
+                past{\r
+                    one{"{0} mínit wé dọ́n pas"}\r
+                    other{"{0} mínit wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        mon{\r
+            relative{\r
+                "-1"{"Lást Mọ́ndè"}\r
+                "0"{"Dís Mọ́ndè"}\r
+                "1"{"Nẹ́st Mọ́ndè"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0} Mọ́ndè"}\r
+                    other{"Fọ {0} Mọ́ndè"}\r
+                }\r
+                past{\r
+                    one{"{0} Mọ́ndè wé dọ́n pas"}\r
+                    other{"{0} Mọ́ndè wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        mon-narrow{\r
+            relative{\r
+                "-1"{"Lást Mọ́ndè"}\r
+                "0"{"Dís Mọ́ndè"}\r
+                "1"{"Nẹ́st Mọ́ndè"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0} Mọ́ndè"}\r
+                    other{"Fọ {0} Mọ́ndè"}\r
+                }\r
+                past{\r
+                    one{"{0} Mọ́ndè wé dọ́n pas"}\r
+                    other{"{0} Mọ́ndè wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        mon-short{\r
+            relative{\r
+                "-1"{"Lást Mọ́ndè"}\r
+                "0"{"Dís Mọ́ndè"}\r
+                "1"{"Nẹ́st Mọ́ndè"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0} Mọ́ndè"}\r
+                    other{"Fọ {0} Mọ́ndè"}\r
+                }\r
+                past{\r
+                    one{"{0} Mọ́ndè wé dọ́n pas"}\r
+                    other{"{0} Mọ́ndè wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        month{\r
+            dn{"Mọnt"}\r
+            relative{\r
+                "-1"{"Lást mọnt"}\r
+                "0"{"Dís mọnt"}\r
+                "1"{"Nẹ́st mọnt"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0}mọnt wé de kọm"}\r
+                    other{"Fọ {0}mọnt wé de kọm"}\r
+                }\r
+                past{\r
+                    one{"{0} mọnt wé dọ́n pas"}\r
+                    other{"{0} mọnt wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        month-narrow{\r
+            dn{"Mọnt"}\r
+            relative{\r
+                "-1"{"Lást mọnt"}\r
+                "0"{"Dís mọnt"}\r
+                "1"{"Nẹ́st mọnt"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0}mọnt wé de kọm"}\r
+                    other{"Fọ {0}mọnt wé de kọm"}\r
+                }\r
+                past{\r
+                    one{"{0} mọnt wé dọ́n pas"}\r
+                    other{"{0} mọnt wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        month-short{\r
+            dn{"Mọnt"}\r
+            relative{\r
+                "-1"{"Lást mọnt"}\r
+                "0"{"Dís mọnt"}\r
+                "1"{"Nẹ́st mọnt"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0}mọnt wé de kọm"}\r
+                    other{"Fọ {0}mọnt wé de kọm"}\r
+                }\r
+                past{\r
+                    one{"{0} mọnt wé dọ́n pas"}\r
+                    other{"{0} mọnt wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        quarter{\r
+            dn{"Kwọ́ta"}\r
+            relative{\r
+                "-1"{"Lást kwọ́ta"}\r
+                "0"{"Dís kwọ́ta"}\r
+                "1"{"Nẹ́st kwọ́ta"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"fọ {0} kwọ́ta wé de kọm"}\r
+                    other{"fọ {0} kwọ́ta wé de kọm"}\r
+                }\r
+                past{\r
+                    one{"{0} kwọ́ta wé dọ́n pas"}\r
+                    other{"{0} kwọ́ta wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        quarter-narrow{\r
+            dn{"Kwọ́ta"}\r
+            relativeTime{\r
+                future{\r
+                    one{"fọ {0} kwọ́ta wé de kọm"}\r
+                    other{"fọ {0} kwọ́ta wé de kọm"}\r
+                }\r
+                past{\r
+                    one{"{0} kwọ́ta wé dọ́n pas"}\r
+                    other{"{0} kwọ́ta wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        quarter-short{\r
+            dn{"Kwọ́ta"}\r
+            relativeTime{\r
+                future{\r
+                    one{"fọ {0} kwọ́ta wé de kọm"}\r
+                    other{"fọ {0} kwọ́ta wé de kọm"}\r
+                }\r
+                past{\r
+                    one{"{0} kwọ́ta wé dọ́n pas"}\r
+                    other{"{0} kwọ́ta wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        sat{\r
+            relative{\r
+                "-1"{"Lást Sátọdè"}\r
+                "0"{"Dís Sátọdè"}\r
+                "1"{"Nẹ́st Sátọdè"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0} Sátọdè"}\r
+                    other{"Fọ {0} Sátọdè"}\r
+                }\r
+                past{\r
+                    one{"{0} Sátọdè wé dọ́n pas"}\r
+                    other{"{0} Sátọdè wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        sat-narrow{\r
+            relative{\r
+                "-1"{"Lást Sátọdè"}\r
+                "0"{"Dís Sátọdè"}\r
+                "1"{"Nẹ́st Sátọdè"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0} Sátọdè"}\r
+                    other{"Fọ {0} Sátọdè"}\r
+                }\r
+                past{\r
+                    one{"{0} Sátọdè wé dọ́n pas"}\r
+                    other{"{0} Sátọdè wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        sat-short{\r
+            relative{\r
+                "-1"{"Lást Sátọdè"}\r
+                "0"{"Dís Sátọdè"}\r
+                "1"{"Nẹ́st Sátọdè"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0} Sátọdè"}\r
+                    other{"Fọ {0} Sátọdè"}\r
+                }\r
+                past{\r
+                    one{"{0} Sátọdè wé dọ́n pas"}\r
+                    other{"{0} Sátọdè wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        second{\r
+            dn{"Sẹ́kọn"}\r
+            relative{\r
+                "0"{"nau"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0} Sẹ́kọn"}\r
+                    other{"Fọ {0} Sẹ́kọn"}\r
+                }\r
+                past{\r
+                    one{"{0} sẹ́kọn wé dọ́n pas"}\r
+                    other{"{0} sẹ́kọn wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        second-narrow{\r
+            dn{"Sẹ́kọn"}\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0} Sẹ́kọn"}\r
+                    other{"Fọ {0} Sẹ́kọn"}\r
+                }\r
+                past{\r
+                    one{"{0} sẹ́kọn wé dọ́n pas"}\r
+                    other{"{0} sẹ́kọn wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        second-short{\r
+            dn{"Sẹ́kọn"}\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0} Sẹ́kọn"}\r
+                    other{"Fọ {0} Sẹ́kọn"}\r
+                }\r
+                past{\r
+                    one{"{0} sẹ́kọn wé dọ́n pas"}\r
+                    other{"{0} sẹ́kọn wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        sun{\r
+            relative{\r
+                "-1"{"Lást Sọ́ndè"}\r
+                "0"{"Dís Sọ́ndè"}\r
+                "1"{"Nẹ́st Sọ́ndè"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0} Sọ́ndè"}\r
+                    other{"Fọ {0} Sọ́ndè"}\r
+                }\r
+                past{\r
+                    one{"{0} Sọ́ndè wé dọ́n pas"}\r
+                    other{"{0} Sọ́ndè wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        sun-narrow{\r
+            relative{\r
+                "-1"{"Lást Sọ́ndè"}\r
+                "0"{"Dís Sọ́ndè"}\r
+                "1"{"Nẹ́st Sọ́ndè"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0} Sọ́ndè"}\r
+                    other{"Fọ {0} Sọ́ndè"}\r
+                }\r
+                past{\r
+                    one{"{0} Sọ́ndè wé dọ́n pas"}\r
+                    other{"{0} Sọ́ndè wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        sun-short{\r
+            relative{\r
+                "-1"{"Lást Sọ́ndè"}\r
+                "0"{"Dís Sọ́ndè"}\r
+                "1"{"Nẹ́st Sọ́ndè"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0} Sọ́ndè"}\r
+                    other{"Fọ {0} Sọ́ndè"}\r
+                }\r
+                past{\r
+                    one{"{0} Sọ́ndè wé dọ́n pas"}\r
+                    other{"{0} Sọ́ndè wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        thu{\r
+            relative{\r
+                "-1"{"Lást Tọ́zdè"}\r
+                "0"{"Dís Tọ́zdè"}\r
+                "1"{"Nẹ́st Tọ́zdè"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0} Tọ́zdè"}\r
+                    other{"Fọ {0} Tọ́zdè"}\r
+                }\r
+                past{\r
+                    one{"{0}Tọ́zdè wé dọ́n pas"}\r
+                    other{"{0}Tọ́zdè wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        thu-narrow{\r
+            relative{\r
+                "-1"{"Lást Tọ́zdè"}\r
+                "0"{"Dís Tọ́zdè"}\r
+                "1"{"Nẹ́st Tọ́zdè"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0} Tọ́zdè"}\r
+                    other{"Fọ {0} Tọ́zdè"}\r
+                }\r
+                past{\r
+                    one{"{0}Tọ́zdè wé dọ́n pas"}\r
+                    other{"{0}Tọ́zdè wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        thu-short{\r
+            relative{\r
+                "-1"{"Lást Tọ́zdè"}\r
+                "0"{"Dís Tọ́zdè"}\r
+                "1"{"Nẹ́st Tọ́zdè"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0} Tọ́zdè"}\r
+                    other{"Fọ {0} Tọ́zdè"}\r
+                }\r
+                past{\r
+                    one{"{0}Tọ́zdè wé dọ́n pas"}\r
+                    other{"{0}Tọ́zdè wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        tue{\r
+            relative{\r
+                "-1"{"Lást Tiúzdè"}\r
+                "0"{"Dís Tiúzdè"}\r
+                "1"{"Nẹ́st Tiúzdè"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0} Tiúzdè"}\r
+                    other{"Fọ {0} Tiúzdè"}\r
+                }\r
+                past{\r
+                    one{"{0} Tiúzdè wé dọ́n pas"}\r
+                    other{"{0} Tiúzdè wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        tue-narrow{\r
+            relative{\r
+                "-1"{"Lást Tiúzdè"}\r
+                "0"{"Dís Tiúzdè"}\r
+                "1"{"Nẹ́st Tiúzdè"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0} Tiúzdè"}\r
+                    other{"Fọ {0} Tiúzdè"}\r
+                }\r
+                past{\r
+                    one{"{0} Tiúzdè wé dọ́n pas"}\r
+                    other{"{0} Tiúzdè wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        tue-short{\r
+            relative{\r
+                "-1"{"Lást Tiúzdè"}\r
+                "0"{"Dís Tiúzdè"}\r
+                "1"{"Nẹ́st Tiúzdè"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0} Tiúzdè"}\r
+                    other{"Fọ {0} Tiúzdè"}\r
+                }\r
+                past{\r
+                    one{"{0} Tiúzdè wé dọ́n pas"}\r
+                    other{"{0} Tiúzdè wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        wed{\r
+            relative{\r
+                "-1"{"Lást Wẹ́nzdè"}\r
+                "0"{"Dís Wẹ́nzdè"}\r
+                "1"{"Nẹ́st Wẹ́nzdè"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0} Wẹ́nzdè"}\r
+                    other{"Fọ {0} Wẹ́nzdè"}\r
+                }\r
+                past{\r
+                    one{"{0} Wẹ́nẹdè wé dọ́n pas"}\r
+                    other{"{0} Wẹ́nẹdè wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        wed-narrow{\r
+            relative{\r
+                "-1"{"Lást Wẹ́nzdè"}\r
+                "0"{"Dís Wẹ́nzdè"}\r
+                "1"{"Nẹ́st Wẹ́nzdè"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0} Wẹ́nzdè"}\r
+                    other{"Fọ {0} Wẹ́nzdè"}\r
+                }\r
+                past{\r
+                    one{"{0} Wẹ́nzdè wé dọ́n pas"}\r
+                    other{"{0} Wẹ́nzdè wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        wed-short{\r
+            relative{\r
+                "-1"{"Lást Wẹ́nzdè"}\r
+                "0"{"Dís Wẹ́nzdè"}\r
+                "1"{"Nẹ́st Wẹ́nzdè"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0} Wẹ́nzdè"}\r
+                    other{"Fọ {0} Wẹ́nzdè"}\r
+                }\r
+                past{\r
+                    one{"{0} Wẹ́nzdè wé dọ́n pas"}\r
+                    other{"{0} Wẹ́nzdè wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        week{\r
+            dn{"Wik"}\r
+            relative{\r
+                "-1"{"Lást wik"}\r
+                "0"{"Dís wik"}\r
+                "1"{"Nẹ́st wik"}\r
+            }\r
+            relativePeriod{"Di wík ọf {0}"}\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0}wik wé de kọm"}\r
+                    other{"Fọ {0}wik wé de kọm"}\r
+                }\r
+                past{\r
+                    one{"{0} wik wé dọ́n pas"}\r
+                    other{"{0} wik wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        week-narrow{\r
+            dn{"Wik"}\r
+            relative{\r
+                "-1"{"Lást wik"}\r
+                "0"{"Dís wik"}\r
+                "1"{"Nẹ́st wik"}\r
+            }\r
+            relativePeriod{"Di wik ọf {0}"}\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0}wik wé de kọm"}\r
+                    other{"Fọ {0}wik wé de kọm"}\r
+                }\r
+                past{\r
+                    one{"{0} wik wé dọ́n pas"}\r
+                    other{"{0} wik wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        week-short{\r
+            dn{"Wik"}\r
+            relative{\r
+                "-1"{"Lást wik"}\r
+                "0"{"Dís wik"}\r
+                "1"{"Nẹ́st wik"}\r
+            }\r
+            relativePeriod{"Di wik ọf {0}"}\r
+            relativeTime{\r
+                future{\r
+                    one{"Fọ {0}wik wé de kọm"}\r
+                    other{"Fọ {0}wik wé de kọm"}\r
+                }\r
+                past{\r
+                    one{"{0} wik wé dọ́n pas"}\r
+                    other{"{0} wik wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        weekOfMonth{\r
+            dn{"Wik fọ mọnt"}\r
+        }\r
+        weekOfMonth-narrow{\r
+            dn{"Wik fọ mọnt"}\r
+        }\r
+        weekOfMonth-short{\r
+            dn{"Wik fọ mọnt"}\r
+        }\r
+        weekday{\r
+            dn{"Dè fọ wik"}\r
+        }\r
+        weekday-narrow{\r
+            dn{"Dè fọ wik"}\r
+        }\r
+        weekday-short{\r
+            dn{"Dè fọ wik"}\r
+        }\r
+        weekdayOfMonth{\r
+            dn{"Dè fọ mọnt"}\r
+        }\r
+        weekdayOfMonth-narrow{\r
+            dn{"Dè fọ mọnt"}\r
+        }\r
+        weekdayOfMonth-short{\r
+            dn{"Dè fọ mọnt"}\r
+        }\r
+        year{\r
+            dn{"Yiẹ"}\r
+            relative{\r
+                "-1"{"Lást yiẹ"}\r
+                "0"{"Dís yiẹ"}\r
+                "1"{"Nẹ́st yiẹ"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"fọ {0} yiẹ wé de kọm"}\r
+                    other{"fọ {0} yiẹ wé de kọm"}\r
+                }\r
+                past{\r
+                    one{"{0} yiẹ wé dọ́n pas"}\r
+                    other{"{0} yiẹ wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        year-narrow{\r
+            dn{"Yiẹ"}\r
+            relative{\r
+                "-1"{"Lást yiẹ"}\r
+                "0"{"Dís yiẹ"}\r
+                "1"{"Nẹ́st yiẹ"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"fọ {0} yiẹ wé de kọm"}\r
+                    other{"fọ {0} yiẹ wé de kọm"}\r
+                }\r
+                past{\r
+                    one{"{0} yiẹ wé dọ́n pas"}\r
+                    other{"{0} yiẹ wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        year-short{\r
+            dn{"Yiẹ"}\r
+            relative{\r
+                "-1"{"Lást yiẹ"}\r
+                "0"{"Dís yiẹ"}\r
+                "1"{"Nẹ́st yiẹ"}\r
+            }\r
+            relativeTime{\r
+                future{\r
+                    one{"fọ {0} yiẹ wé de kọm"}\r
+                    other{"fọ {0} yiẹ wé de kọm"}\r
+                }\r
+                past{\r
+                    one{"{0} yiẹ wé dọ́n pas"}\r
+                    other{"{0} yiẹ wé dọ́n pas"}\r
+                }\r
+            }\r
+        }\r
+        zone{\r
+            dn{"Taím Zon"}\r
+        }\r
+        zone-narrow{\r
+            dn{"Taím Zon"}\r
+        }\r
+        zone-short{\r
+            dn{"Taím Zon"}\r
+        }\r
+    }\r
+    listPattern{\r
+        or{\r
+            2{"{0} ọ {1}"}\r
+            end{"{0} ọ {1}"}\r
+            middle{"{0}, {1}"}\r
+            start{"{0}, {1}"}\r
+        }\r
+        or-narrow{\r
+            2{"{0} ọ {1}"}\r
+            end{"{0} ọ {1}"}\r
+            middle{"{0}, {1}"}\r
+            start{"{0}, {1}"}\r
+        }\r
+        or-short{\r
+            2{"{0} ọ {1}"}\r
+            end{"{0}, ọ {1}"}\r
+            middle{"{0}, {1}"}\r
+            start{"{0}, {1}"}\r
+        }\r
+        standard{\r
+            2{"{0} an {1}"}\r
+            end{"{0}, an {1}"}\r
+            middle{"{0}, {1}"}\r
+            start{"{0}, {1}"}\r
+        }\r
+        standard-narrow{\r
+            2{"{0}, {1}"}\r
+            end{"{0}, ọ {1}"}\r
+            middle{"{0}, {1}"}\r
+            start{"{0}, {1}"}\r
+        }\r
+        standard-short{\r
+            2{"{0} & {1}"}\r
+            end{"{0}, & {1}"}\r
+            middle{"{0}, {1}"}\r
+            start{"{0}, {1}"}\r
+        }\r
+        unit{\r
+            2{"{0}, {1}"}\r
+            end{"{0}, {1}"}\r
+            middle{"{0}, {1}"}\r
+            start{"{0}, {1}"}\r
+        }\r
+        unit-narrow{\r
+            2{"{0} {1}"}\r
+            end{"{0} {1}"}\r
+            middle{"{0} {1}"}\r
+            start{"{0} {1}"}\r
+        }\r
+        unit-short{\r
+            2{"{0}, {1}"}\r
+            end{"{0}, {1}"}\r
+            middle{"{0}, {1}"}\r
+            start{"{0}, {1}"}\r
+        }\r
+    }\r
+    measurementSystemNames{\r
+        UK{"Brítish"}\r
+        US{"US"}\r
+        metric{"Mẹ́trik"}\r
+    }\r
+    parse{\r
+        date{\r
+            lenient{\r
+                "[\\--/]",\r
+                "[\\:∶︓﹕:]",\r
+            }\r
+        }\r
+        general{\r
+            lenient{\r
+                "[.․。︒﹒.。]",\r
+                "['ʼ՚᾽᾿’']",\r
+                "[%٪﹪%]",\r
+                "[؉‰]",\r
+                "[\$﹩$]",\r
+                "[£₤£]",\r
+                "[¥¥]",\r
+                "[₩₩]",\r
+                "[₨₹{Rp}{Rs}]",\r
+            }\r
+        }\r
+        number{\r
+            lenient{\r
+                "[\\-‐‒–⁻₋−➖﹣-]",\r
+                "[,،٫、︐︑﹐﹑,、]",\r
+                "[+⁺₊➕﬩﹢+]",\r
+            }\r
+            stricter{\r
+                "[,٫︐﹐,]",\r
+                "[.․﹒.。]",\r
+            }\r
+        }\r
+    }\r
+}\r
diff --git a/source/data/locales/pcm_NG.txt b/source/data/locales/pcm_NG.txt
new file mode 100644 (file)
index 0000000..a857e4a
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+pcm_NG{\r
+    Version{"37"}\r
+}\r
index 78a4df0..b65d24d 100644 (file)
@@ -17,7 +17,7 @@ pl{
         latn{\r
             miscPatterns{\r
                 approximately{"~{0}"}\r
-                atLeast{"{0}+"}\r
+                atLeast{"≥{0}"}\r
                 atMost{"≤{0}"}\r
                 range{"{0}–{1}"}\r
             }\r
@@ -271,7 +271,7 @@ pl{
         }\r
         minimalPairs{\r
             ordinal{\r
-                other{"Skręć w {0} w prawo."}\r
+                other{"Skręć w {0}. w prawo."}\r
             }\r
             plural{\r
                 few{"{0} miesiące"}\r
@@ -282,7 +282,7 @@ pl{
         }\r
         minimumGroupingDigits{"2"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index 7c56cd1..6c11736 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pl_PL{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 78ef31e..e0d80ea 100644 (file)
@@ -226,7 +226,7 @@ ps{
         minimumGroupingDigits{"1"}\r
         native{"arabext"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         default{"persian"}\r
         generic{\r
index ec78d49..02f45ee 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ps_AF{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fbfbcf0..bfd7540 100644 (file)
@@ -7,7 +7,7 @@ ps_PK{
         " ء ب پ ت ټ ث ج ځ چ څ ح خ د ډ ذ ر ړ ز ژ ږ س ش ښ ص ض ط ظ ع غ ف ق ک ګ گ ل م ن ڼ"\r
         " ه ة و ؤ ی ے ي ې ۍ ئ]"\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index fbe3024..99c9095 100644 (file)
@@ -211,7 +211,7 @@ pt{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index ec6c3b1..1c4df72 100644 (file)
@@ -5,5 +5,5 @@ pt_AO{
     NumberElements{\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2ebe25e..e93fbfe 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_BR{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5710498..68713f2 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_CH{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6a14f79..a8e8329 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_CV{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ebd2cc1..16c1df7 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_GQ{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fdc3c38..a180bcd 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_GW{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 262456f..a573ce4 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_LU{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 465e88a..f7a09af 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_MO{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index ae83ef0..e23c11c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_MZ{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fb5e440..eb119cc 100644 (file)
@@ -171,7 +171,7 @@ pt_PT{
         minimumGroupingDigits{"2"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index fcd835b..1f59f52 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_ST{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8a4a6ac..8094b42 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_TL{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7a509c8..9948dee 100644 (file)
@@ -156,7 +156,7 @@ qu{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index dfda6ce..ae5e679 100644 (file)
@@ -9,5 +9,5 @@ qu_BO{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ac11219..7428e4e 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 qu_EC{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b634e23..8e4db7c 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 qu_PE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 38a18dd..4c47ac4 100644 (file)
@@ -35,7 +35,7 @@ rm{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index add3514..61d3890 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 rm_CH{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1eb33aa..2ceeb0c 100644 (file)
@@ -17,7 +17,7 @@ rn{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index b4a3cd4..f3dbcbd 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 rn_BI{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cc55121..a6d7be1 100644 (file)
@@ -250,7 +250,7 @@ ro{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index 45804dc..d384c5b 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ro_MD{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             dayNames{\r
index da80a57..3be9bae 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ro_RO{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f76b22b..314e643 100644 (file)
@@ -11,7 +11,7 @@ rof{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index c14710b..cf88740 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 rof_TZ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cc7e558..f70ce50 100644 (file)
@@ -1,8 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * ICU <specials> source: <path>/common/main/root.xml\r
- */\r
 root{\r
     AuxExemplarCharacters{"[]"}\r
     Ellipsis{\r
@@ -174,7 +171,7 @@ root{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             AmPmMarkers:alias{"/LOCALE/calendar/gregorian/AmPmMarkers"}\r
index 1b0f420..f4bc3ff 100644 (file)
@@ -292,7 +292,7 @@ ru{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index 3a23578..36645a3 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ru_BY{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f697713..af3139a 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ru_KG{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 765c913..8d9cebb 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ru_KZ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ed5463c..896808b 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ru_MD{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ee98e2b..bb8e8c3 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ru_RU{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a7e6599..737cb4e 100644 (file)
@@ -4,7 +4,7 @@ ru_UA{
     NumberElements{\r
         minimumGroupingDigits{"2"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             availableFormats{\r
index a2c318e..22ee695 100644 (file)
@@ -32,7 +32,7 @@ rw{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index f3c088e..c19de45 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 rw_RW{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3f1fdbb..1d6f458 100644 (file)
@@ -11,7 +11,7 @@ rwk{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 205257c..4bb93d5 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 rwk_TZ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ff9e450..108f11a 100644 (file)
@@ -164,7 +164,7 @@ sah{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index d097e1e..f7769e6 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sah_RU{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index af1661c..67a8cc5 100644 (file)
@@ -12,7 +12,7 @@ saq{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 546b32e..ecc0578 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 saq_KE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/locales/sat.txt b/source/data/locales/sat.txt
new file mode 100644 (file)
index 0000000..73e8280
--- /dev/null
@@ -0,0 +1,291 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sat{\r
+    ExemplarCharacters{"[ᱚ ᱛ ᱜ ᱝ ᱞ ᱟ ᱠ ᱡ ᱢ ᱣ ᱤ ᱥ ᱦ ᱧ ᱨ ᱩ ᱪ ᱫ ᱬ ᱭ ᱮ ᱯ ᱰ ᱱ ᱲ ᱳ ᱴ ᱵ ᱶ ᱷ ᱸ ᱹ ᱺ ᱻ ᱼ ᱽ]"}\r
+    ExemplarCharactersNumbers{"[\\- ‑ , . % + 0᱐ 1᱑ 2᱒ 3᱓ 4᱔ 5᱕ 6᱖ 7᱗ 8᱘ 9᱙]"}\r
+    NumberElements{\r
+        default{"olck"}\r
+    }\r
+    Version{"37"}\r
+    calendar{\r
+        generic{\r
+            DateTimePatterns{\r
+                "h:mm:ss a zzzz",\r
+                "h:mm:ss a z",\r
+                "h:mm:ss a",\r
+                "h:mm a",\r
+                "G y MMMM d, EEEE",\r
+                "G y MMMM d",\r
+                "G y MMM d",\r
+                "GGGGG y-MM-dd",\r
+                "{1} {0}",\r
+                "{1} {0}",\r
+                "{1} {0}",\r
+                "{1} {0}",\r
+                "{1} {0}",\r
+            }\r
+        }\r
+        gregorian{\r
+            AmPmMarkers{\r
+                "ᱥᱤᱧ/ᱥᱮᱛᱟᱜ",\r
+                "ᱟᱹᱭᱩᱵ/ᱧᱤᱫᱟ",\r
+            }\r
+            DateTimePatterns{\r
+                "h:mm:ss a zzzz",\r
+                "h:mm:ss a z",\r
+                "h:mm:ss a",\r
+                "h:mm a",\r
+                "EEEE, d MMMM y",\r
+                "d MMMM y",\r
+                "d MMM y",\r
+                "d/M/yy",\r
+                "{1} {0}",\r
+                "{1} {0}",\r
+                "{1} {0}",\r
+                "{1} {0}",\r
+                "{1} {0}",\r
+            }\r
+            dayNames{\r
+                format{\r
+                    abbreviated{\r
+                        "ᱥᱤᱸ",\r
+                        "ᱚᱛ",\r
+                        "ᱵᱟ",\r
+                        "ᱥᱟᱹ",\r
+                        "ᱥᱟᱹᱨ",\r
+                        "ᱡᱟᱹ",\r
+                        "ᱧᱩ",\r
+                    }\r
+                    narrow{\r
+                        "ᱥ",\r
+                        "ᱚ",\r
+                        "ᱵ",\r
+                        "ᱥ",\r
+                        "ᱥ",\r
+                        "ᱡ",\r
+                        "ᱧ",\r
+                    }\r
+                    wide{\r
+                        "ᱥᱤᱸᱜᱮ",\r
+                        "ᱚᱛᱮ",\r
+                        "ᱵᱟᱞᱮ",\r
+                        "ᱥᱟᱹᱜᱩᱱ",\r
+                        "ᱥᱟᱹᱨᱫᱤ",\r
+                        "ᱡᱟᱹᱨᱩᱢ",\r
+                        "ᱧᱩᱦᱩᱢ",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    abbreviated{\r
+                        "ᱥᱤᱸ",\r
+                        "ᱚᱛ",\r
+                        "ᱵᱟ",\r
+                        "ᱥᱟᱹ",\r
+                        "ᱥᱟᱹᱨ",\r
+                        "ᱡᱟᱹ",\r
+                        "ᱧᱩ",\r
+                    }\r
+                    narrow{\r
+                        "ᱥ",\r
+                        "ᱚ",\r
+                        "ᱵ",\r
+                        "ᱥ",\r
+                        "ᱥ",\r
+                        "ᱡ",\r
+                        "ᱧ",\r
+                    }\r
+                }\r
+            }\r
+            monthNames{\r
+                format{\r
+                    abbreviated{\r
+                        "ᱡᱟᱱ",\r
+                        "ᱯᱷᱟ",\r
+                        "ᱢᱟᱨ",\r
+                        "ᱟᱯᱨ",\r
+                        "ᱢᱮ",\r
+                        "ᱡᱩᱱ",\r
+                        "ᱡᱩᱞ",\r
+                        "ᱟᱜᱟ",\r
+                        "ᱥᱮᱯ",\r
+                        "ᱚᱠᱴ",\r
+                        "ᱱᱟᱣ",\r
+                        "ᱫᱤᱥ",\r
+                    }\r
+                    narrow{\r
+                        "ᱡ",\r
+                        "ᱯ",\r
+                        "ᱢ",\r
+                        "ᱟ",\r
+                        "ᱢ",\r
+                        "ᱡ",\r
+                        "ᱡ",\r
+                        "ᱟ",\r
+                        "ᱥ",\r
+                        "ᱚ",\r
+                        "ᱱ",\r
+                        "ᱫ",\r
+                    }\r
+                    wide{\r
+                        "ᱡᱟᱱᱣᱟᱨᱤ",\r
+                        "ᱯᱷᱟᱨᱣᱟᱨᱤ",\r
+                        "ᱢᱟᱨᱪ",\r
+                        "ᱟᱯᱨᱮᱞ",\r
+                        "ᱢᱮ",\r
+                        "ᱡᱩᱱ",\r
+                        "ᱡᱩᱞᱟᱭ",\r
+                        "ᱟᱜᱟᱥᱛ",\r
+                        "ᱥᱮᱯᱴᱮᱢᱵᱟᱨ",\r
+                        "ᱚᱠᱴᱚᱵᱟᱨ",\r
+                        "ᱱᱟᱣᱟᱢᱵᱟᱨ",\r
+                        "ᱫᱤᱥᱟᱢᱵᱟᱨ",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    abbreviated{\r
+                        "ᱡᱟᱱ",\r
+                        "ᱯᱷᱟ",\r
+                        "ᱢᱟᱨ",\r
+                        "ᱟᱯᱨ",\r
+                        "ᱢᱮ",\r
+                        "ᱡᱩᱱ",\r
+                        "ᱡᱩᱞ",\r
+                        "ᱟᱜᱟ",\r
+                        "ᱥᱮᱯ",\r
+                        "ᱚᱠᱴ",\r
+                        "ᱱᱟᱣ",\r
+                        "ᱫᱤᱥ",\r
+                    }\r
+                    narrow{\r
+                        "ᱡ",\r
+                        "ᱯ",\r
+                        "ᱢ",\r
+                        "ᱟ",\r
+                        "ᱢ",\r
+                        "ᱡ",\r
+                        "ᱡ",\r
+                        "ᱟ",\r
+                        "ᱥ",\r
+                        "ᱚ",\r
+                        "ᱱ",\r
+                        "ᱫ",\r
+                    }\r
+                }\r
+            }\r
+            quarters{\r
+                format{\r
+                    abbreviated{\r
+                        "᱑ᱟᱜ ᱯᱮ ᱪᱟᱸᱫᱚᱠᱤᱭᱟᱹ",\r
+                        "᱒ᱟᱜ ᱯᱮ ᱪᱟᱸᱫᱚᱠᱤᱭᱟᱹ",\r
+                        "᱓ᱭᱟᱜ ᱯᱮ ᱪᱟᱸᱫᱚᱠᱤᱭᱟᱹ",\r
+                        "᱔ᱟᱜ ᱯᱮ ᱪᱟᱸᱫᱚᱠᱤᱭᱟᱹ",\r
+                    }\r
+                    narrow{\r
+                        "᱑",\r
+                        "᱒",\r
+                        "᱓",\r
+                        "᱔",\r
+                    }\r
+                    wide{\r
+                        "᱑ᱟᱜ ᱯᱮ ᱪᱟᱸᱫᱚᱠᱤᱭᱟᱹ",\r
+                        "᱒ᱟᱜ ᱯᱮ ᱪᱟᱸᱫᱚᱠᱤᱭᱟᱹ",\r
+                        "᱓ᱭᱟᱜ ᱯᱮ ᱪᱟᱸᱫᱚᱠᱤᱭᱟᱹ",\r
+                        "᱔ᱟᱜ ᱯᱮ ᱪᱟᱸᱫᱚᱠᱤᱭᱟᱹ",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    narrow{\r
+                        "᱑",\r
+                        "᱒",\r
+                        "᱓",\r
+                        "᱔",\r
+                    }\r
+                    wide{\r
+                        "᱑ᱟᱜ ᱯᱮ ᱪᱟᱸᱫᱚᱠᱤᱭᱟᱹ",\r
+                        "᱒ᱟᱜ ᱯᱮ ᱪᱟᱸᱫᱚᱠᱤᱭᱟᱹ",\r
+                        "᱓ᱭᱟᱜ ᱯᱮ ᱪᱟᱸᱫᱚᱠᱤᱭᱟᱹ",\r
+                        "᱔ᱟᱜ ᱯᱮ ᱪᱟᱸᱫᱚᱠᱤᱭᱟᱹ",\r
+                    }\r
+                }\r
+            }\r
+        }\r
+    }\r
+    delimiters{\r
+        alternateQuotationEnd{"’"}\r
+        alternateQuotationStart{"‘"}\r
+        quotationEnd{"”"}\r
+        quotationStart{"“"}\r
+    }\r
+    fields{\r
+        day{\r
+            dn{"ᱢᱟᱦᱟ"}\r
+            relative{\r
+                "-1"{"ᱦᱚᱞᱟ"}\r
+                "0"{"ᱛᱮᱦᱮᱧ"}\r
+                "1"{"ᱜᱟᱯᱟ"}\r
+            }\r
+        }\r
+        day-narrow{\r
+            dn{"ᱢᱟᱦᱟ"}\r
+        }\r
+        day-short{\r
+            dn{"ᱢᱟᱦᱟ"}\r
+        }\r
+        dayperiod{\r
+            dn{"ᱥᱮᱛᱟᱜ/ᱟᱹᱭᱩᱵ"}\r
+        }\r
+        era{\r
+            dn{"ᱡᱩᱜᱽ"}\r
+        }\r
+        hour{\r
+            dn{"ᱴᱟᱲᱟᱝ"}\r
+        }\r
+        minute{\r
+            dn{"ᱴᱤᱯᱤᱡ"}\r
+        }\r
+        month{\r
+            dn{"ᱪᱟᱸᱫᱚ"}\r
+        }\r
+        month-narrow{\r
+            dn{"ᱪᱟᱸᱫᱚ"}\r
+        }\r
+        month-short{\r
+            dn{"ᱪᱟᱸᱫᱚ"}\r
+        }\r
+        quarter{\r
+            dn{"ᱯᱮᱪᱟᱸᱫᱚ"}\r
+        }\r
+        quarter-narrow{\r
+            dn{"ᱯᱮᱪᱟᱸᱫᱚ"}\r
+        }\r
+        quarter-short{\r
+            dn{"ᱯᱮᱪᱟᱸᱫᱚ"}\r
+        }\r
+        second{\r
+            dn{"ᱴᱤᱡ"}\r
+        }\r
+        week{\r
+            dn{"ᱦᱟᱯᱛᱟ/ᱮᱢᱦᱟ"}\r
+        }\r
+        week-narrow{\r
+            dn{"ᱦᱟᱯᱛᱟ/ᱮᱢᱦᱟ"}\r
+        }\r
+        week-short{\r
+            dn{"ᱦᱟᱯᱛᱟ/ᱮᱢᱦᱟ"}\r
+        }\r
+        weekday{\r
+            dn{"ᱦᱟᱯᱛᱟ ᱨᱮᱭᱟᱜ ᱢᱟᱦᱟ"}\r
+        }\r
+        year{\r
+            dn{"ᱥᱮᱨᱢᱟ/ᱵᱚᱪᱷᱚᱞᱨ"}\r
+        }\r
+        zone{\r
+            dn{"ᱴᱚᱴᱷᱟ"}\r
+        }\r
+    }\r
+    measurementSystemNames{\r
+        UK{"ᱭᱩᱠᱮ"}\r
+        US{"ᱭᱩᱮᱥ"}\r
+        metric{"ᱢᱤᱴᱨᱤᱠ"}\r
+    }\r
+}\r
diff --git a/source/data/locales/sat_IN.txt b/source/data/locales/sat_IN.txt
new file mode 100644 (file)
index 0000000..2a70401
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sat_IN{\r
+    "%%ALIAS"{"sat_Olck_IN"}\r
+}\r
diff --git a/source/data/locales/sat_Olck.txt b/source/data/locales/sat_Olck.txt
new file mode 100644 (file)
index 0000000..5849570
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sat_Olck{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/locales/sat_Olck_IN.txt b/source/data/locales/sat_Olck_IN.txt
new file mode 100644 (file)
index 0000000..7d43001
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sat_Olck_IN{\r
+    Version{"37"}\r
+}\r
index 7196a35..5fa3c8a 100644 (file)
@@ -18,7 +18,7 @@ sbp{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 3dd8377..9c757eb 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sbp_TZ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d39d788..b7ab1f3 100644 (file)
@@ -215,7 +215,7 @@ sd{
         minimumGroupingDigits{"1"}\r
         native{"arab"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
diff --git a/source/data/locales/sd_Arab.txt b/source/data/locales/sd_Arab.txt
new file mode 100644 (file)
index 0000000..67d68db
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sd_Arab{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/locales/sd_Arab_PK.txt b/source/data/locales/sd_Arab_PK.txt
new file mode 100644 (file)
index 0000000..356e030
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sd_Arab_PK{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/locales/sd_Deva.txt b/source/data/locales/sd_Deva.txt
new file mode 100644 (file)
index 0000000..8e63474
--- /dev/null
@@ -0,0 +1,318 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sd_Deva{\r
+    %%Parent{"root"}\r
+    AuxExemplarCharacters{"[\u200C\u200D]"}\r
+    ExemplarCharacters{\r
+        "[\u093C \u0902 अ आ इ ई उ ऊ ए ऐ ओ औ क ख ग ॻ घ ङ च छ ज ॼ झ ञ ट ठ ड ॾ ढ ण त थ द"\r
+        " ध न प फ ब ॿ भ म य र ल व श ष स ह ा ि ी \u0941 \u0942 \u0943 \u0944 \u0945 "\r
+        "\u0947 \u0948 ॉ ो ौ \u094D]"\r
+    }\r
+    ExemplarCharactersNumbers{"[\\- ‑ , . % ‰ + 0 1 2 3 4 5 6 7 8 9]"}\r
+    ExemplarCharactersPunctuation{\r
+        "[\\- ‐ ‑ – — , ; \\: ! ? . … ' ‘ ’ \u0022 “ ” ( ) \\[ \\] § @ * / \\& # † ‡ "\r
+        "′ ″]"\r
+    }\r
+    NumberElements{\r
+        default{"latn"}\r
+        native{"latn"}\r
+    }\r
+    Version{"37"}\r
+    calendar{\r
+        generic{\r
+            DateTimePatterns{\r
+                "a h:mm:ss zzzz",\r
+                "a h:mm:ss z",\r
+                "a h:mm:ss",\r
+                "a h:mm",\r
+                "EEEE, MMMM d, y G",\r
+                "MMMM d, y G",\r
+                "MMM d, y G",\r
+                "M/d/y GGGGG",\r
+                "{1}, {0}",\r
+                "{1} 'at' {0}",\r
+                "{1} 'at' {0}",\r
+                "{1}, {0}",\r
+                "{1}, {0}",\r
+            }\r
+            intervalFormats{\r
+                fallback{"{0} – {1}"}\r
+            }\r
+        }\r
+        gregorian{\r
+            AmPmMarkers{\r
+                "मंझंदि का पहिंरो",\r
+                "मंझंदि को पोए",\r
+            }\r
+            DateTimePatterns{\r
+                "a h:mm:ss zzzz",\r
+                "a h:mm:ss z",\r
+                "a h:mm:ss",\r
+                "a h:mm",\r
+                "EEEE, d MMMM y",\r
+                "d MMMM y",\r
+                "d MMM y",\r
+                "d/M/yy",\r
+                "{1}, {0}",\r
+                "{1} 'at' {0}",\r
+                "{1} {0}",\r
+                "{1}, {0}",\r
+                "{1}, {0}",\r
+            }\r
+            availableFormats{\r
+                Bh{"h B"}\r
+                Bhm{"h:mm B"}\r
+                Bhms{"h:mm:ss B"}\r
+                EBhm{"E h:mm B"}\r
+                EBhms{"E h:mm:ss B"}\r
+                EHm{"E HH:mm"}\r
+                EHms{"E HH:mm:ss"}\r
+                Ed{"d E"}\r
+                Ehm{"E h:mm a"}\r
+                Ehms{"E h:mm:ss a"}\r
+                GyMMMEd{"E, MMM d, y G"}\r
+                H{"HH"}\r
+                Hm{"HH:mm"}\r
+                Hms{"HH:mm:ss"}\r
+                Hmsv{"HH:mm:ss v"}\r
+                Hmv{"HH:mm v"}\r
+                MEd{"E, M/d"}\r
+                MMMEd{"E, MMM d"}\r
+                Md{"M/d"}\r
+                h{"h a"}\r
+                hm{"h:mm a"}\r
+                hms{"h:mm:ss a"}\r
+                hmsv{"h:mm:ss a v"}\r
+                hmv{"h:mm a v"}\r
+                ms{"mm:ss"}\r
+                yM{"M/y"}\r
+                yMEd{"E, M/d/y"}\r
+                yMMM{"MMM y"}\r
+                yMMMM{"MMMM y"}\r
+                yMMMd{"MMM d, y"}\r
+                yMd{"M/d/y"}\r
+                yQQQ{"QQQ y"}\r
+                yQQQQ{"QQQQ y"}\r
+            }\r
+            dayNames{\r
+                format{\r
+                    abbreviated{\r
+                        "आर्त",\r
+                        "सू",\r
+                        "मंग",\r
+                        "बुध",\r
+                        "विस",\r
+                        "जुम",\r
+                        "छंछ",\r
+                    }\r
+                    narrow{\r
+                        "आ",\r
+                        "म",\r
+                        "मं",\r
+                        "बु",\r
+                        "वि",\r
+                        "शु",\r
+                        "छं",\r
+                    }\r
+                    wide{\r
+                        "आर्तवार",\r
+                        "सूमर",\r
+                        "मंगलु",\r
+                        "बुधर",\r
+                        "विस्पत",\r
+                        "जुमओ",\r
+                        "छंछर",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    abbreviated{\r
+                        "आ",\r
+                        "सू",\r
+                        "मं",\r
+                        "बुध",\r
+                        "विस्",\r
+                        "जुम",\r
+                        "छंछ",\r
+                    }\r
+                    narrow{\r
+                        "आ",\r
+                        "सू",\r
+                        "मं",\r
+                        "बु",\r
+                        "वि",\r
+                        "शु",\r
+                        "छं",\r
+                    }\r
+                    wide{\r
+                        "आर्त",\r
+                        "सू",\r
+                        "मं",\r
+                        "बुध",\r
+                        "विस",\r
+                        "जुम",\r
+                        "छंछ",\r
+                    }\r
+                }\r
+            }\r
+            eras{\r
+                abbreviated{\r
+                    "बीसी",\r
+                    "एडी",\r
+                }\r
+                abbreviated%variant{\r
+                    "बीसीई",\r
+                    "सीई",\r
+                }\r
+            }\r
+            intervalFormats{\r
+                fallback{"{0} – {1}"}\r
+            }\r
+            monthNames{\r
+                format{\r
+                    abbreviated{\r
+                        "जन",\r
+                        "फर",\r
+                        "मार्च",\r
+                        "अप्रै",\r
+                        "मई",\r
+                        "जून",\r
+                        "जु",\r
+                        "अग",\r
+                        "सितं",\r
+                        "अक्टू",\r
+                        "नवं",\r
+                        "दिसं",\r
+                    }\r
+                    wide{\r
+                        "जनवरी",\r
+                        "फरवरी",\r
+                        "मार्चु",\r
+                        "अप्रैल",\r
+                        "मई",\r
+                        "जून",\r
+                        "जुलाई",\r
+                        "अगस्त",\r
+                        "सितंबर",\r
+                        "अक्टूबर",\r
+                        "नवंबर",\r
+                        "दिसंबर",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    abbreviated{\r
+                        "जन",\r
+                        "फर",\r
+                        "मार्च",\r
+                        "अप्रै",\r
+                        "मई",\r
+                        "जून",\r
+                        "जुला",\r
+                        "अग",\r
+                        "सितं",\r
+                        "अक्टू",\r
+                        "नवं",\r
+                        "दिसं",\r
+                    }\r
+                    narrow{\r
+                        "ज",\r
+                        "फ़",\r
+                        "म",\r
+                        "अ",\r
+                        "म",\r
+                        "जू",\r
+                        "जु",\r
+                        "अ",\r
+                        "सि",\r
+                        "अ",\r
+                        "न",\r
+                        "द",\r
+                    }\r
+                }\r
+            }\r
+            quarters{\r
+                format{\r
+                    abbreviated{\r
+                        "पहिरों पाड़ो",\r
+                        "ॿियो पाड़ो",\r
+                        "टियो पाड़ो",\r
+                        "चोथो पाड़ो",\r
+                    }\r
+                    narrow{\r
+                        "1",\r
+                        "2",\r
+                        "3",\r
+                        "1",\r
+                    }\r
+                    wide{\r
+                        "पहिरों पाड़ो",\r
+                        "ॿियो पाड़ो",\r
+                        "टियो पाड़ो",\r
+                        "चोथो पाड़ो",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    abbreviated{\r
+                        "पहिरों पाड़ो",\r
+                        "ॿियो पाड़ो",\r
+                        "टियो पाड़ो",\r
+                        "चोथो पाड़ो",\r
+                    }\r
+                    narrow{\r
+                        "1",\r
+                        "2",\r
+                        "3",\r
+                        "4",\r
+                    }\r
+                    wide{\r
+                        "पहिरों पाड़ो",\r
+                        "ॿियो पाड़ो",\r
+                        "टियो पाड़ो",\r
+                        "चोथो पाड़ो",\r
+                    }\r
+                }\r
+            }\r
+        }\r
+    }\r
+    fields{\r
+        day{\r
+            dn{"ॾींहु"}\r
+            relative{\r
+                "-1"{"कल"}\r
+                "0"{"अॼु"}\r
+                "1"{"सुभाणे"}\r
+            }\r
+        }\r
+        dayperiod{\r
+            dn{"ॾींहु/रातु"}\r
+        }\r
+        hour{\r
+            dn{"कलाक"}\r
+        }\r
+        month{\r
+            dn{"महीनो"}\r
+        }\r
+        quarter{\r
+            dn{"चोथो"}\r
+        }\r
+        second{\r
+            dn{"सेकिंडु"}\r
+        }\r
+        week{\r
+            dn{"हफ्तो"}\r
+        }\r
+        weekday{\r
+            dn{"हफ्ते जो ॾींहु"}\r
+        }\r
+        year-short{\r
+            dn{"साल"}\r
+        }\r
+        zone{\r
+            dn{"वक्तु जो दायरो"}\r
+        }\r
+    }\r
+    measurementSystemNames{\r
+        UK{"यूके"}\r
+        US{"यूएस"}\r
+        metric{"मीट्रिकु"}\r
+    }\r
+}\r
diff --git a/source/data/locales/sd_Deva_IN.txt b/source/data/locales/sd_Deva_IN.txt
new file mode 100644 (file)
index 0000000..76bd8aa
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sd_Deva_IN{\r
+    Version{"37"}\r
+}\r
index 77976d4..a9e1e2c 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sd_PK{\r
-    Version{"36.1"}\r
+    "%%ALIAS"{"sd_Arab_PK"}\r
 }\r
index 89701f6..786c94e 100644 (file)
@@ -166,7 +166,7 @@ se{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index f4d950a..90f2cee 100644 (file)
@@ -62,7 +62,7 @@ se_FI{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 5ac506e..49bc175 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 se_NO{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ed693bd..d62e26d 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 se_SE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f827ae9..6a90c0a 100644 (file)
@@ -18,7 +18,7 @@ seh{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 876acee..700f320 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 seh_MZ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 58f8790..484afd7 100644 (file)
@@ -15,7 +15,7 @@ ses{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index fd2646f..c948282 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ses_ML{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d132449..5e0edf7 100644 (file)
@@ -16,7 +16,7 @@ sg{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index a88c6aa..262604f 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sg_CF{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 15e394e..2e2e9d7 100644 (file)
@@ -15,7 +15,7 @@ shi{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 6e5f85b..ecf5ce1 100644 (file)
@@ -17,7 +17,7 @@ shi_Latn{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 4191464..a806531 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 shi_Latn_MA{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3632ea2..6ab72b9 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 shi_Tfng{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b11da2a..cb93475 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 shi_Tfng_MA{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e0fcedf..2c95819 100644 (file)
@@ -221,7 +221,7 @@ si{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index d72ddd9..12655f4 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 si_LK{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c1ec9d0..8f5649b 100644 (file)
@@ -289,7 +289,7 @@ sk{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index 61a6428..8c0129b 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sk_SK{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3b09abc..fde94bb 100644 (file)
@@ -288,7 +288,7 @@ sl{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index b60f2ec..28072a0 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sl_SI{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index aadc21b..8872740 100644 (file)
@@ -98,7 +98,7 @@ smn{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 022496b..008be7d 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 smn_FI{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 23bd55f..a7c1041 100644 (file)
@@ -33,7 +33,7 @@ sn{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index c2f2afa..5c4e286 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sn_ZW{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3790d60..084dd4f 100644 (file)
@@ -8,6 +8,98 @@ so{
         "′ ″]"\r
     }\r
     NumberElements{\r
+        arab{\r
+            symbols{\r
+                exponential{"E"}\r
+                superscriptingExponent{"×"}\r
+            }\r
+        }\r
+        arabext{\r
+            symbols{\r
+                exponential{"E"}\r
+            }\r
+        }\r
+        bali{\r
+            symbols{\r
+                nan{"NaN"}\r
+            }\r
+        }\r
+        beng{\r
+            symbols{\r
+                plusSign{"+"}\r
+                superscriptingExponent{"×"}\r
+            }\r
+        }\r
+        cham{\r
+            symbols{\r
+                nan{"NaN"}\r
+            }\r
+        }\r
+        fullwide{\r
+            symbols{\r
+                superscriptingExponent{"(^)"}\r
+            }\r
+        }\r
+        gong{\r
+            symbols{\r
+                nan{"NaN"}\r
+                superscriptingExponent{"×"}\r
+            }\r
+        }\r
+        gonm{\r
+            symbols{\r
+                superscriptingExponent{"×"}\r
+            }\r
+        }\r
+        gujr{\r
+            symbols{\r
+                superscriptingExponent{"×"}\r
+            }\r
+        }\r
+        guru{\r
+            symbols{\r
+                superscriptingExponent{"×"}\r
+            }\r
+        }\r
+        java{\r
+            symbols{\r
+                superscriptingExponent{"×"}\r
+            }\r
+        }\r
+        kali{\r
+            symbols{\r
+                nan{"NaN"}\r
+                superscriptingExponent{"×"}\r
+            }\r
+        }\r
+        khmr{\r
+            symbols{\r
+                superscriptingExponent{"×"}\r
+            }\r
+        }\r
+        knda{\r
+            symbols{\r
+                nan{"NaN"}\r
+                superscriptingExponent{"×"}\r
+            }\r
+        }\r
+        lana{\r
+            symbols{\r
+                infinity{"∞"}\r
+                nan{"NaN"}\r
+            }\r
+        }\r
+        lanatham{\r
+            symbols{\r
+                nan{"NaN"}\r
+                superscriptingExponent{"×"}\r
+            }\r
+        }\r
+        laoo{\r
+            symbols{\r
+                superscriptingExponent{"×"}\r
+            }\r
+        }\r
         latn{\r
             patterns{\r
                 accountingFormat{"¤#,##0.00;(¤#,##0.00)"}\r
@@ -135,6 +227,17 @@ so{
                 nan{"MaL"}\r
             }\r
         }\r
+        lepc{\r
+            symbols{\r
+                nan{"NaN"}\r
+                superscriptingExponent{"(^)"}\r
+            }\r
+        }\r
+        limb{\r
+            symbols{\r
+                nan{"NaN"}\r
+            }\r
+        }\r
         minimalPairs{\r
             ordinal{\r
                 other{"U leexo dhanka midig ee {0}aad"}\r
@@ -144,9 +247,278 @@ so{
                 other{"{0} maalmood"}\r
             }\r
         }\r
+        mlym{\r
+            symbols{\r
+                superscriptingExponent{"×"}\r
+            }\r
+        }\r
+        mong{\r
+            symbols{\r
+                nan{"NaN"}\r
+            }\r
+        }\r
+        mtei{\r
+            symbols{\r
+                superscriptingExponent{"×"}\r
+            }\r
+        }\r
+        mymr{\r
+            symbols{\r
+                nan{"NaN"}\r
+            }\r
+        }\r
+        mymrshan{\r
+            symbols{\r
+                nan{"NaN"}\r
+            }\r
+        }\r
+        orya{\r
+            symbols{\r
+                superscriptingExponent{"×"}\r
+            }\r
+        }\r
+        osma{\r
+            symbols{\r
+                superscriptingExponent{"(^)"}\r
+            }\r
+        }\r
+        rohg{\r
+            symbols{\r
+                superscriptingExponent{"×"}\r
+            }\r
+        }\r
+        saur{\r
+            symbols{\r
+                superscriptingExponent{"×"}\r
+            }\r
+        }\r
+        sund{\r
+            symbols{\r
+                nan{"NaN"}\r
+            }\r
+        }\r
+        takr{\r
+            symbols{\r
+                nan{"NaN"}\r
+            }\r
+        }\r
+        talu{\r
+            symbols{\r
+                nan{"NaN"}\r
+            }\r
+        }\r
+        tamldec{\r
+            symbols{\r
+                nan{"NaN"}\r
+                superscriptingExponent{"×"}\r
+            }\r
+        }\r
+        telu{\r
+            symbols{\r
+                nan{"NaN"}\r
+                superscriptingExponent{"×"}\r
+            }\r
+        }\r
+        thai{\r
+            symbols{\r
+                nan{"NaN"}\r
+                superscriptingExponent{"×"}\r
+            }\r
+        }\r
+        tibt{\r
+            symbols{\r
+                nan{"NaN"}\r
+                superscriptingExponent{"×"}\r
+            }\r
+        }\r
+        vaii{\r
+            symbols{\r
+                nan{"NaN"}\r
+            }\r
+        }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
+        chinese{\r
+            cyclicNameSets{\r
+                solarTerms{\r
+                    format{\r
+                        abbreviated{\r
+                            "guga ayaa bilaabmaya",\r
+                            "biyaha roobka",\r
+                            "xayayaan lakiciyay",\r
+                            "guga ekuinikis",\r
+                            "dhalaalaya cad na",\r
+                            "hadhuudha roobka",\r
+                            "jiilaalka ayaa bilaabmaya",\r
+                            "hadhuudh buuxda",\r
+                            "hadhuudh dhagta kujirta",\r
+                            "xaalka kulka",\r
+                            "kulayl yar",\r
+                            "kulayl weeyn",\r
+                            "daayrta ayaa bilaabmaysa",\r
+                            "dhamaadka kulaylka",\r
+                            "dhado cad",\r
+                            "ekuinokiska daayrta",\r
+                            "dhado qaboow",\r
+                            "baraf soo dhacaya",\r
+                            "qaboowbaha ayaa bilaabmaya",\r
+                            "baraf yar",\r
+                            "baraf weeyn",\r
+                            "qorax qabow",\r
+                            "qaboow yar",\r
+                            "qaboow weeyn",\r
+                        }\r
+                        narrow{\r
+                            "guga ayaa bilaabmaya",\r
+                            "biyaha roobka",\r
+                            "cayayaan kacay",\r
+                            "guga ekuinikis",\r
+                            "dhalaalya cad na",\r
+                            "hadhuudha roobka",\r
+                            "kulka ayaa bilaabmaya",\r
+                            "hadhuudh buuxda",\r
+                            "hadhuudh ku jirta dhagaha",\r
+                            "xaalada kulka",\r
+                            "kuleeyl yar",\r
+                            "kulayl weeyn",\r
+                            "deyrta ayaa bilaameeysa",\r
+                            "dhamaadka kulaylka",\r
+                            "dhado cad",\r
+                            "ekuinokiska daayrta",\r
+                            "dhado qaboow",\r
+                            "baraf soo dhacaya",\r
+                            "kulka ayaa bilaabmaya",\r
+                            "barafka yar",\r
+                            "baraf weeyn",\r
+                            "xaalada qaboobaha",\r
+                            "qaboow weeyn",\r
+                            "qaboow weeyn",\r
+                        }\r
+                        wide{\r
+                            "guga ayaa bilaabmaya",\r
+                            "biyaha roobka",\r
+                            "cayayaan lakiciyay",\r
+                            "guga ekuinikis",\r
+                            "dhalaalaya cad na",\r
+                            "hadhuudha roobka",\r
+                            "jiilaalka ayaa bilaabmaya",\r
+                            "hadhuudh buuxda",\r
+                            "hadhuudh dhagta kujirta",\r
+                            "xaalada kulka",\r
+                            "kulayl yar",\r
+                            "kulayl weeyn",\r
+                            "daayrta ayaa bilaabmaysa",\r
+                            "dhamaadka kulaylka",\r
+                            "dhado cad",\r
+                            "ekuinokiska daayrta",\r
+                            "dhado qaboow",\r
+                            "baraf soo dhacaya",\r
+                            "qaboowbaha ayaa bilaabmaya",\r
+                            "baraf yar",\r
+                            "baraf weeyn",\r
+                            "qorax qabow",\r
+                            "qaboow yar",\r
+                            "qaboow weeyn",\r
+                        }\r
+                    }\r
+                }\r
+                zodiacs{\r
+                    format{\r
+                        abbreviated{\r
+                            "Jiir",\r
+                            "Dibi",\r
+                            "Shabeel",\r
+                            "Bakeeyle",\r
+                            "Masduullaa",\r
+                            "Mas",\r
+                            "Faras",\r
+                            "Ri",\r
+                            "Daanyeer",\r
+                            "Diiq",\r
+                            "Eey",\r
+                            "Doofaar",\r
+                        }\r
+                        narrow{\r
+                            "Jiir",\r
+                            "Dibi",\r
+                            "Shabeel",\r
+                            "Bakeeyle",\r
+                            "Masduullaa",\r
+                            "Mas",\r
+                            "Faras",\r
+                            "Ri",\r
+                            "Daanyeer",\r
+                            "Diiq",\r
+                            "Eey",\r
+                            "Doofaar",\r
+                        }\r
+                        wide{\r
+                            "Jiir",\r
+                            "Dibi",\r
+                            "Shabeel",\r
+                            "Bakeeyle",\r
+                            "Masduullaa",\r
+                            "Mas",\r
+                            "Faras",\r
+                            "Ri",\r
+                            "daanyeer",\r
+                            "Diiq",\r
+                            "Eey",\r
+                            "Doofaar",\r
+                        }\r
+                    }\r
+                }\r
+            }\r
+            monthNames{\r
+                format{\r
+                    abbreviated{\r
+                        "Bisha1",\r
+                        "Bisha2",\r
+                        "Bisha3",\r
+                        "Bisha4",\r
+                        "Bisha5",\r
+                        "Bisha6",\r
+                        "Bisha7",\r
+                        "Bisha8",\r
+                        "Bisha9",\r
+                        "Bisha10",\r
+                        "Bisha11",\r
+                        "Bisha12",\r
+                    }\r
+                    wide{\r
+                        "Bisha Koobaad",\r
+                        "bisha labaad",\r
+                        "bisha saddexaad",\r
+                        "bisha afaraad",\r
+                        "bisha shanaad",\r
+                        "bisha lixaad",\r
+                        "bisha todobaad",\r
+                        "bisha siddedad",\r
+                        "bisha sagaalad",\r
+                        "bisha tobnaad",\r
+                        "bisha kow iyo tobnaad",\r
+                        "bisha laba iyo tobnaad",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    wide{\r
+                        "Bisha Koobaad",\r
+                        "Bisha Labaad",\r
+                        "Bisha Sadexaad",\r
+                        "Bisha Afraad",\r
+                        "Bisha Shanaad",\r
+                        "Bisha Lixaad",\r
+                        "Bisha Todabaad",\r
+                        "Bisha Sideedaad",\r
+                        "Bisha Sagaalaad",\r
+                        "Bisha Tobnaad",\r
+                        "Bisha Kow iyo Tobnaad",\r
+                        "Bisha laba iyo Tobnaad",\r
+                    }\r
+                }\r
+            }\r
+        }\r
         generic{\r
             DateTimePatterns{\r
                 "h:mm:ss a zzzz",\r
@@ -231,6 +603,20 @@ so{
                     d{"M/d/y – M/d/y GGGGG"}\r
                     y{"M/d/y – M/d/y GGGGG"}\r
                 }\r
+                H{\r
+                    H{"HH – HH"}\r
+                }\r
+                Hm{\r
+                    H{"HH:mm – HH:mm"}\r
+                    m{"HH:mm – HH:mm"}\r
+                }\r
+                Hmv{\r
+                    H{"HH:mm – HH:mm v"}\r
+                    m{"HH:mm – HH:mm v"}\r
+                }\r
+                Hv{\r
+                    H{"HH – HH v"}\r
+                }\r
                 M{\r
                     M{"M–M"}\r
                 }\r
@@ -445,6 +831,14 @@ so{
                     "KTM",\r
                     "TM",\r
                 }\r
+                narrow{\r
+                    "B",\r
+                    "A",\r
+                }\r
+                narrow%variant{\r
+                    "KTM",\r
+                    "CE",\r
+                }\r
                 wide{\r
                     "Ciise Hortii",\r
                     "Ciise Dabadii",\r
@@ -670,11 +1064,51 @@ so{
                 }\r
             }\r
         }\r
+        hebrew{\r
+            DateTimePatterns{\r
+                "h:mm:ss a zzzz",\r
+                "h:mm:ss a z",\r
+                "h:mm:ss a",\r
+                "h:mm a",\r
+                "EEEE, MMMM d, y G",\r
+                "MMMM d, y G",\r
+                "MMM d, y G",\r
+                "M/d/y GGGGG",\r
+                "{1}, {0}",\r
+                "{1} 'barta' {0}",\r
+                "{1} 'barta' {0}",\r
+                "{1}, {0}",\r
+                "{1}, {0}",\r
+            }\r
+        }\r
+        indian{\r
+            DateTimePatterns{\r
+                "h:mm:ss a zzzz",\r
+                "h:mm:ss a z",\r
+                "h:mm:ss a",\r
+                "h:mm a",\r
+                "EEEE, MMMM d, y G",\r
+                "MMMM d, y G",\r
+                "MMM d, y G",\r
+                "M/d/y GGGGG",\r
+                "{1}, {0}",\r
+                "{1} 'barta' {0}",\r
+                "{1} 'barta' {0}",\r
+                "{1}, {0}",\r
+                "{1}, {0}",\r
+            }\r
+        }\r
         islamic{\r
             eras{\r
                 abbreviated{\r
                     "HD",\r
                 }\r
+                narrow{\r
+                    "AH",\r
+                }\r
+                wide{\r
+                    "AH",\r
+                }\r
             }\r
             monthNames{\r
                 format{\r
@@ -739,6 +1173,42 @@ so{
                 }\r
             }\r
         }\r
+        persian{\r
+            monthNames{\r
+                format{\r
+                    wide{\r
+                        "Janaayo",\r
+                        "Feebraayo",\r
+                        "Maarso",\r
+                        "Abril",\r
+                        "Maayo",\r
+                        "Juun",\r
+                        "Luuliyo",\r
+                        "Agoosto",\r
+                        "Sabteembar",\r
+                        "Oktoobar",\r
+                        "Noofeembar",\r
+                        "Diiseembar",\r
+                    }\r
+                }\r
+            }\r
+        }\r
+        roc{\r
+            eras{\r
+                abbreviated{\r
+                    "Kahor R.O.C.",\r
+                    "Minguo",\r
+                }\r
+                narrow{\r
+                    "Kahor R.O.C.",\r
+                    "Minguo",\r
+                }\r
+                wide{\r
+                    "Kahor R.O.C.",\r
+                    "Minguo",\r
+                }\r
+            }\r
+        }\r
     }\r
     characterLabel{\r
         activities{"Waxqabad"}\r
@@ -1079,6 +1549,11 @@ so{
         }\r
         quarter-short{\r
             dn{"rbc"}\r
+            relative{\r
+                "-1"{"Rubucii ugu dambeeyay"}\r
+                "0"{"Rubucan"}\r
+                "1"{"Rubuca xiga"}\r
+            }\r
             relativeTime{\r
                 future{\r
                     one{"{0} rbc"}\r
@@ -1142,6 +1617,9 @@ so{
         }\r
         second-short{\r
             dn{"ilbrqsi"}\r
+            relative{\r
+                "0"{"Iminka"}\r
+            }\r
             relativeTime{\r
                 future{\r
                     one{"{0} ilbrqsi"}\r
index 7665028..e81000c 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 so_DJ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bbb0550..0bf711c 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 so_ET{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c9948c4..11a1d30 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 so_KE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 8cec4d9..ba40175 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 so_SO{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a529c96..0e0429d 100644 (file)
@@ -222,7 +222,7 @@ sq{
         minimumGroupingDigits{"2"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index b0f8591..769eaf2 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sq_AL{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6bed267..bdb6bbd 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sq_MK{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 0170411..98fc34a 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sq_XK{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 11afdbc..3cba44c 100644 (file)
@@ -249,7 +249,7 @@ sr{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
@@ -695,10 +695,6 @@ sr{
                     "п. н. е.",\r
                     "н. е.",\r
                 }\r
-                abbreviated%variant{\r
-                    "п. н. е.",\r
-                    "н. е.",\r
-                }\r
                 narrow{\r
                     "п.н.е.",\r
                     "н.е.",\r
index 1ed798b..f89f3af 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sr_Cyrl{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d0dcbb9..f1ed6b1 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sr_Cyrl_BA{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             intervalFormats{\r
index 94de1c0..fdcdcbc 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sr_Cyrl_ME{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             intervalFormats{\r
index 63e96f5..4c471e1 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sr_Cyrl_RS{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 570ddce..390b030 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sr_Cyrl_XK{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             intervalFormats{\r
index 1dd5587..60c6d8e 100644 (file)
@@ -250,7 +250,7 @@ sr_Latn{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
@@ -696,10 +696,6 @@ sr_Latn{
                     "p. n. e.",\r
                     "n. e.",\r
                 }\r
-                abbreviated%variant{\r
-                    "p. n. e.",\r
-                    "n. e.",\r
-                }\r
                 narrow{\r
                     "p.n.e.",\r
                     "n.e.",\r
index 05bb099..a3a1644 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sr_Latn_BA{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             intervalFormats{\r
index cb4b9a2..a7b431d 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sr_Latn_ME{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             intervalFormats{\r
index 9e93934..374e4f0 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sr_Latn_RS{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cda7a64..7c4dcbf 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sr_Latn_XK{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             intervalFormats{\r
diff --git a/source/data/locales/su.txt b/source/data/locales/su.txt
new file mode 100644 (file)
index 0000000..6979212
--- /dev/null
@@ -0,0 +1,402 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+su{\r
+    AuxExemplarCharacters{"[á à ă â å ä ã ā æ ç è ĕ ê ë ē í ì ĭ î ï ī ñ ó ò ŏ ô ö ø ō œ ú ù ŭ û ü ū ÿ]"}\r
+    ExemplarCharacters{"[a b c d e é f g h i j k l m n o p q r s t u v w x y z]"}\r
+    ExemplarCharactersIndex{"[A B C D E É F G H I J K L M N O P Q R S T U V W X Y Z]"}\r
+    ExemplarCharactersNumbers{"[\\- ‑ , . % ‰ + 0 1 2 3 4 5 6 7 8 9]"}\r
+    ExemplarCharactersPunctuation{\r
+        "[\\- ‐ ‑ – — , ; \\: ! ? . … ' ‘ ’ \u0022 “ ” ( ) \\[ \\] § @ * / \\& # † ‡ "\r
+        "′ ″]"\r
+    }\r
+    NumberElements{\r
+        latn{\r
+            patterns{\r
+                decimalFormat{"#,##0.###"}\r
+            }\r
+            symbols{\r
+                decimal{","}\r
+                group{"."}\r
+                plusSign{"+"}\r
+                timeSeparator{"."}\r
+            }\r
+        }\r
+    }\r
+    Version{"37"}\r
+    calendar{\r
+        generic{\r
+            DateTimePatterns{\r
+                "H.mm.ss zzzz",\r
+                "H.mm.ss z",\r
+                "H.mm.ss",\r
+                "H.mm",\r
+                "EEEE, d MMMM y G",\r
+                "d MMMM y G",\r
+                "d MMM y G",\r
+                "d/M/y GGGGG",\r
+                "{1}, {0}",\r
+                "{1} 'pukul' {0}",\r
+                "{1} 'pukul' {0}",\r
+                "{1}, {0}",\r
+                "{1}, {0}",\r
+            }\r
+            intervalFormats{\r
+                fallback{"{0} – {1}"}\r
+            }\r
+        }\r
+        gregorian{\r
+            DateTimePatterns{\r
+                "H.mm.ss zzzz",\r
+                "H.mm.ss z",\r
+                "H.mm.ss",\r
+                "H.mm",\r
+                "EEEE, d MMMM y",\r
+                "d MMMM y",\r
+                "d MMM y",\r
+                "d/M/yy",\r
+                "{1}, {0}",\r
+                "{1} 'pukul' {0}",\r
+                "{1} 'pukul' {0}",\r
+                "{1}, {0}",\r
+                "{1}, {0}",\r
+            }\r
+            availableFormats{\r
+                Bhm{"h.mm B"}\r
+                Bhms{"h.mm.ss B"}\r
+                EBhm{"E h.mm B"}\r
+                EBhms{"E h.mm.ss B"}\r
+                EHm{"E HH.mm"}\r
+                EHms{"E HH:mm:ss"}\r
+                Ed{"E d"}\r
+                Ehm{"E h.mm a"}\r
+                Ehms{"E h.mm.ss a"}\r
+                Gy{"y G"}\r
+                GyMMM{"MMM y G"}\r
+                GyMMMEd{"E, d MMM y G"}\r
+                GyMMMd{"d MMM y G"}\r
+                Hm{"HH.mm"}\r
+                Hms{"HH.mm.ss"}\r
+                Hmsv{"HH.mm.ss v"}\r
+                Hmv{"HH.mm v"}\r
+                M{"L"}\r
+                MEd{"E, d/M"}\r
+                MMMEd{"E, d MMM"}\r
+                MMMMd{"d MMMM"}\r
+                MMMd{"d MMM"}\r
+                Md{"d/M"}\r
+                h{"h a"}\r
+                hm{"h.mm a"}\r
+                hms{"h.mm.ss a"}\r
+                hmsv{"h.mm.ss a v"}\r
+                hmv{"h.mm a v"}\r
+                ms{"mm.ss"}\r
+                yM{"M/y"}\r
+                yMEd{"E, d/M/y"}\r
+                yMMM{"MMM y"}\r
+                yMMMEd{"E, d MMM y"}\r
+                yMMMM{"MMMM y"}\r
+                yMMMd{"d MMM, y"}\r
+                yMd{"d/M/y"}\r
+                yQQQ{"QQQ y"}\r
+                yQQQQ{"QQQQ y"}\r
+            }\r
+            dayNames{\r
+                format{\r
+                    abbreviated{\r
+                        "Mng",\r
+                        "Sen",\r
+                        "Sal",\r
+                        "Reb",\r
+                        "Kam",\r
+                        "Jum",\r
+                        "Sap",\r
+                    }\r
+                    narrow{\r
+                        "M",\r
+                        "S",\r
+                        "S",\r
+                        "R",\r
+                        "K",\r
+                        "J",\r
+                        "S",\r
+                    }\r
+                    wide{\r
+                        "Minggu",\r
+                        "Senén",\r
+                        "Salasa",\r
+                        "Rebo",\r
+                        "Kamis",\r
+                        "Jumaah",\r
+                        "Saptu",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    abbreviated{\r
+                        "Mng",\r
+                        "Sen",\r
+                        "Sal",\r
+                        "Reb",\r
+                        "Kam",\r
+                        "Jum",\r
+                        "Sap",\r
+                    }\r
+                    narrow{\r
+                        "M",\r
+                        "S",\r
+                        "S",\r
+                        "R",\r
+                        "K",\r
+                        "J",\r
+                        "S",\r
+                    }\r
+                    wide{\r
+                        "Minggu",\r
+                        "Senén",\r
+                        "Salasa",\r
+                        "Rebo",\r
+                        "Kamis",\r
+                        "Jumaah",\r
+                        "Saptu",\r
+                    }\r
+                }\r
+            }\r
+            eras{\r
+                abbreviated{\r
+                    "SM",\r
+                    "M",\r
+                }\r
+            }\r
+            intervalFormats{\r
+                fallback{"{0} – {1}"}\r
+            }\r
+            monthNames{\r
+                format{\r
+                    abbreviated{\r
+                        "Jan",\r
+                        "Péb",\r
+                        "Mar",\r
+                        "Apr",\r
+                        "Méi",\r
+                        "Jun",\r
+                        "Jul",\r
+                        "Ags",\r
+                        "Sép",\r
+                        "Okt",\r
+                        "Nop",\r
+                        "Dés",\r
+                    }\r
+                    narrow{\r
+                        "J",\r
+                        "P",\r
+                        "M",\r
+                        "A",\r
+                        "M",\r
+                        "J",\r
+                        "J",\r
+                        "A",\r
+                        "S",\r
+                        "O",\r
+                        "N",\r
+                        "D",\r
+                    }\r
+                    wide{\r
+                        "Januari",\r
+                        "Pébruari",\r
+                        "Maret",\r
+                        "April",\r
+                        "Méi",\r
+                        "Juni",\r
+                        "Juli",\r
+                        "Agustus",\r
+                        "Séptémber",\r
+                        "Oktober",\r
+                        "Nopémber",\r
+                        "Désémber",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    narrow{\r
+                        "J",\r
+                        "P",\r
+                        "M",\r
+                        "A",\r
+                        "M",\r
+                        "J",\r
+                        "J",\r
+                        "A",\r
+                        "S",\r
+                        "O",\r
+                        "N",\r
+                        "D",\r
+                    }\r
+                    wide{\r
+                        "Januari",\r
+                        "Pébruari",\r
+                        "Maret",\r
+                        "April",\r
+                        "Méi",\r
+                        "Juni",\r
+                        "Juli",\r
+                        "Agustus",\r
+                        "Séptémber",\r
+                        "Oktober",\r
+                        "Nopémber",\r
+                        "Désémber",\r
+                    }\r
+                }\r
+            }\r
+            quarters{\r
+                format{\r
+                    abbreviated{\r
+                        "K1",\r
+                        "K2",\r
+                        "K3",\r
+                        "K4",\r
+                    }\r
+                    wide{\r
+                        "kuartal ka-1",\r
+                        "kuartal ka-2",\r
+                        "kuartal ka-3",\r
+                        "kuartal ka-4",\r
+                    }\r
+                }\r
+                stand-alone{\r
+                    abbreviated{\r
+                        "K1",\r
+                        "K2",\r
+                        "K3",\r
+                        "K4",\r
+                    }\r
+                    wide{\r
+                        "kuartal ka-1",\r
+                        "kuartal ka-2",\r
+                        "kuartal ka-3",\r
+                        "kuartal-ka 4",\r
+                    }\r
+                }\r
+            }\r
+        }\r
+    }\r
+    delimiters{\r
+        quotationEnd{"”"}\r
+    }\r
+    fields{\r
+        day{\r
+            dn{"dinten"}\r
+            relative{\r
+                "-1"{"kamari"}\r
+                "0"{"dinten ieu"}\r
+                "1"{"énjing"}\r
+            }\r
+        }\r
+        day-narrow{\r
+            dn{"dinten"}\r
+            relative{\r
+                "-1"{"kamari"}\r
+                "0"{"dinten ieu"}\r
+                "1"{"énjing"}\r
+            }\r
+        }\r
+        day-short{\r
+            dn{"dinten"}\r
+            relative{\r
+                "-1"{"kamari"}\r
+                "0"{"dinten ieu"}\r
+                "1"{"énjing"}\r
+            }\r
+        }\r
+        dayperiod{\r
+            dn{"AM/PM"}\r
+        }\r
+        era{\r
+            dn{"éra"}\r
+        }\r
+        hour{\r
+            dn{"jam"}\r
+        }\r
+        hour-narrow{\r
+            dn{"j."}\r
+        }\r
+        hour-short{\r
+            dn{"j."}\r
+        }\r
+        minute{\r
+            dn{"menit"}\r
+        }\r
+        minute-narrow{\r
+            dn{"mnt."}\r
+        }\r
+        minute-short{\r
+            dn{"mnt."}\r
+        }\r
+        month{\r
+            dn{"sasih"}\r
+        }\r
+        month-narrow{\r
+            dn{"sa."}\r
+        }\r
+        month-short{\r
+            dn{"sa."}\r
+        }\r
+        quarter{\r
+            dn{"triwulan"}\r
+        }\r
+        quarter-narrow{\r
+            dn{"tri."}\r
+        }\r
+        quarter-short{\r
+            dn{"tri."}\r
+        }\r
+        second{\r
+            dn{"detik"}\r
+        }\r
+        second-narrow{\r
+            dn{"dtk."}\r
+        }\r
+        second-short{\r
+            dn{"dtk."}\r
+        }\r
+        week{\r
+            dn{"minggu"}\r
+        }\r
+        week-narrow{\r
+            dn{"mgg."}\r
+        }\r
+        week-short{\r
+            dn{"mgg."}\r
+        }\r
+        weekday{\r
+            dn{"dinten dina saminggu"}\r
+        }\r
+        year{\r
+            dn{"taun"}\r
+            relative{\r
+                "-1"{"taun kamari"}\r
+                "0"{"taun ieu"}\r
+                "1"{"taun payun"}\r
+            }\r
+        }\r
+        year-narrow{\r
+            dn{"tn."}\r
+        }\r
+        year-short{\r
+            dn{"tn."}\r
+        }\r
+        zone{\r
+            dn{"zona waktu"}\r
+        }\r
+    }\r
+    listPattern{\r
+        standard{\r
+            2{"{0} sareng {1}"}\r
+            end{"{0}, sareng {1}"}\r
+            middle{"{0}, {1}"}\r
+            start{"{0}, {1}"}\r
+        }\r
+    }\r
+    measurementSystemNames{\r
+        UK{"U.K."}\r
+        US{"A.S."}\r
+        metric{"Métrik"}\r
+    }\r
+}\r
diff --git a/source/data/locales/su_ID.txt b/source/data/locales/su_ID.txt
new file mode 100644 (file)
index 0000000..54a4c8f
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+su_ID{\r
+    "%%ALIAS"{"su_Latn_ID"}\r
+}\r
diff --git a/source/data/locales/su_Latn.txt b/source/data/locales/su_Latn.txt
new file mode 100644 (file)
index 0000000..2cd8bd7
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+su_Latn{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/locales/su_Latn_ID.txt b/source/data/locales/su_Latn_ID.txt
new file mode 100644 (file)
index 0000000..58fc386
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+su_Latn_ID{\r
+    Version{"37"}\r
+}\r
index 01b8749..4d59bbd 100644 (file)
@@ -251,7 +251,7 @@ sv{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             availableFormats{\r
@@ -571,11 +571,26 @@ sv{
                     h{"h:mm – h:mm B"}\r
                     m{"h:mm – h:mm B"}\r
                 }\r
+                Gy{\r
+                    y{"y – y G"}\r
+                }\r
+                GyMEd{\r
+                    G{"y-MM-dd, E GGGG – y-MM-dd, E GGGG"}\r
+                    M{"E, M/d/y – E, M/d/y GGGGG"}\r
+                    d{"y-MM-dd, E – y-MM-dd, E GGGGG"}\r
+                    y{"E, M/d/y – E, M/d/y GGGGG"}\r
+                }\r
                 GyMMM{\r
                     G{"MMM y G – MMM y G"}\r
                     M{"MMM – MMM y G"}\r
                     y{"MMM y G – MMM y"}\r
                 }\r
+                GyMMMEd{\r
+                    G{"E d MMM y G – E d MMM y G"}\r
+                    M{"E d MMM – E d MMM y G"}\r
+                    d{"E d MMM – E d MMM y G"}\r
+                    y{"E d MMM y – E d MMM y G"}\r
+                }\r
                 GyMMMd{\r
                     G{"d MMM y G – d MMM y G"}\r
                     M{"d MMM – d MMM y G"}\r
index 7d005e7..fd1f19b 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sv_AX{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f42a0cb..c90fd96 100644 (file)
@@ -8,7 +8,7 @@ sv_FI{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             availableFormats{\r
index a0cd421..a803007 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sv_SE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fab8326..6d04be4 100644 (file)
@@ -212,7 +212,7 @@ sw{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 42438d5..cc3e0bb 100644 (file)
@@ -11,7 +11,7 @@ sw_CD{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             availableFormats{\r
index dff5781..6f158c1 100644 (file)
@@ -148,7 +148,7 @@ sw_KE{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index b1bb909..29df2d4 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sw_TZ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 64da4d2..9fff424 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sw_UG{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f184d3e..6a5bd61 100644 (file)
@@ -242,7 +242,7 @@ ta{
         }\r
         traditional{"taml"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index 341da29..86e5ce5 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ta_IN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5556b0d..8378284 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ta_LK{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index fd50365..472b2e2 100644 (file)
@@ -10,5 +10,5 @@ ta_MY{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2ab1bb6..6496b6e 100644 (file)
@@ -10,5 +10,5 @@ ta_SG{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 23228ad..f098b1f 100644 (file)
@@ -240,7 +240,7 @@ te{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index a85a22f..baa0f2e 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 te_IN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6bcb025..2231187 100644 (file)
@@ -12,7 +12,7 @@ teo{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 65ac10f..53c7323 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 teo_KE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 29e3efc..2a3cbe4 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 teo_UG{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 321c510..57b02d5 100644 (file)
@@ -157,7 +157,7 @@ tg{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -562,6 +562,20 @@ tg{
                         "Дхул-Қ.",\r
                         "Дхул-Ҳ.",\r
                     }\r
+                    wide{\r
+                        "муҳаррам",\r
+                        "сафар",\r
+                        "Рабеъ I",\r
+                        "Рабеъ II",\r
+                        "ҷимоди-ул-уло",\r
+                        "ҷимоди-ул-сони",\r
+                        "раҷаб",\r
+                        "Шабан",\r
+                        "Рамадан",\r
+                        "Шаввал",\r
+                        "Дхут-Қидаҳ",\r
+                        "Дхут-Ҳиҷҷаҳ",\r
+                    }\r
                 }\r
                 stand-alone{\r
                     abbreviated{\r
@@ -578,6 +592,20 @@ tg{
                         "Дхул-Қ.",\r
                         "Дхул-Ҳ.",\r
                     }\r
+                    wide{\r
+                        "муҳаррам",\r
+                        "сафар",\r
+                        "Рабеъ I",\r
+                        "Рабеъ II",\r
+                        "ҷимоди-ул-уло",\r
+                        "ҷимоди-ул-сони",\r
+                        "раҷаб",\r
+                        "Шабан",\r
+                        "Рамадан",\r
+                        "Шаввал",\r
+                        "Дхул-Қидаҳ",\r
+                        "Дхул-Ҳиҷҷаҳ",\r
+                    }\r
                 }\r
             }\r
         }\r
index ec9c24d..21407cb 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 tg_TJ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0185ee3..4a72370 100644 (file)
@@ -183,7 +183,7 @@ th{
         minimumGroupingDigits{"1"}\r
         native{"thai"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
@@ -1488,14 +1488,14 @@ th{
                 }\r
                 GyM{\r
                     G{"MM/GGGGG y – MM/GGGGG y"}\r
-                    M{"M/y – M/y"}\r
-                    y{"M/y – M/y"}\r
+                    M{"M/y – M/y G"}\r
+                    y{"M/y – M/y G"}\r
                 }\r
                 GyMEd{\r
                     G{"E d/MM/GGGGG y – E d/MM/GGGGG y"}\r
-                    M{"E d/M/y – E d/M/y"}\r
-                    d{"E d/M/y – E d/M/y"}\r
-                    y{"E d/M/y – E d/M/y"}\r
+                    M{"E d/M/y – E d/M/y G"}\r
+                    d{"E d/M/y – E d/M/y G"}\r
+                    y{"E d/M/y – E d/M/y G"}\r
                 }\r
                 GyMMM{\r
                     G{"MMM G y – MMM G y"}\r
@@ -1516,9 +1516,9 @@ th{
                 }\r
                 GyMd{\r
                     G{"d/MM/GGGGG y – d/MM/GGGGG y"}\r
-                    M{"d/M/y – d/M/y"}\r
-                    d{"d/M/y – d/M/y"}\r
-                    y{"d/M/y – d/M/y"}\r
+                    M{"d/M/y – d/M/y G"}\r
+                    d{"d/M/y – d/M/y G"}\r
+                    y{"d/M/y – d/M/y G"}\r
                 }\r
                 H{\r
                     H{"HH–HH"}\r
index de81cc1..0be515e 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 th_TH{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a07213d..e942420 100644 (file)
@@ -1,6 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 th_TH_TRADITIONAL{\r
+    Version{"37"}\r
     calendar{\r
         default{"buddhist"}\r
     }\r
index 1f97eb4..1094abe 100644 (file)
@@ -202,7 +202,7 @@ ti{
         native{"latn"}\r
         traditional{"ethi"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 90f0223..78a4e30 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ti_ER{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 8cd9de4..e39e7f2 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ti_ET{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b00e569..62eaca6 100644 (file)
@@ -211,7 +211,7 @@ tk{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 41fc099..0646786 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 tk_TM{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0060065..2f0fb91 100644 (file)
@@ -180,7 +180,7 @@ to{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index a28e427..238f577 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 to_TO{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0a71158..9d31790 100644 (file)
@@ -218,7 +218,7 @@ tr{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index f41fc96..54fd05c 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 tr_CY{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             DateTimePatterns{\r
index 7bcd968..467d1c3 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 tr_TR{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d132b46..6c5c9b7 100644 (file)
@@ -41,7 +41,7 @@ tt{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 9dfe4c5..f944529 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 tt_RU{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index efafb87..fbf5457 100644 (file)
@@ -17,7 +17,7 @@ twq{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 94d1c79..1d384bb 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 twq_NE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d85740d..11d2126 100644 (file)
@@ -16,7 +16,7 @@ tzm{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 9c6f5f4..235cf2a 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 tzm_MA{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7742a61..956e991 100644 (file)
@@ -149,7 +149,7 @@ ug{
         }\r
         native{"arabext"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index f304001..ef1e4e4 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ug_CN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b491e2c..149ab2d 100644 (file)
@@ -293,7 +293,7 @@ uk{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
@@ -938,10 +938,6 @@ uk{
                     "до н. е.",\r
                     "н. е.",\r
                 }\r
-                abbreviated%variant{\r
-                    "до н. е.",\r
-                    "н. е.",\r
-                }\r
                 narrow{\r
                     "до н.е.",\r
                     "н.е.",\r
index 7da0983..a2c640c 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 uk_UA{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b56d6e9..31e7d9d 100644 (file)
@@ -242,7 +242,7 @@ ur{
         minimumGroupingDigits{"1"}\r
         native{"arabext"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             eras{\r
index 20b6742..b854783 100644 (file)
@@ -14,7 +14,7 @@ ur_IN{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     fields{\r
         day-narrow{\r
             relativeTime{\r
index fddc27b..4f7ba7c 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ur_PK{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b582414..2046fb1 100644 (file)
@@ -235,7 +235,7 @@ uz{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index ddf5c57..936b631 100644 (file)
@@ -29,8 +29,9 @@ uz_Arab{
         }\r
         native{"arabext"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
+        default{"persian"}\r
         gregorian{\r
             dayNames{\r
                 format{\r
index 7398bfb..62a776e 100644 (file)
@@ -1,8 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 uz_Arab_AF{\r
-    Version{"36.1"}\r
-    calendar{\r
-        default{"persian"}\r
-    }\r
+    Version{"37"}\r
 }\r
index e9b4246..7e77260 100644 (file)
@@ -165,7 +165,7 @@ uz_Cyrl{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 05a9182..9abab50 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 uz_Cyrl_UZ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fab5249..e0f4ba8 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 uz_Latn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a14d5fe..fd119f7 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 uz_Latn_UZ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 945fc7a..835c466 100644 (file)
@@ -28,7 +28,7 @@ vai{
         }\r
         native{"vaii"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index e24b7a9..cd4d5f4 100644 (file)
@@ -23,7 +23,7 @@ vai_Latn{
         }\r
         native{"vaii"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -119,24 +119,6 @@ vai_Latn{
                     }\r
                 }\r
             }\r
-            monthNames{\r
-                format{\r
-                    wide{\r
-                        "luukao kemã",\r
-                        "ɓandaɓu",\r
-                        "vɔɔ",\r
-                        "fulu",\r
-                        "goo",\r
-                        "6",\r
-                        "7",\r
-                        "kɔnde",\r
-                        "saah",\r
-                        "galo",\r
-                        "kenpkato ɓololɔ",\r
-                        "luukao lɔma",\r
-                    }\r
-                }\r
-            }\r
         }\r
     }\r
     delimiters{\r
index abff6a9..7b894a1 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 vai_Latn_LR{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8aaf4a5..f361880 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 vai_Vaii{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 984da59..93f2fb8 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 vai_Vaii_LR{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4c95def..5a60d8b 100644 (file)
@@ -171,7 +171,7 @@ vi{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index caf6595..90a73df 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 vi_VN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6c7c8d3..16fef5f 100644 (file)
@@ -11,7 +11,7 @@ vun{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index a65e8cd..d5fce7c 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 vun_TZ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 313ce40..8756cc2 100644 (file)
@@ -16,7 +16,7 @@ wae{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index ae4eedb..4b3623d 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 wae_CH{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f4bd50e..23cb6ef 100644 (file)
@@ -34,7 +34,7 @@ wo{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 98abbda..a727b48 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 wo_SN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 87ea8e4..cdd8e49 100644 (file)
@@ -20,7 +20,7 @@ xh{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
index 1f125df..3c2f289 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 xh_ZA{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 73e315e..d483bbc 100644 (file)
@@ -10,7 +10,7 @@ xog{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 89513f5..30e8e45 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 xog_UG{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c466379..20b3d39 100644 (file)
@@ -22,7 +22,7 @@ yav{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index ee8bcf4..9b06410 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 yav_CM{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3e7ad88..7af4dc3 100644 (file)
@@ -29,7 +29,7 @@ yi{
         native{"latn"}\r
         traditional{"hebr"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 8b75a99..9eb7426 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 yi_001{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bfa2c82..b422fb6 100644 (file)
@@ -21,6 +21,46 @@ yo{
                 percentFormat{"#,##0%"}\r
                 scientificFormat{"#E0"}\r
             }\r
+            patternsLong{\r
+                decimalFormat{\r
+                    1000{\r
+                        other{"0 ẹgbẹ̀rún"}\r
+                    }\r
+                    10000{\r
+                        other{"00 ẹgbẹ̀rún"}\r
+                    }\r
+                    100000{\r
+                        other{"000 ẹgbẹ̀rún"}\r
+                    }\r
+                    1000000{\r
+                        other{"0 mílíọ̀nù"}\r
+                    }\r
+                    10000000{\r
+                        other{"00 mílíọ̀nù"}\r
+                    }\r
+                    100000000{\r
+                        other{"000 mílíọ̀nù"}\r
+                    }\r
+                    1000000000{\r
+                        other{"0 bilíọ̀nù"}\r
+                    }\r
+                    10000000000{\r
+                        other{"00 bilíọ̀nù"}\r
+                    }\r
+                    100000000000{\r
+                        other{"000 bilíọ̀nù"}\r
+                    }\r
+                    1000000000000{\r
+                        other{"0 tiriliọ̀nù"}\r
+                    }\r
+                    10000000000000{\r
+                        other{"00 tiriliọ̀nù"}\r
+                    }\r
+                    100000000000000{\r
+                        other{"000 tiriliọ̀nù"}\r
+                    }\r
+                }\r
+            }\r
             symbols{\r
                 decimal{"."}\r
                 exponential{"E"}\r
@@ -44,7 +84,7 @@ yo{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
@@ -544,6 +584,13 @@ yo{
                 "1"{"Ọjọ́ Àìkú tó ń bọ̀"}\r
             }\r
         }\r
+        sun-narrow{\r
+            relativeTime{\r
+                future{\r
+                    other{"Ọjọ́ Àíkú +{0}"}\r
+                }\r
+            }\r
+        }\r
         week{\r
             dn{"Ọ̀sẹ̀"}\r
             relative{\r
index 508e012..4d85efb 100644 (file)
@@ -6,6 +6,48 @@ yo_BJ{
         "\u0301} {ɔ\u0300} p r s {sh} t u ú ù w y]"\r
     }\r
     NumberElements{\r
+        latn{\r
+            patternsLong{\r
+                decimalFormat{\r
+                    1000{\r
+                        other{"0 ɛgbɛ̀rún"}\r
+                    }\r
+                    10000{\r
+                        other{"00 ɛgbɛ̀rún"}\r
+                    }\r
+                    100000{\r
+                        other{"000 ɛgbɛ̀rún"}\r
+                    }\r
+                    1000000{\r
+                        other{"0 mílíɔ̀nù"}\r
+                    }\r
+                    10000000{\r
+                        other{"00 mílíɔ̀nù"}\r
+                    }\r
+                    100000000{\r
+                        other{"000 mílíɔ̀nù"}\r
+                    }\r
+                    1000000000{\r
+                        other{"0 bilíɔ̀nù"}\r
+                    }\r
+                    10000000000{\r
+                        other{"00 bilíɔ̀nù"}\r
+                    }\r
+                    100000000000{\r
+                        other{"000 bilíɔ̀nù"}\r
+                    }\r
+                    1000000000000{\r
+                        other{"0 tiriliɔ̀nù"}\r
+                    }\r
+                    10000000000000{\r
+                        other{"00 tiriliɔ̀nù"}\r
+                    }\r
+                    100000000000000{\r
+                        other{"000 tiriliɔ̀nù"}\r
+                    }\r
+                }\r
+            }\r
+        }\r
         minimalPairs{\r
             ordinal{\r
                 other{"Mú {0} apá ɔ̀tún"}\r
@@ -15,7 +57,7 @@ yo_BJ{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         gregorian{\r
             AmPmMarkers{\r
@@ -285,6 +327,13 @@ yo_BJ{
                 "1"{"Ɔjɔ́ Àìkú tó ń bɔ̀"}\r
             }\r
         }\r
+        sun-narrow{\r
+            relativeTime{\r
+                future{\r
+                    other{"Ɔjɔ́ Àíkú +{0}"}\r
+                }\r
+            }\r
+        }\r
         week{\r
             dn{"Ɔ̀sɛ̀"}\r
             relative{\r
index 6429dba..ad58822 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 yo_NG{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a7a2600..1d2d6be 100644 (file)
@@ -262,7 +262,7 @@ yue{
         native{"hanidec"}\r
         traditional{"hant"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index 120d313..3ed9873 100644 (file)
@@ -260,7 +260,7 @@ yue_Hans{
         native{"hanidec"}\r
         traditional{"hans"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index b62e35d..8c616ca 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 yue_Hans_CN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b28249c..f2c5c91 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 yue_Hant{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b94b4b7..7910072 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 yue_Hant_HK{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 145891a..3328a04 100644 (file)
@@ -32,7 +32,7 @@ zgh{
         }\r
         minimumGroupingDigits{"1"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index 6f48452..6d3fc3e 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zgh_MA{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e6eaad3..0b06103 100644 (file)
@@ -705,7 +705,7 @@ zh{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index ad4e8b3..54a1c90 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh_Hans{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 825f379..b999a5e 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh_Hans_CN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fa7d20f..0f6c89a 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh_Hans_HK{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index db1ab7b..fe1dea5 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh_Hans_MO{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         chinese{\r
             DateTimePatterns{\r
index 0f3370f..a748bdc 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh_Hans_SG{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index 1d038ab..7216947 100644 (file)
@@ -3,10 +3,10 @@
 zh_Hant{\r
     %%Parent{"root"}\r
     AuxExemplarCharacters{\r
-        "[ä¹\8d ä¹³ ä»\82 ä¼\8f ä½\90 ä¾¶ å\83³ å\85\86 å\85\8c å\85¹ å\88\92 å\88« å\88¸ å\8b³ å\8c\95 å\8c\99 å\8c£ å\8d\91 å\8d\9e å\8d  å\8f\89 å\8f¶ å\90» å\98\9f å\99\98 å ¤ å¢\8e å£¤ å¥¥ å¦\96 å­\9c å³\87 å¶¼ å·½ å·¾ å¸\86 å»\81 å»\9a"\r
-        " å¼\8b å¼\93 æ\87¸ æ\88\9f æ\89³ æ\8d\82 æ\91\94 æ\9a\88 æ \97 æ¡\86 æ¡¶ æ¡¿ æ¥\94 æ«\83 æ¶\85 æ¸¾ æ¾\8e ç\85\8e ç\87¦ ç\87­ ç\89¡ ç\8b\84 ç\90³ ç\91\9a ç\94« ç\9aº ç\9b\92 ç\9c¨ ç\9c© ç¢\91 ç¤\81 ç­\92 ç°\8d ç³° ç´\8b ç´\97 çº\8f çº\9c"\r
-        " ç¾¯ è\81³ è\82\96 è\89\87 è\8a\92 è\8b\97 è\8c¨ è\93¬ è\99¹ è\9a© è\9b\9b è\9c\80 è\9c\98 è\9d´ è\9d¸ è \9f è£\98 è£\99 è¬¬ è±\9a èº¬ é\85\8b é\87\98 é\88\94 é\88\95 é\89\9b é\8e\9a é\8e¬ é\90º é\91° é\91½ é\9a´ é\9c\84 é\9e  éª° éª· é«\8f é¯\89"\r
-        " 鳶]"\r
+        "[ä¹\8d ä¹³ ä»\82 ä¼\8f ä½\90 ä¾¶ å\83³ å\85\86 å\85\8c å\85¹ å\88\92 å\88« å\88¸ å\8b³ å\8c\95 å\8c\99 å\8c£ å\8d\91 å\8d\9e å\8d  å\8f\89 å\8f¶ å\90» å\93º å\98\9f å\99\98 å ¤ å¢\8e å£¤ å¥¥ å¦\96 å¬° å­\9c å³\87 å¶¼ å·½ å·¾ å¸\86"\r
+        " å»\81 å»\9a å¼\8b å¼\93 æ\87¸ æ\88\9f æ\89³ æ\8d\82 æ\91\94 æ\9a\88 æ \97 æ¡\86 æ¡¶ æ¡¿ æ¥\94 æ«\83 æ¶\85 æ¸¾ æ¾\8e ç\85\8e ç\87\95 ç\87¦ ç\87­ ç\89¡ ç\8b\84 ç\90³ ç\91\9a ç\94« ç\96\8a ç\9aº ç\9b\92 ç\9c¨ ç\9c© ç¢\91 ç¤\81 ç­\92 ç°\8d ç³°"\r
+        " ç´\8b ç´\97 çº\8f çº\9c ç¾¯ è\81³ è\82\96 è\89\87 è\8a\92 è\8b\97 è\8c¨ è\8f± è\93¬ è\99¹ è\9a© è\9b\9b è\9c\80 è\9c\98 è\9d´ è\9d¸ è \9f è£\98 è£\99 è¬¬ è±\9a è·¨ èº¬ é\81\9e é\85\8b é\87\98 é\88\94 é\88\95 é\89\9b é\8e\9a é\8e¬ é\90º é\91° é\91½"\r
+        " é\9a´ é\9c\84 é\9e  é¤µ éª° éª· é«\8f é¯\89 é³¶]"\r
     }\r
     Ellipsis{\r
         final{"{0}…"}\r
@@ -1376,7 +1376,7 @@ zh_Hant{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             DateTimePatterns{\r
index 6702bc6..98e64ac 100644 (file)
@@ -91,7 +91,7 @@ zh_Hant_HK{
             }\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         buddhist{\r
             availableFormats{\r
index 448f7d6..cf72366 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh_Hant_MO{\r
     %%Parent{"zh_Hant_HK"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 92be4b7..8f3cb76 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh_Hant_TW{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a40c167..9bc5b76 100644 (file)
@@ -220,7 +220,7 @@ zu{
         minimumGroupingDigits{"1"}\r
         native{"latn"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     calendar{\r
         generic{\r
             DateTimePatterns{\r
index c8d4a2a..fdf3d0f 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zu_ZA{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4c9005a..a40547a 100644 (file)
 \r
 ##############################################################################\r
 # Keep the following in sync with the version - see common/unicode/uvernum.h\r
-U_ICUDATA_NAME=icudt66\r
+U_ICUDATA_NAME=icudt67\r
 ##############################################################################\r
 !IF "$(UWP)" == "UWP"\r
 # Optionally change the name of the data file for the UWP version.\r
-U_ICUDATA_NAME=icudt66\r
+U_ICUDATA_NAME=icudt67\r
 !ENDIF\r
 U_ICUDATA_ENDIAN_SUFFIX=l\r
 UNICODE_VERSION=13.0\r
@@ -214,6 +214,9 @@ COMMON_ICUDATA_ARGUMENTS=-f -e $(U_ICUDATA_NAME) -v $(ICU_PACKAGE_MODE) -c -p $(
 !IF "$(UWP)" == "UWP"\r
 COMMON_ICUDATA_ARGUMENTS=$(COMMON_ICUDATA_ARGUMENTS) -u\r
 !ENDIF\r
+!IF "$(CFG)" == "x64\Release" || "$(CFG)" == "x64\Debug"\r
+COMMON_ICUDATA_ARGUMENTS=$(COMMON_ICUDATA_ARGUMENTS) -a X64\r
+!ENDIF\r
 !IF "$(CFG)" == "ARM\Release" || "$(CFG)" == "ARM\Debug"\r
 COMMON_ICUDATA_ARGUMENTS=$(COMMON_ICUDATA_ARGUMENTS) -a ARM\r
 !ENDIF\r
index 02bce37..ca1953a 100644 (file)
@@ -8,6 +8,6 @@
 // ***************************************************************************\r
 \r
 icuver:table(nofallback){ \r
-    DataVersion { "66.1.0.0" }\r
-    ICUVersion  { "66.1.0.0" }\r
+    DataVersion { "67.1.0.0" }\r
+    ICUVersion  { "67.1.0.0" }\r
 }\r
index 9bae65b..903a909 100644 (file)
@@ -668,6 +668,7 @@ keyTypeData:table(nofallback){
             roman{""}\r
             romanlow{""}\r
             saur{""}\r
+            segment{""}\r
             shrd{""}\r
             sind{""}\r
             sinh{""}\r
index 64849b4..a7ee486 100644 (file)
@@ -214,625 +214,626 @@ langInfo:table(nofallback){
             "YU","RS",\r
             "ZR","CD",\r
         }  // regionAliases\r
-        trie:bin{  // BytesTrie: 9842 bytes\r
+        trie:bin{  // BytesTrie: 9865 bytes\r
 001a6dcc1474c4ef77c26977a2b978a4\r
-5479a4c47a0f6d7f7a5b7a30e1ad97e8\r
-2ef5af3b10e1a539022a3c42cc114811\r
-616e01e2a3fdf4a3f80b4d24540e54ca\r
-b8552a5610cea3fb10d3a3fa4dcac150\r
-2a5310d2a3f602c1a3f5c6a3f3c8a3f4\r
-47d4ce473248d81e234910c4a3f001c2\r
-a3f9c6a3ee6d326e36733a7910e2ad97\r
-10e9af3910e5af3a10ed22022aa90c43\r
-b6064910c4a90e6817683269366b3a6c\r
-10edaf3810f8adb410e1af3710f4ad92\r
-61326436653a6710e8adc410e7af3410\r
-eaaf3510e1af3600126d46741b743475\r
-387742e1ade8efadff10edaf0401f5af\r
-05f6af0610e1af076d3c6e406f50725a\r
-7301e7ad83ebaf0310efadfb02e3adfc\r
-e9adfdf5adfe01e2af00f3af0110f3af\r
-0267266736683a693e6a4e6c10f3adfa\r
-10e9adf310e7adf402e2adf5f5adf6f6\r
-adf701e1adf8e9adf961386254636465\r
-01eca520f2adf204e5ade9eaadeaecad\r
-ebeeadecf2aded02f0adeef1adeff2ad\r
-f010e9adf10c6e3d7221722e7332774e\r
-e8af0b10e2af1104e1adbce9af12eca5\r
-2fedaf13f2af1410e5af156e346f3e70\r
-01e5a78df2adb901e1adb2f2af0e01e7\r
-af0feeaf10651d653a6c3e6d02e6af0d\r
-eeada8f2adab10f3af0a02e1af0ce3ad\r
-a4e4ada5613462386301efad72f2ad71\r
-10f6af0810e9af090d6d497330733075\r
-34e9a733efaf2810f3af2d04e1af2ee5\r
-32eaaf31f4af32f7af33012a2e481261\r
-6ef3af30012aaf2f4310ceaf306d3a6f\r
-3e7202e2af2ae5af2becaf2c10ecaf27\r
-10eeaf296520653e67426b4c6c02e5af\r
-24e7af25ecaf2610f2af2001f2af21f7\r
-af2210efaf23612e62606410e4a73307\r
-f40cf4af19f6af1af9af1bfaaf1ceda7\r
-b6efaf16f0af17f3af1802e1af1de2af\r
-1ef9af1f74a25275a4d0760a6f1fe509\r
-e5addbe9ad5fefade36f3472387501ee\r
-ade6f4ade710f4ade410efade5613c65\r
-4c69566c606d01e6ade1f7ade202e7ad\r
-d9e9adc9eeadda01e3addcf0addd01e3\r
-addef6addf10f3ade000267576e91ff2\r
-0ef2abc5f3abc9f4abcff767f9abdfe9\r
-abaaebabb1ecabb5eeabbbefabbd7a24\r
-7a36e1ab89e5ab9be72ee8aba610edab\r
-e2012a2e41127261e2aba2012aaba150\r
-10cbaba2753e7654776478cce17901e1\r
-abe0f6abe103e8abd6ecabd7edabd8f1\r
-abd902e4a7b9ecabdaf5abdb01e8abdc\r
-f1abdd6b7d7049705e716e7272738274\r
-06f10cf1abb9f2abd3f3abd4f4abd5e4\r
-abd0e5abd1eaabd202e9abc1edabc2fa\r
-abc310efabc402f5abc6f6abc7f7abc8\r
-04e4abcae6abcbe7abcceaabcdf7abce\r
-6b426c526d626e6c6f02e6abbee7abbf\r
-f1abc002ecabb2f2abb3f4abb402e6ab\r
-b6f8abb7f9abb801e8abb9f9abba10e8\r
-abbc6546655e6674677868886906eb0c\r
-ebabadedabaeefabaff6abb0e2a3b1e6\r
-ababe7abac03e4ab9cedab9defab9ef4\r
-ab9f10e9aba002e3aba3efaba4f5aba5\r
-02ecaba7f1aba8f2aba96144625a6386\r
-6403e4ab97e7ab98e8ab99f5ab9a03ea\r
-ab8aecab8beeab8cf1ab8d06e70ce7ab\r
-91efab92f7ab93faab94e3ab8ee4ab8f\r
-e6ab9001e9ab95f9ab960f735fe72ce7\r
-42ebabe9f2ad47fa012a8641127261e2\r
-add7012a2e43127972ecabe6022aabe5\r
-4b2a4d10ceabe710daabe67360746476\r
-687a10ee012a2e41127261e2add7022a\r
-abf4412a4310ceadd810c6add710e1ad\r
-d310f2add401e8add5ecadd66d326d3e\r
-6e426f707202e9add0f4add1f7add210\r
-e2abeb01f226f8adce012a2e44126576\r
-e1adcd012aadcc4e10d0adcd10ebadcf\r
-62326436673a6c10e9abea10f5abe310\r
-edabe410e1abe870c39570a4f971a6d7\r
+5479a4c47a0f6d7f7a5b7a30e1ad9be8\r
+2ef5af3e10e1a53a022a3c42cc254811\r
+616e01e2a3fef4a3f90b4d24540e54ca\r
+cc552a5610cea3fc10d3a3fb4dcad550\r
+2a5310d2a3f702c1a3f6c6a3f4c8a3f5\r
+47d4e2473248d81e3a4910c4a3f101c2\r
+a3fac6a3ef6d326e36733a7910e2ad9b\r
+10e9af3c10e5af3d10ed22022aa90f43\r
+b6064910c4a9116817683269366b3a6c\r
+10edaf3b10f8adb810e1af3a10f4ad96\r
+61326436653a6710e8adc710e7af3710\r
+eaaf3810e1af3900126d46741b743475\r
+387742e1adebefaf0210edaf0701f5af\r
+08f6af0910e1af0a6d3c6e406f50725a\r
+7301e7ad87ebaf0610efadfe02e3adff\r
+e9af00f5af0101e2af03f3af0410f3af\r
+0567266736683a693e6a4e6c10f3adfd\r
+10e9adf610e7adf702e2adf8f5adf9f6\r
+adfa01e1adfbe9adfc61386254636465\r
+01eca521f2adf504e5adeceaadedecad\r
+eeeeadeff2adf002f0adf1f1adf2f2ad\r
+f310e9adf40c6e3d7221722e7332774e\r
+e8af0e10e2af1404e1adbfe9af15eca5\r
+30edaf16f2af1710e5af186e346f3e70\r
+01e5a78ff2adbc01e1adb6f2af1101e7\r
+af12eeaf13651d653a6c3e6d02e6af10\r
+eeadacf2adaf10f3af0d02e1af0fe3ad\r
+a8e4ada9613462386301efad76f2ad75\r
+10f6af0b10e9af0c0d6d497330733075\r
+34e9a735efaf2b10f3af3004e1af31e5\r
+32eaaf34f4af35f7af36012a2e481261\r
+6ef3af33012aaf324310ceaf336d3a6f\r
+3e7202e2af2de5af2eecaf2f10ecaf2a\r
+10eeaf2c6520653e67426b4c6c02e5af\r
+27e7af28ecaf2910f2af2301f2af24f7\r
+af2510efaf26612e62606410e4a73507\r
+f40cf4af1cf6af1df9af1efaaf1feda7\r
+b9efaf19f0af1af3af1b02e1af20e2af\r
+21f9af2274a25275a4d0760a6f1fe509\r
+e5addee9ad62efade66f3472387501ee\r
+ade9f4adea10f4ade710efade8613c65\r
+4c69566c606d01e6ade4f7ade502e7ad\r
+dce9adcceeaddd01e3addff0ade001e3\r
+ade1f6ade210f3ade300267576e91ff2\r
+0ef2abc8f3abccf4abd2f767f9abe2e9\r
+abadebabb4ecabb8eeabbeefabc07a24\r
+7a36e1ab8ce5ab9ee72ee8aba910edab\r
+e5012a2e41127261e2aba5012aaba450\r
+10cbaba5753e7654776478ccf87901e1\r
+abe3f6abe403e8abd9ecabdaedabdbf1\r
+abdc02e4a7bcecabddf5abde01e8abdf\r
+f1abe06b7d7049705e716e7272738274\r
+06f10cf1abbcf2abd6f3abd7f4abd8e4\r
+abd3e5abd4eaabd502e9abc4edabc5fa\r
+abc610efabc702f5abc9f6abcaf7abcb\r
+04e4abcde6abcee7abcfeaabd0f7abd1\r
+6b426c526d626e6c6f02e6abc1e7abc2\r
+f1abc302ecabb5f2abb6f4abb702e6ab\r
+b9f8abbaf9abbb01e8abbcf9abbd10e8\r
+abbf6546655e6674677868886906eb0c\r
+ebabb0edabb1efabb2f6abb3e2a3b1e6\r
+abaee7abaf03e4ab9fedaba0efaba1f4\r
+aba210e9aba302e3aba6efaba7f5aba8\r
+02ecabaaf1ababf2abac6144625a6386\r
+6403e4ab9ae7ab9be8ab9cf5ab9d03ea\r
+ab8decab8eeeab8ff1ab9006e70ce7ab\r
+94efab95f7ab96faab97e3ab91e4ab92\r
+e6ab9301e9ab98f9ab990f735fe72ce7\r
+42ebabecf2ad4afa012a8641127261e2\r
+adda012a2e43127972ecabe9022aabe8\r
+4b2a4d10ceabea10daabe97360746476\r
+687a10ee012a2e41127261e2adda022a\r
+abf7412a4310ceaddb10c6adda10e1ad\r
+d610f2add701e8add8ecadd96d326d3e\r
+6e426f707202e9add3f4add4f7add510\r
+e2abee01f226f8add1012a2e44126576\r
+e1add0012aadcf4e10d0add010ebadd2\r
+62326436673a6c10e9abed10f5abe610\r
+edabe710e1abeb70c39570a4f971a6d7\r
 72a6e47300287884ec39f229f509f5ab\r
-78f6ab7ef7ab7ff22cf3ab71f4ab7522\r
-032aab2b4da4bf522a5410d2ab2f01cf\r
-ab2ed5ab2cecab53edab58eeab5fefab\r
-65f16de429e438e5ab3be7ab40e9ab49\r
-ebab4f032aab3544324b3a5312696ee4\r
-ab38126576e1ab3612686feaab377834\r
-793e7a48e1ab1fe3ab2a01eeab85f7ab\r
-8601ecab87f2a50c10ecab886cad724f\r
-725873747484758e7705e809e8ab7ff0\r
-ab83f6ab84e2ab80e3ab81e7ab8204e2\r
-ab6ee3ab2aeeab6ff2ab70f8a5f102e4\r
-ab72e7ab73f9ab7401ebab76f1ab7704\r
-e1ab79e5ab7aebab7bf2ab7cf3ab7d6c\r
-4a6d666e8c6fa2437003e4ab6becab6c\r
-f3ab6df9a77404e4ab54e9ab55ecab56\r
-efab4ff9ab5705f009f0ab5cf1ab5df3\r
-ab5ee1ab59eaab5aeeab5b04e3ab60eb\r
-ab61f0ab62f8ab63f9ab6404e7ab66eb\r
-ab67f1ab68f5ab69f9ab6a673e674268\r
-58696e6a846b02e3ab50f2ab51f3ab52\r
-03e1ab41f3ab42f7ab43faab4403e9ab\r
-45ebab46eeab47f5ab4803e4ab4ae7ab\r
-4becab4cedab4d10f2ab4e614a627663\r
-8664a26b6503e6ab3ce8ab3de9ab3ef3\r
-ab3f06f30cf3ab23f4ab24f6ab25faab\r
-26e6ab20e8ab21f1ab2202e1ab27e5ab\r
-28f0ab2906ee0ceeab32efab33f2a5ff\r
-f3ab34e32cebab30ecab312205521152\r
-2e53325410d2ab2f10cfab2e10d5ab2c\r
-2aab2b312a4d10c5ab2d1137b2ab2c01\r
-e3ab39e8ab3a00166e63752bec09eca9\r
-eaf3a9dbf4a9f7754c7750e1012a2e41\r
-127261e2a9d3012aa9d25010cba9d310\r
-f5a9f910e1a9fa7217722e733e7410f0\r
-a9f802e1a9f3e4a9f4e7a9f510f3a9f6\r
-6e346f4a7001e1a9f1efa9f203e2a7ca\r
-e7a9edeea9eef4a9ef10eea9f066306b\r
-176b2e6c386d10f3a9ec01e1a9e8efa9\r
-e901e1a9ebf4a92d663468386901eca9\r
-e6f0a9e710eca9e301eca9e4eea9e561\r
-4e627e638864926504e4a9e0efa9e1f2\r
-a570f3a570f8a9e204e7a9d4ec32eda9\r
-d7f0a9d8f5a9d9012aa9d55012686cf0\r
-a9d601e9a9daf5a9db01e4a9dceda9dd\r
-01e3a9def4a9df017526f5a9fb02e3a9\r
-fce7a9fdfaa9fb00146f457917ef09ef\r
-a94af5ab18f7ab1b792cedab0beeab10\r
-10f5ab1e6f3c724c745075547701ebab\r
-1cefab1d02e2ab13e6ab14efab1510ef\r
-ab1610edab1702e5ab19e7ab1aeda94a\r
-6934693c6a566b5a6d5e6e01e1ab11e7\r
-ab1201e1ab06e622012aab074e10ccab\r
-0810f3ab0910f4ab0a03e6ab0cefab0d\r
-f4ab0ef5ab0f61366346654a675a6810\r
-e7ab0502e9a9feeaa95fefa9ff10e6ab\r
-0002eaab01ecab02f3ab0310eeab046d\r
-a2576ea6446f0b741ded09eda5a1f2a9\r
-caf3a9cd742a7a34e3a9c201e1a9cfeb\r
-a9d010eda9d17017702e72327310e1a9\r
-ce10eda9c902efa9cbf5a9ccf9a9ca67\r
-3a6b3e6e02e7a9c6eea9c7f3a9c810e3\r
-a9c301f2a9c4f6a9c50022749fe926ef\r
-0fefa94af2a955f3a492f4a959f9a3ce\r
-e9a909eba903eca93fee012ababd4d12\r
-6f6ee7a540783d7834793e7a64e7a92d\r
-e8a93301e3a968eda96905f709f7a96d\r
-f8a96efaa96feba96aeda96bf6a96c05\r
-f009f0a973f7a974faa975eba970eda9\r
-71eea9727444755a76707703eba965f2\r
-a537f6a966f7a96703e3a95ae6a95be9\r
-a95cf2a95d03e1a95ef0a95ff2a960f3\r
-a96102e1a962eea963f9a96469856e44\r
-6e426f5e707a71907202e4a956eaa957\r
-efa95804e1a946e6a947e9a948ebb60e\r
-f7a94904e1a94be5a94ce8a94df3a94e\r
-f8a94f03f0a950f3a951f4a952f8a953\r
-10eca954693e6b686c7e6d02efa943f5\r
-a944f8a94503e6a936eea937f326f7a9\r
-3a012aa9384d126564e6a93903e9a93b\r
-eca93cf0a93df7a93e02e5a940f0a941\r
-f3a9426549653e666a67866802e9a934\r
-eca935f2a3ff06ee0ceea924f2a925f4\r
-a926f5a927e4a921e5a922eba92304e1\r
-a928e5a929eea92aefa92bf1a92c04e8\r
-a92eeca92fefa930f0a931f9a932615e\r
-62a25663a2636406e80ce8a91deaa91e\r
-f2a91ff8a920e1a91ae5a91be6a91c0b\r
-ee23f718f7a90bf926faa90f22022aa9\r
-0c432a4910c4a90e10c3a90deeb41fef\r
-a909f3a90ae709e7a906e9a907eba908\r
-e3a903e4a904e6a90504e8a910efa911\r
-f1a912f5a913f7a91404e9a915f0a916\r
-f1a917f2a918f5a9190021745fe41dee\r
-0feea9a0efa9a6f2a9adf6a9baf9a9be\r
-e4a985e5a988e7a98deca54c79157930\r
-7a3ae1a976e2a97e01eda9bfeea9c010\r
-e9a9c174387542775e7801f1a9bcf2a9\r
-bd01eda9b3f2a9b404e9a9b5f0a9b6f3\r
-a9b7f6a9b8f8a9b910e2a9bb6a5d6f32\r
-6f4870647168726c7303eba9afeea9b0\r
-efa9b1f3a9b204e4a9a7e5a9a8eea9a9\r
-f0a9aaf5a9ab10e9a98810efa9ac10e2\r
-a9ae6a4a6b4e6d586e04e6a9a1e8a9a2\r
-eba9a3eda9a4f0a9a510efa99b01e7a9\r
-9cefa99d01e7a99efaa99f6637665a67\r
-5e686e6906ee0ceea997f5a998f9a999\r
-faa99ae6a994e9a995eaa99610f2a98c\r
-02e1a98ee2a98feca99002e2a991e5a9\r
-92f7a993613e636a64906502e2a989f7\r
-a98af8a98b06ee0ceea97af0a97bf1a9\r
-7cf3a97de3a977e6a978eba97905e809\r
-e8a982efa983f5a984e1a97fe5a980e6\r
-a98101e3a986f3a98766c74769c48d69\r
+7bf6ab81f7ab82f22cf3ab74f4ab7822\r
+032aab2e4da4bf522a5410d2ab3201cf\r
+ab31d5ab2fecab56edab5beeab62efab\r
+68f16de429e438e5ab3ee7ab43e9ab4c\r
+ebab52032aab3844324b3a5312696ee4\r
+ab3b126576e1ab3912686feaab3a7834\r
+793e7a48e1ab22e3ab2d01eeab88f7ab\r
+8901ecab8af2a50d10ecab8b6cad724f\r
+725873747484758e7705e809e8ab82f0\r
+ab86f6ab87e2ab83e3ab84e7ab8504e2\r
+ab71e3ab2deeab72f2ab73f8a5f302e4\r
+ab75e7ab76f9ab7701ebab79f1ab7a04\r
+e1ab7ce5ab7debab7ef2ab7ff3ab806c\r
+4a6d666e8c6fa2437003e4ab6eecab6f\r
+f3ab70f9a77604e4ab57e9ab58ecab59\r
+efab52f9ab5a05f009f0ab5ff1ab60f3\r
+ab61e1ab5ceaab5deeab5e04e3ab63eb\r
+ab64f0ab65f8ab66f9ab6704e7ab69eb\r
+ab6af1ab6bf5ab6cf9ab6d673e674268\r
+58696e6a846b02e3ab53f2ab54f3ab55\r
+03e1ab44f3ab45f7ab46faab4703e9ab\r
+48ebab49eeab4af5ab4b03e4ab4de7ab\r
+4eecab4fedab5010f2ab51614a627663\r
+8664a26b6503e6ab3fe8ab40e9ab41f3\r
+ab4206f30cf3ab26f4ab27f6ab28faab\r
+29e6ab23e8ab24f1ab2502e1ab2ae5ab\r
+2bf0ab2c06ee0ceeab35efab36f2a701\r
+f3ab37e32cebab33ecab342205521152\r
+2e53325410d2ab3210cfab3110d5ab2f\r
+2aab2e312a4d10c5ab301137b2ab2f01\r
+e3ab3ce8ab3d00166e63752bec09eca9\r
+edf3a9def4a9fa754c7750e1012a2e41\r
+127261e2a9d6012aa9d55010cba9d610\r
+f5a9fc10e1a9fd7217722e733e7410f0\r
+a9fb02e1a9f6e4a9f7e7a9f810f3a9f9\r
+6e346f4a7001e1a9f4efa9f503e2a7cd\r
+e7a9f0eea9f1f4a9f210eea9f366306b\r
+176b2e6c386d10f3a9ef01e1a9ebefa9\r
+ec01e1a9eef4a930663468386901eca9\r
+e9f0a9ea10eca9e601eca9e7eea9e861\r
+4e627e638864926504e4a9e3efa9e4f2\r
+a571f3a571f8a9e504e7a9d7ec32eda9\r
+daf0a9dbf5a9dc012aa9d85012686cf0\r
+a9d901e9a9ddf5a9de01e4a9dfeda9e0\r
+01e3a9e1f4a9e2017526f5a9fe02e3a9\r
+ffe7ab00faa9fe00146f457917ef09ef\r
+a94df5ab1bf7ab1e792cedab0eeeab13\r
+10f5ab216f3c724c745075547701ebab\r
+1fefab2002e2ab16e6ab17efab1810ef\r
+ab1910edab1a02e5ab1ce7ab1deda94d\r
+6934693c6a566b5a6d5e6e01e1ab14e7\r
+ab1501e1ab09e622012aab0a4e10ccab\r
+0b10f3ab0c10f4ab0d03e6ab0fefab10\r
+f4ab11f5ab1261366346654a675a6810\r
+e7ab0802e9ab01eaa962efab0210e6ab\r
+0302eaab04ecab05f3ab0610eeab076d\r
+a2576ea6446f0b741ded09eda5a2f2a9\r
+cdf3a9d0742a7a34e3a9c501e1a9d2eb\r
+a9d310eda9d47017702e72327310e1a9\r
+d110eda9cc02efa9cef5a9cff9a9cd67\r
+3a6b3e6e02e7a9c9eea9caf3a9cb10e3\r
+a9c601f2a9c7f6a9c80022749fe926ef\r
+0fefa94df2a958f3a492f4a95cf9a3ce\r
+e9a90ceba906eca942ee012abad44d12\r
+6f6ee7a541783d7834793e7a64e7a930\r
+e8a93601e3a96beda96c05f709f7a970\r
+f8a971faa972eba96deda96ef6a96f05\r
+f009f0a976f7a977faa978eba973eda9\r
+74eea9757444755a76707703eba968f2\r
+a538f6a969f7a96a03e3a95de6a95ee9\r
+a95ff2a96003e1a961f0a962f2a963f3\r
+a96402e1a965eea966f9a96769856e44\r
+6e426f5e707a71907202e4a959eaa95a\r
+efa95b04e1a949e6a94ae9a94bebb622\r
+f7a94c04e1a94ee5a94fe8a950f3a951\r
+f8a95203f0a953f3a954f4a955f8a956\r
+10eca957693e6b686c7e6d02efa946f5\r
+a947f8a94803e6a939eea93af326f7a9\r
+3d012aa93b4d126564e6a93c03e9a93e\r
+eca93ff0a940f7a94102e5a943f0a944\r
+f3a9456549653e666a67866802e9a937\r
+eca938f2a50006ee0ceea927f2a928f4\r
+a929f5a92ae4a924e5a925eba92604e1\r
+a92be5a92ceea92defa92ef1a92f04e8\r
+a931eca932efa933f0a934f9a935615e\r
+62a25663a2636406e80ce8a920eaa921\r
+f2a922f8a923e1a91de5a91ee6a91f0b\r
+ee23f718f7a90ef926faa91222022aa9\r
+0f432a4910c4a91110c3a910eeb433ef\r
+a90cf3a90de709e7a909e9a90aeba90b\r
+e3a906e4a907e6a90804e8a913efa914\r
+f1a915f5a916f7a91704e9a918f0a919\r
+f1a91af2a91bf5a91c0021745fe41dee\r
+0feea9a3efa9a9f2a9b0f6a9bdf9a9c1\r
+e4a988e5a98be7a990eca54d79157930\r
+7a3ae1a979e2a98101eda9c2eea9c310\r
+e9a9c474387542775e7801f1a9bff2a9\r
+c001eda9b6f2a9b704e9a9b8f0a9b9f3\r
+a9baf6a9bbf8a9bc10e2a9be6a5d6f32\r
+6f4870647168726c7303eba9b2eea9b3\r
+efa9b4f3a9b504e4a9aae5a9abeea9ac\r
+f0a9adf5a9ae10e9a98b10efa9af10e2\r
+a9b16a4a6b4e6d586e04e6a9a4e8a9a5\r
+eba9a6eda9a7f0a9a810efa99e01e7a9\r
+9fefa9a001e7a9a1faa9a26637665a67\r
+5e686e6906ee0ceea99af5a99bf9a99c\r
+faa99de6a997e9a998eaa99910f2a98f\r
+02e1a991e2a992eca99302e2a994e5a9\r
+95f7a996613e636a64906502e2a98cf7\r
+a98df8a98e06ee0ceea97df0a97ef1a9\r
+7ff3a980e3a97ae6a97beba97c05e809\r
+e8a985efa986f5a987e1a982e5a983e6\r
+a98401e3a989f3a98a66c75b69c49769\r
 a4166aa4c46ba60e6c001b744ae717ef\r
-0cefa7f1f4a7f9f5a7fbf6a7ffe7a7db\r
-e9a7ddeea7ee771577307a34e1a7c6e2\r
-a7cd10eca90001e8a901faa902742e75\r
-327610f3a7ff10e7a7fa03e1a7fcefa7\r
-fdf9a3d5faa7fe6a4a6d316d326e426f\r
-4c7210e3a7f802eea7ebefa7ecf0a7ed\r
-01f3a7eff5a7f005f209f2a7f5f3a7f6\r
-faa7f7eaa7f2eba7f3eca7f46a346b38\r
-6c01e5a7e9eea7ea10f0a7e601e9a7e7\r
-f4a7e86448646c6570679c6906e70ce7\r
-a7e2e8a7e3eaa7e4f3a7e5e1a7dee4a7\r
-dfe6012aa7e04c12696de2a7e110e2a7\r
-d306f00cf0a7d7f1a7d8f5a7d9faa7da\r
-e4a7d4e5a7d5eda7d610e7a7dc613462\r
-5a6301eda7d1f0a7d205e809e8a7caea\r
-a7cbf3a7cce2a7c7e4a7c8e7a7c902e5\r
-a7cef5a7cff7a7d000197739eb17f30c\r
-f3a70df4a725f5a719f7a726eba568ee\r
-a720efa722e409e4a70fe7a714e9a717\r
-772a7a34e1a70601eda727f3a72801e8\r
-a729e9a72a6a366d176d326e366f3a72\r
-10e9a72410efa71f10e8a72110f5a723\r
-6a2e6b326c10efa71e10eaa71804e5a7\r
-19eba71af4a71bf7a71cf8a71d641a64\r
-3466446701e2a715e5a71602e4a710e9\r
-a711f5a71210e5a713613a62446302e1\r
-a70ce5a70de8a70e01eea707f2a70802\r
-e1a709e2a70af9a70b0b721ae909e9a7\r
-33f6a739f7a73a722a752ee1a72b10e1\r
-a73710f4a73867176734693e6d01e3a7\r
-35eca73601eba731efa73210e2a73461\r
-2e62386510eea73001e2a72ceda72d01\r
-efa72ef5a72f002875c0e7eb74f23ff6\r
-28f6a791f7a7b3f9022a32414c4c1261\r
-74eea7c0022aa7be432a5410d2a7c010\r
-cea7bf127261e2a7bff2a784f3a79df5\r
-022aa45e41a4645912657ae9a77feb38\r
-eca773eda778eea783efa788012a2e41\r
-127261e2a76e042aa76c41324336493a\r
-4d10cea77010c6a76d10cea76e10d2a7\r
-6f7a187a38e1a5b0e7a757e9a763eaa7\r
-6702eaa7c3f2a7c4f4a7c5753c766e77\r
-7e788e7901e5a7c1f8a7c207ed0ceda7\r
-aceea7adf0a7aef3a7afe2a7a8e4a7a9\r
-e5a7aaeaa7ab02e7a7b0f2a7b1f8a7b2\r
-02eaa7b4efa7b5f1a7b606ed0ceda7ba\r
-f0a7bbf7a7bcfaa7bde1a7b7e3a7b8e5\r
-a7b96bc0d57063704a7170728673a245\r
-7403e2a7a4eda7a5efa7a6f2a7a705f2\r
-09f2a790f6a791f8a792e5a78de6a78e\r
-efa78f03e2a793e6a794f3a795f9a796\r
-05ec09eca79af3a79bf5a79ce3a797e9\r
-a798eaa79905e809e8a7a1eaa7a2f2a7\r
-a3e2a79ee4a79fe6a7a06b506c5a6d70\r
-6ea2576f04e9a789eba786eca78af3a7\r
-8bfaa78c01e3a771eaa77203eea774f1\r
-a775f4a776f8a77706f226f232f3a780\r
-f5a781f7a782022a3241405912657ae9\r
-a77f012aa77c4c10c2a77d127261e2a7\r
-7ee2a779e8a77aefa77b04e3a784e6a7\r
-85e7a757eea786f0a787665266486758\r
-686869a06a03e4a768e7a769f3a76af9\r
-a76b02efa754f2a755f9a75602e5a758\r
-e6a759f0a75a08f10ff1a75ef3a75ff4\r
-a760f7a761faa762e1a75be2a75cebac\r
-80eea75d02eaa764f5a765f7a7666144\r
-6276639c64a2486502e1a751eea752fa\r
-a75307e90ce9a73feaa740eda741efa7\r
-42e1a73be2a73ce3a73de4a73e05f109\r
-f1a746f8a747f9a748e4a743eda744f0\r
-a74503e7a749eba74aeca74bf4a74c03\r
-e5a74de8a74eeca74ff4a75066a2b567\r
-a46a6800137539f20ff2a5fff4a702f5\r
-a703f9a342faa7057536e13ae5a5e9e9\r
-a5ebefa5fb10e9a70422032aa5df372e\r
-43345310c4a5e01133b6a5e010cda5e1\r
-6c386c3c6d466e506f6c7301e2a700ee\r
-a70101e1a5f2f5a5f301e4a5f4f4a5f5\r
-04e4a5f6e5a5f7eaa5f8eea5f9efa5fa\r
-02e3a5fceaa5fdf4a5fe615862746478\r
-687c6905e809e8a5efeca5f0eda5f1e1\r
-a5ece6a5ede7a5ee04e7a5e2eba5e3ed\r
-a5e4f7a5e5faa5e610e2a5e710f9a5e8\r
-10f9a5ea00117553e90fe9a57aeaa57e\r
-efa581f2a587f9a59675427694e1a570\r
-e6012aa5764112646ceda57709e80fe8\r
-a590f1a591f2a592f6a593f9a594e2a5\r
-8ce332e4a58de5a58ee6a58f012aa576\r
-4112646ceda57710f2a5956d2f6d4e6f\r
-52706271667204e3a588e5a587f0a589\r
-f2a58af3a58b10f0a58002e4a582eea5\r
-83f2a58410e5a58510f3a58661326656\r
-69606c10f2a57f05e908e9a574eea575\r
-f467e1a571e2a572e7a57301e9a578ed\r
-a57902e1a57beca57cf4a57d001a6e9f\r
-791dec0ceca5bceea5c0f5a5d0f6a5d8\r
-792ce1a597e4a5a901e1a5a2e9a5de73\r
-3a733e754276747702e3a5dbe9a5dcf4\r
-a5dd10f7a5cf07f20cf2a5d4f7a5d5f8\r
-a5d6faa5d7e2a5d1e3a5d2e4a5d3e7a5\r
-c002e6a5d9f2a5b3f3a5da6e5a6f6a72\r
-04e2a5a5e332e5a55bf4a5cdf7a5ce01\r
-2aa5cb4c12696ee2a5cc02e4a5c1e7a5\r
-c2efa5c307ee0ceea5c3f2a5c8f3a5c9\r
-f4a5cae4a5c4e6a5c5e9a5c6eda5c767\r
-396a236a386b486c526d01eda5bef6a5\r
-bf02eba5b7eea5b8f5a5b901eea5baf0\r
-a5bb10eba5bd673468386901eca5b5ed\r
-a5b610eea5b310f3a5b46428642e653e\r
-6610eba5b202e5a5aaeea5abf2a5ac05\r
-ef09efa5b0f2a52dfaa5b1e2a5adeaa5\r
-aeeca5af612e626c6310f2a5a809ed0f\r
-eda59deea59ef7a59ff9a5a0faa5a1e1\r
-a598e6a599e7a59ae8a59beaa59c05ef\r
-09efa5a5f9a5a6faa5a7e1a5a2e6a5a3\r
-eda5a463c2ef63a29d64a4f965001177\r
-2dee19ee38efa564f3a566f4a559f5a3\r
-66012aa56053126861f7a56177307834\r
-e5a554eca55b10efa56e10f4a56f6d46\r
-6d486e7a728473887403f2a56af4a56b\r
-f5a56cf8a56d02e1a55ce9a55deb012a\r
-2e4e126b6fefa55f012aa55e4710cea5\r
-5f01eea562f1a56310e9a56502e7a567\r
-eba568f5a569623e664267466b02e1a5\r
-58eba559f9a55a10f5a55310e9a55501\r
-eca556f9a557001b725ce821f316f3a5\r
-19f52cf6a51ff9a520012aa51d47126c\r
-61e7a51ee8a3eaefa50ff2a512771277\r
-307a34e1a3e1e5a3e610e4a51210e5a5\r
-19722e73547410e4a51c05ec09eca516\r
-eda517f3a518e8a513eaa514eba51501\r
-e2a51af7a51b69526c306c326d3c6f6c\r
-7010f3a51101e1a50be4a50c02e5a50d\r
-e7a50eee022aa26342a2b44811616e01\r
-e2a3fdf4a3f810f0a51069406a446b03\r
-e2a507eca508efa509f9a50a10e3a503\r
-02e1a504eda505f6a506659565a28666\r
-a28767a2886805ef09efa500f0a501f2\r
-a502e92ceba3feeda3ff022a3c42a25f\r
-4811616e01e2a3fdf4a3f80b4d335417\r
-542e55385610c4a3fb01c8a3f7d7a3f8\r
-01cba3f9d3a3fa4d2e50385310d2a3f6\r
-01cfa3f1d9a3f202c6a3f3c8a3f4daa3\r
-f5470e473048b4644910c4a3f010c6a3\r
-ee2aa3eb412a4210cea3ed10d5a3ec12\r
-6f70efa3fc10e2a3e710e1a3e810e7a3\r
-e9613462386301e8a3e4f0a3e510eea3\r
-e210eaa3e30016726f791ce508e5a52d\r
-f6a54dfa45792a7a34e1a52101efa550\r
-f5a55110e7a552751d752e764a7710f7\r
-a54f04e1a548e3a549e4a54ae7a54bf4\r
-a54c10e1a54e724073747403eda544f0\r
-a545f3a546f9a54702e82ce9a541f3a5\r
-42012a2e4d126f6ee7a540012aa53f43\r
-10cea54010e2a54367446a1a6a406e44\r
-6f03e2a53ce9a534f0a53df7a53e10e5\r
-a53a10eaa53b673468606901e1a538f1\r
-a53906ec0ceca533efa534f2a535faa5\r
-36e1a530e8a531e9a53210e4a537613c\r
-6268637264766501e4a52eeea52f06e8\r
-0ce8a525eba526f2a527f6a528e4a522\r
-e6a523e7a52401e4a529f1a52a10e3a5\r
-2b10eea52c2aa4f761be9d62002373a5\r
-e51ded0feda3a8eea3adefa3b1f2a3ba\r
-f3a3bfe5a37ce7a389e8a38de9a39377\r
-417732783c794c7a72e1a36201e4a3d2\r
-f2a3d302e8a3d4eba3d5f2a3c705f309\r
-f3a3d9f6a3daf8a3dbe5a3d6eea3d7f2\r
-a3d804e1a3dce5a3dde6a3dee8a3dff7\r
-a3e07332744875587610e2a3d103eaa3\r
-c0f1a3c1f3a3c2f4a3c302efa3c4f4a3\r
-c5f6a3c609ed0feda3ccefa3cdf2a3ce\r
-f3a3cff5a3d0e1a3c7e3a3c8e4a3c9e7\r
-a3caeba3cb6a7d6e3b6e486f58706871\r
-6c7203e1a3bbe8a3bcf8a3bdfaa3be02\r
-e7a3aeeda3aff0a3b002eaa3b2eda3b3\r
-eea3b410f9a3b503e3a3b6e9a3b7f0a3\r
-b8f6a3b96a466b786ca4ab6d03e8a3a9\r
-eba3aaf1a3abf5a3ac07ef0cefa39ef2\r
-a39ff4a3a0faa3a1e8a39ae9a39beaa3\r
-9ceea39d04e3a3a2eda3a3f1a3a4f5a3\r
-a5f6a3a6656a6562669467a24468a24b\r
-6906ed0ceda396eea397efa398f1a399\r
-e2a394e7a395eba37507f40cf4a381f7\r
-a382f8a383faa384e6a37de8a37eeaa3\r
-7feda38003e4a385f1a386f4a387f9a3\r
-8802e3a38aeea38bf8a38c05ec09eca3\r
-91efa38df9a392e2a38ee7a38fe9a390\r
-6132626463906410e4a37b07f20cf2a3\r
-67f3a368f6a369f8a36aeca363eea364\r
-f0a365f1a36606e40ce4a36eeaa36ff0\r
-a370f2a371e1a36be2a36ce3a36d09ed\r
-0feda376eea377efa378f1a379f5a37a\r
-e3a363e6a372e8a373e9a374eca37500\r
-184dc26554c0ca57365736584e59645a\r
-12616ee2adcb01612c631168efa9a511\r
-72e1adca01702a731175f8691165efa9\r
-e101652c691169e9a717117ae9a77f54\r
-3455a28756126169e9adc9056746674a\r
-68506901622a7210e8adc810f4012aa3\r
-b14210d445116ce7adc5106101e158e9\r
-042aaba643324b364c3a5410c8aba610\r
-cea7d210c8adc610c1adc7012aa54d4d\r
-10d6a54d6130657c66116ee7adc4056d\r
-116d2e6e327610f4a3a710ecab8910e7\r
-abde67346b386c01e5ab97f5a75c10e2\r
-adc210f2adc3116cf5ab9b126761f2ab\r
-e850c0c350a27252a2a8530669436942\r
-6f6a759079016c2a7210e3a50c10efad\r
-c101643e6e01e4ab38e8012aab494c10\r
-cbab4910e4adbe02672e72387910efa5\r
-0e01e4ab66efadbf10e1ab6e116ee4ad\r
-c0613e675e6801612a7210e4adbd10f7\r
-a561026d2e72327510f2ab2610f2ab5c\r
-10e2adbc116ef7a34b046138654a6850\r
-6c76721174e9adb9016c2a7510e3a51c\r
-10eda11172edadb702612e6c326e10f8\r
-a9e510e7adb801e9a9d5f0a9d61172e4\r
-a5f4026a306f3675116ef2a9a9116ee7\r
-adba1168e7adbb4d7c4ea2a44f036742\r
-6c48724e7301672a6d10e1adb610e5a9\r
-ce1161edab411163ebadb5016b2a7910\r
-e1a9ca10e8a9d007722e725a74607566\r
-79116df2032aa3ce492e4d325410c8ad\r
-b010cea76010cda3ce116fefa9581165\r
-e9adae116cf4adaf614265746c9a6f01\r
-642a6e10e7a54010e9adad0368326b36\r
-6e3a7210e3ada910eaada610e1ada701\r
-e4a96fe9ada80264346e387201e3adab\r
-efadac10e6a93910e4adaa1179eda93f\r
-046138624c65506b56731168f5adb401\r
-6e2a7210e2adb210e4adb11161f49f11\r
-77e1adb3116fefa55f47c4154ac3294a\r
-a6ba4ba6d34c03614665a69669a69879\r
-01632a6410e9ada510e9ada4026ea673\r
-6fa6747410ee001a4bc139545b571457\r
-ac6958ac6d59305a01c1abf0d7ab5f10\r
-d4ad63544055825603c1ad5ec5ad60ce\r
-ad5fd5a3930bce14d609d6abdad7abc7\r
-daab7fceada2cfabbdd2abc5cbc5cdcb\r
-abb2ccad5acdabb104c1ada3c7ad5cd3\r
-a560d9ad5ddaabf44e824e8a50a24a52\r
-a26d530cce17d40cd4ad54d5a79ad6ad\r
-55d9ada1cead52cfab65d2ad53ca09ca\r
-ad50cbab4fcdad51c3ad4fc5ab7ec9ab\r
-5306c70cc7abecc9ad42cca54ccfa97e\r
-c1ad3fc3ad40c5ad410acc14d409d4ad\r
-4bd7a9d9d9a5c0cca9eacdad48d2ad49\r
-c1ad44c5ad45c6ad46c7abc1c8a57c03\r
-c5ad4ecfa94ad5a79ad7ab1b4b9e4ca2\r
-434d0010cd1dd40fd4a959d5a929d8ab\r
-eed9a90cdaad3ecda73dcfad9fd1ad3c\r
-d2ada0c60cc6ad3bc7a92dcbad9ecca3\r
-a8c1ad9dc3ad39c4ad3ac5ab2d01c5ad\r
-2ecdad9c04c9ad34d3ad35d4a7f9d5ad\r
-36d6a7ff43bd465f464c475c48a24849\r
-04c3ad2bc4a70fd2ad9bd3a70dd4a725\r
-02c9a57acfa581d2a5870cce17d30cd3\r
-ad26d4ad27d5abf3d7ad28cead23d0ad\r
-24d1ad25c608c6ad22c867cca773c1ad\r
-21c2abf6c5ad9a04cdad29cead2ad2a5\r
-ffd4a702d5a703435244a2424505d309\r
-d3a566d4ad94daad20c1ad1cc3ad1dc5\r
-a5590fcf1ad60cd6ad17d7abf8d9ad98\r
-daa519cfad14d0ad15d2ad16d5abf1c9\r
-c68bc9ad11ccad12cdad13cead9705cb\r
-09cba521cfad1adaad99c5a52dc7ad4d\r
-caad19345e34ae864178420bce14d209\r
-d2a9f7d5a73dd6ad0dcead0acfad0bd1\r
-ad0cc909c9ab10caad08ccad09c1a3bf\r
-c5ad05c6ad060cd217d50cd5abedd7ad\r
-03d8ad04daa35ed2ad00d3ad01d4ad02\r
-cd09cdad96cfabfed1abffc4abfbc6ad\r
-95cc6d2aa560312c321133b0ad941137\r
-b2a79a10e1a9a710ef012aa7f14c10c1\r
-a7f11170e3a7d7026d2e6e327310f5a7\r
-e510e2a7e101e1a7c7e2a5cc01613a70\r
-1161ee012aa72b4a10d0a72b016d2a76\r
-10e1ad9010efad8f056e1e6e306f3674\r
-1168e9ad931164e1a7831172e5012aa7\r
-884b01d0ad30d2a78861306844691174\r
-f3ad92016c2a6e10e1ad9110e9a55a02\r
-612e6d326f10eaab3710f2a9f310f201\r
-2aa7784b10c8a778473448a25c491274\r
-61eca56b0465466c5a6f60727a75016a\r
-2a7210f5a9d210f2a5d0116ff2012aa5\r
-b04710c5a5b01161e7a51e016e2a7410\r
-e8a5ca01e7ad83eda5670161506510eb\r
-032aa55b432e47325410d2a38c10d9ad\r
-1810d2a55b10eead84056c186c306d36\r
-75116ee7ad8e1175f7a5f3106e01e7a5\r
-f8f0a9676130659c691172e1ad8d016e\r
-2a7410f2a93805ef24efad87f34cf403\r
-2aa3f8482e4d325410d7a3f810cba3ef\r
-10cfa3f1012aa3eb4310cea3ebe2a3fd\r
-e7ad85e9ad861162f2054917493a533e\r
-5502c1ad8bcbad89d3ad8c10cca5e910\r
-c5ad8a2aa5e9432a4710c2ad8910c1ad\r
-8843c106437044a2bf450267406c4674\r
-1168e9012a754501d2ad1fd4751179f0\r
-a55701622a7910edad8210e1ad810461\r
-a26868a2776fa28670a288791172ec0a\r
-4d335414542e55385810cbad7a01caab\r
-a1d2ad7910c1abe94d2e523e5310cbad\r
-7802c4ad76cba903cea53f02cfad77d3\r
-ab2bd5ab182aab184138423c474c4b01\r
-c7a7bedaad3210ccad7302c1ad74c7a3\r
-89d9a37c01c52dd2ad75026b2e6e3272\r
-10e9ad7110eda3e510f3a51202612e65\r
-327210f3ad7210eda50510f2a5021170\r
-f4a5101172f4a5cb03653469866f8c75\r
-1170ecad801176e106491749324d364e\r
-3a5010cba3c610cea5eb10d5ad7d10d0\r
-a9882aa5eb422a4610caad7c10d4ad7b\r
-1161ebad7e1167f2ad7f2aa25441aa31\r
-42056f1f6f3e72447501672a6810e4ad\r
-7010e9ad6f1170efa3fc106101e8a9e8\r
-e9ad6e6130655c68116bf3ad6d036c32\r
-6d36733a7410ebad6c10e9ad6b10f5a3\r
-6a10f3a3c1116ee7012aa3ad4210c4a3\r
-ad00214ac1c052c0cc5638563c575858\r
-6259665a01d2abefd7ab5f04c1ad5ec4\r
-ad5fc5ad60cead5fd5a39301c6ad61d3\r
-ab5810cbad6203c4abfac5abfad4ad63\r
-d5ab2b5246536c54a2575503c1abe9c7\r
-ad5cd9ad5ddaabf405d309d3ab2bd5ab\r
-18d7ab1bc5ad4ec8ab5fcfa94a0ecd1a\r
-d40cd4ad54d5ab18d6ad55d9ad56cdad\r
-51cead52cfab65d2ad53c50cc5ab7ec9\r
-ab53caad50cbab4fc1abf5c3ad4fc4ab\r
-f90ecd1ad20cd2abc5d6abdad7a3f8da\r
-ab7fcdabb1cead5bcfabbdd0ad5ac80c\r
-c8aba6caaba1cbabb2ccad5ac4ad57c6\r
-ad58c7ad594e644e404fa89650785102\r
-c1ad4ccfad4dd5abf609cc0fcca54ccf\r
-a97ed0a988d1abffd4abf5c1ad3fc3ad\r
-40c5ad41c8a393c9ad420dcd17d40cd4\r
-ad4bd7a9d9d9a5c0daad44cdad48d2ad\r
-49d3ad4ac70cc7abc1c8a57ccbad47cc\r
-a9eac1ad44c5ad45c6ad464aa2484ba2\r
-4c4ca2644d0012ce20d50fd5a929d6a5\r
-4dd8abeed9a90cdaad3ecea53fcfa3f1\r
-d1ad3cd2ad3dd4a959c60fc6ad3bc7a9\r
-2dcba903cca3a8cda3cec1ad38c3ad39\r
-c4ad3ac5ab2d01cfad2dd0a72b07d00c\r
-d0ad30d2a788d7ad31daad32c5ad2ec7\r
-a7bec8a778cdad2f08d30fd3ad35d4a7\r
-f9d5ad36d6a7ffd9ad37c1a7f1c2ad33\r
-c9ad34cbab4941c1604598456a46a241\r
-47a24e48a2754907d10cd1ad2cd2a570\r
-d3a70dd4a725c3ad2bc4a70fcca5e9ce\r
-a5eb09d20ed2ad1fd3a566d475d5abf6\r
-daad20c1ad1cc3ad1dc5a559c79bc8ad\r
-1e04c9a57acfa581d1abffd2a587d8a5\r
-870bd014d309d3ad26d4ad27d7ad28d0\r
-ad24d1ad25d2a55bc808c867cca773ce\r
-ad23c1ad21c5a5b0c6ad2206d20cd2a5\r
-ffd4a702d5a703d6ad06cba3efcdad29\r
-cead2a415e42a24c43a2834406cb0ccb\r
-a521cfad1ad9ad08daad1bc4a52dc5a5\r
-2dcaad190dd117d40cd4ad02d7ad03d8\r
-ad04daa35ed1abffd2ad00d3ad01cc0b\r
-cc6dcda342ceabf8cfabfec4abfbc5ab\r
-fcc6abfd0010cc1cd20ed2a9f7d445d5\r
-a3ced6ad0dd9a37cccad09cead0acfad\r
-0bd1ad0cc70cc7a389c8ad07c9ab10ca\r
-ad08c1a3bfc4a3adc5ad05c6ad060010\r
-cf1dd50fd5abf1d6ad17d7abf8d9ad18\r
-daa519cfad14d0ad15d2ad16d3ab2bc9\r
-0cc9ad11ccad12cdad13cea3ebc4abef\r
-c6ad0ec7ad0fc8ad1034223442354837\r
-4e3801382a3910b0ab2b10b6abfa1131\r
-b9abf71133b2abf81133b6abf92aa560\r
-305031a26b3202302e33383810b0a52d\r
-01b0a519b2abec10b075053323333435\r
-4a3601b1ab58b2a5eb03b0a3ebb4a5eb\r
-b5a70fb9a72502b3abedb4abf2b7abf3\r
-3034314a3201b1a560b9abf103b2abec\r
-b3a560b5a9f7b9abed06b50bb59bb7ab\r
-efb8abf0b9a560b1abecb3abeeb4ab7f\r
-02342e353e3710b2ab1802b2a3ebb3ab\r
-f4b5abf503b0ab18b1ab18b4abf6b5a5\r
-2d046436673c68427246761173f44b11\r
-6ceda5771168e2ad64116fed6301613c\r
-6d01e99dee012aa3424110cda34210e2\r
-00134c625131513c53405450556a5901\r
-c5abfad4ab8010c1ad4c02c1abf5c4ab\r
-f9d9ad5604c791c8a928caad69cead5b\r
-d2ad6a10cbad654c3c4d464e624f6650\r
-01cbad47d3ad4a01c2ad33d9ad3704c1\r
-ad38cdab05cea770d2ad3dd5ad6710c7\r
-ad6810cdad43452e4542474a494e4a64\r
-4b02c8a504cdad2fd7ad3101c79bc8ad\r
-1e10c2ad6503c4a90ecead66d1ad2cd2\r
-a57010cfad2d2a9b4132423c43464410\r
-daad1b01c5abfcc6abfd01c8ad07d5ab\r
-0501c3a90dceabe500217588e62bf221\r
-f29bf3a349f6a353f9a35cfa012a2e41\r
-127261e2a360022aa35e498a5210d5a3\r
-61e651eb67ed75ee7f7a2d7a2ce125e2\r
-2de54b10ea012a2e41127261e2a36003\r
-2aa35e312e49345310d5a3611137b2a3\r
-6101d1a35fd2a3607538763c77527901\r
-e2a35df2a35c10f9a35203eca354eea3\r
-55f4a356f5a35703e1a358e2a359efa3\r
-5af8a35b6b966f696f44704e726873a2\r
-507402e1a34fe7a350eaa35102ea89ed\r
-8bfa8d05f206f295f397fa99e38fe491\r
-e59309ef0fefa344f1a345f3a346f9a3\r
-47faa348e29be332e8a341eda342eea3\r
-43022a9d4e2c5012616ceda1126261f4\r
-9f04e1a34ae5a34be7a34cefa34df4a3\r
-4e6b3c6c3e6d586e03e381eb83ee85f9\r
-8710eb6905ee06ee71f36df473e16be2\r
-6de96f03ed77ee79ef7bf07d65256530\r
-673668506a10e76501e24df94f05ed06\r
-ed59ef5bf15de353e455e75702e15fec\r
-61ef636148625263646405f006f045f9\r
-47fa49e13fe541ea4302e927eb29f52b\r
-04e92ff131f233f435f93702e439e53b\r
-e83d\r
+0cefa7f4f4a7fcf5a7fef6a902e7a7de\r
+e9a7e0eea7f1771577307a34e1a7c9e2\r
+a7d010eca90301e8a904faa905742e75\r
+327610f3a90210e7a7fd03e1a7ffefa9\r
+00f9a3d5faa9016a4a6d316d326e426f\r
+4c7210e3a7fb02eea7eeefa7eff0a7f0\r
+01f3a7f2f5a7f305f209f2a7f8f3a7f9\r
+faa7faeaa7f5eba7f6eca7f76a346b38\r
+6c01e5a7eceea7ed10f0a7e901e9a7ea\r
+f4a7eb6448646c6570679c6906e70ce7\r
+a7e5e8a7e6eaa7e7f3a7e8e1a7e1e4a7\r
+e2e6012aa7e34c12696de2a7e410e2a7\r
+d606f00cf0a7daf1a7dbf5a7dcfaa7dd\r
+e4a7d7e5a7d8eda7d910e7a7df613462\r
+5a6301eda7d4f0a7d505e809e8a7cdea\r
+a7cef3a7cfe2a7cae4a7cbe7a7cc02e5\r
+a7d1f5a7d2f7a7d300197739eb17f30c\r
+f3a70ff4a727f5a71bf7a728eba569ee\r
+a722efa724e409e4a711e7a716e9a719\r
+772a7a34e1a70801eda729f3a72a01e8\r
+a72be9a72c6a366d176d326e366f3a72\r
+10e9a72610efa72110e8a72310f5a725\r
+6a2e6b326c10efa72010eaa71a04e5a7\r
+1beba71cf4a71df7a71ef8a71f641a64\r
+3466446701e2a717e5a71802e4a712e9\r
+a713f5a71410e5a715613a62446302e1\r
+a70ee5a70fe8a71001eea709f2a70a02\r
+e1a70be2a70cf9a70d0b721ae909e9a7\r
+35f6a73bf7a73c722a752ee1a72d10e1\r
+a73910f4a73a67176734693e6d01e3a7\r
+37eca73801eba733efa73410e2a73661\r
+2e62386510eea73201e2a72eeda72f01\r
+efa730f5a731002875c0f1eb7ef249f6\r
+28f6a793f7a7b6f9022a32414c4c1261\r
+74eea7c3022aa7c1432a5410d2a7c310\r
+cea7c2127261e2a7c2f2a786f33ef502\r
+2aa46941a46f5912657ae9a781012aa7\r
+9f44126576e1a7a0eb38eca775eda77a\r
+eea785efa78a012a2e41127261e2a770\r
+042aa76e41324336493a4d10cea77210\r
+c6a76f10cea77010d2a7717a187a38e1\r
+a5b1e7a759e9a765eaa76902eaa7c6f2\r
+a7c7f4a7c8753c766e777e788e7901e5\r
+a7c4f8a7c507ed0ceda7afeea7b0f0a7\r
+b1f3a7b2e2a7abe4a7ace5a7adeaa7ae\r
+02e7a7b3f2a7b4f8a7b502eaa7b7efa7\r
+b8f1a7b906ed0ceda7bdf0a7bef7a7bf\r
+faa7c0e1a7bae3a7bbe5a7bc6bc0d570\r
+63704a7170728673a2457403e2a7a7ed\r
+a7a8efa7a9f2a7aa05f209f2a792f6a7\r
+93f8a794e5a78fe6a790efa79103e2a7\r
+95e6a796f3a797f9a79805ec09eca79c\r
+f3a79df5a79ee3a799e9a79aeaa79b05\r
+e809e8a7a4eaa7a5f2a7a6e2a7a1e4a7\r
+a2e6a7a36b506c5a6d706ea2576f04e9\r
+a78beba788eca78cf3a78dfaa78e01e3\r
+a773eaa77403eea776f1a777f4a778f8\r
+a77906f226f232f3a782f5a783f7a784\r
+022a3241405912657ae9a781012aa77e\r
+4c10c2a77f127261e2a780e2a77be8a7\r
+7cefa77d04e3a786e6a787e7a759eea7\r
+88f0a789665266486758686869a06a03\r
+e4a76ae7a76bf3a76cf9a76d02efa756\r
+f2a757f9a75802e5a75ae6a75bf0a75c\r
+08f10ff1a760f3a761f4a762f7a763fa\r
+a764e1a75de2a75eebac8deea75f02ea\r
+a766f5a767f7a76861446276639c64a2\r
+486502e1a753eea754faa75507e90ce9\r
+a741eaa742eda743efa744e1a73de2a7\r
+3ee3a73fe4a74005f109f1a748f8a749\r
+f9a74ae4a745eda746f0a74703e7a74b\r
+eba74ceca74df4a74e03e5a74fe8a750\r
+eca751f4a75266a2bf67a47468001375\r
+43f20ff2a701f4a704f5a705f9a342fa\r
+a7077534e138e5a5eae95cefa5fd10e9\r
+a70622032aa5e0372e43345310c4a5e1\r
+1133b6a5e110cda5e2012aa5ec4c1261\r
+74eea5ed6c386c3c6d466e506f6c7301\r
+e2a702eea70301e1a5f4f5a5f501e4a5\r
+f6f4a5f704e4a5f8e5a5f9eaa5faeea5\r
+fbefa5fc02e3a5feeaa5fff4a7006158\r
+62746478687c6905e809e8a5f1eca5f2\r
+eda5f3e1a5eee6a5efe7a5f004e7a5e3\r
+eba5e4eda5e5f7a5e6faa5e710e2a5e8\r
+10f9a5e910f9a5eb00117553e90fe9a5\r
+7beaa57fefa582f2a588f9a597754276\r
+94e1a571e6012aa5774112646ceda578\r
+09e80fe8a591f1a592f2a593f6a594f9\r
+a595e2a58de332e4a58ee5a58fe6a590\r
+012aa5774112646ceda57810f2a5966d\r
+2f6d4e6f52706271667204e3a589e5a5\r
+88f0a58af2a58bf3a58c10f0a58102e4\r
+a583eea584f2a58510e5a58610f3a587\r
+6132665669606c10f2a58005e908e9a5\r
+75eea576f467e1a572e2a573e7a57401\r
+e9a579eda57a02e1a57ceca57df4a57e\r
+001a6e9f791dec0ceca5bdeea5c1f5a5\r
+d1f6a5d9792ce1a598e4a5aa01e1a5a3\r
+e9a5df733a733e754276747702e3a5dc\r
+e9a5ddf4a5de10f7a5d007f20cf2a5d5\r
+f7a5d6f8a5d7faa5d8e2a5d2e3a5d3e4\r
+a5d4e7a5c102e6a5daf2a5b4f3a5db6e\r
+5a6f6a7204e2a5a6e332e5a55cf4a5ce\r
+f7a5cf012aa5cc4c12696ee2a5cd02e4\r
+a5c2e7a5c3efa5c407ee0ceea5c4f2a5\r
+c9f3a5caf4a5cbe4a5c5e6a5c6e9a5c7\r
+eda5c867396a236a386b486c526d01ed\r
+a5bff6a5c002eba5b8eea5b9f5a5ba01\r
+eea5bbf0a5bc10eba5be673468386901\r
+eca5b6eda5b710eea5b410f3a5b56428\r
+642e653e6610eba5b302e5a5abeea5ac\r
+f2a5ad05ef09efa5b1f2a52efaa5b2e2\r
+a5aeeaa5afeca5b0612e626c6310f2a5\r
+a909ed0feda59eeea59ff7a5a0f9a5a1\r
+faa5a2e1a599e6a59ae7a59be8a59cea\r
+a59d05ef09efa5a6f9a5a7faa5a8e1a5\r
+a3e6a5a4eda5a563c2f263a29d64a4fc\r
+650011772dee19ee38efa565f3a567f4\r
+a55af5a366012aa56153126861f7a562\r
+77307834e5a555eca55c10efa56f10f4\r
+a5706d466d486e7a728473887403f2a5\r
+6bf4a56cf5a56df8a56e02e1a55de9a5\r
+5eeb012a2e4e126b6fefa560012aa55f\r
+4710cea56001eea563f1a56410e9a566\r
+02e7a568eba569f5a56a623e66426746\r
+6b02e1a559eba55af9a55b10f5a55410\r
+e9a55601eca557f9a558001b725ce821\r
+f316f3a51af52cf6a520f9a521012aa5\r
+1e47126c61e7a51fe8a3ebefa510f2a5\r
+13771277307a34e1a3e1e5a3e710e4a5\r
+1310e5a51a722e73547410e4a51d05ec\r
+09eca517eda518f3a519e8a514eaa515\r
+eba51601e2a51bf7a51c69526c306c32\r
+6d3c6f6c7010f3a51201e1a50ce4a50d\r
+02e5a50ee7a50fee022aa26342a2b448\r
+11616e01e2a3fef4a3f910f0a5116940\r
+6a446b03e2a508eca509efa50af9a50b\r
+10e3a50402e1a505eda506f6a5076595\r
+65a28666a28767a2886805ef09efa501\r
+f0a502f2a503e92ceba3ffeda500022a\r
+3c42a25f4811616e01e2a3fef4a3f90b\r
+4d335417542e55385610c4a3fc01c8a3\r
+f8d7a3f901cba3fad3a3fb4d2e503853\r
+10d2a3f701cfa3f2d9a3f302c6a3f4c8\r
+a3f5daa3f6470e473048b4674910c4a3\r
+f110c6a3ef2aa3ec412a4210cea3ee10\r
+d5a3ed126f70efa3fd10e2a3e810e1a3\r
+e910e7a3ea6134623e6301e8a3e5f0a3\r
+e601e4a3e2eea3e310eaa3e40016726f\r
+791ce508e5a52ef6a54efa45792a7a34\r
+e1a52201efa551f5a55210e7a553751d\r
+752e764a7710f7a55004e1a549e3a54a\r
+e4a54be7a54cf4a54d10e1a54f724073\r
+747403eda545f0a546f3a547f9a54802\r
+e82ce9a542f3a543012a2e4d126f6ee7\r
+a541012aa5404310cea54110e2a54467\r
+446a1a6a406e446f03e2a53de9a535f0\r
+a53ef7a53f10e5a53b10eaa53c673468\r
+606901e1a539f1a53a06ec0ceca534ef\r
+a535f2a536faa537e1a531e8a532e9a5\r
+3310e4a538613c6268637264766501e4\r
+a52feea53006e80ce8a526eba527f2a5\r
+28f6a529e4a523e6a524e7a52501e4a5\r
+2af1a52b10e3a52c10eea52d2aa4f761\r
+be9d62002373a5e51ded0feda3a8eea3\r
+adefa3b1f2a3baf3a3bfe5a37ce7a389\r
+e8a38de9a39377417732783c794c7a72\r
+e1a36201e4a3d2f2a3d302e8a3d4eba3\r
+d5f2a3c705f309f3a3d9f6a3daf8a3db\r
+e5a3d6eea3d7f2a3d804e1a3dce5a3dd\r
+e6a3dee8a3dff7a3e073327448755876\r
+10e2a3d103eaa3c0f1a3c1f3a3c2f4a3\r
+c302efa3c4f4a3c5f6a3c609ed0feda3\r
+ccefa3cdf2a3cef3a3cff5a3d0e1a3c7\r
+e3a3c8e4a3c9e7a3caeba3cb6a7d6e3b\r
+6e486f587068716c7203e1a3bbe8a3bc\r
+f8a3bdfaa3be02e7a3aeeda3aff0a3b0\r
+02eaa3b2eda3b3eea3b410f9a3b503e3\r
+a3b6e9a3b7f0a3b8f6a3b96a466b786c\r
+a4ab6d03e8a3a9eba3aaf1a3abf5a3ac\r
+07ef0cefa39ef2a39ff4a3a0faa3a1e8\r
+a39ae9a39beaa39ceea39d04e3a3a2ed\r
+a3a3f1a3a4f5a3a5f6a3a6656a656266\r
+9467a24468a24b6906ed0ceda396eea3\r
+97efa398f1a399e2a394e7a395eba375\r
+07f40cf4a381f7a382f8a383faa384e6\r
+a37de8a37eeaa37feda38003e4a385f1\r
+a386f4a387f9a38802e3a38aeea38bf8\r
+a38c05ec09eca391efa38df9a392e2a3\r
+8ee7a38fe9a3906132626463906410e4\r
+a37b07f20cf2a367f3a368f6a369f8a3\r
+6aeca363eea364f0a365f1a36606e40c\r
+e4a36eeaa36ff0a370f2a371e1a36be2\r
+a36ce3a36d09ed0feda376eea377efa3\r
+78f1a379f5a37ae3a363e6a372e8a373\r
+e9a374eca37500184dc26554c0ca5736\r
+5736584e59645a12616ee2adce01612c\r
+631168efa9a81172e1adcd01702a7311\r
+75f8691165efa9e401652c691169e9a7\r
+19117ae9a781543455a28756126169e9\r
+adcc056746674a68506901622a7210e8\r
+adcb10f4012aa3b14210d445116ce7ad\r
+c8106101e158e9042aaba943324b364c\r
+3a5410c8aba910cea7d510c8adc910c1\r
+adca012aa54e4d10d6a54e6130657c66\r
+116ee7adc7056d116d2e6e327610f4a3\r
+a710ecab8c10e7abe167346b386c01e5\r
+ab9af5a75e10e2adc510f2adc6116cf5\r
+ab9e126761f2abeb50c0c350a27252a2\r
+a85306694369426f6a759079016c2a72\r
+10e3a50d10efadc401643e6e01e4ab3b\r
+e8012aab4c4c10cbab4c10e4adc10267\r
+2e72387910efa50f01e4ab69efadc210\r
+e1ab71116ee4adc3613e675e6801612a\r
+7210e4adc010f7a562026d2e72327510\r
+f2ab2910f2ab5f10e2adbf116ef7a34b\r
+046138654a68506c76721174e9adbc01\r
+6c2a7510e3a51d10eda11172edadba02\r
+612e6c326e10f8a9e810e7adbb01e9a9\r
+d8f0a9d91172e4a5f6026a306f367511\r
+6ef2a9ac116ee7adbd1168e7adbe4d7c\r
+4ea2a44f0367426c48724e7301672a6d\r
+10e1adb910e5a9d11161edab441163eb\r
+ab27016b2a7910e1a9cd10e8a9d30772\r
+2e725a7460756679116df2032aa3ce49\r
+2e4d325410c8adb410cea76210cda3ce\r
+116fefa95b1165e9adb2116cf4adb361\r
+4265746c9a6f01642a6e10e7a54110e9\r
+adb10368326b366e3a7210e3adad10ea\r
+adaa10e1adab01e4a972e9adac026434\r
+6e387201e3adafefadb010e6a93c10e4\r
+adae1179eda942046138624c65506b56\r
+731168f5adb8016e2a7210e2adb610e4\r
+adb51161f49f1177e1adb7116fefa560\r
+47c4154ac3294aa6ba4ba6d34c036146\r
+65a69669a6987901632a6410e9ada910\r
+e9ada8026ea6736fa6747410ee001a4b\r
+c139545b571457ac6958ac6d59305a01\r
+c1abf3d7ab6210d4ad66544055825603\r
+c1ad61c5ad63cead62d5a3930bce14d6\r
+09d6abddd7abcadaab82ceada6cfabc0\r
+d2abc8cbc5cdcbabb5ccad5dcdabb404\r
+c1ada7c7ad5fd3a561d9ad60daabf74e\r
+824e8a50a24a52a26d530cce17d40cd4\r
+ad57d5a79cd6ad58d9ada5cead55cfab\r
+68d2ad56ca09caad53cbab52cdad54c3\r
+ad52c5ab81c9ab5606c70cc7abefc9ad\r
+45cca54dcfa981c1ad42c3ad43c5ad44\r
+0acc14d409d4ad4ed7a9dcd9a5c1cca9\r
+edcdad4bd2ad4cc1ad47c5ad48c6ad49\r
+c7abc4c8a57d03c5ad51cfa94dd5a79c\r
+d7ab1e4b9e4ca2434d0010cd1dd40fd4\r
+a95cd5a92cd8abf1d9a90fdaad41cda7\r
+3fcfada3d1ad3fd2ada4c60cc6ad3ec7\r
+a930cbada2cca3a8c1ada1c3ad3cc4ad\r
+3dc5ab3001c5ad31cdada004c9ad37d3\r
+ad38d4a7fcd5ad39d6a90243bd465f46\r
+4c475c48a2484904c3ad2ec4a711d2ad\r
+9fd3a70fd4a72702c9a57bcfa582d2a5\r
+880cce17d30cd3ad29d4ad2ad5abf6d7\r
+ad2bcead26d0ad27d1ad28c608c6ad25\r
+c867cca775c1ad24c2abf9c5ad9e04cd\r
+ad2ccead2dd2a701d4a704d5a7054352\r
+44a2424505d309d3a567d4ad98daad23\r
+c1ad1fc3ad20c5a55a0fcf1ad60cd6ad\r
+1ad7abfbd9ad9cdaa51acfad17d0ad18\r
+d2ad19d5abf4c9c68bc9ad14ccad15cd\r
+ad16cead9b05cb09cba522cfad1ddaad\r
+9dc5a52ec7ad50caad1c345e34ae8641\r
+78420bce14d209d2a9fad5a73fd6ad10\r
+cead0dcfad0ed1ad0fc909c9ab13caad\r
+0bccad0cc1a3bfc5ad08c6ad090cd217\r
+d50cd5abf0d7ad06d8ad07daa35ed2ad\r
+03d3ad04d4ad05cd09cdad9acfad01d1\r
+ad02c4abfec6ad99cc6d2aa561312c32\r
+1133b0ad981137b2a79c10e1a9aa10ef\r
+012aa7f44c10c1a7f41170e3a7da026d\r
+2e6e327310f5a7e810e2a7e401e1a7ca\r
+e2a5cd01613a701161ee012aa72d4a10\r
+d0a72d016d2a7610e1ad9410efad9305\r
+6e1e6e306f36741168e9ad971164e1a7\r
+851172e5012aa78a4b01d0ad33d2a78a\r
+61306844691174f3ad96016c2a6e10e1\r
+ad9510e9a55b02612e6d326f10eaab3a\r
+10f2a9f610f2012aa77a4b10c8a77a47\r
+3448a25c49127461eca56c0465466c5a\r
+6f60727a75016a2a7210f5a9d510f2a5\r
+d1116ff2012aa5b14710c5a5b11161e7\r
+a51f016e2a7410e8a5cb01e7ad87eda5\r
+680161506510eb032aa55c432e473254\r
+10d2a38c10d9ad1b10d2a55c10eead88\r
+056c186c306d3675116ee7ad921175f7\r
+a5f5106e01e7a5faf0a96a6130659c69\r
+1172e1ad91016e2a7410f2a93b05ef24\r
+efad8bf34cf4032aa3f9482e4d325410\r
+d7a3f910cba3f010cfa3f2012aa3ec43\r
+10cea3ece2a3fee7ad89e9ad8a1162f2\r
+054917493a533e5502c1ad8fcbad8dd3\r
+ad9010cca5ea10c5ad8e2aa5ea432a47\r
+10c2ad8d10c1ad8c43c106437044a2bf\r
+450267406c46741168e9012a754501d2\r
+ad22d4751179f0a55801622a7910edad\r
+8610e1ad850461a26868a2776fa28670\r
+a288791172ec0a4d335414542e553858\r
+10cbad7e01caaba4d2ad7d10c1abec4d\r
+2e523e5310cbad7c02c4ad7acba906ce\r
+a54002cfad7bd3ab2ed5ab1b2aab1b41\r
+38423c474c4b01c7a7c1daad3510ccad\r
+7702c1ad78c7a389d9a37c01c52dd2ad\r
+79026b2e6e327210e9ad7510eda3e610\r
+f3a51302612e65327210f3ad7610eda5\r
+0610f2a5031170f4a5111172f4a5cc03\r
+653469866f8c751170ecad841176e106\r
+491749324d364e3a5010cba3c610cea5\r
+ec10d5ad8110d0a98b2aa5ec422a4610\r
+caad8010d4ad7f1161ebad821167f2ad\r
+832aa25441aa3142056f1f6f3e724475\r
+01672a6810e4ad7410e9ad731170efa3\r
+fd106101e8a9ebe9ad726130655c6811\r
+6bf3ad71036c326d36733a7410ebad70\r
+10e9ad6f10f5a36a10f3a3c1116ee701\r
+2aa3ad4210c4a3ad00214ac1c052c0cc\r
+5638563c5758586259665a01d2abf2d7\r
+ab6204c1ad61c4ad62c5ad63cead62d5\r
+a39301c6ad64d3ab5b10cbad6503c4ab\r
+fdc5abfdd4ad66d5ab2e5246536c54a2\r
+575503c1abecc7ad5fd9ad60daabf705\r
+d309d3ab2ed5ab1bd7ab1ec5ad51c8ab\r
+62cfa94d0ecd1ad40cd4ad57d5ab1bd6\r
+ad58d9ad59cdad54cead55cfab68d2ad\r
+56c50cc5ab81c9ab56caad53cbab52c1\r
+abf8c3ad52c4abfc0ecd1ad20cd2abc8\r
+d6abddd7a3f9daab82cdabb4cead5ecf\r
+abc0d0ad5dc80cc8aba9caaba4cbabb5\r
+ccad5dc4ad5ac6ad5bc7ad5c4e644e40\r
+4fa89650785102c1ad4fcfad50d5abf9\r
+09cc0fcca54dcfa981d0a98bd1ad02d4\r
+abf8c1ad42c3ad43c5ad44c8a393c9ad\r
+450dcd17d40cd4ad4ed7a9dcd9a5c1da\r
+ad47cdad4bd2ad4cd3ad4dc70cc7abc4\r
+c8a57dcbad4acca9edc1ad47c5ad48c6\r
+ad494aa2484ba24c4ca2644d0012ce20\r
+d50fd5a92cd6a54ed8abf1d9a90fdaad\r
+41cea540cfa3f2d1ad3fd2ad40d4a95c\r
+c60fc6ad3ec7a930cba906cca3a8cda3\r
+cec1ad3bc3ad3cc4ad3dc5ab3001cfad\r
+30d0a72d07d00cd0ad33d2a78ad7ad34\r
+daad35c5ad31c7a7c1c8a77acdad3208\r
+d30fd3ad38d4a7fcd5ad39d6a902d9ad\r
+3ac1a7f4c2ad36c9ad37cbab4c41c160\r
+4598456a46a24147a24e48a2754907d1\r
+0cd1ad2fd2a571d3a70fd4a727c3ad2e\r
+c4a711cca5eacea5ec09d20ed2ad22d3\r
+a567d475d5abf9daad23c1ad1fc3ad20\r
+c5a55ac79bc8ad2104c9a57bcfa582d1\r
+ad02d2a588d8a5880bd014d309d3ad29\r
+d4ad2ad7ad2bd0ad27d1ad28d2a55cc8\r
+08c867cca775cead26c1ad24c5a5b1c6\r
+ad2506d20cd2a701d4a704d5a705d6ad\r
+09cba3f0cdad2ccead2d415e42a24c43\r
+a2834406cb0ccba522cfad1dd9ad0bda\r
+ad1ec4a52ec5a52ecaad1c0dd117d40c\r
+d4ad05d7ad06d8ad07daa35ed1ad02d2\r
+ad03d3ad04cc0bcc6dcda342ceabfbcf\r
+ad01c4abfec5abffc6ad000010cc1cd2\r
+0ed2a9fad445d5a3ced6ad10d9a37ccc\r
+ad0ccead0dcfad0ed1ad0fc70cc7a389\r
+c8ad0ac9ab13caad0bc1a3bfc4a3adc5\r
+ad08c6ad090010cf1dd50fd5abf4d6ad\r
+1ad7abfbd9ad1bdaa51acfad17d0ad18\r
+d2ad19d3ab2ec90cc9ad14ccad15cdad\r
+16cea3ecc4abf2c6ad11c7ad12c8ad13\r
+342234423548374e3801382a3910b0ab\r
+2e10b6abfd1131b9abfa1133b2abfb11\r
+33b6abfc2aa561305031a26b3202302e\r
+33383810b0a52e01b0a51ab2abef10b0\r
+750533233334354a3601b1ab5bb2a5ec\r
+03b0a3ecb4a5ecb5a711b9a72702b3ab\r
+f0b4abf5b7abf63034314a3201b1a561\r
+b9abf403b2abefb3a561b5a9fab9abf0\r
+06b50bb59bb7abf2b8abf3b9a561b1ab\r
+efb3abf1b4ab8202342e353e3710b2ab\r
+1b02b2a3ecb3abf7b5abf803b0ab1bb1\r
+ab1bb4abf9b5a52e046436673c684272\r
+46761173f44b116ceda5781168e2ad67\r
+116fed6301613c6d01e99dee012aa342\r
+4110cda34210e200134c625131513c53\r
+405450556a5901c5abfdd4ab8310c1ad\r
+4f02c1abf8c4abfcd9ad5904c791c8a9\r
+2bcaad6dcead5ed2ad6e10cbad684c3c\r
+4d464e624f665001cbad4ad3ad4d01c2\r
+ad36d9ad3a04c1ad3bcdab08cea772d2\r
+ad40d5ad6b10c7ad6c10cdad46452e45\r
+42474a494e4a644b02c8a505cdad32d7\r
+ad3401c79bc8ad2110c2ad6803c4ad69\r
+cead6ad1ad2fd2a57110cfad302a9b41\r
+32423c43464410daad1e01c5abffc6ad\r
+0001c8ad0ad5ab0801c3a910ceabe800\r
+217588e62bf221f29bf3a349f6a353f9\r
+a35cfa012a2e41127261e2a360022aa3\r
+5e498a5210d5a361e651eb67ed75ee7f\r
+7a2d7a2ce125e22de54b10ea012a2e41\r
+127261e2a360032aa35e312e49345310\r
+d5a3611137b2a36101d1a35fd2a36075\r
+38763c77527901e2a35df2a35c10f9a3\r
+5203eca354eea355f4a356f5a35703e1\r
+a358e2a359efa35af8a35b6b966f696f\r
+44704e726873a2507402e1a34fe7a350\r
+eaa35102ea89ed8bfa8d05f206f295f3\r
+97fa99e38fe491e59309ef0fefa344f1\r
+a345f3a346f9a347faa348e29be332e8\r
+a341eda342eea343022a9d4e2c501261\r
+6ceda1126261f49f04e1a34ae5a34be7\r
+a34cefa34df4a34e6b3c6c3e6d586e03\r
+e381eb83ee85f98710eb6905ee06ee71\r
+f36df473e16be26de96f03ed77ee79ef\r
+7bf07d65256530673668506a10e76501\r
+e24df94f05ed06ed59ef5bf15de353e4\r
+55e75702e15fec61ef63614862526364\r
+6405f006f045f947fa49e13fe541ea43\r
+02e927eb29f52b04e92ff131f233f435\r
+f93702e439e53be83d\r
         }  // trie\r
-        lsrs{  // 1596\r
+        lsrs{  // 1599\r
             "","","",\r
             "skip","script","",\r
             "aa","Latn","ET",\r
@@ -1059,6 +1060,7 @@ e83d
             "bzh","Latn","ZZ",\r
             "bzw","Latn","ZZ",\r
             "ca","Latn","ES",\r
+            "cad","Latn","US",\r
             "can","Latn","ZZ",\r
             "cbj","Latn","ZZ",\r
             "cch","Latn","NG",\r
@@ -1325,6 +1327,7 @@ e83d
             "he","Hebr","IL",\r
             "hhy","Latn","ZZ",\r
             "hi","Deva","IN",\r
+            "hi","Latn","IN",\r
             "hia","Latn","ZZ",\r
             "hif","Latn","FJ",\r
             "hig","Latn","ZZ",\r
@@ -1503,6 +1506,7 @@ e83d
             "krs","Latn","ZZ",\r
             "kru","Deva","IN",\r
             "ks","Arab","IN",\r
+            "ks","Deva","IN",\r
             "ksb","Latn","TZ",\r
             "ksd","Latn","ZZ",\r
             "ksf","Latn","CM",\r
@@ -1615,7 +1619,7 @@ e83d
             "maw","Latn","ZZ",\r
             "ms","Latn","MY",\r
             "ms","Arab","CC",\r
-            "ms","Arab","ID",\r
+            "ms","Latn","ID",\r
             "maz","Latn","MX",\r
             "mbh","Latn","ZZ",\r
             "mbo","Latn","ZZ",\r
@@ -1893,7 +1897,7 @@ e83d
             "sah","Cyrl","RU",\r
             "saq","Latn","KE",\r
             "sas","Latn","ID",\r
-            "sat","Latn","IN",\r
+            "sat","Olck","IN",\r
             "sav","Latn","SN",\r
             "saz","Saur","IN",\r
             "sba","Latn","ZZ",\r
@@ -2215,6 +2219,7 @@ e83d
             "fr","Latn","YT",\r
             "lez","Aghb","RU",\r
             "ks","Arab","GB",\r
+            "ms","Arab","ID",\r
             "ur","Arab","IN",\r
             "ur","Arab","MU",\r
             "ha","Arab","NG",\r
@@ -2294,7 +2299,6 @@ e83d
             "xna","Narb","SA",\r
             "new","Newa","NP",\r
             "zhx","Nshu","CN",\r
-            "sat","Olck","IN",\r
             "so","Osma","SO",\r
             "kv","Perm","RU",\r
             "lzh","Phag","CN",\r
@@ -2432,150 +2436,172 @@ e83d
         }  // lsrs\r
     }  // likely\r
     match{\r
-        trie:bin{  // BytesTrie: 2283 bytes\r
-00196ec3d974c16f77b377a26978a273\r
-79a2837a036c346dae0ee834f51165ee\r
-3512ed6df335117ae820012a85481161\r
-6e01f398f41248616e01f347f42007b3\r
-14b32ab426b536b605b3c770b329b429\r
-b62910b5292a2bb026b122b205b3c75c\r
-b329b429b62905b3c752b329b429b629\r
-1348616ef43f01752aef1166f23512f5\r
-7ae835016d2ae81165ee3502eda241f6\r
-22f7116de7350369327538e93eef1165\r
-ee3512e879e93512e57ae8351165ee34\r
-012a8548166562f24c6174ee35744a75\r
-a28e76016b2c7212ef65f43501eb22f4\r
-116df3350ee14beb0eeba280eea2b2ef\r
-a2aff41172f535e14ee56ce7a8a2e911\r
-65ee34012a8545167468e94c6174ee35\r
-1165ee34012a855416616dec4c6174ee\r
-351165ee34012a855416656cf54c6174\r
-ee356c1c6c366daa4875367812f96de7\r
-3512e865ee3501eda257f9126b6cee35\r
-643265a2d96b12e76de73512f86de735\r
-0472547a5ae7acd2f2a28bfa1172f534\r
-012a854c166174ee437972ec3512eb6d\r
-f33512f375fa3571c16171a2ac72a449\r
-730011e855f12df130f234f428f5a6e8\r
-f71165ee35107301e829f220022a8543\r
-344c166174ee437972ec2b167972ec4c\r
-6174ee2be832e942ee22ef1165ee3502\r
-62aa4968227310f2291165ee34012a85\r
-5316696ee84c6174ee35702e70527258\r
-735ee1a8c4e41165ee34012a85411672\r
-61e24c6174ee3512f66ff23512ef73e3\r
-3501e8acebf91161e129643467406848\r
-6b12e76de73501e322ee1173e33513e3\r
-6b6cee3512f561f23504753a769077a2\r
-6478a26df51165f3350cec16f30bf32a\r
-f726f822f91171f535ec26f022f21171\r
-f535e709e726e822eb1171f535e226e4\r
-22e61171f5350ded16f00bf02af326f7\r
-22fa1171f535ed26ee22ef1171f535e8\r
-0be82ae926ea22ec1171f535e126e322\r
-e51171f53503e12ae326e822f31171f5\r
-350aef14f409f426f522f71171f535ef\r
-26f022f21171f535e12ee32ae826ec22\r
-ee1171f5351171f5350361a650ed30ee\r
-a281f71166f2351164e5356ea26b6fa2\r
-cf70086b4d6baa22735ae168f386f411\r
-70f4a28007b3c3a8b3a8acb4a8a9b5a8\r
-a6b601b129b62901e5a2cff41170f335\r
-1165ee34012a8547167572f54c6174ee\r
-351165ee34012a8541167261e24c6174\r
-ee35623663acaf65366712e161f23512\r
-f470f33512ec6df3350a7944ee17ee2e\r
-ef38f91165ee35106e01e235ef350164\r
-786e10e2237948e256e51165ee34012a\r
-8544166576e14c6174ee3501e4a4b8ee\r
-1165ee3501642c6e01ee35ef2310e131\r
-61a6816834693a6c427312ef65ee3512\r
-e467ee3513f16b6cee3513e56c75f935\r
-046b54725ce3a40beda2b5f21165ee34\r
-012a854f167279e14c6174ee3513e96b\r
-6cee3502e3a4fdee22f3116df33567c2\r
-4c6ac1926aa28d6ba29a6ca2fd6d0011\r
-e73eee1eeea299f2a4aff3a27bf4a270\r
-f91165ee34012a854d16796df24c6174\r
-ee35e7a2aee9a258eb44ec1165ee3401\r
-2a854d166c79ed4c6174ee351162e735\r
-6e226e3a7140734675a4ed7612e66dee\r
-3512f07ae83512e76df33501e8aa7be9\r
-116df3356134653a66406912ee6df335\r
-12f86df33512ef6df33502e146e242e5\r
-1165ee3501612af61169e43501eb22f8\r
-116df33509eb33eb2eed32ee50f56ef9\r
-1172f5351165ee34012a854b16686df2\r
-4c6174ee351165ee34012a854b166e64\r
-e14c6174ee351174f2357236763c7848\r
-e14ee71166f23512e965ee3501e222f2\r
-116df33512e46df3351165ee34012a85\r
-4716656ff24c6174ee350e753be21ee2\r
-50e7a291eea8a9ef1165ee34012a854c\r
-16616fef4c6174ee351164e529753277\r
-387a40e11169f43512e166f23513e76c\r
-75f93512e87ae8356f2a6f48724e735c\r
-7402e730ef22f3126c75f935116cf635\r
-12fa65ee3501e922ed126c75f93513ed\r
-6c75f935634669526b02e226ef22f312\r
-6c75f935126c75f93501e522e6116df3\r
-3512f76df335676a68a26e6905e40ae4\r
-a82fe722f31165ee35642e6b36e11165\r
-ee3513e16c75f93512f469f5350a751e\r
-ec0beca2e3eea2e0f51168e935752ee1\r
-22e41165ee3501e922ee1167ee356138\r
-6b4c6e546f5a7312f764e52902e1a250\r
-eea457f8116fed3513f06b70e53512f7\r
-67ee3513ed6b6feb3506e123e184f24a\r
-f4a6adf91172f534012a854116726dee\r
-437972ec350162287310e82910f32961\r
-306a4a7312ee7ae83502e530eba40bf7\r
-1165ee35116fed3512e96df33564c0e0\r
-648865a248660366327538ef6af9116e\r
-ec3512ed66e63506e80be82ae926f122\r
-f61166e635e226e522e61166e6351166\r
-e6351164e135027434753ae1106e01e2\r
-31ef3112f96ee53512f06df33507ef46\r
-efa29ff32ef496f51165f3351165f3a2\r
-8007b30cb342b43eb53ab601b129b629\r
-2a2bb026b14eb204b029b229b329b429\r
-b52904b029b229b329b429b52901b129\r
-b6291166e9356e9879a0e5a255ee1165\r
-eea28007b317b362b430b55ab601b229\r
-b62904b027b127b327b427b5272a2bb0\r
-30b12cb201b229b62904b029b129b329\r
-b427b52913e26b6cee3513ef6b6cee35\r
-61a25662a45f630a6f2c7a167a30efa4\r
-7ff91165ee3501e822ef117ae835117a\r
-e8356f3070367212f366f23512e16df3\r
-3512f87ae8356438653e68466a4c6b12\r
-e261f23512ef7ae83513e26669ec3512\r
-f265ee3512f97ae8350015758ce265f2\r
-55f24af9a24cfa1172f534012a854c16\r
-6174ee437972ec351161f2a28007b313\r
-b33cb426b522b605b422b429b529b629\r
-10b3292a2bb026b122b205b40fb429b5\r
-29b62905b406b429b529b629b029b129\r
-b2291165f335e2a2e0e62aeb1165ee35\r
-116eec3575a40a7634793a7a4ee11273\r
-73f92912ec61f23503e82aec26ee22f0\r
-1161f23512e261fa3566356c1e6c3e70\r
-447203f12af326f922fa1161f23512ee\r
-73f13501e322e41161f235663069366a\r
-12f061f23512e261f23513e97379f235\r
-613e624e635a64906501e222e31161f2\r
-3502e526ef32f41173f13501e822f611\r
-61f23505f709f726f822f91161f235e8\r
-2eed22f11161f2351165ee351161f235\r
-12e661f2350c7642e82ae83eee42f260\r
-f30168287310e82910f2291168e93511\r
-65ee34012a854216656ee74c6174ee35\r
-1166f235762e7a3ae51172f53501e522\r
-f5116df33512e36de7356a1b6a306d44\r
-7412ea6df33501ee2af1116de735116d\r
-f33512ed6de735623065366812f26de7\r
-3512fa61f23512ed65ee35\r
+        trie:bin{  // BytesTrie: 2629 bytes\r
+00196ec42074c1b077c0ca77a28078a2\r
+8a79a29a7a036c346daa90e834f51165\r
+ee5d12ed6df335117ae820022a854834\r
+4c166174ee48616ef34911616e02e99e\r
+f3a245f41248616e01f347f42007b314\r
+b32ab426b536b605b3c8a5b329b429b6\r
+2910b5292a2bb026b122b205b3c891b3\r
+29b429b62905b3c887b329b429b62912\r
+48616e01f349f4491348616ef43f0175\r
+2aef1166f25d12f57ae835016d2ae811\r
+65ee5d02eda241f622f7116de7350369\r
+327538e93eef1165ee5d12e879e93512\r
+e57ae8351165ee5c012a8548166562f2\r
+4c6174ee35744a75a2b476016b2c7212\r
+ef65f43501eb22f4116df3350ee171eb\r
+0eeba2a5eea2dbefa2d8f41172f55de1\r
+4ee592e7aa42e91165ee5c012a854516\r
+7468e94c6174ee350165427410e12001\r
+2a854c166174ee54616dec4910ee5c01\r
+2a855416616dec4c6174ee3501654274\r
+10e520012a854c166174ee54656cf549\r
+10ee5c012a855416656cf54c6174ee35\r
+6c1c6c366dac0775367812f96de73512\r
+e865ee5d01eda25af9126b6cee356432\r
+65a2dc6b12e76de73512f86de7350472\r
+527a58e75ef2a28ffa1172f55c012a85\r
+4c166174ee437972ec3512eb6df33512\r
+f375fa35117ae84971c16171a2ac72a4\r
+49730011e855f12df130f234f428f5a8\r
+18f71165ee5d107301e829f220022a85\r
+43344c166174ee437972ec2b167972ec\r
+4c6174ee2be832e942ee22ef1165ee5d\r
+0262ac2968227310f2291165ee5c012a\r
+855316696ee84c6174ee35702e705272\r
+58735ee1b0ace41165ee5c012a854116\r
+7261e24c6174ee3512f66ff23512ef73\r
+e33501e8aef1f91161e1296434674068\r
+486b12e76de73501e322ee1173e33513\r
+e36b6cee3512f561f23504753a769077\r
+a26478a26df51165f35d0cec16f30bf3\r
+2af726f822f91171f535ec26f022f211\r
+71f535e709e726e822eb1171f535e226\r
+e422e61171f5350ded16f00bf02af326\r
+f722fa1171f535ed26ee22ef1171f535\r
+e80be82ae926ea22ec1171f535e126e3\r
+22e51171f53503e12ae326e822f31171\r
+f5350aef14f409f426f522f71171f535\r
+ef26f022f21171f535e12ee32ae826ec\r
+22ee1171f5351171f5350361a80ced30\r
+eea285f71166f25d1164e5496ea26f6f\r
+a2d570086b4d6bac05735ae168f386f4\r
+1170f4a28007b3c4c4b3aac8b4aac5b5\r
+aac2b601b129b62901e5a2d5f41170f3\r
+351165ee5c012a8547167572f54c6174\r
+ee351165ee5c012a8541167261e24c61\r
+74ee356234633a65406712e161f23512\r
+f470f33512ed65ee4912ec6df3350a79\r
+46ee19ee2eef38f91165ee5d106e01e2\r
+49ef4901647c6e01e223ee497948e256\r
+e51165ee5c012a8544166576e14c6174\r
+ee3501e4a66eee1165ee5d01642c6e01\r
+ee49ef2310e13161a8756834693a6c42\r
+7312ef65ee5d12e467ee3513f16b6cee\r
+3513e56c75f935046b54725ce3acfbed\r
+a2ddf21165ee5c012a854f167279e14c\r
+6174ee3513e96b6cee3502e3a6c6ee22\r
+f3116df33567c32c6ac2486aa2b56ba4\r
+0d6ca4b06d00107669ee35eea40af24e\r
+f374f4a29af91165ee5c012a854d1679\r
+6df24c6174ee350168a64f6d10f22001\r
+2a854c166174ee446576e1491169e45d\r
+7676e7a448e9a60aec0165426d10ec20\r
+012a854c166174ee4d6c79ed4910ee5c\r
+012a854d166c79ed4c6174ee3512e66d\r
+ee356e1f6e34713a73407512e96df335\r
+12f07ae83512e76df33501e8ac66e911\r
+6df3356134653a66406912ee6df33512\r
+f86df33512ef6df33502e14ae246e511\r
+65ee5d02612ee13af61169e44901eb22\r
+f8116df335116ae120032a8548384b78\r
+4c166174ee4a7061ee2b026136694272\r
+156bf44a7061ee2b156ee94a7061ee2b\r
+1172e10148464a127061ee2b12616ee1\r
+01482c4a127061ee2b12726bf42b0aeb\r
+73ef36ef2ef57cf91172f55d116bef20\r
+022a8548464a12616def01482c4b126f\r
+72e52b12616ee72b11616e01e722e913\r
+4b6f72e52b1174f25deba897ed6aee01\r
+65426b10ee20012a854c166174ee4b6e\r
+64e14910ee5c012a854b166e64e14c61\r
+74ee351165ee5c012a854b16686df24c\r
+6174ee357236763c7848e14ee71166f2\r
+5d12e965ee5d01e222f2116df33512e4\r
+6df3351165ee5c012a854716656ff24c\r
+6174ee350e753ee221e24ee7a29dee4c\r
+ef1165ee5c012a854c16616fef4c6174\r
+ee351164e5291166f25d753277387a40\r
+e11169f44912e166f25d13e76c75f935\r
+12e87ae8356f2a6f48724e735c7402e7\r
+30ef22f3126c75f935116cf63512fa65\r
+ee5d01e922ed126c75f93513ed6c75f9\r
+35634669526b02e226ef22f3126c75f9\r
+35126c75f93501e522e6116df33512f7\r
+6df335676a68a2816905e40ae4a88ce7\r
+34f31165ee49642e6b36e11165ee5d13\r
+e16c75f93512f469f5350a7531ec1eec\r
+a40deea40af50167286810e95d10f520\r
+012a854c166174ee47756af249752ee1\r
+22e41165ee4901e922ee1167ee356138\r
+6b4c6e546f5a7312f764e52902e1a257\r
+eea46bf8116fed3513f06b70e53512f7\r
+67ee3513ed6b6feb3507e934e94ef26c\r
+f4a6f7f91172f55c012a854116726dee\r
+437972ec351168e920012a854c166174\r
+ee446576e1490162287310e82910f329\r
+61326a4c7352e11165ee5d02e530eba4\r
+0df71165ee49116fed3512e96df33512\r
+ee7ae83564c0dd648865a24866036632\r
+7538ef6af9116eec4912ed66e63506e8\r
+0be82ae926f122f61166e635e226e522\r
+e61166e6351166e6351164e149027434\r
+753ae1106e01e231ef3112f96ee53512\r
+f06df33506ee78ee34efa278f396f511\r
+65f3491165eea28007b317b362b430b5\r
+5ab601b229b62904b027b127b327b427\r
+b5272a2bb030b12cb201b229b62904b0\r
+29b129b329b427b5291165f3a28007b3\r
+0cb342b43eb53ab601b129b6292a2bb0\r
+26b14eb204b029b229b329b429b52904\r
+b029b229b329b429b52901b129b6296e\r
+2e7936e51165ee5d13e26b6cee3513ef\r
+6b6cee3561a25662a482630a6f2c7a16\r
+7a30efa4b5f91165ee4901e822ef117a\r
+e835117ae8356f3070367212f366f249\r
+12e16df33512f87ae8356438653e6846\r
+6a4c6b12e261f25d12ef7ae83513e266\r
+69ec5d12f265ee4912f97ae835001575\r
+afe288f275f24af9a26cfa1172f55c01\r
+2a854c166174ee437972ec351161f220\r
+012a5a4c166174ee417261e24807b327\r
+b364b426b522b605b436b429b529b629\r
+8407b313b33cb426b522b605b422b429\r
+b529b62910b3292a2bb026b122b205b4\r
+0fb429b529b62905b406b429b529b629\r
+b029b129b2291165f349e22ee632eb11\r
+65ee5d1172f55d116eec4975a41d7634\r
+793a7a4ee1127373f92912ec61f23503\r
+e82aec26ee22f01161f23512e261fa35\r
+66356c1e6c3e70447203f12af326f922\r
+fa1161f23512ee73f13501e322e41161\r
+f235663069366a12f061f23512e261f2\r
+3513e97379f235613e624e635a649065\r
+01e222e31161f23502e526ef32f41173\r
+f13501e822f61161f23505f709f726f8\r
+22f91161f235e82eed22f11161f23511\r
+65ee5d1161f23512e661f2350c7655e8\r
+3de83eee42f286f30168287310e82910\r
+f2291168e95d0162426510ee5c012a85\r
+4216656ee74c6174ee3510ee20012a85\r
+4c166174ee42656ee7491166f249762e\r
+7a3ae51172f54901e522f5116df33512\r
+e36de7356a1b6a306d447412ea6df335\r
+01ee2af1116de735116df33512ed6de7\r
+35623065366812f26de73512fa61f235\r
+12ed65ee5d\r
         }  // trie\r
         regionToPartitions:bin{  // 1677 bytes\r
 000008090a00020000000b0009000201\r
@@ -2648,7 +2674,7 @@ f33512ed6de735623065366812f26de7
 00020102010101000000010100010000\r
 01010002000200000000000000000000\r
 04010002000100010400000000000000\r
-00000101010d00000000010000000000\r
+00000101010100000000010000000000\r
 00000001010200010001000001000000\r
 00000100000105000201020101010000\r
 02010100020101020203000100020000\r
@@ -2686,12 +2712,12 @@ f33512ed6de735623065366812f26de7
         }  // regionToPartitions\r
         partitions{".","0","1","2","3","4","5","6","0123456","03","16","02","05","04","012346"}\r
         paradigms{\r
+            "en","Latn","US",\r
+            "en","Latn","GB",\r
             "es","Latn","ES",\r
-            "pt","Latn","BR",\r
             "es","Latn","419",\r
-            "en","Latn","GB",\r
+            "pt","Latn","BR",\r
             "pt","Latn","PT",\r
-            "en","Latn","US",\r
         }\r
         distances:intvector{80,50,4,3}\r
     }  // match\r
index 522455e..920eab7 100644 (file)
@@ -221,6 +221,7 @@ likelySubtags:table(nofallback){
     bzh{"bzh_Latn_ZZ"}\r
     bzw{"bzw_Latn_ZZ"}\r
     ca{"ca_Latn_ES"}\r
+    cad{"cad_Latn_US"}\r
     can{"can_Latn_ZZ"}\r
     cbj{"cbj_Latn_ZZ"}\r
     cch{"cch_Latn_NG"}\r
@@ -461,6 +462,7 @@ likelySubtags:table(nofallback){
     he{"he_Hebr_IL"}\r
     hhy{"hhy_Latn_ZZ"}\r
     hi{"hi_Deva_IN"}\r
+    hi_Latn{"hi_Latn_IN"}\r
     hia{"hia_Latn_ZZ"}\r
     hif{"hif_Latn_FJ"}\r
     hig{"hig_Latn_ZZ"}\r
@@ -637,6 +639,7 @@ likelySubtags:table(nofallback){
     krs{"krs_Latn_ZZ"}\r
     kru{"kru_Deva_IN"}\r
     ks{"ks_Arab_IN"}\r
+    ks_Deva{"ks_Deva_IN"}\r
     ksb{"ksb_Latn_TZ"}\r
     ksd{"ksd_Latn_ZZ"}\r
     ksf{"ksf_Latn_CM"}\r
@@ -837,7 +840,7 @@ likelySubtags:table(nofallback){
     mro{"mro_Mroo_BD"}\r
     ms{"ms_Latn_MY"}\r
     ms_CC{"ms_Arab_CC"}\r
-    ms_ID{"ms_Arab_ID"}\r
+    ms_ID{"ms_Latn_ID"}\r
     mt{"mt_Latn_MT"}\r
     mtc{"mtc_Latn_ZZ"}\r
     mtf{"mtf_Latn_ZZ"}\r
@@ -1047,7 +1050,7 @@ likelySubtags:table(nofallback){
     sah{"sah_Cyrl_RU"}\r
     saq{"saq_Latn_KE"}\r
     sas{"sas_Latn_ID"}\r
-    sat{"sat_Latn_IN"}\r
+    sat{"sat_Olck_IN"}\r
     sav{"sav_Latn_SN"}\r
     saz{"saz_Saur_IN"}\r
     sba{"sba_Latn_ZZ"}\r
index 3bf806e..20ad982 100644 (file)
@@ -289,6 +289,7 @@ metaZones:table(nofallback){
             RS{"Europe/Belgrade"}\r
             SE{"Europe/Stockholm"}\r
             SI{"Europe/Ljubljana"}\r
+            SJ{"Arctic/Longyearbyen"}\r
             SK{"Europe/Bratislava"}\r
             SM{"Europe/San_Marino"}\r
             TN{"Africa/Tunis"}\r
@@ -1273,6 +1274,11 @@ metaZones:table(nofallback){
             {\r
                 "Argentina_Western",\r
                 "2008-01-21 02:00",\r
+                "2009-10-11 04:00",\r
+            }\r
+            {\r
+                "Argentina",\r
+                "2009-10-11 04:00",\r
                 "9999-12-31 23:59",\r
             }\r
         }\r
@@ -2720,7 +2726,7 @@ metaZones:table(nofallback){
             }\r
             {\r
                 "Kazakhstan_Western",\r
-                "2005-10-30 21:00",\r
+                "2004-10-30 21:00",\r
                 "9999-12-31 23:59",\r
             }\r
         }\r
@@ -2830,6 +2836,11 @@ metaZones:table(nofallback){
             {\r
                 "Choibalsan",\r
                 "1983-03-31 16:00",\r
+                "2008-03-30 15:00",\r
+            }\r
+            {\r
+                "Mongolia",\r
+                "2008-03-30 15:00",\r
                 "9999-12-31 23:59",\r
             }\r
         }\r
index 3d13ef2..afe5cbd 100644 (file)
@@ -1951,10 +1951,6 @@ metadata:table(nofallback){
                 reason{"deprecated"}\r
                 replacement{"cz72"}\r
             }\r
-            escn{\r
-                reason{"overlong"}\r
-                replacement{"IC"}\r
-            }\r
             fi01{\r
                 reason{"overlong"}\r
                 replacement{"AX"}\r
@@ -4897,6 +4893,7 @@ metadata:table(nofallback){
         "bss_CM",\r
         "byn_ER",\r
         "ca_ES",\r
+        "cad_US",\r
         "cch_NG",\r
         "ccp_BD",\r
         "ce_RU",\r
@@ -4954,6 +4951,7 @@ metadata:table(nofallback){
         "haw_US",\r
         "he_IL",\r
         "hi_IN",\r
+        "hi_Latn_IN",\r
         "hr_HR",\r
         "hsb_DE",\r
         "hu_HU",\r
@@ -4992,7 +4990,9 @@ metadata:table(nofallback){
         "ko_KR",\r
         "kok_IN",\r
         "kpe_LR",\r
-        "ks_IN",\r
+        "ks_Arab",\r
+        "ks_Arab_IN",\r
+        "ks_Deva_IN",\r
         "ksb_TZ",\r
         "ksf_CM",\r
         "ksh_DE",\r
@@ -5011,6 +5011,7 @@ metadata:table(nofallback){
         "luo_KE",\r
         "luy_KE",\r
         "lv_LV",\r
+        "mai_IN",\r
         "mas_KE",\r
         "mer_KE",\r
         "mfe_MU",\r
@@ -5022,7 +5023,9 @@ metadata:table(nofallback){
         "ml_IN",\r
         "mn_MN",\r
         "mn_Mong_CN",\r
-        "mni_IN",\r
+        "mni_Beng",\r
+        "mni_Beng_IN",\r
+        "mni_Mtei_IN",\r
         "moh_CA",\r
         "mr_IN",\r
         "ms_Arab_MY",\r
@@ -5056,6 +5059,7 @@ metadata:table(nofallback){
         "pa_Arab_PK",\r
         "pa_Guru",\r
         "pa_Guru_IN",\r
+        "pcm_NG",\r
         "pl_PL",\r
         "prg_001",\r
         "ps_AF",\r
@@ -5072,10 +5076,15 @@ metadata:table(nofallback){
         "sa_IN",\r
         "sah_RU",\r
         "saq_KE",\r
+        "sat_Deva_IN",\r
+        "sat_Olck",\r
+        "sat_Olck_IN",\r
         "sbp_TZ",\r
         "sc_IT",\r
         "scn_IT",\r
-        "sd_PK",\r
+        "sd_Arab",\r
+        "sd_Arab_PK",\r
+        "sd_Deva_IN",\r
         "sdh_IR",\r
         "se_NO",\r
         "seh_MZ",\r
index 6b100a7..d9ad2f8 100644 (file)
@@ -62,6 +62,7 @@ pluralRanges:table(nofallback){
         nl{"set03"}\r
         or{"set07"}\r
         pa{"set05"}\r
+        pcm{"set04"}\r
         pl{"set14"}\r
         ps{"set01"}\r
         pt{"set01"}\r
index cfa9e90..478bfb5 100644 (file)
@@ -140,6 +140,7 @@ plurals:table(nofallback){
         osa{"set0"}\r
         pa{"set6"}\r
         pap{"set8"}\r
+        pcm{"set1"}\r
         pl{"set25"}\r
         prg{"set13"}\r
         ps{"set8"}\r
@@ -153,6 +154,7 @@ plurals:table(nofallback){
         rwk{"set8"}\r
         sah{"set0"}\r
         saq{"set8"}\r
+        sat{"set16"}\r
         sc{"set4"}\r
         scn{"set4"}\r
         sd{"set8"}\r
index 2b10a19..e10f547 100644 (file)
@@ -2104,7 +2104,7 @@ supplementalData:table(nofallback){
             "islamic-tbla",\r
         }\r
     }\r
-    cldrVersion{"36.1"}\r
+    cldrVersion{"37"}\r
     codeMappings{\r
         {\r
             "AA",\r
@@ -7860,6 +7860,7 @@ supplementalData:table(nofallback){
                 "Qaaj~p",\r
             }\r
             special{\r
+                "Aran",\r
                 "Qaag",\r
                 "Zanb",\r
                 "Zinh",\r
@@ -7943,7 +7944,6 @@ supplementalData:table(nofallback){
                 "czus",\r
                 "czvy",\r
                 "czzl",\r
-                "escn",\r
                 "fi01",\r
                 "fra~b",\r
                 "frbl",\r
@@ -7981,17 +7981,25 @@ supplementalData:table(nofallback){
                 "gbdgn",\r
                 "gbdow",\r
                 "gbdry",\r
+                "gbeaw",\r
+                "gbeng",\r
                 "gbfer",\r
+                "gbgbn",\r
                 "gblmv",\r
                 "gblrn",\r
                 "gblsb",\r
                 "gbmft",\r
                 "gbmyl",\r
                 "gbndn",\r
+                "gbnir",\r
                 "gbnta",\r
                 "gbnym",\r
                 "gbomh",\r
+                "gbsct",\r
                 "gbstb",\r
+                "gbukm",\r
+                "gbwls",\r
+                "ghba",\r
                 "glqa",\r
                 "gr01",\r
                 "gr03~7",\r
@@ -8006,6 +8014,15 @@ supplementalData:table(nofallback){
                 "gr91~4",\r
                 "gra1",\r
                 "is0",\r
+                "itao",\r
+                "itci",\r
+                "itgo",\r
+                "itog",\r
+                "itot",\r
+                "itpn",\r
+                "itts",\r
+                "itud",\r
+                "itvs",\r
                 "laxn",\r
                 "lud",\r
                 "lug",\r
@@ -8014,18 +8031,15 @@ supplementalData:table(nofallback){
                 "mammd",\r
                 "mammn",\r
                 "masyb",\r
-                "mk01",\r
-                "mk09",\r
-                "mk15",\r
-                "mk17",\r
-                "mk28~9",\r
-                "mk31",\r
-                "mk38~9",\r
-                "mk57",\r
-                "mk68",\r
-                "mk77",\r
-                "mk79",\r
-                "mk84",\r
+                "mk01~9",\r
+                "mk10~9",\r
+                "mk20~9",\r
+                "mk30~9",\r
+                "mk40~9",\r
+                "mk50~9",\r
+                "mk60~9",\r
+                "mk70~9",\r
+                "mk80~5",\r
                 "mrnkc",\r
                 "mvce",\r
                 "mvnc",\r
@@ -8039,10 +8053,12 @@ supplementalData:table(nofallback){
                 "nlcw",\r
                 "nlsx",\r
                 "no16~7",\r
+                "no23",\r
                 "nzn",\r
                 "nzs",\r
                 "omba",\r
                 "omsh",\r
+                "pkta",\r
                 "plds",\r
                 "plkp",\r
                 "pllb",\r
@@ -8072,6 +8088,8 @@ supplementalData:table(nofallback){
                 "uspr",\r
                 "usum",\r
                 "usvi",\r
+                "zagt",\r
+                "zanl",\r
             }\r
             regular{\r
                 "ad02~8",\r
@@ -8784,8 +8802,7 @@ supplementalData:table(nofallback){
                 "esc",\r
                 "esca~c",\r
                 "esce",\r
-                "escl~m",\r
-                "esco",\r
+                "escl~o",\r
                 "escr~u",\r
                 "esex",\r
                 "esga",\r
@@ -8936,13 +8953,12 @@ supplementalData:table(nofallback){
                 "gbdud",\r
                 "gbdur",\r
                 "gbeal",\r
-                "gbeaw",\r
                 "gbeay",\r
                 "gbedh",\r
                 "gbedu",\r
                 "gbeln",\r
                 "gbels",\r
-                "gbenf~g",\r
+                "gbenf",\r
                 "gberw",\r
                 "gbery",\r
                 "gbess",\r
@@ -8952,7 +8968,6 @@ supplementalData:table(nofallback){
                 "gbfln",\r
                 "gbfmo",\r
                 "gbgat",\r
-                "gbgbn",\r
                 "gbglg",\r
                 "gbgls",\r
                 "gbgre",\r
@@ -9007,7 +9022,6 @@ supplementalData:table(nofallback){
                 "gbnet",\r
                 "gbnfk",\r
                 "gbngm",\r
-                "gbnir",\r
                 "gbnlk",\r
                 "gbnln",\r
                 "gbnmd",\r
@@ -9041,7 +9055,6 @@ supplementalData:table(nofallback){
                 "gbsaw",\r
                 "gbsay",\r
                 "gbscb",\r
-                "gbsct",\r
                 "gbsfk",\r
                 "gbsft",\r
                 "gbsgc",\r
@@ -9070,7 +9083,6 @@ supplementalData:table(nofallback){
                 "gbtof",\r
                 "gbtrf",\r
                 "gbtwh",\r
-                "gbukm",\r
                 "gbvgl",\r
                 "gbwar",\r
                 "gbwbk",\r
@@ -9081,7 +9093,6 @@ supplementalData:table(nofallback){
                 "gbwkf",\r
                 "gbwll",\r
                 "gbwln",\r
-                "gbwls",\r
                 "gbwlv",\r
                 "gbwnd",\r
                 "gbwnm",\r
@@ -9108,14 +9119,20 @@ supplementalData:table(nofallback){
                 "gesz",\r
                 "getb",\r
                 "ghaa",\r
+                "ghaf",\r
                 "ghah",\r
-                "ghba",\r
+                "ghbe",\r
+                "ghbo",\r
                 "ghcp",\r
                 "ghep",\r
+                "ghne",\r
                 "ghnp",\r
+                "ghot",\r
+                "ghsv",\r
                 "ghtv",\r
                 "ghue",\r
                 "ghuw",\r
+                "ghwn",\r
                 "ghwp",\r
                 "glav",\r
                 "glku",\r
@@ -9361,6 +9378,7 @@ supplementalData:table(nofallback){
                 "injk",\r
                 "inka",\r
                 "inkl",\r
+                "inla",\r
                 "inld",\r
                 "inmh",\r
                 "inml",\r
@@ -9422,7 +9440,8 @@ supplementalData:table(nofallback){
                 "it88",\r
                 "itag",\r
                 "ital",\r
-                "itan~r",\r
+                "itan",\r
+                "itap~r",\r
                 "itat",\r
                 "itav",\r
                 "itba",\r
@@ -9434,7 +9453,7 @@ supplementalData:table(nofallback){
                 "itbz",\r
                 "itca~b",\r
                 "itce",\r
-                "itch~i",\r
+                "itch",\r
                 "itcl",\r
                 "itcn~o",\r
                 "itcr~t",\r
@@ -9447,7 +9466,6 @@ supplementalData:table(nofallback){
                 "itfm",\r
                 "itfr",\r
                 "itge",\r
-                "itgo",\r
                 "itgr",\r
                 "itim",\r
                 "itis",\r
@@ -9465,14 +9483,12 @@ supplementalData:table(nofallback){
                 "itna",\r
                 "itno",\r
                 "itnu",\r
-                "itog",\r
                 "itor",\r
-                "itot",\r
                 "itpa",\r
                 "itpc~e",\r
                 "itpg",\r
                 "itpi",\r
-                "itpn~o",\r
+                "itpo",\r
                 "itpr",\r
                 "itpt~v",\r
                 "itpz",\r
@@ -9483,6 +9499,7 @@ supplementalData:table(nofallback){
                 "itri",\r
                 "itrm~o",\r
                 "itsa",\r
+                "itsd",\r
                 "itsi",\r
                 "itso~p",\r
                 "itsr~s",\r
@@ -9490,13 +9507,13 @@ supplementalData:table(nofallback){
                 "itta",\r
                 "itte",\r
                 "ittn~p",\r
-                "ittr~s",\r
+                "ittr",\r
                 "ittv",\r
-                "itud",\r
                 "itva~c",\r
                 "itve",\r
                 "itvi",\r
-                "itvr~t",\r
+                "itvr",\r
+                "itvt",\r
                 "itvv",\r
                 "jm01~9",\r
                 "jm10~4",\r
@@ -9834,7 +9851,7 @@ supplementalData:table(nofallback){
                 "mdun",\r
                 "me01~9",\r
                 "me10~9",\r
-                "me20~3",\r
+                "me20~4",\r
                 "mga",\r
                 "mgd",\r
                 "mgf",\r
@@ -9865,22 +9882,20 @@ supplementalData:table(nofallback){
                 "mhuti",\r
                 "mhwth",\r
                 "mhwtj",\r
-                "mk02~8",\r
-                "mk10~4",\r
-                "mk16",\r
-                "mk18~9",\r
-                "mk20~7",\r
-                "mk30",\r
-                "mk32~7",\r
-                "mk40~9",\r
-                "mk50~6",\r
-                "mk58~9",\r
-                "mk60~7",\r
-                "mk69",\r
-                "mk70~6",\r
-                "mk78",\r
-                "mk80~3",\r
-                "mk85",\r
+                "mk101~9",\r
+                "mk201~9",\r
+                "mk210~1",\r
+                "mk301",\r
+                "mk303~4",\r
+                "mk307~8",\r
+                "mk310~3",\r
+                "mk401~9",\r
+                "mk410",\r
+                "mk501~9",\r
+                "mk601~9",\r
+                "mk701~6",\r
+                "mk801~9",\r
+                "mk810~7",\r
                 "ml1",\r
                 "ml10",\r
                 "ml2~9",\r
@@ -10092,7 +10107,8 @@ supplementalData:table(nofallback){
                 "no10~2",\r
                 "no14~5",\r
                 "no18~9",\r
-                "no20~3",\r
+                "no20~2",\r
+                "no50",\r
                 "np1~5",\r
                 "npba",\r
                 "npbh",\r
@@ -10279,7 +10295,6 @@ supplementalData:table(nofallback){
                 "pkkp",\r
                 "pkpb",\r
                 "pksd",\r
-                "pkta",\r
                 "pl02",\r
                 "pl04",\r
                 "pl06",\r
@@ -10958,11 +10973,11 @@ supplementalData:table(nofallback){
                 "yeta",\r
                 "zaec",\r
                 "zafs",\r
-                "zagt",\r
+                "zagp",\r
+                "zakzn",\r
                 "zalp",\r
                 "zamp",\r
                 "zanc",\r
-                "zanl",\r
                 "zanw",\r
                 "zawc",\r
                 "zm01~9",\r
@@ -11237,10 +11252,19 @@ supplementalData:table(nofallback){
             }\r
         }\r
         unit{\r
-            deprecated{"proportion-karat"}\r
+            deprecated{\r
+                "acceleration-meter-per-second-squared",\r
+                "consumption-liter-per-100kilometers",\r
+                "concentr-part-per-million",\r
+                "pressure-inch-hg",\r
+                "pressure-pound-per-square-inch",\r
+                "pressure-millimeter-of-mercury",\r
+                "proportion-karat",\r
+                "torque-pound-foot",\r
+            }\r
             regular{\r
                 "acceleration-g-force",\r
-                "acceleration-meter-per-second-squared",\r
+                "acceleration-meter-per-square-second",\r
                 "angle-arc-minute",\r
                 "angle-arc-second",\r
                 "angle-degree",\r
@@ -11259,12 +11283,14 @@ supplementalData:table(nofallback){
                 "concentr-karat",\r
                 "concentr-milligram-per-deciliter",\r
                 "concentr-millimole-per-liter",\r
-                "concentr-part-per-million",\r
                 "concentr-percent",\r
                 "concentr-permille",\r
                 "concentr-permyriad",\r
+                "concentr-permillion",\r
                 "concentr-mole",\r
-                "consumption-liter-per-100kilometers",\r
+                "concentr-item",\r
+                "concentr-portion",\r
+                "consumption-liter-per-100-kilometer",\r
                 "consumption-liter-per-kilometer",\r
                 "consumption-mile-per-gallon",\r
                 "consumption-mile-per-gallon-imperial",\r
@@ -11314,6 +11340,7 @@ supplementalData:table(nofallback){
                 "frequency-hertz",\r
                 "frequency-kilohertz",\r
                 "frequency-megahertz",\r
+                "graphics-dot",\r
                 "graphics-dot-per-centimeter",\r
                 "graphics-dot-per-inch",\r
                 "graphics-em",\r
@@ -11321,6 +11348,7 @@ supplementalData:table(nofallback){
                 "graphics-pixel",\r
                 "graphics-pixel-per-centimeter",\r
                 "graphics-pixel-per-inch",\r
+                "length-100-kilometer",\r
                 "length-astronomical-unit",\r
                 "length-centimeter",\r
                 "length-decimeter",\r
@@ -11341,7 +11369,9 @@ supplementalData:table(nofallback){
                 "length-picometer",\r
                 "length-point",\r
                 "length-yard",\r
+                "length-earth-radius",\r
                 "length-solar-radius",\r
+                "light-candela",\r
                 "light-lux",\r
                 "light-solar-luminosity",\r
                 "mass-carat",\r
@@ -11366,14 +11396,15 @@ supplementalData:table(nofallback){
                 "power-watt",\r
                 "pressure-atmosphere",\r
                 "pressure-hectopascal",\r
-                "pressure-inch-hg",\r
+                "pressure-inch-ofhg",\r
                 "pressure-bar",\r
                 "pressure-millibar",\r
-                "pressure-millimeter-of-mercury",\r
-                "pressure-pound-per-square-inch",\r
+                "pressure-millimeter-ofhg",\r
+                "pressure-pound-force-per-square-inch",\r
                 "pressure-pascal",\r
                 "pressure-kilopascal",\r
                 "pressure-megapascal",\r
+                "pressure-ofhg",\r
                 "speed-kilometer-per-hour",\r
                 "speed-knot",\r
                 "speed-meter-per-second",\r
@@ -11382,7 +11413,7 @@ supplementalData:table(nofallback){
                 "temperature-fahrenheit",\r
                 "temperature-generic",\r
                 "temperature-kelvin",\r
-                "torque-pound-foot",\r
+                "torque-pound-force-foot",\r
                 "torque-newton-meter",\r
                 "volume-acre-foot",\r
                 "volume-bushel",\r
@@ -13554,7 +13585,10 @@ supplementalData:table(nofallback){
                 territories{"IN"}\r
             }\r
             secondary{\r
-                scripts{"Mahj"}\r
+                scripts{\r
+                    "Latn",\r
+                    "Mahj",\r
+                }\r
                 territories{\r
                     "FJ",\r
                     "ZA",\r
@@ -15832,13 +15866,13 @@ supplementalData:table(nofallback){
         }\r
         sat{\r
             primary{\r
-                scripts{"Latn"}\r
+                scripts{"Olck"}\r
             }\r
             secondary{\r
                 scripts{\r
                     "Beng",\r
                     "Deva",\r
-                    "Olck",\r
+                    "Latn",\r
                     "Orya",\r
                 }\r
                 territories{"IN"}\r
@@ -18248,625 +18282,613 @@ supplementalData:table(nofallback){
             {\r
                 "ab",\r
                 "ru",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "ach",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "af",\r
                 "nl",\r
-                "10",\r
+                "20",\r
                 "1",\r
             }\r
             {\r
                 "ak",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "ay",\r
                 "es",\r
-                "10",\r
+                "20",\r
                 "1",\r
             }\r
             {\r
                 "az",\r
                 "ru",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "be",\r
                 "ru",\r
-                "10",\r
+                "20",\r
                 "1",\r
             }\r
             {\r
                 "bem",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "bh",\r
                 "hi",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "bn",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "br",\r
                 "fr",\r
-                "10",\r
+                "20",\r
                 "1",\r
             }\r
             {\r
                 "ceb",\r
                 "fil",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "chr",\r
                 "en",\r
-                "10",\r
+                "20",\r
                 "1",\r
             }\r
             {\r
                 "ckb",\r
                 "ar",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "co",\r
                 "fr",\r
-                "10",\r
+                "20",\r
                 "1",\r
             }\r
             {\r
                 "crs",\r
                 "fr",\r
-                "10",\r
+                "20",\r
                 "1",\r
             }\r
             {\r
                 "cy",\r
                 "en",\r
-                "10",\r
+                "20",\r
                 "1",\r
             }\r
             {\r
                 "ee",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "eo",\r
                 "en",\r
-                "10",\r
-                "1",\r
-            }\r
-            {\r
-                "et",\r
-                "fi",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "eu",\r
                 "es",\r
-                "10",\r
+                "20",\r
                 "1",\r
             }\r
             {\r
                 "fo",\r
                 "da",\r
-                "10",\r
+                "20",\r
                 "1",\r
             }\r
             {\r
                 "fy",\r
                 "nl",\r
-                "10",\r
+                "20",\r
                 "1",\r
             }\r
             {\r
                 "ga",\r
                 "en",\r
-                "10",\r
+                "20",\r
                 "1",\r
             }\r
             {\r
                 "gaa",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "gd",\r
                 "en",\r
-                "10",\r
+                "20",\r
                 "1",\r
             }\r
             {\r
                 "gl",\r
                 "es",\r
-                "10",\r
+                "20",\r
                 "1",\r
             }\r
             {\r
                 "gn",\r
                 "es",\r
-                "10",\r
+                "20",\r
                 "1",\r
             }\r
             {\r
                 "gu",\r
                 "hi",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "ha",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "haw",\r
                 "en",\r
-                "10",\r
+                "20",\r
                 "1",\r
             }\r
             {\r
                 "ht",\r
                 "fr",\r
-                "10",\r
+                "20",\r
                 "1",\r
             }\r
             {\r
                 "hy",\r
                 "ru",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "ia",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "ig",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "is",\r
                 "en",\r
-                "10",\r
+                "20",\r
                 "1",\r
             }\r
             {\r
                 "jv",\r
                 "id",\r
-                "10",\r
+                "20",\r
                 "1",\r
             }\r
             {\r
                 "ka",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "kg",\r
                 "fr",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "kk",\r
                 "ru",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "km",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "kn",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "kri",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "ku",\r
                 "tr",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "ky",\r
                 "ru",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "la",\r
                 "it",\r
-                "10",\r
+                "20",\r
                 "1",\r
             }\r
             {\r
                 "lg",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "ln",\r
                 "fr",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "lo",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "loz",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "lua",\r
                 "fr",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "mfe",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "mg",\r
                 "fr",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "mi",\r
                 "en",\r
-                "10",\r
-                "1",\r
-            }\r
-            {\r
-                "mk",\r
-                "bg",\r
-                "10",\r
+                "20",\r
                 "1",\r
             }\r
             {\r
                 "ml",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "mn",\r
                 "ru",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "mr",\r
                 "hi",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "ms",\r
                 "id",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "mt",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "my",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "ne",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "nn",\r
                 "nb",\r
-                "10",\r
+                "20",\r
                 "0",\r
             }\r
             {\r
                 "nn",\r
                 "no",\r
-                "10",\r
-                "1",\r
+                "20",\r
+                "0",\r
             }\r
             {\r
                 "nso",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "ny",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "nyn",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "oc",\r
                 "fr",\r
-                "10",\r
+                "20",\r
                 "1",\r
             }\r
             {\r
                 "om",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "or",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "pa",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "pcm",\r
                 "en",\r
-                "10",\r
+                "20",\r
                 "1",\r
             }\r
             {\r
                 "ps",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "qu",\r
                 "es",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "rm",\r
                 "de",\r
-                "10",\r
+                "20",\r
                 "1",\r
             }\r
             {\r
                 "rn",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "rw",\r
                 "fr",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "sa",\r
                 "hi",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "sd",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "si",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "sn",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "so",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "sq",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "st",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "su",\r
                 "id",\r
-                "10",\r
+                "20",\r
                 "1",\r
             }\r
             {\r
                 "sw",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "ta",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "te",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "tg",\r
                 "ru",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "ti",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "tk",\r
                 "ru",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "tlh",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "tn",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "to",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "tt",\r
                 "ru",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "tum",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "ug",\r
                 "zh",\r
-                "10",\r
+                "20",\r
                 "1",\r
             }\r
             {\r
                 "ur",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "uz",\r
                 "ru",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "wo",\r
                 "fr",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "xh",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "yi",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "yo",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
                 "zu",\r
                 "en",\r
-                "10",\r
+                "30",\r
                 "1",\r
             }\r
             {\r
@@ -20142,6 +20164,144 @@ supplementalData:table(nofallback){
                 "1",\r
             }\r
             {\r
+                "zh_Hani",\r
+                "zh_Hans",\r
+                "20",\r
+                "1",\r
+            }\r
+            {\r
+                "zh_Hani",\r
+                "zh_Hant",\r
+                "20",\r
+                "1",\r
+            }\r
+            {\r
+                "ar_Latn",\r
+                "ar_Arab",\r
+                "20",\r
+                "1",\r
+            }\r
+            {\r
+                "bn_Latn",\r
+                "bn_Beng",\r
+                "20",\r
+                "1",\r
+            }\r
+            {\r
+                "gu_Latn",\r
+                "gu_Gujr",\r
+                "20",\r
+                "1",\r
+            }\r
+            {\r
+                "hi_Latn",\r
+                "hi_Deva",\r
+                "20",\r
+                "1",\r
+            }\r
+            {\r
+                "kn_Latn",\r
+                "kn_Knda",\r
+                "20",\r
+                "1",\r
+            }\r
+            {\r
+                "ml_Latn",\r
+                "ml_Mlym",\r
+                "20",\r
+                "1",\r
+            }\r
+            {\r
+                "mr_Latn",\r
+                "mr_Deva",\r
+                "20",\r
+                "1",\r
+            }\r
+            {\r
+                "ta_Latn",\r
+                "ta_Taml",\r
+                "20",\r
+                "1",\r
+            }\r
+            {\r
+                "te_Latn",\r
+                "te_Telu",\r
+                "20",\r
+                "1",\r
+            }\r
+            {\r
+                "zh_Latn",\r
+                "zh_Hans",\r
+                "20",\r
+                "1",\r
+            }\r
+            {\r
+                "ja_Latn",\r
+                "ja_Jpan",\r
+                "5",\r
+                "1",\r
+            }\r
+            {\r
+                "ja_Hani",\r
+                "ja_Jpan",\r
+                "5",\r
+                "1",\r
+            }\r
+            {\r
+                "ja_Hira",\r
+                "ja_Jpan",\r
+                "5",\r
+                "1",\r
+            }\r
+            {\r
+                "ja_Kana",\r
+                "ja_Jpan",\r
+                "5",\r
+                "1",\r
+            }\r
+            {\r
+                "ja_Hrkt",\r
+                "ja_Jpan",\r
+                "5",\r
+                "1",\r
+            }\r
+            {\r
+                "ja_Hira",\r
+                "ja_Hrkt",\r
+                "5",\r
+                "1",\r
+            }\r
+            {\r
+                "ja_Kana",\r
+                "ja_Hrkt",\r
+                "5",\r
+                "1",\r
+            }\r
+            {\r
+                "ko_Hani",\r
+                "ko_Kore",\r
+                "5",\r
+                "1",\r
+            }\r
+            {\r
+                "ko_Hang",\r
+                "ko_Kore",\r
+                "5",\r
+                "1",\r
+            }\r
+            {\r
+                "ko_Jamo",\r
+                "ko_Kore",\r
+                "5",\r
+                "1",\r
+            }\r
+            {\r
+                "ko_Jamo",\r
+                "ko_Hang",\r
+                "5",\r
+                "1",\r
+            }\r
+            {\r
                 "*_*",\r
                 "*_*",\r
                 "50",\r
@@ -20532,15 +20692,19 @@ supplementalData:table(nofallback){
             "ff_Adlm",\r
             "ff_Arab",\r
             "ha_Arab",\r
+            "hi_Latn",\r
             "iu_Latn",\r
             "kk_Arab",\r
+            "ks_Deva",\r
             "ku_Arab",\r
             "ky_Arab",\r
             "ky_Latn",\r
             "ml_Arab",\r
             "mn_Mong",\r
+            "mni_Mtei",\r
             "ms_Arab",\r
             "pa_Arab",\r
+            "sat_Deva",\r
             "sd_Deva",\r
             "sd_Khoj",\r
             "sd_Sind",\r
@@ -21622,13 +21786,223 @@ supplementalData:table(nofallback){
             "ga9",\r
         }\r
         GB{\r
-            "gbeaw",\r
-            "gbeng",\r
-            "gbgbn",\r
-            "gbnir",\r
-            "gbsct",\r
-            "gbukm",\r
-            "gbwls",\r
+            "gbabc",\r
+            "gbabd",\r
+            "gbabe",\r
+            "gbagb",\r
+            "gbagy",\r
+            "gband",\r
+            "gbann",\r
+            "gbans",\r
+            "gbbas",\r
+            "gbbbd",\r
+            "gbbdf",\r
+            "gbbdg",\r
+            "gbben",\r
+            "gbbex",\r
+            "gbbfs",\r
+            "gbbge",\r
+            "gbbgw",\r
+            "gbbir",\r
+            "gbbkm",\r
+            "gbbmh",\r
+            "gbbne",\r
+            "gbbnh",\r
+            "gbbns",\r
+            "gbbol",\r
+            "gbbpl",\r
+            "gbbrc",\r
+            "gbbrd",\r
+            "gbbry",\r
+            "gbbst",\r
+            "gbbur",\r
+            "gbcam",\r
+            "gbcay",\r
+            "gbcbf",\r
+            "gbccg",\r
+            "gbcgn",\r
+            "gbche",\r
+            "gbchw",\r
+            "gbcld",\r
+            "gbclk",\r
+            "gbcma",\r
+            "gbcmd",\r
+            "gbcmn",\r
+            "gbcon",\r
+            "gbcov",\r
+            "gbcrf",\r
+            "gbcry",\r
+            "gbcwy",\r
+            "gbdal",\r
+            "gbdby",\r
+            "gbden",\r
+            "gbder",\r
+            "gbdev",\r
+            "gbdgy",\r
+            "gbdnc",\r
+            "gbdnd",\r
+            "gbdor",\r
+            "gbdrs",\r
+            "gbdud",\r
+            "gbdur",\r
+            "gbeal",\r
+            "gbeay",\r
+            "gbedh",\r
+            "gbedu",\r
+            "gbeln",\r
+            "gbels",\r
+            "gbenf",\r
+            "gberw",\r
+            "gbery",\r
+            "gbess",\r
+            "gbesx",\r
+            "gbfal",\r
+            "gbfif",\r
+            "gbfln",\r
+            "gbfmo",\r
+            "gbgat",\r
+            "gbglg",\r
+            "gbgls",\r
+            "gbgre",\r
+            "gbgwn",\r
+            "gbhal",\r
+            "gbham",\r
+            "gbhav",\r
+            "gbhck",\r
+            "gbhef",\r
+            "gbhil",\r
+            "gbhld",\r
+            "gbhmf",\r
+            "gbhns",\r
+            "gbhpl",\r
+            "gbhrt",\r
+            "gbhrw",\r
+            "gbhry",\r
+            "gbios",\r
+            "gbiow",\r
+            "gbisl",\r
+            "gbivc",\r
+            "gbkec",\r
+            "gbken",\r
+            "gbkhl",\r
+            "gbkir",\r
+            "gbktt",\r
+            "gbkwl",\r
+            "gblan",\r
+            "gblbc",\r
+            "gblbh",\r
+            "gblce",\r
+            "gblds",\r
+            "gblec",\r
+            "gblew",\r
+            "gblin",\r
+            "gbliv",\r
+            "gblnd",\r
+            "gblut",\r
+            "gbman",\r
+            "gbmdb",\r
+            "gbmdw",\r
+            "gbmea",\r
+            "gbmik",\r
+            "gbmln",\r
+            "gbmon",\r
+            "gbmrt",\r
+            "gbmry",\r
+            "gbmty",\r
+            "gbmul",\r
+            "gbnay",\r
+            "gbnbl",\r
+            "gbnel",\r
+            "gbnet",\r
+            "gbnfk",\r
+            "gbngm",\r
+            "gbnlk",\r
+            "gbnln",\r
+            "gbnmd",\r
+            "gbnsm",\r
+            "gbnth",\r
+            "gbntl",\r
+            "gbntt",\r
+            "gbnty",\r
+            "gbnwm",\r
+            "gbnwp",\r
+            "gbnyk",\r
+            "gbold",\r
+            "gbork",\r
+            "gboxf",\r
+            "gbpem",\r
+            "gbpkn",\r
+            "gbply",\r
+            "gbpol",\r
+            "gbpor",\r
+            "gbpow",\r
+            "gbpte",\r
+            "gbrcc",\r
+            "gbrch",\r
+            "gbrct",\r
+            "gbrdb",\r
+            "gbrdg",\r
+            "gbrfw",\r
+            "gbric",\r
+            "gbrot",\r
+            "gbrut",\r
+            "gbsaw",\r
+            "gbsay",\r
+            "gbscb",\r
+            "gbsfk",\r
+            "gbsft",\r
+            "gbsgc",\r
+            "gbshf",\r
+            "gbshn",\r
+            "gbshr",\r
+            "gbskp",\r
+            "gbslf",\r
+            "gbslg",\r
+            "gbslk",\r
+            "gbsnd",\r
+            "gbsol",\r
+            "gbsom",\r
+            "gbsos",\r
+            "gbsry",\r
+            "gbste",\r
+            "gbstg",\r
+            "gbsth",\r
+            "gbstn",\r
+            "gbsts",\r
+            "gbstt",\r
+            "gbsty",\r
+            "gbswa",\r
+            "gbswd",\r
+            "gbswk",\r
+            "gbtam",\r
+            "gbtfw",\r
+            "gbthr",\r
+            "gbtob",\r
+            "gbtof",\r
+            "gbtrf",\r
+            "gbtwh",\r
+            "gbvgl",\r
+            "gbwar",\r
+            "gbwbk",\r
+            "gbwdu",\r
+            "gbwft",\r
+            "gbwgn",\r
+            "gbwil",\r
+            "gbwkf",\r
+            "gbwll",\r
+            "gbwln",\r
+            "gbwlv",\r
+            "gbwnd",\r
+            "gbwnm",\r
+            "gbwok",\r
+            "gbwor",\r
+            "gbwrl",\r
+            "gbwrt",\r
+            "gbwrx",\r
+            "gbwsm",\r
+            "gbwsx",\r
+            "gbyor",\r
+            "gbzet",\r
         }\r
         GD{\r
             "gd01",\r
@@ -21655,14 +22029,20 @@ supplementalData:table(nofallback){
         }\r
         GH{\r
             "ghaa",\r
+            "ghaf",\r
             "ghah",\r
-            "ghba",\r
+            "ghbe",\r
+            "ghbo",\r
             "ghcp",\r
             "ghep",\r
+            "ghne",\r
             "ghnp",\r
+            "ghot",\r
+            "ghsv",\r
             "ghtv",\r
             "ghue",\r
             "ghuw",\r
+            "ghwn",\r
             "ghwp",\r
         }\r
         GL{\r
@@ -21894,6 +22274,7 @@ supplementalData:table(nofallback){
             "injk",\r
             "inka",\r
             "inkl",\r
+            "inla",\r
             "inld",\r
             "inmh",\r
             "inml",\r
@@ -22661,6 +23042,7 @@ supplementalData:table(nofallback){
             "me21",\r
             "me22",\r
             "me23",\r
+            "me24",\r
         }\r
         MG{\r
             "mga",\r
@@ -22675,77 +23057,86 @@ supplementalData:table(nofallback){
             "mht",\r
         }\r
         MK{\r
-            "mk02",\r
-            "mk03",\r
-            "mk04",\r
-            "mk05",\r
-            "mk06",\r
-            "mk07",\r
-            "mk08",\r
-            "mk10",\r
-            "mk11",\r
-            "mk12",\r
-            "mk13",\r
-            "mk14",\r
-            "mk16",\r
-            "mk18",\r
-            "mk19",\r
-            "mk20",\r
-            "mk21",\r
-            "mk22",\r
-            "mk23",\r
-            "mk24",\r
-            "mk25",\r
-            "mk26",\r
-            "mk27",\r
-            "mk30",\r
-            "mk32",\r
-            "mk33",\r
-            "mk34",\r
-            "mk35",\r
-            "mk36",\r
-            "mk37",\r
-            "mk40",\r
-            "mk41",\r
-            "mk42",\r
-            "mk43",\r
-            "mk44",\r
-            "mk45",\r
-            "mk46",\r
-            "mk47",\r
-            "mk48",\r
-            "mk49",\r
-            "mk50",\r
-            "mk51",\r
-            "mk52",\r
-            "mk53",\r
-            "mk54",\r
-            "mk55",\r
-            "mk56",\r
-            "mk58",\r
-            "mk59",\r
-            "mk60",\r
-            "mk61",\r
-            "mk62",\r
-            "mk63",\r
-            "mk64",\r
-            "mk65",\r
-            "mk66",\r
-            "mk67",\r
-            "mk69",\r
-            "mk70",\r
-            "mk71",\r
-            "mk72",\r
-            "mk73",\r
-            "mk74",\r
-            "mk75",\r
-            "mk76",\r
-            "mk78",\r
-            "mk80",\r
-            "mk81",\r
-            "mk82",\r
-            "mk83",\r
-            "mk85",\r
+            "mk101",\r
+            "mk102",\r
+            "mk103",\r
+            "mk104",\r
+            "mk105",\r
+            "mk106",\r
+            "mk107",\r
+            "mk108",\r
+            "mk109",\r
+            "mk201",\r
+            "mk202",\r
+            "mk203",\r
+            "mk204",\r
+            "mk205",\r
+            "mk206",\r
+            "mk207",\r
+            "mk208",\r
+            "mk209",\r
+            "mk210",\r
+            "mk211",\r
+            "mk301",\r
+            "mk303",\r
+            "mk304",\r
+            "mk307",\r
+            "mk308",\r
+            "mk310",\r
+            "mk311",\r
+            "mk312",\r
+            "mk313",\r
+            "mk401",\r
+            "mk402",\r
+            "mk403",\r
+            "mk404",\r
+            "mk405",\r
+            "mk406",\r
+            "mk407",\r
+            "mk408",\r
+            "mk409",\r
+            "mk410",\r
+            "mk501",\r
+            "mk502",\r
+            "mk503",\r
+            "mk504",\r
+            "mk505",\r
+            "mk506",\r
+            "mk507",\r
+            "mk508",\r
+            "mk509",\r
+            "mk601",\r
+            "mk602",\r
+            "mk603",\r
+            "mk604",\r
+            "mk605",\r
+            "mk606",\r
+            "mk607",\r
+            "mk608",\r
+            "mk609",\r
+            "mk701",\r
+            "mk702",\r
+            "mk703",\r
+            "mk704",\r
+            "mk705",\r
+            "mk706",\r
+            "mk801",\r
+            "mk802",\r
+            "mk803",\r
+            "mk804",\r
+            "mk805",\r
+            "mk806",\r
+            "mk807",\r
+            "mk808",\r
+            "mk809",\r
+            "mk810",\r
+            "mk811",\r
+            "mk812",\r
+            "mk813",\r
+            "mk814",\r
+            "mk815",\r
+            "mk816",\r
+            "mk817",\r
         }\r
         ML{\r
             "ml1",\r
@@ -23282,7 +23673,6 @@ supplementalData:table(nofallback){
             "pkkp",\r
             "pkpb",\r
             "pksd",\r
-            "pkta",\r
         }\r
         PL{\r
             "pl02",\r
@@ -24638,11 +25028,11 @@ supplementalData:table(nofallback){
         ZA{\r
             "zaec",\r
             "zafs",\r
-            "zagt",\r
+            "zagp",\r
+            "zakzn",\r
             "zalp",\r
             "zamp",\r
             "zanc",\r
-            "zanl",\r
             "zanw",\r
             "zawc",\r
         }\r
@@ -25240,231 +25630,6 @@ supplementalData:table(nofallback){
             "fr72",\r
             "fr85",\r
         }\r
-        gbeng{\r
-            "gbbas",\r
-            "gbbbd",\r
-            "gbbdf",\r
-            "gbbdg",\r
-            "gbben",\r
-            "gbbex",\r
-            "gbbir",\r
-            "gbbkm",\r
-            "gbbmh",\r
-            "gbbne",\r
-            "gbbnh",\r
-            "gbbns",\r
-            "gbbol",\r
-            "gbbpl",\r
-            "gbbrc",\r
-            "gbbrd",\r
-            "gbbry",\r
-            "gbbst",\r
-            "gbbur",\r
-            "gbcam",\r
-            "gbcbf",\r
-            "gbche",\r
-            "gbchw",\r
-            "gbcld",\r
-            "gbcma",\r
-            "gbcmd",\r
-            "gbcon",\r
-            "gbcov",\r
-            "gbcry",\r
-            "gbdal",\r
-            "gbdby",\r
-            "gbder",\r
-            "gbdev",\r
-            "gbdnc",\r
-            "gbdor",\r
-            "gbdud",\r
-            "gbdur",\r
-            "gbeal",\r
-            "gbenf",\r
-            "gbery",\r
-            "gbess",\r
-            "gbesx",\r
-            "gbgat",\r
-            "gbgls",\r
-            "gbgre",\r
-            "gbhal",\r
-            "gbham",\r
-            "gbhav",\r
-            "gbhck",\r
-            "gbhef",\r
-            "gbhil",\r
-            "gbhmf",\r
-            "gbhns",\r
-            "gbhpl",\r
-            "gbhrt",\r
-            "gbhrw",\r
-            "gbhry",\r
-            "gbios",\r
-            "gbiow",\r
-            "gbisl",\r
-            "gbkec",\r
-            "gbken",\r
-            "gbkhl",\r
-            "gbkir",\r
-            "gbktt",\r
-            "gbkwl",\r
-            "gblan",\r
-            "gblbh",\r
-            "gblce",\r
-            "gblds",\r
-            "gblec",\r
-            "gblew",\r
-            "gblin",\r
-            "gbliv",\r
-            "gblnd",\r
-            "gblut",\r
-            "gbman",\r
-            "gbmdb",\r
-            "gbmdw",\r
-            "gbmik",\r
-            "gbmrt",\r
-            "gbnbl",\r
-            "gbnel",\r
-            "gbnet",\r
-            "gbnfk",\r
-            "gbngm",\r
-            "gbnln",\r
-            "gbnsm",\r
-            "gbnth",\r
-            "gbntt",\r
-            "gbnty",\r
-            "gbnwm",\r
-            "gbnyk",\r
-            "gbold",\r
-            "gboxf",\r
-            "gbply",\r
-            "gbpol",\r
-            "gbpor",\r
-            "gbpte",\r
-            "gbrcc",\r
-            "gbrch",\r
-            "gbrdb",\r
-            "gbrdg",\r
-            "gbric",\r
-            "gbrot",\r
-            "gbrut",\r
-            "gbsaw",\r
-            "gbsfk",\r
-            "gbsft",\r
-            "gbsgc",\r
-            "gbshf",\r
-            "gbshn",\r
-            "gbshr",\r
-            "gbskp",\r
-            "gbslf",\r
-            "gbslg",\r
-            "gbsnd",\r
-            "gbsol",\r
-            "gbsom",\r
-            "gbsos",\r
-            "gbsry",\r
-            "gbste",\r
-            "gbsth",\r
-            "gbstn",\r
-            "gbsts",\r
-            "gbstt",\r
-            "gbsty",\r
-            "gbswd",\r
-            "gbswk",\r
-            "gbtam",\r
-            "gbtfw",\r
-            "gbthr",\r
-            "gbtob",\r
-            "gbtrf",\r
-            "gbtwh",\r
-            "gbwar",\r
-            "gbwbk",\r
-            "gbwft",\r
-            "gbwgn",\r
-            "gbwil",\r
-            "gbwkf",\r
-            "gbwll",\r
-            "gbwlv",\r
-            "gbwnd",\r
-            "gbwnm",\r
-            "gbwok",\r
-            "gbwor",\r
-            "gbwrl",\r
-            "gbwrt",\r
-            "gbwsm",\r
-            "gbwsx",\r
-            "gbyor",\r
-        }\r
-        gbnir{\r
-            "gbabc",\r
-            "gband",\r
-            "gbann",\r
-            "gbbfs",\r
-            "gbccg",\r
-            "gbdrs",\r
-            "gbfmo",\r
-            "gblbc",\r
-            "gbmea",\r
-            "gbmul",\r
-            "gbnmd",\r
-        }\r
-        gbsct{\r
-            "gbabd",\r
-            "gbabe",\r
-            "gbagb",\r
-            "gbans",\r
-            "gbclk",\r
-            "gbdgy",\r
-            "gbdnd",\r
-            "gbeay",\r
-            "gbedh",\r
-            "gbedu",\r
-            "gbeln",\r
-            "gbels",\r
-            "gberw",\r
-            "gbfal",\r
-            "gbfif",\r
-            "gbglg",\r
-            "gbhld",\r
-            "gbivc",\r
-            "gbmln",\r
-            "gbmry",\r
-            "gbnay",\r
-            "gbnlk",\r
-            "gbork",\r
-            "gbpkn",\r
-            "gbrfw",\r
-            "gbsay",\r
-            "gbscb",\r
-            "gbslk",\r
-            "gbstg",\r
-            "gbwdu",\r
-            "gbwln",\r
-            "gbzet",\r
-        }\r
-        gbwls{\r
-            "gbagy",\r
-            "gbbge",\r
-            "gbbgw",\r
-            "gbcay",\r
-            "gbcgn",\r
-            "gbcmn",\r
-            "gbcrf",\r
-            "gbcwy",\r
-            "gbden",\r
-            "gbfln",\r
-            "gbgwn",\r
-            "gbmon",\r
-            "gbmty",\r
-            "gbntl",\r
-            "gbnwp",\r
-            "gbpem",\r
-            "gbpow",\r
-            "gbrct",\r
-            "gbswa",\r
-            "gbtof",\r
-            "gbvgl",\r
-            "gbwrx",\r
-        }\r
         gnb{\r
             "gnbf",\r
             "gnbk",\r
@@ -25629,7 +25794,6 @@ supplementalData:table(nofallback){
             "itvb",\r
             "itvc",\r
         }\r
-        it23{"itao"}\r
         it25{\r
             "itbg",\r
             "itbs",\r
@@ -25777,47 +25941,47 @@ supplementalData:table(nofallback){
             "kn12",\r
         }\r
         lk1{\r
-            "lk52",\r
-            "lk71",\r
-            "lk81",\r
+            "lk11",\r
+            "lk12",\r
+            "lk13",\r
         }\r
         lk2{\r
-            "lk11",\r
-            "lk31",\r
-            "lk51",\r
+            "lk21",\r
+            "lk22",\r
+            "lk23",\r
         }\r
         lk3{\r
-            "lk12",\r
+            "lk31",\r
+            "lk32",\r
             "lk33",\r
-            "lk41",\r
         }\r
         lk4{\r
-            "lk13",\r
-            "lk21",\r
+            "lk41",\r
             "lk42",\r
-            "lk61",\r
-            "lk92",\r
+            "lk43",\r
+            "lk44",\r
+            "lk45",\r
         }\r
         lk5{\r
-            "lk22",\r
-            "lk32",\r
-            "lk43",\r
+            "lk51",\r
+            "lk52",\r
+            "lk53",\r
         }\r
         lk6{\r
-            "lk45",\r
-            "lk82",\r
+            "lk61",\r
+            "lk62",\r
         }\r
         lk7{\r
-            "lk23",\r
+            "lk71",\r
             "lk72",\r
         }\r
         lk8{\r
-            "lk62",\r
-            "lk91",\r
+            "lk81",\r
+            "lk82",\r
         }\r
         lk9{\r
-            "lk44",\r
-            "lk53",\r
+            "lk91",\r
+            "lk92",\r
         }\r
         ma01{\r
             "mache",\r
@@ -26675,7 +26839,6 @@ supplementalData:table(nofallback){
                 "ES",\r
                 "FI",\r
                 "FR",\r
-                "GB",\r
                 "GR",\r
                 "HR",\r
                 "HU",\r
@@ -29433,8 +29596,11 @@ supplementalData:table(nofallback){
                 literacyShareF:int{49100000}\r
                 populationShareF:int{48300000}\r
             }\r
+            ms{\r
+                populationShareF:int{48340000}\r
+            }\r
             ms_Arab{\r
-                populationShareF:int{48460000}\r
+                populationShareF:int{48120000}\r
             }\r
             mwv{\r
                 populationShareF:int{46240000}\r
@@ -33086,6 +33252,9 @@ supplementalData:table(nofallback){
             }\r
         }\r
         US{\r
+            cad{\r
+                populationShareF:int{0}\r
+            }\r
             cho{\r
                 populationShareF:int{45330000}\r
             }\r
@@ -35598,70 +35767,131 @@ supplementalData:table(nofallback){
     }\r
     unitPreferenceData{\r
         001{\r
-            area-land-agricult{"hectare"}\r
-            area-land-commercl{"hectare"}\r
-            area-land-residntl{"hectare"}\r
-            concentr-blood-glucose{"milligram-per-deciliter"}\r
-            consumption-vehicle-fuel{"liter-per-100kilometers"}\r
-            duration-music-track{"minute second"}\r
-            duration-person-age{"year-person month-person"}\r
-            duration-tv-program{"minute second"}\r
-            energy-food{"foodcalorie"}\r
-            energy-person-usage{"kilocalorie"}\r
+            area-default{\r
+                "square-kilometer",\r
+                "hectare",\r
+                "square-meter",\r
+                "square-centimeter",\r
+            }\r
+            area-geograph{"square-kilometer"}\r
+            area-land{"hectare"}\r
+            concentration-default{"item-per-cubic-meter"}\r
+            consumption-default{"liter-per-100-kilometer"}\r
+            consumption-inverse-default{"kilometer-per-centiliter"}\r
+            consumption-inverse-vehicle-fuel{"kilometer-per-centiliter"}\r
+            consumption-vehicle-fuel{"liter-per-100-kilometer"}\r
+            duration-default{\r
+                "day",\r
+                "hour",\r
+                "minute",\r
+                "second",\r
+                "millisecond",\r
+                "microsecond",\r
+                "nanosecond",\r
+            }\r
+            duration-media{\r
+                "minute-and-second",\r
+                "second",\r
+            }\r
+            energy-default{"kilowatt-hour"}\r
+            energy-food{"kilocalorie"}\r
+            length-default{\r
+                "kilometer",\r
+                "meter",\r
+                "centimeter",\r
+            }\r
             length-person{"centimeter"}\r
-            length-person-small{"centimeter"}\r
+            length-person-height{"centimeter"}\r
             length-rainfall{"millimeter"}\r
-            length-road{"kilometer"}\r
-            length-road-small{"meter"}\r
+            length-road{"meter"}\r
             length-snowfall{"centimeter"}\r
             length-vehicle{"meter"}\r
-            length-visiblty{"kilometer"}\r
-            length-visiblty-small{"meter"}\r
-            mass-person{"kilogram"}\r
-            mass-person-small{"gram"}\r
+            length-visiblty{"meter"}\r
+            mass-default{\r
+                "metric-ton",\r
+                "kilogram",\r
+                "gram",\r
+                "milligram",\r
+                "microgram",\r
+            }\r
+            mass-density-blood-glucose{"milligram-per-deciliter"}\r
+            mass-density-default{"kilogram-per-cubic-meter"}\r
+            mass-person{\r
+                "kilogram",\r
+                "gram",\r
+            }\r
+            power-default{\r
+                "gigawatt",\r
+                "megawatt",\r
+                "kilowatt",\r
+                "watt",\r
+                "milliwatt",\r
+            }\r
+            power-engine{"kilowatt"}\r
             pressure-baromtrc{"hectopascal"}\r
-            speed-road-travel{"kilometer-per-hour"}\r
+            pressure-default{\r
+                "megapascal",\r
+                "pascal",\r
+            }\r
+            speed-default{"kilometer-per-hour"}\r
             speed-wind{"kilometer-per-hour"}\r
-            temperature-person{"celsius"}\r
+            temperature-default{"celsius"}\r
             temperature-weather{"celsius"}\r
-            volume-vehicle-fuel{"liter"}\r
+            volume-default{\r
+                "cubic-meter",\r
+                "cubic-centimeter",\r
+            }\r
+            volume-fluid{\r
+                "liter",\r
+                "milliliter",\r
+            }\r
+            volume-oil{"barrel"}\r
+            volume-vehicle{"liter"}\r
+            year-duration-default{\r
+                "year",\r
+                "month",\r
+            }\r
+            year-duration-person-age{\r
+                "year-person-and-month-person",\r
+                "month-person",\r
+            }\r
         }\r
         AG{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         AI{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         AO{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         AT{\r
-            length-person{"meter centimeter"}\r
+            length-person-height{"meter-and-centimeter"}\r
         }\r
         AU{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         BA{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         BE{\r
-            length-person{"meter centimeter"}\r
+            length-person-height{"meter-and-centimeter"}\r
         }\r
         BG{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         BH{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         BM{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         BN{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         BR{\r
             consumption-vehicle-fuel{"liter-per-kilometer"}\r
-            length-person-informal{"meter centimeter"}\r
+            length-person-height{"meter-and-centimeter"}\r
             length-rainfall{"centimeter"}\r
             pressure-baromtrc{"millibar"}\r
         }\r
@@ -35669,326 +35899,389 @@ supplementalData:table(nofallback){
             temperature-weather{"fahrenheit"}\r
         }\r
         BW{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         BY{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         BZ{\r
             temperature-weather{"fahrenheit"}\r
         }\r
         CA{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
-            consumption-vehicle-fuel-informal{"mile-per-gallon-imperial"}\r
-            length-person-informal{"foot inch"}\r
-            length-person-small-informal{"inch"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
+            consumption-inverse-vehicle-fuel{"mile-per-gallon-imperial"}\r
+            length-person{"inch"}\r
+            length-person-height{"inch"}\r
         }\r
         CH{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         CM{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         CN{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
-            length-person-informal{"meter centimeter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
+            length-person-height{"meter-and-centimeter"}\r
         }\r
         CZ{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         DE{\r
-            length-person-informal{"meter centimeter"}\r
+            length-person-height{"meter-and-centimeter"}\r
             length-visiblty{"meter"}\r
         }\r
         DK{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
-            length-person-informal{"meter centimeter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
+            length-person-height{"meter-and-centimeter"}\r
         }\r
         DM{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         DZ{\r
-            length-person{"meter centimeter"}\r
-            mass-person-small{"kilogram gram"}\r
+            length-person-height{"meter-and-centimeter"}\r
+            mass-person{"kilogram-and-gram"}\r
         }\r
         EE{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         EG{\r
-            length-person{"meter centimeter"}\r
-            mass-person-small{"kilogram gram"}\r
+            length-person-height{"meter-and-centimeter"}\r
+            mass-person{"kilogram-and-gram"}\r
             pressure-baromtrc{"millibar"}\r
         }\r
         ES{\r
-            length-person{"meter centimeter"}\r
-            mass-person-small{"kilogram gram"}\r
+            length-person-height{"meter-and-centimeter"}\r
+            mass-person{"kilogram-and-gram"}\r
         }\r
         FI{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
             speed-wind{"meter-per-second"}\r
         }\r
         FJ{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         FR{\r
-            length-person{"meter centimeter"}\r
+            length-person-height{"meter-and-centimeter"}\r
         }\r
         GB{\r
-            area-land-agricult{"acre"}\r
-            area-land-commercl{"acre"}\r
-            area-land-residntl{"acre"}\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
-            consumption-vehicle-fuel-informal{"mile-per-gallon-imperial"}\r
-            length-person-informal{"foot inch"}\r
-            length-person-small-informal{"inch"}\r
-            length-road{"mile"}\r
-            length-road-small{"yard"}\r
-            length-vehicle{"foot inch"}\r
-            length-visiblty{"mile"}\r
-            length-visiblty-small{"foot"}\r
-            mass-person{"stone pound"}\r
-            mass-person-small{"pound ounce"}\r
+            area-default{\r
+                "square-mile",\r
+                "acre",\r
+                "square-foot",\r
+                "square-inch",\r
+            }\r
+            area-geograph{"square-mile"}\r
+            area-land{"acre"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
+            consumption-inverse-vehicle-fuel{"mile-per-gallon-imperial"}\r
+            length-default{\r
+                "mile",\r
+                "foot",\r
+                "inch",\r
+            }\r
+            length-person{"inch"}\r
+            length-person-height{"inch"}\r
+            length-road{"yard"}\r
+            length-vehicle{"foot-and-inch"}\r
+            length-visiblty{\r
+                "mile",\r
+                "foot",\r
+            }\r
+            mass-default{\r
+                "ton",\r
+                "pound",\r
+                "ounce",\r
+            }\r
+            mass-person{\r
+                "stone-and-pound",\r
+                "pound-and-ounce",\r
+            }\r
+            power-engine{"horsepower"}\r
             pressure-baromtrc{"millibar"}\r
-            speed-road-travel{"mile-per-hour"}\r
+            pressure-default{"pound-force-per-square-inch"}\r
+            speed-default{"mile-per-hour"}\r
+            volume-default{\r
+                "cubic-foot",\r
+                "cubic-inch",\r
+            }\r
+            volume-fluid{\r
+                "gallon-imperial",\r
+                "fluid-ounce-imperial",\r
+            }\r
         }\r
         GD{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         HK{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
-            length-person{"meter centimeter"}\r
-            mass-person-small{"pound ounce"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
+            length-person-height{"meter-and-centimeter"}\r
+            mass-person{"pound-and-ounce"}\r
         }\r
         HR{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         HU{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         ID{\r
-            length-person{"meter centimeter"}\r
+            length-person-height{"meter-and-centimeter"}\r
         }\r
         IE{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         IL{\r
-            length-person{"meter centimeter"}\r
+            length-person-height{"meter-and-centimeter"}\r
             pressure-baromtrc{"millibar"}\r
         }\r
         IM{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         IN{\r
-            length-person-informal{"foot inch"}\r
-            length-person-small-informal{"inch"}\r
-            pressure-baromtrc{"inch-hg"}\r
+            length-person{"inch"}\r
+            length-person-height{"inch"}\r
+            pressure-baromtrc{"inch-ofhg"}\r
         }\r
         IS{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         IT{\r
             consumption-vehicle-fuel{"liter-per-kilometer"}\r
-            length-person{"meter centimeter"}\r
+            length-person-height{"meter-and-centimeter"}\r
         }\r
         JO{\r
-            length-person{"meter centimeter"}\r
-            mass-person-small{"kilogram gram"}\r
+            length-person-height{"meter-and-centimeter"}\r
+            mass-person{"kilogram-and-gram"}\r
         }\r
         JP{\r
             consumption-vehicle-fuel{"liter-per-kilometer"}\r
         }\r
         KE{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         KN{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         KR{\r
             consumption-vehicle-fuel{"liter-per-kilometer"}\r
             speed-wind{"meter-per-second"}\r
         }\r
         KW{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         KY{\r
             temperature-weather{"fahrenheit"}\r
         }\r
         KZ{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         LC{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         LI{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         LT{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         LU{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         LV{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         ME{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         MG{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         MK{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         MO{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         MS{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         MT{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         MU{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         MX{\r
             consumption-vehicle-fuel{"liter-per-kilometer"}\r
-            length-person-informal{"meter centimeter"}\r
-            length-vehicle{"meter centimeter"}\r
-            pressure-baromtrc{"millimeter-of-mercury"}\r
+            length-person-height{"meter-and-centimeter"}\r
+            length-vehicle{"meter-and-centimeter"}\r
+            pressure-baromtrc{"millimeter-ofhg"}\r
         }\r
         MY{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
             consumption-vehicle-fuel{"liter-per-kilometer"}\r
-            length-person{"meter centimeter"}\r
+            length-person-height{"meter-and-centimeter"}\r
         }\r
         MZ{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         NA{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         NL{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
-            consumption-vehicle-fuel-informal{"liter-per-kilometer"}\r
-            length-person-informal{"meter centimeter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
+            consumption-vehicle-fuel{"liter-per-kilometer"}\r
+            length-person-height{"meter-and-centimeter"}\r
             length-visiblty{"meter"}\r
         }\r
         NO{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
-            length-person-informal{"meter centimeter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
+            length-person-height{"meter-and-centimeter"}\r
             speed-wind{"meter-per-second"}\r
         }\r
         NZ{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         OM{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         PG{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         PL{\r
-            length-person-informal{"meter centimeter"}\r
+            length-person-height{"meter-and-centimeter"}\r
             speed-wind{"meter-per-second"}\r
         }\r
         PR{\r
             temperature-weather{"fahrenheit"}\r
         }\r
         PT{\r
-            length-person-informal{"meter centimeter"}\r
+            length-person-height{"meter-and-centimeter"}\r
         }\r
         PW{\r
             temperature-weather{"fahrenheit"}\r
         }\r
         RS{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         RU{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
-            length-person-informal{"meter centimeter"}\r
-            pressure-baromtrc{"millimeter-of-mercury"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
+            length-person-height{"meter-and-centimeter"}\r
+            pressure-baromtrc{"millimeter-ofhg"}\r
             speed-wind{"meter-per-second"}\r
         }\r
         SA{\r
-            length-person{"meter centimeter"}\r
-            mass-person-small{"kilogram gram"}\r
+            length-person-height{"meter-and-centimeter"}\r
+            mass-person{"kilogram-and-gram"}\r
         }\r
         SE{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
-            length-person{"meter centimeter"}\r
-            length-road-informal{"mile-scandinavian"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
+            length-person-height{"meter-and-centimeter"}\r
+            length-road{\r
+                "mile-scandinavian",\r
+                "kilometer",\r
+            }\r
             speed-wind{"meter-per-second"}\r
         }\r
         SG{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         SI{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         SK{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         TC{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         TH{\r
             consumption-vehicle-fuel{"liter-per-kilometer"}\r
             pressure-baromtrc{"millibar"}\r
         }\r
         TO{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         TR{\r
             consumption-vehicle-fuel{"liter-per-kilometer"}\r
-            length-person{"meter centimeter"}\r
+            length-person-height{"meter-and-centimeter"}\r
         }\r
         UA{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         UG{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         US{\r
-            area-land-agricult{"acre"}\r
-            area-land-commercl{"acre"}\r
-            area-land-residntl{"acre"}\r
-            consumption-vehicle-fuel{"mile-per-gallon"}\r
+            area-default{\r
+                "square-mile",\r
+                "acre",\r
+                "square-foot",\r
+                "square-inch",\r
+            }\r
+            area-geograph{"square-mile"}\r
+            area-land{"acre"}\r
+            consumption-inverse-vehicle-fuel{"mile-per-gallon"}\r
+            energy-food{"foodcalorie"}\r
+            length-default{\r
+                "mile",\r
+                "foot",\r
+                "inch",\r
+            }\r
             length-person{"inch"}\r
-            length-person-informal{"foot inch"}\r
-            length-person-small{"inch"}\r
+            length-person-height{"inch"}\r
             length-rainfall{"inch"}\r
-            length-road{"mile"}\r
-            length-road-small{"foot"}\r
             length-snowfall{"inch"}\r
-            length-vehicle{"foot inch"}\r
-            length-visiblty{"mile"}\r
-            length-visiblty-small{"foot"}\r
-            mass-person{"pound"}\r
-            mass-person-small{"pound ounce"}\r
-            pressure-baromtrc{"inch-hg"}\r
-            speed-road-travel{"mile-per-hour"}\r
+            length-vehicle{"foot-and-inch"}\r
+            length-visiblty{\r
+                "mile",\r
+                "foot",\r
+            }\r
+            mass-default{\r
+                "ton",\r
+                "pound",\r
+                "ounce",\r
+            }\r
+            mass-person{\r
+                "pound",\r
+                "pound-and-ounce",\r
+            }\r
+            power-engine{"horsepower"}\r
+            pressure-baromtrc{"inch-ofhg"}\r
+            pressure-default{"pound-force-per-square-inch"}\r
+            speed-default{"mile-per-hour"}\r
             speed-wind{"mile-per-hour"}\r
-            temperature-person{"fahrenheit"}\r
+            temperature-default{"fahrenheit"}\r
             temperature-weather{"fahrenheit"}\r
-            volume-vehicle-fuel{"gallon"}\r
+            volume-default{\r
+                "cubic-foot",\r
+                "cubic-inch",\r
+            }\r
+            volume-fluid{\r
+                "gallon",\r
+                "quart",\r
+                "pint",\r
+                "cup",\r
+                "fluid-ounce",\r
+                "tablespoon",\r
+                "teaspoon",\r
+            }\r
+            volume-vehicle{"gallon"}\r
         }\r
         VC{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         VG{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         VN{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
-            length-person{"meter centimeter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
+            length-person-height{"meter-and-centimeter"}\r
         }\r
         VU{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
         ZA{\r
-            concentr-blood-glucose{"millimole-per-liter"}\r
+            concentration-blood-glucose{"millimole-per-liter"}\r
         }\r
     }\r
     weekData{\r
index d327895..b0b33bf 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 \r
 {\r
-    "cldrVersion": "36.1",\r
+    "cldrVersion": "37",\r
     "aliases": {\r
         "ars": "ar_SA",\r
         "in": "id",\r
index aa98527..1705b72 100644 (file)
@@ -89,5 +89,5 @@ af{
             "1000000000000000000: =#,##0=.;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6376b49..c1bb1be 100644 (file)
@@ -57,5 +57,5 @@ ak{
             "2: a-\u025B-t\u0254-so-=%spellout-cardinal=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c833294..e84785e 100644 (file)
@@ -47,5 +47,5 @@ am{
             "0: =%spellout-numbering=\u129B;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3a1258e..fa86527 100644 (file)
@@ -281,5 +281,5 @@ ar{
             "1000000000000000000: =#,##0=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
similarity index 91%
rename from source/data/lang/ja_JP.txt
rename to source/data/rbnf/ar_SA.txt
index 093ed5b..00baa1f 100644 (file)
@@ -3,6 +3,6 @@
 /**\r
  * generated alias target\r
  */\r
-ja_JP{\r
+ar_SA{\r
     ___{""}\r
 }\r
index 8de1f41..9bb22b9 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ars{\r
-    "%%ALIAS"{"ar"}\r
+    "%%ALIAS"{"ar_SA"}\r
 }\r
index 8e92c63..e21ac4b 100644 (file)
@@ -90,5 +90,5 @@ az{
             "1000000000000000000: =#,##0='inci;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e565a5e..10b4ea8 100644 (file)
@@ -1,8 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * ICU <specials> source: <path>/xml/rbnf/be.xml\r
- */\r
 be{\r
     RBNFRules{\r
         SpelloutRules{\r
@@ -397,5 +394,5 @@ be{
             "1000000000000000000: =#,##0=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5d4ef99..a45a08e 100644 (file)
@@ -1,8 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * ICU <specials> source: <path>/xml/rbnf/bg.xml\r
- */\r
 bg{\r
     RBNFRules{\r
         SpelloutRules{\r
@@ -101,5 +98,5 @@ bg{
             "1000000000000000000: =#,##0=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 88279f0..5d5a79a 100644 (file)
@@ -116,5 +116,5 @@ bs{
             "1000000000000000000: =#,##0=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 35d174e..3d393f2 100644 (file)
@@ -1,8 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * ICU <specials> source: <path>/xml/rbnf/ca.xml\r
- */\r
 ca{\r
     RBNFRules{\r
         OrdinalRules{\r
@@ -258,5 +255,5 @@ ca{
             "1000000000000000000: =#,##0=ena;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e005a96..dfb1a6f 100644 (file)
@@ -51,5 +51,5 @@ ccp{
             "0: =%spellout-numbering= \U0001111B\U00011133\U00011106\U00011118\U00011133\U00011120\U0001112C;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fe6fa76..8f0c444 100644 (file)
@@ -53,5 +53,5 @@ chr{
             "1: ' =%spellout-numbering=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 27edee4..ed1493d 100644 (file)
@@ -125,5 +125,5 @@ cs{
             "1000000000000000000: =#,##0=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0953f61..8e0e6f3 100644 (file)
@@ -1,8 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * ICU <specials> source: <path>/xml/rbnf/cy.xml\r
- */\r
 cy{\r
     RBNFRules{\r
         SpelloutRules{\r
@@ -107,5 +104,5 @@ cy{
             "1000000000000000000: =#,##0=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9f7d1b5..8355bbc 100644 (file)
@@ -1,8 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * ICU <specials> source: <path>/xml/rbnf/da.xml\r
- */\r
 da{\r
     RBNFRules{\r
         SpelloutRules{\r
@@ -171,5 +168,5 @@ da{
             "1: er =%spellout-ordinal-neuter=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1ec35ab..b7413fe 100644 (file)
@@ -1,8 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * ICU <specials> source: <path>/xml/rbnf/de.xml\r
- */\r
 de{\r
     RBNFRules{\r
         SpelloutRules{\r
@@ -185,5 +182,5 @@ de{
             "0: =%spellout-ordinal=s;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2fed3e9..cfbd920 100644 (file)
@@ -180,5 +180,5 @@ de_CH{
             "0: =%spellout-ordinal=s;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c31936b..5b364c8 100644 (file)
@@ -83,5 +83,5 @@ ee{
             "2: =%spellout-cardinal=lia;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 21e4e15..89051b4 100644 (file)
@@ -294,5 +294,5 @@ el{
             "1000000000000000000: =#,##0=.;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 44b4753..1bee7f7 100644 (file)
@@ -1,8 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * ICU <specials> source: <path>/xml/rbnf/en.xml\r
- */\r
 en{\r
     RBNFRules{\r
         DurationRules{\r
@@ -209,5 +206,5 @@ en{
             "1000000000000000000: =#,##0=.;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3250540..e5c5f50 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_001{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8fc1852..7a837b4 100644 (file)
@@ -179,5 +179,5 @@ en_IN{
             "1000000000000000000: =#,##0=.;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e9cdbdc..a04c5cf 100644 (file)
@@ -40,5 +40,5 @@ eo{
             "0: =%spellout-cardinal=a;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d09b771..b348642 100644 (file)
@@ -288,5 +288,5 @@ es{
             "1000000000000000000: =#,##0=\u00AA;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bd0f210..1fac28f 100644 (file)
@@ -24,5 +24,5 @@ es_419{
             "0: =%digits-ordinal-masculine=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5b54ebf..774999d 100644 (file)
@@ -1,5 +1,6 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_DO{\r
-    "%%ALIAS"{"es_419"}\r
+    %%Parent{"es_419"}\r
+    Version{"37"}\r
 }\r
index 0b5bc38..1a55ba3 100644 (file)
@@ -1,5 +1,6 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_GT{\r
-    "%%ALIAS"{"es_419"}\r
+    %%Parent{"es_419"}\r
+    Version{"37"}\r
 }\r
index c99a36d..eb9f0e6 100644 (file)
@@ -1,5 +1,6 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_HN{\r
-    "%%ALIAS"{"es_419"}\r
+    %%Parent{"es_419"}\r
+    Version{"37"}\r
 }\r
index 0882ab7..cd8eff4 100644 (file)
@@ -1,5 +1,6 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_MX{\r
-    "%%ALIAS"{"es_419"}\r
+    %%Parent{"es_419"}\r
+    Version{"37"}\r
 }\r
index 89e8abe..dc76b15 100644 (file)
@@ -1,5 +1,6 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_NI{\r
-    "%%ALIAS"{"es_419"}\r
+    %%Parent{"es_419"}\r
+    Version{"37"}\r
 }\r
index 98544f8..080aa6b 100644 (file)
@@ -1,5 +1,6 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_PA{\r
-    "%%ALIAS"{"es_419"}\r
+    %%Parent{"es_419"}\r
+    Version{"37"}\r
 }\r
index 6473746..679cd4a 100644 (file)
@@ -1,5 +1,6 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_PR{\r
-    "%%ALIAS"{"es_419"}\r
+    %%Parent{"es_419"}\r
+    Version{"37"}\r
 }\r
index 2787e51..fedd77e 100644 (file)
@@ -1,5 +1,6 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_SV{\r
-    "%%ALIAS"{"es_419"}\r
+    %%Parent{"es_419"}\r
+    Version{"37"}\r
 }\r
index 6224542..345a97d 100644 (file)
@@ -1,5 +1,6 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_US{\r
-    "%%ALIAS"{"es_419"}\r
+    %%Parent{"es_419"}\r
+    Version{"37"}\r
 }\r
index d8c3f61..1573977 100644 (file)
@@ -40,5 +40,5 @@ et{
             "1000000000000000000: =#,##0=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a66e32b..d4547f0 100644 (file)
@@ -55,5 +55,5 @@ fa{
             "1000000000000000000: =#,##0=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c6db8e4..d5627eb 100644 (file)
@@ -51,5 +51,5 @@ fa_AF{
             "1000000000000000000: =#,##0=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 023efa5..54f2589 100644 (file)
@@ -85,5 +85,5 @@ ff{
             "1000000000000000000: =#,##0=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 60ce8c9..99db31e 100644 (file)
@@ -1271,5 +1271,5 @@ fi{
             "1000000000000000000: =#,##0=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0ba4ea3..dbc5230 100644 (file)
@@ -56,5 +56,5 @@ fil{
             "0: ika =%spellout-cardinal=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fe0baaa..d13693b 100644 (file)
@@ -1,8 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * ICU <specials> source: <path>/xml/rbnf/fo.xml\r
- */\r
 fo{\r
     RBNFRules{\r
         SpelloutRules{\r
@@ -116,5 +113,5 @@ fo{
             "1000000000000000000: =#,##0=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4faef15..9ed892b 100644 (file)
@@ -201,5 +201,5 @@ fr{
             "2: =%%spellout-ordinal=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e5ee4a4..775a127 100644 (file)
@@ -180,5 +180,5 @@ fr_BE{
             "2: =%%spellout-ordinal=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5581d60..ecf8a2a 100644 (file)
@@ -181,5 +181,5 @@ fr_CH{
             "2: =%%spellout-ordinal=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a47bf35..8c6d61e 100644 (file)
@@ -1,8 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * ICU <specials> source: <path>/xml/rbnf/ga.xml\r
- */\r
 ga{\r
     RBNFRules{\r
         DurationRules{\r
@@ -245,5 +242,5 @@ ga{
             "20: =%%is= =%%quadrillions=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bc8c901..5569fdd 100644 (file)
@@ -312,5 +312,5 @@ he{
             "11: =%spellout-numbering=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fbda728..e15be20 100644 (file)
@@ -176,5 +176,5 @@ hi{
             "7: =%spellout-cardinal=\u0935\u0940;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a6729ec..c3cd5df 100644 (file)
@@ -202,5 +202,5 @@ hr{
             "0: =%%spellout-ordinal-base=a;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d72b986..c7e5414 100644 (file)
@@ -122,5 +122,5 @@ hu{
             "1000000000: =#,##0=.;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index de7f679..44f0b25 100644 (file)
@@ -39,5 +39,5 @@ hy{
             "1000000000000000000: =#,##0=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 46dfd26..9e37153 100644 (file)
@@ -45,5 +45,5 @@ id{
             "0: ke=%spellout-cardinal=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d06f2ef..3ec3301 100644 (file)
@@ -1,8 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * ICU <specials> source: <path>/xml/rbnf/is.xml\r
- */\r
 is{\r
     RBNFRules{\r
         SpelloutRules{\r
@@ -116,5 +113,5 @@ is{
             "1000000000000000000: =#,##0.#=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c40043a..81d6f4a 100644 (file)
@@ -388,5 +388,5 @@ it{
             "10: o\u00AD=%spellout-ordinal-feminine=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a52b4bc..3c000e0 100644 (file)
@@ -78,5 +78,5 @@ ja{
             "0: \u7B2C=%spellout-numbering=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c64ad03..e286a99 100644 (file)
@@ -63,5 +63,5 @@ ka{
             "1: ' =%spellout-cardinal=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 01dab21..f0f93b7 100644 (file)
@@ -70,5 +70,5 @@ kl{
             "1000000000000000000: =#,##0=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3f7ba25..2644c53 100644 (file)
@@ -47,5 +47,5 @@ km{
             "0: \u1791\u17B8=%spellout-cardinal=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b605033..ee6726f 100644 (file)
@@ -246,5 +246,5 @@ ko{
             "3: =%%spellout-ordinal-native-smaller=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 518eab1..4e30846 100644 (file)
@@ -165,5 +165,5 @@ ky{
             "1000000000000: 0* <#,##0<<;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cb89dff..6f81773 100644 (file)
@@ -201,5 +201,5 @@ lb{
             "1: ' =%spellout-ordinal-neuter=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d06e942..4483ab8 100644 (file)
@@ -43,5 +43,5 @@ lo{
             "0: \u0E17\u0E35\u0E48\u200B=%spellout-cardinal=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e1cf830..3ff226c 100644 (file)
@@ -55,5 +55,5 @@ lrc{
             "1000000000000000000: =#,##0=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3f267d7..593dad7 100644 (file)
@@ -106,5 +106,5 @@ lt{
             "1000000000000000000: =#,##0=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6259a71..b8d134a 100644 (file)
@@ -81,5 +81,5 @@ lv{
             "1000000000000000000: =#,##0=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c297ec6..9ccbe43 100644 (file)
@@ -1,8 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * ICU <specials> source: <path>/xml/rbnf/mk.xml\r
- */\r
 mk{\r
     RBNFRules{\r
         SpelloutRules{\r
@@ -97,5 +94,5 @@ mk{
             "1000000000000000000: =#,##0=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 55c5ef7..aad8881 100644 (file)
@@ -50,5 +50,5 @@ ms{
             "2: ke=%spellout-cardinal=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index eb1d901..42890f8 100644 (file)
@@ -1,8 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * ICU <specials> source: <path>/xml/rbnf/mt.xml\r
- */\r
 mt{\r
     RBNFRules{\r
         DurationRules{\r
@@ -268,5 +265,5 @@ mt{
             "10: g\u0127axart;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b5d96ec..a820108 100644 (file)
@@ -51,5 +51,5 @@ my{
             "11: =%spellout-cardinal=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c83228d..66b658a 100644 (file)
@@ -1,8 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * ICU <specials> source: <path>/xml/rbnf/nb.xml\r
- */\r
 nb{\r
     RBNFRules{\r
         SpelloutRules{\r
@@ -311,5 +308,5 @@ nb{
             "1: er =%spellout-ordinal-plural=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d6c49ea..a0c9d85 100644 (file)
@@ -106,5 +106,5 @@ nl{
             "1000000000000000000: =#,##0=.;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 43258b2..243990a 100644 (file)
@@ -1,8 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * ICU <specials> source: <path>/xml/rbnf/nn.xml\r
- */\r
 nn{\r
     RBNFRules{\r
         SpelloutRules{\r
@@ -54,21 +51,21 @@ nn{
             "40: f\u00F8rti[\u00AD>>];",\r
             "50: femti[\u00AD>>];",\r
             "60: seksti[\u00AD>>];",\r
-            "70: s\u00F8tti[\u00AD>>];",\r
+            "70: sytti[\u00AD>>];",\r
             "80: \u00E5tti[\u00AD>>];",\r
             "90: nitti[\u00AD>>];",\r
             "100: <%spellout-cardinal-neuter< hundre[ og >>];",\r
             "1000: <%spellout-cardinal-neuter< tusen[ og >>];",\r
-            "1000000: \u00E9in miljon[ >>];",\r
-            "2000000: << miljoner[ >>];",\r
-            "1000000000: \u00E9in miljard[ >>];",\r
-            "2000000000: << miljarder[ >>];",\r
-            "1000000000000: \u00E9in biljon[ >>];",\r
-            "2000000000000: << biljoner[ >>];",\r
-            "1000000000000000: \u00E9in biljard[ >>];",\r
-            "2000000000000000: << biljarder[ >>];",\r
+            "1000000: \u00E9in million[ >>];",\r
+            "2000000: << millionar[ >>];",\r
+            "1000000000: \u00E9in milliard[ >>];",\r
+            "2000000000: << milliardar[ >>];",\r
+            "1000000000000: \u00E9in billion[ >>];",\r
+            "2000000000000: << billionar[ >>];",\r
+            "1000000000000000: \u00E9in billiard[ >>];",\r
+            "2000000000000000: << biliardar[ >>];",\r
             "1000000000000000000: =#,##0=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 81137ee..e23f0f1 100644 (file)
@@ -394,5 +394,5 @@ pl{
             "10: << >>;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9ca4c98..8947c20 100644 (file)
@@ -194,5 +194,5 @@ pt{
             "1000000000000000000: =#,##0=\u00AA;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index de0ddff..1623df3 100644 (file)
@@ -184,5 +184,5 @@ pt_PT{
             "1000000000000000000: =#,##0=\u00AA;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0d40a33..66f8755 100644 (file)
@@ -42,5 +42,5 @@ qu{
             "0: =%spellout-cardinal=-\u00F1iqin;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f1e75ef..f15c41e 100644 (file)
@@ -87,5 +87,5 @@ ro{
             "1000000000000000000: =#,##0=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 86ac29d..9aae7fc 100644 (file)
@@ -1,8 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * ICU <specials> source: <path>/xml/rbnf/root.xml\r
- */\r
 root{\r
     RBNFRules{\r
         DurationRules{\r
@@ -658,5 +655,5 @@ root{
             "0: =#,##0.#=.;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 588c27e..eedae92 100644 (file)
@@ -1,8 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * ICU <specials> source: <path>/xml/rbnf/ru.xml\r
- */\r
 ru{\r
     RBNFRules{\r
         SpelloutRules{\r
@@ -1386,5 +1383,5 @@ ru{
             "21001: =0=.;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4105901..eb82c46 100644 (file)
@@ -36,5 +36,5 @@ se{
             "1000000000000000000: =#,##0=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4ed6dd5..43c8a24 100644 (file)
@@ -80,5 +80,5 @@ sk{
             "1000000000000000000: =#,##0=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 392c0a8..9ccccbf 100644 (file)
@@ -128,5 +128,5 @@ sl{
             "1000000000000000000: =#,##0=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0c804bb..3ebb0ca 100644 (file)
@@ -63,5 +63,5 @@ sq{
             "1000000000000000000: =#,##0=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e7d8c21..ddf5dcf 100644 (file)
@@ -1,8 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * ICU <specials> source: <path>/xml/rbnf/sr.xml\r
- */\r
 sr{\r
     RBNFRules{\r
         SpelloutRules{\r
@@ -150,5 +147,5 @@ sr{
             "400: <%spellout-cardinal-feminine<\u0441\u0442\u043E>%%ordti>;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 815a8c6..3c3bcb4 100644 (file)
@@ -146,5 +146,5 @@ sr_Latn{
             "400: <%spellout-cardinal-feminine<sto>%%ordti>;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/rbnf/su.txt b/source/data/rbnf/su.txt
new file mode 100644 (file)
index 0000000..cf76b72
--- /dev/null
@@ -0,0 +1,43 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+su{\r
+    RBNFRules{\r
+        SpelloutRules{\r
+            "%spellout-numbering-year:",\r
+            "x.x: =0.0=;",\r
+            "0: =%spellout-numbering=;",\r
+            "%spellout-numbering:",\r
+            "0: =%spellout-cardinal=;",\r
+            "%spellout-cardinal:",\r
+            "-x: mineus >>;",\r
+            "x.x: << titik >>;",\r
+            "0: nol;",\r
+            "1: hiji;",\r
+            "2: dua;",\r
+            "3: tilu;",\r
+            "4: opat;",\r
+            "5: lima;",\r
+            "6: genep;",\r
+            "7: tujuh;",\r
+            "8: dalapan;",\r
+            "9: salapan;",\r
+            "10: sapuluh;",\r
+            "11: sabelas;",\r
+            "12: >> belas;",\r
+            "20: << puluh[ >>];",\r
+            "100: <%%spellout-cardinal-large<ratus[ >>];",\r
+            "1000: <%%spellout-cardinal-large<rebu[ >>];",\r
+            "1000000: <%%spellout-cardinal-large<juta[ >>];",\r
+            "1000000000: <%%spellout-cardinal-large<miliar[ >>];",\r
+            "1000000000000: =#,##0=;",\r
+            "%%spellout-cardinal-large:",\r
+            "1: sa;",\r
+            "0: =%spellout-cardinal= ;",\r
+            "%spellout-ordinal:",\r
+            "-x: mineus >>;",\r
+            "x.x: =#,##0.0=;",\r
+            "0: ka=%spellout-cardinal=;",\r
+        }\r
+    }\r
+    Version{"37"}\r
+}\r
index 2633291..1a2da34 100644 (file)
@@ -221,5 +221,5 @@ sv{
             "0: =%spellout-ordinal-neuter=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index de13da4..85e27c9 100644 (file)
@@ -48,5 +48,5 @@ sw{
             "3: wa =%spellout-cardinal=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3044962..7b91c1d 100644 (file)
@@ -84,5 +84,5 @@ ta{
             "21: =#,##,##0=\u0BBE\u0BB5\u0BA4\u0BC1;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d2d9d63..30d6ddb 100644 (file)
@@ -43,5 +43,5 @@ th{
             "0: \u0E17\u0E35\u0E48\u200B=%spellout-cardinal=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cdc7226..0f0c83f 100644 (file)
@@ -87,5 +87,5 @@ tr{
             "1000000000000000000: =#,##0='inci;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4585c8d..08e95f3 100644 (file)
@@ -1,8 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * ICU <specials> source: <path>/xml/rbnf/uk.xml\r
- */\r
 uk{\r
     RBNFRules{\r
         SpelloutRules{\r
@@ -121,5 +118,5 @@ uk{
             "1000000000000000000: =#,##0=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bbfa023..6dbdffe 100644 (file)
@@ -59,5 +59,5 @@ vi{
             "5: th\u1EE9 =%spellout-cardinal=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6a63b1e..8360285 100644 (file)
@@ -158,5 +158,5 @@ yue{
             "0: \u7B2C=%spellout-numbering=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d3f6a79..20389c8 100644 (file)
@@ -159,5 +159,5 @@ yue_Hans{
             "0: \u7B2C=%spellout-numbering=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fbef4af..5d323f3 100644 (file)
@@ -240,5 +240,5 @@ zh{
             "0: \u7B2C=%spellout-numbering=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cf9582d..0a9693c 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh_HK{\r
-    "%%ALIAS"{"yue"}\r
+    "%%ALIAS"{"zh_Hant_HK"}\r
 }\r
index 486680b..069d2bc 100644 (file)
@@ -214,5 +214,5 @@ zh_Hant{
             "0: \u7B2C=%spellout-numbering=;",\r
         }\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/rbnf/zh_Hant_MO.txt b/source/data/rbnf/zh_Hant_MO.txt
new file mode 100644 (file)
index 0000000..5a22499
--- /dev/null
@@ -0,0 +1,8 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+/**\r
+ * generated alias target\r
+ */\r
+zh_Hant_MO{\r
+    ___{""}\r
+}\r
diff --git a/source/data/rbnf/zh_Hant_TW.txt b/source/data/rbnf/zh_Hant_TW.txt
new file mode 100644 (file)
index 0000000..640f913
--- /dev/null
@@ -0,0 +1,8 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+/**\r
+ * generated alias target\r
+ */\r
+zh_Hant_TW{\r
+    ___{""}\r
+}\r
index 4090a69..9571a0f 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh_MO{\r
-    "%%ALIAS"{"yue"}\r
+    "%%ALIAS"{"zh_Hant_MO"}\r
 }\r
index b24a1f0..c685f94 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh_TW{\r
-    "%%ALIAS"{"zh_Hant"}\r
+    "%%ALIAS"{"zh_Hant_TW"}\r
 }\r
index bcbdb1b..e195606 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 \r
 {\r
-    "cldrVersion": "36.1",\r
+    "cldrVersion": "37",\r
     "aliases": {\r
         "ars": "ar_SA",\r
         "az_AZ": "az_Latn_AZ",\r
         "in_ID": "id_ID",\r
         "iw": "he",\r
         "iw_IL": "he_IL",\r
+        "ks_IN": "ks_Arab_IN",\r
+        "mni_IN": "mni_Beng_IN",\r
         "mo": "ro",\r
         "no": "nb",\r
         "no_NO": "nb_NO",\r
         "no_NO_NY": "nn_NO",\r
         "pa_IN": "pa_Guru_IN",\r
         "pa_PK": "pa_Arab_PK",\r
+        "sat_IN": "sat_Olck_IN",\r
+        "sd_PK": "sd_Arab_PK",\r
         "sh": "sr_Latn",\r
         "sh_BA": "sr_Latn_BA",\r
         "sh_CS": "sr_Latn_RS",\r
@@ -38,6 +42,7 @@
         "sr_RS": "sr_Cyrl_RS",\r
         "sr_XK": "sr_Cyrl_XK",\r
         "sr_YU": "sr_Cyrl_RS",\r
+        "su_ID": "su_Latn_ID",\r
         "tl": "fil",\r
         "tl_PH": "fil_PH",\r
         "uz_AF": "uz_Arab_AF",\r
         "es_US": "es_419",\r
         "es_UY": "es_419",\r
         "es_VE": "es_419",\r
+        "ff_Adlm": "root",\r
         "pa_Arab": "root",\r
         "pt_AO": "pt_PT",\r
         "pt_CH": "pt_PT",\r
         "pt_MZ": "pt_PT",\r
         "pt_ST": "pt_PT",\r
         "pt_TL": "pt_PT",\r
+        "sd_Deva": "root",\r
         "shi_Latn": "root",\r
         "sr_Latn": "root",\r
         "uz_Arab": "root",\r
index 6e67514..e4320c2 100644 (file)
@@ -311,8 +311,6 @@ af{
         CI{"Cote d’Ivoire"}\r
         CZ{"Tsjeggiese Republiek"}\r
         FK{"Falklandeilande (Malvinas)"}\r
-        SZ{"Eswatini"}\r
-        TL{"Oos-Timor"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 78aa1e4..ed74418 100644 (file)
@@ -226,5 +226,5 @@ agq{
         ZM{"Zambìa"}\r
         ZW{"Zìmbagbɛ̀"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d71e57f..9e0281e 100644 (file)
@@ -226,5 +226,5 @@ ak{
         ZM{"Zambia"}\r
         ZW{"Zembabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b918053..9a52239 100644 (file)
@@ -314,5 +314,5 @@ am{
         SZ{"ስዋዚላንድ"}\r
         TL{"ምስራቅ ቲሞር"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7038569..2cdb74a 100644 (file)
@@ -287,6 +287,8 @@ ar{
         VU{"فانواتو"}\r
         WF{"جزر والس وفوتونا"}\r
         WS{"ساموا"}\r
+        XA{"لكنات تجريبية غير أصلية"}\r
+        XB{"لكنات تجريبية ثنائية الاتجاه"}\r
         XK{"كوسوفو"}\r
         YE{"اليمن"}\r
         YT{"مايوت"}\r
@@ -296,12 +298,9 @@ ar{
         ZZ{"منطقة غير معروفة"}\r
     }\r
     Countries%short{\r
-        GB{"المملكة المتحدة"}\r
         HK{"هونغ كونغ"}\r
         MO{"مكاو"}\r
         PS{"فلسطين"}\r
-        UN{"الأمم المتحدة"}\r
-        US{"الولايات المتحدة"}\r
     }\r
     Countries%variant{\r
         CD{"جمهورية الكونغو الديمقراطية"}\r
@@ -312,5 +311,5 @@ ar{
         SZ{"سوازيلاند"}\r
         TL{"تيمور الشرقية"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ce8e1df..e87f933 100644 (file)
@@ -5,5 +5,5 @@ ar_AE{
         CI{"ساحل العاج"}\r
         TL{"التيمور الشرقية"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 77bda8a..327c3ac 100644 (file)
@@ -6,5 +6,5 @@ ar_LY{
         MS{"مونتيسيرات"}\r
         UY{"أوروغواي"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7fbad25..484f7fa 100644 (file)
@@ -14,5 +14,5 @@ ar_SA{
     Countries%variant{\r
         CZ{"التشيك"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4a939a5..f76dbbc 100644 (file)
@@ -313,5 +313,5 @@ as{
         SZ{"স্বাজিলেণ্ড"}\r
         TL{"পূৱ টিমোৰ"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3210727..5669284 100644 (file)
@@ -224,5 +224,5 @@ asa{
         ZM{"Dhambia"}\r
         ZW{"Dhimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index afa1d0d..419976f 100644 (file)
@@ -308,5 +308,5 @@ ast{
         FK{"Islles Malvines (Falkland Islands)"}\r
         TL{"Timor Este"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 757ec53..33ceccb 100644 (file)
@@ -312,7 +312,6 @@ az{
         CZ{"Çex Respublikası"}\r
         FK{"Folklend adaları (Malvin adaları)"}\r
         SZ{"Svazilend"}\r
-        TL{"Şərqi Timor"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 84b9f51..4e8b413 100644 (file)
@@ -301,5 +301,5 @@ az_Cyrl{
         CZ{"Чех Республикасы"}\r
         FK{"Фолкленд адалары (Малвин адалары)"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a2372d2..7562a28 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 az_Latn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 112d866..8fec438 100644 (file)
@@ -223,5 +223,5 @@ bas{
         ZM{"Zàmbià"}\r
         ZW{"Zìmbàbwê"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 53d5c3e..77d3c61 100644 (file)
@@ -298,7 +298,6 @@ be{
         ZZ{"Невядомы рэгіён"}\r
     }\r
     Countries%short{\r
-        GB{"Вялікабрытанія"}\r
         HK{"Ганконг"}\r
         MO{"Макаа"}\r
         PS{"Палесціна"}\r
@@ -313,5 +312,5 @@ be{
         SZ{"Свазіленд"}\r
         TL{"Усходні Тымор"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index dc1f3e4..062f185 100644 (file)
@@ -4,5 +4,5 @@ bem{
     Countries{\r
         ZM{"Zambia"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9125651..62ad5ea 100644 (file)
@@ -226,5 +226,5 @@ bez{
         ZM{"Huzambia"}\r
         ZW{"Huzimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5e1b97a..02c10fc 100644 (file)
@@ -298,7 +298,6 @@ bg{
         ZZ{"непознат регион"}\r
     }\r
     Countries%short{\r
-        GB{"Обединеното кралство"}\r
         HK{"Хонконг"}\r
         MO{"Макао"}\r
         PS{"Палестина"}\r
@@ -307,11 +306,9 @@ bg{
     Countries%variant{\r
         CD{"Конго (ДРК)"}\r
         CG{"Конго (Република)"}\r
-        CI{"Кот д’Ивоар"}\r
         CZ{"Чешка република"}\r
         FK{"Фолкландски острови (Малвински острови)"}\r
         SZ{"Свазиленд"}\r
-        TL{"Източен Тимор"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 97449aa..ad662a6 100644 (file)
@@ -226,5 +226,5 @@ bm{
         ZM{"Zanbi"}\r
         ZW{"Zimbabuwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f4a64a8..478ccbc 100644 (file)
@@ -314,5 +314,5 @@ bn{
         SZ{"সোয়াজিল্যান্ড"}\r
         TL{"পূর্ব তিমুর"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ea97d46..ba662ce 100644 (file)
@@ -7,5 +7,5 @@ bn_IN{
     Countries%variant{\r
         CD{"কঙ্গো (DRC)"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9e3d480..a5f9ba1 100644 (file)
@@ -15,5 +15,5 @@ bo{
         US{"ཨ་མེ་རི་ཀ།"}\r
         ZZ{"མིའི་ཤེས་རྟོགས་མ་བྱུང་བའི་ཁོར་ཡུག"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7c3bbe4..9eb0605 100644 (file)
@@ -4,5 +4,5 @@ bo_IN{
     Countries{\r
         009{"ཨོཤི་ཡཱན་ན།"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 93734bb..6126a39 100644 (file)
@@ -313,5 +313,5 @@ br{
         SZ{"Swaziland"}\r
         TL{"Timor ar Reter"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 37904c8..1d71f04 100644 (file)
@@ -280,5 +280,5 @@ brx{
         ZW{"ज़ीम्बाब्वे"}\r
         ZZ{"अज्ञात या अवैध प्रदेश"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e4edb4a..4e35497 100644 (file)
@@ -287,6 +287,8 @@ bs{
         VU{"Vanuatu"}\r
         WF{"Ostrva Valis i Futuna"}\r
         WS{"Samoa"}\r
+        XA{"Pseudo naglasci"}\r
+        XB{"Pseudo bidi"}\r
         XK{"Kosovo"}\r
         YE{"Jemen"}\r
         YT{"Majote"}\r
@@ -311,5 +313,5 @@ bs{
         FK{"Folklandska (Malvinska) ostrva"}\r
         SZ{"Svazilend"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9be8a94..23f0a7c 100644 (file)
@@ -311,8 +311,7 @@ bs_Cyrl{
         CI{"Обала Слоноваче"}\r
         CZ{"Чешка Република"}\r
         FK{"Фокландска Острва (Малвинска)"}\r
-        SZ{"Есватини"}\r
         TL{"Тимор-Лесте (Источни Тимор)"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8d3f9f4..055a94f 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bs_Latn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4313c5f..6940f0d 100644 (file)
@@ -312,7 +312,6 @@ ca{
         CZ{"República Txeca"}\r
         FK{"Illes Malvines (Illes Falkland)"}\r
         SZ{"Swazilàndia"}\r
-        TL{"Timor Oriental"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6dde2fd..7bb7913 100644 (file)
@@ -320,5 +320,5 @@ ccp{
         }\r
         TL{"𑄛𑄪𑄉𑄮 𑄖𑄨𑄟𑄪𑄢𑄴"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f067480..06f285e 100644 (file)
@@ -294,7 +294,6 @@ ce{
         ZZ{"Йоьвзуш йоцу регион"}\r
     }\r
     Countries%short{\r
-        GB{"Йоккха Британи"}\r
         HK{"Гонконг"}\r
         MO{"Макао"}\r
         PS{"ПалестӀина"}\r
@@ -307,5 +306,5 @@ ce{
         FK{"Фолклендан гӀайренаш (Мальвинаш)"}\r
         TL{"Тимор-Лесте"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 87c545a..762fe46 100644 (file)
@@ -13,7 +13,7 @@ ceb{
         015{"Northern Africa"}\r
         017{"Middle Africa"}\r
         018{"Southern Africa"}\r
-        019{"Americas"}\r
+        019{"Mga Amerika"}\r
         021{"Northern America"}\r
         029{"Caribbean"}\r
         030{"Eastern Asia"}\r
@@ -113,9 +113,9 @@ ceb{
         FK{"Falkland Islands"}\r
         FM{"Micronesia"}\r
         FO{"Faroe Islands"}\r
-        FR{"Pransiya"}\r
+        FR{"Pransya"}\r
         GA{"Gabon"}\r
-        GB{"Hiniusang Gingharian"}\r
+        GB{"United Kingdom"}\r
         GD{"Grenada"}\r
         GE{"Georgia"}\r
         GF{"French Guiana"}\r
@@ -153,7 +153,7 @@ ceb{
         JE{"Jersey"}\r
         JM{"Jamaica"}\r
         JO{"Jordan"}\r
-        JP{"Hapon"}\r
+        JP{"Japan"}\r
         KE{"Kenya"}\r
         KG{"Kyrgyzstan"}\r
         KH{"Cambodia"}\r
@@ -295,13 +295,14 @@ ceb{
         ZA{"South Africa"}\r
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
-        ZZ{"Wala-mailhing Rehiyon"}\r
+        ZZ{"Wala Mailhing Rehiyon"}\r
     }\r
     Countries%short{\r
         GB{"UK"}\r
         HK{"Hong Kong"}\r
         MO{"Macao"}\r
         PS{"Palestine"}\r
+        US{"US"}\r
     }\r
     Countries%variant{\r
         CD{"Congo (DRC)"}\r
@@ -312,5 +313,5 @@ ceb{
         SZ{"Swaziland"}\r
         TL{"East Timor"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8e56052..6914583 100644 (file)
@@ -224,5 +224,5 @@ cgg{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f140ea1..d2301f6 100644 (file)
@@ -313,5 +313,5 @@ chr{
         SZ{"ᎠᏂᏍᏩᏏᎢ"}\r
         TL{"ᏗᎧᎸᎬᎢ ᏘᎼᎵ"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 101dc02..2fb513c 100644 (file)
@@ -296,15 +296,11 @@ ckb{
         ZZ{"ناوچەی نەناسراو"}\r
     }\r
     Countries%short{\r
-        GB{"شانشینی یەکگرتوو"}\r
-        HK{"هۆنگ کۆنگ"}\r
-        MO{"ماکائۆ"}\r
         PS{"فەلەستین"}\r
-        US{"ویلایەتە یەکگرتووەکان"}\r
     }\r
     Countries%variant{\r
         CD{"کۆماری دیموکراتیی کۆنگۆ"}\r
         CG{"کۆماری کۆنگۆ"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bace51f..5ef7d45 100644 (file)
@@ -314,5 +314,5 @@ cs{
         SZ{"Eswatini"}\r
         TL{"Timor-Leste"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index eaf0757..97000f9 100644 (file)
@@ -314,5 +314,5 @@ cy{
         SZ{"Gwlad Swazi"}\r
         TL{"Dwyrain Timor"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0b472ce..b56dc2d 100644 (file)
@@ -303,16 +303,14 @@ da{
         MO{"Macao"}\r
         PS{"Palæstina"}\r
         UN{"FN"}\r
-        US{"USA"}\r
     }\r
     Countries%variant{\r
         CD{"Den Demokratiske Republik Congo (DRC)"}\r
         CG{"Republikken Congo"}\r
-        CI{"Elfenbenskysten"}\r
         CZ{"Den Tjekkiske Republik"}\r
         FK{"Falklandsøerne (Islas Malvinas)"}\r
         SZ{"Swaziland"}\r
         TL{"Østtimor"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d384297..3a7e18a 100644 (file)
@@ -226,5 +226,5 @@ dav{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5b2cb3a..4e83a50 100644 (file)
@@ -314,5 +314,5 @@ de{
         SZ{"Swasiland"}\r
         TL{"Osttimor"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7656f07..b6faa0f 100644 (file)
@@ -4,5 +4,5 @@ de_AT{
     Countries{\r
         SJ{"Svalbard und Jan Mayen"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a05331c..409c484 100644 (file)
@@ -12,5 +12,5 @@ de_CH{
         TL{"Osttimor"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 29f9a25..bc89bdb 100644 (file)
@@ -225,5 +225,5 @@ dje{
         ZM{"Zambi"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 55a6c1a..382f456 100644 (file)
@@ -305,5 +305,5 @@ dsb{
         FK{"Falklandske kupy (Malwiny)"}\r
         TL{"Pódzajtšny Timor"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 847c9cb..ab98920 100644 (file)
@@ -4,5 +4,5 @@ dua{
     Countries{\r
         CM{"Cameroun"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9629530..69a2279 100644 (file)
@@ -111,5 +111,5 @@ dyo{
         TG{"Togo"}\r
         TH{"Tailand"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 818c03f..7a70dec 100644 (file)
@@ -301,5 +301,5 @@ dz{
         FK{"ཕལྐ་ལནྜ་གླིང་ཚོམ (ཨིས་ལཱས་མལ་བི་ཎཱས)"}\r
         TL{"ཤར་ཕྱོགས་ཏི་་མོར"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a134bd1..d842fd1 100644 (file)
@@ -226,5 +226,5 @@ ebu{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 48d1ba1..8db3968 100644 (file)
@@ -296,5 +296,5 @@ ee{
         FK{"Falkland ƒudomekpowo (Islas Malvinas) nutome"}\r
         TL{"Ɣedzeƒe Timɔ nutome"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 53ebd37..9f48d0c 100644 (file)
@@ -308,11 +308,9 @@ el{
     Countries%variant{\r
         CD{"Κονγκό (ΛΔΚ)"}\r
         CG{"Κονγκό (Δημοκρατία)"}\r
-        CI{"Ακτή Ελεφαντοστού"}\r
         CZ{"Τσεχική Δημοκρατία"}\r
         FK{"Νήσοι Φόκλαντ (Νήσοι Μαλβίνας)"}\r
-        SZ{"Σουαζιλάνδη"}\r
         TL{"Ανατολικό Τιμόρ"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cd87b58..8433dfb 100644 (file)
@@ -311,10 +311,11 @@ en{
         CD{"Congo (DRC)"}\r
         CG{"Congo (Republic)"}\r
         CI{"Ivory Coast"}\r
+        CV{"Cabo Verde"}\r
         CZ{"Czech Republic"}\r
         FK{"Falkland Islands (Islas Malvinas)"}\r
         SZ{"Swaziland"}\r
         TL{"East Timor"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 321bd96..e016730 100644 (file)
@@ -12,5 +12,5 @@ en_001{
         VC{"St Vincent & Grenadines"}\r
         VI{"US Virgin Islands"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 48f274d..b438e89 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_150{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9c32af7..a748276 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_AG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index dc0a00f..d3a2f9b 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_AI{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2ef756e..ec475e0 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_AT{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1433e32..ee6f89f 100644 (file)
@@ -9,5 +9,5 @@ en_AU{
         MF{"St. Martin"}\r
         VC{"St. Vincent & Grenadines"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4526faa..6bac355 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BB{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a0482c2..46d6b7d 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BE{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1b0a5b1..1735b51 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6aacc1f..97d27f5 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BS{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5335070..1988772 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BW{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ebede8c..b73fe1d 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BZ{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index dc675ef..e74ae5e 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CA{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index dcbc71c..332a810 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CC{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b0ca8ab..e443b47 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CH{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d670907..9e1d5c1 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CK{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 37cb57c..5d5dfe1 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4b709fb..c8f649b 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CX{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7c8d2e5..c852bbe 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CY{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8e56c9b..7fafabe 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_DE{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c5bebd8..332c554 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_DG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6bfddb4..9da0b9c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_DK{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c2b7c48..69c9cad 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_DM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 645f031..b87712d 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_ER{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 95f4bc7..b3758a5 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_FI{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3769889..62582de 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_FJ{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 187ca4b..c14ae42 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_FK{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f8ce885..32598fc 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_FM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index de39aba..752d775 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GB{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5d7fb98..513ab4e 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GD{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 67aca40..70ff464 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fcbf17f..d57f0a1 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GH{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8339d5d..a5e72c1 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GI{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9b6a911..b3195d5 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2dad328..90774d2 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GY{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ecc8376..6088a7f 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_HK{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e5ef11b..e0309d1 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_IE{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 700e18f..9fd8b65 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_IL{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 67029d6..db7ea0b 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_IM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 03b26b4..e8d37d0 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_IN{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3febdeb..bf9042e 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_IO{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5dc72a2..cb85a86 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_JE{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c652c9e..7088750 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_JM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 49b1938..234d24c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_KE{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6d62e0e..59881cc 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_KI{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 45e54a1..4afc89a 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_KN{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6d58211..55d6d3f 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_KY{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 13a5553..69a481e 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_LC{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0f3f774..8384413 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_LR{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4926e99..3fd54d5 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_LS{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 19c7612..058e711 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d34f753..fd3fefa 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MO{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3339fb3..2a2c3fc 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MS{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e19256d..bee60ae 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MT{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7e99578..abf5a6a 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MU{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 53eaa1d..041eb0c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MW{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 05273de..2fb266c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MY{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4c7aad0..cf4bdd3 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NA{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3e6f026..4a77de6 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NF{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3c4b13a..8d3823e 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 03f3145..577e05b 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NL{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4b957cd..d51a078 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NR{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c5b2e0c..5356f56 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NU{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2017ed9..c8ae6a7 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NZ{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c5c15ca..b88a3d7 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_PG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4178526..136dd36 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_PH{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9b0f0fe..a001c81 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_PK{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 01559d3..e125533 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_PN{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bce0771..c254b8a 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_PW{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d1e3ec2..44f6b05 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_RW{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 43ac27d..890787c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SB{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e433337..a051841 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SC{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4b1c909..3facf27 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SD{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e939ca2..40ea5dd 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SE{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f4acd6e..9772a76 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5cbcaae..c3c0dab 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SH{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1e2b996..15ccec4 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SI{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6607917..12c2893 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SL{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 02fc895..a4e3d7a 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SS{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index aa72091..1a736f6 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SX{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5185e38..ff893da 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SZ{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 604cc12..49a3483 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TC{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 52631be..5d06d6c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TK{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bdb0299..74f67ee 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TO{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4724625..e333e38 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TT{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5cb9166..8826578 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TV{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 88077ef..7ed9df8 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TZ{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c64f20a..4dd8946 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_UG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1c16a47..86b9c26 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_VC{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bc9f3a2..c37b20a 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_VG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f8cae92..a481242 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_VU{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2a1b9bf..df4d89c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_WS{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9da4701..4a5f9ad 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_ZA{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5c7e59b..15095b4 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_ZM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fdb8ead..ceeb93f 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_ZW{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2f1d977..a1a2560 100644 (file)
@@ -226,5 +226,5 @@ eo{
         ZM{"Zambio"}\r
         ZW{"Zimbabvo"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 54cd255..859860d 100644 (file)
@@ -313,5 +313,5 @@ es{
         SZ{"Suazilandia"}\r
         TL{"Timor Oriental"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a97533b..877a844 100644 (file)
@@ -31,5 +31,5 @@ es_419{
     Countries%variant{\r
         CD{"Congo (República Democrática del Congo)"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 88676b2..b035528 100644 (file)
@@ -10,5 +10,5 @@ es_AR{
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 57afb34..d42c408 100644 (file)
@@ -10,5 +10,5 @@ es_BO{
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e765032..e988982 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_BR{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1e91d76..a81a6e0 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_BZ{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 016ed35..0dd7e05 100644 (file)
@@ -11,5 +11,5 @@ es_CL{
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0ee75a0..8c44ec7 100644 (file)
@@ -10,5 +10,5 @@ es_CO{
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fa2fc2a..67d15ca 100644 (file)
@@ -10,5 +10,5 @@ es_CR{
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3d56222..8bc85d4 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_CU{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6fbc4dd..1323ad0 100644 (file)
@@ -10,5 +10,5 @@ es_DO{
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c43a40b..efed749 100644 (file)
@@ -10,5 +10,5 @@ es_EC{
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 18c6378..f3b73a2 100644 (file)
@@ -10,5 +10,5 @@ es_GT{
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 557f0ae..eaf19c5 100644 (file)
@@ -10,5 +10,5 @@ es_HN{
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f11a342..583511e 100644 (file)
@@ -29,5 +29,5 @@ es_MX{
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 77c3cd5..a4e3a48 100644 (file)
@@ -10,5 +10,5 @@ es_NI{
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index de6d64a..10af3f8 100644 (file)
@@ -10,5 +10,5 @@ es_PA{
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a4dfbb4..6596168 100644 (file)
@@ -10,5 +10,5 @@ es_PE{
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 15f5bde..3e5a2bd 100644 (file)
@@ -5,5 +5,5 @@ es_PR{
     Countries{\r
         UM{"Islas menores alejadas de EE. UU."}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 124fe82..272c688 100644 (file)
@@ -10,5 +10,5 @@ es_PY{
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 15ba9e5..a54253c 100644 (file)
@@ -5,5 +5,5 @@ es_SV{
     Countries{\r
         UM{"Islas menores alejadas de EE. UU."}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4fdf700..240959d 100644 (file)
@@ -23,14 +23,9 @@ es_US{
         QO{"Territorios alejados de Oceanía"}\r
         TA{"Tristán de Acuña"}\r
         UM{"Islas menores alejadas de EE. UU."}\r
-        UN{"UN"}\r
     }\r
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Countries%variant{\r
-        CI{"CI"}\r
-        TL{"TL"}\r
-    }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 741c451..9517a0e 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_UY{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9ea6553..ba23bd8 100644 (file)
@@ -10,5 +10,5 @@ es_VE{
     Countries%short{\r
         GB{"RU"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bfd3f02..2bd51d0 100644 (file)
@@ -314,5 +314,5 @@ et{
         SZ{"eSwatini"}\r
         TL{"Timor-Leste"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 999d563..8040921 100644 (file)
@@ -288,6 +288,7 @@ eu{
         WF{"Wallis eta Futuna"}\r
         WS{"Samoa"}\r
         XA{"Sasiazentuak"}\r
+        XB{"pseudobidia"}\r
         XK{"Kosovo"}\r
         YE{"Yemen"}\r
         YT{"Mayotte"}\r
@@ -306,10 +307,9 @@ eu{
     Countries%variant{\r
         CD{"Kongo (DR)"}\r
         CG{"Kongoko Errepublika"}\r
-        CI{"CI"}\r
+        CI{"C¨ôte d’Ivore"}\r
         CZ{"Txekiar Errepublika"}\r
         FK{"Falklandak (Malvinak)"}\r
-        TL{"TL"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 47cb110..feb020d 100644 (file)
@@ -226,5 +226,5 @@ ewo{
         ZM{"Zambí"}\r
         ZW{"Zimbabwé"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index abea47f..58b54ce 100644 (file)
@@ -287,6 +287,7 @@ fa{
         VU{"وانواتو"}\r
         WF{"والیس و فوتونا"}\r
         WS{"ساموآ"}\r
+        XA{"انگلیسی با لهجه خارجی"}\r
         XB{"مجازی - دوجهته"}\r
         XK{"کوزوو"}\r
         YE{"یمن"}\r
@@ -297,13 +298,11 @@ fa{
         ZZ{"ناحیهٔ نامشخص"}\r
     }\r
     Countries%short{\r
-        GB{"بریتانیا"}\r
         HK{"هنگ‌کنگ"}\r
         MO{"ماکائو"}\r
         PS{"فلسطین"}\r
         SA{"عربستان"}\r
         UN{"سازمان ملل"}\r
-        US{"ایالات متحده"}\r
     }\r
     Countries%variant{\r
         CD{"کنگو (جمهوری دموکراتیک)"}\r
@@ -313,5 +312,5 @@ fa{
         SZ{"سوازیلند"}\r
         TL{"تیمور شرقی"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a95f02d..864864d 100644 (file)
@@ -95,5 +95,5 @@ fa_AF{
     Countries%short{\r
         HK{"هانگ کانگ"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index dad1494..a5c2f75 100644 (file)
@@ -226,5 +226,5 @@ ff{
         ZM{"Sammbi"}\r
         ZW{"Simbaabuwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/region/ff_Adlm.txt b/source/data/region/ff_Adlm.txt
new file mode 100644 (file)
index 0000000..1e365a6
--- /dev/null
@@ -0,0 +1,95 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff_Adlm{\r
+    %%Parent{"root"}\r
+    Countries{\r
+        001{"𞤀𞤣𞤵𞤲𞤢"}\r
+        002{"𞤀𞤬𞤪𞤭𞤳"}\r
+        009{"𞤌𞤧𞤭𞤴𞤢𞤲𞤭𞥅"}\r
+        019{"𞤀𞤥𞤫𞤪𞤭𞤳"}\r
+        142{"𞤀𞥄𞤧𞤭𞤴𞤢"}\r
+        150{"𞤓𞤪𞤮𞤨𞥆𞤢"}\r
+        AO{"𞤀𞤲𞤺𞤮𞤤𞤢𞥄"}\r
+        BF{"𞤄𞤵𞤪𞤳𞤭𞤲𞤢 𞤊𞤢𞤧𞤮𞥅"}\r
+        BI{"𞤄𞤵𞤪𞤵𞤲𞤣𞤭"}\r
+        BJ{"𞤄𞤫𞤲𞤫𞤲"}\r
+        BW{"‮𞤄𞤮𞤼𞤧𞤵𞤱𞤢𞥄𞤲𞤢"}\r
+        CA{"𞤑𞤢𞤲𞤢𞤣𞤢𞥄"}\r
+        CD{"𞤑𞤮𞤲𞤺𞤮 - 𞤑𞤭𞤲𞤧𞤢𞤧𞤢"}\r
+        CF{"𞤀𞤬𞤪𞤭𞤳𞤭 𞤚𞤵𞤥𞤦𞤮𞥅𞤪𞤭"}\r
+        CG{"𞤑𞤮𞤲𞤺𞤮 - 𞤄𞤪𞤢𞥁𞤢𞤾𞤭𞤤"}\r
+        CI{"𞤑𞤮𞤼𞤣𞤭𞤾𞤢𞥄𞤪"}\r
+        CM{"𞤑𞤢𞤥𞤢𞤪𞤵𞥅𞤲"}\r
+        CV{"𞤑𞤢𞥄𞤦𞤮 𞤜𞤫𞤪𞤣𞤫"}\r
+        DJ{"𞤔𞤭𞤦𞤵𞥅𞤼𞤭"}\r
+        DZ{"𞤀𞤤𞤶𞤢𞤪𞤭𞥅"}\r
+        EA{"𞤅𞤭𞤼𞥆𞤢 & 𞤃𞤫𞤤𞤭𞤤𞤢"}\r
+        EG{"𞤃𞤭𞤧𞤭𞤪𞤢"}\r
+        EH{"𞤅𞤢𞥄𞤸𞤢𞤪𞤢 𞤖𞤭𞥅𞤲𞤢𞥄𞤪𞤭"}\r
+        ER{"𞤉𞤪𞤭𞥅𞤼𞤫𞤪𞤫"}\r
+        ES{"𞤋𞤧𞤨𞤢𞤲𞤭𞤴𞤢"}\r
+        ET{"𞤀𞤦𞤢𞤧𞤭𞤲𞤭𞥅"}\r
+        EU{"𞤑𞤢𞤱𞤼𞤢𞤤 𞤓𞤪𞤮𞤨𞥆𞤢"}\r
+        EZ{"𞤊𞤭𞤪𞤤𞤢 𞤓𞤪𞤮𞥅"}\r
+        FR{"𞤊𞤢𞤪𞤢𞤲𞤧𞤭"}\r
+        GA{"𞤘𞤢𞤦𞤮𞤲"}\r
+        GG{"𞤘𞤢𞤴𞤪𞤢𞤲𞤧𞤭𞥅"}\r
+        GH{"𞤘𞤢𞤲𞤢"}\r
+        GI{"𞤔𞤭𞤦𞤪𞤢𞤤𞤼𞤢𞥄"}\r
+        GM{"𞤘𞤢𞤥𞤦𞤭𞤴𞤢"}\r
+        GN{"𞤘𞤭𞤲𞤫"}\r
+        GQ{"𞤘𞤭𞤲𞤫 𞤕𞤢𞤳𞤢𞤲𞤼𞤫𞥅𞤪𞤭"}\r
+        GW{"𞤘𞤭𞤲𞤫-𞤄𞤭𞤧𞤢𞤱𞤮𞥅"}\r
+        IC{"𞤅𞤵𞤪𞤭𞥅𞤪𞤫-𞤑𞤢𞤲𞤢𞤪𞤭𞥅"}\r
+        IO{"𞤚𞤵𞤥𞤦𞤫𞤪𞤫 𞤄𞤪𞤭𞤼𞤢𞤲𞤭𞤲𞤳𞤮𞥅𞤪𞤫 𞤀𞤬𞤪𞤭𞤳𞤭"}\r
+        KE{"𞤑𞤫𞤲𞤭𞤴𞤢𞥄"}\r
+        KM{"𞤑𞤮𞤥𞤮𞥅𞤪𞤮"}\r
+        LR{"𞤂𞤢𞤦𞤭𞤪𞤭𞤴𞤢𞥄"}\r
+        LS{"𞤂𞤫𞤧𞤮𞤼𞤮𞥅"}\r
+        LY{"𞤂𞤭𞤦𞤭𞤴𞤢𞥄"}\r
+        MA{"𞤃𞤢𞤪𞤮𞥅𞤳"}\r
+        MC{"𞤃𞤮𞤲𞤢𞤳𞤮𞥅"}\r
+        MG{"𞤃𞤢𞤣𞤢𞤺𞤢𞤧𞤳𞤢𞥄𞤪"}\r
+        ML{"𞤃𞤢𞥄𞤤𞤭"}\r
+        MR{"𞤃𞤮𞤪𞤼𞤢𞤲𞤭𞥅"}\r
+        MU{"𞤃𞤮𞤪𞤭𞥅𞤧𞤭"}\r
+        MW{"𞤃𞤢𞤤𞤢𞤱𞤭𞥅"}\r
+        MZ{"𞤃𞤮𞤧𞤢𞤥𞤦𞤭𞥅𞤳"}\r
+        NA{"𞤐𞤢𞤥𞤭𞥅𞤦𞤭𞤴𞤢𞥄"}\r
+        NE{"𞤐𞤭𞥅𞤶𞤫𞤪"}\r
+        NG{"𞤐𞤢𞤶𞤫𞤪𞤭𞤴𞤢𞥄"}\r
+        PL{"𞤆𞤮𞤤𞤢𞤲𞤣"}\r
+        RE{"𞤈𞤫𞥅𞤲𞤭𞤴𞤮𞤲"}\r
+        RW{"𞤈𞤵𞤱𞤢𞤲𞤣𞤢𞥄"}\r
+        SC{"𞤅𞤫𞤴𞤭𞤧𞤫𞤤"}\r
+        SD{"𞤅𞤵𞤣𞤢𞥄𞤲"}\r
+        SH{"𞤅𞤫𞤲-𞤖𞤫𞤤𞤫𞤲𞤢𞥄"}\r
+        SL{"𞤅𞤢𞤪𞤢𞤤𞤮𞤲"}\r
+        SN{"𞤅𞤫𞤲𞤫𞤺𞤢𞥄𞤤"}\r
+        SO{"𞤅𞤵𞥅𞤥𞤢𞥄𞤤𞤭"}\r
+        SS{"𞤅𞤵𞤣𞤢𞥄𞤲 𞤂𞤫𞤧𞤤𞤫𞤴𞤪𞤭"}\r
+        ST{"𞤅𞤢𞤱𞤵 𞤚𞤵𞤥𞤫𞥅 & 𞤆𞤫𞤪𞤫𞤲𞤧𞤭𞤨𞤫"}\r
+        SZ{"𞤉𞤧𞤱𞤢𞤼𞤭𞤲𞤭"}\r
+        TD{"𞤕𞤢𞥄𞤣"}\r
+        TF{"𞤚𞤵𞤥𞤦𞤫 𞤂𞤫𞤧𞤤𞤫𞤴𞤶𞤫 𞤊𞤪𞤢𞤲𞤧𞤭"}\r
+        TG{"𞤚𞤮𞤺𞤮"}\r
+        TN{"𞤚𞤵𞤲𞤭𞥅𞤧𞤢"}\r
+        TZ{"𞤚𞤢𞤲𞤧𞤢𞤲𞤭𞥅"}\r
+        UG{"𞤓𞤺𞤢𞤲𞤣𞤢𞥄"}\r
+        UN{"𞤑𞤢𞤱𞤼𞤢𞤤 𞤘𞤫𞤲𞤣𞤭𞥅𞤶𞤭 𞤀𞤣𞤵𞤲𞤢"}\r
+        YT{"𞤃𞤢𞤴𞤮𞥅𞤼𞤵"}\r
+        ZA{"𞤀𞤬𞤪𞤭𞤳𞤢 𞤂𞤫𞤧𞤤𞤫𞤴𞤪𞤭"}\r
+        ZM{"𞤟𞤢𞤥𞤦𞤭𞤴𞤢"}\r
+        ZW{"𞤟𞤭𞤥𞤦𞤢𞥄𞤥𞤵𞤴𞤢"}\r
+        ZZ{"𞤂𞤢𞤪𞤢𞤤 𞤀𞤧-𞤢𞤲𞤣𞤢𞥄𞤲𞤺𞤢𞤤"}\r
+    }\r
+    Countries%short{\r
+        US{"𞤁𞤂𞤀"}\r
+    }\r
+    Countries%variant{\r
+        CD{"𞤐𞤣𞤫𞤲𞤣𞤭 𞤁𞤫𞤥𞤮𞤳𞤪𞤢𞥄𞤳𞤵 𞤑𞤮𞤲𞤺𞤮"}\r
+        CG{"𞤐𞤣𞤫𞤲𞤣𞤭 𞤑𞤮𞤲𞤺𞤮"}\r
+        SZ{"𞤅𞤵𞤱𞤢𞥄𞤧𞤭𞤤𞤫𞤴𞤣𞤭"}\r
+    }\r
+    Version{"37"}\r
+}\r
index cd674cd..36cf8a0 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ff_Latn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9b61806..d2f97bd 100644 (file)
@@ -287,6 +287,8 @@ fi{
         VU{"Vanuatu"}\r
         WF{"Wallis ja Futuna"}\r
         WS{"Samoa"}\r
+        XA{"pseudoaksentit"}\r
+        XB{"kaksisuuntainen pseudo"}\r
         XK{"Kosovo"}\r
         YE{"Jemen"}\r
         YT{"Mayotte"}\r
@@ -312,5 +314,5 @@ fi{
         SZ{"Eswatini"}\r
         TL{"Timor-Leste"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 00a9c88..8617ebd 100644 (file)
@@ -311,8 +311,7 @@ fil{
         CI{"Ivory Coast"}\r
         CZ{"Czech Republic"}\r
         FK{"Falkland Islands (Islas Malvinas)"}\r
-        SZ{"Swaziland"}\r
         TL{"East Timor"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ee08667..daeab3c 100644 (file)
@@ -304,13 +304,8 @@ fo{
         US{"USA"}\r
     }\r
     Countries%variant{\r
-        CD{"Kongo, Dem. Lýðveldið"}\r
-        CG{"Kongo"}\r
-        CI{"Fílabeinsstrondin"}\r
-        CZ{"Kekkia"}\r
         FK{"Falklandsoyggjar (Islas Malvinas)"}\r
         SZ{"Svasiland"}\r
-        TL{"Eysturtimor"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d88deb7..5042427 100644 (file)
@@ -314,5 +314,5 @@ fr{
         SZ{"Swaziland"}\r
         TL{"Timor-Oriental"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ac70352..14251af 100644 (file)
@@ -5,5 +5,5 @@ fr_BE{
         BN{"Brunei"}\r
         GS{"Îles Géorgie du Sud et Sandwich du Sud"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0485628..9218346 100644 (file)
@@ -43,5 +43,5 @@ fr_CA{
         FK{"îles Falkland (Malouines)"}\r
         TL{"Timor oriental"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 485a9b2..ba21a80 100644 (file)
@@ -294,5 +294,5 @@ fur{
         CG{"Congo (Republiche)"}\r
         FK{"Isulis Falkland (Isulis Malvinas)"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a73f758..9106758 100644 (file)
@@ -303,5 +303,5 @@ fy{
         CG{"Congo (Republyk)"}\r
         FK{"Falklâneilannen (Islas Malvinas)"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 064d68e..4edf533 100644 (file)
@@ -312,7 +312,6 @@ ga{
         CZ{"Poblacht na Seice"}\r
         FK{"Oileáin Fháclainne (Islas Malvinas)"}\r
         SZ{"an tSuasalainn"}\r
-        TL{"TL"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index da14172..10ba774 100644 (file)
@@ -313,5 +313,5 @@ gd{
         SZ{"Dùthaich nan Suasaidh"}\r
         TL{"Tìomor an Ear"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b7feb67..f19f3f2 100644 (file)
@@ -312,7 +312,6 @@ gl{
         CZ{"República Checa"}\r
         FK{"Illas Malvinas (Falkland)"}\r
         SZ{"Suacilandia"}\r
-        TL{"TL"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 63a73a9..d9f01cc 100644 (file)
@@ -284,5 +284,5 @@ gsw{
         HK{"Hongkong"}\r
         MO{"Macao"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a0a664a..3c036e6 100644 (file)
@@ -314,5 +314,5 @@ gu{
         SZ{"સ્વાઝીલેન્ડ"}\r
         TL{"પૂર્વ તિમોર"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 56351f7..cf3faf1 100644 (file)
@@ -226,5 +226,5 @@ guz{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6692630..6d5e543 100644 (file)
@@ -5,5 +5,5 @@ gv{
         GB{"Rywvaneth Unys"}\r
         IM{"Ellan Vannin"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 829f9af..5a6157e 100644 (file)
@@ -20,6 +20,10 @@ ha{
         034{"kudancin Asiya"}\r
         035{"Kudu Maso Gabashin Asiya"}\r
         039{"Kudancin Turai"}\r
+        053{"Tsibarai na Austraila da New Zealand da maƙota"}\r
+        054{"Tsibirai na New Guinea da Fiji da maƙota"}\r
+        057{"Yankin Micronesia"}\r
+        061{"tsibiri"}\r
         142{"Asiya"}\r
         143{"Asiya ta Tsakiya"}\r
         145{"Yammacin Asiya"}\r
@@ -29,6 +33,7 @@ ha{
         155{"Yammacin Turai"}\r
         202{"Sub-Saharan Africa"}\r
         419{"Latin America"}\r
+        AC{"Tsibirin Ascension"}\r
         AD{"Andora"}\r
         AE{"Haɗaɗɗiyar Daular Larabawa"}\r
         AF{"Afaganistan"}\r
@@ -43,6 +48,7 @@ ha{
         AT{"Ostiriya"}\r
         AU{"Ostareliya"}\r
         AW{"Aruba"}\r
+        AX{"Tsibirai na Åland"}\r
         AZ{"Azarbaijan"}\r
         BA{"Bosniya Harzagobina"}\r
         BB{"Barbadas"}\r
@@ -61,6 +67,7 @@ ha{
         BR{"Birazil"}\r
         BS{"Bahamas"}\r
         BT{"Butan"}\r
+        BV{"Tsibirin Bouvet"}\r
         BW{"Baswana"}\r
         BY{"Belarus"}\r
         BZ{"Beliz"}\r
@@ -76,6 +83,7 @@ ha{
         CM{"Kamaru"}\r
         CN{"Sin"}\r
         CO{"Kolambiya"}\r
+        CP{"Tsibirin Clipperton"}\r
         CR{"Kwasta Rika"}\r
         CU{"Kyuba"}\r
         CV{"Tsibiran Kap Barde"}\r
@@ -84,14 +92,17 @@ ha{
         CY{"Sifurus"}\r
         CZ{"Jamhuriyar Cak"}\r
         DE{"Jamus"}\r
+        DG{"Tsibirn Diego Garcia"}\r
         DJ{"Jibuti"}\r
         DK{"Danmark"}\r
         DM{"Dominika"}\r
         DO{"Jamhuriyar Dominika"}\r
         DZ{"Aljeriya"}\r
+        EA{"Ceuta & Melilla"}\r
         EC{"Ekwador"}\r
         EE{"Estoniya"}\r
         EG{"Misira"}\r
+        EH{"Yammacin Sahara"}\r
         ER{"Eritireya"}\r
         ES{"Sipen"}\r
         ET{"Habasha"}\r
@@ -101,12 +112,14 @@ ha{
         FJ{"Fiji"}\r
         FK{"Tsibiran Falkilan"}\r
         FM{"Mikuronesiya"}\r
+        FO{"Tsibirai na Faroe"}\r
         FR{"Faransa"}\r
         GA{"Gabon"}\r
         GB{"Biritaniya"}\r
         GD{"Girnada"}\r
         GE{"Jiwarjiya"}\r
         GF{"Gini Ta Faransa"}\r
+        GG{"Yankin Guernsey"}\r
         GH{"Gana"}\r
         GI{"Jibaraltar"}\r
         GL{"Grinlan"}\r
@@ -115,23 +128,29 @@ ha{
         GP{"Gwadaluf"}\r
         GQ{"Gini Ta Ikwaita"}\r
         GR{"Girka"}\r
+        GS{"Kudancin Geogia da Kudancin Tsibirin Sandiwic"}\r
         GT{"Gwatamala"}\r
         GU{"Gwam"}\r
         GW{"Gini Bisau"}\r
         GY{"Guyana"}\r
+        HK{"Hong Kong Babban Birnin Kasar Chana"}\r
+        HM{"Tsibirin Heard da McDonald"}\r
         HN{"Honduras"}\r
         HR{"Kurowaishiya"}\r
         HT{"Haiti"}\r
         HU{"Hungari"}\r
+        IC{"Canary Islands"}\r
         ID{"Indunusiya"}\r
         IE{"Ayalan"}\r
         IL{"Iziraʼila"}\r
+        IM{"Isle na Mutum"}\r
         IN{"Indiya"}\r
         IO{"Yankin Birtaniya Na Tekun Indiya"}\r
         IQ{"Iraƙi"}\r
         IR{"Iran"}\r
         IS{"Aisalan"}\r
         IT{"Italiya"}\r
+        JE{"Kasar Jersey"}\r
         JM{"Jamaika"}\r
         JO{"Jordan"}\r
         JP{"Jàpân"}\r
@@ -168,6 +187,7 @@ ha{
         ML{"Mali"}\r
         MM{"Burma, Miyamar"}\r
         MN{"Mangoliya"}\r
+        MO{"Babban Birnin Mulki na Chana"}\r
         MP{"Tsibiran Mariyana Na Arewa"}\r
         MQ{"Martinik"}\r
         MR{"Moritaniya"}\r
@@ -207,6 +227,7 @@ ha{
         PW{"Palau"}\r
         PY{"Faragwai"}\r
         QA{"Katar"}\r
+        QO{"Bakin Teku"}\r
         RE{"Rawuniyan"}\r
         RO{"Romaniya"}\r
         RS{"Sabiya"}\r
@@ -220,6 +241,7 @@ ha{
         SG{"Singapur"}\r
         SH{"San Helena"}\r
         SI{"Sulobeniya"}\r
+        SJ{"Svalbard da Jan Mayen"}\r
         SK{"Sulobakiya"}\r
         SL{"Salewo"}\r
         SM{"San Marino"}\r
@@ -251,6 +273,7 @@ ha{
         TZ{"Tanzaniya"}\r
         UA{"Yukaran"}\r
         UG{"Yuganda"}\r
+        UM{"Rukunin Tsibirin U.S"}\r
         UN{"Majalisar Dinkin Duniya"}\r
         US{"Amurka"}\r
         UY{"Yurigwai"}\r
@@ -264,6 +287,9 @@ ha{
         VU{"Banuwatu"}\r
         WF{"Walis Da Futuna"}\r
         WS{"Samoa"}\r
+        XA{"Gogewar Kwalwa"}\r
+        XB{"Gano wani abu ta hanyar amfani da fasaha"}\r
+        XK{"Kasar Kosovo"}\r
         YE{"Yamal"}\r
         YT{"Mayoti"}\r
         ZA{"Afirka Ta Kudu"}\r
@@ -271,13 +297,9 @@ ha{
         ZW{"Zimbabuwe"}\r
         ZZ{"Yanki da ba a sani ba"}\r
     }\r
-    Countries%short{\r
-        PS{"Palasɗinu"}\r
-    }\r
     Countries%variant{\r
         CD{"Kongo (DRC)"}\r
         CG{"Jamhuriyar Kongo"}\r
-        CI{"Aibari Kwas"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5bb3e56..b5828f9 100644 (file)
@@ -23,5 +23,5 @@ haw{
         RU{"Lūkia"}\r
         US{"ʻAmelika Hui Pū ʻIa"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1510cd5..b1e5fbd 100644 (file)
@@ -298,7 +298,6 @@ he{
         ZZ{"אזור לא ידוע"}\r
     }\r
     Countries%short{\r
-        GB{"בריטניה"}\r
         HK{"הונג קונג"}\r
         MO{"מקאו"}\r
         PS{"פלסטין"}\r
@@ -313,5 +312,5 @@ he{
         SZ{"סווזילנד"}\r
         TL{"מזרח טימור"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 32fb406..a169578 100644 (file)
@@ -302,7 +302,6 @@ hi{
         HK{"हाँग काँग"}\r
         MO{"मकाऊ"}\r
         PS{"फ़िलिस्तीन"}\r
-        UN{"संयुक्त राष्ट्र"}\r
         US{"अमेरिका"}\r
     }\r
     Countries%variant{\r
@@ -311,8 +310,7 @@ hi{
         CI{"आइवरी कोस्ट"}\r
         CZ{"चेक गणराज्य"}\r
         FK{"फ़ॉकलैंड द्वीपसमूह (इज़्लास माल्विनास)"}\r
-        SZ{"स्वाज़ीलैंड"}\r
         TL{"पूर्वी तिमोर"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1ed0669..75de41e 100644 (file)
@@ -314,5 +314,5 @@ hr{
         SZ{"Svazi"}\r
         TL{"Istočni Timor"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 82838ca..ac8d90b 100644 (file)
@@ -305,5 +305,5 @@ hsb{
         FK{"Falklandske kupy (Malwiny)"}\r
         TL{"Wuchodny Timor"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b6c4bd0..e4b5932 100644 (file)
@@ -313,5 +313,5 @@ hu{
         SZ{"Eswatini"}\r
         TL{"Timor-Leste"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index dca06a0..986d28c 100644 (file)
@@ -314,5 +314,5 @@ hy{
         SZ{"Սվազիլենդ"}\r
         TL{"Արևելյան Թիմոր"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3393d99..da29ab0 100644 (file)
@@ -243,5 +243,5 @@ ia{
     Countries%variant{\r
         CZ{"Republica Chec"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1ce1e11..047ac81 100644 (file)
@@ -308,11 +308,10 @@ id{
     Countries%variant{\r
         CD{"Kongo (RDK)"}\r
         CG{"Kongo (Republik)"}\r
-        CI{"Côte d’Ivoire"}\r
         CZ{"Republik Ceko"}\r
         FK{"Kepulauan Falkland (Malvinas)"}\r
         SZ{"Swaziland"}\r
         TL{"Timor Timur"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 041d290..e3d853c 100644 (file)
@@ -35,9 +35,12 @@ ig{
         419{"Latin America"}\r
         AC{"Ascension Island"}\r
         AD{"Andorra"}\r
+        AE{"Obodo United Arab Emirates"}\r
+        AF{"Mba Afghanistan"}\r
         AG{"Antigua & Barbuda"}\r
         AI{"Anguilla"}\r
         AL{"Albania"}\r
+        AM{"Obodo Armenia"}\r
         AO{"Angola"}\r
         AQ{"Antarctica"}\r
         AR{"Argentina"}\r
@@ -46,19 +49,24 @@ ig{
         AU{"Australia"}\r
         AW{"Aruba"}\r
         AX{"Agwaetiti Aland"}\r
+        AZ{"Obodo Azerbaijan"}\r
         BA{"Bosnia & Herzegovina"}\r
         BB{"Barbados"}\r
+        BD{"Obodo Bangladesh"}\r
         BE{"Belgium"}\r
         BF{"Burkina Faso"}\r
         BG{"Bulgaria"}\r
+        BH{"Obodo Bahrain"}\r
         BI{"Burundi"}\r
         BJ{"Binin"}\r
         BL{"St. Barthélemy"}\r
         BM{"Bemuda"}\r
+        BN{"Brunei"}\r
         BO{"Bolivia"}\r
         BQ{"Caribbean Netherlands"}\r
         BR{"Mba Brazil"}\r
         BS{"Bahamas"}\r
+        BT{"Obodo Bhutan"}\r
         BV{"Agwaetiti Bouvet"}\r
         BW{"Botswana"}\r
         BY{"Belarus"}\r
@@ -81,6 +89,7 @@ ig{
         CV{"Cape Verde"}\r
         CW{"Kurakao"}\r
         CX{"Agwaetiti Christmas"}\r
+        CY{"Obodo Cyprus"}\r
         CZ{"Czechia"}\r
         DE{"Mba Germany"}\r
         DG{"Diego Garcia"}\r
@@ -97,6 +106,8 @@ ig{
         ER{"Eritrea"}\r
         ES{"Spain"}\r
         ET{"Ethiopia"}\r
+        EU{"Otu nzukọ mba Europe"}\r
+        EZ{"Gburugburu Euro"}\r
         FI{"Finland"}\r
         FJ{"Fiji"}\r
         FK{"Agwaetiti Falkland"}\r
@@ -106,6 +117,7 @@ ig{
         GA{"Gabon"}\r
         GB{"Mba United Kingdom"}\r
         GD{"Grenada"}\r
+        GE{"Obodo Georgia"}\r
         GF{"Frenchi Guiana"}\r
         GG{"Guernsey"}\r
         GH{"Ghana"}\r
@@ -121,28 +133,43 @@ ig{
         GU{"Guam"}\r
         GW{"Guinea-Bissau"}\r
         GY{"Guyana"}\r
+        HK{"Honk Kong mba nwere ndozi pụrụ iche n’obodo China"}\r
         HM{"Agwaetiti Heard na Agwaetiti McDonald"}\r
         HN{"Honduras"}\r
         HR{"Croatia"}\r
         HT{"Hati"}\r
         HU{"Hungary"}\r
         IC{"Agwaetiti Kanarị"}\r
+        ID{"Indonesia"}\r
         IE{"Ireland"}\r
+        IL{"Obodo Israel"}\r
         IM{"Isle of Man"}\r
         IN{"Mba India"}\r
         IO{"British Indian Ocean Territory"}\r
+        IQ{"Obodo Iraq"}\r
+        IR{"Obodo Iran"}\r
         IS{"Iceland"}\r
         IT{"Mba Italy"}\r
         JE{"Jersey"}\r
         JM{"Jamaika"}\r
+        JO{"Obodo Jordan"}\r
         JP{"Mba Japan"}\r
         KE{"Kenya"}\r
+        KG{"Obodo Kyrgyzstan"}\r
+        KH{"Cambodia"}\r
         KI{"Kiribati"}\r
         KM{"Comorosu"}\r
         KN{"St. Kitts & Nevis"}\r
+        KP{"Mba Ugwu Korea"}\r
+        KR{"Mba South Korea"}\r
+        KW{"Obodo Kuwait"}\r
         KY{"Agwaetiti Cayman"}\r
+        KZ{"Obodo Kazakhstan"}\r
+        LA{"Laos"}\r
+        LB{"Obodo Lebanon"}\r
         LC{"St. Lucia"}\r
         LI{"Liechtenstein"}\r
+        LK{"Obodo Sri Lanka"}\r
         LR{"Liberia"}\r
         LS{"Lesotho"}\r
         LT{"Lithuania"}\r
@@ -158,6 +185,9 @@ ig{
         MH{"Agwaetiti Marshall"}\r
         MK{"North Macedonia"}\r
         ML{"Mali"}\r
+        MM{"Myanmar (Burma)"}\r
+        MN{"Obodo Mongolia"}\r
+        MO{"Obodo Macao nwere ndozi pụrụ iche na mba China"}\r
         MP{"Agwaetiti Northern Mariana"}\r
         MQ{"Martinique"}\r
         MR{"Mauritania"}\r
@@ -167,6 +197,7 @@ ig{
         MV{"Maldivesa"}\r
         MW{"Malawi"}\r
         MX{"Mexico"}\r
+        MY{"Malaysia"}\r
         MZ{"Mozambik"}\r
         NA{"Namibia"}\r
         NC{"New Caledonia"}\r
@@ -176,27 +207,33 @@ ig{
         NI{"Nicaragua"}\r
         NL{"Netherlands"}\r
         NO{"Norway"}\r
+        NP{"Obodo Nepal"}\r
         NR{"Nauru"}\r
         NU{"Niue"}\r
         NZ{"New Zealand"}\r
+        OM{"Obodo Oman"}\r
         PA{"Panama"}\r
         PE{"Peru"}\r
         PF{"Frenchi Polynesia"}\r
         PG{"Papua New Guinea"}\r
         PH{"Philippines"}\r
+        PK{"Obodo Pakistan"}\r
         PL{"Poland"}\r
         PM{"St. Pierre & Miquelon"}\r
         PN{"Agwaetiti Pitcairn"}\r
         PR{"Puerto Rico"}\r
+        PS{"Obodo dị iche iche dị n’okpuru mba Palestine"}\r
         PT{"Portugal"}\r
         PW{"Palau"}\r
         PY{"Paraguay"}\r
+        QA{"Obodo Qatar"}\r
         QO{"Outlying Oceania"}\r
         RE{"Réunion"}\r
         RO{"Romania"}\r
         RS{"Serbia"}\r
         RU{"Mba Russia"}\r
         RW{"Rwanda"}\r
+        SA{"Obodo Saudi Arabia"}\r
         SB{"Agwaetiti Solomon"}\r
         SC{"Seychelles"}\r
         SD{"Sudan"}\r
@@ -215,6 +252,7 @@ ig{
         ST{"São Tomé & Príncipe"}\r
         SV{"El Salvador"}\r
         SX{"Sint Maarten"}\r
+        SY{"Obodo Syria"}\r
         SZ{"Eswatini"}\r
         TA{"Tristan da Cunha"}\r
         TC{"Agwaetiti Turks na Caicos"}\r
@@ -222,12 +260,16 @@ ig{
         TF{"Ụmụ ngalaba Frenchi Southern"}\r
         TG{"Togo"}\r
         TH{"Thailand"}\r
+        TJ{"Obodo Tajikistan"}\r
         TK{"Tokelau"}\r
         TL{"Timor-Leste"}\r
+        TM{"Obodo Turkmenistan"}\r
         TN{"Tunisia"}\r
         TO{"Tonga"}\r
+        TR{"Obodo Turkey"}\r
         TT{"Trinidad & Tobago"}\r
         TV{"Tuvalu"}\r
+        TW{"Obodo Taiwan"}\r
         TZ{"Tanzania"}\r
         UA{"Ukraine"}\r
         UG{"Uganda"}\r
@@ -235,6 +277,7 @@ ig{
         UN{"Mba Ụwa Jikọrọ Ọnụ"}\r
         US{"Mba United States"}\r
         UY{"Uruguay"}\r
+        UZ{"Obodo Uzbekistan"}\r
         VA{"Vatican City"}\r
         VC{"St. Vincent & Grenadines"}\r
         VE{"Venezuela"}\r
@@ -247,6 +290,7 @@ ig{
         XA{"Pseudo-Accents"}\r
         XB{"Pseudo-Bidi"}\r
         XK{"Kosovo"}\r
+        YE{"Obodo Yemen"}\r
         YT{"Mayotte"}\r
         ZA{"South Africa"}\r
         ZM{"Zambia"}\r
@@ -261,9 +305,8 @@ ig{
         CG{"Congo (Republik)"}\r
         CI{"Ivory Coast"}\r
         CZ{"Czech Republik"}\r
-        FK{"Agwaetiti Falkland"}\r
         SZ{"Swaziland"}\r
         TL{"East Timor"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 40bbe50..3a55235 100644 (file)
@@ -14,5 +14,5 @@ ii{
         US{"ꂰꇩ"}\r
         ZZ{"ꃅꄷꅉꀋꐚꌠ"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 442a15b..bf01077 100644 (file)
@@ -298,7 +298,6 @@ is{
         ZZ{"Óþekkt svæði"}\r
     }\r
     Countries%short{\r
-        GB{"Bretland"}\r
         HK{"Hong Kong"}\r
         MO{"Makaó"}\r
         PS{"Palestína"}\r
@@ -308,11 +307,8 @@ is{
     Countries%variant{\r
         CD{"Kongó (Lýðstjórnarlýðveldið)"}\r
         CG{"Kongó (Lýðveldið)"}\r
-        CI{"Fílabeinsströndin"}\r
-        CZ{"Tékkland"}\r
         FK{"Falklandseyjar (Malvinas)"}\r
-        SZ{"Svasíland"}\r
         TL{"Austur-Tímor"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0e7d310..5057a0e 100644 (file)
@@ -312,7 +312,6 @@ it{
         CZ{"Repubblica Ceca"}\r
         FK{"Isole Falkland (Isole Malvine)"}\r
         SZ{"Regno di eSwatini"}\r
-        TL{"Timor Est"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b139285..434fd25 100644 (file)
@@ -314,5 +314,5 @@ ja{
         SZ{"スワジランド"}\r
         TL{"東チモール"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/region/ja_JP.txt b/source/data/region/ja_JP.txt
deleted file mode 100644 (file)
index 093ed5b..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-// © 2016 and later: Unicode, Inc. and others.\r
-// License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * generated alias target\r
- */\r
-ja_JP{\r
-    ___{""}\r
-}\r
diff --git a/source/data/region/ja_JP_TRADITIONAL.txt b/source/data/region/ja_JP_TRADITIONAL.txt
deleted file mode 100644 (file)
index b3821f3..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-// © 2016 and later: Unicode, Inc. and others.\r
-// License & terms of use: http://www.unicode.org/copyright.html#License\r
-ja_JP_TRADITIONAL{\r
-    calendar{\r
-        default{"japanese"}\r
-    }\r
-}\r
index a87b738..efd1237 100644 (file)
@@ -85,5 +85,5 @@ jgo{
         ZW{"Zimbámbwɛ"}\r
         ZZ{"ŋgɔŋ yi pɛ́ ká kɛ́ jʉɔ"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6101db2..a6e33d8 100644 (file)
@@ -226,5 +226,5 @@ jmc{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0020f4d..841ac52 100644 (file)
@@ -305,5 +305,5 @@ jv{
         SZ{"(Swasiland)"}\r
         TL{"Timor Wétan"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ff62455..05271dd 100644 (file)
@@ -302,7 +302,6 @@ ka{
         HK{"ჰონკონგი"}\r
         MO{"მაკაო"}\r
         PS{"პალესტინა"}\r
-        UN{"გაერო"}\r
         US{"აშშ"}\r
     }\r
     Countries%variant{\r
@@ -314,5 +313,5 @@ ka{
         SZ{"სვაზილანდი"}\r
         TL{"აღმოსავლეთ ტიმორი"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4057e8c..cd338bb 100644 (file)
@@ -226,5 +226,5 @@ kab{
         ZM{"Zambya"}\r
         ZW{"Zimbabwi"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 76c0429..d7c30dc 100644 (file)
@@ -226,5 +226,5 @@ kam{
         ZM{"Nzambia"}\r
         ZW{"Nzimbambwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8d47a38..1d11dff 100644 (file)
@@ -226,5 +226,5 @@ kde{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e8afe41..ef62331 100644 (file)
@@ -313,5 +313,5 @@ kea{
         SZ{"Suazilándia"}\r
         TL{"Timor-Leste"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 14b7aa2..6c3e311 100644 (file)
@@ -226,5 +226,5 @@ khq{
         ZM{"Zambi"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 98ab5bd..8812cd0 100644 (file)
@@ -226,5 +226,5 @@ ki{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 017540a..034a334 100644 (file)
@@ -298,7 +298,6 @@ kk{
         ZZ{"Белгісіз аймақ"}\r
     }\r
     Countries%short{\r
-        GB{"Ұлыбритания"}\r
         HK{"Сянган"}\r
         MO{"Макао"}\r
         PS{"Палестина"}\r
@@ -308,11 +307,9 @@ kk{
     Countries%variant{\r
         CD{"Конго Демократиялық Республикасы"}\r
         CG{"Конго Республикасы"}\r
-        CI{"Кот-д’Ивуар"}\r
         CZ{"Чех Республикасы"}\r
         FK{"Фолкленд аралдары (Мальвин аралдары)"}\r
-        SZ{"Свазиленд"}\r
         TL{"Шығыс Тимор"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1ed6215..c013def 100644 (file)
@@ -4,5 +4,5 @@ kkj{
     Countries{\r
         CM{"Kamɛrun"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index dc4c073..b1594bd 100644 (file)
@@ -4,5 +4,5 @@ kl{
     Countries{\r
         GL{"Kalaallit Nunaat"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7918afd..fd320bd 100644 (file)
@@ -226,5 +226,5 @@ kln{
         ZM{"Emetab Zambia"}\r
         ZW{"Emetab Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7b9f0e3..3b3ef22 100644 (file)
@@ -311,8 +311,7 @@ km{
         CI{"អាយវ៉ូរី ខូសថ៍"}\r
         CZ{"សាធារណរដ្ឋឆេក"}\r
         FK{"កោះ​ហ្វក់ឡែន (ម៉ាវីណាស)"}\r
-        SZ{"ស្វាស៊ីឡង់"}\r
         TL{"ទីម័រ​ខាង​កើត"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 64cc412..33fcb35 100644 (file)
@@ -314,5 +314,5 @@ kn{
         SZ{"ಸ್ವಾಜಿಲ್ಯಾಂಡ್‌"}\r
         TL{"ಪೂರ್ವ ಟಿಮೋರ್"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5c2467a..2160d5c 100644 (file)
@@ -298,12 +298,9 @@ ko{
         ZZ{"알려지지 않은 지역"}\r
     }\r
     Countries%short{\r
-        GB{"영국"}\r
         HK{"홍콩"}\r
         MO{"마카오"}\r
         PS{"팔레스타인"}\r
-        UN{"유엔"}\r
-        US{"미국"}\r
     }\r
     Countries%variant{\r
         CD{"콩고민주공화국"}\r
@@ -314,5 +311,5 @@ ko{
         SZ{"스와질란드"}\r
         TL{"티모르레스테"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 298d502..3df9664 100644 (file)
@@ -4,5 +4,5 @@ ko_KP{
     Countries{\r
         KP{"조선민주주의인민공화국"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fecf85f..05dc735 100644 (file)
@@ -313,5 +313,5 @@ kok{
         SZ{"स्वाझिलँड"}\r
         TL{"ईस्ट तिमूर"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 25f9a03..919c7cb 100644 (file)
@@ -277,5 +277,5 @@ ks{
         ZW{"زِمبابے"}\r
         ZZ{"نامعلوٗم تہٕ نالَگہار عَلاقہٕ"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/region/ks_Arab.txt b/source/data/region/ks_Arab.txt
new file mode 100644 (file)
index 0000000..644b1f8
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ks_Arab{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/region/ks_Arab_IN.txt b/source/data/region/ks_Arab_IN.txt
new file mode 100644 (file)
index 0000000..d159ab1
--- /dev/null
@@ -0,0 +1,8 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+/**\r
+ * generated alias target\r
+ */\r
+ks_Arab_IN{\r
+    ___{""}\r
+}\r
diff --git a/source/data/region/ks_IN.txt b/source/data/region/ks_IN.txt
new file mode 100644 (file)
index 0000000..acd2193
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ks_IN{\r
+    "%%ALIAS"{"ks_Arab_IN"}\r
+}\r
index 9040e3b..cd5c87a 100644 (file)
@@ -225,5 +225,5 @@ ksb{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 19f7956..a5f3255 100644 (file)
@@ -226,5 +226,5 @@ ksf{
         ZM{"zambí"}\r
         ZW{"zimbabwɛ́"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e53063e..c945c2f 100644 (file)
@@ -292,9 +292,6 @@ ksh{
         ZZ{"- Jähjend onbikannt -"}\r
     }\r
     Countries%short{\r
-        GB{"Jruußbrettannije"}\r
-        HK{"Hongkong"}\r
-        MO{"Makau"}\r
         US{"USA"}\r
     }\r
     Countries%variant{\r
@@ -303,5 +300,5 @@ ksh{
         CI{"de Älfebeijnköß"}\r
         FK{"de malleviinesche Enselle"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5f982ee..af4ed71 100644 (file)
@@ -149,7 +149,6 @@ ku{
         MC{"Monako"}\r
         MD{"Moldova"}\r
         ME{"Montenegro"}\r
-        MF{"MF"}\r
         MG{"Madagaskar"}\r
         MH{"Giravên Marşal"}\r
         MK{"Makedonya"}\r
@@ -265,5 +264,5 @@ ku{
         FK{"Giravên Falkland"}\r
         TL{"Tîmora Rojhilat"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d80d5c0..2597810 100644 (file)
@@ -4,5 +4,5 @@ kw{
     Countries{\r
         GB{"Rywvaneth Unys"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 02d274e..c88fd48 100644 (file)
@@ -312,5 +312,5 @@ ky{
         FK{"Фолкленд (Мальвина) аралдары"}\r
         TL{"Чыгыш Тимор"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2841f1d..bc2c68b 100644 (file)
@@ -226,5 +226,5 @@ lag{
         ZM{"Sámbia"}\r
         ZW{"Simbáabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9b7d884..43c12d7 100644 (file)
@@ -304,5 +304,5 @@ lb{
         CG{"Kongo (Republik)"}\r
         CI{"Elfebeeküst"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c099214..2b45cd7 100644 (file)
@@ -226,5 +226,5 @@ lg{
         ZM{"Zambya"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f87f9b3..aed8857 100644 (file)
@@ -15,5 +15,5 @@ lkt{
         MX{"Spayóla Makȟóčhe"}\r
         US{"Mílahaŋska Tȟamákȟočhe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 659bbfa..2d47666 100644 (file)
@@ -236,5 +236,5 @@ ln{
     Countries%variant{\r
         CZ{"Repibiki Tsekɛ"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4b45202..e49ad79 100644 (file)
@@ -287,6 +287,8 @@ lo{
         VU{"ວານົວຕູ"}\r
         WF{"ວາລລິສ ແລະ ຟູຕູນາ"}\r
         WS{"ຊາມົວ"}\r
+        XA{"Pseudo-Accents"}\r
+        XB{"Pseudo-Bidi"}\r
         XK{"ໂຄໂຊໂວ"}\r
         YE{"ເຢເມນ"}\r
         YT{"ມາຢັອດ"}\r
@@ -312,5 +314,5 @@ lo{
         SZ{"ສະ​ວາ​ຊິ​ແລນ"}\r
         TL{"ທິມໍ ຕາເວັນອອກ"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 862ba07..d2d7400 100644 (file)
@@ -26,5 +26,5 @@ lrc{
         US{"ڤولاتیا یأکاگئرتە"}\r
         ZZ{"راساگە نادیار"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f0422b4..7e1f626 100644 (file)
@@ -287,6 +287,8 @@ lt{
         VU{"Vanuatu"}\r
         WF{"Volisas ir Futūna"}\r
         WS{"Samoa"}\r
+        XA{"pseudo A"}\r
+        XB{"pseudo B"}\r
         XK{"Kosovas"}\r
         YE{"Jemenas"}\r
         YT{"Majotas"}\r
@@ -309,7 +311,6 @@ lt{
         CI{"Dramblio Kaulo Kranto Respublika"}\r
         CZ{"Čekijos Respublika"}\r
         FK{"Folklando (Malvinų) Salos"}\r
-        SZ{"Svazilandas"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e24a6e2..a106f73 100644 (file)
@@ -226,5 +226,5 @@ lu{
         ZM{"Zambi"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 044f73d..e4e5995 100644 (file)
@@ -226,5 +226,5 @@ luo{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a3621be..f580802 100644 (file)
@@ -226,5 +226,5 @@ luy{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 82ea0e2..2cfa6c0 100644 (file)
@@ -298,10 +298,8 @@ lv{
         ZZ{"nezināms reģions"}\r
     }\r
     Countries%short{\r
-        GB{"Apvienotā Karaliste"}\r
         HK{"Honkonga"}\r
         MO{"Makao"}\r
-        PS{"Palestīna"}\r
         UN{"ANO"}\r
         US{"ASV"}\r
     }\r
@@ -312,7 +310,6 @@ lv{
         CZ{"Čehijas Republika"}\r
         FK{"Folklenda (Malvinu) salas"}\r
         SZ{"Svazilenda"}\r
-        TL{"Austrumtimora"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/region/mai.txt b/source/data/region/mai.txt
new file mode 100644 (file)
index 0000000..7a974fc
--- /dev/null
@@ -0,0 +1,18 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+mai{\r
+    Countries{\r
+        BR{"ब्राज़ील"}\r
+        CN{"चीन"}\r
+        DE{"जर्मनी"}\r
+        FR{"फ़्रांस"}\r
+        GB{"यूनाइटेड किंगडम"}\r
+        IN{"भारत"}\r
+        IT{"इटली"}\r
+        JP{"जापान"}\r
+        RU{"रूस"}\r
+        US{"संयुक्त राज्य"}\r
+        ZZ{"अज्ञात क्षेत्र"}\r
+    }\r
+    Version{"37"}\r
+}\r
index 02bcb93..56d8706 100644 (file)
@@ -226,5 +226,5 @@ mas{
         ZM{"Sambia"}\r
         ZW{"Simbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c0539f4..df603c0 100644 (file)
@@ -226,5 +226,5 @@ mer{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e79970e..6df6ef2 100644 (file)
@@ -226,5 +226,5 @@ mfe{
         ZM{"Zambi"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6ab026d..fa7ce47 100644 (file)
@@ -226,5 +226,5 @@ mg{
         ZM{"Zambia"}\r
         ZW{"Zimbaboe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6c886fe..f014698 100644 (file)
@@ -139,5 +139,5 @@ mgh{
         ZM{"Uzambia"}\r
         ZW{"Uzimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 334c560..4386b1e 100644 (file)
@@ -5,5 +5,5 @@ mgo{
         CM{"Kamalun"}\r
         ZZ{"aba aben tisɔ̀"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 98fdeed..3e80837 100644 (file)
@@ -16,5 +16,5 @@ mi{
         US{"Hononga o Amerika"}\r
         ZZ{"Rohe Tē Mōhiotia"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cdedb17..ea268f3 100644 (file)
@@ -311,8 +311,7 @@ mk{
         CI{"Брег на Слоновата Коска"}\r
         CZ{"Република Чешка"}\r
         FK{"Фолкландски Острови (Малвински Острови)"}\r
-        SZ{"Свазиленд"}\r
         TL{"Источен Тимор"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2276152..a4959c7 100644 (file)
@@ -288,6 +288,7 @@ ml{
         WF{"വാലിസ് ആന്റ് ഫ്യൂച്യുന"}\r
         WS{"സമോവ"}\r
         XA{"കൃത്രിമ ഉച്ചാരണം"}\r
+        XB{"സൂഡോ-ബായഡീ"}\r
         XK{"കൊസോവൊ"}\r
         YE{"യെമൻ"}\r
         YT{"മയോട്ടി"}\r
@@ -313,5 +314,5 @@ ml{
         SZ{"സ്വിറ്റ്സർലൻഡ്"}\r
         TL{"കിഴക്കൻ തിമോർ"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 70c7838..e9e8797 100644 (file)
@@ -314,5 +314,5 @@ mn{
         SZ{"Свазиланд"}\r
         TL{"Зүүн Тимор"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/region/mni.txt b/source/data/region/mni.txt
new file mode 100644 (file)
index 0000000..359936f
--- /dev/null
@@ -0,0 +1,18 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+mni{\r
+    Countries{\r
+        BR{"ব্রাজিল"}\r
+        CN{"চিনা"}\r
+        DE{"জর্মনি"}\r
+        FR{"ফ্রান্স"}\r
+        GB{"য়ুনাইটেদ কিংদম"}\r
+        IN{"ইন্দিয়া"}\r
+        IT{"ইটালি"}\r
+        JP{"জাপান"}\r
+        RU{"রুসিয়া"}\r
+        US{"য়ুনাইটেদ ষ্টেটস"}\r
+        ZZ{"মশকখংদবা লমদম"}\r
+    }\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/region/mni_Beng.txt b/source/data/region/mni_Beng.txt
new file mode 100644 (file)
index 0000000..93f5be2
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+mni_Beng{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/region/mni_Beng_IN.txt b/source/data/region/mni_Beng_IN.txt
new file mode 100644 (file)
index 0000000..ce4a031
--- /dev/null
@@ -0,0 +1,8 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+/**\r
+ * generated alias target\r
+ */\r
+mni_Beng_IN{\r
+    ___{""}\r
+}\r
diff --git a/source/data/region/mni_IN.txt b/source/data/region/mni_IN.txt
new file mode 100644 (file)
index 0000000..3fb7691
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+mni_IN{\r
+    "%%ALIAS"{"mni_Beng_IN"}\r
+}\r
index 3d3c8be..6f5f146 100644 (file)
@@ -313,5 +313,5 @@ mr{
         SZ{"स्वाझिलँड"}\r
         TL{"पूर्व तिमोर"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 58ab287..0e47060 100644 (file)
@@ -287,6 +287,8 @@ ms{
         VU{"Vanuatu"}\r
         WF{"Wallis dan Futuna"}\r
         WS{"Samoa"}\r
+        XA{"Aksen Pseudo"}\r
+        XB{"Bidi Pseudo"}\r
         XK{"Kosovo"}\r
         YE{"Yaman"}\r
         YT{"Mayotte"}\r
@@ -309,8 +311,7 @@ ms{
         CI{"Ivory Coast"}\r
         CZ{"Republik Czech"}\r
         FK{"Kepulauan Falkland (Islas Malvinas)"}\r
-        SZ{"Swaziland"}\r
         TL{"Timor Timur"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f43c32e..d892b00 100644 (file)
@@ -309,5 +309,5 @@ mt{
         FK{"Il-Gżejjer Falkland (il-Gżejjer Malvinas)"}\r
         TL{"Timor tal-Lvant"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ce16806..2d06dff 100644 (file)
@@ -226,5 +226,5 @@ mua{
         ZM{"Zambiya"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c69a0d8..85c4b19 100644 (file)
@@ -287,6 +287,8 @@ my{
         VU{"ဗနွားတူ"}\r
         WF{"ဝေါလစ်နှင့် ဖူကျူးနား"}\r
         WS{"ဆမိုးအား"}\r
+        XA{"နိုင်ငံခြားသံ"}\r
+        XB{"စာပြောင်းပြန်"}\r
         XK{"ကိုဆိုဗို"}\r
         YE{"ယီမင်"}\r
         YT{"မေယော့"}\r
@@ -300,7 +302,6 @@ my{
         HK{"ဟောင်ကောင်"}\r
         MO{"မကာအို"}\r
         PS{"ပါလက်စတိုင်း"}\r
-        UN{"ကုလသမဂ္ဂ"}\r
         US{"ယူအက်စ်"}\r
     }\r
     Countries%variant{\r
@@ -309,8 +310,6 @@ my{
         CI{"အိုင်ဗရီကို့စ်"}\r
         CZ{"ချက် ပြည်ထောင်စု"}\r
         FK{"ဖော့ကလန် ကျွန်းစု (အီလားစ် မောလ်ဗီနာစ်)"}\r
-        SZ{"ဆွာဇီလန်"}\r
-        TL{"အရှေ့တီမော"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6a5cdf3..fe17508 100644 (file)
@@ -292,7 +292,6 @@ mzn{
         ZZ{"نامَیِّن منطقه"}\r
     }\r
     Countries%short{\r
-        GB{"بریتانیا"}\r
         HK{"هونگ کونگ"}\r
         MO{"ماکائو"}\r
         PS{"فلسطین"}\r
@@ -305,5 +304,5 @@ mzn{
         FK{"فالکلند (مالویناس)"}\r
         TL{"شرقی تیمور"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6478116..1e860e2 100644 (file)
@@ -226,5 +226,5 @@ naq{
         ZM{"Zambiab"}\r
         ZW{"Zimbabweb"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 007c646..48f91ed 100644 (file)
@@ -106,7 +106,7 @@ nb{
         ER{"Eritrea"}\r
         ES{"Spania"}\r
         ET{"Etiopia"}\r
-        EU{"EU"}\r
+        EU{"Den europeiske union"}\r
         EZ{"eurosonen"}\r
         FI{"Finland"}\r
         FJ{"Fiji"}\r
@@ -298,21 +298,17 @@ nb{
         ZZ{"ukjent område"}\r
     }\r
     Countries%short{\r
-        GB{"Storbritannia"}\r
         HK{"Hongkong"}\r
         MO{"Macao"}\r
         PS{"Palestina"}\r
-        UN{"FN"}\r
-        US{"USA"}\r
     }\r
     Countries%variant{\r
         CD{"Den demokratiske republikken Kongo"}\r
         CG{"Republikken Kongo"}\r
-        CI{"Elfenbenskysten"}\r
         CZ{"Den tsjekkiske republikk"}\r
         FK{"Falklandsøyene (Islas Malvinas)"}\r
         SZ{"Swaziland"}\r
         TL{"Timor-Leste"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1760c52..ef2950a 100644 (file)
@@ -226,5 +226,5 @@ nd{
         ZM{"Zambiya"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index df60e8e..ddcdfe9 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nds{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ff1492b..8a251e6 100644 (file)
@@ -287,6 +287,7 @@ ne{
         VU{"भानुआतु"}\r
         WF{"वालिस र फुटुना"}\r
         WS{"सामोआ"}\r
+        XA{"सिउडो-एक्सेन्ट्स"}\r
         XB{"सिउडो-बिडी"}\r
         XK{"कोसोभो"}\r
         YE{"येमेन"}\r
@@ -310,8 +311,7 @@ ne{
         CI{"आइभोरी कोस्ट"}\r
         CZ{"चेक गणतन्त्र"}\r
         FK{"फक्ल्याण्ड टापुहरू (इज्लास माल्भिनास)"}\r
-        SZ{"स्वाजिल्याण्ड"}\r
         TL{"पृर्वी टीमोर"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bcfd622..6d568b5 100644 (file)
@@ -314,5 +314,5 @@ nl{
         SZ{"Swaziland"}\r
         TL{"Democratische Republiek Oost-Timor"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e016d74..3b0ee39 100644 (file)
@@ -226,5 +226,5 @@ nmg{
         ZM{"Zambia"}\r
         ZW{"Zimbabwǝ"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1ba3dc4..87d7d9f 100644 (file)
@@ -105,7 +105,6 @@ nn{
         ER{"Eritrea"}\r
         ES{"Spania"}\r
         ET{"Etiopia"}\r
-        EU{"EU"}\r
         EZ{"eurosona"}\r
         FI{"Finland"}\r
         FJ{"Fiji"}\r
@@ -295,11 +294,9 @@ nn{
         ZZ{"ukjent område"}\r
     }\r
     Countries%short{\r
-        GB{"Storbritannia"}\r
         HK{"Hongkong"}\r
         MO{"Macao"}\r
         PS{"Palestina"}\r
-        US{"USA"}\r
     }\r
     Countries%variant{\r
         CD{"Den demokratiske republikken Kongo"}\r
@@ -307,5 +304,5 @@ nn{
         FK{"Falklandsøyane (Islas Malvinas)"}\r
         TL{"Aust-Timor"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 30a1ee0..1da20ea 100644 (file)
@@ -4,5 +4,5 @@ nnh{
     Countries{\r
         CM{"Kàmalûm"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f1567d7..41d1670 100644 (file)
@@ -54,5 +54,5 @@ nus{
         TD{"Ca̱d"}\r
         VG{"Burutic dhuɔ̱ɔ̱l be̱rgin"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ed57aa8..dcd764f 100644 (file)
@@ -226,5 +226,5 @@ nyn{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bcbe2c8..335dbf3 100644 (file)
@@ -15,5 +15,5 @@ om{
         RU{"Russia"}\r
         US{"United States"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 00726fd..663ebb4 100644 (file)
@@ -305,7 +305,6 @@ or{
         US{"ଯୁକ୍ତରାଷ୍ଟ୍ର"}\r
     }\r
     Countries%variant{\r
-        CD{"କଙ୍ଗୋ (ଡିଆରସି)"}\r
         CG{"କଙ୍ଗୋ (ସାଧାରଣତନ୍ତ୍ର)"}\r
         CI{"ଆଇଭରୀ କୋଷ୍ଟ"}\r
         CZ{"ଚେକ୍‌ ସାଧାରଣତନ୍ତ୍ର"}\r
@@ -313,5 +312,5 @@ or{
         SZ{"ସ୍ୱାଜିଲ୍ୟାଣ୍ଡ"}\r
         TL{"ପୂର୍ବ ତିମୋର୍‌"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3579979..2101d4d 100644 (file)
@@ -21,5 +21,5 @@ os{
         US{"АИШ"}\r
         ZZ{"Нӕзонгӕ бӕстӕ"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7da1d97..59bb45b 100644 (file)
@@ -314,5 +314,5 @@ pa{
         SZ{"ਸਵਾਜ਼ੀਲੈਂਡ"}\r
         TL{"ਪੂਰਬ ਤਿਮੋਰ"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fc821a8..6e04c3d 100644 (file)
@@ -5,5 +5,5 @@ pa_Arab{
     Countries{\r
         PK{"پاکستان"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b1dcb3f..de00c95 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pa_Guru{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/region/pcm.txt b/source/data/region/pcm.txt
new file mode 100644 (file)
index 0000000..d2efb21
--- /dev/null
@@ -0,0 +1,316 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+pcm{\r
+    Countries{\r
+        001{"Wọld"}\r
+        002{"Áfríka"}\r
+        003{"Nọ́t Amẹ́ríka"}\r
+        005{"Saút Amẹ́ríka"}\r
+        009{"Oshẹnia"}\r
+        011{"Wẹ́stán Áfríka"}\r
+        013{"Mídúl Amẹ́ríka"}\r
+        014{"Ístán Áfríká"}\r
+        015{"Nọ́tán Áfríka"}\r
+        017{"Mídúl Áfríka"}\r
+        018{"Saútán Áfríka"}\r
+        019{"Amẹ́ríkas"}\r
+        021{"Nọ́tán Amẹ́ríka"}\r
+        029{"Karíbián"}\r
+        030{"Ístán Éshia"}\r
+        034{"Saútán Éshia"}\r
+        035{"Saútíst Éshiá"}\r
+        039{"Saútán Yúrop"}\r
+        053{"Ọstraléshia"}\r
+        054{"Mẹlanẹíshia"}\r
+        057{"Maikroníshia Ríjọn"}\r
+        061{"Poliníshiá"}\r
+        142{"Éshia"}\r
+        143{"Mídúl Éshia"}\r
+        145{"Wẹ́stán Éshia"}\r
+        150{"Yúrop"}\r
+        151{"Ístán Yúrop"}\r
+        154{"Nọ́tán Yúrop"}\r
+        155{"Wẹ́stán Yúrop"}\r
+        202{"Áfríka Éria Biló Sahára"}\r
+        419{"Látín Amẹ́ríka"}\r
+        AC{"Asẹ́nshọ́n Aíland"}\r
+        AD{"Andọ́ra"}\r
+        AE{"Yunaítẹ́d Áráb Ẹ́mírets"}\r
+        AF{"Afgánístan"}\r
+        AG{"Antígwua & Barbúda"}\r
+        AI{"Angwíla"}\r
+        AL{"Albénia"}\r
+        AM{"Armẹ́niá"}\r
+        AO{"Angóla"}\r
+        AQ{"Antáktíka"}\r
+        AR{"Ajẹntína"}\r
+        AS{"Amẹ́ríká Samoa"}\r
+        AT{"Ọ́stria"}\r
+        AU{"Ọstrélia"}\r
+        AW{"Arúba"}\r
+        AX{"Ọ́lánd Aílands"}\r
+        AZ{"Azẹrbaijan"}\r
+        BA{"Bọ́zniá & Hẹzẹgovína"}\r
+        BB{"Barbédọs"}\r
+        BD{"Bangladẹsh"}\r
+        BE{"Bẹ́ljọm"}\r
+        BF{"Burkína Fáso"}\r
+        BG{"Bọlgéria"}\r
+        BH{"Barein"}\r
+        BI{"Burúndi"}\r
+        BJ{"Binin"}\r
+        BL{"Sént Batẹlẹ́mi"}\r
+        BM{"Bẹmiúda"}\r
+        BN{"Brunẹi"}\r
+        BO{"Bolívia"}\r
+        BQ{"Karíbián Nẹ́dalands"}\r
+        BR{"Brázil"}\r
+        BS{"Bahámas"}\r
+        BT{"Butan"}\r
+        BV{"Buvẹ́ Aíland"}\r
+        BW{"Botswána"}\r
+        BY{"Bẹ́larus"}\r
+        BZ{"Bẹliz"}\r
+        CA{"Kánáda"}\r
+        CC{"Kókós Aílands"}\r
+        CD{"Kóngó – Kinshása"}\r
+        CF{"Sẹ́ntrál Áfríkán Ripọ́blik"}\r
+        CG{"Kóngo – Brázavil"}\r
+        CH{"Swítsaland"}\r
+        CI{"Aívri Kost"}\r
+        CK{"Kúk Aílands"}\r
+        CL{"Chílẹ"}\r
+        CM{"Kamẹrun"}\r
+        CN{"Chaína"}\r
+        CO{"Kolómbia"}\r
+        CP{"Klipatọ́n Aíland"}\r
+        CR{"Kósta Ríka"}\r
+        CU{"Kiúbá"}\r
+        CV{"Kép Vẹ́d"}\r
+        CW{"Kiurásao"}\r
+        CX{"Krísmás Aíland"}\r
+        CY{"Saíprọs"}\r
+        CZ{"Chẹ́kia"}\r
+        DE{"Jámáni"}\r
+        DG{"Diẹ́gó Garsia"}\r
+        DJ{"Jibúti"}\r
+        DK{"Dẹ́nmak"}\r
+        DM{"Dọmíníka"}\r
+        DO{"Dọmíníka Ripọ́blik"}\r
+        DZ{"Aljíria"}\r
+        EA{"Sẹúta & Mẹ́líla"}\r
+        EC{"Ẹ́kwuádọ"}\r
+        EE{"Ẹstónia"}\r
+        EG{"Íjipt"}\r
+        EH{"Wẹ́stán Sahára"}\r
+        ER{"Ẹritrẹ́a"}\r
+        ES{"Spen"}\r
+        ET{"Ẹtiópia"}\r
+        EU{"Yurópián Yúniọ́n"}\r
+        EZ{"Yúróéria"}\r
+        FI{"Fínland"}\r
+        FJ{"Fíji"}\r
+        FK{"Fọ́klánd Aílands"}\r
+        FM{"Maikroníshia"}\r
+        FO{"Fáro Aílands"}\r
+        FR{"Frans"}\r
+        GA{"Gabọn"}\r
+        GB{"Yunáítẹ́d Kíndọm"}\r
+        GD{"Grẹnéda"}\r
+        GE{"Jọ́jia"}\r
+        GF{"Frẹ́nch Giána"}\r
+        GG{"Guẹnzi"}\r
+        GH{"Gána"}\r
+        GI{"Jibrọ́lta"}\r
+        GL{"Grínland"}\r
+        GM{"Gámbia"}\r
+        GN{"Gíni"}\r
+        GP{"Guadalúpẹ"}\r
+        GQ{"Ikwétóriál Gíni"}\r
+        GR{"Gris"}\r
+        GS{"Saút Jọ́jia an Saút Sándwích Aílands"}\r
+        GT{"Guátẹmála"}\r
+        GU{"Guam"}\r
+        GW{"Gíní-Bisáu"}\r
+        GY{"Gayána"}\r
+        HK{"Họng Kọng SAR"}\r
+        HM{"Hiád & MakDónáld Aílands"}\r
+        HN{"Họndúras"}\r
+        HR{"Kroéshia"}\r
+        HT{"Haíti"}\r
+        HU{"Họ́ngári"}\r
+        IC{"Kenerí Aílands"}\r
+        ID{"Indoníshia"}\r
+        IE{"Ayaland"}\r
+        IL{"Ízrẹl"}\r
+        IM{"Aíl ọf Man"}\r
+        IN{"Índia"}\r
+        IO{"Brítísh Índián Óshen Tẹ́rẹ́tri"}\r
+        IQ{"Irak"}\r
+        IR{"Iran"}\r
+        IS{"Aísland"}\r
+        IT{"Ítáli"}\r
+        JE{"Jẹ́si"}\r
+        JM{"Jamaíka"}\r
+        JO{"Jọ́dan"}\r
+        JP{"Japan"}\r
+        KE{"Kẹ́nya"}\r
+        KG{"Kẹjístan"}\r
+        KH{"Kambódia"}\r
+        KI{"Kiribáti"}\r
+        KM{"Kọ́mọ́ros"}\r
+        KN{"Sent Kits & Nẹ́vis"}\r
+        KP{"Nọ́t Koria"}\r
+        KR{"Saút Koria"}\r
+        KW{"Kuwét"}\r
+        KY{"Kéman Aílands"}\r
+        KZ{"Kazakstan"}\r
+        LA{"Laos"}\r
+        LB{"Lẹ́bánọn"}\r
+        LC{"Sent Lúshia"}\r
+        LI{"Líktẹ́nstain"}\r
+        LK{"Sri Lánka"}\r
+        LR{"Laibẹ́ria"}\r
+        LS{"Lẹsóto"}\r
+        LT{"Lituénia"}\r
+        LU{"Lọ́ksẹ́mbọg"}\r
+        LV{"Látvia"}\r
+        LY{"Líbia"}\r
+        MA{"Morọko"}\r
+        MC{"Mọ́náko"}\r
+        MD{"Mọldóva"}\r
+        ME{"Mọntinígro"}\r
+        MF{"Sent Mátin"}\r
+        MG{"Madagáska"}\r
+        MH{"Máshál Aílands"}\r
+        MK{"Nọ́t Masidónia"}\r
+        ML{"Máli"}\r
+        MM{"Miánma (Bọ́ma)"}\r
+        MN{"Mọngólia"}\r
+        MO{"Makáo SAR Chaína"}\r
+        MP{"Nọ́tán Mariána Aílands"}\r
+        MQ{"Matínik"}\r
+        MR{"Mọriténia"}\r
+        MS{"Mọntsẹrat"}\r
+        MT{"Mọ́lta"}\r
+        MU{"Mọríshọs"}\r
+        MV{"Mọ́ldivs"}\r
+        MW{"Maláwi"}\r
+        MX{"Mẹ́ksíko"}\r
+        MY{"Maléshia"}\r
+        MZ{"Mozámbik"}\r
+        NA{"Namíbia"}\r
+        NC{"Niú Kalẹdónia"}\r
+        NE{"Nizhẹr"}\r
+        NF{"Nọ́fọlk Aíland"}\r
+        NG{"Naijíria"}\r
+        NI{"Nikarágwua"}\r
+        NL{"Nẹ́dalands"}\r
+        NO{"Nọ́we"}\r
+        NP{"Nẹ́pal"}\r
+        NR{"Náuru"}\r
+        NU{"Niúẹ"}\r
+        NZ{"Niú Zíland"}\r
+        OM{"Oman"}\r
+        PA{"Pánáma"}\r
+        PE{"Pẹ́ru"}\r
+        PF{"Frẹ́nch Poliníshia"}\r
+        PG{"Pápuá Niú Gíni"}\r
+        PH{"Fílípins"}\r
+        PK{"Pakístan"}\r
+        PL{"Póland"}\r
+        PM{"Sent Piẹr & Míkẹlọn"}\r
+        PN{"Pítkén Aílands"}\r
+        PR{"Puẹ́rto Ríkọ"}\r
+        PS{"Pálẹ́staín Éria-dẹm"}\r
+        PT{"Pọ́túgal"}\r
+        PW{"Palau"}\r
+        PY{"Párágwue"}\r
+        QA{"Kata"}\r
+        QO{"Rimót Pát ọf Oshẹ́nia"}\r
+        RE{"Réyúniọn"}\r
+        RO{"Ruménia"}\r
+        RS{"Sẹ́bia"}\r
+        RU{"Rọ́shia"}\r
+        RW{"Ruwánda"}\r
+        SA{"Saúdí Arébia"}\r
+        SB{"Sólómọ́n Aílands"}\r
+        SC{"Sẹ́chẹls"}\r
+        SD{"Sudan"}\r
+        SE{"Swídẹn"}\r
+        SG{"Singapọ"}\r
+        SH{"Sent Hẹlẹ́na"}\r
+        SI{"Slovẹ́nia"}\r
+        SJ{"Sválbad & Jén Meyẹn"}\r
+        SK{"Slovékia"}\r
+        SL{"Siẹ́ra Líon"}\r
+        SM{"San Maríno"}\r
+        SN{"Sẹ́nẹ́gal"}\r
+        SO{"Sọmália"}\r
+        SR{"Súrínam"}\r
+        SS{"Saút Sudan"}\r
+        ST{"Sao Tómé & Prínsípẹ"}\r
+        SV{"El Sálvádọ"}\r
+        SX{"Sint Mátin"}\r
+        SY{"Síria"}\r
+        SZ{"Ẹswatíni"}\r
+        TA{"Trístán da Kúna"}\r
+        TC{"Tọks an Kaíkọ́s Aílands"}\r
+        TD{"Chad"}\r
+        TF{"Frẹ́nch Saútán Tẹ́rẹ́tris"}\r
+        TG{"Tógo"}\r
+        TH{"Taíland"}\r
+        TJ{"Tajíkstan"}\r
+        TK{"Tókẹ́lau"}\r
+        TL{"Íst Tímọ"}\r
+        TM{"Tọkmẹ́nístan"}\r
+        TN{"Tuníshia"}\r
+        TO{"Tónga"}\r
+        TR{"Tọ́ki"}\r
+        TT{"Trínídad & Tobágo"}\r
+        TV{"Tuválu"}\r
+        TW{"Taiwan"}\r
+        TZ{"Tanzánia"}\r
+        UA{"Yukrein"}\r
+        UG{"Yugánda"}\r
+        UM{"U.S. Faá Faá Aílands"}\r
+        UN{"Yunaítẹd Néshọns"}\r
+        US{"Yunaítẹ́d Stets"}\r
+        UY{"Yúrugwue"}\r
+        UZ{"Uzbẹ́kistan"}\r
+        VA{"Vátíkán Síti"}\r
+        VC{"Sent Vínsẹnt & Grẹ́nádians"}\r
+        VE{"Vẹnẹzuẹ́la"}\r
+        VG{"Brítísh Vájín Aílands"}\r
+        VI{"U.S. Vájín Aílands"}\r
+        VN{"Viẹ́tnam"}\r
+        VU{"Vanuátu"}\r
+        WF{"Wọ́lis & Fiutúna"}\r
+        WS{"Samóa"}\r
+        XA{"To yúz atifíshál vọis wẹ́n yu de tọk"}\r
+        XB{"Atífíshál Tú-Wé Dairẹ́kshọn"}\r
+        XK{"Kósóvo"}\r
+        YE{"Yẹ́mẹn"}\r
+        YT{"Meyọt"}\r
+        ZA{"Saút Áfríka"}\r
+        ZM{"Zámbia"}\r
+        ZW{"Zimbábwẹ"}\r
+        ZZ{"Ríjọn Wé Nóbọ́di Sabí"}\r
+    }\r
+    Countries%short{\r
+        GB{"UK"}\r
+        HK{"Họng Kọng"}\r
+        MO{"Makáo"}\r
+        PS{"Pálẹ́stain"}\r
+        US{"US"}\r
+    }\r
+    Countries%variant{\r
+        CD{"Kóngo (DRC)"}\r
+        CG{"Kóngó (Ripọ́blik)"}\r
+        CI{"Kót Divua"}\r
+        CZ{"Chẹ́k Ripọ́blik"}\r
+        FK{"Fọ́klánd Aílands (Íslás Malvínas)"}\r
+        SZ{"Swáziland"}\r
+    }\r
+    Version{"37"}\r
+}\r
index 75e5de2..467c64a 100644 (file)
@@ -314,5 +314,5 @@ pl{
         SZ{"Suazi"}\r
         TL{"Timor-Leste"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 62fa06f..d7c690e 100644 (file)
@@ -302,7 +302,6 @@ ps{
         HK{"هانګ کانګ"}\r
         MO{"مکاو"}\r
         PS{"فلسطين"}\r
-        US{"متحده آيالات"}\r
     }\r
     Countries%variant{\r
         CD{"کانګو (DRC)"}\r
@@ -313,5 +312,5 @@ ps{
         SZ{"سوازيلېنډ"}\r
         TL{"ختيځ تيمور"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e316b45..4dddce8 100644 (file)
@@ -7,5 +7,5 @@ ps_PK{
         TC{"د ترکیے او کیکاسو ټاپو"}\r
         TF{"د فرانسے جنوبي سیمے"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9a9c711..e3f659d 100644 (file)
@@ -298,7 +298,6 @@ pt{
         ZZ{"Região desconhecida"}\r
     }\r
     Countries%short{\r
-        GB{"Reino Unido"}\r
         HK{"Hong Kong"}\r
         MO{"Macau"}\r
         PS{"Palestina"}\r
@@ -314,5 +313,5 @@ pt{
         SZ{"Suazilândia"}\r
         TL{"República Democrática de Timor-Leste"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c3fa854..fd4d0fa 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_AO{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5710498..68713f2 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_CH{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6a14f79..a8e8329 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_CV{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ebd2cc1..16c1df7 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_GQ{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fdc3c38..a180bcd 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_GW{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 262456f..a573ce4 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_LU{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 537eedc..1ff0ef5 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_MO{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ae83ef0..e23c11c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_MZ{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d069df4..a569fd6 100644 (file)
@@ -84,5 +84,5 @@ pt_PT{
         CZ{"República Checa"}\r
         FK{"Ilhas Falkland (Malvinas)"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fcd835b..1f59f52 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_ST{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8a4a6ac..8094b42 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_TL{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e531b75..3746fd2 100644 (file)
@@ -259,18 +259,8 @@ qu{
         ZM{"Zambia"}\r
         ZW{"Zimbabue"}\r
     }\r
-    Countries%short{\r
-        GB{"Reino Unido"}\r
-        US{"Estados Unidos"}\r
-    }\r
     Countries%variant{\r
-        CD{"Congo (RDC)"}\r
-        CG{"Congo"}\r
-        CI{"Côte d’Ivoire"}\r
         CZ{"República Checa"}\r
-        FK{"Islas Malvinas"}\r
-        SZ{"Suazilandia"}\r
-        TL{"Timor-Leste"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 95a0790..1870c15 100644 (file)
@@ -279,5 +279,5 @@ rm{
         ZW{"Simbabwe"}\r
         ZZ{"Regiun betg encouschenta u nunvalaivla"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2aef052..d09091c 100644 (file)
@@ -226,5 +226,5 @@ rn{
         ZM{"Zambiya"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 39bf6b9..7dd9dbe 100644 (file)
@@ -298,7 +298,6 @@ ro{
         ZZ{"Regiune necunoscută"}\r
     }\r
     Countries%short{\r
-        GB{"Regatul Unit"}\r
         HK{"Hong Kong"}\r
         MO{"Macao"}\r
         PS{"Palestina"}\r
@@ -314,5 +313,5 @@ ro{
         SZ{"Swaziland"}\r
         TL{"Timorul de Est"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e9172f9..6855f3f 100644 (file)
@@ -4,5 +4,5 @@ ro_MD{
     Countries{\r
         MM{"Myanmar"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c57f109..d7a8d1f 100644 (file)
@@ -226,5 +226,5 @@ rof{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ae59749..6697817 100644 (file)
@@ -1,8 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * ICU <specials> source: <path>/common/main/root.xml\r
- */\r
 root{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 329001a..216d473 100644 (file)
@@ -313,5 +313,5 @@ ru{
         SZ{"Свазиленд"}\r
         TL{"Тимор-Лесте"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 523a6cc..079f317 100644 (file)
@@ -13,5 +13,5 @@ ru_UA{
         TL{"Тимор-Лесте"}\r
         UM{"Малые Тихоокеанские Отдаленные Острова США"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6f43582..0f368f9 100644 (file)
@@ -6,5 +6,5 @@ rw{
         RW{"U Rwanda"}\r
         TO{"Tonga"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bb2e1f4..c47ce82 100644 (file)
@@ -226,5 +226,5 @@ rwk{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 31d3536..f80218c 100644 (file)
@@ -31,5 +31,5 @@ sah{
     Countries%short{\r
         US{"АХШ"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index db0c72e..6c839ed 100644 (file)
@@ -226,5 +226,5 @@ saq{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/region/sat.txt b/source/data/region/sat.txt
new file mode 100644 (file)
index 0000000..07b2ca9
--- /dev/null
@@ -0,0 +1,18 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sat{\r
+    Countries{\r
+        BR{"ᱵᱨᱟᱡᱤᱞ"}\r
+        CN{"ᱪᱤᱱ"}\r
+        DE{"ᱡᱟᱨᱢᱟᱱᱤ"}\r
+        FR{"ᱯᱷᱨᱟᱱᱥ"}\r
+        GB{"ᱭᱩᱱᱤᱭᱴᱮᱰ ᱠᱤᱝᱰᱚᱢ"}\r
+        IN{"ᱤᱱᱰᱤᱭᱟ"}\r
+        IT{"ᱤᱴᱞᱤ"}\r
+        JP{"ᱡᱟᱯᱟᱱ"}\r
+        RU{"ᱨᱩᱥ"}\r
+        US{"ᱭᱩᱱᱟᱭᱴᱮᱰ ᱮᱥᱴᱮᱴ"}\r
+        ZZ{"ᱵᱟᱝᱩᱨᱩᱢ ᱴᱚᱴᱷᱟ"}\r
+    }\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/region/sat_IN.txt b/source/data/region/sat_IN.txt
new file mode 100644 (file)
index 0000000..2a70401
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sat_IN{\r
+    "%%ALIAS"{"sat_Olck_IN"}\r
+}\r
diff --git a/source/data/region/sat_Olck.txt b/source/data/region/sat_Olck.txt
new file mode 100644 (file)
index 0000000..5849570
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sat_Olck{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/region/sat_Olck_IN.txt b/source/data/region/sat_Olck_IN.txt
new file mode 100644 (file)
index 0000000..d538504
--- /dev/null
@@ -0,0 +1,8 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+/**\r
+ * generated alias target\r
+ */\r
+sat_Olck_IN{\r
+    ___{""}\r
+}\r
index 19ce339..02527dd 100644 (file)
@@ -226,5 +226,5 @@ sbp{
         ZM{"Sambiya"}\r
         ZW{"Simbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 93fd61a..04219fc 100644 (file)
@@ -298,8 +298,6 @@ sd{
         ZZ{"اڻڄاتل خطو"}\r
     }\r
     Countries%short{\r
-        GB{"برطانيه"}\r
-        HK{"هانگ ڪانگ"}\r
         MO{"مڪائو"}\r
         PS{"فلسطين"}\r
         US{"يوايس"}\r
@@ -313,5 +311,5 @@ sd{
         SZ{"سوازيلينڊ"}\r
         TL{"اوڀر تيمور"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/region/sd_Arab.txt b/source/data/region/sd_Arab.txt
new file mode 100644 (file)
index 0000000..67d68db
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sd_Arab{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/region/sd_Arab_PK.txt b/source/data/region/sd_Arab_PK.txt
new file mode 100644 (file)
index 0000000..eda5f89
--- /dev/null
@@ -0,0 +1,8 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+/**\r
+ * generated alias target\r
+ */\r
+sd_Arab_PK{\r
+    ___{""}\r
+}\r
diff --git a/source/data/region/sd_Deva.txt b/source/data/region/sd_Deva.txt
new file mode 100644 (file)
index 0000000..710ea5b
--- /dev/null
@@ -0,0 +1,19 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sd_Deva{\r
+    %%Parent{"root"}\r
+    Countries{\r
+        BR{"ब्राजील"}\r
+        CN{"चाइना"}\r
+        DE{"जर्मनी"}\r
+        FR{"फ़्रांस"}\r
+        GB{"यूनाइटेड किंगडम"}\r
+        IN{"भारत"}\r
+        IT{"इटली"}\r
+        JP{"जापान"}\r
+        RU{"रशिया"}\r
+        US{"अमेरिका"}\r
+        ZZ{"अणवाकुफु इलाको"}\r
+    }\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/region/sd_PK.txt b/source/data/region/sd_PK.txt
new file mode 100644 (file)
index 0000000..a9e1e2c
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sd_PK{\r
+    "%%ALIAS"{"sd_Arab_PK"}\r
+}\r
index e2ce52f..35ce0c8 100644 (file)
@@ -287,11 +287,7 @@ se{
         ZZ{"dovdameahttun guovlu"}\r
     }\r
     Countries%short{\r
-        GB{"Stuorra-Británnia"}\r
-        HK{"Hongkong"}\r
-        MO{"Makáo"}\r
-        PS{"Palestina"}\r
         US{"USA"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ea450ce..b683705 100644 (file)
@@ -26,5 +26,5 @@ se_FI{
     Countries%variant{\r
         CI{"Côte d’Ivoire"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 38cab2f..0079b20 100644 (file)
@@ -225,5 +225,5 @@ seh{
         ZM{"Zâmbia"}\r
         ZW{"Zimbábue"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ffeb151..5f25b43 100644 (file)
@@ -226,5 +226,5 @@ ses{
         ZM{"Zambi"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0808a29..b823d58 100644 (file)
@@ -226,5 +226,5 @@ sg{
         ZM{"Zambïi"}\r
         ZW{"Zimbäbwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f0f0aef..385d553 100644 (file)
@@ -226,5 +226,5 @@ shi{
         ZM{"ⵣⴰⵎⴱⵢⴰ"}\r
         ZW{"ⵣⵉⵎⴱⴰⴱⵡⵉ"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4d02d18..597fb4c 100644 (file)
@@ -227,5 +227,5 @@ shi_Latn{
         ZM{"zambya"}\r
         ZW{"zimbabwi"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3632ea2..6ab72b9 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 shi_Tfng{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index aa129cc..a6518cd 100644 (file)
@@ -302,11 +302,9 @@ si{
         HK{"හොංකොං"}\r
         MO{"මකාවු"}\r
         PS{"පලස්තීනය"}\r
-        UN{"එක්සත් ජාතීන්"}\r
         US{"එ.ජ"}\r
     }\r
     Countries%variant{\r
-        CD{"කොංගෝව (ඩීආර්සී)"}\r
         CG{"කොංගෝ (ජනරජය)"}\r
         CI{"අයිවරි කෝස්ට්"}\r
         CZ{"චෙක් ජනරජය"}\r
@@ -314,5 +312,5 @@ si{
         SZ{"ස්වාසිලන්තය"}\r
         TL{"නැගෙනහිර ටිමෝරය"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8ea9576..1d81db2 100644 (file)
@@ -312,5 +312,5 @@ sk{
         FK{"Falklandy (Malvíny)"}\r
         SZ{"Svazijsko"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 138b0bd..4d30479 100644 (file)
@@ -300,7 +300,6 @@ sl{
     Countries%short{\r
         GB{"ZK"}\r
         HK{"Hongkong"}\r
-        MO{"Posebno administrativno območje LR Kitajske Macao"}\r
         PS{"Palestina"}\r
         UN{"ZN"}\r
         US{"ZDA"}\r
@@ -314,5 +313,5 @@ sl{
         SZ{"Svazi"}\r
         TL{"Vzhodni Timor"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 06e7bc4..70ba688 100644 (file)
@@ -264,5 +264,5 @@ smn{
         CG{"Kongo täsiväldi"}\r
         FK{"Falklandsuolluuh (Malvinassuolluuh)"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 94c5997..780ae37 100644 (file)
@@ -225,5 +225,5 @@ sn{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f3b560b..ef68904 100644 (file)
@@ -82,6 +82,7 @@ so{
         CL{"Jili"}\r
         CM{"Kaameruun"}\r
         CN{"Shiinaha"}\r
+        CO{"Koloombiya"}\r
         CP{"Jasiiradda Kilibarton"}\r
         CR{"Kosta Riika"}\r
         CU{"Kuuba"}\r
@@ -131,6 +132,7 @@ so{
         GT{"Guwaatamaala"}\r
         GU{"Guaam"}\r
         GW{"Gini-Bisaaw"}\r
+        GY{"Guyana"}\r
         HK{"Hong Kong"}\r
         HM{"Jasiiradda Haad & MakDonald"}\r
         HN{"Honduras"}\r
@@ -285,6 +287,8 @@ so{
         VU{"Fanuaatu"}\r
         WF{"Walis & Futuna"}\r
         WS{"Samoowa"}\r
+        XA{"Shigshiga"}\r
+        XB{"Pseudo-Bidi"}\r
         XK{"Koosofo"}\r
         YE{"Yaman"}\r
         YT{"Mayotte"}\r
@@ -295,8 +299,6 @@ so{
     }\r
     Countries%short{\r
         GB{"UK"}\r
-        HK{"Hong Kong"}\r
-        MO{"Makaaw"}\r
         PS{"Falastiin"}\r
     }\r
     Countries%variant{\r
@@ -308,5 +310,5 @@ so{
         SZ{"Iswaasilaan"}\r
         TL{"Timoor Bari"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 86f4a08..a477c0b 100644 (file)
@@ -303,7 +303,6 @@ sq{
         MO{"Makao"}\r
         PS{"Palestinë"}\r
         UN{"OKB"}\r
-        US{"SHBA"}\r
     }\r
     Countries%variant{\r
         CD{"Kongo (RDK)"}\r
@@ -314,5 +313,5 @@ sq{
         SZ{"Suazilend"}\r
         TL{"Timori Lindor"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7faf786..81d6dfc 100644 (file)
@@ -287,6 +287,8 @@ sr{
         VU{"Вануату"}\r
         WF{"Валис и Футуна"}\r
         WS{"Самоа"}\r
+        XA{"Псеудоакценти"}\r
+        XB{"Псеудобиди"}\r
         XK{"Косово"}\r
         YE{"Јемен"}\r
         YT{"Мајот"}\r
@@ -309,8 +311,7 @@ sr{
         CI{"Обала Слоноваче"}\r
         CZ{"Чешка Република"}\r
         FK{"Фокландска (Малвинска) острва"}\r
-        SZ{"Свазиленд"}\r
         TL{"Источни Тимор"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1ed798b..f89f3af 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sr_Cyrl{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1303cc4..2ffab98 100644 (file)
@@ -16,5 +16,5 @@ sr_Cyrl_BA{
         VG{"Британска Дјевичанска Острва"}\r
         VI{"Америчка Дјевичанска Острва"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8f001de..45757fe 100644 (file)
@@ -14,5 +14,5 @@ sr_Cyrl_ME{
         VG{"Британска Дјевичанска Острва"}\r
         VI{"Америчка Дјевичанска Острва"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8a6afd1..6360ac0 100644 (file)
@@ -13,5 +13,5 @@ sr_Cyrl_XK{
         UM{"Мања удаљена острва САД"}\r
         VC{"Свети Винсент и Гренадини"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 24c6c5a..062195b 100644 (file)
@@ -288,6 +288,8 @@ sr_Latn{
         VU{"Vanuatu"}\r
         WF{"Valis i Futuna"}\r
         WS{"Samoa"}\r
+        XA{"Pseudoakcenti"}\r
+        XB{"Pseudobidi"}\r
         XK{"Kosovo"}\r
         YE{"Jemen"}\r
         YT{"Majot"}\r
@@ -310,8 +312,7 @@ sr_Latn{
         CI{"Obala Slonovače"}\r
         CZ{"Češka Republika"}\r
         FK{"Foklandska (Malvinska) ostrva"}\r
-        SZ{"Svazilend"}\r
         TL{"Istočni Timor"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f15fe4b..d0ee4e8 100644 (file)
@@ -16,5 +16,5 @@ sr_Latn_BA{
         VG{"Britanska Djevičanska Ostrva"}\r
         VI{"Američka Djevičanska Ostrva"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e73a005..cb30aa3 100644 (file)
@@ -14,5 +14,5 @@ sr_Latn_ME{
         VG{"Britanska Djevičanska Ostrva"}\r
         VI{"Američka Djevičanska Ostrva"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8a6fcfb..1b94555 100644 (file)
@@ -13,5 +13,5 @@ sr_Latn_XK{
         UM{"Manja udaljena ostrva SAD"}\r
         VC{"Sveti Vinsent i Grenadini"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/region/su.txt b/source/data/region/su.txt
new file mode 100644 (file)
index 0000000..cb758d4
--- /dev/null
@@ -0,0 +1,18 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+su{\r
+    Countries{\r
+        BR{"Brasil"}\r
+        CN{"Tiongkok"}\r
+        DE{"Jérman"}\r
+        FR{"Prancis"}\r
+        GB{"Inggris Raya"}\r
+        IN{"India"}\r
+        IT{"Italia"}\r
+        JP{"Jepang"}\r
+        RU{"Rusia"}\r
+        US{"Amérika Sarikat"}\r
+        ZZ{"Wilayah Teu Dipikaterang"}\r
+    }\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/region/su_ID.txt b/source/data/region/su_ID.txt
new file mode 100644 (file)
index 0000000..54a4c8f
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+su_ID{\r
+    "%%ALIAS"{"su_Latn_ID"}\r
+}\r
diff --git a/source/data/region/su_Latn.txt b/source/data/region/su_Latn.txt
new file mode 100644 (file)
index 0000000..2cd8bd7
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+su_Latn{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/region/su_Latn_ID.txt b/source/data/region/su_Latn_ID.txt
new file mode 100644 (file)
index 0000000..8ab1d5e
--- /dev/null
@@ -0,0 +1,8 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+/**\r
+ * generated alias target\r
+ */\r
+su_Latn_ID{\r
+    ___{""}\r
+}\r
index 56cde5c..7c0d930 100644 (file)
@@ -298,21 +298,14 @@ sv{
         ZZ{"okänd region"}\r
     }\r
     Countries%short{\r
-        GB{"Storbritannien"}\r
-        HK{"Hongkong"}\r
-        MO{"Macao"}\r
         PS{"Palestina"}\r
         UN{"FN"}\r
-        US{"USA"}\r
     }\r
     Countries%variant{\r
         CD{"Demokratiska republiken Kongo"}\r
         CG{"Republiken Kongo"}\r
-        CI{"Côte d’Ivoire"}\r
-        CZ{"Tjeckien"}\r
-        FK{"Falklandsöarna"}\r
         SZ{"Eswatini"}\r
         TL{"Timor-Leste"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 78e7222..15dd672 100644 (file)
@@ -107,7 +107,7 @@ sw{
         ES{"Uhispania"}\r
         ET{"Ethiopia"}\r
         EU{"Umoja wa Ulaya"}\r
-        EZ{"EZ"}\r
+        EZ{"Jumuiya ya Ulaya"}\r
         FI{"Ufini"}\r
         FJ{"Fiji"}\r
         FK{"Visiwa vya Falkland"}\r
@@ -298,11 +298,9 @@ sw{
         ZZ{"Eneo lisilojulikana"}\r
     }\r
     Countries%short{\r
-        GB{"Ufalme wa Muungano"}\r
         HK{"Hong Kong"}\r
         MO{"Makau"}\r
         PS{"Palestina"}\r
-        UN{"Umoja wa Mataifa"}\r
         US{"US"}\r
     }\r
     Countries%variant{\r
@@ -311,8 +309,7 @@ sw{
         CI{"Ivory Coast"}\r
         CZ{"Jamhuri ya Cheki"}\r
         FK{"Visiwa vya Falkland (Islas Malvinas)"}\r
-        SZ{"Uswazi"}\r
         TL{"Timor ya Mashariki"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 398abe0..c05d1eb 100644 (file)
@@ -32,5 +32,5 @@ sw_CD{
         TL{"Timori ya Mashariki"}\r
         VN{"Vietnamu"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e3f13e8..116f7d5 100644 (file)
@@ -71,5 +71,5 @@ sw_KE{
         XB{"Pseudo-Bidi"}\r
         YT{"Mayote"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f46756f..3121f45 100644 (file)
@@ -311,8 +311,7 @@ ta{
         CI{"ஐவரி கோஸ்ட்"}\r
         CZ{"செக் குடியரசு"}\r
         FK{"ஃபாக்லாந்து தீவுகள் (இஸ்லாஸ் மால்வினஸ்)"}\r
-        SZ{"எஸ்வாட்டீனி"}\r
         TL{"கிழக்கு தைமூர்"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2494ad0..b7fa295 100644 (file)
@@ -314,5 +314,5 @@ te{
         SZ{"స్వాజిల్యాండ్"}\r
         TL{"తూర్పు టిమోర్"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 108d83b..0f7dfe9 100644 (file)
@@ -226,5 +226,5 @@ teo{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 131b44a..e22c2fb 100644 (file)
@@ -259,5 +259,5 @@ tg{
         CD{"Конго (ҶДК)"}\r
         CG{"Конго"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0e1e5d3..1f7da4c 100644 (file)
@@ -298,11 +298,9 @@ th{
         ZZ{"ภูมิภาคที่ไม่รู้จัก"}\r
     }\r
     Countries%short{\r
-        GB{"สหราชอาณาจักร"}\r
         HK{"ฮ่องกง"}\r
         MO{"มาเก๊า"}\r
         PS{"ปาเลสไตน์"}\r
-        UN{"สหประชาชาติ"}\r
         US{"สหรัฐฯ"}\r
     }\r
     Countries%variant{\r
@@ -314,5 +312,5 @@ th{
         SZ{"สวาซิแลนด์"}\r
         TL{"ติมอร์ตะวันออก"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/region/th_TH.txt b/source/data/region/th_TH.txt
deleted file mode 100644 (file)
index 6ab242c..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-// © 2016 and later: Unicode, Inc. and others.\r
-// License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * generated alias target\r
- */\r
-th_TH{\r
-    ___{""}\r
-}\r
diff --git a/source/data/region/th_TH_TRADITIONAL.txt b/source/data/region/th_TH_TRADITIONAL.txt
deleted file mode 100644 (file)
index a07213d..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-// © 2016 and later: Unicode, Inc. and others.\r
-// License & terms of use: http://www.unicode.org/copyright.html#License\r
-th_TH_TRADITIONAL{\r
-    calendar{\r
-        default{"buddhist"}\r
-    }\r
-}\r
index e11c543..7961fb0 100644 (file)
@@ -261,14 +261,12 @@ ti{
     }\r
     Countries%short{\r
         GB{"ዩኬይ"}\r
-        HK{"ሆንግ ኮንግ"}\r
         MO{"ማካው"}\r
         PS{"ፍልስጤም"}\r
         US{"ዩኤስ"}\r
     }\r
     Countries%variant{\r
         CI{"አይቮሪ ኮስት"}\r
-        CZ{"CZ"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3560942..bd6c9d9 100644 (file)
@@ -298,7 +298,6 @@ tk{
         ZZ{"Näbelli sebit"}\r
     }\r
     Countries%short{\r
-        GB{"Birleşen Patyşalyk"}\r
         HK{"Gonkong"}\r
         MO{"Makao"}\r
         PS{"Palestina"}\r
@@ -313,5 +312,5 @@ tk{
         SZ{"Swazilend"}\r
         TL{"Gündogar Timor"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 921c995..ffd34e5 100644 (file)
@@ -298,7 +298,6 @@ to{
         ZZ{"Potu fonua taʻeʻiloa pe hala"}\r
     }\r
     Countries%short{\r
-        GB{"Pilitānia"}\r
         HK{"Hongi Kongi"}\r
         MO{"Makau"}\r
         PS{"Palesitaine"}\r
@@ -307,11 +306,9 @@ to{
     Countries%variant{\r
         CD{"Kongo (LTK)"}\r
         CG{"Kongo (Lepupelika)"}\r
-        CI{"Matafonua ʻAivolī"}\r
         CZ{"Lepupelika Seki"}\r
         FK{"ʻOtumotu Malivina"}\r
         SZ{"Suasilani"}\r
-        TL{"Timoa fakahahake"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 677e7b7..e71dfc7 100644 (file)
@@ -314,5 +314,5 @@ tr{
         SZ{"Svaziland"}\r
         TL{"Doğu Timor"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d945dad..68eb39e 100644 (file)
@@ -252,5 +252,5 @@ tt{
     Countries%variant{\r
         CD{"Конго (КДР)"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4064e75..add1050 100644 (file)
@@ -226,5 +226,5 @@ twq{
         ZM{"Zambi"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b3fb38c..17ec957 100644 (file)
@@ -226,5 +226,5 @@ tzm{
         ZM{"Zambya"}\r
         ZW{"Zimbabwi"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1f0ff80..9fccb29 100644 (file)
@@ -305,5 +305,5 @@ ug{
         CI{"پىل چىشى قىرغىقى"}\r
         FK{"فالكلاند ئاراللىرى (ئىسلاس مالۋىناس)"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 08f575a..0896aea 100644 (file)
@@ -298,7 +298,6 @@ uk{
         ZZ{"Невідомий регіон"}\r
     }\r
     Countries%short{\r
-        GB{"Велика Британія"}\r
         HK{"Гонконг"}\r
         MO{"Макао"}\r
         PS{"Палестина"}\r
@@ -315,5 +314,5 @@ uk{
         SZ{"Свазіленд"}\r
         TL{"Східний Тимор"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a1ba126..e506564 100644 (file)
@@ -302,7 +302,6 @@ ur{
         HK{"ہانگ کانگ"}\r
         MO{"مکاؤ"}\r
         PS{"فلسطین"}\r
-        UN{"اقوام متحدہ"}\r
         US{"امریکا"}\r
     }\r
     Countries%variant{\r
@@ -314,5 +313,5 @@ ur{
         SZ{"سوازی لینڈ"}\r
         TL{"مشرقی تیمور"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 210ea57..ccf89e2 100644 (file)
@@ -29,5 +29,5 @@ ur_IN{
     Countries%variant{\r
         FK{"جزائر فاکلینڈ (اسلاس مالویناس)"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5c968d7..09bb63d 100644 (file)
@@ -311,8 +311,7 @@ uz{
         CI{"Fil suyagi qirg‘og‘i"}\r
         CZ{"Chexiya Respublikasi"}\r
         FK{"Folklend (Malvin) orollari"}\r
-        SZ{"Svazilend"}\r
         TL{"Sharqiy Timor"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index dec8c25..0169118 100644 (file)
@@ -5,5 +5,5 @@ uz_Arab{
     Countries{\r
         AF{"افغانستان"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index dd2027c..1b14652 100644 (file)
@@ -294,7 +294,6 @@ uz_Cyrl{
         ZZ{"Номаълум минтақа"}\r
     }\r
     Countries%short{\r
-        GB{"Буюк Британия"}\r
         HK{"Гонконг"}\r
         MO{"Макао"}\r
         PS{"Фаластин"}\r
@@ -308,5 +307,5 @@ uz_Cyrl{
         FK{"Фолкленд (Малвин) ороллари"}\r
         TL{"Шарқий Тимор"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fab5249..e0f4ba8 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 uz_Latn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 569d0d0..b8b3a29 100644 (file)
@@ -259,5 +259,5 @@ vai{
     Countries%short{\r
         MO{"ꕮꗛꖺ"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bc303c4..14d892c 100644 (file)
@@ -226,5 +226,5 @@ vai_Latn{
         ZM{"Zambiya"}\r
         ZW{"Zimbabhuwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8aaf4a5..f361880 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 vai_Vaii{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 616e9c6..8423751 100644 (file)
@@ -298,12 +298,9 @@ vi{
         ZZ{"Vùng không xác định"}\r
     }\r
     Countries%short{\r
-        GB{"Vương quốc Anh"}\r
         HK{"Hồng Kông"}\r
         MO{"Macao"}\r
         PS{"Palestine"}\r
-        UN{"Liên hiệp quốc"}\r
-        US{"Hoa Kỳ"}\r
     }\r
     Countries%variant{\r
         CD{"Cộng hòa Dân chủ Congo"}\r
@@ -314,5 +311,5 @@ vi{
         SZ{"Eswatini"}\r
         TL{"Đông Timor"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5198571..1360113 100644 (file)
@@ -226,5 +226,5 @@ vun{
         ZM{"Zambia"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0f9e492..dfb30c9 100644 (file)
@@ -297,5 +297,5 @@ wae{
         FK{"Falklandinslä (Malwine)"}\r
         TL{"Wešttimor"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 744fbd0..7ee0210 100644 (file)
@@ -254,5 +254,5 @@ wo{
         CD{"Kongo (R K D)"}\r
         CG{"Réewum Kongo"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 57ef147..c0f2d22 100644 (file)
@@ -5,5 +5,5 @@ xh{
         MK{"uMntla Macedonia"}\r
         ZA{"eMzantsi Afrika"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0d537c0..83f199c 100644 (file)
@@ -225,5 +225,5 @@ xog{
         ZM{"Zambya"}\r
         ZW{"Zimbabwe"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6518c5a..b3bdda9 100644 (file)
@@ -225,5 +225,5 @@ yav{
         ZM{"saambíi"}\r
         ZW{"simbapuwé"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 006832c..989f382 100644 (file)
@@ -230,5 +230,5 @@ yi{
     Countries%variant{\r
         TL{"מזרח טימאר"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9d8d714..cd45d47 100644 (file)
@@ -2,13 +2,18 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 yo{\r
     Countries{\r
+        001{"Agbáyé"}\r
+        002{"Áfíríkà"}\r
         003{"Àríwá Amẹ́ríkà"}\r
         005{"Gúúṣù Amẹ́ríkà"}\r
+        009{"Oceania"}\r
         011{"Ìwọ̀ oorùn Afíríkà"}\r
         013{"Ààrin Gbùgbùn Àmẹ́ríkà"}\r
         014{"Ìlà Oorùn Áfíríkà"}\r
+        015{"Northern Africa"}\r
         017{"Ààrín gbùngbùn Afíríkà"}\r
         018{"Apágúúsù Áfíríkà"}\r
+        019{"Amẹ́ríkà"}\r
         021{"Apáàríwá Amẹ́ríkà"}\r
         029{"Káríbíànù"}\r
         030{"Ìlà Òòrùn Eṣíà"}\r
@@ -19,12 +24,16 @@ yo{
         054{"Mẹlanéṣíà"}\r
         057{"Agbègbè Maikironéṣíà"}\r
         061{"Polineṣíà"}\r
+        142{"Asia"}\r
         143{"Ààrin Gbùngbùn Éṣíà"}\r
         145{"Ìwọ̀ Òòrùn Eṣíà"}\r
+        150{"Europe"}\r
         151{"Ìlà Òrùn Yúrópù"}\r
         154{"Northern Europe"}\r
         155{"Ìwọ̀ Òòrùn Yúrópù"}\r
+        202{"Sàhárà Áfíríkà"}\r
         419{"Látín Amẹ́ríkà"}\r
+        AC{"Erékùsù Ascension"}\r
         AD{"Orílẹ́ède Ààndórà"}\r
         AE{"Orílẹ́ède Ẹmirate ti Awọn Arabu"}\r
         AF{"Orílẹ́ède Àfùgànístánì"}\r
@@ -33,11 +42,13 @@ yo{
         AL{"Orílẹ́ède Àlùbàníánì"}\r
         AM{"Orílẹ́ède Améníà"}\r
         AO{"Orílẹ́ède Ààngólà"}\r
+        AQ{"Antakítíkà"}\r
         AR{"Orílẹ́ède Agentínà"}\r
         AS{"Sámóánì ti Orílẹ́ède Àméríkà"}\r
         AT{"Orílẹ́ède Asítíríà"}\r
         AU{"Orílẹ́ède Ástràlìá"}\r
         AW{"Orílẹ́ède Árúbà"}\r
+        AX{"Àwọn Erékùsù ti Åland"}\r
         AZ{"Orílẹ́ède Asẹ́bájánì"}\r
         BA{"Orílẹ́ède Bọ̀síníà àti Ẹtisẹgófínà"}\r
         BB{"Orílẹ́ède Bábádósì"}\r
@@ -48,16 +59,20 @@ yo{
         BH{"Orílẹ́ède Báránì"}\r
         BI{"Orílẹ́ède Bùùrúndì"}\r
         BJ{"Orílẹ́ède Bẹ̀nẹ̀"}\r
+        BL{"St. Barthélemy"}\r
         BM{"Orílẹ́ède Bémúdà"}\r
         BN{"Orílẹ́ède Búrúnẹ́lì"}\r
         BO{"Orílẹ́ède Bọ̀lífíyà"}\r
+        BQ{"Caribbean Netherlands"}\r
         BR{"Orilẹ̀-èdè Bàràsílì"}\r
         BS{"Orílẹ́ède Bàhámásì"}\r
         BT{"Orílẹ́ède Bútánì"}\r
+        BV{"Erékùsù Bouvet"}\r
         BW{"Orílẹ́ède Bọ̀tìsúwánà"}\r
         BY{"Orílẹ́ède Bélárúsì"}\r
         BZ{"Orílẹ́ède Bèlísẹ̀"}\r
         CA{"Orílẹ́ède Kánádà"}\r
+        CC{"Erékùsù Cocos (Keeling)"}\r
         CD{"Orilẹ́ède Kóngò"}\r
         CF{"Orílẹ́ède Àrin gùngun Áfíríkà"}\r
         CG{"Orílẹ́ède Kóngò"}\r
@@ -68,17 +83,22 @@ yo{
         CM{"Orílẹ́ède Kamerúúnì"}\r
         CN{"Orilẹ̀-èdè Ṣáínà"}\r
         CO{"Orílẹ́ède Kòlómíbìa"}\r
+        CP{"Erékùsù Clipperston"}\r
         CR{"Orílẹ́ède Kuusita Ríkà"}\r
         CU{"Orílẹ́ède Kúbà"}\r
         CV{"Orílẹ́ède Etíokun Kápé féndè"}\r
+        CW{"Curaçao"}\r
+        CX{"Erékùsù Christmas"}\r
         CY{"Orílẹ́ède Kúrúsì"}\r
         CZ{"Orílẹ́ède ṣẹ́ẹ́kì"}\r
         DE{"Orílẹèdè Jámánì"}\r
+        DG{"Diego Gaṣia"}\r
         DJ{"Orílẹ́ède Díbọ́ótì"}\r
         DK{"Orílẹ́ède Dẹ́mákì"}\r
         DM{"Orílẹ́ède Dòmíníkà"}\r
         DO{"Orilẹ́ède Dòmíníkánì"}\r
         DZ{"Orílẹ́ède Àlùgèríánì"}\r
+        EA{"Seuta àti Melilla"}\r
         EC{"Orílẹ́ède Ekuádò"}\r
         EE{"Orílẹ́ède Esitonia"}\r
         EG{"Orílẹ́ède Égípítì"}\r
@@ -87,16 +107,19 @@ yo{
         ES{"Orílẹ́ède Sipani"}\r
         ET{"Orílẹ́ède Etopia"}\r
         EU{"Ìṣọ̀kan Yúròpù"}\r
+        EZ{"Agbègbè Euro"}\r
         FI{"Orílẹ́ède Filandi"}\r
         FJ{"Orílẹ́ède Fiji"}\r
         FK{"Orílẹ́ède Etikun Fakalandi"}\r
         FM{"Orílẹ́ède Makoronesia"}\r
+        FO{"Àwọn Erékùsù ti Faroe"}\r
         FR{"Orílẹ́ède Faranse"}\r
         GA{"Orílẹ́ède Gabon"}\r
         GB{"Orílẹ́èdè Gẹ̀ẹ́sì"}\r
         GD{"Orílẹ́ède Genada"}\r
         GE{"Orílẹ́ède Gọgia"}\r
         GF{"Orílẹ́ède Firenṣi Guana"}\r
+        GG{"Guernsey"}\r
         GH{"Orílẹ́ède Gana"}\r
         GI{"Orílẹ́ède Gibaratara"}\r
         GL{"Orílẹ́ède Gerelandi"}\r
@@ -105,23 +128,29 @@ yo{
         GP{"Orílẹ́ède Gadelope"}\r
         GQ{"Orílẹ́ède Ekutoria Gini"}\r
         GR{"Orílẹ́ède Geriisi"}\r
+        GS{"Gúúsù Georgia àti Gúúsù Àwọn Erékùsù Sandwich"}\r
         GT{"Orílẹ́ède Guatemala"}\r
         GU{"Orílẹ́ède Guamu"}\r
         GW{"Orílẹ́ède Gene-Busau"}\r
         GY{"Orílẹ́ède Guyana"}\r
+        HK{"Hong Kong SAR ti Ṣáìnà"}\r
+        HM{"Erékùsù Heard àti Erékùsù McDonald"}\r
         HN{"Orílẹ́ède Hondurasi"}\r
         HR{"Orílẹ́ède Kòróátíà"}\r
         HT{"Orílẹ́ède Haati"}\r
         HU{"Orílẹ́ède Hungari"}\r
+        IC{"Ẹrékùsù Kánárì"}\r
         ID{"Orílẹ́ède Indonesia"}\r
         IE{"Orílẹ́ède Ailandi"}\r
         IL{"Orílẹ́ède Iserẹli"}\r
+        IM{"Isle of Man"}\r
         IN{"Orílẹ́ède India"}\r
         IO{"Orílẹ́ède Etíkun Índíánì ti Ìlú Bírítísì"}\r
         IQ{"Orílẹ́ède Iraki"}\r
         IR{"Orílẹ́ède Irani"}\r
         IS{"Orílẹ́ède Aṣilandi"}\r
         IT{"Orílẹ́ède Itáli"}\r
+        JE{"Jersey"}\r
         JM{"Orílẹ́ède Jamaika"}\r
         JO{"Orílẹ́ède Jọdani"}\r
         JP{"Orílẹ́ède Japani"}\r
@@ -150,12 +179,15 @@ yo{
         MA{"Orílẹ́ède Moroko"}\r
         MC{"Orílẹ́ède Monako"}\r
         MD{"Orílẹ́ède Modofia"}\r
+        ME{"Montenegro"}\r
+        MF{"St. Martin"}\r
         MG{"Orílẹ́ède Madasika"}\r
         MH{"Orílẹ́ède Etikun Máṣali"}\r
         MK{"Àríwá Macedonia"}\r
         ML{"Orílẹ́ède Mali"}\r
         MM{"Orílẹ́ède Manamari"}\r
         MN{"Orílẹ́ède Mogolia"}\r
+        MO{"Macao SAR ti Ṣáìnà"}\r
         MP{"Orílẹ́ède Etikun Guusu Mariana"}\r
         MQ{"Orílẹ́ède Matinikuwi"}\r
         MR{"Orílẹ́ède Maritania"}\r
@@ -195,8 +227,10 @@ yo{
         PW{"Orílẹ́ède Paalu"}\r
         PY{"Orílẹ́ède Paraguye"}\r
         QA{"Orílẹ́ède Kota"}\r
+        QO{"Agbègbè Oceania"}\r
         RE{"Orílẹ́ède Riuniyan"}\r
         RO{"Orílẹ́ède Romaniya"}\r
+        RS{"Serbia"}\r
         RU{"Orílẹ́ède Rọṣia"}\r
         RW{"Orílẹ́ède Ruwanda"}\r
         SA{"Orílẹ́ède Saudi Arabia"}\r
@@ -207,6 +241,7 @@ yo{
         SG{"Orílẹ́ède Singapo"}\r
         SH{"Orílẹ́ède Hẹlena"}\r
         SI{"Orílẹ́ède Silofania"}\r
+        SJ{"Svalbard & Jan Mayen"}\r
         SK{"Orílẹ́ède Silofakia"}\r
         SL{"Orílẹ́ède Siria looni"}\r
         SM{"Orílẹ́ède Sani Marino"}\r
@@ -216,8 +251,10 @@ yo{
         SS{"Gúúsù Sudan"}\r
         ST{"Orílẹ́ède Sao tomi ati piriiṣipi"}\r
         SV{"Orílẹ́ède Ẹẹsáfádò"}\r
+        SX{"Sint Maarten"}\r
         SY{"Orílẹ́ède Siria"}\r
         SZ{"Orílẹ́ède Saṣiland"}\r
+        TA{"Tristan da Kunha"}\r
         TC{"Orílẹ́ède Tọọki ati Etikun Kakọsi"}\r
         TD{"Orílẹ́ède ṣààdì"}\r
         TF{"Agbègbè Gúúsù Faranṣé"}\r
@@ -236,6 +273,7 @@ yo{
         TZ{"Orílẹ́ède Tàǹsáníà"}\r
         UA{"Orílẹ́ède Ukarini"}\r
         UG{"Orílẹ́ède Uganda"}\r
+        UM{"Àwọn Erékùsù Kékèké Agbègbè US"}\r
         UN{"Ìṣọ̀kan àgbáyé"}\r
         US{"Orílẹ̀-èdè Amẹrikà"}\r
         UY{"Orílẹ́ède Nruguayi"}\r
@@ -249,6 +287,8 @@ yo{
         VU{"Orílẹ́ède Faniatu"}\r
         WF{"Orílẹ́ède Wali ati futuna"}\r
         WS{"Orílẹ́ède Samọ"}\r
+        XA{"Pseudo-Accents"}\r
+        XB{"Pseudo-Bidi"}\r
         XK{"Kòsófò"}\r
         YE{"Orílẹ́ède yemeni"}\r
         YT{"Orílẹ́ède Mayote"}\r
@@ -265,5 +305,5 @@ yo{
         SZ{"Síwásìlandì"}\r
         TL{"Ìlà Òòrùn Tímọ̀"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 377ee92..2ce55df 100644 (file)
@@ -6,6 +6,7 @@ yo_BJ{
         005{"Gúúshù Amɛ́ríkà"}\r
         011{"Ìwɔ̀ oorùn Afíríkà"}\r
         013{"Ààrin Gbùgbùn Àmɛ́ríkà"}\r
+        019{"Amɛ́ríkà"}\r
         021{"Apáàríwá Amɛ́ríkà"}\r
         030{"Ìlà Òòrùn Eshíà"}\r
         034{"Gúúshù Eshíà"}\r
@@ -32,6 +33,7 @@ yo_BJ{
         AT{"Orílɛ́ède Asítíríà"}\r
         AU{"Orílɛ́ède Ástràlìá"}\r
         AW{"Orílɛ́ède Árúbà"}\r
+        AX{"Àwɔn Erékùsù ti Åland"}\r
         AZ{"Orílɛ́ède Asɛ́bájánì"}\r
         BA{"Orílɛ́ède Bɔ̀síníà àti Ɛtisɛgófínà"}\r
         BB{"Orílɛ́ède Bábádósì"}\r
@@ -68,6 +70,7 @@ yo_BJ{
         CY{"Orílɛ́ède Kúrúsì"}\r
         CZ{"Orílɛ́ède shɛ́ɛ́kì"}\r
         DE{"Orílɛèdè Jámánì"}\r
+        DG{"Diego Gashia"}\r
         DJ{"Orílɛ́ède Díbɔ́ótì"}\r
         DK{"Orílɛ́ède Dɛ́mákì"}\r
         DM{"Orílɛ́ède Dòmíníkà"}\r
@@ -85,6 +88,7 @@ yo_BJ{
         FJ{"Orílɛ́ède Fiji"}\r
         FK{"Orílɛ́ède Etikun Fakalandi"}\r
         FM{"Orílɛ́ède Makoronesia"}\r
+        FO{"Àwɔn Erékùsù ti Faroe"}\r
         FR{"Orílɛ́ède Faranse"}\r
         GA{"Orílɛ́ède Gabon"}\r
         GB{"Orílɛ́èdè Gɛ̀ɛ́sì"}\r
@@ -99,14 +103,17 @@ yo_BJ{
         GP{"Orílɛ́ède Gadelope"}\r
         GQ{"Orílɛ́ède Ekutoria Gini"}\r
         GR{"Orílɛ́ède Geriisi"}\r
+        GS{"Gúúsù Georgia àti Gúúsù Àwɔn Erékùsù Sandwich"}\r
         GT{"Orílɛ́ède Guatemala"}\r
         GU{"Orílɛ́ède Guamu"}\r
         GW{"Orílɛ́ède Gene-Busau"}\r
         GY{"Orílɛ́ède Guyana"}\r
+        HK{"Hong Kong SAR ti Sháìnà"}\r
         HN{"Orílɛ́ède Hondurasi"}\r
         HR{"Orílɛ́ède Kòróátíà"}\r
         HT{"Orílɛ́ède Haati"}\r
         HU{"Orílɛ́ède Hungari"}\r
+        IC{"Ɛrékùsù Kánárì"}\r
         ID{"Orílɛ́ède Indonesia"}\r
         IE{"Orílɛ́ède Ailandi"}\r
         IL{"Orílɛ́ède Iserɛli"}\r
@@ -149,6 +156,7 @@ yo_BJ{
         ML{"Orílɛ́ède Mali"}\r
         MM{"Orílɛ́ède Manamari"}\r
         MN{"Orílɛ́ède Mogolia"}\r
+        MO{"Macao SAR ti Sháìnà"}\r
         MP{"Orílɛ́ède Etikun Guusu Mariana"}\r
         MQ{"Orílɛ́ède Matinikuwi"}\r
         MR{"Orílɛ́ède Maritania"}\r
@@ -228,6 +236,7 @@ yo_BJ{
         TZ{"Orílɛ́ède Tàǹsáníà"}\r
         UA{"Orílɛ́ède Ukarini"}\r
         UG{"Orílɛ́ède Uganda"}\r
+        UM{"Àwɔn Erékùsù Kékèké Agbègbè US"}\r
         UN{"Ìshɔ̀kan àgbáyé"}\r
         US{"Orílɛ̀-èdè Amɛrikà"}\r
         UY{"Orílɛ́ède Nruguayi"}\r
@@ -253,5 +262,5 @@ yo_BJ{
     Countries%variant{\r
         TL{"Ìlà Òòrùn Tímɔ̀"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index eca8fa8..15f1bfa 100644 (file)
@@ -298,20 +298,16 @@ yue{
         ZZ{"未知區域"}\r
     }\r
     Countries%short{\r
-        GB{"英國"}\r
         HK{"香港"}\r
         MO{"澳門"}\r
         PS{"巴勒斯坦"}\r
-        US{"美國"}\r
     }\r
     Countries%variant{\r
         CD{"剛果民主共和國"}\r
         CG{"剛果共和國"}\r
-        CI{"象牙海岸"}\r
         CZ{"捷克共和國"}\r
         FK{"福克蘭群島 (馬爾維納斯群島)"}\r
         SZ{"斯威士蘭"}\r
-        TL{"東帝汶"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5c0111c..ed39786 100644 (file)
@@ -299,20 +299,16 @@ yue_Hans{
         ZZ{"未知区域"}\r
     }\r
     Countries%short{\r
-        GB{"英国"}\r
         HK{"香港"}\r
         MO{"澳门"}\r
         PS{"巴勒斯坦"}\r
-        US{"美国"}\r
     }\r
     Countries%variant{\r
         CD{"刚果民主共和国"}\r
         CG{"刚果共和国"}\r
-        CI{"象牙海岸"}\r
         CZ{"捷克共和国"}\r
         FK{"福克兰群岛 (马尔维纳斯群岛)"}\r
         SZ{"斯威士兰"}\r
-        TL{"东帝汶"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b28249c..f2c5c91 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 yue_Hant{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a0fc550..2bd147b 100644 (file)
@@ -229,5 +229,5 @@ zgh{
         ZM{"ⵣⴰⵎⴱⵢⴰ"}\r
         ZW{"ⵣⵉⵎⴱⴰⴱⵡⵉ"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ac16413..4e6b448 100644 (file)
@@ -298,12 +298,9 @@ zh{
         ZZ{"未知地区"}\r
     }\r
     Countries%short{\r
-        GB{"英国"}\r
         HK{"香港"}\r
         MO{"澳门"}\r
         PS{"巴勒斯坦"}\r
-        UN{"联合国"}\r
-        US{"美国"}\r
     }\r
     Countries%variant{\r
         CD{"刚果民主共和国"}\r
@@ -312,5 +309,5 @@ zh{
         CZ{"捷克共和国"}\r
         FK{"福克兰群岛(马尔维纳斯群岛)"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ad4e8b3..54a1c90 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh_Hans{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7696bba..9e04b60 100644 (file)
@@ -299,21 +299,16 @@ zh_Hant{
         ZZ{"未知區域"}\r
     }\r
     Countries%short{\r
-        GB{"英國"}\r
         HK{"香港"}\r
         MO{"澳門"}\r
         PS{"巴勒斯坦"}\r
-        UN{"聯合國"}\r
-        US{"美國"}\r
     }\r
     Countries%variant{\r
         CD{"剛果民主共和國"}\r
         CG{"剛果共和國"}\r
-        CI{"象牙海岸"}\r
         CZ{"捷克共和國"}\r
         FK{"福克蘭群島(馬爾維納斯群島)"}\r
         SZ{"史瓦濟蘭"}\r
-        TL{"東帝汶"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 10c8240..d1631e2 100644 (file)
@@ -95,5 +95,5 @@ zh_Hant_HK{
         ZM{"贊比亞"}\r
         ZW{"津巴布韋"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 448f7d6..cf72366 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh_Hant_MO{\r
     %%Parent{"zh_Hant_HK"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6327ef6..c124ef1 100644 (file)
@@ -107,7 +107,6 @@ zu{
         ES{"i-Spain"}\r
         ET{"i-Ethiopia"}\r
         EU{"i-European Union"}\r
-        EZ{"EZ"}\r
         FI{"i-Finland"}\r
         FJ{"i-Fiji"}\r
         FK{"i-Falkland Islands"}\r
@@ -313,5 +312,5 @@ zu{
         FK{"i-Falkland Islands (Islas Malvinas)"}\r
         TL{"i-East Timor"}\r
     }\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/translit/Latn_Cans.txt b/source/data/translit/Latn_Cans.txt
new file mode 100644 (file)
index 0000000..d828287
--- /dev/null
@@ -0,0 +1,190 @@
+# © 2016 and later: Unicode, Inc. and others.\r
+# License & terms of use: http://www.unicode.org/copyright.html#License\r
+#\r
+# File: Latn_Cans.txt\r
+# Generated from CLDR\r
+#\r
+\r
+šwê ↔ ᔗ ;\r
+šwî ↔ ᔛ ;\r
+šwi ↔ ᔙ ;\r
+šwô ↔ ᔟ ;\r
+šwo ↔ ᔝ ;\r
+šwâ ↔ ᔣ ;\r
+šwa ↔ ᔡ ;\r
+pwê ↔ ᐺ ;\r
+pwî ↔ ᐾ ;\r
+pwi ↔ ᐼ ;\r
+pwô ↔ ᑂ ;\r
+pwo ↔ ᑀ ;\r
+pwâ ↔ ᑆ ;\r
+pwa ↔ ᑄ ;\r
+twê ↔ ᑗ ;\r
+twî ↔ ᑛ ;\r
+twi ↔ ᑙ ;\r
+twô ↔ ᑟ ;\r
+two ↔ ᑝ ;\r
+twâ ↔ ᑣ ;\r
+twa ↔ ᑡ ;\r
+kwê ↔ ᑴ ;\r
+kwî ↔ ᑸ ;\r
+kwi ↔ ᑶ ;\r
+kwô ↔ ᑼ ;\r
+kwo ↔ ᑺ ;\r
+kwâ ↔ ᒀ ;\r
+kwa ↔ ᑾ ;\r
+cwê ↔ ᒒ ;\r
+cwî ↔ ᒖ ;\r
+cwi ↔ ᒔ ;\r
+cwô ↔ ᒚ ;\r
+cwo ↔ ᒘ ;\r
+cwâ ↔ ᒞ ;\r
+cwa ↔ ᒜ ;\r
+mwê ↔ ᒬ ;\r
+mwî ↔ ᒰ ;\r
+mwi ↔ ᒮ ;\r
+mwô ↔ ᒴ ;\r
+mwo ↔ ᒲ ;\r
+mwâ ↔ ᒸ ;\r
+mwa ↔ ᒶ ;\r
+nwê ↔ ᓉ ;\r
+nwâ ↔ ᓍ ;\r
+nwa ↔ ᓋ ;\r
+lwê ↔ ᓜ ;\r
+lwî ↔ ᓠ ;\r
+lwi ↔ ᓞ ;\r
+lwô ↔ ᓤ ;\r
+lwo ↔ ᓢ ;\r
+lwâ ↔ ᓨ ;\r
+lwa ↔ ᓦ ;\r
+swê ↔ ᓶ ;\r
+swî ↔ ᓺ ;\r
+swi ↔ ᓸ ;\r
+swô ↔ ᓾ ;\r
+swo ↔ ᓼ ;\r
+swâ ↔ ᔂ ;\r
+swa ↔ ᔀ ;\r
+ywê ↔ ᔯ ;\r
+ywî ↔ ᔳ ;\r
+ywi ↔ ᔱ ;\r
+ywô ↔ ᔷ ;\r
+ywo ↔ ᔵ ;\r
+ywâ ↔ ᔻ ;\r
+ywa ↔ ᔹ ;\r
+rwâ ↔ ᕎ ;\r
+hk ↔ ᕽ ;\r
+thê ↔ ᖧ ;\r
+thî ↔ ᖩ ;\r
+thi ↔ ᖨ ;\r
+thô ↔ ᖫ ;\r
+tho ↔ ᖪ ;\r
+thâ ↔ ᖭ ;\r
+tha ↔ ᖬ ;\r
+th ↔ ᖮ ;\r
+šê ↔ ᔐ ;\r
+šî ↔ ᔑ ;\r
+ši ↔ ᔒ ;\r
+šô ↔ ᔓ ;\r
+šo ↔ ᔔ ;\r
+šâ ↔ ᔕ ;\r
+ša ↔ ᔖ ;\r
+š ↔ ᔥ ;\r
+wê ↔ ᐌ ;\r
+wî ↔ ᐐ ;\r
+wi ↔ ᐎ ;\r
+wô ↔ ᐔ ;\r
+wo ↔ ᐒ ;\r
+wâ ↔ ᐙ ;\r
+wa ↔ ᐗ ;\r
+w ↔ ᐤ ;\r
+pê ↔ ᐯ ;\r
+pî ↔ ᐲ ;\r
+pi ↔ ᐱ ;\r
+pô ↔ ᐴ ;\r
+po ↔ ᐳ ;\r
+pâ ↔ ᐹ ;\r
+pa ↔ ᐸ ;\r
+p ↔ ᑉ ;\r
+tê ↔ ᑌ ;\r
+tî ↔ ᑏ ;\r
+ti ↔ ᑎ ;\r
+tô ↔ ᑑ ;\r
+to ↔ ᑐ ;\r
+tâ ↔ ᑖ ;\r
+ta ↔ ᑕ ;\r
+t ↔ ᑦ ;\r
+kê ↔ ᑫ ;\r
+kî ↔ ᑮ ;\r
+ki ↔ ᑭ ;\r
+kô ↔ ᑰ ;\r
+ko ↔ ᑯ ;\r
+kâ ↔ ᑳ ;\r
+ka ↔ ᑲ ;\r
+kw ↔ ᒄ ;\r
+k ↔ ᒃ ;\r
+cê ↔ ᒉ ;\r
+cî ↔ ᒌ ;\r
+ci ↔ ᒋ ;\r
+cô ↔ ᒎ ;\r
+co ↔ ᒍ ;\r
+câ ↔ ᒑ ;\r
+ca ↔ ᒐ ;\r
+c ↔ ᒡ ;\r
+mê ↔ ᒣ ;\r
+mî ↔ ᒦ ;\r
+mi ↔ ᒥ ;\r
+mô ↔ ᒨ ;\r
+mo ↔ ᒧ ;\r
+mâ ↔ ᒫ ;\r
+ma ↔ ᒪ ;\r
+m ↔ ᒻ ;\r
+nê ↔ ᓀ ;\r
+nî ↔ ᓃ ;\r
+ni ↔ ᓂ ;\r
+nô ↔ ᓅ ;\r
+no ↔ ᓄ ;\r
+nâ ↔ ᓈ ;\r
+na ↔ ᓇ ;\r
+n ↔ ᓐ ;\r
+lê ↔ ᓓ ;\r
+lî ↔ ᓖ ;\r
+li ↔ ᓕ ;\r
+lô ↔ ᓘ ;\r
+lo ↔ ᓗ ;\r
+lâ ↔ ᓛ ;\r
+la ↔ ᓚ ;\r
+l ↔ ᓪ ;\r
+sê ↔ ᓭ ;\r
+sî ↔ ᓰ ;\r
+si ↔ ᓯ ;\r
+sô ↔ ᓲ ;\r
+so ↔ ᓱ ;\r
+sâ ↔ ᓵ ;\r
+sa ↔ ᓴ ;\r
+s ↔ ᔅ ;\r
+yê ↔ ᔦ ;\r
+yî ↔ ᔩ ;\r
+yi ↔ ᔨ ;\r
+yô ↔ ᔫ ;\r
+yo ↔ ᔪ ;\r
+yâ ↔ ᔮ ;\r
+ya ↔ ᔭ ;\r
+y ↔ ᔾ ;\r
+rê ↔ ᕂ ;\r
+rî ↔ ᕇ ;\r
+ri ↔ ᕆ ;\r
+rô ↔ ᕉ ;\r
+ro ↔ ᕈ ;\r
+râ ↔ ᕌ ;\r
+ra ↔ ᕋ ;\r
+r ↔ ᕐ ;\r
+hê ↔ ᐁ ;\r
+hî ↔ ᐄ ;\r
+hi ↔ ᐃ ;\r
+hô ↔ ᐆ ;\r
+ho ↔ ᐅ ;\r
+hâ ↔ ᐋ ;\r
+ha ↔ ᐊ ;\r
+h ↔ ᐦ ;\r
+'.' ↔ ᙮ ;\r
+\r
diff --git a/source/data/translit/Latn_Ethi.txt b/source/data/translit/Latn_Ethi.txt
new file mode 100644 (file)
index 0000000..9065f13
--- /dev/null
@@ -0,0 +1,283 @@
+# © 2016 and later: Unicode, Inc. and others.\r
+# License & terms of use: http://www.unicode.org/copyright.html#License\r
+#\r
+# File: Latn_Ethi.txt\r
+# Generated from CLDR\r
+#\r
+\r
+#by Mark Williamson, dehua_andrew_chen@hotmail.com\r
+#comments appreciated\r
+#syllabary\r
+ha↔ሀ;\r
+ha←ሃ;\r
+he↔ሄ;\r
+hi↔ሂ;\r
+hī↔ህ;\r
+ho↔ሆ;\r
+hha ← ሓ;\r
+hhe↔ሔ;\r
+hhi↔ሒ;\r
+hhī↔ሕ;\r
+hhu↔ሑ;\r
+hho↔ሖ;\r
+hhwa↔ሗ;\r
+ʿa↔ኣ;\r
+ʿē↔አ;\r
+ʿe↔ኤ;\r
+ʿi↔ኢ;\r
+ʿī↔እ;\r
+ʿu↔ኡ;\r
+ʿo↔ኦ;\r
+ʿwa↔ኧ;\r
+ʾa↔ዓ;\r
+ʾe↔ዔ;\r
+ʾi↔ዒ;\r
+ʾī↔ዕ;\r
+ʾu↔ዑ;\r
+ʾo↔ዖ;\r
+qha↔ቓ;\r
+qhe↔ቔ;\r
+qhi↔ቒ;\r
+qhī↔ቕ;\r
+qhu↔ቑ;\r
+qho↔ቖ;\r
+qhwa↔ቛ;\r
+qhwē↔ቘ;\r
+qhwe↔ቜ;\r
+qhwi↔ቚ;\r
+q a↔ቃ;\r
+qē↔ቀ;\r
+qe↔ቄ;\r
+qi↔ቂ;\r
+qī↔ቅ;\r
+qo↔ቆ;\r
+qwa↔ቋ;\r
+qwē↔ቈ;\r
+qwe↔ቌ;\r
+qwi↔ቊ;\r
+ka↔ካ;\r
+kē↔ከ;\r
+ke↔ኬ;\r
+ki↔ኪ;\r
+kī↔ክ;\r
+ku↔ኩ;\r
+kwa↔ኳ;\r
+kwē↔ኮ;\r
+kwe↔ኴ;\r
+kwi↔ኰ;\r
+kwī↔ኵ;\r
+kxa↔ኻ;\r
+kxē↔ኸ;\r
+kxe↔ኼ;\r
+kxi↔ኺ;\r
+kxī↔ኽ;\r
+kxu↔ኹ;\r
+kxo↔ኾ;\r
+kxwa↔ዃ;\r
+kxwē↔ዀ;\r
+kxwe↔ዄ;\r
+kxwi↔ዂ;\r
+kxwī↔ዅ;\r
+xa↔ኃ;\r
+xē↔ኀ;\r
+xe↔ኄ;\r
+xi↔ኂ;\r
+xī↔ኅ;\r
+xo↔ኆ;\r
+xwa↔ኋ;\r
+xwē↔ኈ;\r
+xwe↔ኌ;\r
+xwi↔ኊ;\r
+gga↔ጛ;\r
+ggē↔ጘ;\r
+gge↔ጜ;\r
+ggi↔ጚ;\r
+ggu↔ጙ;\r
+ggo↔ጞ;\r
+ga↔ጋ;\r
+gē↔ገ;\r
+ge↔ጌ;\r
+gi↔ጊ;\r
+gu↔ጉ;\r
+go↔ጎ;\r
+gwa↔ጓ;\r
+gwe↔ጔ;\r
+gwi↔ጒ;\r
+gwī↔ጕ;\r
+ca↔ቻ;\r
+cē↔ቸ;\r
+ce↔ቼ;\r
+ci↔ቺ;\r
+cī↔ች;\r
+cu↔ቹ;\r
+co↔ቾ;\r
+cwa↔ቿ;\r
+cha↔ጫ;\r
+chē↔ጨ;\r
+che↔ጬ;\r
+chi↔ጪ;\r
+chī↔ጭ;\r
+chu↔ጩ;\r
+cho↔ጮ;\r
+chwa↔ጯ;\r
+ja↔ጃ;\r
+jē↔ጀ;\r
+je↔ጄ;\r
+ji↔ጂ;\r
+jī↔ጅ;\r
+jo↔ጆ;\r
+jwa↔ጇ;\r
+za↔ዛ;\r
+zē↔ዘ;\r
+ze↔ዜ;\r
+zi↔ዚ;\r
+zu↔ዙ;\r
+zo↔ዞ;\r
+zwa↔ዟ;\r
+zha↔ዣ;\r
+zhē↔ዠ;\r
+zhe↔ዤ;\r
+zhi↔ዢ;\r
+zhī↔ዥ;\r
+zhu↔ዡ;\r
+zho↔ዦ;\r
+zhwa↔ዧ;\r
+sa↔ሳ;\r
+sē↔ሰ;\r
+se↔ሴ;\r
+si↔ሲ;\r
+sī↔ስ;\r
+su↔ሱ;\r
+so↔ሶ;\r
+swa↔ሷ;\r
+sha↔ሻ;\r
+shē↔ሸ;\r
+she↔ሼ;\r
+shi↔ሺ;\r
+shī↔ሽ;\r
+shu↔ሹ;\r
+sho↔ሾ;\r
+shwa↔ሿ;\r
+sza↔ሣ;\r
+szē↔ሠ;\r
+sze↔ሤ;\r
+szi↔ሢ;\r
+szī↔ሥ;\r
+szu↔ሡ;\r
+szo↔ሦ;\r
+szwa↔ሧ;\r
+tsa↔ጻ;\r
+tsē↔ጸ;\r
+tse↔ጼ;\r
+tsi↔ጺ;\r
+tsī↔ጽ;\r
+tsu↔ጹ;\r
+tso↔ጾ;\r
+tswa↔ጿ;\r
+tha↔ጣ;\r
+thē↔ጠ;\r
+the↔ጤ;\r
+thi↔ጢ;\r
+thī↔ጥ;\r
+thu↔ጡ;\r
+tho↔ጦ;\r
+thwa↔ጧ;\r
+ta↔ታ;\r
+tē↔ተ;\r
+te↔ቴ;\r
+ti↔ቲ;\r
+tī↔ት;\r
+tu↔ቱ;\r
+to↔ቶ;\r
+twa↔ቷ;\r
+dda↔ዻ;\r
+ddē↔ዸ;\r
+dde↔ዼ;\r
+ddi↔ዺ;\r
+ddī↔ዽ;\r
+ddu↔ዹ;\r
+ddo↔ዾ;\r
+ddwa↔ዿ;\r
+da↔ዳ;\r
+dē↔ደ;\r
+de↔ዴ;\r
+di↔ዲ;\r
+dī↔ድ;\r
+du↔ዱ;\r
+do↔ዶ;\r
+dwa↔ዷ;\r
+na↔ና;\r
+ne↔ኔ;\r
+ni↔ኒ;\r
+nī↔ን;\r
+nu↔ኑ;\r
+no↔ኖ;\r
+nwa↔ኗ;\r
+nya↔ኛ;\r
+nyē↔ኘ;\r
+nye↔ኜ;\r
+nyi↔ኚ;\r
+nyu↔ኙ;\r
+nyo↔ኞ;\r
+nywa↔ኟ;\r
+ya↔ያ;\r
+yē↔የ;\r
+ye↔ዬ;\r
+yi↔ዪ;\r
+yī↔ይ;\r
+yu↔ዩ;\r
+yo↔ዮ;\r
+ra↔ራ;\r
+rē↔ረ;\r
+re↔ሬ;\r
+ri↔ሪ;\r
+rī↔ር;\r
+ru↔ሩ;\r
+ro↔ሮ;\r
+rwa↔ሯ;\r
+la↔ላ;\r
+lē↔ለ;\r
+le↔ሌ;\r
+li↔ሊ;\r
+lu↔ሉ;\r
+lo↔ሎ;\r
+ma↔ማ;\r
+mē↔መ;\r
+me↔ሜ;\r
+mi↔ሚ;\r
+mu↔ሙ;\r
+mo↔ሞ;\r
+mwa↔ሟ;\r
+ba↔ባ;\r
+bē↔በ;\r
+be↔ቤ;\r
+bi↔ቢ;\r
+bī↔ብ;\r
+bu↔ቡ;\r
+bo↔ቦ;\r
+bwa↔ቧ;\r
+pha↔ጳ;\r
+phē↔ጰ;\r
+phe↔ጴ;\r
+phi↔ጲ;\r
+phī↔ጵ;\r
+phu↔ጱ;\r
+pho↔ጶ;\r
+phwa↔ጷ;\r
+va↔ቫ;\r
+vē↔ቨ;\r
+ve↔ቬ;\r
+vi↔ቪ;\r
+vī↔ቭ;\r
+vu↔ቩ;\r
+vo↔ቮ;\r
+vwa↔ቯ;\r
+wa↔ዋ;\r
+wē↔ወ;\r
+we↔ዌ;\r
+wi↔ዊ;\r
+wu↔ዉ;\r
+wo↔ዎ;\r
+#punctuation\r
+#numerals\r
+\r
diff --git a/source/data/translit/my_my_Latn.txt b/source/data/translit/my_my_Latn.txt
new file mode 100644 (file)
index 0000000..1a0cd8f
--- /dev/null
@@ -0,0 +1,372 @@
+# © 2016 and later: Unicode, Inc. and others.\r
+# License & terms of use: http://www.unicode.org/copyright.html#License\r
+#\r
+# File: my_my_Latn.txt\r
+# Generated from CLDR\r
+#\r
+\r
+# Author: Arne Mauser, Moe Aung Naing\r
+# Description: Myanmar Romanization\r
+$consonants = [\u1000-\u1021];\r
+# Character combinations: "1 consonant 5 vowels"\r
+# ($consonants) ြောင\u103A\u1037 > | $1 yount;\r
+($consonants) \u103C\u1031\u102C\u1004\u103A\u1037 > | $1 yount;\r
+# ($consonants) ျောင\u103A\u1037 > | $1 yount;\r
+($consonants)  \u103B\u1031\u102C\u1004\u103A\u1037 > | $1 yount;\r
+# ($consonants) ြောင\u103Aး > | $1 yaungg;\r
+($consonants) \u103C\u1031\u102C\u1004\u103A\u1038 > | $1 yaungg;\r
+# ($consonants) ျောင\u103Aး > | $1 yaungg;\r
+($consonants) \u103B\u1031\u102C\u1004\u103A\u1038  > | $1 yaungg;\r
+#  Character combinations: "1 consonant 4 vowels"\r
+# \u102D\u102Fင\u103Aး > ine;\r
+\u102D\u102F\u1004\u103A\u1038 > ine;\r
+# ($consonants) ြောင\u103A > | $1 yaung;\r
+($consonants) \u103C\u1031\u102C\u1004\u103A  > | $1 yaung;\r
+# ($consonants) ျောင\u103A > | $1 yaung;\r
+($consonants) \u103B\u1031\u102C\u1004\u103A  > | $1 yaung;\r
+#  Character combinations: "1 consonant 3 vowels"\r
+# ောက\u103A > out; # 1c3v\r
+\u1031\u102C\u1000\u103A > out;\r
+# ေါက\u103A > out; # 1c3v\r
+\u1031\u102B\u1000\u103A > out;\r
+# \u102D\u102Fက\u103A > ite; # 1c3v\r
+\u102D\u102F\u1000\u103A > ite;\r
+# \u102D\u102Fင\u103A > ine; # 1c3v\r
+\u102D\u102F\u1004\u103A > ine;\r
+# \u102D\u102Fယ\u103A > o; # 1c3v\r
+\u102D\u102F\u101A\u103A > o;\r
+# ျင\u103Aး > yinn;\r
+\u103B\u1004\u103A\u1038 > yinn;\r
+# ျ\u102Dန\u103A > yane;\r
+\u103B\u102D\u1014\u103A > yane;\r
+# ($consonants) ောင\u103Aး > | $1 aungg;\r
+($consonants) \u1031\u102C\u1004\u103A\u1038 > | $1 aungg;\r
+# ($consonants) ေါင\u103Aး > | $1 aungg;\r
+($consonants) \u1031\u102B\u1004\u103A\u1038 > | $1 aungg;\r
+# ($consonants) ောင\u103A > | $1 aung;\r
+($consonants) \u1031\u102C\u1004\u103A > | $1 aung;\r
+# ($consonants) ေါင\u103A >  | $1 aung;\r
+($consonants) \u1031\u102B\u1004\u103A > | $1 aung;\r
+# ($consonants) ြင\u103A\u1037 > | $1 yint;\r
+($consonants) \u103C\u1004\u103A\u1037 > | $1 yint;\r
+# ($consonants) ြင\u103Aး > | $1 yinn;\r
+($consonants) \u103C\u1004\u103A\u1038 > | $1 yinn;\r
+# ($consonants) ြင\u103A > | $1 yin;\r
+($consonants) \u103C\u1004\u103A > | $1 yin;\r
+# ($consonants) ျင\u103A\u1037 > | $1 yint;\r
+($consonants) \u103B\u1004\u103A\u1037 > | $1 yint;\r
+# ($consonants) ျင\u103Aး > | $1 yinn;\r
+($consonants) \u103B\u1004\u103A\u1038 > | $1 yinn;\r
+# ($consonants) ျင\u103A > | $1 yin;\r
+($consonants) \u103B\u1004\u103A > | $1 yin;\r
+# ($consonants) ြစ\u103A > | $1 yit;\r
+($consonants) \u103C\u1005\u103A > | $1 yit;\r
+# ($consonants) ျစ\u103A > | $1 yit;\r
+($consonants)  \u103B\u1005\u103A > | $1 yit;\r
+# ($consonants) ြည\u103A > | $1 yi;\r
+($consonants) \u103C\u100A\u103A > | $1 yi;\r
+# ($consonants) ြန\u103A > | $1 yan;\r
+($consonants) \u103C\u1014\u103A > | $1 yan;\r
+# ($consonants) ြန\u103Aး > | $1 yann;\r
+($consonants) \u103C\u1014\u103A\u1038 > | $1 yann;\r
+# ($consonants) ျန\u103Aး > | $1 yann;\r
+($consonants) \u103B\u1014\u103A\u1038 > | $1 yann;\r
+# \u102Dမ\u103Aး > aim;\r
+\u102D\u1019\u103A\u1038 > aim;\r
+# \u102Dန\u103Aး > ein;\r
+\u102D\u1014\u103A\u1038 > ein;\r
+#  Character combinations: "4 vowels"\r
+# ျ\u102D\u102Fး > yoe;\r
+\u103B\u102D\u102F\u1038 > yoe;\r
+# ($consonants) ြော\u103A > | $1 yaw;\r
+($consonants) \u103C\u1031\u102C\u103A > | $1 yaw;\r
+# ($consonants) ျော\u103A > | $1 yaw;\r
+($consonants) \u103B\u1031\u102C\u103A > | $1 yaw;\r
+# Character combinations: "1 consonant 2 vowels"\r
+# ဥ\u102Eး > u;\r
+\u1025\u102E\u1038 > u;  # this is a misspelling of \u1026\r
+# \u103Dက\u103A > wat;\r
+\u103D\u1000\u103A > wat;\r
+# \u103Dင\u103A > win;\r
+\u103D\u1004\u103A > win;\r
+# န\u103Aး > ann;\r
+\u1014\u103A\u1038 > ann;\r
+# န\u103A\u1037 > ant;\r
+\u1014\u103A\u1037 > ant;\r
+# င\u103Aး > inn;\r
+\u1004\u103A\u1038 > inn;\r
+# င\u103A\u1037 > int;\r
+\u1004\u103A\u1037 > int;\r
+# ည\u103Aး > ee;\r
+\u100A\u103A\u1038 > ee;\r
+# ည\u103A\u1037 > eet; # 1c2v\r
+\u100A\u103A\u1037 > eet;\r
+# \u102Dတ\u103A > ate; # 1c2v\r
+\u102D\u1010\u103A > ate;\r
+# \u102Fတ\u103A > ote; # 1c2v\r
+\u102F\u1010\u103A > ote;\r
+# \u102Fန\u103A > one; # 1c2v\r
+\u102F\u1014\u103A > one;\r
+# \u102Fပ\u103A > ote; # 1c2v\r
+\u102F\u1015\u103A > ote;\r
+# \u102Dမ\u103A > aim; # 1c2v\r
+\u102D\u1019\u103A > ain;\r
+# \u102Dန\u103A > ein;\r
+\u102D\u1014\u103A > ein;\r
+# ယ\u103A\u1037 > ae; # 1c2v\r
+\u101A\u103A\u1037 > ae;\r
+# သျ\u103E > sh; # 1c2v\r
+\u101E\u103B\u103E > sh;\r
+# လျ\u103E > sh; # 1c2v\r
+\u101C\u103B\u103E > sh;\r
+# ရ\u103D\u103E > shw; # 1c2v\r
+\u101B\u103D\u103E > shw;\r
+# ြတ\u103A > yat;\r
+\u103C\u1010\u103A > yat;\r
+# ျတ\u103A > yat;\r
+\u103B\u1010\u103A > yat;\r
+# ြက\u103A  > yet;\r
+\u103C\u1000\103A > yet;\r
+# ျက\u103A > yet;\r
+\u103B\u1000\u103A > yet;\r
+# ျင\u103A > yin;\r
+\u103B\u1004\u103A > yin;\r
+# ြင\u103A > yin;\r
+\u103C\u1004\u103A > yin;\r
+#  Character combinations: "3 vowels"\r
+# ော\u1037 > ot;\r
+\u1031\u102C\u1037 > ot;\r
+# ေါ\u1037 > ot;\r
+\u1031\u102B\u1037 > ot;\r
+# ော\u103A > aw;\r
+\u1031\u102C\u103A > aw;\r
+# ေါ\u103A > aw;\r
+\u1031\u102B\u103A > aw;\r
+# \u102D\u102F\u1037 > hoet; # 3v\r
+\u102D\u102F\u1037 > hoet;\r
+# \u102D\u102Fး > oe;\r
+\u102D\u102F\u1038 > oe;\r
+# \u102F\u1036း > one; # 3v\r
+\u102F\u1036\u1038 > one;\r
+# ျား > yarr;\r
+\u103B\u102C\u1038 > yarr;\r
+# ြား > yarr;\r
+\u103C\u102C\u1038 > yarr;\r
+# ြ\u102Eး > yee;\r
+\u103C\u102E\u1038 > yee;\r
+# ($consonants) ြော  > | $1 yaww;\r
+($consonants) \u103C\u1031\u102C > | $1 yaww;\r
+# ($consonants) ျော  > | $1 yaww;\r
+($consonants) \u103B\u1031\u102C > | $1 yaww;\r
+# \u103Dား > warr;\r
+\u103D\u102C\u1038 > warr;\r
+# \u103Dေ\u1037 > wae;\r
+\u103D\u1031\u1037 > wae;\r
+#  Character combinations: "1 consonant 1 vowel"\r
+#က\u103A > at;\r
+\u1000\u103A > at;\r
+# င\u103A > in;\r
+\u1004\u103A > in;\r
+# စ\u103A > it;\r
+\u1005\u103A > it;\r
+# ဥ\u103A > in;\r
+\u1009\u103A > in;\r
+\u1025\u103A > in;  # \u1025 is a misspelling of \u1009\r
+# ည\u103A > i;\r
+\u100A\u103A > i;\r
+# ပ\u103A > ut;\r
+\u1015\u103A > ut;\r
+# ယ\u103A > al;\r
+\u101A\u103A > al;\r
+# တ\u103A > at;\r
+\u1010\u103A > at;\r
+# န\u103A > an;\r
+\u1014\u103A > an;\r
+# ရ\u103E > sh; # 1c1v\r
+\u101B\u103E > sh;\r
+#  Character combinations: "2 vowel"\r
+# ြ\u102E > ye;\r
+\u103C\u102E > ye;\r
+# ြ\u102F > yu;\r
+\u103C\u102F > yu;\r
+# ြေ > yay;\r
+\u103C\u1031 > yay;\r
+# \u103Dေ > way;\r
+\u103D\u1031 > way;\r
+# \u103D\u1032 > wal;\r
+\u103D\u1032 > wal;\r
+# \u103E\u102F > hu;\r
+\u103E\u102F > hu;\r
+# \u1030\u1037 > hu;\r
+\u1030\u1037 > hu;\r
+# \u1030း > uu;\r
+\u1030\u1038 > uu;\r
+# ါး > arr;\r
+\u102B\u1038 > arr;\r
+# ား > arr;\r
+\u102C\u1038 > arr;\r
+# \u102Eး > ee;\r
+\u102E\u1038 > ee;\r
+# ေး > ayy;\r
+\u1031\u1038 > ayy;\r
+# ေ\u1037 > ae;\r
+\u1031\u1037 > ae;\r
+# \u1032\u1037 > ae;\r
+\u1032\u1037 > ae;\r
+# ော > aw;\r
+\u1031\u102C > aw;\r
+# ေါ > aw;\r
+\u1031\u102B > aw;\r
+# \u102D\u102F > o;\r
+\u102D\u102F > o;\r
+# \u102F\u1036 > one;\r
+\u102F\u1036 > one;\r
+# \u103Eာ > har;\r
+\u103E\u102C > har;\r
+# Character combinations: "1 vowel"\r
+# ါ > ar;\r
+\u102B > ar;\r
+# ာ  > ar;\r
+\u102C > ar;\r
+# \u102D > i;\r
+\u102D > i;\r
+# \u102E  > e;\r
+\u102E > e;\r
+# \u102F  > u;\r
+\u102F > u;\r
+# \u1030 > uu;\r
+\u1030 > uu;\r
+# ေ  > ay;\r
+\u1031 > ay;\r
+# \u1032  > ell;\r
+\u1032 > ell;\r
+# \u1036  > an;\r
+\u1036 > an;\r
+# ျ > ya;\r
+\u103B > ya;\r
+# ြ  > ya;\r
+\u103C > ya;\r
+#  \u103E  > ha;\r
+\u103E > ha;\r
+# Modern Myanmar digits\r
+\u1040 > 0 ;\r
+\u1041 > 1 ;\r
+\u1042 > 2 ;\r
+\u1043 > 3 ;\r
+\u1044 > 4 ;\r
+\u1045 > 5 ;\r
+\u1046 > 6 ;\r
+\u1047 > 7 ;\r
+\u1048 > 8 ;\r
+\u1049 > 9 ;\r
+# Myanmar Punctuation\r
+\u104A > \, ; # MYANMAR SIGN LITTLE SECTION\r
+\u104B > \. ; # MYANMAR SIGN SECTION\r
+\u104C > ; # MYANMAR SYMBOL LOCATIVE\r
+\u104D > ; # MYANMAR SYMBOL COMPLETED\r
+# Inserting 'a' in between to consonants.\r
+($consonants) ($consonants) > | $1 a $2 ;\r
+# Consonant clusters\r
+# က\u1039က > kk ;\r
+# က\u1039ခ > khk ;\r
+# ဂ\u1039ဂ > gg ;\r
+# ဂ\u1039ဃ > ggh ;\r
+# င\u103A\u1039ဂ > ngg ;\r
+# Fundamental Burmese Consonants:\r
+# က > k;\r
+\u1000 > k;\r
+# ခ > hk;\r
+\u1001 > hk;\r
+# ဂ > g;\r
+\u1002 > g;\r
+# ဃ > gh;\r
+\u1003 > gh;\r
+# င > ng;\r
+\u1004 > ng;\r
+# စ > hc;\r
+\u1005 > hc;\r
+# ဆ > s;\r
+\u1006 > s;\r
+# ဇ > j;\r
+\u1007 > j;\r
+# ဈ > jh;\r
+\u1008 > jh;\r
+# ဉ > ny;\r
+\u1009 > ny;\r
+# ည > ny;\r
+\u100A > ny;\r
+# ဋ > t;\r
+\u100B > t;\r
+# ဌ > ht;\r
+\u100C > ht;\r
+# ဍ > d;\r
+\u100D > d;\r
+# ဎ > dh;\r
+\u100E > dh;\r
+# ဏ > n;\r
+\u100F > n;\r
+# တ > t;\r
+\u1010 > t;\r
+# ထ > ht;\r
+\u1011 > ht;\r
+# ဒ > d;\r
+\u1012 > d;\r
+# ဓ > dh;\r
+\u1013 > dh;\r
+# န > n;\r
+\u1014 > n;\r
+# ပ > p;\r
+\u1015 > p;\r
+# ဖ > hp;\r
+\u1016 > hp;\r
+# ဗ > b;\r
+\u1017 > b;\r
+# ဘ > bh;\r
+\u1018 > bh;\r
+# မ > m;\r
+\u1019 > m;\r
+# ယ > y;\r
+\u101A > y;\r
+# ရ > r;\r
+\u101B > r;\r
+# လ > l;\r
+\u101C > l;\r
+# ဝ > w;\r
+\u101D > w;\r
+# သ > s;\r
+\u101E > s;\r
+# ဟ > h;\r
+\u101F > h;\r
+# ဠ > l;\r
+\u1020 > l;\r
+# အ > a;\r
+\u1021 > a;\r
+# ဣ > i;\r
+\u1023 > i;\r
+# ဤ > i;\r
+\u1024 > i;\r
+# ဥ > u;\r
+\u1025 > u;\r
+# ဦ > u;\r
+\u1026 > u;\r
+# ဧ > e;\r
+\u1027 > e;\r
+# ဩ > au;\r
+\u1029 > au;\r
+# ဪ > au;\r
+\u102A > au;\r
+# TODO: this character repeats the previous romanized letter\r
+# း > ;\r
+\u1038 > ;\r
+# \u1037  > ;\r
+\u1037 > ;\r
+#  \u103A  > ;\r
+\u103A > ;\r
+# ၏ > eat ;\r
+\u104F > eat;\r
+# \u1039  > ;\r
+\u1039 > ;\r
+# Leftovers\r
+\u103D > w;\r
+::NFC(NFD);\r
+\r
index 8a4cec4..d744f7e 100644 (file)
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-//\r
-// File: root.txt\r
-// Generated from CLDR\r
-//\r
-root {\r
-    RuleBasedTransliteratorIDs {\r
-        Tone-Digit {\r
-            alias {"Pinyin-NumericPinyin"}\r
-        }\r
-        Digit-Tone {\r
-            alias {"NumericPinyin-Pinyin"}\r
+/**\r
+ * File: root.txt\r
+ */\r
+root:table(nofallback){\r
+    "%Translit%Hex"{"%Translit%Hex"}\r
+    "%Translit%UnicodeChar"{"%Translit%UnicodeChar"}\r
+    "%Translit%UnicodeName"{"%Translit%UnicodeName"}\r
+    RuleBasedTransliteratorIDs{\r
+        ASCII-Latin{\r
+            file{\r
+                direction{"REVERSE"}\r
+                resource:process(transliterator){"Latin_ASCII.txt"}\r
+            }\r
         }\r
-        Amharic-Latin/BGN {\r
-            alias {"am-am_Latn/BGN"}\r
+        Accents-Any{\r
+            file{\r
+                direction{"REVERSE"}\r
+                resource:process(transliterator){"Any_Accents.txt"}\r
+            }\r
         }\r
-        am-Latn-t-am-m0-bgn {\r
-            alias {"am-am_Latn/BGN"}\r
+        Amharic-Latin/BGN{\r
+            alias{"am-am_Latn/BGN"}\r
         }\r
-        am-am_Latn/BGN {\r
-            file {\r
-                resource:process(transliterator) {"am_am_Latn_BGN.txt"}\r
-                direction {"FORWARD"}\r
+        Any-Accents{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Any_Accents.txt"}\r
             }\r
         }\r
-\r
-        und-t-d0-accents {\r
-            alias {"Any-Accents"}\r
+        Any-Publishing{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Any_Publishing.txt"}\r
+            }\r
         }\r
-        Any-Accents {\r
-            file {\r
-                resource:process(transliterator) {"Any_Accents.txt"}\r
-                direction {"FORWARD"}\r
+        Arab-Latn{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Arab_Latn.txt"}\r
             }\r
         }\r
-        und-t-s0-accents {\r
-            alias {"Accents-Any"}\r
+        Arabic-Latin{\r
+            alias{"Arab-Latn"}\r
         }\r
-        Accents-Any {\r
-            file {\r
-                resource:process(transliterator) {"Any_Accents.txt"}\r
-                direction {"REVERSE"}\r
-            }\r
+        Arabic-Latin/BGN{\r
+            alias{"ar-ar_Latn/BGN"}\r
+        }\r
+        Armenian-Latin{\r
+            alias{"Armn-Latn"}\r
         }\r
-\r
-        und-t-d0-publish {\r
-            alias {"Any-Publishing"}\r
+        Armenian-Latin/BGN{\r
+            alias{"hy-hy_Latn/BGN"}\r
         }\r
-        Any-Publishing {\r
-            file {\r
-                resource:process(transliterator) {"Any_Publishing.txt"}\r
-                direction {"FORWARD"}\r
+        Armn-Latn{\r
+            file{\r
+                direction{"REVERSE"}\r
+                resource:process(transliterator){"Latn_Armn.txt"}\r
             }\r
         }\r
-        und-t-s0-publish {\r
-            alias {"Publishing-Any"}\r
+        Azerbaijani-Latin/BGN{\r
+            alias{"az_Cyrl-az/BGN"}\r
         }\r
-        Publishing-Any {\r
-            file {\r
-                resource:process(transliterator) {"Any_Publishing.txt"}\r
-                direction {"REVERSE"}\r
+        Belarusian-Latin/BGN{\r
+            alias{"be-be_Latn/BGN"}\r
+        }\r
+        Beng-Arab{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Beng_Arab.txt"}\r
             }\r
         }\r
-\r
-        Arabic-Latin {\r
-            alias {"Arab-Latn"}\r
+        Beng-Deva{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Beng_Deva.txt"}\r
+            }\r
         }\r
-        und-Latn-t-und-arab {\r
-            alias {"Arab-Latn"}\r
+        Beng-Gujr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Beng_Gujr.txt"}\r
+            }\r
         }\r
-        Arab-Latn {\r
-            file {\r
-                resource:process(transliterator) {"Arab_Latn.txt"}\r
-                direction {"FORWARD"}\r
+        Beng-Guru{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Beng_Guru.txt"}\r
             }\r
         }\r
-        Latin-Arabic {\r
-            alias {"Latn-Arab"}\r
+        Beng-Knda{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Beng_Knda.txt"}\r
+            }\r
         }\r
-        und-Arab-t-und-latn {\r
-            alias {"Latn-Arab"}\r
+        Beng-Latn{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Beng_Latn.txt"}\r
+            }\r
         }\r
-        Latn-Arab {\r
-            file {\r
-                resource:process(transliterator) {"Arab_Latn.txt"}\r
-                direction {"REVERSE"}\r
+        Beng-Mlym{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Beng_Mlym.txt"}\r
             }\r
         }\r
-\r
-        Arabic-Latin/BGN {\r
-            alias {"ar-ar_Latn/BGN"}\r
+        Beng-Orya{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Beng_Orya.txt"}\r
+            }\r
         }\r
-        ar-Latn-t-ar-m0-bgn {\r
-            alias {"ar-ar_Latn/BGN"}\r
+        Beng-Taml{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Beng_Taml.txt"}\r
+            }\r
         }\r
-        ar-ar_Latn/BGN {\r
-            file {\r
-                resource:process(transliterator) {"ar_ar_Latn_BGN.txt"}\r
-                direction {"FORWARD"}\r
+        Beng-Telu{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Beng_Telu.txt"}\r
             }\r
         }\r
-\r
-        Armenian-Latin/BGN {\r
-            alias {"hy-hy_Latn/BGN"}\r
+        Beng-ur{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Beng_ur.txt"}\r
+            }\r
         }\r
-        hy-Latn-t-hy-m0-bgn {\r
-            alias {"hy-hy_Latn/BGN"}\r
+        Bengali-Arabic{\r
+            alias{"Beng-Arab"}\r
         }\r
-        hy-hy_Latn/BGN {\r
-            file {\r
-                resource:process(transliterator) {"hy_hy_Latn_BGN.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        Bengali-Devanagari{\r
+            alias{"Beng-Deva"}\r
         }\r
-\r
-        Azerbaijani-Latin/BGN {\r
-            alias {"az_Cyrl-az/BGN"}\r
+        Bengali-Gujarati{\r
+            alias{"Beng-Gujr"}\r
         }\r
-        az-t-az-cyrl-m0-bgn {\r
-            alias {"az_Cyrl-az/BGN"}\r
+        Bengali-Gurmukhi{\r
+            alias{"Beng-Guru"}\r
         }\r
-        az_Cyrl-az/BGN {\r
-            file {\r
-                resource:process(transliterator) {"az_Cyrl_az_BGN.txt"}\r
-                direction {"FORWARD"}\r
+        Bengali-InterIndic{\r
+            internal{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Bengali_InterIndic.txt"}\r
             }\r
         }\r
-\r
-        Belarusian-Latin/BGN {\r
-            alias {"be-be_Latn/BGN"}\r
+        Bengali-Kannada{\r
+            alias{"Beng-Knda"}\r
         }\r
-        be-Latn-t-be-m0-bgn {\r
-            alias {"be-be_Latn/BGN"}\r
+        Bengali-Latin{\r
+            alias{"Beng-Latn"}\r
         }\r
-        be-be_Latn/BGN {\r
-            file {\r
-                resource:process(transliterator) {"be_be_Latn_BGN.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        Bengali-Malayalam{\r
+            alias{"Beng-Mlym"}\r
+        }\r
+        Bengali-Oriya{\r
+            alias{"Beng-Orya"}\r
         }\r
-\r
-        Bengali-Arabic {\r
-            alias {"Beng-Arab"}\r
+        Bengali-Tamil{\r
+            alias{"Beng-Taml"}\r
         }\r
-        und-Arab-t-und-beng {\r
-            alias {"Beng-Arab"}\r
+        Bengali-Telugu{\r
+            alias{"Beng-Telu"}\r
         }\r
-        Beng-Arab {\r
-            file {\r
-                resource:process(transliterator) {"Beng_Arab.txt"}\r
-                direction {"FORWARD"}\r
+        Bopo-Latn{\r
+            file{\r
+                direction{"REVERSE"}\r
+                resource:process(transliterator){"Latn_Bopo.txt"}\r
             }\r
         }\r
-\r
-        Bengali-Devanagari {\r
-            alias {"Beng-Deva"}\r
+        Bopomofo-Latin{\r
+            alias{"Bopo-Latn"}\r
         }\r
-        und-Deva-t-und-beng {\r
-            alias {"Beng-Deva"}\r
+        Bulgarian-Latin/BGN{\r
+            alias{"bg-bg_Latn/BGN"}\r
         }\r
-        Beng-Deva {\r
-            file {\r
-                resource:process(transliterator) {"Beng_Deva.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        Burmese-Latin{\r
+            alias{"my-my_Latn"}\r
         }\r
-\r
-        Bengali-Gujarati {\r
-            alias {"Beng-Gujr"}\r
+        CanadianAboriginal-Latin{\r
+            alias{"Cans-Latn"}\r
         }\r
-        und-Gujr-t-und-beng {\r
-            alias {"Beng-Gujr"}\r
+        Cans-Latn{\r
+            file{\r
+                direction{"REVERSE"}\r
+                resource:process(transliterator){"Latn_Cans.txt"}\r
+            }\r
         }\r
-        Beng-Gujr {\r
-            file {\r
-                resource:process(transliterator) {"Beng_Gujr.txt"}\r
-                direction {"FORWARD"}\r
+        ConjoiningJamo-Latin{\r
+            internal{\r
+                direction{"REVERSE"}\r
+                resource:process(transliterator){"Latin_ConjoiningJamo.txt"}\r
             }\r
         }\r
-\r
-        Bengali-Gurmukhi {\r
-            alias {"Beng-Guru"}\r
+        Cyrillic-Latin{\r
+            alias{"Cyrl-Latn"}\r
         }\r
-        und-Guru-t-und-beng {\r
-            alias {"Beng-Guru"}\r
+        Cyrl-Latn{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Cyrl_Latn.txt"}\r
+            }\r
         }\r
-        Beng-Guru {\r
-            file {\r
-                resource:process(transliterator) {"Beng_Guru.txt"}\r
-                direction {"FORWARD"}\r
+        Deva-Arab{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Deva_Arab.txt"}\r
             }\r
         }\r
-\r
-        Bengali-InterIndic {\r
-            internal {\r
-                resource:process(transliterator) {"Bengali_InterIndic.txt"}\r
-                direction {"FORWARD"}\r
+        Deva-Beng{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Deva_Beng.txt"}\r
             }\r
         }\r
-\r
-        Bengali-Kannada {\r
-            alias {"Beng-Knda"}\r
+        Deva-Gujr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Deva_Gujr.txt"}\r
+            }\r
         }\r
-        und-Knda-t-und-beng {\r
-            alias {"Beng-Knda"}\r
+        Deva-Guru{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Deva_Guru.txt"}\r
+            }\r
         }\r
-        Beng-Knda {\r
-            file {\r
-                resource:process(transliterator) {"Beng_Knda.txt"}\r
-                direction {"FORWARD"}\r
+        Deva-Knda{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Deva_Knda.txt"}\r
             }\r
         }\r
-\r
-        Bengali-Latin {\r
-            alias {"Beng-Latn"}\r
+        Deva-Latn{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Deva_Latn.txt"}\r
+            }\r
         }\r
-        und-Latn-t-und-beng {\r
-            alias {"Beng-Latn"}\r
+        Deva-Mlym{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Deva_Mlym.txt"}\r
+            }\r
         }\r
-        Beng-Latn {\r
-            file {\r
-                resource:process(transliterator) {"Beng_Latn.txt"}\r
-                direction {"FORWARD"}\r
+        Deva-Orya{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Deva_Orya.txt"}\r
             }\r
         }\r
-\r
-        Bengali-Malayalam {\r
-            alias {"Beng-Mlym"}\r
+        Deva-Taml{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Deva_Taml.txt"}\r
+            }\r
         }\r
-        und-Mlym-t-und-beng {\r
-            alias {"Beng-Mlym"}\r
+        Deva-Telu{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Deva_Telu.txt"}\r
+            }\r
         }\r
-        Beng-Mlym {\r
-            file {\r
-                resource:process(transliterator) {"Beng_Mlym.txt"}\r
-                direction {"FORWARD"}\r
+        Deva-ur{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Deva_ur.txt"}\r
             }\r
         }\r
-\r
-        Bengali-Oriya {\r
-            alias {"Beng-Orya"}\r
+        Devanagari-Arabic{\r
+            alias{"Deva-Arab"}\r
+        }\r
+        Devanagari-Bengali{\r
+            alias{"Deva-Beng"}\r
         }\r
-        und-Orya-t-und-beng {\r
-            alias {"Beng-Orya"}\r
+        Devanagari-Gujarati{\r
+            alias{"Deva-Gujr"}\r
         }\r
-        Beng-Orya {\r
-            file {\r
-                resource:process(transliterator) {"Beng_Orya.txt"}\r
-                direction {"FORWARD"}\r
+        Devanagari-Gurmukhi{\r
+            alias{"Deva-Guru"}\r
+        }\r
+        Devanagari-InterIndic{\r
+            internal{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Devanagari_InterIndic.txt"}\r
             }\r
         }\r
-\r
-        Bengali-Tamil {\r
-            alias {"Beng-Taml"}\r
+        Devanagari-Kannada{\r
+            alias{"Deva-Knda"}\r
         }\r
-        und-Taml-t-und-beng {\r
-            alias {"Beng-Taml"}\r
+        Devanagari-Latin{\r
+            alias{"Deva-Latn"}\r
         }\r
-        Beng-Taml {\r
-            file {\r
-                resource:process(transliterator) {"Beng_Taml.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        Devanagari-Malayalam{\r
+            alias{"Deva-Mlym"}\r
         }\r
-\r
-        Bengali-Telugu {\r
-            alias {"Beng-Telu"}\r
+        Devanagari-Oriya{\r
+            alias{"Deva-Orya"}\r
         }\r
-        und-Telu-t-und-beng {\r
-            alias {"Beng-Telu"}\r
+        Devanagari-Tamil{\r
+            alias{"Deva-Taml"}\r
         }\r
-        Beng-Telu {\r
-            file {\r
-                resource:process(transliterator) {"Beng_Telu.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        Devanagari-Telugu{\r
+            alias{"Deva-Telu"}\r
         }\r
-\r
-        ur-t-und-beng {\r
-            alias {"Beng-ur"}\r
+        Digit-Tone{\r
+            alias{"NumericPinyin-Pinyin"}\r
         }\r
-        Beng-ur {\r
-            file {\r
-                resource:process(transliterator) {"Beng_ur.txt"}\r
-                direction {"FORWARD"}\r
+        Ethi-Latn{\r
+            file{\r
+                direction{"REVERSE"}\r
+                resource:process(transliterator){"Latn_Ethi.txt"}\r
             }\r
         }\r
-\r
-        Bulgarian-Latin/BGN {\r
-            alias {"bg-bg_Latn/BGN"}\r
+        Ethiopic-Latin{\r
+            alias{"Ethi-Latn"}\r
         }\r
-        bg-Latn-t-bg-m0-bgn {\r
-            alias {"bg-bg_Latn/BGN"}\r
+        Fullwidth-Halfwidth{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Fullwidth_Halfwidth.txt"}\r
+            }\r
         }\r
-        bg-bg_Latn/BGN {\r
-            file {\r
-                resource:process(transliterator) {"bg_bg_Latn_BGN.txt"}\r
-                direction {"FORWARD"}\r
+        Geor-Latn{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Geor_Latn.txt"}\r
             }\r
         }\r
-\r
-        Cyrillic-Latin {\r
-            alias {"Cyrl-Latn"}\r
+        Georgian-Latin{\r
+            alias{"Geor-Latn"}\r
         }\r
-        und-Latn-t-und-cyrl {\r
-            alias {"Cyrl-Latn"}\r
+        Georgian-Latin/BGN{\r
+            alias{"ka-ka_Latn/BGN"}\r
         }\r
-        Cyrl-Latn {\r
-            file {\r
-                resource:process(transliterator) {"Cyrl_Latn.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        Greek-Latin{\r
+            alias{"Grek-Latn"}\r
         }\r
-        Latin-Cyrillic {\r
-            alias {"Latn-Cyrl"}\r
+        Greek-Latin/BGN{\r
+            alias{"el-el_Latn/BGN"}\r
         }\r
-        und-Cyrl-t-und-latn {\r
-            alias {"Latn-Cyrl"}\r
+        Greek-Latin/UNGEGN{\r
+            alias{"Grek-Latn/UNGEGN"}\r
         }\r
-        Latn-Cyrl {\r
-            file {\r
-                resource:process(transliterator) {"Cyrl_Latn.txt"}\r
-                direction {"REVERSE"}\r
+        Grek-Latn{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Grek_Latn.txt"}\r
             }\r
         }\r
-\r
-        Devanagari-Arabic {\r
-            alias {"Deva-Arab"}\r
+        Grek-Latn/UNGEGN{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Grek_Latn_UNGEGN.txt"}\r
+            }\r
         }\r
-        und-Arab-t-und-deva {\r
-            alias {"Deva-Arab"}\r
+        Gujarati-Arabic{\r
+            alias{"Gujr-Arab"}\r
         }\r
-        Deva-Arab {\r
-            file {\r
-                resource:process(transliterator) {"Deva_Arab.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        Gujarati-Bengali{\r
+            alias{"Gujr-Beng"}\r
         }\r
-\r
-        Devanagari-Bengali {\r
-            alias {"Deva-Beng"}\r
+        Gujarati-Devanagari{\r
+            alias{"Gujr-Deva"}\r
         }\r
-        und-Beng-t-und-deva {\r
-            alias {"Deva-Beng"}\r
+        Gujarati-Gurmukhi{\r
+            alias{"Gujr-Guru"}\r
         }\r
-        Deva-Beng {\r
-            file {\r
-                resource:process(transliterator) {"Deva_Beng.txt"}\r
-                direction {"FORWARD"}\r
+        Gujarati-InterIndic{\r
+            internal{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Gujarati_InterIndic.txt"}\r
             }\r
         }\r
-\r
-        Devanagari-Gujarati {\r
-            alias {"Deva-Gujr"}\r
+        Gujarati-Kannada{\r
+            alias{"Gujr-Knda"}\r
         }\r
-        und-Gujr-t-und-deva {\r
-            alias {"Deva-Gujr"}\r
+        Gujarati-Latin{\r
+            alias{"Gujr-Latn"}\r
         }\r
-        Deva-Gujr {\r
-            file {\r
-                resource:process(transliterator) {"Deva_Gujr.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        Gujarati-Malayalam{\r
+            alias{"Gujr-Mlym"}\r
+        }\r
+        Gujarati-Oriya{\r
+            alias{"Gujr-Orya"}\r
         }\r
-\r
-        Devanagari-Gurmukhi {\r
-            alias {"Deva-Guru"}\r
+        Gujarati-Tamil{\r
+            alias{"Gujr-Taml"}\r
         }\r
-        und-Guru-t-und-deva {\r
-            alias {"Deva-Guru"}\r
+        Gujarati-Telugu{\r
+            alias{"Gujr-Telu"}\r
         }\r
-        Deva-Guru {\r
-            file {\r
-                resource:process(transliterator) {"Deva_Guru.txt"}\r
-                direction {"FORWARD"}\r
+        Gujr-Arab{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Gujr_Arab.txt"}\r
             }\r
         }\r
-\r
-        Devanagari-InterIndic {\r
-            internal {\r
-                resource:process(transliterator) {"Devanagari_InterIndic.txt"}\r
-                direction {"FORWARD"}\r
+        Gujr-Beng{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Gujr_Beng.txt"}\r
             }\r
         }\r
-\r
-        Devanagari-Kannada {\r
-            alias {"Deva-Knda"}\r
+        Gujr-Deva{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Gujr_Deva.txt"}\r
+            }\r
         }\r
-        und-Knda-t-und-deva {\r
-            alias {"Deva-Knda"}\r
+        Gujr-Guru{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Gujr_Guru.txt"}\r
+            }\r
         }\r
-        Deva-Knda {\r
-            file {\r
-                resource:process(transliterator) {"Deva_Knda.txt"}\r
-                direction {"FORWARD"}\r
+        Gujr-Knda{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Gujr_Knda.txt"}\r
             }\r
         }\r
-\r
-        Devanagari-Latin {\r
-            alias {"Deva-Latn"}\r
+        Gujr-Latn{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Gujr_Latn.txt"}\r
+            }\r
         }\r
-        und-Latn-t-und-deva {\r
-            alias {"Deva-Latn"}\r
+        Gujr-Mlym{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Gujr_Mlym.txt"}\r
+            }\r
         }\r
-        Deva-Latn {\r
-            file {\r
-                resource:process(transliterator) {"Deva_Latn.txt"}\r
-                direction {"FORWARD"}\r
+        Gujr-Orya{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Gujr_Orya.txt"}\r
             }\r
         }\r
-\r
-        Devanagari-Malayalam {\r
-            alias {"Deva-Mlym"}\r
+        Gujr-Taml{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Gujr_Taml.txt"}\r
+            }\r
         }\r
-        und-Mlym-t-und-deva {\r
-            alias {"Deva-Mlym"}\r
+        Gujr-Telu{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Gujr_Telu.txt"}\r
+            }\r
         }\r
-        Deva-Mlym {\r
-            file {\r
-                resource:process(transliterator) {"Deva_Mlym.txt"}\r
-                direction {"FORWARD"}\r
+        Gujr-ur{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Gujr_ur.txt"}\r
             }\r
         }\r
-\r
-        Devanagari-Oriya {\r
-            alias {"Deva-Orya"}\r
+        Gurmukhi-Arabic{\r
+            alias{"Guru-Arab"}\r
         }\r
-        und-Orya-t-und-deva {\r
-            alias {"Deva-Orya"}\r
+        Gurmukhi-Bengali{\r
+            alias{"Guru-Beng"}\r
         }\r
-        Deva-Orya {\r
-            file {\r
-                resource:process(transliterator) {"Deva_Orya.txt"}\r
-                direction {"FORWARD"}\r
+        Gurmukhi-Devanagari{\r
+            alias{"Guru-Deva"}\r
+        }\r
+        Gurmukhi-Gujarati{\r
+            alias{"Guru-Gujr"}\r
+        }\r
+        Gurmukhi-InterIndic{\r
+            internal{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Gurmukhi_InterIndic.txt"}\r
             }\r
         }\r
-\r
-        Devanagari-Tamil {\r
-            alias {"Deva-Taml"}\r
+        Gurmukhi-Kannada{\r
+            alias{"Guru-Knda"}\r
         }\r
-        und-Taml-t-und-deva {\r
-            alias {"Deva-Taml"}\r
+        Gurmukhi-Latin{\r
+            alias{"Guru-Latn"}\r
         }\r
-        Deva-Taml {\r
-            file {\r
-                resource:process(transliterator) {"Deva_Taml.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        Gurmukhi-Malayalam{\r
+            alias{"Guru-Mlym"}\r
         }\r
-\r
-        Devanagari-Telugu {\r
-            alias {"Deva-Telu"}\r
+        Gurmukhi-Oriya{\r
+            alias{"Guru-Orya"}\r
         }\r
-        und-Telu-t-und-deva {\r
-            alias {"Deva-Telu"}\r
+        Gurmukhi-Tamil{\r
+            alias{"Guru-Taml"}\r
         }\r
-        Deva-Telu {\r
-            file {\r
-                resource:process(transliterator) {"Deva_Telu.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        Gurmukhi-Telugu{\r
+            alias{"Guru-Telu"}\r
         }\r
-\r
-        ur-t-und-deva {\r
-            alias {"Deva-ur"}\r
+        Guru-Arab{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Guru_Arab.txt"}\r
+            }\r
         }\r
-        Deva-ur {\r
-            file {\r
-                resource:process(transliterator) {"Deva_ur.txt"}\r
-                direction {"FORWARD"}\r
+        Guru-Beng{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Guru_Beng.txt"}\r
             }\r
         }\r
-\r
-        und-t-d0-hwidth {\r
-            alias {"Fullwidth-Halfwidth"}\r
+        Guru-Deva{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Guru_Deva.txt"}\r
+            }\r
         }\r
-        Fullwidth-Halfwidth {\r
-            file {\r
-                resource:process(transliterator) {"Fullwidth_Halfwidth.txt"}\r
-                direction {"FORWARD"}\r
+        Guru-Gujr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Guru_Gujr.txt"}\r
             }\r
         }\r
-        und-t-d0-fwidth {\r
-            alias {"Halfwidth-Fullwidth"}\r
+        Guru-Knda{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Guru_Knda.txt"}\r
+            }\r
         }\r
-        Halfwidth-Fullwidth {\r
-            file {\r
-                resource:process(transliterator) {"Fullwidth_Halfwidth.txt"}\r
-                direction {"REVERSE"}\r
+        Guru-Latn{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Guru_Latn.txt"}\r
             }\r
         }\r
-\r
-        Georgian-Latin {\r
-            alias {"Geor-Latn"}\r
+        Guru-Mlym{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Guru_Mlym.txt"}\r
+            }\r
         }\r
-        und-Latn-t-und-geor {\r
-            alias {"Geor-Latn"}\r
+        Guru-Orya{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Guru_Orya.txt"}\r
+            }\r
         }\r
-        Geor-Latn {\r
-            file {\r
-                resource:process(transliterator) {"Geor_Latn.txt"}\r
-                direction {"FORWARD"}\r
+        Guru-Taml{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Guru_Taml.txt"}\r
             }\r
         }\r
-        Latin-Georgian {\r
-            alias {"Latn-Geor"}\r
+        Guru-Telu{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Guru_Telu.txt"}\r
+            }\r
         }\r
-        und-Geor-t-und-latn {\r
-            alias {"Latn-Geor"}\r
+        Guru-ur{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Guru_ur.txt"}\r
+            }\r
         }\r
-        Latn-Geor {\r
-            file {\r
-                resource:process(transliterator) {"Geor_Latn.txt"}\r
-                direction {"REVERSE"}\r
+        Halfwidth-Fullwidth{\r
+            file{\r
+                direction{"REVERSE"}\r
+                resource:process(transliterator){"Fullwidth_Halfwidth.txt"}\r
             }\r
         }\r
-\r
-        Georgian-Latin/BGN {\r
-            alias {"ka-ka_Latn/BGN"}\r
+        Han-Latin{\r
+            alias{"Hani-Latn"}\r
         }\r
-        ka-Latn-t-ka-m0-bgn {\r
-            alias {"ka-ka_Latn/BGN"}\r
+        Han-Latin/Names{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Han_Latin_Names.txt"}\r
+            }\r
         }\r
-        ka-Latn-t-ka-m0-bgn-2009 {\r
-            alias {"ka-ka_Latn/BGN"}\r
+        Han-Spacedhan{\r
+            internal{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Han_Spacedhan.txt"}\r
+            }\r
         }\r
-        ka-ka_Latn/BGN {\r
-            file {\r
-                resource:process(transliterator) {"ka_ka_Latn_BGN.txt"}\r
-                direction {"FORWARD"}\r
+        Hang-Latn{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Hang_Latn.txt"}\r
             }\r
         }\r
-\r
-        ka-Latn-t-ka-m0-bgn-1981 {\r
-            alias {"ka-ka_Latn/BGN_1981"}\r
+        Hangul-Latin{\r
+            alias{"Hang-Latn"}\r
         }\r
-        ka-ka_Latn/BGN_1981 {\r
-            file {\r
-                resource:process(transliterator) {"ka_ka_Latn_BGN_1981.txt"}\r
-                direction {"FORWARD"}\r
+        Hani-Latn{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Hani_Latn.txt"}\r
             }\r
         }\r
-\r
-        Greek-Latin {\r
-            alias {"Grek-Latn"}\r
+        Hans-Hant{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Hans_Hant.txt"}\r
+            }\r
         }\r
-        und-Latn-t-und-grek {\r
-            alias {"Grek-Latn"}\r
+        Hant-Hans{\r
+            file{\r
+                direction{"REVERSE"}\r
+                resource:process(transliterator){"Hans_Hant.txt"}\r
+            }\r
         }\r
-        Grek-Latn {\r
-            file {\r
-                resource:process(transliterator) {"Grek_Latn.txt"}\r
-                direction {"FORWARD"}\r
+        Hebr-Latn{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Hebr_Latn.txt"}\r
             }\r
         }\r
-        Latin-Greek {\r
-            alias {"Latn-Grek"}\r
+        Hebrew-Latin{\r
+            alias{"Hebr-Latn"}\r
         }\r
-        und-Grek-t-und-latn {\r
-            alias {"Latn-Grek"}\r
+        Hebrew-Latin/BGN{\r
+            alias{"he-he_Latn/BGN"}\r
         }\r
-        Latn-Grek {\r
-            file {\r
-                resource:process(transliterator) {"Grek_Latn.txt"}\r
-                direction {"REVERSE"}\r
+        Hira-Kana{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Hira_Kana.txt"}\r
             }\r
         }\r
-\r
-        Greek-Latin/BGN {\r
-            alias {"el-el_Latn/BGN"}\r
-        }\r
-        el-Latn-t-el-m0-bgn {\r
-            alias {"el-el_Latn/BGN"}\r
-        }\r
-        el-el_Latn/BGN {\r
-            file {\r
-                resource:process(transliterator) {"el_el_Latn_BGN.txt"}\r
-                direction {"FORWARD"}\r
+        Hira-Latn{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Hira_Latn.txt"}\r
             }\r
         }\r
-\r
-        Greek-Latin/UNGEGN {\r
-            alias {"Grek-Latn/UNGEGN"}\r
+        Hiragana-Katakana{\r
+            alias{"Hira-Kana"}\r
         }\r
-        und-Latn-t-und-grek-m0-ungegn {\r
-            alias {"Grek-Latn/UNGEGN"}\r
+        Hiragana-Latin{\r
+            alias{"Hira-Latn"}\r
         }\r
-        Grek-Latn/UNGEGN {\r
-            file {\r
-                resource:process(transliterator) {"Grek_Latn_UNGEGN.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        IPA-XSampa{\r
+            alias{"und_FONIPA-und_FONXSAMP"}\r
         }\r
-        Latin-Greek/UNGEGN {\r
-            alias {"Latn-Grek/UNGEGN"}\r
+        InterIndic-Arabic{\r
+            internal{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"InterIndic_Arabic.txt"}\r
+            }\r
         }\r
-        und-Grek-t-und-latn-m0-ungegn {\r
-            alias {"Latn-Grek/UNGEGN"}\r
+        InterIndic-Bengali{\r
+            internal{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"InterIndic_Bengali.txt"}\r
+            }\r
         }\r
-        Latn-Grek/UNGEGN {\r
-            file {\r
-                resource:process(transliterator) {"Grek_Latn_UNGEGN.txt"}\r
-                direction {"REVERSE"}\r
+        InterIndic-Devanagari{\r
+            internal{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"InterIndic_Devanagari.txt"}\r
             }\r
         }\r
-\r
-        Gujarati-Arabic {\r
-            alias {"Gujr-Arab"}\r
+        InterIndic-Gujarati{\r
+            internal{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"InterIndic_Gujarati.txt"}\r
+            }\r
         }\r
-        und-Arab-t-und-gujr {\r
-            alias {"Gujr-Arab"}\r
+        InterIndic-Gurmukhi{\r
+            internal{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"InterIndic_Gurmukhi.txt"}\r
+            }\r
         }\r
-        Gujr-Arab {\r
-            file {\r
-                resource:process(transliterator) {"Gujr_Arab.txt"}\r
-                direction {"FORWARD"}\r
+        InterIndic-Kannada{\r
+            internal{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"InterIndic_Kannada.txt"}\r
             }\r
         }\r
-\r
-        Gujarati-Bengali {\r
-            alias {"Gujr-Beng"}\r
+        InterIndic-Latin{\r
+            internal{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"InterIndic_Latin.txt"}\r
+            }\r
         }\r
-        und-Beng-t-und-gujr {\r
-            alias {"Gujr-Beng"}\r
+        InterIndic-Malayalam{\r
+            internal{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"InterIndic_Malayalam.txt"}\r
+            }\r
         }\r
-        Gujr-Beng {\r
-            file {\r
-                resource:process(transliterator) {"Gujr_Beng.txt"}\r
-                direction {"FORWARD"}\r
+        InterIndic-Oriya{\r
+            internal{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"InterIndic_Oriya.txt"}\r
             }\r
         }\r
-\r
-        Gujarati-Devanagari {\r
-            alias {"Gujr-Deva"}\r
+        InterIndic-Tamil{\r
+            internal{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"InterIndic_Tamil.txt"}\r
+            }\r
         }\r
-        und-Deva-t-und-gujr {\r
-            alias {"Gujr-Deva"}\r
+        InterIndic-Telugu{\r
+            internal{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"InterIndic_Telugu.txt"}\r
+            }\r
         }\r
-        Gujr-Deva {\r
-            file {\r
-                resource:process(transliterator) {"Gujr_Deva.txt"}\r
-                direction {"FORWARD"}\r
+        InterIndic-ur{\r
+            internal{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"InterIndic_ur.txt"}\r
             }\r
         }\r
-\r
-        Gujarati-Gurmukhi {\r
-            alias {"Gujr-Guru"}\r
+        Jamo-Latin{\r
+            alias{"Jamo-Latn"}\r
         }\r
-        und-Guru-t-und-gujr {\r
-            alias {"Gujr-Guru"}\r
+        Jamo-Latn{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Jamo_Latn.txt"}\r
+            }\r
         }\r
-        Gujr-Guru {\r
-            file {\r
-                resource:process(transliterator) {"Gujr_Guru.txt"}\r
-                direction {"FORWARD"}\r
+        Kana-Hira{\r
+            file{\r
+                direction{"REVERSE"}\r
+                resource:process(transliterator){"Hira_Kana.txt"}\r
             }\r
         }\r
-\r
-        Gujarati-InterIndic {\r
-            internal {\r
-                resource:process(transliterator) {"Gujarati_InterIndic.txt"}\r
-                direction {"FORWARD"}\r
+        Kana-Latn{\r
+            file{\r
+                direction{"REVERSE"}\r
+                resource:process(transliterator){"Latn_Kana.txt"}\r
             }\r
         }\r
-\r
-        Gujarati-Kannada {\r
-            alias {"Gujr-Knda"}\r
+        Kannada-Arabic{\r
+            alias{"Knda-Arab"}\r
         }\r
-        und-Knda-t-und-gujr {\r
-            alias {"Gujr-Knda"}\r
+        Kannada-Bengali{\r
+            alias{"Knda-Beng"}\r
         }\r
-        Gujr-Knda {\r
-            file {\r
-                resource:process(transliterator) {"Gujr_Knda.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        Kannada-Devanagari{\r
+            alias{"Knda-Deva"}\r
         }\r
-\r
-        Gujarati-Latin {\r
-            alias {"Gujr-Latn"}\r
+        Kannada-Gujarati{\r
+            alias{"Knda-Gujr"}\r
         }\r
-        und-Latn-t-und-gujr {\r
-            alias {"Gujr-Latn"}\r
+        Kannada-Gurmukhi{\r
+            alias{"Knda-Guru"}\r
         }\r
-        Gujr-Latn {\r
-            file {\r
-                resource:process(transliterator) {"Gujr_Latn.txt"}\r
-                direction {"FORWARD"}\r
+        Kannada-InterIndic{\r
+            internal{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Kannada_InterIndic.txt"}\r
             }\r
         }\r
-\r
-        Gujarati-Malayalam {\r
-            alias {"Gujr-Mlym"}\r
+        Kannada-Latin{\r
+            alias{"Knda-Latn"}\r
         }\r
-        und-Mlym-t-und-gujr {\r
-            alias {"Gujr-Mlym"}\r
+        Kannada-Malayalam{\r
+            alias{"Knda-Mlym"}\r
         }\r
-        Gujr-Mlym {\r
-            file {\r
-                resource:process(transliterator) {"Gujr_Mlym.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        Kannada-Oriya{\r
+            alias{"Knda-Orya"}\r
         }\r
-\r
-        Gujarati-Oriya {\r
-            alias {"Gujr-Orya"}\r
+        Kannada-Tamil{\r
+            alias{"Knda-Taml"}\r
         }\r
-        und-Orya-t-und-gujr {\r
-            alias {"Gujr-Orya"}\r
+        Kannada-Telugu{\r
+            alias{"Knda-Telu"}\r
         }\r
-        Gujr-Orya {\r
-            file {\r
-                resource:process(transliterator) {"Gujr_Orya.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        Katakana-Hiragana{\r
+            alias{"Kana-Hira"}\r
         }\r
-\r
-        Gujarati-Tamil {\r
-            alias {"Gujr-Taml"}\r
+        Katakana-Latin{\r
+            alias{"Kana-Latn"}\r
         }\r
-        und-Taml-t-und-gujr {\r
-            alias {"Gujr-Taml"}\r
+        Katakana-Latin/BGN{\r
+            alias{"ja_Hrkt-ja_Latn/BGN"}\r
         }\r
-        Gujr-Taml {\r
-            file {\r
-                resource:process(transliterator) {"Gujr_Taml.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        Kazakh-Latin/BGN{\r
+            alias{"kk-kk_Latn/BGN"}\r
         }\r
-\r
-        Gujarati-Telugu {\r
-            alias {"Gujr-Telu"}\r
+        Kirghiz-Latin/BGN{\r
+            alias{"ky-ky_Latn/BGN"}\r
         }\r
-        und-Telu-t-und-gujr {\r
-            alias {"Gujr-Telu"}\r
+        Knda-Arab{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Knda_Arab.txt"}\r
+            }\r
         }\r
-        Gujr-Telu {\r
-            file {\r
-                resource:process(transliterator) {"Gujr_Telu.txt"}\r
-                direction {"FORWARD"}\r
+        Knda-Beng{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Knda_Beng.txt"}\r
             }\r
         }\r
-\r
-        ur-t-und-gujr {\r
-            alias {"Gujr-ur"}\r
+        Knda-Deva{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Knda_Deva.txt"}\r
+            }\r
         }\r
-        Gujr-ur {\r
-            file {\r
-                resource:process(transliterator) {"Gujr_ur.txt"}\r
-                direction {"FORWARD"}\r
+        Knda-Gujr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Knda_Gujr.txt"}\r
             }\r
         }\r
-\r
-        Gurmukhi-Arabic {\r
-            alias {"Guru-Arab"}\r
+        Knda-Guru{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Knda_Guru.txt"}\r
+            }\r
         }\r
-        und-Arab-t-und-guru {\r
-            alias {"Guru-Arab"}\r
+        Knda-Latn{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Knda_Latn.txt"}\r
+            }\r
         }\r
-        Guru-Arab {\r
-            file {\r
-                resource:process(transliterator) {"Guru_Arab.txt"}\r
-                direction {"FORWARD"}\r
+        Knda-Mlym{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Knda_Mlym.txt"}\r
             }\r
         }\r
-\r
-        Gurmukhi-Bengali {\r
-            alias {"Guru-Beng"}\r
+        Knda-Orya{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Knda_Orya.txt"}\r
+            }\r
         }\r
-        und-Beng-t-und-guru {\r
-            alias {"Guru-Beng"}\r
+        Knda-Taml{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Knda_Taml.txt"}\r
+            }\r
         }\r
-        Guru-Beng {\r
-            file {\r
-                resource:process(transliterator) {"Guru_Beng.txt"}\r
-                direction {"FORWARD"}\r
+        Knda-Telu{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Knda_Telu.txt"}\r
             }\r
         }\r
-\r
-        Gurmukhi-Devanagari {\r
-            alias {"Guru-Deva"}\r
+        Knda-ur{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Knda_ur.txt"}\r
+            }\r
         }\r
-        und-Deva-t-und-guru {\r
-            alias {"Guru-Deva"}\r
+        Korean-Latin/BGN{\r
+            alias{"ko-ko_Latn/BGN"}\r
         }\r
-        Guru-Deva {\r
-            file {\r
-                resource:process(transliterator) {"Guru_Deva.txt"}\r
-                direction {"FORWARD"}\r
+        Latin-ASCII{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Latin_ASCII.txt"}\r
             }\r
         }\r
-\r
-        Gurmukhi-Gujarati {\r
-            alias {"Guru-Gujr"}\r
+        Latin-Arabic{\r
+            alias{"Latn-Arab"}\r
         }\r
-        und-Gujr-t-und-guru {\r
-            alias {"Guru-Gujr"}\r
+        Latin-Armenian{\r
+            alias{"Latn-Armn"}\r
         }\r
-        Guru-Gujr {\r
-            file {\r
-                resource:process(transliterator) {"Guru_Gujr.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        Latin-Bengali{\r
+            alias{"Latn-Beng"}\r
         }\r
-\r
-        Gurmukhi-InterIndic {\r
-            internal {\r
-                resource:process(transliterator) {"Gurmukhi_InterIndic.txt"}\r
-                direction {"FORWARD"}\r
+        Latin-Bopomofo{\r
+            alias{"Latn-Bopo"}\r
+        }\r
+        Latin-CanadianAboriginal{\r
+            alias{"Latn-Cans"}\r
+        }\r
+        Latin-ConjoiningJamo{\r
+            internal{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Latin_ConjoiningJamo.txt"}\r
             }\r
         }\r
-\r
-        Gurmukhi-Kannada {\r
-            alias {"Guru-Knda"}\r
+        Latin-Cyrillic{\r
+            alias{"Latn-Cyrl"}\r
         }\r
-        und-Knda-t-und-guru {\r
-            alias {"Guru-Knda"}\r
+        Latin-Devanagari{\r
+            alias{"Latn-Deva"}\r
         }\r
-        Guru-Knda {\r
-            file {\r
-                resource:process(transliterator) {"Guru_Knda.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        Latin-Ethiopic{\r
+            alias{"Latn-Ethi"}\r
         }\r
-\r
-        Gurmukhi-Latin {\r
-            alias {"Guru-Latn"}\r
+        Latin-Georgian{\r
+            alias{"Latn-Geor"}\r
         }\r
-        und-Latn-t-und-guru {\r
-            alias {"Guru-Latn"}\r
+        Latin-Greek{\r
+            alias{"Latn-Grek"}\r
         }\r
-        Guru-Latn {\r
-            file {\r
-                resource:process(transliterator) {"Guru_Latn.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        Latin-Greek/UNGEGN{\r
+            alias{"Latn-Grek/UNGEGN"}\r
         }\r
-\r
-        Gurmukhi-Malayalam {\r
-            alias {"Guru-Mlym"}\r
+        Latin-Gujarati{\r
+            alias{"Latn-Gujr"}\r
         }\r
-        und-Mlym-t-und-guru {\r
-            alias {"Guru-Mlym"}\r
+        Latin-Gurmukhi{\r
+            alias{"Latn-Guru"}\r
         }\r
-        Guru-Mlym {\r
-            file {\r
-                resource:process(transliterator) {"Guru_Mlym.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        Latin-Hangul{\r
+            alias{"Latn-Hang"}\r
         }\r
-\r
-        Gurmukhi-Oriya {\r
-            alias {"Guru-Orya"}\r
+        Latin-Hebrew{\r
+            alias{"Latn-Hebr"}\r
         }\r
-        und-Orya-t-und-guru {\r
-            alias {"Guru-Orya"}\r
+        Latin-Hiragana{\r
+            alias{"Latn-Hira"}\r
         }\r
-        Guru-Orya {\r
-            file {\r
-                resource:process(transliterator) {"Guru_Orya.txt"}\r
-                direction {"FORWARD"}\r
+        Latin-InterIndic{\r
+            internal{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Latin_InterIndic.txt"}\r
             }\r
         }\r
-\r
-        Gurmukhi-Tamil {\r
-            alias {"Guru-Taml"}\r
+        Latin-Jamo{\r
+            alias{"Latn-Jamo"}\r
+        }\r
+        Latin-Kannada{\r
+            alias{"Latn-Knda"}\r
         }\r
-        und-Taml-t-und-guru {\r
-            alias {"Guru-Taml"}\r
+        Latin-Katakana{\r
+            alias{"Latn-Kana"}\r
         }\r
-        Guru-Taml {\r
-            file {\r
-                resource:process(transliterator) {"Guru_Taml.txt"}\r
-                direction {"FORWARD"}\r
+        Latin-Malayalam{\r
+            alias{"Latn-Mlym"}\r
+        }\r
+        Latin-NumericPinyin{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Latin_NumericPinyin.txt"}\r
             }\r
         }\r
-\r
-        Gurmukhi-Telugu {\r
-            alias {"Guru-Telu"}\r
+        Latin-Oriya{\r
+            alias{"Latn-Orya"}\r
         }\r
-        und-Telu-t-und-guru {\r
-            alias {"Guru-Telu"}\r
+        Latin-Russian/BGN{\r
+            alias{"ru_Latn-ru/BGN"}\r
         }\r
-        Guru-Telu {\r
-            file {\r
-                resource:process(transliterator) {"Guru_Telu.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        Latin-Syriac{\r
+            alias{"Latn-Syrc"}\r
         }\r
-\r
-        ur-t-und-guru {\r
-            alias {"Guru-ur"}\r
+        Latin-Tamil{\r
+            alias{"Latn-Taml"}\r
         }\r
-        Guru-ur {\r
-            file {\r
-                resource:process(transliterator) {"Guru_ur.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        Latin-Telugu{\r
+            alias{"Latn-Telu"}\r
         }\r
-\r
-        Han-Latin {\r
-            alias {"Hani-Latn"}\r
+        Latin-Thaana{\r
+            alias{"Latn-Thaa"}\r
         }\r
-        und-Latn-t-und-hani {\r
-            alias {"Hani-Latn"}\r
+        Latin-Thai{\r
+            alias{"Latn-Thai"}\r
         }\r
-        Hani-Latn {\r
-            file {\r
-                resource:process(transliterator) {"Hani_Latn.txt"}\r
-                direction {"FORWARD"}\r
+        Latin-ThaiLogical{\r
+            internal{\r
+                direction{"REVERSE"}\r
+                resource:process(transliterator){"ThaiLogical_Latin.txt"}\r
             }\r
         }\r
-\r
-        und-Latn-t-und-hani-m0-prprname {\r
-            alias {"Han-Latin/Names"}\r
+        Latn-Arab{\r
+            file{\r
+                direction{"REVERSE"}\r
+                resource:process(transliterator){"Arab_Latn.txt"}\r
+            }\r
         }\r
-        Han-Latin/Names {\r
-            file {\r
-                resource:process(transliterator) {"Han_Latin_Names.txt"}\r
-                direction {"FORWARD"}\r
+        Latn-Armn{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Latn_Armn.txt"}\r
             }\r
         }\r
-\r
-        Han-Spacedhan {\r
-            internal {\r
-                resource:process(transliterator) {"Han_Spacedhan.txt"}\r
-                direction {"FORWARD"}\r
+        Latn-Beng{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Latn_Beng.txt"}\r
             }\r
         }\r
-        Spacedhan-Han {\r
-            internal {\r
-                resource:process(transliterator) {"Han_Spacedhan.txt"}\r
-                direction {"REVERSE"}\r
+        Latn-Bopo{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Latn_Bopo.txt"}\r
             }\r
         }\r
-\r
-        Hangul-Latin {\r
-            alias {"Hang-Latn"}\r
+        Latn-Cans{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Latn_Cans.txt"}\r
+            }\r
         }\r
-        und-Latn-t-und-hang {\r
-            alias {"Hang-Latn"}\r
+        Latn-Cyrl{\r
+            file{\r
+                direction{"REVERSE"}\r
+                resource:process(transliterator){"Cyrl_Latn.txt"}\r
+            }\r
         }\r
-        Hang-Latn {\r
-            file {\r
-                resource:process(transliterator) {"Hang_Latn.txt"}\r
-                direction {"FORWARD"}\r
+        Latn-Deva{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Latn_Deva.txt"}\r
             }\r
         }\r
-\r
-        Hebrew-Latin {\r
-            alias {"Hebr-Latn"}\r
+        Latn-Ethi{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Latn_Ethi.txt"}\r
+            }\r
         }\r
-        und-Latn-t-und-hebr {\r
-            alias {"Hebr-Latn"}\r
+        Latn-Geor{\r
+            file{\r
+                direction{"REVERSE"}\r
+                resource:process(transliterator){"Geor_Latn.txt"}\r
+            }\r
         }\r
-        Hebr-Latn {\r
-            file {\r
-                resource:process(transliterator) {"Hebr_Latn.txt"}\r
-                direction {"FORWARD"}\r
+        Latn-Grek{\r
+            file{\r
+                direction{"REVERSE"}\r
+                resource:process(transliterator){"Grek_Latn.txt"}\r
             }\r
         }\r
-        Latin-Hebrew {\r
-            alias {"Latn-Hebr"}\r
+        Latn-Grek/UNGEGN{\r
+            file{\r
+                direction{"REVERSE"}\r
+                resource:process(transliterator){"Grek_Latn_UNGEGN.txt"}\r
+            }\r
         }\r
-        und-Hebr-t-und-latn {\r
-            alias {"Latn-Hebr"}\r
+        Latn-Gujr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Latn_Gujr.txt"}\r
+            }\r
         }\r
-        Latn-Hebr {\r
-            file {\r
-                resource:process(transliterator) {"Hebr_Latn.txt"}\r
-                direction {"REVERSE"}\r
+        Latn-Guru{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Latn_Guru.txt"}\r
             }\r
         }\r
-\r
-        Hebrew-Latin/BGN {\r
-            alias {"he-he_Latn/BGN"}\r
+        Latn-Hang{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Latn_Hang.txt"}\r
+            }\r
         }\r
-        he-Latn-t-he-m0-bgn {\r
-            alias {"he-he_Latn/BGN"}\r
+        Latn-Hebr{\r
+            file{\r
+                direction{"REVERSE"}\r
+                resource:process(transliterator){"Hebr_Latn.txt"}\r
+            }\r
         }\r
-        he-he_Latn/BGN {\r
-            file {\r
-                resource:process(transliterator) {"he_he_Latn_BGN.txt"}\r
-                direction {"FORWARD"}\r
+        Latn-Hira{\r
+            file{\r
+                direction{"REVERSE"}\r
+                resource:process(transliterator){"Hira_Latn.txt"}\r
             }\r
         }\r
-\r
-        Hiragana-Katakana {\r
-            alias {"Hira-Kana"}\r
+        Latn-Jamo{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Latn_Jamo.txt"}\r
+            }\r
         }\r
-        und-Kana-t-und-hira {\r
-            alias {"Hira-Kana"}\r
+        Latn-Kana{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Latn_Kana.txt"}\r
+            }\r
         }\r
-        Hira-Kana {\r
-            file {\r
-                resource:process(transliterator) {"Hira_Kana.txt"}\r
-                direction {"FORWARD"}\r
+        Latn-Knda{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Latn_Knda.txt"}\r
             }\r
         }\r
-        Katakana-Hiragana {\r
-            alias {"Kana-Hira"}\r
+        Latn-Mlym{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Latn_Mlym.txt"}\r
+            }\r
         }\r
-        und-Hira-t-und-kana {\r
-            alias {"Kana-Hira"}\r
+        Latn-Orya{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Latn_Orya.txt"}\r
+            }\r
         }\r
-        Kana-Hira {\r
-            file {\r
-                resource:process(transliterator) {"Hira_Kana.txt"}\r
-                direction {"REVERSE"}\r
+        Latn-Syrc{\r
+            file{\r
+                direction{"REVERSE"}\r
+                resource:process(transliterator){"Syrc_Latn.txt"}\r
             }\r
         }\r
-\r
-        Hiragana-Latin {\r
-            alias {"Hira-Latn"}\r
+        Latn-Taml{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Latn_Taml.txt"}\r
+            }\r
         }\r
-        und-Latn-t-und-hira {\r
-            alias {"Hira-Latn"}\r
+        Latn-Telu{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Latn_Telu.txt"}\r
+            }\r
         }\r
-        Hira-Latn {\r
-            file {\r
-                resource:process(transliterator) {"Hira_Latn.txt"}\r
-                direction {"FORWARD"}\r
+        Latn-Thaa{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Latn_Thaa.txt"}\r
             }\r
         }\r
-        Latin-Hiragana {\r
-            alias {"Latn-Hira"}\r
+        Latn-Thai{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Latn_Thai.txt"}\r
+            }\r
         }\r
-        und-Hira-t-und-latn {\r
-            alias {"Latn-Hira"}\r
+        Macedonian-Latin/BGN{\r
+            alias{"mk-mk_Latn/BGN"}\r
         }\r
-        Latn-Hira {\r
-            file {\r
-                resource:process(transliterator) {"Hira_Latn.txt"}\r
-                direction {"REVERSE"}\r
-            }\r
+        Malayalam-Arabic{\r
+            alias{"Mlym-Arab"}\r
         }\r
-\r
-        IPA-XSampa {\r
-            alias {"und_FONIPA-und_FONXSAMP"}\r
+        Malayalam-Bengali{\r
+            alias{"Mlym-Beng"}\r
         }\r
-        und-fonxsamp-t-und-fonipa {\r
-            alias {"und_FONIPA-und_FONXSAMP"}\r
+        Malayalam-Devanagari{\r
+            alias{"Mlym-Deva"}\r
         }\r
-        und_FONIPA-und_FONXSAMP {\r
-            file {\r
-                resource:process(transliterator) {"und_FONIPA_und_FONXSAMP.txt"}\r
-                direction {"FORWARD"}\r
+        Malayalam-Gujarati{\r
+            alias{"Mlym-Gujr"}\r
+        }\r
+        Malayalam-Gurmukhi{\r
+            alias{"Mlym-Guru"}\r
+        }\r
+        Malayalam-InterIndic{\r
+            internal{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Malayalam_InterIndic.txt"}\r
             }\r
         }\r
-        XSampa-IPA {\r
-            alias {"und_FONXSAMP-und_FONIPA"}\r
+        Malayalam-Kannada{\r
+            alias{"Mlym-Knda"}\r
         }\r
-        und-fonipa-t-und-fonxsamp {\r
-            alias {"und_FONXSAMP-und_FONIPA"}\r
+        Malayalam-Latin{\r
+            alias{"Mlym-Latn"}\r
         }\r
-        und_FONXSAMP-und_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"und_FONIPA_und_FONXSAMP.txt"}\r
-                direction {"REVERSE"}\r
-            }\r
+        Malayalam-Oriya{\r
+            alias{"Mlym-Orya"}\r
         }\r
-\r
-        InterIndic-Arabic {\r
-            internal {\r
-                resource:process(transliterator) {"InterIndic_Arabic.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        Malayalam-Tamil{\r
+            alias{"Mlym-Taml"}\r
+        }\r
+        Malayalam-Telugu{\r
+            alias{"Mlym-Telu"}\r
+        }\r
+        Maldivian-Latin/BGN{\r
+            alias{"dv-dv_Latn/BGN"}\r
         }\r
-\r
-        InterIndic-Bengali {\r
-            internal {\r
-                resource:process(transliterator) {"InterIndic_Bengali.txt"}\r
-                direction {"FORWARD"}\r
+        Mlym-Arab{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Mlym_Arab.txt"}\r
             }\r
         }\r
-\r
-        InterIndic-Devanagari {\r
-            internal {\r
-                resource:process(transliterator) {"InterIndic_Devanagari.txt"}\r
-                direction {"FORWARD"}\r
+        Mlym-Beng{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Mlym_Beng.txt"}\r
             }\r
         }\r
-\r
-        InterIndic-Gujarati {\r
-            internal {\r
-                resource:process(transliterator) {"InterIndic_Gujarati.txt"}\r
-                direction {"FORWARD"}\r
+        Mlym-Deva{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Mlym_Deva.txt"}\r
             }\r
         }\r
-\r
-        InterIndic-Gurmukhi {\r
-            internal {\r
-                resource:process(transliterator) {"InterIndic_Gurmukhi.txt"}\r
-                direction {"FORWARD"}\r
+        Mlym-Gujr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Mlym_Gujr.txt"}\r
             }\r
         }\r
-\r
-        InterIndic-Kannada {\r
-            internal {\r
-                resource:process(transliterator) {"InterIndic_Kannada.txt"}\r
-                direction {"FORWARD"}\r
+        Mlym-Guru{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Mlym_Guru.txt"}\r
             }\r
         }\r
-\r
-        InterIndic-Latin {\r
-            internal {\r
-                resource:process(transliterator) {"InterIndic_Latin.txt"}\r
-                direction {"FORWARD"}\r
+        Mlym-Knda{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Mlym_Knda.txt"}\r
             }\r
         }\r
-\r
-        InterIndic-Malayalam {\r
-            internal {\r
-                resource:process(transliterator) {"InterIndic_Malayalam.txt"}\r
-                direction {"FORWARD"}\r
+        Mlym-Latn{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Mlym_Latn.txt"}\r
             }\r
         }\r
-\r
-        InterIndic-Oriya {\r
-            internal {\r
-                resource:process(transliterator) {"InterIndic_Oriya.txt"}\r
-                direction {"FORWARD"}\r
+        Mlym-Orya{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Mlym_Orya.txt"}\r
             }\r
         }\r
-\r
-        InterIndic-Tamil {\r
-            internal {\r
-                resource:process(transliterator) {"InterIndic_Tamil.txt"}\r
-                direction {"FORWARD"}\r
+        Mlym-Taml{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Mlym_Taml.txt"}\r
             }\r
         }\r
-\r
-        InterIndic-Telugu {\r
-            internal {\r
-                resource:process(transliterator) {"InterIndic_Telugu.txt"}\r
-                direction {"FORWARD"}\r
+        Mlym-Telu{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Mlym_Telu.txt"}\r
             }\r
         }\r
-\r
-        InterIndic-ur {\r
-            internal {\r
-                resource:process(transliterator) {"InterIndic_ur.txt"}\r
-                direction {"FORWARD"}\r
+        Mlym-ur{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Mlym_ur.txt"}\r
             }\r
         }\r
-\r
-        Jamo-Latin {\r
-            alias {"Jamo-Latn"}\r
+        Mongolian-Latin/BGN{\r
+            alias{"mn-mn_Latn/BGN"}\r
         }\r
-        und-Latn-t-und-jamo {\r
-            alias {"Jamo-Latn"}\r
+        Myanmar-Latin{\r
+            alias{"my-my_Latn"}\r
         }\r
-        Jamo-Latn {\r
-            file {\r
-                resource:process(transliterator) {"Jamo_Latn.txt"}\r
-                direction {"FORWARD"}\r
+        NumericPinyin-Latin{\r
+            file{\r
+                direction{"REVERSE"}\r
+                resource:process(transliterator){"Latin_NumericPinyin.txt"}\r
             }\r
         }\r
-\r
-        Kannada-Arabic {\r
-            alias {"Knda-Arab"}\r
-        }\r
-        und-Arab-t-und-knda {\r
-            alias {"Knda-Arab"}\r
-        }\r
-        Knda-Arab {\r
-            file {\r
-                resource:process(transliterator) {"Knda_Arab.txt"}\r
-                direction {"FORWARD"}\r
+        NumericPinyin-Pinyin{\r
+            file{\r
+                direction{"REVERSE"}\r
+                resource:process(transliterator){"Pinyin_NumericPinyin.txt"}\r
             }\r
         }\r
-\r
-        Kannada-Bengali {\r
-            alias {"Knda-Beng"}\r
+        Oriya-Arabic{\r
+            alias{"Orya-Arab"}\r
         }\r
-        und-Beng-t-und-knda {\r
-            alias {"Knda-Beng"}\r
+        Oriya-Bengali{\r
+            alias{"Orya-Beng"}\r
         }\r
-        Knda-Beng {\r
-            file {\r
-                resource:process(transliterator) {"Knda_Beng.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        Oriya-Devanagari{\r
+            alias{"Orya-Deva"}\r
         }\r
-\r
-        Kannada-Devanagari {\r
-            alias {"Knda-Deva"}\r
+        Oriya-Gujarati{\r
+            alias{"Orya-Gujr"}\r
         }\r
-        und-Deva-t-und-knda {\r
-            alias {"Knda-Deva"}\r
+        Oriya-Gurmukhi{\r
+            alias{"Orya-Guru"}\r
         }\r
-        Knda-Deva {\r
-            file {\r
-                resource:process(transliterator) {"Knda_Deva.txt"}\r
-                direction {"FORWARD"}\r
+        Oriya-InterIndic{\r
+            internal{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Oriya_InterIndic.txt"}\r
             }\r
         }\r
-\r
-        Kannada-Gujarati {\r
-            alias {"Knda-Gujr"}\r
+        Oriya-Kannada{\r
+            alias{"Orya-Knda"}\r
         }\r
-        und-Gujr-t-und-knda {\r
-            alias {"Knda-Gujr"}\r
+        Oriya-Latin{\r
+            alias{"Orya-Latn"}\r
         }\r
-        Knda-Gujr {\r
-            file {\r
-                resource:process(transliterator) {"Knda_Gujr.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        Oriya-Malayalam{\r
+            alias{"Orya-Mlym"}\r
         }\r
-\r
-        Kannada-Gurmukhi {\r
-            alias {"Knda-Guru"}\r
+        Oriya-Tamil{\r
+            alias{"Orya-Taml"}\r
         }\r
-        und-Guru-t-und-knda {\r
-            alias {"Knda-Guru"}\r
+        Oriya-Telugu{\r
+            alias{"Orya-Telu"}\r
         }\r
-        Knda-Guru {\r
-            file {\r
-                resource:process(transliterator) {"Knda_Guru.txt"}\r
-                direction {"FORWARD"}\r
+        Orya-Arab{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Orya_Arab.txt"}\r
             }\r
         }\r
-\r
-        Kannada-InterIndic {\r
-            internal {\r
-                resource:process(transliterator) {"Kannada_InterIndic.txt"}\r
-                direction {"FORWARD"}\r
+        Orya-Beng{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Orya_Beng.txt"}\r
             }\r
         }\r
-\r
-        Kannada-Latin {\r
-            alias {"Knda-Latn"}\r
+        Orya-Deva{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Orya_Deva.txt"}\r
+            }\r
         }\r
-        und-Latn-t-und-knda {\r
-            alias {"Knda-Latn"}\r
+        Orya-Gujr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Orya_Gujr.txt"}\r
+            }\r
         }\r
-        Knda-Latn {\r
-            file {\r
-                resource:process(transliterator) {"Knda_Latn.txt"}\r
-                direction {"FORWARD"}\r
+        Orya-Guru{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Orya_Guru.txt"}\r
             }\r
         }\r
-\r
-        Kannada-Malayalam {\r
-            alias {"Knda-Mlym"}\r
+        Orya-Knda{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Orya_Knda.txt"}\r
+            }\r
         }\r
-        und-Mlym-t-und-knda {\r
-            alias {"Knda-Mlym"}\r
+        Orya-Latn{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Orya_Latn.txt"}\r
+            }\r
         }\r
-        Knda-Mlym {\r
-            file {\r
-                resource:process(transliterator) {"Knda_Mlym.txt"}\r
-                direction {"FORWARD"}\r
+        Orya-Mlym{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Orya_Mlym.txt"}\r
             }\r
         }\r
-\r
-        Kannada-Oriya {\r
-            alias {"Knda-Orya"}\r
+        Orya-Taml{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Orya_Taml.txt"}\r
+            }\r
         }\r
-        und-Orya-t-und-knda {\r
-            alias {"Knda-Orya"}\r
+        Orya-Telu{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Orya_Telu.txt"}\r
+            }\r
         }\r
-        Knda-Orya {\r
-            file {\r
-                resource:process(transliterator) {"Knda_Orya.txt"}\r
-                direction {"FORWARD"}\r
+        Orya-ur{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Orya_ur.txt"}\r
             }\r
         }\r
-\r
-        Kannada-Tamil {\r
-            alias {"Knda-Taml"}\r
+        Pashto-Latin/BGN{\r
+            alias{"ps-ps_Latn/BGN"}\r
         }\r
-        und-Taml-t-und-knda {\r
-            alias {"Knda-Taml"}\r
+        Persian-Latin/BGN{\r
+            alias{"fa-fa_Latn/BGN"}\r
         }\r
-        Knda-Taml {\r
-            file {\r
-                resource:process(transliterator) {"Knda_Taml.txt"}\r
-                direction {"FORWARD"}\r
+        Pinyin-NumericPinyin{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Pinyin_NumericPinyin.txt"}\r
             }\r
         }\r
-\r
-        Kannada-Telugu {\r
-            alias {"Knda-Telu"}\r
+        Publishing-Any{\r
+            file{\r
+                direction{"REVERSE"}\r
+                resource:process(transliterator){"Any_Publishing.txt"}\r
+            }\r
         }\r
-        und-Telu-t-und-knda {\r
-            alias {"Knda-Telu"}\r
+        Russian-Latin/BGN{\r
+            alias{"ru-ru_Latn/BGN"}\r
         }\r
-        Knda-Telu {\r
-            file {\r
-                resource:process(transliterator) {"Knda_Telu.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        Serbian-Latin/BGN{\r
+            alias{"sr-sr_Latn/BGN"}\r
         }\r
-\r
-        ur-t-und-knda {\r
-            alias {"Knda-ur"}\r
+        Simplified-Traditional{\r
+            alias{"Hans-Hant"}\r
         }\r
-        Knda-ur {\r
-            file {\r
-                resource:process(transliterator) {"Knda_ur.txt"}\r
-                direction {"FORWARD"}\r
+        Spacedhan-Han{\r
+            internal{\r
+                direction{"REVERSE"}\r
+                resource:process(transliterator){"Han_Spacedhan.txt"}\r
             }\r
         }\r
-\r
-        Katakana-Latin/BGN {\r
-            alias {"ja_Hrkt-ja_Latn/BGN"}\r
+        Syrc-Latn{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Syrc_Latn.txt"}\r
+            }\r
         }\r
-        ja-Latn-t-ja-hrkt-m0-bgn {\r
-            alias {"ja_Hrkt-ja_Latn/BGN"}\r
+        Syriac-Latin{\r
+            alias{"Syrc-Latn"}\r
         }\r
-        ja_Hrkt-ja_Latn/BGN {\r
-            file {\r
-                resource:process(transliterator) {"ja_Hrkt_ja_Latn_BGN.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        Tamil-Arabic{\r
+            alias{"Taml-Arab"}\r
+        }\r
+        Tamil-Bengali{\r
+            alias{"Taml-Beng"}\r
         }\r
-\r
-        Kazakh-Latin/BGN {\r
-            alias {"kk-kk_Latn/BGN"}\r
+        Tamil-Devanagari{\r
+            alias{"Taml-Deva"}\r
         }\r
-        kk-Latn-t-kk-m0-bgn {\r
-            alias {"kk-kk_Latn/BGN"}\r
+        Tamil-Gujarati{\r
+            alias{"Taml-Gujr"}\r
         }\r
-        kk-kk_Latn/BGN {\r
-            file {\r
-                resource:process(transliterator) {"kk_kk_Latn_BGN.txt"}\r
-                direction {"FORWARD"}\r
+        Tamil-Gurmukhi{\r
+            alias{"Taml-Guru"}\r
+        }\r
+        Tamil-InterIndic{\r
+            internal{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Tamil_InterIndic.txt"}\r
             }\r
         }\r
-\r
-        Kirghiz-Latin/BGN {\r
-            alias {"ky-ky_Latn/BGN"}\r
+        Tamil-Kannada{\r
+            alias{"Taml-Knda"}\r
         }\r
-        ky-Latn-t-ky-m0-bgn {\r
-            alias {"ky-ky_Latn/BGN"}\r
+        Tamil-Latin{\r
+            alias{"Taml-Latn"}\r
         }\r
-        ky-ky_Latn/BGN {\r
-            file {\r
-                resource:process(transliterator) {"ky_ky_Latn_BGN.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        Tamil-Malayalam{\r
+            alias{"Taml-Mlym"}\r
         }\r
-\r
-        Korean-Latin/BGN {\r
-            alias {"ko-ko_Latn/BGN"}\r
+        Tamil-Oriya{\r
+            alias{"Taml-Orya"}\r
         }\r
-        ko-Latn-t-ko-m0-bgn {\r
-            alias {"ko-ko_Latn/BGN"}\r
+        Tamil-Telugu{\r
+            alias{"Taml-Telu"}\r
         }\r
-        ko-ko_Latn/BGN {\r
-            file {\r
-                resource:process(transliterator) {"ko_ko_Latn_BGN.txt"}\r
-                direction {"FORWARD"}\r
+        Taml-Arab{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Taml_Arab.txt"}\r
             }\r
         }\r
-\r
-        und-t-d0-ascii {\r
-            alias {"Latin-ASCII"}\r
+        Taml-Beng{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Taml_Beng.txt"}\r
+            }\r
         }\r
-        und-Latn-t-s0-ascii {\r
-            alias {"Latin-ASCII"}\r
+        Taml-Deva{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Taml_Deva.txt"}\r
+            }\r
         }\r
-        Latin-ASCII {\r
-            file {\r
-                resource:process(transliterator) {"Latin_ASCII.txt"}\r
-                direction {"FORWARD"}\r
+        Taml-Gujr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Taml_Gujr.txt"}\r
             }\r
         }\r
-        ASCII-Latin {\r
-            file {\r
-                resource:process(transliterator) {"Latin_ASCII.txt"}\r
-                direction {"REVERSE"}\r
+        Taml-Guru{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Taml_Guru.txt"}\r
             }\r
         }\r
-\r
-        Latin-Armenian {\r
-            alias {"Latn-Armn"}\r
+        Taml-Knda{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Taml_Knda.txt"}\r
+            }\r
         }\r
-        und-Armn-t-und-latn {\r
-            alias {"Latn-Armn"}\r
+        Taml-Latn{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Taml_Latn.txt"}\r
+            }\r
         }\r
-        Latn-Armn {\r
-            file {\r
-                resource:process(transliterator) {"Latn_Armn.txt"}\r
-                direction {"FORWARD"}\r
+        Taml-Mlym{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Taml_Mlym.txt"}\r
             }\r
         }\r
-        Armenian-Latin {\r
-            alias {"Armn-Latn"}\r
+        Taml-Orya{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Taml_Orya.txt"}\r
+            }\r
         }\r
-        und-Latn-t-und-armn {\r
-            alias {"Armn-Latn"}\r
+        Taml-Telu{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Taml_Telu.txt"}\r
+            }\r
         }\r
-        Armn-Latn {\r
-            file {\r
-                resource:process(transliterator) {"Latn_Armn.txt"}\r
-                direction {"REVERSE"}\r
+        Taml-ur{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Taml_ur.txt"}\r
             }\r
         }\r
-\r
-        Latin-Bengali {\r
-            alias {"Latn-Beng"}\r
+        Telu-Arab{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Telu_Arab.txt"}\r
+            }\r
         }\r
-        und-Beng-t-und-latn {\r
-            alias {"Latn-Beng"}\r
+        Telu-Beng{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Telu_Beng.txt"}\r
+            }\r
         }\r
-        Latn-Beng {\r
-            file {\r
-                resource:process(transliterator) {"Latn_Beng.txt"}\r
-                direction {"FORWARD"}\r
+        Telu-Deva{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Telu_Deva.txt"}\r
             }\r
         }\r
-\r
-        Latin-Bopomofo {\r
-            alias {"Latn-Bopo"}\r
+        Telu-Gujr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Telu_Gujr.txt"}\r
+            }\r
         }\r
-        und-Bopo-t-und-latn {\r
-            alias {"Latn-Bopo"}\r
+        Telu-Guru{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Telu_Guru.txt"}\r
+            }\r
         }\r
-        Latn-Bopo {\r
-            file {\r
-                resource:process(transliterator) {"Latn_Bopo.txt"}\r
-                direction {"FORWARD"}\r
+        Telu-Knda{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Telu_Knda.txt"}\r
             }\r
         }\r
-        Bopomofo-Latin {\r
-            alias {"Bopo-Latn"}\r
+        Telu-Latn{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Telu_Latn.txt"}\r
+            }\r
         }\r
-        und-Latn-t-und-bopo {\r
-            alias {"Bopo-Latn"}\r
+        Telu-Mlym{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Telu_Mlym.txt"}\r
+            }\r
         }\r
-        Bopo-Latn {\r
-            file {\r
-                resource:process(transliterator) {"Latn_Bopo.txt"}\r
-                direction {"REVERSE"}\r
+        Telu-Orya{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Telu_Orya.txt"}\r
             }\r
         }\r
-\r
-        Latin-ConjoiningJamo {\r
-            internal {\r
-                resource:process(transliterator) {"Latin_ConjoiningJamo.txt"}\r
-                direction {"FORWARD"}\r
+        Telu-Taml{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Telu_Taml.txt"}\r
             }\r
         }\r
-        ConjoiningJamo-Latin {\r
-            internal {\r
-                resource:process(transliterator) {"Latin_ConjoiningJamo.txt"}\r
-                direction {"REVERSE"}\r
+        Telu-ur{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Telu_ur.txt"}\r
             }\r
         }\r
-\r
-        Latin-Devanagari {\r
-            alias {"Latn-Deva"}\r
+        Telugu-Arabic{\r
+            alias{"Telu-Arab"}\r
         }\r
-        und-Deva-t-und-latn {\r
-            alias {"Latn-Deva"}\r
+        Telugu-Bengali{\r
+            alias{"Telu-Beng"}\r
         }\r
-        Latn-Deva {\r
-            file {\r
-                resource:process(transliterator) {"Latn_Deva.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        Telugu-Devanagari{\r
+            alias{"Telu-Deva"}\r
         }\r
-\r
-        Latin-Gujarati {\r
-            alias {"Latn-Gujr"}\r
+        Telugu-Gujarati{\r
+            alias{"Telu-Gujr"}\r
         }\r
-        und-Gujr-t-und-latn {\r
-            alias {"Latn-Gujr"}\r
+        Telugu-Gurmukhi{\r
+            alias{"Telu-Guru"}\r
         }\r
-        Latn-Gujr {\r
-            file {\r
-                resource:process(transliterator) {"Latn_Gujr.txt"}\r
-                direction {"FORWARD"}\r
+        Telugu-InterIndic{\r
+            internal{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Telugu_InterIndic.txt"}\r
             }\r
         }\r
-\r
-        Latin-Gurmukhi {\r
-            alias {"Latn-Guru"}\r
+        Telugu-Kannada{\r
+            alias{"Telu-Knda"}\r
         }\r
-        und-Guru-t-und-latn {\r
-            alias {"Latn-Guru"}\r
+        Telugu-Latin{\r
+            alias{"Telu-Latn"}\r
         }\r
-        Latn-Guru {\r
-            file {\r
-                resource:process(transliterator) {"Latn_Guru.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        Telugu-Malayalam{\r
+            alias{"Telu-Mlym"}\r
         }\r
-\r
-        Latin-Hangul {\r
-            alias {"Latn-Hang"}\r
+        Telugu-Oriya{\r
+            alias{"Telu-Orya"}\r
         }\r
-        und-Hang-t-und-latn {\r
-            alias {"Latn-Hang"}\r
+        Telugu-Tamil{\r
+            alias{"Telu-Taml"}\r
         }\r
-        Latn-Hang {\r
-            file {\r
-                resource:process(transliterator) {"Latn_Hang.txt"}\r
-                direction {"FORWARD"}\r
+        Thaa-Latn{\r
+            file{\r
+                direction{"REVERSE"}\r
+                resource:process(transliterator){"Latn_Thaa.txt"}\r
             }\r
         }\r
-\r
-        Latin-InterIndic {\r
-            internal {\r
-                resource:process(transliterator) {"Latin_InterIndic.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        Thaana-Latin{\r
+            alias{"Thaa-Latn"}\r
         }\r
-\r
-        Latin-Jamo {\r
-            alias {"Latn-Jamo"}\r
+        Thai-Latin{\r
+            alias{"Thai-Latn"}\r
         }\r
-        und-Jamo-t-und-latn {\r
-            alias {"Latn-Jamo"}\r
+        Thai-Latn{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Thai_Latn.txt"}\r
+            }\r
+        }\r
+        Thai-ThaiLogical{\r
+            internal{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Thai_ThaiLogical.txt"}\r
+            }\r
         }\r
-        Latn-Jamo {\r
-            file {\r
-                resource:process(transliterator) {"Latn_Jamo.txt"}\r
-                direction {"FORWARD"}\r
+        Thai-ThaiSemi{\r
+            internal{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Thai_ThaiSemi.txt"}\r
             }\r
         }\r
-\r
-        Latin-Kannada {\r
-            alias {"Latn-Knda"}\r
+        ThaiLogical-Latin{\r
+            internal{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ThaiLogical_Latin.txt"}\r
+            }\r
         }\r
-        und-Knda-t-und-latn {\r
-            alias {"Latn-Knda"}\r
+        ThaiLogical-Thai{\r
+            internal{\r
+                direction{"REVERSE"}\r
+                resource:process(transliterator){"Thai_ThaiLogical.txt"}\r
+            }\r
         }\r
-        Latn-Knda {\r
-            file {\r
-                resource:process(transliterator) {"Latn_Knda.txt"}\r
-                direction {"FORWARD"}\r
+        ThaiSemi-Thai{\r
+            internal{\r
+                direction{"REVERSE"}\r
+                resource:process(transliterator){"Thai_ThaiSemi.txt"}\r
             }\r
         }\r
-\r
-        Latin-Katakana {\r
-            alias {"Latn-Kana"}\r
+        Tone-Digit{\r
+            alias{"Pinyin-NumericPinyin"}\r
         }\r
-        und-Kana-t-und-latn {\r
-            alias {"Latn-Kana"}\r
+        Traditional-Simplified{\r
+            alias{"Hant-Hans"}\r
         }\r
-        Latn-Kana {\r
-            file {\r
-                resource:process(transliterator) {"Latn_Kana.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        Turkmen-Latin/BGN{\r
+            alias{"tk_Cyrl-tk/BGN"}\r
         }\r
-        Katakana-Latin {\r
-            alias {"Kana-Latn"}\r
+        Ukrainian-Latin/BGN{\r
+            alias{"uk-uk_Latn/BGN"}\r
         }\r
-        und-Latn-t-und-kana {\r
-            alias {"Kana-Latn"}\r
+        Uzbek-Latin/BGN{\r
+            alias{"uz_Cyrl-uz/BGN"}\r
         }\r
-        Kana-Latn {\r
-            file {\r
-                resource:process(transliterator) {"Latn_Kana.txt"}\r
-                direction {"REVERSE"}\r
-            }\r
+        XSampa-IPA{\r
+            alias{"und_FONXSAMP-und_FONIPA"}\r
         }\r
-\r
-        Latin-Malayalam {\r
-            alias {"Latn-Mlym"}\r
+        Zawgyi-my{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"Zawgyi_my.txt"}\r
+            }\r
         }\r
-        und-Mlym-t-und-latn {\r
-            alias {"Latn-Mlym"}\r
+        am-Latn-t-am-m0-bgn{\r
+            alias{"am-am_Latn/BGN"}\r
         }\r
-        Latn-Mlym {\r
-            file {\r
-                resource:process(transliterator) {"Latn_Mlym.txt"}\r
-                direction {"FORWARD"}\r
+        am-am_FONIPA{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"am_am_FONIPA.txt"}\r
             }\r
         }\r
-\r
-        und-pinyin-t-d0-npinyin {\r
-            alias {"Latin-NumericPinyin"}\r
+        am-am_Latn/BGN{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"am_am_Latn_BGN.txt"}\r
+            }\r
         }\r
-        Latin-NumericPinyin {\r
-            file {\r
-                resource:process(transliterator) {"Latin_NumericPinyin.txt"}\r
-                direction {"FORWARD"}\r
+        am-ar{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"am_ar.txt"}\r
             }\r
         }\r
-        und-pinyin-t-s0-npinyin {\r
-            alias {"NumericPinyin-Latin"}\r
+        am-chr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"am_chr.txt"}\r
+            }\r
         }\r
-        NumericPinyin-Latin {\r
-            file {\r
-                resource:process(transliterator) {"Latin_NumericPinyin.txt"}\r
-                direction {"REVERSE"}\r
+        am-fa{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"am_fa.txt"}\r
             }\r
         }\r
-\r
-        Latin-Oriya {\r
-            alias {"Latn-Orya"}\r
+        am-fonipa-t-am{\r
+            alias{"am-am_FONIPA"}\r
         }\r
-        und-Orya-t-und-latn {\r
-            alias {"Latn-Orya"}\r
+        am-t-am-fonipa{\r
+            alias{"am_FONIPA-am"}\r
         }\r
-        Latn-Orya {\r
-            file {\r
-                resource:process(transliterator) {"Latn_Orya.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        am-t-ch{\r
+            alias{"ch-am"}\r
         }\r
-\r
-        Latin-Tamil {\r
-            alias {"Latn-Taml"}\r
+        am-t-cs{\r
+            alias{"cs-am"}\r
         }\r
-        und-Taml-t-und-latn {\r
-            alias {"Latn-Taml"}\r
+        am-t-eo{\r
+            alias{"eo-am"}\r
         }\r
-        Latn-Taml {\r
-            file {\r
-                resource:process(transliterator) {"Latn_Taml.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        am-t-es{\r
+            alias{"es-am"}\r
         }\r
-\r
-        Latin-Telugu {\r
-            alias {"Latn-Telu"}\r
+        am-t-es-419{\r
+            alias{"es_419-am"}\r
         }\r
-        und-Telu-t-und-latn {\r
-            alias {"Latn-Telu"}\r
+        am-t-es-fonipa{\r
+            alias{"es_FONIPA-am"}\r
         }\r
-        Latn-Telu {\r
-            file {\r
-                resource:process(transliterator) {"Latn_Telu.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        am-t-hy{\r
+            alias{"hy-am"}\r
         }\r
-\r
-        Latin-Thai {\r
-            alias {"Latn-Thai"}\r
+        am-t-hy-arevmda{\r
+            alias{"hy_AREVMDA-am"}\r
         }\r
-        und-Thai-t-und-latn {\r
-            alias {"Latn-Thai"}\r
+        am-t-ia{\r
+            alias{"ia-am"}\r
         }\r
-        Latn-Thai {\r
-            file {\r
-                resource:process(transliterator) {"Latn_Thai.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        am-t-it{\r
+            alias{"it-am"}\r
         }\r
-\r
-        Macedonian-Latin/BGN {\r
-            alias {"mk-mk_Latn/BGN"}\r
+        am-t-kk{\r
+            alias{"kk-am"}\r
         }\r
-        mk-Latn-t-mk-m0-bgn {\r
-            alias {"mk-mk_Latn/BGN"}\r
+        am-t-ky{\r
+            alias{"ky-am"}\r
         }\r
-        mk-mk_Latn/BGN {\r
-            file {\r
-                resource:process(transliterator) {"mk_mk_Latn_BGN.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        am-t-my{\r
+            alias{"my-am"}\r
         }\r
-\r
-        Malayalam-Arabic {\r
-            alias {"Mlym-Arab"}\r
+        am-t-pl{\r
+            alias{"pl-am"}\r
         }\r
-        und-Arab-t-und-mlym {\r
-            alias {"Mlym-Arab"}\r
+        am-t-rm-sursilv{\r
+            alias{"rm_SURSILV-am"}\r
         }\r
-        Mlym-Arab {\r
-            file {\r
-                resource:process(transliterator) {"Mlym_Arab.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        am-t-ro{\r
+            alias{"ro-am"}\r
         }\r
-\r
-        Malayalam-Bengali {\r
-            alias {"Mlym-Beng"}\r
+        am-t-sat{\r
+            alias{"sat-am"}\r
         }\r
-        und-Beng-t-und-mlym {\r
-            alias {"Mlym-Beng"}\r
+        am-t-si{\r
+            alias{"si-am"}\r
         }\r
-        Mlym-Beng {\r
-            file {\r
-                resource:process(transliterator) {"Mlym_Beng.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        am-t-sk{\r
+            alias{"sk-am"}\r
         }\r
-\r
-        Malayalam-Devanagari {\r
-            alias {"Mlym-Deva"}\r
+        am-t-tlh{\r
+            alias{"tlh-am"}\r
         }\r
-        und-Deva-t-und-mlym {\r
-            alias {"Mlym-Deva"}\r
+        am-t-xh{\r
+            alias{"xh-am"}\r
         }\r
-        Mlym-Deva {\r
-            file {\r
-                resource:process(transliterator) {"Mlym_Deva.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        am-t-zu{\r
+            alias{"zu-am"}\r
         }\r
-\r
-        Malayalam-Gujarati {\r
-            alias {"Mlym-Gujr"}\r
+        am_FONIPA-am{\r
+            file{\r
+                direction{"REVERSE"}\r
+                resource:process(transliterator){"am_am_FONIPA.txt"}\r
+            }\r
         }\r
-        und-Gujr-t-und-mlym {\r
-            alias {"Mlym-Gujr"}\r
+        ar-Latn-t-ar-m0-bgn{\r
+            alias{"ar-ar_Latn/BGN"}\r
         }\r
-        Mlym-Gujr {\r
-            file {\r
-                resource:process(transliterator) {"Mlym_Gujr.txt"}\r
-                direction {"FORWARD"}\r
+        ar-ar_Latn/BGN{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ar_ar_Latn_BGN.txt"}\r
             }\r
         }\r
-\r
-        Malayalam-Gurmukhi {\r
-            alias {"Mlym-Guru"}\r
+        ar-t-am{\r
+            alias{"am-ar"}\r
         }\r
-        und-Guru-t-und-mlym {\r
-            alias {"Mlym-Guru"}\r
+        ar-t-ch{\r
+            alias{"ch-ar"}\r
         }\r
-        Mlym-Guru {\r
-            file {\r
-                resource:process(transliterator) {"Mlym_Guru.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        ar-t-cs{\r
+            alias{"cs-ar"}\r
         }\r
-\r
-        Malayalam-InterIndic {\r
-            internal {\r
-                resource:process(transliterator) {"Malayalam_InterIndic.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        ar-t-eo{\r
+            alias{"eo-ar"}\r
         }\r
-\r
-        Malayalam-Kannada {\r
-            alias {"Mlym-Knda"}\r
+        ar-t-es{\r
+            alias{"es-ar"}\r
         }\r
-        und-Knda-t-und-mlym {\r
-            alias {"Mlym-Knda"}\r
+        ar-t-es-419{\r
+            alias{"es_419-ar"}\r
         }\r
-        Mlym-Knda {\r
-            file {\r
-                resource:process(transliterator) {"Mlym_Knda.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        ar-t-hy{\r
+            alias{"hy-ar"}\r
         }\r
-\r
-        Malayalam-Latin {\r
-            alias {"Mlym-Latn"}\r
+        ar-t-hy-arevmda{\r
+            alias{"hy_AREVMDA-ar"}\r
         }\r
-        und-Latn-t-und-mlym {\r
-            alias {"Mlym-Latn"}\r
+        ar-t-ia{\r
+            alias{"ia-ar"}\r
         }\r
-        Mlym-Latn {\r
-            file {\r
-                resource:process(transliterator) {"Mlym_Latn.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        ar-t-kk{\r
+            alias{"kk-ar"}\r
         }\r
-\r
-        Malayalam-Oriya {\r
-            alias {"Mlym-Orya"}\r
+        ar-t-ky{\r
+            alias{"ky-ar"}\r
         }\r
-        und-Orya-t-und-mlym {\r
-            alias {"Mlym-Orya"}\r
+        ar-t-my{\r
+            alias{"my-ar"}\r
         }\r
-        Mlym-Orya {\r
-            file {\r
-                resource:process(transliterator) {"Mlym_Orya.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        ar-t-pl{\r
+            alias{"pl-ar"}\r
         }\r
-\r
-        Malayalam-Tamil {\r
-            alias {"Mlym-Taml"}\r
+        ar-t-rm-sursilv{\r
+            alias{"rm_SURSILV-ar"}\r
         }\r
-        und-Taml-t-und-mlym {\r
-            alias {"Mlym-Taml"}\r
+        ar-t-ro{\r
+            alias{"ro-ar"}\r
         }\r
-        Mlym-Taml {\r
-            file {\r
-                resource:process(transliterator) {"Mlym_Taml.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        ar-t-sat{\r
+            alias{"sat-ar"}\r
         }\r
-\r
-        Malayalam-Telugu {\r
-            alias {"Mlym-Telu"}\r
+        ar-t-si{\r
+            alias{"si-ar"}\r
         }\r
-        und-Telu-t-und-mlym {\r
-            alias {"Mlym-Telu"}\r
+        ar-t-sk{\r
+            alias{"sk-ar"}\r
         }\r
-        Mlym-Telu {\r
-            file {\r
-                resource:process(transliterator) {"Mlym_Telu.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        ar-t-tlh{\r
+            alias{"tlh-ar"}\r
         }\r
-\r
-        ur-t-und-mlym {\r
-            alias {"Mlym-ur"}\r
+        ar-t-und-fonipa{\r
+            alias{"und_FONIPA-ar"}\r
         }\r
-        Mlym-ur {\r
-            file {\r
-                resource:process(transliterator) {"Mlym_ur.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        ar-t-xh{\r
+            alias{"xh-ar"}\r
         }\r
-\r
-        Maldivian-Latin/BGN {\r
-            alias {"dv-dv_Latn/BGN"}\r
+        ar-t-zu{\r
+            alias{"zu-ar"}\r
         }\r
-        dv-Latn-t-dv-m0-bgn {\r
-            alias {"dv-dv_Latn/BGN"}\r
+        az-Lower{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"az_Lower.txt"}\r
+            }\r
         }\r
-        dv-dv_Latn/BGN {\r
-            file {\r
-                resource:process(transliterator) {"dv_dv_Latn_BGN.txt"}\r
-                direction {"FORWARD"}\r
+        az-Title{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"az_Title.txt"}\r
             }\r
         }\r
-\r
-        Mongolian-Latin/BGN {\r
-            alias {"mn-mn_Latn/BGN"}\r
+        az-Upper{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"az_Upper.txt"}\r
+            }\r
         }\r
-        mn-Latn-t-mn-m0-bgn {\r
-            alias {"mn-mn_Latn/BGN"}\r
+        az-t-az-cyrl-m0-bgn{\r
+            alias{"az_Cyrl-az/BGN"}\r
         }\r
-        mn-mn_Latn/BGN {\r
-            file {\r
-                resource:process(transliterator) {"mn_mn_Latn_BGN.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        az-t-d0-lower{\r
+            alias{"az-Lower"}\r
         }\r
-\r
-        Oriya-Arabic {\r
-            alias {"Orya-Arab"}\r
+        az-t-d0-title{\r
+            alias{"az-Title"}\r
         }\r
-        und-Arab-t-und-orya {\r
-            alias {"Orya-Arab"}\r
+        az-t-d0-upper{\r
+            alias{"az-Upper"}\r
         }\r
-        Orya-Arab {\r
-            file {\r
-                resource:process(transliterator) {"Orya_Arab.txt"}\r
-                direction {"FORWARD"}\r
+        az_Cyrl-az/BGN{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"az_Cyrl_az_BGN.txt"}\r
             }\r
         }\r
-\r
-        Oriya-Bengali {\r
-            alias {"Orya-Beng"}\r
+        be-Latn-t-be-m0-bgn{\r
+            alias{"be-be_Latn/BGN"}\r
         }\r
-        und-Beng-t-und-orya {\r
-            alias {"Orya-Beng"}\r
-        }\r
-        Orya-Beng {\r
-            file {\r
-                resource:process(transliterator) {"Orya_Beng.txt"}\r
-                direction {"FORWARD"}\r
+        be-be_Latn/BGN{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"be_be_Latn_BGN.txt"}\r
             }\r
         }\r
-\r
-        Oriya-Devanagari {\r
-            alias {"Orya-Deva"}\r
+        bg-Latn-t-bg-m0-bgn{\r
+            alias{"bg-bg_Latn/BGN"}\r
         }\r
-        und-Deva-t-und-orya {\r
-            alias {"Orya-Deva"}\r
+        bg-bg_Latn/BGN{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"bg_bg_Latn_BGN.txt"}\r
+            }\r
         }\r
-        Orya-Deva {\r
-            file {\r
-                resource:process(transliterator) {"Orya_Deva.txt"}\r
-                direction {"FORWARD"}\r
+        blt-blt_FONIPA{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"blt_blt_FONIPA.txt"}\r
             }\r
         }\r
-\r
-        Oriya-Gujarati {\r
-            alias {"Orya-Gujr"}\r
+        blt-fonipa-t-blt{\r
+            alias{"blt-blt_FONIPA"}\r
         }\r
-        und-Gujr-t-und-orya {\r
-            alias {"Orya-Gujr"}\r
+        ch-am{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ch_am.txt"}\r
+            }\r
         }\r
-        Orya-Gujr {\r
-            file {\r
-                resource:process(transliterator) {"Orya_Gujr.txt"}\r
-                direction {"FORWARD"}\r
+        ch-ar{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ch_ar.txt"}\r
             }\r
         }\r
-\r
-        Oriya-Gurmukhi {\r
-            alias {"Orya-Guru"}\r
+        ch-ch_FONIPA{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ch_ch_FONIPA.txt"}\r
+            }\r
         }\r
-        und-Guru-t-und-orya {\r
-            alias {"Orya-Guru"}\r
+        ch-chr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ch_chr.txt"}\r
+            }\r
         }\r
-        Orya-Guru {\r
-            file {\r
-                resource:process(transliterator) {"Orya_Guru.txt"}\r
-                direction {"FORWARD"}\r
+        ch-fa{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ch_fa.txt"}\r
             }\r
         }\r
-\r
-        Oriya-InterIndic {\r
-            internal {\r
-                resource:process(transliterator) {"Oriya_InterIndic.txt"}\r
-                direction {"FORWARD"}\r
+        ch-fonipa-t-ch{\r
+            alias{"ch-ch_FONIPA"}\r
+        }\r
+        chr-chr_FONIPA{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"chr_chr_FONIPA.txt"}\r
             }\r
         }\r
-\r
-        Oriya-Kannada {\r
-            alias {"Orya-Knda"}\r
+        chr-fonipa-t-chr{\r
+            alias{"chr-chr_FONIPA"}\r
         }\r
-        und-Knda-t-und-orya {\r
-            alias {"Orya-Knda"}\r
+        chr-t-am{\r
+            alias{"am-chr"}\r
         }\r
-        Orya-Knda {\r
-            file {\r
-                resource:process(transliterator) {"Orya_Knda.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        chr-t-ch{\r
+            alias{"ch-chr"}\r
         }\r
-\r
-        Oriya-Latin {\r
-            alias {"Orya-Latn"}\r
+        chr-t-cs{\r
+            alias{"cs-chr"}\r
         }\r
-        und-Latn-t-und-orya {\r
-            alias {"Orya-Latn"}\r
+        chr-t-eo{\r
+            alias{"eo-chr"}\r
         }\r
-        Orya-Latn {\r
-            file {\r
-                resource:process(transliterator) {"Orya_Latn.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        chr-t-es{\r
+            alias{"es-chr"}\r
         }\r
-\r
-        Oriya-Malayalam {\r
-            alias {"Orya-Mlym"}\r
+        chr-t-es-419{\r
+            alias{"es_419-chr"}\r
         }\r
-        und-Mlym-t-und-orya {\r
-            alias {"Orya-Mlym"}\r
+        chr-t-hy{\r
+            alias{"hy-chr"}\r
         }\r
-        Orya-Mlym {\r
-            file {\r
-                resource:process(transliterator) {"Orya_Mlym.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        chr-t-hy-arevmda{\r
+            alias{"hy_AREVMDA-chr"}\r
         }\r
-\r
-        Oriya-Tamil {\r
-            alias {"Orya-Taml"}\r
+        chr-t-ia{\r
+            alias{"ia-chr"}\r
         }\r
-        und-Taml-t-und-orya {\r
-            alias {"Orya-Taml"}\r
+        chr-t-kk{\r
+            alias{"kk-chr"}\r
         }\r
-        Orya-Taml {\r
-            file {\r
-                resource:process(transliterator) {"Orya_Taml.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        chr-t-ky{\r
+            alias{"ky-chr"}\r
         }\r
-\r
-        Oriya-Telugu {\r
-            alias {"Orya-Telu"}\r
+        chr-t-my{\r
+            alias{"my-chr"}\r
         }\r
-        und-Telu-t-und-orya {\r
-            alias {"Orya-Telu"}\r
+        chr-t-pl{\r
+            alias{"pl-chr"}\r
         }\r
-        Orya-Telu {\r
-            file {\r
-                resource:process(transliterator) {"Orya_Telu.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        chr-t-rm-sursilv{\r
+            alias{"rm_SURSILV-chr"}\r
         }\r
-\r
-        ur-t-und-orya {\r
-            alias {"Orya-ur"}\r
+        chr-t-ro{\r
+            alias{"ro-chr"}\r
         }\r
-        Orya-ur {\r
-            file {\r
-                resource:process(transliterator) {"Orya_ur.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        chr-t-sat{\r
+            alias{"sat-chr"}\r
         }\r
-\r
-        Pashto-Latin/BGN {\r
-            alias {"ps-ps_Latn/BGN"}\r
+        chr-t-si{\r
+            alias{"si-chr"}\r
         }\r
-        ps-Latn-t-ps-m0-bgn {\r
-            alias {"ps-ps_Latn/BGN"}\r
+        chr-t-sk{\r
+            alias{"sk-chr"}\r
         }\r
-        ps-ps_Latn/BGN {\r
-            file {\r
-                resource:process(transliterator) {"ps_ps_Latn_BGN.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        chr-t-tlh{\r
+            alias{"tlh-chr"}\r
         }\r
-\r
-        Persian-Latin/BGN {\r
-            alias {"fa-fa_Latn/BGN"}\r
+        chr-t-und-fonipa{\r
+            alias{"und_FONIPA-chr"}\r
         }\r
-        fa-Latn-t-fa-m0-bgn {\r
-            alias {"fa-fa_Latn/BGN"}\r
+        chr-t-xh{\r
+            alias{"xh-chr"}\r
         }\r
-        fa-fa_Latn/BGN {\r
-            file {\r
-                resource:process(transliterator) {"fa_fa_Latn_BGN.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        chr-t-zu{\r
+            alias{"zu-chr"}\r
         }\r
-\r
-        Pinyin-NumericPinyin {\r
-            file {\r
-                resource:process(transliterator) {"Pinyin_NumericPinyin.txt"}\r
-                direction {"FORWARD"}\r
+        cs-am{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"cs_am.txt"}\r
             }\r
         }\r
-        NumericPinyin-Pinyin {\r
-            file {\r
-                resource:process(transliterator) {"Pinyin_NumericPinyin.txt"}\r
-                direction {"REVERSE"}\r
+        cs-ar{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"cs_ar.txt"}\r
             }\r
         }\r
-\r
-        Russian-Latin/BGN {\r
-            alias {"ru-ru_Latn/BGN"}\r
+        cs-chr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"cs_chr.txt"}\r
+            }\r
         }\r
-        ru-Latn-t-ru-m0-bgn {\r
-            alias {"ru-ru_Latn/BGN"}\r
+        cs-cs_FONIPA{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"cs_cs_FONIPA.txt"}\r
+            }\r
         }\r
-        ru-ru_Latn/BGN {\r
-            file {\r
-                resource:process(transliterator) {"ru_ru_Latn_BGN.txt"}\r
-                direction {"FORWARD"}\r
+        cs-fa{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"cs_fa.txt"}\r
             }\r
         }\r
-\r
-        Serbian-Latin/BGN {\r
-            alias {"sr-sr_Latn/BGN"}\r
+        cs-fonipa-t-cs{\r
+            alias{"cs-cs_FONIPA"}\r
         }\r
-        sr-Latn-t-sr-m0-bgn {\r
-            alias {"sr-sr_Latn/BGN"}\r
+        cs-ja{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"cs_ja.txt"}\r
+            }\r
         }\r
-        sr-sr_Latn/BGN {\r
-            file {\r
-                resource:process(transliterator) {"sr_sr_Latn_BGN.txt"}\r
-                direction {"FORWARD"}\r
+        cs-ko{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"cs_ko.txt"}\r
             }\r
         }\r
-\r
-        Simplified-Traditional {\r
-            alias {"Hans-Hant"}\r
+        cs_FONIPA-ja{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"cs_FONIPA_ja.txt"}\r
+            }\r
         }\r
-        und-Hant-t-und-hans {\r
-            alias {"Hans-Hant"}\r
+        cs_FONIPA-ko{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"cs_FONIPA_ko.txt"}\r
+            }\r
         }\r
-        Hans-Hant {\r
-            file {\r
-                resource:process(transliterator) {"Hans_Hant.txt"}\r
-                direction {"FORWARD"}\r
+        cy-cy_FONIPA{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"cy_cy_FONIPA.txt"}\r
             }\r
         }\r
-        Traditional-Simplified {\r
-            alias {"Hant-Hans"}\r
+        cy-fonipa-t-cy{\r
+            alias{"cy-cy_FONIPA"}\r
+        }\r
+        de-ASCII{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"de_ASCII.txt"}\r
+            }\r
         }\r
-        und-Hans-t-und-hant {\r
-            alias {"Hant-Hans"}\r
+        de-t-de-d0-ascii{\r
+            alias{"de-ASCII"}\r
         }\r
-        Hant-Hans {\r
-            file {\r
-                resource:process(transliterator) {"Hans_Hant.txt"}\r
-                direction {"REVERSE"}\r
+        dsb-dsb_FONIPA{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"dsb_dsb_FONIPA.txt"}\r
             }\r
         }\r
-\r
-        Syriac-Latin {\r
-            alias {"Syrc-Latn"}\r
+        dsb-fonipa-t-dsb{\r
+            alias{"dsb-dsb_FONIPA"}\r
         }\r
-        und-Latn-t-und-syrc {\r
-            alias {"Syrc-Latn"}\r
+        dv-Latn-t-dv-m0-bgn{\r
+            alias{"dv-dv_Latn/BGN"}\r
         }\r
-        Syrc-Latn {\r
-            file {\r
-                resource:process(transliterator) {"Syrc_Latn.txt"}\r
-                direction {"FORWARD"}\r
+        dv-dv_Latn/BGN{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"dv_dv_Latn_BGN.txt"}\r
             }\r
         }\r
-        Latin-Syriac {\r
-            alias {"Latn-Syrc"}\r
-        }\r
-        und-Syrc-t-und-latn {\r
-            alias {"Latn-Syrc"}\r
+        el-Latn-t-el-m0-bgn{\r
+            alias{"el-el_Latn/BGN"}\r
         }\r
-        Latn-Syrc {\r
-            file {\r
-                resource:process(transliterator) {"Syrc_Latn.txt"}\r
-                direction {"REVERSE"}\r
+        el-Lower{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"el_Lower.txt"}\r
             }\r
         }\r
-\r
-        Tamil-Arabic {\r
-            alias {"Taml-Arab"}\r
+        el-Title{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"el_Title.txt"}\r
+            }\r
         }\r
-        und-Arab-t-und-taml {\r
-            alias {"Taml-Arab"}\r
+        el-Upper{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"el_Upper.txt"}\r
+            }\r
         }\r
-        Taml-Arab {\r
-            file {\r
-                resource:process(transliterator) {"Taml_Arab.txt"}\r
-                direction {"FORWARD"}\r
+        el-el_Latn/BGN{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"el_el_Latn_BGN.txt"}\r
             }\r
         }\r
-\r
-        Tamil-Bengali {\r
-            alias {"Taml-Beng"}\r
+        el-t-d0-lower{\r
+            alias{"el-Lower"}\r
+        }\r
+        el-t-d0-title{\r
+            alias{"el-Title"}\r
+        }\r
+        el-t-d0-upper{\r
+            alias{"el-Upper"}\r
         }\r
-        und-Beng-t-und-taml {\r
-            alias {"Taml-Beng"}\r
+        eo-am{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"eo_am.txt"}\r
+            }\r
         }\r
-        Taml-Beng {\r
-            file {\r
-                resource:process(transliterator) {"Taml_Beng.txt"}\r
-                direction {"FORWARD"}\r
+        eo-ar{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"eo_ar.txt"}\r
             }\r
         }\r
-\r
-        Tamil-Devanagari {\r
-            alias {"Taml-Deva"}\r
+        eo-chr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"eo_chr.txt"}\r
+            }\r
         }\r
-        und-Deva-t-und-taml {\r
-            alias {"Taml-Deva"}\r
+        eo-eo_FONIPA{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"eo_eo_FONIPA.txt"}\r
+            }\r
         }\r
-        Taml-Deva {\r
-            file {\r
-                resource:process(transliterator) {"Taml_Deva.txt"}\r
-                direction {"FORWARD"}\r
+        eo-fa{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"eo_fa.txt"}\r
             }\r
         }\r
-\r
-        Tamil-Gujarati {\r
-            alias {"Taml-Gujr"}\r
+        eo-fonipa-t-eo{\r
+            alias{"eo-eo_FONIPA"}\r
         }\r
-        und-Gujr-t-und-taml {\r
-            alias {"Taml-Gujr"}\r
+        es-419-fonipa-t-es-fonipa{\r
+            alias{"es_FONIPA-es_419_FONIPA"}\r
         }\r
-        Taml-Gujr {\r
-            file {\r
-                resource:process(transliterator) {"Taml_Gujr.txt"}\r
-                direction {"FORWARD"}\r
+        es-am{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"es_am.txt"}\r
             }\r
         }\r
-\r
-        Tamil-Gurmukhi {\r
-            alias {"Taml-Guru"}\r
+        es-ar{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"es_ar.txt"}\r
+            }\r
         }\r
-        und-Guru-t-und-taml {\r
-            alias {"Taml-Guru"}\r
+        es-chr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"es_chr.txt"}\r
+            }\r
         }\r
-        Taml-Guru {\r
-            file {\r
-                resource:process(transliterator) {"Taml_Guru.txt"}\r
-                direction {"FORWARD"}\r
+        es-es_FONIPA{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"es_es_FONIPA.txt"}\r
             }\r
         }\r
-\r
-        Tamil-InterIndic {\r
-            internal {\r
-                resource:process(transliterator) {"Tamil_InterIndic.txt"}\r
-                direction {"FORWARD"}\r
+        es-fa{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"es_fa.txt"}\r
             }\r
         }\r
-\r
-        Tamil-Kannada {\r
-            alias {"Taml-Knda"}\r
+        es-fonipa-t-es{\r
+            alias{"es-es_FONIPA"}\r
         }\r
-        und-Knda-t-und-taml {\r
-            alias {"Taml-Knda"}\r
+        es-ja{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"es_ja.txt"}\r
+            }\r
         }\r
-        Taml-Knda {\r
-            file {\r
-                resource:process(transliterator) {"Taml_Knda.txt"}\r
-                direction {"FORWARD"}\r
+        es-zh{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"es_zh.txt"}\r
             }\r
         }\r
-\r
-        Tamil-Latin {\r
-            alias {"Taml-Latn"}\r
+        es_419-am{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"es_419_am.txt"}\r
+            }\r
         }\r
-        und-Latn-t-und-taml {\r
-            alias {"Taml-Latn"}\r
+        es_419-ar{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"es_419_ar.txt"}\r
+            }\r
         }\r
-        Taml-Latn {\r
-            file {\r
-                resource:process(transliterator) {"Taml_Latn.txt"}\r
-                direction {"FORWARD"}\r
+        es_419-chr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"es_419_chr.txt"}\r
             }\r
         }\r
-\r
-        Tamil-Malayalam {\r
-            alias {"Taml-Mlym"}\r
+        es_419-fa{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"es_419_fa.txt"}\r
+            }\r
         }\r
-        und-Mlym-t-und-taml {\r
-            alias {"Taml-Mlym"}\r
+        es_419-ja{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"es_419_ja.txt"}\r
+            }\r
         }\r
-        Taml-Mlym {\r
-            file {\r
-                resource:process(transliterator) {"Taml_Mlym.txt"}\r
-                direction {"FORWARD"}\r
+        es_419-zh{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"es_419_zh.txt"}\r
             }\r
         }\r
-\r
-        Tamil-Oriya {\r
-            alias {"Taml-Orya"}\r
+        es_FONIPA-am{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"es_FONIPA_am.txt"}\r
+            }\r
         }\r
-        und-Orya-t-und-taml {\r
-            alias {"Taml-Orya"}\r
+        es_FONIPA-es_419_FONIPA{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"es_FONIPA_es_419_FONIPA.txt"}\r
+            }\r
         }\r
-        Taml-Orya {\r
-            file {\r
-                resource:process(transliterator) {"Taml_Orya.txt"}\r
-                direction {"FORWARD"}\r
+        es_FONIPA-ja{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"es_FONIPA_ja.txt"}\r
             }\r
         }\r
-\r
-        Tamil-Telugu {\r
-            alias {"Taml-Telu"}\r
+        es_FONIPA-zh{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"es_FONIPA_zh.txt"}\r
+            }\r
         }\r
-        und-Telu-t-und-taml {\r
-            alias {"Taml-Telu"}\r
+        fa-Latn-t-fa-m0-bgn{\r
+            alias{"fa-fa_Latn/BGN"}\r
         }\r
-        Taml-Telu {\r
-            file {\r
-                resource:process(transliterator) {"Taml_Telu.txt"}\r
-                direction {"FORWARD"}\r
+        fa-fa_FONIPA{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"fa_fa_FONIPA.txt"}\r
             }\r
         }\r
-\r
-        ur-t-und-taml {\r
-            alias {"Taml-ur"}\r
-        }\r
-        Taml-ur {\r
-            file {\r
-                resource:process(transliterator) {"Taml_ur.txt"}\r
-                direction {"FORWARD"}\r
+        fa-fa_Latn/BGN{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"fa_fa_Latn_BGN.txt"}\r
             }\r
         }\r
-\r
-        Telugu-Arabic {\r
-            alias {"Telu-Arab"}\r
+        fa-fonipa-t-fa{\r
+            alias{"fa-fa_FONIPA"}\r
         }\r
-        und-Arab-t-und-telu {\r
-            alias {"Telu-Arab"}\r
+        fa-t-am{\r
+            alias{"am-fa"}\r
         }\r
-        Telu-Arab {\r
-            file {\r
-                resource:process(transliterator) {"Telu_Arab.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        fa-t-ch{\r
+            alias{"ch-fa"}\r
         }\r
-\r
-        Telugu-Bengali {\r
-            alias {"Telu-Beng"}\r
+        fa-t-cs{\r
+            alias{"cs-fa"}\r
         }\r
-        und-Beng-t-und-telu {\r
-            alias {"Telu-Beng"}\r
+        fa-t-eo{\r
+            alias{"eo-fa"}\r
         }\r
-        Telu-Beng {\r
-            file {\r
-                resource:process(transliterator) {"Telu_Beng.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        fa-t-es{\r
+            alias{"es-fa"}\r
         }\r
-\r
-        Telugu-Devanagari {\r
-            alias {"Telu-Deva"}\r
+        fa-t-es-419{\r
+            alias{"es_419-fa"}\r
         }\r
-        und-Deva-t-und-telu {\r
-            alias {"Telu-Deva"}\r
+        fa-t-hy{\r
+            alias{"hy-fa"}\r
         }\r
-        Telu-Deva {\r
-            file {\r
-                resource:process(transliterator) {"Telu_Deva.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        fa-t-hy-arevmda{\r
+            alias{"hy_AREVMDA-fa"}\r
         }\r
-\r
-        Telugu-Gujarati {\r
-            alias {"Telu-Gujr"}\r
+        fa-t-ia{\r
+            alias{"ia-fa"}\r
         }\r
-        und-Gujr-t-und-telu {\r
-            alias {"Telu-Gujr"}\r
+        fa-t-kk{\r
+            alias{"kk-fa"}\r
         }\r
-        Telu-Gujr {\r
-            file {\r
-                resource:process(transliterator) {"Telu_Gujr.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        fa-t-ky{\r
+            alias{"ky-fa"}\r
         }\r
-\r
-        Telugu-Gurmukhi {\r
-            alias {"Telu-Guru"}\r
+        fa-t-my{\r
+            alias{"my-fa"}\r
         }\r
-        und-Guru-t-und-telu {\r
-            alias {"Telu-Guru"}\r
+        fa-t-pl{\r
+            alias{"pl-fa"}\r
         }\r
-        Telu-Guru {\r
-            file {\r
-                resource:process(transliterator) {"Telu_Guru.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        fa-t-rm-sursilv{\r
+            alias{"rm_SURSILV-fa"}\r
         }\r
-\r
-        Telugu-InterIndic {\r
-            internal {\r
-                resource:process(transliterator) {"Telugu_InterIndic.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        fa-t-ro{\r
+            alias{"ro-fa"}\r
         }\r
-\r
-        Telugu-Kannada {\r
-            alias {"Telu-Knda"}\r
+        fa-t-sat{\r
+            alias{"sat-fa"}\r
         }\r
-        und-Knda-t-und-telu {\r
-            alias {"Telu-Knda"}\r
+        fa-t-si{\r
+            alias{"si-fa"}\r
         }\r
-        Telu-Knda {\r
-            file {\r
-                resource:process(transliterator) {"Telu_Knda.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        fa-t-sk{\r
+            alias{"sk-fa"}\r
         }\r
-\r
-        Telugu-Latin {\r
-            alias {"Telu-Latn"}\r
+        fa-t-tlh{\r
+            alias{"tlh-fa"}\r
         }\r
-        und-Latn-t-und-telu {\r
-            alias {"Telu-Latn"}\r
+        fa-t-und-fonipa{\r
+            alias{"und_FONIPA-fa"}\r
         }\r
-        Telu-Latn {\r
-            file {\r
-                resource:process(transliterator) {"Telu_Latn.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        fa-t-xh{\r
+            alias{"xh-fa"}\r
         }\r
-\r
-        Telugu-Malayalam {\r
-            alias {"Telu-Mlym"}\r
+        fa-t-zu{\r
+            alias{"zu-fa"}\r
         }\r
-        und-Mlym-t-und-telu {\r
-            alias {"Telu-Mlym"}\r
+        ha-NE-t-ha{\r
+            alias{"ha-ha_NE"}\r
         }\r
-        Telu-Mlym {\r
-            file {\r
-                resource:process(transliterator) {"Telu_Mlym.txt"}\r
-                direction {"FORWARD"}\r
+        ha-ha_NE{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ha_ha_NE.txt"}\r
             }\r
         }\r
-\r
-        Telugu-Oriya {\r
-            alias {"Telu-Orya"}\r
-        }\r
-        und-Orya-t-und-telu {\r
-            alias {"Telu-Orya"}\r
+        he-Latn-t-he-m0-bgn{\r
+            alias{"he-he_Latn/BGN"}\r
         }\r
-        Telu-Orya {\r
-            file {\r
-                resource:process(transliterator) {"Telu_Orya.txt"}\r
-                direction {"FORWARD"}\r
+        he-he_Latn/BGN{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"he_he_Latn_BGN.txt"}\r
             }\r
         }\r
-\r
-        Telugu-Tamil {\r
-            alias {"Telu-Taml"}\r
+        hy-Latn-t-hy-m0-bgn{\r
+            alias{"hy-hy_Latn/BGN"}\r
         }\r
-        und-Taml-t-und-telu {\r
-            alias {"Telu-Taml"}\r
+        hy-am{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"hy_am.txt"}\r
+            }\r
         }\r
-        Telu-Taml {\r
-            file {\r
-                resource:process(transliterator) {"Telu_Taml.txt"}\r
-                direction {"FORWARD"}\r
+        hy-ar{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"hy_ar.txt"}\r
             }\r
         }\r
-\r
-        ur-t-und-telu {\r
-            alias {"Telu-ur"}\r
+        hy-arevmda-fonipa-t-hy-arevmda{\r
+            alias{"hy_AREVMDA-hy_AREVMDA_FONIPA"}\r
         }\r
-        Telu-ur {\r
-            file {\r
-                resource:process(transliterator) {"Telu_ur.txt"}\r
-                direction {"FORWARD"}\r
+        hy-chr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"hy_chr.txt"}\r
             }\r
         }\r
-\r
-        Latin-Thaana {\r
-            alias {"Latn-Thaa"}\r
+        hy-fa{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"hy_fa.txt"}\r
+            }\r
         }\r
-        und-Thaa-t-und-latn {\r
-            alias {"Latn-Thaa"}\r
+        hy-fonipa-t-hy{\r
+            alias{"hy-hy_FONIPA"}\r
         }\r
-        Latn-Thaa {\r
-            file {\r
-                resource:process(transliterator) {"Latn_Thaa.txt"}\r
-                direction {"FORWARD"}\r
+        hy-hy_FONIPA{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"hy_hy_FONIPA.txt"}\r
             }\r
         }\r
-        Thaana-Latin {\r
-            alias {"Thaa-Latn"}\r
+        hy-hy_Latn/BGN{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"hy_hy_Latn_BGN.txt"}\r
+            }\r
         }\r
-        und-Latn-t-und-thaa {\r
-            alias {"Thaa-Latn"}\r
+        hy_AREVMDA-am{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"hy_AREVMDA_am.txt"}\r
+            }\r
         }\r
-        Thaa-Latn {\r
-            file {\r
-                resource:process(transliterator) {"Latn_Thaa.txt"}\r
-                direction {"REVERSE"}\r
+        hy_AREVMDA-ar{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"hy_AREVMDA_ar.txt"}\r
             }\r
         }\r
-\r
-        Thai-Latin {\r
-            alias {"Thai-Latn"}\r
+        hy_AREVMDA-chr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"hy_AREVMDA_chr.txt"}\r
+            }\r
         }\r
-        und-Latn-t-und-thai {\r
-            alias {"Thai-Latn"}\r
+        hy_AREVMDA-fa{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"hy_AREVMDA_fa.txt"}\r
+            }\r
         }\r
-        Thai-Latn {\r
-            file {\r
-                resource:process(transliterator) {"Thai_Latn.txt"}\r
-                direction {"FORWARD"}\r
+        hy_AREVMDA-hy_AREVMDA_FONIPA{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"hy_AREVMDA_hy_AREVMDA_FONIPA.txt"}\r
             }\r
         }\r
-\r
-        Thai-ThaiLogical {\r
-            internal {\r
-                resource:process(transliterator) {"Thai_ThaiLogical.txt"}\r
-                direction {"FORWARD"}\r
+        ia-am{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ia_am.txt"}\r
             }\r
         }\r
-        ThaiLogical-Thai {\r
-            internal {\r
-                resource:process(transliterator) {"Thai_ThaiLogical.txt"}\r
-                direction {"REVERSE"}\r
+        ia-ar{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ia_ar.txt"}\r
             }\r
         }\r
-\r
-        Thai-ThaiSemi {\r
-            internal {\r
-                resource:process(transliterator) {"Thai_ThaiSemi.txt"}\r
-                direction {"FORWARD"}\r
+        ia-chr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ia_chr.txt"}\r
             }\r
         }\r
-        ThaiSemi-Thai {\r
-            internal {\r
-                resource:process(transliterator) {"Thai_ThaiSemi.txt"}\r
-                direction {"REVERSE"}\r
+        ia-fa{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ia_fa.txt"}\r
             }\r
         }\r
-\r
-        ThaiLogical-Latin {\r
-            internal {\r
-                resource:process(transliterator) {"ThaiLogical_Latin.txt"}\r
-                direction {"FORWARD"}\r
+        ia-fonipa-t-ia{\r
+            alias{"ia-ia_FONIPA"}\r
+        }\r
+        ia-ia_FONIPA{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ia_ia_FONIPA.txt"}\r
             }\r
         }\r
-        Latin-ThaiLogical {\r
-            internal {\r
-                resource:process(transliterator) {"ThaiLogical_Latin.txt"}\r
-                direction {"REVERSE"}\r
+        it-am{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"it_am.txt"}\r
             }\r
         }\r
-\r
-        Turkmen-Latin/BGN {\r
-            alias {"tk_Cyrl-tk/BGN"}\r
+        it-ja{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"it_ja.txt"}\r
+            }\r
         }\r
-        tk-t-tk-cyrl-m0-bgn {\r
-            alias {"tk_Cyrl-tk/BGN"}\r
+        ja-Latn-t-ja-hrkt-m0-bgn{\r
+            alias{"ja_Hrkt-ja_Latn/BGN"}\r
         }\r
-        tk_Cyrl-tk/BGN {\r
-            file {\r
-                resource:process(transliterator) {"tk_Cyrl_tk_BGN.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        ja-t-cs{\r
+            alias{"cs-ja"}\r
         }\r
-\r
-        Ukrainian-Latin/BGN {\r
-            alias {"uk-uk_Latn/BGN"}\r
+        ja-t-cs-fonipa{\r
+            alias{"cs_FONIPA-ja"}\r
         }\r
-        uk-Latn-t-uk-m0-bgn {\r
-            alias {"uk-uk_Latn/BGN"}\r
+        ja-t-es{\r
+            alias{"es-ja"}\r
         }\r
-        uk-uk_Latn/BGN {\r
-            file {\r
-                resource:process(transliterator) {"uk_uk_Latn_BGN.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        ja-t-es-419{\r
+            alias{"es_419-ja"}\r
         }\r
-\r
-        Uzbek-Latin/BGN {\r
-            alias {"uz_Cyrl-uz/BGN"}\r
+        ja-t-es-fonipa{\r
+            alias{"es_FONIPA-ja"}\r
         }\r
-        uz-t-uz-cyrl-m0-bgn {\r
-            alias {"uz_Cyrl-uz/BGN"}\r
+        ja-t-it{\r
+            alias{"it-ja"}\r
         }\r
-        uz_Cyrl-uz/BGN {\r
-            file {\r
-                resource:process(transliterator) {"uz_Cyrl_uz_BGN.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        ja-t-pl{\r
+            alias{"pl-ja"}\r
         }\r
-\r
-        am-fonipa-t-am {\r
-            alias {"am-am_FONIPA"}\r
+        ja-t-pl-fonipa{\r
+            alias{"pl_FONIPA-ja"}\r
         }\r
-        am-am_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"am_am_FONIPA.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        ja-t-ro{\r
+            alias{"ro-ja"}\r
         }\r
-        am-t-am-fonipa {\r
-            alias {"am_FONIPA-am"}\r
+        ja-t-ro-fonipa{\r
+            alias{"ro_FONIPA-ja"}\r
         }\r
-        am_FONIPA-am {\r
-            file {\r
-                resource:process(transliterator) {"am_am_FONIPA.txt"}\r
-                direction {"REVERSE"}\r
-            }\r
+        ja-t-ru{\r
+            alias{"ru-ja"}\r
         }\r
-\r
-        ar-t-am {\r
-            alias {"am-ar"}\r
+        ja-t-sk{\r
+            alias{"sk-ja"}\r
         }\r
-        am-ar {\r
-            file {\r
-                resource:process(transliterator) {"am_ar.txt"}\r
-                direction {"FORWARD"}\r
+        ja-t-sk-fonipa{\r
+            alias{"sk_FONIPA-ja"}\r
+        }\r
+        ja_Hrkt-ja_Latn/BGN{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ja_Hrkt_ja_Latn_BGN.txt"}\r
             }\r
         }\r
-\r
-        chr-t-am {\r
-            alias {"am-chr"}\r
+        ja_Latn-ko{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ja_Latn_ko.txt"}\r
+            }\r
         }\r
-        am-chr {\r
-            file {\r
-                resource:process(transliterator) {"am_chr.txt"}\r
-                direction {"FORWARD"}\r
+        ja_Latn-ru{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ja_Latn_ru.txt"}\r
             }\r
         }\r
-\r
-        fa-t-am {\r
-            alias {"am-fa"}\r
+        ka-Latn-t-ka-m0-bgn{\r
+            alias{"ka-ka_Latn/BGN"}\r
         }\r
-        am-fa {\r
-            file {\r
-                resource:process(transliterator) {"am_fa.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        ka-Latn-t-ka-m0-bgn-1981{\r
+            alias{"ka-ka_Latn/BGN_1981"}\r
         }\r
-\r
-        az-t-d0-lower {\r
-            alias {"az-Lower"}\r
+        ka-Latn-t-ka-m0-bgn-2009{\r
+            alias{"ka-ka_Latn/BGN"}\r
         }\r
-        az-Lower {\r
-            file {\r
-                resource:process(transliterator) {"az_Lower.txt"}\r
-                direction {"FORWARD"}\r
+        ka-ka_Latn/BGN{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ka_ka_Latn_BGN.txt"}\r
             }\r
         }\r
-\r
-        az-t-d0-title {\r
-            alias {"az-Title"}\r
-        }\r
-        az-Title {\r
-            file {\r
-                resource:process(transliterator) {"az_Title.txt"}\r
-                direction {"FORWARD"}\r
+        ka-ka_Latn/BGN_1981{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ka_ka_Latn_BGN_1981.txt"}\r
             }\r
         }\r
-\r
-        az-t-d0-upper {\r
-            alias {"az-Upper"}\r
+        kk-Latn-t-kk-m0-bgn{\r
+            alias{"kk-kk_Latn/BGN"}\r
         }\r
-        az-Upper {\r
-            file {\r
-                resource:process(transliterator) {"az_Upper.txt"}\r
-                direction {"FORWARD"}\r
+        kk-am{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"kk_am.txt"}\r
             }\r
         }\r
-\r
-        blt-fonipa-t-blt {\r
-            alias {"blt-blt_FONIPA"}\r
-        }\r
-        blt-blt_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"blt_blt_FONIPA.txt"}\r
-                direction {"FORWARD"}\r
+        kk-ar{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"kk_ar.txt"}\r
             }\r
         }\r
-\r
-        am-t-ch {\r
-            alias {"ch-am"}\r
+        kk-chr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"kk_chr.txt"}\r
+            }\r
         }\r
-        ch-am {\r
-            file {\r
-                resource:process(transliterator) {"ch_am.txt"}\r
-                direction {"FORWARD"}\r
+        kk-fa{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"kk_fa.txt"}\r
             }\r
         }\r
-\r
-        ar-t-ch {\r
-            alias {"ch-ar"}\r
+        kk-fonipa-t-kk{\r
+            alias{"kk-kk_FONIPA"}\r
         }\r
-        ch-ar {\r
-            file {\r
-                resource:process(transliterator) {"ch_ar.txt"}\r
-                direction {"FORWARD"}\r
+        kk-kk_FONIPA{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"kk_kk_FONIPA.txt"}\r
             }\r
         }\r
-\r
-        ch-fonipa-t-ch {\r
-            alias {"ch-ch_FONIPA"}\r
-        }\r
-        ch-ch_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"ch_ch_FONIPA.txt"}\r
-                direction {"FORWARD"}\r
+        kk-kk_Latn/BGN{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"kk_kk_Latn_BGN.txt"}\r
             }\r
         }\r
-\r
-        chr-t-ch {\r
-            alias {"ch-chr"}\r
+        ko-Latn-t-ko-m0-bgn{\r
+            alias{"ko-ko_Latn/BGN"}\r
         }\r
-        ch-chr {\r
-            file {\r
-                resource:process(transliterator) {"ch_chr.txt"}\r
-                direction {"FORWARD"}\r
+        ko-ko_Latn/BGN{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ko_ko_Latn_BGN.txt"}\r
             }\r
         }\r
-\r
-        fa-t-ch {\r
-            alias {"ch-fa"}\r
+        ko-t-cs{\r
+            alias{"cs-ko"}\r
         }\r
-        ch-fa {\r
-            file {\r
-                resource:process(transliterator) {"ch_fa.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        ko-t-cs-fonipa{\r
+            alias{"cs_FONIPA-ko"}\r
         }\r
-\r
-        chr-fonipa-t-chr {\r
-            alias {"chr-chr_FONIPA"}\r
+        ko-t-ja-latn{\r
+            alias{"ja_Latn-ko"}\r
         }\r
-        chr-chr_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"chr_chr_FONIPA.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        ky-Latn-t-ky-m0-bgn{\r
+            alias{"ky-ky_Latn/BGN"}\r
         }\r
-\r
-        am-t-cs {\r
-            alias {"cs-am"}\r
+        ky-am{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ky_am.txt"}\r
+            }\r
         }\r
-        cs-am {\r
-            file {\r
-                resource:process(transliterator) {"cs_am.txt"}\r
-                direction {"FORWARD"}\r
+        ky-ar{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ky_ar.txt"}\r
             }\r
         }\r
-\r
-        ar-t-cs {\r
-            alias {"cs-ar"}\r
+        ky-chr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ky_chr.txt"}\r
+            }\r
         }\r
-        cs-ar {\r
-            file {\r
-                resource:process(transliterator) {"cs_ar.txt"}\r
-                direction {"FORWARD"}\r
+        ky-fa{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ky_fa.txt"}\r
             }\r
         }\r
-\r
-        chr-t-cs {\r
-            alias {"cs-chr"}\r
+        ky-fonipa-t-ky{\r
+            alias{"ky-ky_FONIPA"}\r
         }\r
-        cs-chr {\r
-            file {\r
-                resource:process(transliterator) {"cs_chr.txt"}\r
-                direction {"FORWARD"}\r
+        ky-ky_FONIPA{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ky_ky_FONIPA.txt"}\r
             }\r
         }\r
-\r
-        cs-fonipa-t-cs {\r
-            alias {"cs-cs_FONIPA"}\r
-        }\r
-        cs-cs_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"cs_cs_FONIPA.txt"}\r
-                direction {"FORWARD"}\r
+        ky-ky_Latn/BGN{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ky_ky_Latn_BGN.txt"}\r
             }\r
         }\r
-\r
-        fa-t-cs {\r
-            alias {"cs-fa"}\r
+        la-fonipa-t-la{\r
+            alias{"la-la_FONIPA"}\r
         }\r
-        cs-fa {\r
-            file {\r
-                resource:process(transliterator) {"cs_fa.txt"}\r
-                direction {"FORWARD"}\r
+        la-la_FONIPA{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"la_la_FONIPA.txt"}\r
             }\r
         }\r
-\r
-        ja-t-cs {\r
-            alias {"cs-ja"}\r
-        }\r
-        cs-ja {\r
-            file {\r
-                resource:process(transliterator) {"cs_ja.txt"}\r
-                direction {"FORWARD"}\r
+        lt-Lower{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"lt_Lower.txt"}\r
             }\r
         }\r
-\r
-        ko-t-cs {\r
-            alias {"cs-ko"}\r
+        lt-Title{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"lt_Title.txt"}\r
+            }\r
         }\r
-        cs-ko {\r
-            file {\r
-                resource:process(transliterator) {"cs_ko.txt"}\r
-                direction {"FORWARD"}\r
+        lt-Upper{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"lt_Upper.txt"}\r
             }\r
         }\r
-\r
-        ja-t-cs-fonipa {\r
-            alias {"cs_FONIPA-ja"}\r
+        lt-t-d0-lower{\r
+            alias{"lt-Lower"}\r
         }\r
-        cs_FONIPA-ja {\r
-            file {\r
-                resource:process(transliterator) {"cs_FONIPA_ja.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        lt-t-d0-title{\r
+            alias{"lt-Title"}\r
         }\r
-\r
-        ko-t-cs-fonipa {\r
-            alias {"cs_FONIPA-ko"}\r
+        lt-t-d0-upper{\r
+            alias{"lt-Upper"}\r
         }\r
-        cs_FONIPA-ko {\r
-            file {\r
-                resource:process(transliterator) {"cs_FONIPA_ko.txt"}\r
-                direction {"FORWARD"}\r
+        mk-Latn-t-mk-m0-bgn{\r
+            alias{"mk-mk_Latn/BGN"}\r
+        }\r
+        mk-mk_Latn/BGN{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"mk_mk_Latn_BGN.txt"}\r
             }\r
         }\r
-\r
-        cy-fonipa-t-cy {\r
-            alias {"cy-cy_FONIPA"}\r
+        mn-Latn-t-mn-m0-bgn{\r
+            alias{"mn-mn_Latn/BGN"}\r
         }\r
-        cy-cy_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"cy_cy_FONIPA.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        mn-Latn-t-mn-m0-mns{\r
+            alias{"mn-mn_Latn/MNS"}\r
         }\r
-\r
-        de-t-de-d0-ascii {\r
-            alias {"de-ASCII"}\r
+        mn-mn_Latn/BGN{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"mn_mn_Latn_BGN.txt"}\r
+            }\r
         }\r
-        de-ASCII {\r
-            file {\r
-                resource:process(transliterator) {"de_ASCII.txt"}\r
-                direction {"FORWARD"}\r
+        mn-mn_Latn/MNS{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"mn_mn_Latn_MNS.txt"}\r
             }\r
         }\r
-\r
-        dsb-fonipa-t-dsb {\r
-            alias {"dsb-dsb_FONIPA"}\r
+        my-Latn-t-my{\r
+            alias{"my-my_Latn"}\r
         }\r
-        dsb-dsb_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"dsb_dsb_FONIPA.txt"}\r
-                direction {"FORWARD"}\r
+        my-Zawgyi{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"my_Zawgyi.txt"}\r
             }\r
         }\r
-\r
-        el-t-d0-lower {\r
-            alias {"el-Lower"}\r
+        my-am{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"my_am.txt"}\r
+            }\r
         }\r
-        el-Lower {\r
-            file {\r
-                resource:process(transliterator) {"el_Lower.txt"}\r
-                direction {"FORWARD"}\r
+        my-ar{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"my_ar.txt"}\r
             }\r
         }\r
-\r
-        el-t-d0-title {\r
-            alias {"el-Title"}\r
+        my-chr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"my_chr.txt"}\r
+            }\r
         }\r
-        el-Title {\r
-            file {\r
-                resource:process(transliterator) {"el_Title.txt"}\r
-                direction {"FORWARD"}\r
+        my-fa{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"my_fa.txt"}\r
             }\r
         }\r
-\r
-        el-t-d0-upper {\r
-            alias {"el-Upper"}\r
+        my-fonipa-t-my{\r
+            alias{"my-my_FONIPA"}\r
         }\r
-        el-Upper {\r
-            file {\r
-                resource:process(transliterator) {"el_Upper.txt"}\r
-                direction {"FORWARD"}\r
+        my-my_FONIPA{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"my_my_FONIPA.txt"}\r
             }\r
         }\r
-\r
-        am-t-eo {\r
-            alias {"eo-am"}\r
-        }\r
-        eo-am {\r
-            file {\r
-                resource:process(transliterator) {"eo_am.txt"}\r
-                direction {"FORWARD"}\r
+        my-my_Latn{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"my_my_Latn.txt"}\r
             }\r
         }\r
-\r
-        ar-t-eo {\r
-            alias {"eo-ar"}\r
+        my-t-my-d0-zawgyi{\r
+            alias{"my-Zawgyi"}\r
         }\r
-        eo-ar {\r
-            file {\r
-                resource:process(transliterator) {"eo_ar.txt"}\r
-                direction {"FORWARD"}\r
+        my-t-my-s0-zawgyi{\r
+            alias{"Zawgyi-my"}\r
+        }\r
+        nl-Title{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"nl_Title.txt"}\r
             }\r
         }\r
-\r
-        chr-t-eo {\r
-            alias {"eo-chr"}\r
+        nl-t-d0-title{\r
+            alias{"nl-Title"}\r
+        }\r
+        nv-fonipa-t-nv{\r
+            alias{"nv-nv_FONIPA"}\r
         }\r
-        eo-chr {\r
-            file {\r
-                resource:process(transliterator) {"eo_chr.txt"}\r
-                direction {"FORWARD"}\r
+        nv-nv_FONIPA{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"nv_nv_FONIPA.txt"}\r
             }\r
         }\r
-\r
-        eo-fonipa-t-eo {\r
-            alias {"eo-eo_FONIPA"}\r
+        pl-am{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"pl_am.txt"}\r
+            }\r
         }\r
-        eo-eo_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"eo_eo_FONIPA.txt"}\r
-                direction {"FORWARD"}\r
+        pl-ar{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"pl_ar.txt"}\r
             }\r
         }\r
-\r
-        fa-t-eo {\r
-            alias {"eo-fa"}\r
+        pl-chr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"pl_chr.txt"}\r
+            }\r
         }\r
-        eo-fa {\r
-            file {\r
-                resource:process(transliterator) {"eo_fa.txt"}\r
-                direction {"FORWARD"}\r
+        pl-fa{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"pl_fa.txt"}\r
             }\r
         }\r
-\r
-        am-t-es {\r
-            alias {"es-am"}\r
+        pl-fonipa-t-pl{\r
+            alias{"pl-pl_FONIPA"}\r
         }\r
-        es-am {\r
-            file {\r
-                resource:process(transliterator) {"es_am.txt"}\r
-                direction {"FORWARD"}\r
+        pl-ja{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"pl_ja.txt"}\r
             }\r
         }\r
-\r
-        ar-t-es {\r
-            alias {"es-ar"}\r
+        pl-pl_FONIPA{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"pl_pl_FONIPA.txt"}\r
+            }\r
         }\r
-        es-ar {\r
-            file {\r
-                resource:process(transliterator) {"es_ar.txt"}\r
-                direction {"FORWARD"}\r
+        pl_FONIPA-ja{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"pl_FONIPA_ja.txt"}\r
             }\r
         }\r
-\r
-        chr-t-es {\r
-            alias {"es-chr"}\r
+        ps-Latn-t-ps-m0-bgn{\r
+            alias{"ps-ps_Latn/BGN"}\r
         }\r
-        es-chr {\r
-            file {\r
-                resource:process(transliterator) {"es_chr.txt"}\r
-                direction {"FORWARD"}\r
+        ps-ps_Latn/BGN{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ps_ps_Latn_BGN.txt"}\r
             }\r
         }\r
-\r
-        es-fonipa-t-es {\r
-            alias {"es-es_FONIPA"}\r
+        rm-fonipa-sursilv-t-rm-sursilv{\r
+            alias{"rm_SURSILV-rm_FONIPA_SURSILV"}\r
         }\r
-        es-es_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"es_es_FONIPA.txt"}\r
-                direction {"FORWARD"}\r
+        rm_SURSILV-am{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"rm_SURSILV_am.txt"}\r
             }\r
         }\r
-\r
-        fa-t-es {\r
-            alias {"es-fa"}\r
+        rm_SURSILV-ar{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"rm_SURSILV_ar.txt"}\r
+            }\r
         }\r
-        es-fa {\r
-            file {\r
-                resource:process(transliterator) {"es_fa.txt"}\r
-                direction {"FORWARD"}\r
+        rm_SURSILV-chr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"rm_SURSILV_chr.txt"}\r
             }\r
         }\r
-\r
-        ja-t-es {\r
-            alias {"es-ja"}\r
+        rm_SURSILV-fa{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"rm_SURSILV_fa.txt"}\r
+            }\r
         }\r
-        es-ja {\r
-            file {\r
-                resource:process(transliterator) {"es_ja.txt"}\r
-                direction {"FORWARD"}\r
+        rm_SURSILV-rm_FONIPA_SURSILV{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"rm_SURSILV_rm_FONIPA_SURSILV.txt"}\r
             }\r
         }\r
-\r
-        zh-t-es {\r
-            alias {"es-zh"}\r
+        ro-am{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ro_am.txt"}\r
+            }\r
         }\r
-        es-zh {\r
-            file {\r
-                resource:process(transliterator) {"es_zh.txt"}\r
-                direction {"FORWARD"}\r
+        ro-ar{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ro_ar.txt"}\r
             }\r
         }\r
-\r
-        am-t-es-419 {\r
-            alias {"es_419-am"}\r
+        ro-chr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ro_chr.txt"}\r
+            }\r
         }\r
-        es_419-am {\r
-            file {\r
-                resource:process(transliterator) {"es_419_am.txt"}\r
-                direction {"FORWARD"}\r
+        ro-fa{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ro_fa.txt"}\r
             }\r
         }\r
-\r
-        ar-t-es-419 {\r
-            alias {"es_419-ar"}\r
+        ro-fonipa-t-ro{\r
+            alias{"ro-ro_FONIPA"}\r
         }\r
-        es_419-ar {\r
-            file {\r
-                resource:process(transliterator) {"es_419_ar.txt"}\r
-                direction {"FORWARD"}\r
+        ro-ja{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ro_ja.txt"}\r
             }\r
         }\r
-\r
-        chr-t-es-419 {\r
-            alias {"es_419-chr"}\r
+        ro-ro_FONIPA{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ro_ro_FONIPA.txt"}\r
+            }\r
         }\r
-        es_419-chr {\r
-            file {\r
-                resource:process(transliterator) {"es_419_chr.txt"}\r
-                direction {"FORWARD"}\r
+        ro_FONIPA-ja{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ro_FONIPA_ja.txt"}\r
             }\r
         }\r
-\r
-        fa-t-es-419 {\r
-            alias {"es_419-fa"}\r
+        ru-Latn-t-ru-m0-bgn{\r
+            alias{"ru-ru_Latn/BGN"}\r
         }\r
-        es_419-fa {\r
-            file {\r
-                resource:process(transliterator) {"es_419_fa.txt"}\r
-                direction {"FORWARD"}\r
+        ru-ja{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ru_ja.txt"}\r
             }\r
         }\r
-\r
-        ja-t-es-419 {\r
-            alias {"es_419-ja"}\r
-        }\r
-        es_419-ja {\r
-            file {\r
-                resource:process(transliterator) {"es_419_ja.txt"}\r
-                direction {"FORWARD"}\r
+        ru-ru_Latn/BGN{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ru_ru_Latn_BGN.txt"}\r
             }\r
         }\r
-\r
-        zh-t-es-419 {\r
-            alias {"es_419-zh"}\r
+        ru-t-ja-latn{\r
+            alias{"ja_Latn-ru"}\r
         }\r
-        es_419-zh {\r
-            file {\r
-                resource:process(transliterator) {"es_419_zh.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        ru-t-ru-latn-m0-bgn{\r
+            alias{"ru_Latn-ru/BGN"}\r
         }\r
-\r
-        am-t-es-fonipa {\r
-            alias {"es_FONIPA-am"}\r
+        ru-t-zh-latn-pinyin{\r
+            alias{"zh_Latn_PINYIN-ru"}\r
         }\r
-        es_FONIPA-am {\r
-            file {\r
-                resource:process(transliterator) {"es_FONIPA_am.txt"}\r
-                direction {"FORWARD"}\r
+        ru-zh{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ru_zh.txt"}\r
             }\r
         }\r
-\r
-        es-419-fonipa-t-es-fonipa {\r
-            alias {"es_FONIPA-es_419_FONIPA"}\r
-        }\r
-        es_FONIPA-es_419_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"es_FONIPA_es_419_FONIPA.txt"}\r
-                direction {"FORWARD"}\r
+        ru_Latn-ru/BGN{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ru_Latn_ru_BGN.txt"}\r
             }\r
         }\r
-\r
-        ja-t-es-fonipa {\r
-            alias {"es_FONIPA-ja"}\r
+        sat-am{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"sat_am.txt"}\r
+            }\r
         }\r
-        es_FONIPA-ja {\r
-            file {\r
-                resource:process(transliterator) {"es_FONIPA_ja.txt"}\r
-                direction {"FORWARD"}\r
+        sat-ar{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"sat_ar.txt"}\r
             }\r
         }\r
-\r
-        zh-t-es-fonipa {\r
-            alias {"es_FONIPA-zh"}\r
+        sat-chr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"sat_chr.txt"}\r
+            }\r
         }\r
-        es_FONIPA-zh {\r
-            file {\r
-                resource:process(transliterator) {"es_FONIPA_zh.txt"}\r
-                direction {"FORWARD"}\r
+        sat-fa{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"sat_fa.txt"}\r
             }\r
         }\r
-\r
-        fa-fonipa-t-fa {\r
-            alias {"fa-fa_FONIPA"}\r
+        sat-fonipa-t-sat-olck{\r
+            alias{"sat_Olck-sat_FONIPA"}\r
         }\r
-        fa-fa_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"fa_fa_FONIPA.txt"}\r
-                direction {"FORWARD"}\r
+        sat_Olck-sat_FONIPA{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"sat_Olck_sat_FONIPA.txt"}\r
             }\r
         }\r
-\r
-        ha-NE-t-ha {\r
-            alias {"ha-ha_NE"}\r
+        si-Latn-t-si{\r
+            alias{"si-si_Latn"}\r
         }\r
-        ha-ha_NE {\r
-            file {\r
-                resource:process(transliterator) {"ha_ha_NE.txt"}\r
-                direction {"FORWARD"}\r
+        si-am{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"si_am.txt"}\r
             }\r
         }\r
-\r
-        am-t-hy {\r
-            alias {"hy-am"}\r
-        }\r
-        hy-am {\r
-            file {\r
-                resource:process(transliterator) {"hy_am.txt"}\r
-                direction {"FORWARD"}\r
+        si-ar{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"si_ar.txt"}\r
             }\r
         }\r
-\r
-        ar-t-hy {\r
-            alias {"hy-ar"}\r
+        si-chr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"si_chr.txt"}\r
+            }\r
         }\r
-        hy-ar {\r
-            file {\r
-                resource:process(transliterator) {"hy_ar.txt"}\r
-                direction {"FORWARD"}\r
+        si-fa{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"si_fa.txt"}\r
             }\r
         }\r
-\r
-        chr-t-hy {\r
-            alias {"hy-chr"}\r
+        si-fonipa-t-si{\r
+            alias{"si-si_FONIPA"}\r
         }\r
-        hy-chr {\r
-            file {\r
-                resource:process(transliterator) {"hy_chr.txt"}\r
-                direction {"FORWARD"}\r
+        si-si_FONIPA{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"si_si_FONIPA.txt"}\r
             }\r
         }\r
-\r
-        fa-t-hy {\r
-            alias {"hy-fa"}\r
-        }\r
-        hy-fa {\r
-            file {\r
-                resource:process(transliterator) {"hy_fa.txt"}\r
-                direction {"FORWARD"}\r
+        si-si_Latn{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"si_si_Latn.txt"}\r
             }\r
         }\r
-\r
-        hy-fonipa-t-hy {\r
-            alias {"hy-hy_FONIPA"}\r
+        sk-am{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"sk_am.txt"}\r
+            }\r
         }\r
-        hy-hy_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"hy_hy_FONIPA.txt"}\r
-                direction {"FORWARD"}\r
+        sk-ar{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"sk_ar.txt"}\r
             }\r
         }\r
-\r
-        am-t-hy-arevmda {\r
-            alias {"hy_AREVMDA-am"}\r
+        sk-chr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"sk_chr.txt"}\r
+            }\r
         }\r
-        hy_AREVMDA-am {\r
-            file {\r
-                resource:process(transliterator) {"hy_AREVMDA_am.txt"}\r
-                direction {"FORWARD"}\r
+        sk-fa{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"sk_fa.txt"}\r
             }\r
         }\r
-\r
-        ar-t-hy-arevmda {\r
-            alias {"hy_AREVMDA-ar"}\r
+        sk-fonipa-t-sk{\r
+            alias{"sk-sk_FONIPA"}\r
         }\r
-        hy_AREVMDA-ar {\r
-            file {\r
-                resource:process(transliterator) {"hy_AREVMDA_ar.txt"}\r
-                direction {"FORWARD"}\r
+        sk-ja{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"sk_ja.txt"}\r
             }\r
         }\r
-\r
-        chr-t-hy-arevmda {\r
-            alias {"hy_AREVMDA-chr"}\r
+        sk-sk_FONIPA{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"sk_sk_FONIPA.txt"}\r
+            }\r
         }\r
-        hy_AREVMDA-chr {\r
-            file {\r
-                resource:process(transliterator) {"hy_AREVMDA_chr.txt"}\r
-                direction {"FORWARD"}\r
+        sk_FONIPA-ja{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"sk_FONIPA_ja.txt"}\r
             }\r
         }\r
-\r
-        fa-t-hy-arevmda {\r
-            alias {"hy_AREVMDA-fa"}\r
+        sr-Latn-t-sr-m0-bgn{\r
+            alias{"sr-sr_Latn/BGN"}\r
         }\r
-        hy_AREVMDA-fa {\r
-            file {\r
-                resource:process(transliterator) {"hy_AREVMDA_fa.txt"}\r
-                direction {"FORWARD"}\r
+        sr-sr_Latn/BGN{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"sr_sr_Latn_BGN.txt"}\r
             }\r
         }\r
-\r
-        hy-arevmda-fonipa-t-hy-arevmda {\r
-            alias {"hy_AREVMDA-hy_AREVMDA_FONIPA"}\r
+        ta-fonipa-t-ta{\r
+            alias{"ta-ta_FONIPA"}\r
         }\r
-        hy_AREVMDA-hy_AREVMDA_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"hy_AREVMDA_hy_AREVMDA_FONIPA.txt"}\r
-                direction {"FORWARD"}\r
+        ta-ta_FONIPA{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ta_ta_FONIPA.txt"}\r
             }\r
         }\r
-\r
-        am-t-ia {\r
-            alias {"ia-am"}\r
+        tk-t-tk-cyrl-m0-bgn{\r
+            alias{"tk_Cyrl-tk/BGN"}\r
         }\r
-        ia-am {\r
-            file {\r
-                resource:process(transliterator) {"ia_am.txt"}\r
-                direction {"FORWARD"}\r
+        tk_Cyrl-tk/BGN{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"tk_Cyrl_tk_BGN.txt"}\r
             }\r
         }\r
-\r
-        ar-t-ia {\r
-            alias {"ia-ar"}\r
+        tlh-am{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"tlh_am.txt"}\r
+            }\r
         }\r
-        ia-ar {\r
-            file {\r
-                resource:process(transliterator) {"ia_ar.txt"}\r
-                direction {"FORWARD"}\r
+        tlh-ar{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"tlh_ar.txt"}\r
             }\r
         }\r
-\r
-        chr-t-ia {\r
-            alias {"ia-chr"}\r
+        tlh-chr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"tlh_chr.txt"}\r
+            }\r
         }\r
-        ia-chr {\r
-            file {\r
-                resource:process(transliterator) {"ia_chr.txt"}\r
-                direction {"FORWARD"}\r
+        tlh-fa{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"tlh_fa.txt"}\r
             }\r
         }\r
-\r
-        fa-t-ia {\r
-            alias {"ia-fa"}\r
+        tlh-fonipa-t-tlh{\r
+            alias{"tlh-tlh_FONIPA"}\r
         }\r
-        ia-fa {\r
-            file {\r
-                resource:process(transliterator) {"ia_fa.txt"}\r
-                direction {"FORWARD"}\r
+        tlh-tlh_FONIPA{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"tlh_tlh_FONIPA.txt"}\r
             }\r
         }\r
-\r
-        ia-fonipa-t-ia {\r
-            alias {"ia-ia_FONIPA"}\r
-        }\r
-        ia-ia_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"ia_ia_FONIPA.txt"}\r
-                direction {"FORWARD"}\r
+        tr-Lower{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"tr_Lower.txt"}\r
             }\r
         }\r
-\r
-        am-t-it {\r
-            alias {"it-am"}\r
+        tr-Title{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"tr_Title.txt"}\r
+            }\r
         }\r
-        it-am {\r
-            file {\r
-                resource:process(transliterator) {"it_am.txt"}\r
-                direction {"FORWARD"}\r
+        tr-Upper{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"tr_Upper.txt"}\r
             }\r
         }\r
-\r
-        ja-t-it {\r
-            alias {"it-ja"}\r
+        tr-t-d0-lower{\r
+            alias{"tr-Lower"}\r
         }\r
-        it-ja {\r
-            file {\r
-                resource:process(transliterator) {"it_ja.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        tr-t-d0-title{\r
+            alias{"tr-Title"}\r
         }\r
-\r
-        ko-t-ja-latn {\r
-            alias {"ja_Latn-ko"}\r
+        tr-t-d0-upper{\r
+            alias{"tr-Upper"}\r
         }\r
-        ja_Latn-ko {\r
-            file {\r
-                resource:process(transliterator) {"ja_Latn_ko.txt"}\r
-                direction {"FORWARD"}\r
+        ug-fonipa-t-ug{\r
+            alias{"ug-ug_FONIPA"}\r
+        }\r
+        ug-ug_FONIPA{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"ug_ug_FONIPA.txt"}\r
             }\r
         }\r
-\r
-        ru-t-ja-latn {\r
-            alias {"ja_Latn-ru"}\r
+        uk-Latn-t-uk-m0-bgn{\r
+            alias{"uk-uk_Latn/BGN"}\r
         }\r
-        ja_Latn-ru {\r
-            file {\r
-                resource:process(transliterator) {"ja_Latn_ru.txt"}\r
-                direction {"FORWARD"}\r
+        uk-uk_Latn/BGN{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"uk_uk_Latn_BGN.txt"}\r
             }\r
         }\r
-\r
-        am-t-kk {\r
-            alias {"kk-am"}\r
+        und-Arab-t-und-beng{\r
+            alias{"Beng-Arab"}\r
         }\r
-        kk-am {\r
-            file {\r
-                resource:process(transliterator) {"kk_am.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Arab-t-und-deva{\r
+            alias{"Deva-Arab"}\r
         }\r
-\r
-        ar-t-kk {\r
-            alias {"kk-ar"}\r
+        und-Arab-t-und-gujr{\r
+            alias{"Gujr-Arab"}\r
         }\r
-        kk-ar {\r
-            file {\r
-                resource:process(transliterator) {"kk_ar.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Arab-t-und-guru{\r
+            alias{"Guru-Arab"}\r
         }\r
-\r
-        chr-t-kk {\r
-            alias {"kk-chr"}\r
+        und-Arab-t-und-knda{\r
+            alias{"Knda-Arab"}\r
         }\r
-        kk-chr {\r
-            file {\r
-                resource:process(transliterator) {"kk_chr.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Arab-t-und-latn{\r
+            alias{"Latn-Arab"}\r
         }\r
-\r
-        fa-t-kk {\r
-            alias {"kk-fa"}\r
+        und-Arab-t-und-mlym{\r
+            alias{"Mlym-Arab"}\r
         }\r
-        kk-fa {\r
-            file {\r
-                resource:process(transliterator) {"kk_fa.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Arab-t-und-orya{\r
+            alias{"Orya-Arab"}\r
         }\r
-\r
-        kk-fonipa-t-kk {\r
-            alias {"kk-kk_FONIPA"}\r
+        und-Arab-t-und-taml{\r
+            alias{"Taml-Arab"}\r
         }\r
-        kk-kk_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"kk_kk_FONIPA.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Arab-t-und-telu{\r
+            alias{"Telu-Arab"}\r
         }\r
-\r
-        am-t-ky {\r
-            alias {"ky-am"}\r
+        und-Armn-t-und-latn{\r
+            alias{"Latn-Armn"}\r
         }\r
-        ky-am {\r
-            file {\r
-                resource:process(transliterator) {"ky_am.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Beng-t-und-deva{\r
+            alias{"Deva-Beng"}\r
         }\r
-\r
-        ar-t-ky {\r
-            alias {"ky-ar"}\r
+        und-Beng-t-und-gujr{\r
+            alias{"Gujr-Beng"}\r
         }\r
-        ky-ar {\r
-            file {\r
-                resource:process(transliterator) {"ky_ar.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Beng-t-und-guru{\r
+            alias{"Guru-Beng"}\r
         }\r
-\r
-        chr-t-ky {\r
-            alias {"ky-chr"}\r
+        und-Beng-t-und-knda{\r
+            alias{"Knda-Beng"}\r
         }\r
-        ky-chr {\r
-            file {\r
-                resource:process(transliterator) {"ky_chr.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Beng-t-und-latn{\r
+            alias{"Latn-Beng"}\r
         }\r
-\r
-        fa-t-ky {\r
-            alias {"ky-fa"}\r
+        und-Beng-t-und-mlym{\r
+            alias{"Mlym-Beng"}\r
         }\r
-        ky-fa {\r
-            file {\r
-                resource:process(transliterator) {"ky_fa.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Beng-t-und-orya{\r
+            alias{"Orya-Beng"}\r
         }\r
-\r
-        ky-fonipa-t-ky {\r
-            alias {"ky-ky_FONIPA"}\r
+        und-Beng-t-und-taml{\r
+            alias{"Taml-Beng"}\r
         }\r
-        ky-ky_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"ky_ky_FONIPA.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Beng-t-und-telu{\r
+            alias{"Telu-Beng"}\r
         }\r
-\r
-        la-fonipa-t-la {\r
-            alias {"la-la_FONIPA"}\r
+        und-Bopo-t-und-latn{\r
+            alias{"Latn-Bopo"}\r
         }\r
-        la-la_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"la_la_FONIPA.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Cans-t-und-latn{\r
+            alias{"Latn-Cans"}\r
         }\r
-\r
-        lt-t-d0-lower {\r
-            alias {"lt-Lower"}\r
+        und-Cyrl-t-und-latn{\r
+            alias{"Latn-Cyrl"}\r
         }\r
-        lt-Lower {\r
-            file {\r
-                resource:process(transliterator) {"lt_Lower.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Deva-t-und-beng{\r
+            alias{"Beng-Deva"}\r
         }\r
-\r
-        lt-t-d0-title {\r
-            alias {"lt-Title"}\r
+        und-Deva-t-und-gujr{\r
+            alias{"Gujr-Deva"}\r
         }\r
-        lt-Title {\r
-            file {\r
-                resource:process(transliterator) {"lt_Title.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Deva-t-und-guru{\r
+            alias{"Guru-Deva"}\r
         }\r
-\r
-        lt-t-d0-upper {\r
-            alias {"lt-Upper"}\r
+        und-Deva-t-und-knda{\r
+            alias{"Knda-Deva"}\r
         }\r
-        lt-Upper {\r
-            file {\r
-                resource:process(transliterator) {"lt_Upper.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Deva-t-und-latn{\r
+            alias{"Latn-Deva"}\r
         }\r
-\r
-        mn-Latn-t-mn-m0-mns {\r
-            alias {"mn-mn_Latn/MNS"}\r
+        und-Deva-t-und-mlym{\r
+            alias{"Mlym-Deva"}\r
         }\r
-        mn-mn_Latn/MNS {\r
-            file {\r
-                resource:process(transliterator) {"mn_mn_Latn_MNS.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Deva-t-und-orya{\r
+            alias{"Orya-Deva"}\r
         }\r
-\r
-        am-t-my {\r
-            alias {"my-am"}\r
+        und-Deva-t-und-taml{\r
+            alias{"Taml-Deva"}\r
         }\r
-        my-am {\r
-            file {\r
-                resource:process(transliterator) {"my_am.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Deva-t-und-telu{\r
+            alias{"Telu-Deva"}\r
         }\r
-\r
-        ar-t-my {\r
-            alias {"my-ar"}\r
+        und-Ethi-t-und-latn{\r
+            alias{"Latn-Ethi"}\r
         }\r
-        my-ar {\r
-            file {\r
-                resource:process(transliterator) {"my_ar.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Geor-t-und-latn{\r
+            alias{"Latn-Geor"}\r
         }\r
-\r
-        chr-t-my {\r
-            alias {"my-chr"}\r
+        und-Grek-t-und-latn{\r
+            alias{"Latn-Grek"}\r
         }\r
-        my-chr {\r
-            file {\r
-                resource:process(transliterator) {"my_chr.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Grek-t-und-latn-m0-ungegn{\r
+            alias{"Latn-Grek/UNGEGN"}\r
         }\r
-\r
-        fa-t-my {\r
-            alias {"my-fa"}\r
+        und-Gujr-t-und-beng{\r
+            alias{"Beng-Gujr"}\r
         }\r
-        my-fa {\r
-            file {\r
-                resource:process(transliterator) {"my_fa.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Gujr-t-und-deva{\r
+            alias{"Deva-Gujr"}\r
         }\r
-\r
-        my-fonipa-t-my {\r
-            alias {"my-my_FONIPA"}\r
+        und-Gujr-t-und-guru{\r
+            alias{"Guru-Gujr"}\r
         }\r
-        my-my_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"my_my_FONIPA.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Gujr-t-und-knda{\r
+            alias{"Knda-Gujr"}\r
         }\r
-\r
-        my-t-my-d0-zawgyi {\r
-            alias {"my-Zawgyi"}\r
+        und-Gujr-t-und-latn{\r
+            alias{"Latn-Gujr"}\r
         }\r
-        my-Zawgyi {\r
-            file {\r
-                resource:process(transliterator) {"my_Zawgyi.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Gujr-t-und-mlym{\r
+            alias{"Mlym-Gujr"}\r
         }\r
-\r
-        my-t-my-s0-zawgyi {\r
-            alias {"Zawgyi-my"}\r
+        und-Gujr-t-und-orya{\r
+            alias{"Orya-Gujr"}\r
         }\r
-        Zawgyi-my {\r
-            file {\r
-                resource:process(transliterator) {"Zawgyi_my.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Gujr-t-und-taml{\r
+            alias{"Taml-Gujr"}\r
         }\r
-\r
-        nl-t-d0-title {\r
-            alias {"nl-Title"}\r
+        und-Gujr-t-und-telu{\r
+            alias{"Telu-Gujr"}\r
         }\r
-        nl-Title {\r
-            file {\r
-                resource:process(transliterator) {"nl_Title.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Guru-t-und-beng{\r
+            alias{"Beng-Guru"}\r
         }\r
-\r
-        nv-fonipa-t-nv {\r
-            alias {"nv-nv_FONIPA"}\r
+        und-Guru-t-und-deva{\r
+            alias{"Deva-Guru"}\r
         }\r
-        nv-nv_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"nv_nv_FONIPA.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Guru-t-und-gujr{\r
+            alias{"Gujr-Guru"}\r
         }\r
-\r
-        am-t-pl {\r
-            alias {"pl-am"}\r
+        und-Guru-t-und-knda{\r
+            alias{"Knda-Guru"}\r
         }\r
-        pl-am {\r
-            file {\r
-                resource:process(transliterator) {"pl_am.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Guru-t-und-latn{\r
+            alias{"Latn-Guru"}\r
         }\r
-\r
-        ar-t-pl {\r
-            alias {"pl-ar"}\r
+        und-Guru-t-und-mlym{\r
+            alias{"Mlym-Guru"}\r
         }\r
-        pl-ar {\r
-            file {\r
-                resource:process(transliterator) {"pl_ar.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Guru-t-und-orya{\r
+            alias{"Orya-Guru"}\r
         }\r
-\r
-        chr-t-pl {\r
-            alias {"pl-chr"}\r
+        und-Guru-t-und-taml{\r
+            alias{"Taml-Guru"}\r
         }\r
-        pl-chr {\r
-            file {\r
-                resource:process(transliterator) {"pl_chr.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Guru-t-und-telu{\r
+            alias{"Telu-Guru"}\r
         }\r
-\r
-        fa-t-pl {\r
-            alias {"pl-fa"}\r
+        und-Hang-t-und-latn{\r
+            alias{"Latn-Hang"}\r
         }\r
-        pl-fa {\r
-            file {\r
-                resource:process(transliterator) {"pl_fa.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Hans-t-und-hant{\r
+            alias{"Hant-Hans"}\r
         }\r
-\r
-        ja-t-pl {\r
-            alias {"pl-ja"}\r
+        und-Hant-t-und-hans{\r
+            alias{"Hans-Hant"}\r
         }\r
-        pl-ja {\r
-            file {\r
-                resource:process(transliterator) {"pl_ja.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Hebr-t-und-latn{\r
+            alias{"Latn-Hebr"}\r
         }\r
-\r
-        pl-fonipa-t-pl {\r
-            alias {"pl-pl_FONIPA"}\r
+        und-Hira-t-und-kana{\r
+            alias{"Kana-Hira"}\r
         }\r
-        pl-pl_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"pl_pl_FONIPA.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Hira-t-und-latn{\r
+            alias{"Latn-Hira"}\r
         }\r
-\r
-        ja-t-pl-fonipa {\r
-            alias {"pl_FONIPA-ja"}\r
+        und-Jamo-t-und-latn{\r
+            alias{"Latn-Jamo"}\r
         }\r
-        pl_FONIPA-ja {\r
-            file {\r
-                resource:process(transliterator) {"pl_FONIPA_ja.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Kana-t-und-hira{\r
+            alias{"Hira-Kana"}\r
         }\r
-\r
-        am-t-rm-sursilv {\r
-            alias {"rm_SURSILV-am"}\r
+        und-Kana-t-und-latn{\r
+            alias{"Latn-Kana"}\r
         }\r
-        rm_SURSILV-am {\r
-            file {\r
-                resource:process(transliterator) {"rm_SURSILV_am.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Knda-t-und-beng{\r
+            alias{"Beng-Knda"}\r
         }\r
-\r
-        ar-t-rm-sursilv {\r
-            alias {"rm_SURSILV-ar"}\r
+        und-Knda-t-und-deva{\r
+            alias{"Deva-Knda"}\r
         }\r
-        rm_SURSILV-ar {\r
-            file {\r
-                resource:process(transliterator) {"rm_SURSILV_ar.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Knda-t-und-gujr{\r
+            alias{"Gujr-Knda"}\r
         }\r
-\r
-        chr-t-rm-sursilv {\r
-            alias {"rm_SURSILV-chr"}\r
+        und-Knda-t-und-guru{\r
+            alias{"Guru-Knda"}\r
         }\r
-        rm_SURSILV-chr {\r
-            file {\r
-                resource:process(transliterator) {"rm_SURSILV_chr.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Knda-t-und-latn{\r
+            alias{"Latn-Knda"}\r
         }\r
-\r
-        fa-t-rm-sursilv {\r
-            alias {"rm_SURSILV-fa"}\r
+        und-Knda-t-und-mlym{\r
+            alias{"Mlym-Knda"}\r
         }\r
-        rm_SURSILV-fa {\r
-            file {\r
-                resource:process(transliterator) {"rm_SURSILV_fa.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Knda-t-und-orya{\r
+            alias{"Orya-Knda"}\r
         }\r
-\r
-        rm-fonipa-sursilv-t-rm-sursilv {\r
-            alias {"rm_SURSILV-rm_FONIPA_SURSILV"}\r
+        und-Knda-t-und-taml{\r
+            alias{"Taml-Knda"}\r
         }\r
-        rm_SURSILV-rm_FONIPA_SURSILV {\r
-            file {\r
-                resource:process(transliterator) {"rm_SURSILV_rm_FONIPA_SURSILV.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Knda-t-und-telu{\r
+            alias{"Telu-Knda"}\r
         }\r
-\r
-        am-t-ro {\r
-            alias {"ro-am"}\r
+        und-Latn-t-s0-ascii{\r
+            alias{"Latin-ASCII"}\r
         }\r
-        ro-am {\r
-            file {\r
-                resource:process(transliterator) {"ro_am.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Latn-t-und-arab{\r
+            alias{"Arab-Latn"}\r
         }\r
-\r
-        ar-t-ro {\r
-            alias {"ro-ar"}\r
+        und-Latn-t-und-armn{\r
+            alias{"Armn-Latn"}\r
         }\r
-        ro-ar {\r
-            file {\r
-                resource:process(transliterator) {"ro_ar.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Latn-t-und-beng{\r
+            alias{"Beng-Latn"}\r
         }\r
-\r
-        chr-t-ro {\r
-            alias {"ro-chr"}\r
+        und-Latn-t-und-bopo{\r
+            alias{"Bopo-Latn"}\r
         }\r
-        ro-chr {\r
-            file {\r
-                resource:process(transliterator) {"ro_chr.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Latn-t-und-cans{\r
+            alias{"Cans-Latn"}\r
         }\r
-\r
-        fa-t-ro {\r
-            alias {"ro-fa"}\r
+        und-Latn-t-und-cyrl{\r
+            alias{"Cyrl-Latn"}\r
         }\r
-        ro-fa {\r
-            file {\r
-                resource:process(transliterator) {"ro_fa.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Latn-t-und-deva{\r
+            alias{"Deva-Latn"}\r
         }\r
-\r
-        ja-t-ro {\r
-            alias {"ro-ja"}\r
+        und-Latn-t-und-ethi{\r
+            alias{"Ethi-Latn"}\r
         }\r
-        ro-ja {\r
-            file {\r
-                resource:process(transliterator) {"ro_ja.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Latn-t-und-geor{\r
+            alias{"Geor-Latn"}\r
         }\r
-\r
-        ro-fonipa-t-ro {\r
-            alias {"ro-ro_FONIPA"}\r
+        und-Latn-t-und-grek{\r
+            alias{"Grek-Latn"}\r
         }\r
-        ro-ro_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"ro_ro_FONIPA.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Latn-t-und-grek-m0-ungegn{\r
+            alias{"Grek-Latn/UNGEGN"}\r
         }\r
-\r
-        ja-t-ro-fonipa {\r
-            alias {"ro_FONIPA-ja"}\r
+        und-Latn-t-und-gujr{\r
+            alias{"Gujr-Latn"}\r
         }\r
-        ro_FONIPA-ja {\r
-            file {\r
-                resource:process(transliterator) {"ro_FONIPA_ja.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Latn-t-und-guru{\r
+            alias{"Guru-Latn"}\r
         }\r
-\r
-        ja-t-ru {\r
-            alias {"ru-ja"}\r
+        und-Latn-t-und-hang{\r
+            alias{"Hang-Latn"}\r
         }\r
-        ru-ja {\r
-            file {\r
-                resource:process(transliterator) {"ru_ja.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Latn-t-und-hani{\r
+            alias{"Hani-Latn"}\r
         }\r
-\r
-        zh-t-ru {\r
-            alias {"ru-zh"}\r
+        und-Latn-t-und-hani-m0-prprname{\r
+            alias{"Han-Latin/Names"}\r
         }\r
-        ru-zh {\r
-            file {\r
-                resource:process(transliterator) {"ru_zh.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Latn-t-und-hebr{\r
+            alias{"Hebr-Latn"}\r
         }\r
-\r
-        Latin-Russian/BGN {\r
-            alias {"ru_Latn-ru/BGN"}\r
+        und-Latn-t-und-hira{\r
+            alias{"Hira-Latn"}\r
         }\r
-        ru-t-ru-latn-m0-bgn {\r
-            alias {"ru_Latn-ru/BGN"}\r
+        und-Latn-t-und-jamo{\r
+            alias{"Jamo-Latn"}\r
         }\r
-        ru_Latn-ru/BGN {\r
-            file {\r
-                resource:process(transliterator) {"ru_Latn_ru_BGN.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Latn-t-und-kana{\r
+            alias{"Kana-Latn"}\r
         }\r
-\r
-        am-t-sat {\r
-            alias {"sat-am"}\r
+        und-Latn-t-und-knda{\r
+            alias{"Knda-Latn"}\r
         }\r
-        sat-am {\r
-            file {\r
-                resource:process(transliterator) {"sat_am.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Latn-t-und-mlym{\r
+            alias{"Mlym-Latn"}\r
         }\r
-\r
-        ar-t-sat {\r
-            alias {"sat-ar"}\r
+        und-Latn-t-und-orya{\r
+            alias{"Orya-Latn"}\r
         }\r
-        sat-ar {\r
-            file {\r
-                resource:process(transliterator) {"sat_ar.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Latn-t-und-syrc{\r
+            alias{"Syrc-Latn"}\r
         }\r
-\r
-        chr-t-sat {\r
-            alias {"sat-chr"}\r
+        und-Latn-t-und-taml{\r
+            alias{"Taml-Latn"}\r
         }\r
-        sat-chr {\r
-            file {\r
-                resource:process(transliterator) {"sat_chr.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Latn-t-und-telu{\r
+            alias{"Telu-Latn"}\r
         }\r
-\r
-        fa-t-sat {\r
-            alias {"sat-fa"}\r
+        und-Latn-t-und-thaa{\r
+            alias{"Thaa-Latn"}\r
         }\r
-        sat-fa {\r
-            file {\r
-                resource:process(transliterator) {"sat_fa.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Latn-t-und-thai{\r
+            alias{"Thai-Latn"}\r
         }\r
-\r
-        sat-fonipa-t-sat-olck {\r
-            alias {"sat_Olck-sat_FONIPA"}\r
+        und-Mlym-t-und-beng{\r
+            alias{"Beng-Mlym"}\r
         }\r
-        sat_Olck-sat_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"sat_Olck_sat_FONIPA.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Mlym-t-und-deva{\r
+            alias{"Deva-Mlym"}\r
         }\r
-\r
-        am-t-si {\r
-            alias {"si-am"}\r
+        und-Mlym-t-und-gujr{\r
+            alias{"Gujr-Mlym"}\r
         }\r
-        si-am {\r
-            file {\r
-                resource:process(transliterator) {"si_am.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Mlym-t-und-guru{\r
+            alias{"Guru-Mlym"}\r
         }\r
-\r
-        ar-t-si {\r
-            alias {"si-ar"}\r
+        und-Mlym-t-und-knda{\r
+            alias{"Knda-Mlym"}\r
         }\r
-        si-ar {\r
-            file {\r
-                resource:process(transliterator) {"si_ar.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Mlym-t-und-latn{\r
+            alias{"Latn-Mlym"}\r
         }\r
-\r
-        chr-t-si {\r
-            alias {"si-chr"}\r
+        und-Mlym-t-und-orya{\r
+            alias{"Orya-Mlym"}\r
         }\r
-        si-chr {\r
-            file {\r
-                resource:process(transliterator) {"si_chr.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Mlym-t-und-taml{\r
+            alias{"Taml-Mlym"}\r
         }\r
-\r
-        fa-t-si {\r
-            alias {"si-fa"}\r
+        und-Mlym-t-und-telu{\r
+            alias{"Telu-Mlym"}\r
         }\r
-        si-fa {\r
-            file {\r
-                resource:process(transliterator) {"si_fa.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Orya-t-und-beng{\r
+            alias{"Beng-Orya"}\r
         }\r
-\r
-        si-fonipa-t-si {\r
-            alias {"si-si_FONIPA"}\r
+        und-Orya-t-und-deva{\r
+            alias{"Deva-Orya"}\r
         }\r
-        si-si_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"si_si_FONIPA.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Orya-t-und-gujr{\r
+            alias{"Gujr-Orya"}\r
         }\r
-\r
-        si-Latn-t-si {\r
-            alias {"si-si_Latn"}\r
+        und-Orya-t-und-guru{\r
+            alias{"Guru-Orya"}\r
         }\r
-        si-si_Latn {\r
-            file {\r
-                resource:process(transliterator) {"si_si_Latn.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Orya-t-und-knda{\r
+            alias{"Knda-Orya"}\r
         }\r
-\r
-        am-t-sk {\r
-            alias {"sk-am"}\r
+        und-Orya-t-und-latn{\r
+            alias{"Latn-Orya"}\r
         }\r
-        sk-am {\r
-            file {\r
-                resource:process(transliterator) {"sk_am.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Orya-t-und-mlym{\r
+            alias{"Mlym-Orya"}\r
         }\r
-\r
-        ar-t-sk {\r
-            alias {"sk-ar"}\r
+        und-Orya-t-und-taml{\r
+            alias{"Taml-Orya"}\r
         }\r
-        sk-ar {\r
-            file {\r
-                resource:process(transliterator) {"sk_ar.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Orya-t-und-telu{\r
+            alias{"Telu-Orya"}\r
         }\r
-\r
-        chr-t-sk {\r
-            alias {"sk-chr"}\r
+        und-Syrc-t-und-latn{\r
+            alias{"Latn-Syrc"}\r
         }\r
-        sk-chr {\r
-            file {\r
-                resource:process(transliterator) {"sk_chr.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Taml-t-und-beng{\r
+            alias{"Beng-Taml"}\r
         }\r
-\r
-        fa-t-sk {\r
-            alias {"sk-fa"}\r
+        und-Taml-t-und-deva{\r
+            alias{"Deva-Taml"}\r
         }\r
-        sk-fa {\r
-            file {\r
-                resource:process(transliterator) {"sk_fa.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Taml-t-und-gujr{\r
+            alias{"Gujr-Taml"}\r
         }\r
-\r
-        ja-t-sk {\r
-            alias {"sk-ja"}\r
+        und-Taml-t-und-guru{\r
+            alias{"Guru-Taml"}\r
         }\r
-        sk-ja {\r
-            file {\r
-                resource:process(transliterator) {"sk_ja.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Taml-t-und-knda{\r
+            alias{"Knda-Taml"}\r
         }\r
-\r
-        sk-fonipa-t-sk {\r
-            alias {"sk-sk_FONIPA"}\r
+        und-Taml-t-und-latn{\r
+            alias{"Latn-Taml"}\r
         }\r
-        sk-sk_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"sk_sk_FONIPA.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Taml-t-und-mlym{\r
+            alias{"Mlym-Taml"}\r
         }\r
-\r
-        ja-t-sk-fonipa {\r
-            alias {"sk_FONIPA-ja"}\r
+        und-Taml-t-und-orya{\r
+            alias{"Orya-Taml"}\r
         }\r
-        sk_FONIPA-ja {\r
-            file {\r
-                resource:process(transliterator) {"sk_FONIPA_ja.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Taml-t-und-telu{\r
+            alias{"Telu-Taml"}\r
         }\r
-\r
-        ta-fonipa-t-ta {\r
-            alias {"ta-ta_FONIPA"}\r
+        und-Telu-t-und-beng{\r
+            alias{"Beng-Telu"}\r
         }\r
-        ta-ta_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"ta_ta_FONIPA.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Telu-t-und-deva{\r
+            alias{"Deva-Telu"}\r
         }\r
-\r
-        am-t-tlh {\r
-            alias {"tlh-am"}\r
+        und-Telu-t-und-gujr{\r
+            alias{"Gujr-Telu"}\r
         }\r
-        tlh-am {\r
-            file {\r
-                resource:process(transliterator) {"tlh_am.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Telu-t-und-guru{\r
+            alias{"Guru-Telu"}\r
         }\r
-\r
-        ar-t-tlh {\r
-            alias {"tlh-ar"}\r
+        und-Telu-t-und-knda{\r
+            alias{"Knda-Telu"}\r
         }\r
-        tlh-ar {\r
-            file {\r
-                resource:process(transliterator) {"tlh_ar.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Telu-t-und-latn{\r
+            alias{"Latn-Telu"}\r
         }\r
-\r
-        chr-t-tlh {\r
-            alias {"tlh-chr"}\r
+        und-Telu-t-und-mlym{\r
+            alias{"Mlym-Telu"}\r
         }\r
-        tlh-chr {\r
-            file {\r
-                resource:process(transliterator) {"tlh_chr.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Telu-t-und-orya{\r
+            alias{"Orya-Telu"}\r
         }\r
-\r
-        fa-t-tlh {\r
-            alias {"tlh-fa"}\r
+        und-Telu-t-und-taml{\r
+            alias{"Taml-Telu"}\r
         }\r
-        tlh-fa {\r
-            file {\r
-                resource:process(transliterator) {"tlh_fa.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-Thaa-t-und-latn{\r
+            alias{"Latn-Thaa"}\r
         }\r
-\r
-        tlh-fonipa-t-tlh {\r
-            alias {"tlh-tlh_FONIPA"}\r
+        und-Thai-t-und-latn{\r
+            alias{"Latn-Thai"}\r
         }\r
-        tlh-tlh_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"tlh_tlh_FONIPA.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-fonipa-t-und-fonxsamp{\r
+            alias{"und_FONXSAMP-und_FONIPA"}\r
         }\r
-\r
-        tr-t-d0-lower {\r
-            alias {"tr-Lower"}\r
+        und-fonxsamp-t-und-fonipa{\r
+            alias{"und_FONIPA-und_FONXSAMP"}\r
         }\r
-        tr-Lower {\r
-            file {\r
-                resource:process(transliterator) {"tr_Lower.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-pinyin-t-d0-npinyin{\r
+            alias{"Latin-NumericPinyin"}\r
         }\r
-\r
-        tr-t-d0-title {\r
-            alias {"tr-Title"}\r
+        und-pinyin-t-s0-npinyin{\r
+            alias{"NumericPinyin-Latin"}\r
         }\r
-        tr-Title {\r
-            file {\r
-                resource:process(transliterator) {"tr_Title.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-t-d0-accents{\r
+            alias{"Any-Accents"}\r
         }\r
-\r
-        tr-t-d0-upper {\r
-            alias {"tr-Upper"}\r
+        und-t-d0-ascii{\r
+            alias{"Latin-ASCII"}\r
         }\r
-        tr-Upper {\r
-            file {\r
-                resource:process(transliterator) {"tr_Upper.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-t-d0-fwidth{\r
+            alias{"Halfwidth-Fullwidth"}\r
         }\r
-\r
-        ug-fonipa-t-ug {\r
-            alias {"ug-ug_FONIPA"}\r
+        und-t-d0-hwidth{\r
+            alias{"Fullwidth-Halfwidth"}\r
         }\r
-        ug-ug_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"ug_ug_FONIPA.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        und-t-d0-publish{\r
+            alias{"Any-Publishing"}\r
+        }\r
+        und-t-s0-accents{\r
+            alias{"Accents-Any"}\r
         }\r
-\r
-        ar-t-und-fonipa {\r
-            alias {"und_FONIPA-ar"}\r
+        und-t-s0-publish{\r
+            alias{"Publishing-Any"}\r
         }\r
-        und_FONIPA-ar {\r
-            file {\r
-                resource:process(transliterator) {"und_FONIPA_ar.txt"}\r
-                direction {"FORWARD"}\r
+        und_FONIPA-ar{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"und_FONIPA_ar.txt"}\r
             }\r
         }\r
-\r
-        chr-t-und-fonipa {\r
-            alias {"und_FONIPA-chr"}\r
+        und_FONIPA-chr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"und_FONIPA_chr.txt"}\r
+            }\r
         }\r
-        und_FONIPA-chr {\r
-            file {\r
-                resource:process(transliterator) {"und_FONIPA_chr.txt"}\r
-                direction {"FORWARD"}\r
+        und_FONIPA-fa{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"und_FONIPA_fa.txt"}\r
             }\r
         }\r
-\r
-        fa-t-und-fonipa {\r
-            alias {"und_FONIPA-fa"}\r
+        und_FONIPA-und_FONXSAMP{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"und_FONIPA_und_FONXSAMP.txt"}\r
+            }\r
         }\r
-        und_FONIPA-fa {\r
-            file {\r
-                resource:process(transliterator) {"und_FONIPA_fa.txt"}\r
-                direction {"FORWARD"}\r
+        und_FONXSAMP-und_FONIPA{\r
+            file{\r
+                direction{"REVERSE"}\r
+                resource:process(transliterator){"und_FONIPA_und_FONXSAMP.txt"}\r
             }\r
         }\r
-\r
-        uz-Latn-t-uz-cyrl {\r
-            alias {"uz_Cyrl-uz_Latn"}\r
+        ur-t-und-beng{\r
+            alias{"Beng-ur"}\r
         }\r
-        uz_Cyrl-uz_Latn {\r
-            file {\r
-                resource:process(transliterator) {"uz_Cyrl_uz_Latn.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        ur-t-und-deva{\r
+            alias{"Deva-ur"}\r
         }\r
-        uz-Cyrl-t-uz-latn {\r
-            alias {"uz_Latn-uz_Cyrl"}\r
+        ur-t-und-gujr{\r
+            alias{"Gujr-ur"}\r
         }\r
-        uz_Latn-uz_Cyrl {\r
-            file {\r
-                resource:process(transliterator) {"uz_Cyrl_uz_Latn.txt"}\r
-                direction {"REVERSE"}\r
-            }\r
+        ur-t-und-guru{\r
+            alias{"Guru-ur"}\r
         }\r
-\r
-        vec-fonipa-t-vec {\r
-            alias {"vec-vec_FONIPA"}\r
+        ur-t-und-knda{\r
+            alias{"Knda-ur"}\r
         }\r
-        vec-vec_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"vec_vec_FONIPA.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        ur-t-und-mlym{\r
+            alias{"Mlym-ur"}\r
         }\r
-\r
-        am-t-xh {\r
-            alias {"xh-am"}\r
+        ur-t-und-orya{\r
+            alias{"Orya-ur"}\r
         }\r
-        xh-am {\r
-            file {\r
-                resource:process(transliterator) {"xh_am.txt"}\r
-                direction {"FORWARD"}\r
-            }\r
+        ur-t-und-taml{\r
+            alias{"Taml-ur"}\r
+        }\r
+        ur-t-und-telu{\r
+            alias{"Telu-ur"}\r
         }\r
-\r
-        ar-t-xh {\r
-            alias {"xh-ar"}\r
+        uz-Cyrl-t-uz-latn{\r
+            alias{"uz_Latn-uz_Cyrl"}\r
         }\r
-        xh-ar {\r
-            file {\r
-                resource:process(transliterator) {"xh_ar.txt"}\r
-                direction {"FORWARD"}\r
+        uz-Latn-t-uz-cyrl{\r
+            alias{"uz_Cyrl-uz_Latn"}\r
+        }\r
+        uz-t-uz-cyrl-m0-bgn{\r
+            alias{"uz_Cyrl-uz/BGN"}\r
+        }\r
+        uz_Cyrl-uz/BGN{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"uz_Cyrl_uz_BGN.txt"}\r
             }\r
         }\r
-\r
-        chr-t-xh {\r
-            alias {"xh-chr"}\r
+        uz_Cyrl-uz_Latn{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"uz_Cyrl_uz_Latn.txt"}\r
+            }\r
         }\r
-        xh-chr {\r
-            file {\r
-                resource:process(transliterator) {"xh_chr.txt"}\r
-                direction {"FORWARD"}\r
+        uz_Latn-uz_Cyrl{\r
+            file{\r
+                direction{"REVERSE"}\r
+                resource:process(transliterator){"uz_Cyrl_uz_Latn.txt"}\r
             }\r
         }\r
-\r
-        fa-t-xh {\r
-            alias {"xh-fa"}\r
+        vec-fonipa-t-vec{\r
+            alias{"vec-vec_FONIPA"}\r
         }\r
-        xh-fa {\r
-            file {\r
-                resource:process(transliterator) {"xh_fa.txt"}\r
-                direction {"FORWARD"}\r
+        vec-vec_FONIPA{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"vec_vec_FONIPA.txt"}\r
             }\r
         }\r
-\r
-        xh-fonipa-t-xh {\r
-            alias {"xh-xh_FONIPA"}\r
+        xh-am{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"xh_am.txt"}\r
+            }\r
         }\r
-        xh-xh_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"xh_xh_FONIPA.txt"}\r
-                direction {"FORWARD"}\r
+        xh-ar{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"xh_ar.txt"}\r
             }\r
         }\r
-\r
-        yo-BJ-t-yo {\r
-            alias {"yo-yo_BJ"}\r
+        xh-chr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"xh_chr.txt"}\r
+            }\r
         }\r
-        yo-yo_BJ {\r
-            file {\r
-                resource:process(transliterator) {"yo_yo_BJ.txt"}\r
-                direction {"FORWARD"}\r
+        xh-fa{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"xh_fa.txt"}\r
             }\r
         }\r
-\r
-        ru-t-zh-latn-pinyin {\r
-            alias {"zh_Latn_PINYIN-ru"}\r
+        xh-fonipa-t-xh{\r
+            alias{"xh-xh_FONIPA"}\r
         }\r
-        zh_Latn_PINYIN-ru {\r
-            file {\r
-                resource:process(transliterator) {"zh_Latn_PINYIN_ru.txt"}\r
-                direction {"FORWARD"}\r
+        xh-xh_FONIPA{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"xh_xh_FONIPA.txt"}\r
             }\r
         }\r
-\r
-        am-t-zu {\r
-            alias {"zu-am"}\r
+        yo-BJ-t-yo{\r
+            alias{"yo-yo_BJ"}\r
         }\r
-        zu-am {\r
-            file {\r
-                resource:process(transliterator) {"zu_am.txt"}\r
-                direction {"FORWARD"}\r
+        yo-yo_BJ{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"yo_yo_BJ.txt"}\r
             }\r
         }\r
-\r
-        ar-t-zu {\r
-            alias {"zu-ar"}\r
+        zh-t-es{\r
+            alias{"es-zh"}\r
+        }\r
+        zh-t-es-419{\r
+            alias{"es_419-zh"}\r
         }\r
-        zu-ar {\r
-            file {\r
-                resource:process(transliterator) {"zu_ar.txt"}\r
-                direction {"FORWARD"}\r
+        zh-t-es-fonipa{\r
+            alias{"es_FONIPA-zh"}\r
+        }\r
+        zh-t-ru{\r
+            alias{"ru-zh"}\r
+        }\r
+        zh_Latn_PINYIN-ru{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"zh_Latn_PINYIN_ru.txt"}\r
             }\r
         }\r
-\r
-        chr-t-zu {\r
-            alias {"zu-chr"}\r
+        zu-am{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"zu_am.txt"}\r
+            }\r
         }\r
-        zu-chr {\r
-            file {\r
-                resource:process(transliterator) {"zu_chr.txt"}\r
-                direction {"FORWARD"}\r
+        zu-ar{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"zu_ar.txt"}\r
             }\r
         }\r
-\r
-        fa-t-zu {\r
-            alias {"zu-fa"}\r
+        zu-chr{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"zu_chr.txt"}\r
+            }\r
         }\r
-        zu-fa {\r
-            file {\r
-                resource:process(transliterator) {"zu_fa.txt"}\r
-                direction {"FORWARD"}\r
+        zu-fa{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"zu_fa.txt"}\r
             }\r
         }\r
-\r
-        zu-fonipa-t-zu {\r
-            alias {"zu-zu_FONIPA"}\r
+        zu-fonipa-t-zu{\r
+            alias{"zu-zu_FONIPA"}\r
         }\r
-        zu-zu_FONIPA {\r
-            file {\r
-                resource:process(transliterator) {"zu_zu_FONIPA.txt"}\r
-                direction {"FORWARD"}\r
+        zu-zu_FONIPA{\r
+            file{\r
+                direction{"FORWARD"}\r
+                resource:process(transliterator){"zu_zu_FONIPA.txt"}\r
             }\r
         }\r
-\r
-    }\r
-    TransliteratorNamePattern {\r
-        // Format for the display name of a Transliterator.\r
-        // This is the language-neutral form of this resource.\r
-        "{0,choice,0#|1#{1}|2#{1}-{2}}" // Display name\r
     }\r
-    // Transliterator display names\r
-    // This is the English form of this resource.\r
-    "%Translit%Hex"         { "%Translit%Hex" }\r
-    "%Translit%UnicodeName" { "%Translit%UnicodeName" }\r
-    "%Translit%UnicodeChar" { "%Translit%UnicodeChar" }\r
-    TransliterateLATIN{        \r
-    "",\r
-    ""\r
+    TransliterateLATIN{\r
+        "",\r
+        "",\r
     }\r
+    TransliteratorNamePattern{"{0,choice,0#|1#{1}|2#{1}-{2}}"}\r
 }\r
index bcbdb1b..e195606 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 \r
 {\r
-    "cldrVersion": "36.1",\r
+    "cldrVersion": "37",\r
     "aliases": {\r
         "ars": "ar_SA",\r
         "az_AZ": "az_Latn_AZ",\r
         "in_ID": "id_ID",\r
         "iw": "he",\r
         "iw_IL": "he_IL",\r
+        "ks_IN": "ks_Arab_IN",\r
+        "mni_IN": "mni_Beng_IN",\r
         "mo": "ro",\r
         "no": "nb",\r
         "no_NO": "nb_NO",\r
         "no_NO_NY": "nn_NO",\r
         "pa_IN": "pa_Guru_IN",\r
         "pa_PK": "pa_Arab_PK",\r
+        "sat_IN": "sat_Olck_IN",\r
+        "sd_PK": "sd_Arab_PK",\r
         "sh": "sr_Latn",\r
         "sh_BA": "sr_Latn_BA",\r
         "sh_CS": "sr_Latn_RS",\r
@@ -38,6 +42,7 @@
         "sr_RS": "sr_Cyrl_RS",\r
         "sr_XK": "sr_Cyrl_XK",\r
         "sr_YU": "sr_Cyrl_RS",\r
+        "su_ID": "su_Latn_ID",\r
         "tl": "fil",\r
         "tl_PH": "fil_PH",\r
         "uz_AF": "uz_Arab_AF",\r
         "es_US": "es_419",\r
         "es_UY": "es_419",\r
         "es_VE": "es_419",\r
+        "ff_Adlm": "root",\r
         "pa_Arab": "root",\r
         "pt_AO": "pt_PT",\r
         "pt_CH": "pt_PT",\r
         "pt_MZ": "pt_PT",\r
         "pt_ST": "pt_PT",\r
         "pt_TL": "pt_PT",\r
+        "sd_Deva": "root",\r
         "shi_Latn": "root",\r
         "sr_Latn": "root",\r
         "uz_Arab": "root",\r
index e0c35cd..b76ff1b 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 af{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ af{
                 one{"{0} swaartekrag"}\r
                 other{"{0} swaartekrag"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"meter per vierkante sekonde"}\r
                 one{"{0} meter per vierkante sekonde"}\r
                 other{"{0} meter per vierkante sekonde"}\r
@@ -123,11 +123,6 @@ af{
                 one{"{0} millimol per liter"}\r
                 other{"{0} millimol per liter"}\r
             }\r
-            part-per-million{\r
-                dnam{"dele per miljoen"}\r
-                one{"{0} deel per miljoen"}\r
-                other{"{0} dele per miljoen"}\r
-            }\r
             percent{\r
                 dnam{"persent"}\r
                 one{"{0} persent"}\r
@@ -138,6 +133,11 @@ af{
                 one{"{0} per duisend"}\r
                 other{"{0} per duisend"}\r
             }\r
+            permillion{\r
+                dnam{"dele per miljoen"}\r
+                one{"{0} deel per miljoen"}\r
+                other{"{0} dele per miljoen"}\r
+            }\r
             permyriad{\r
                 dnam{"per tienduisend"}\r
                 one{"{0} per tienduisend"}\r
@@ -145,7 +145,7 @@ af{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"liter per 100 kilometer"}\r
                 one{"{0} liter per 100 kilometer"}\r
                 other{"{0} liter per 100 kilometer"}\r
@@ -650,7 +650,7 @@ af{
                 one{"{0} hektopascal"}\r
                 other{"{0} hektopascal"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"duim kwik"}\r
                 one{"{0} duim kwik"}\r
                 other{"{0} duim kwik"}\r
@@ -670,12 +670,12 @@ af{
                 one{"{0} millibar"}\r
                 other{"{0} millibar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"millimeter kwik"}\r
                 one{"{0} millimeter kwik"}\r
                 other{"{0} millimeter kwik"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"pond per vierkante duim"}\r
                 one{"{0} pond per vierkante duim"}\r
                 other{"{0} pond per vierkante duim"}\r
@@ -731,7 +731,7 @@ af{
                 one{"{0} newtonmeter"}\r
                 other{"{0} newtonmeter"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"pondvoet"}\r
                 one{"{0} pondvoet"}\r
                 other{"{0} pondvoet"}\r
@@ -933,7 +933,7 @@ af{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ℓ/100 km"}\r
                 one{"{0} ℓ/100 km"}\r
                 other{"{0} ℓ/100 km"}\r
@@ -1073,7 +1073,7 @@ af{
                 one{"{0}hPa"}\r
                 other{"{0}hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} dm.Hg"}\r
                 other{"{0} dm.Hg"}\r
             }\r
@@ -1131,7 +1131,7 @@ af{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1246,11 +1246,6 @@ af{
                 one{"{0} mol"}\r
                 other{"{0} mol"}\r
             }\r
-            part-per-million{\r
-                dnam{"dele/miljoen"}\r
-                one{"{0} d.p.m."}\r
-                other{"{0} d.p.m."}\r
-            }\r
             percent{\r
                 dnam{"percent"}\r
                 one{"{0}%"}\r
@@ -1261,6 +1256,11 @@ af{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"dele/miljoen"}\r
+                one{"{0} d.p.m."}\r
+                other{"{0} d.p.m."}\r
+            }\r
             permyriad{\r
                 dnam{"per tienduisend"}\r
                 one{"{0}‱"}\r
@@ -1268,7 +1268,7 @@ af{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ℓ/100 km"}\r
                 one{"{0} ℓ/100 km"}\r
                 other{"{0} ℓ/100 km"}\r
@@ -1794,7 +1794,7 @@ af{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"duim Hg"}\r
                 one{"{0} duim Hg"}\r
                 other{"{0} duim Hg"}\r
@@ -1814,7 +1814,7 @@ af{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
@@ -1824,7 +1824,7 @@ af{
                 one{"{0} Pa"}\r
                 other{"{0} Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"lb./vk. duim"}\r
                 one{"{0} pd.vk.dm."}\r
                 other{"{0} pd.vk.dm."}\r
@@ -1880,7 +1880,7 @@ af{
                 one{"{0} Nm"}\r
                 other{"{0} Nm"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lb.vt."}\r
                 one{"{0} lb.vt."}\r
                 other{"{0} lb.vt."}\r
index 885f875..320d8d9 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 agq{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9148f56..72cfd78 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ak{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3bd1e5c..5fc4d6b 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 am{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ am{
                 one{"{0} ጂ-ኃይል"}\r
                 other{"{0} ጂ-ኃይል"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"ሜ/ሰ²"}\r
                 one{"{0} ሜ/ሰ²"}\r
                 other{"{0} ሜ/ሰ²"}\r
@@ -123,11 +123,6 @@ am{
                 one{"{0} mmol/L"}\r
                 other{"{0} mmol/L"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"ፐርሰንት"}\r
                 one{"{0} ፐርሰንት"}\r
@@ -138,9 +133,14 @@ am{
                 one{"{0} በማይል"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ሊትሮች በ100 ኪሎሜትሮች"}\r
                 one{"{0} ሊትር በ100 ኪሎሜትሮች"}\r
                 other{"{0} ሊትሮች በ100 ኪሎሜትሮች"}\r
@@ -622,7 +622,7 @@ am{
                 one{"{0} ሄክቶፓስካል"}\r
                 other{"{0} ሄክቶፓስካል"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"ኢንች ሜርኩሪ"}\r
                 one{"{0} ኢንች ሜርኩሪ"}\r
                 other{"{0} ኢንች ሜርኩሪ"}\r
@@ -642,7 +642,7 @@ am{
                 one{"{0} ሚሊባር"}\r
                 other{"{0} ሚሊባር"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
@@ -652,7 +652,7 @@ am{
                 one{"{0} ፓስካል"}\r
                 other{"{0} ፓስካል"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -900,7 +900,7 @@ am{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ሊትር በ100 ኪሎሜትሮች"}\r
                 one{"{0}ሊበ100ኪሜ"}\r
                 other{"{0}ሊበ100ኪሜ"}\r
@@ -1045,7 +1045,7 @@ am{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
             }\r
@@ -1103,7 +1103,7 @@ am{
                 one{"{0} ጂ"}\r
                 other{"{0} ጂ"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"ሜ/ሰ²"}\r
                 one{"{0} ሜ/ሰ²"}\r
                 other{"{0} ሜ/ሰ²"}\r
@@ -1212,11 +1212,6 @@ am{
                 one{"{0} mmol/L"}\r
                 other{"{0} mmol/L"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"ፐርሰንት"}\r
                 one{"{0}%"}\r
@@ -1227,9 +1222,14 @@ am{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ሊትር በ100 ኪሎሜትሮች"}\r
                 one{"{0} ሊ/100ኪሜ"}\r
                 other{"{0} ሊ/100ኪሜ"}\r
@@ -1711,7 +1711,7 @@ am{
                 one{"{0} ሄክቶፓስካል"}\r
                 other{"{0} ሄክቶፓስካል"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"ኢንች ሜርኩሪ"}\r
                 one{"{0} ኢሜ"}\r
                 other{"{0} ኢንሜር"}\r
@@ -1731,7 +1731,7 @@ am{
                 one{"{0} ሚባ"}\r
                 other{"{0} ሚባ"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
@@ -1741,7 +1741,7 @@ am{
                 one{"{0} ፓስካል"}\r
                 other{"{0} ፓስካል"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
index 8b24ecb..9e3a4e4 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ar{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -18,7 +18,7 @@ ar{
                 two{"{0} قوة تسارع"}\r
                 zero{"{0} قوة تسارع"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"متر في الثانية المربعة"}\r
                 few{"{0} متر في الثانية المربعة"}\r
                 many{"{0} متر في الثانية المربعة"}\r
@@ -212,15 +212,6 @@ ar{
                 two{"{0} مول"}\r
                 zero{"{0} مول"}\r
             }\r
-            part-per-million{\r
-                dnam{"جزء في المليون"}\r
-                few{"{0} أجزاء في المليون"}\r
-                many{"{0} جزءًا في المليون"}\r
-                one{"{0} جزء في المليون"}\r
-                other{"{0} جزء في المليون"}\r
-                two{"جزآن في المليون"}\r
-                zero{"{0} جزء في المليون"}\r
-            }\r
             percent{\r
                 dnam{"بالمائة"}\r
                 few{"{0}٪"}\r
@@ -239,9 +230,18 @@ ar{
                 two{"{0} في الألف"}\r
                 zero{"{0} في الألف"}\r
             }\r
+            permillion{\r
+                dnam{"جزء في المليون"}\r
+                few{"{0} أجزاء في المليون"}\r
+                many{"{0} جزءًا في المليون"}\r
+                one{"{0} جزء في المليون"}\r
+                other{"{0} جزء في المليون"}\r
+                two{"جزآن في المليون"}\r
+                zero{"{0} جزء في المليون"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"لتر لكل ١٠٠ كيلومتر"}\r
                 few{"{0} لترات لكل ١٠٠ كيلومتر"}\r
                 many{"{0} لترًا لكل ١٠٠ كيلومتر"}\r
@@ -1152,7 +1152,7 @@ ar{
                 two{"{0} هكتوباسكال"}\r
                 zero{"{0} هكتوباسكال"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"بوصة زئبقية"}\r
                 few{"{0} بوصة زئبقية"}\r
                 many{"{0} بوصة زئبقية"}\r
@@ -1188,7 +1188,7 @@ ar{
                 two{"{0} ملي بار"}\r
                 zero{"{0} ملي بار"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"مليمتر زئبقي"}\r
                 few{"{0} مليمتر زئبقي"}\r
                 many{"{0} مليمتر زئبقي"}\r
@@ -1206,7 +1206,7 @@ ar{
                 two{"{0} باسكال"}\r
                 zero{"{0} باسكال"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"رطل لكل بوصة مربعة"}\r
                 few{"{0} رطل لكل بوصة مربعة"}\r
                 many{"{0} رطل لكل بوصة مربعة"}\r
@@ -1302,7 +1302,7 @@ ar{
                 two{"{0} نيوتن متر"}\r
                 zero{"{0} نيوتن متر"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"باوند قدم"}\r
                 few{"{0} باوند قدم"}\r
                 many{"{0} باوند قدم"}\r
@@ -1656,7 +1656,7 @@ ar{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ل/١٠٠كم"}\r
                 few{"{0} ل/١٠٠كم"}\r
                 many{"{0} ل/١٠٠كم"}\r
@@ -1906,7 +1906,7 @@ ar{
                 two{"{0} هكب"}\r
                 zero{"{0} هكب"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 few{"{0} ب ز"}\r
                 many{"{0} ب ز"}\r
                 one{"{0} ب ز"}\r
@@ -2008,7 +2008,7 @@ ar{
                 two{"{0} قوة تسارع"}\r
                 zero{"{0} قوة تسارع"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"م/ث²"}\r
                 few{"{0} م/ث²"}\r
                 many{"{0} م/ث²"}\r
@@ -2203,15 +2203,6 @@ ar{
                 two{"{0} مول"}\r
                 zero{"{0} مول"}\r
             }\r
-            part-per-million{\r
-                dnam{"جزء/مليون"}\r
-                few{"{0} جزء/مليون"}\r
-                many{"{0} جزء/مليون"}\r
-                one{"{0} جزء/مليون"}\r
-                other{"{0} جزء/مليون"}\r
-                two{"{0} جزء/مليون"}\r
-                zero{"{0} جزء/مليون"}\r
-            }\r
             percent{\r
                 dnam{"بالمائة"}\r
                 few{"{0}٪"}\r
@@ -2223,10 +2214,25 @@ ar{
             }\r
             permille{\r
                 dnam{"في الألف"}\r
+                few{"{0}؉"}\r
+                many{"{0}؉"}\r
+                one{"{0}؉"}\r
+                other{"{0}؉"}\r
+                two{"{0}؉"}\r
+                zero{"{0}؉"}\r
+            }\r
+            permillion{\r
+                dnam{"جزء/مليون"}\r
+                few{"{0} جزء/مليون"}\r
+                many{"{0} جزء/مليون"}\r
+                one{"{0} جزء/مليون"}\r
+                other{"{0} جزء/مليون"}\r
+                two{"{0} جزء/مليون"}\r
+                zero{"{0} جزء/مليون"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"لتر/‏١٠٠ كم"}\r
                 few{"{0} لتر/١٠٠ كم"}\r
                 many{"{0} لتر/١٠٠ كم"}\r
@@ -3137,7 +3143,7 @@ ar{
                 two{"{0} هكتوباسكال"}\r
                 zero{"{0} هكتوباسكال"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"ب. زئبقية"}\r
                 few{"{0} ب. زئبقية"}\r
                 many{"{0} ب. زئبقية"}\r
@@ -3173,7 +3179,7 @@ ar{
                 two{"{0} م. بار"}\r
                 zero{"{0} م. بار"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"ملم زئبقي"}\r
                 few{"{0} ملم زئبقي"}\r
                 many{"{0} ملم زئبقي"}\r
@@ -3191,7 +3197,7 @@ ar{
                 two{"{0} باسكال"}\r
                 zero{"{0} باسكال"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"رطل/بوصة مربعة"}\r
                 few{"{0} رطل/بوصة²"}\r
                 many{"{0} رطل/بوصة²"}\r
@@ -3287,7 +3293,7 @@ ar{
                 two{"{0} نيوتن متر"}\r
                 zero{"{0} نيوتن متر"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"باوند قدم"}\r
                 few{"{0} باوند قدم"}\r
                 many{"{0} باوند قدم"}\r
index 2140f85..6e419ce 100644 (file)
@@ -1,10 +1,10 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ar_SA{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         acceleration{\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 few{"{0} أمتار في الثانية المربعة"}\r
                 many{"{0} مترًا في الثانية المربعة"}\r
                 one{"{0} متر في الثانية المربعة"}\r
@@ -98,7 +98,7 @@ ar_SA{
             }\r
         }\r
         concentr{\r
-            part-per-million{\r
+            permillion{\r
                 few{"{0} أجزاء في المليون"}\r
                 many{"{0} جزءًا في المليون"}\r
                 one{"{0} جزء في المليون"}\r
@@ -278,7 +278,7 @@ ar_SA{
             }\r
         }\r
         pressure{\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 few{"{0} أرطال لكل بوصة مربعة"}\r
                 many{"{0} رطلًا لكل بوصة مربعة"}\r
                 one{"{0} رطل لكل بوصة مربعة"}\r
@@ -502,7 +502,7 @@ ar_SA{
                 two{"قيراطان"}\r
                 zero{"{0} قيراط"}\r
             }\r
-            part-per-million{\r
+            permillion{\r
                 few{"{0} أجزاء/مليون"}\r
                 many{"{0} جزءًا/مليون"}\r
                 one{"{0} جزء/مليون"}\r
@@ -512,7 +512,7 @@ ar_SA{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 few{"{0} لترات/١٠٠ كم"}\r
                 many{"{0} لترًا/١٠٠ كم"}\r
                 one{"{0} لتر/١٠٠ كم"}\r
@@ -707,7 +707,7 @@ ar_SA{
                 two{"{0} ميغاباسكال"}\r
                 zero{"{0} ميغاباسكال"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 few{"{0} أرطال/بوصة²"}\r
                 many{"{0} رطلًا/بوصة²"}\r
                 one{"{0} رطل/بوصة²"}\r
index e8defff..b0ca4f1 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 as{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ as{
                 one{"{0} জি-বল"}\r
                 other{"{0} জি-বল"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"মিটাৰ প্ৰতি বৰ্গ ছেকেণ্ড"}\r
                 one{"{0} মিটাৰ প্ৰতি বৰ্গ ছেকেণ্ড"}\r
                 other{"{0} মিটাৰ প্ৰতি বৰ্গ ছেকেণ্ড"}\r
@@ -128,11 +128,6 @@ as{
                 one{"{0} ম’ল"}\r
                 other{"{0} ম’ল"}\r
             }\r
-            part-per-million{\r
-                dnam{"প্ৰতি মিলিয়নত ভাগ"}\r
-                one{"প্ৰতি মিলিয়নত {0} ভাগ"}\r
-                other{"প্ৰতি মিলিয়নত {0} ভাগ"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 one{"{0} শতাংশ"}\r
@@ -143,6 +138,11 @@ as{
                 one{"{0} প্ৰতিমাইল"}\r
                 other{"{0} প্ৰতিমাইল"}\r
             }\r
+            permillion{\r
+                dnam{"প্ৰতি মিলিয়নত ভাগ"}\r
+                one{"প্ৰতি মিলিয়নত {0} ভাগ"}\r
+                other{"প্ৰতি মিলিয়নত {0} ভাগ"}\r
+            }\r
             permyriad{\r
                 dnam{"পাৰমিৰেইড"}\r
                 one{"{0} পাৰমিৰেইড"}\r
@@ -150,7 +150,7 @@ as{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"প্ৰতি ১০০ কিলোমিটাৰত লিটাৰ"}\r
                 one{"প্ৰতি ১০০ কিলোমিটাৰত {0} লিটাৰ"}\r
                 other{"প্ৰতি ১০০ কিলোমিটাৰত {0} লিটাৰ"}\r
@@ -635,7 +635,7 @@ as{
                 one{"{0} হেক্টোপাছকল"}\r
                 other{"{0} হেক্টোপাছকল"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"ইঞ্চি মাৰ্কিউৰী"}\r
                 one{"{0} ইঞ্চি মাৰ্কিউৰী"}\r
                 other{"{0} ইঞ্চি মাৰ্কিউৰী"}\r
@@ -655,12 +655,12 @@ as{
                 one{"{0} মিলিবাৰ"}\r
                 other{"{0} মিলিবাৰ"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"মিলিমিটাৰ মাৰ্কিউৰী"}\r
                 one{"{0} মিলিমিটাৰ মাৰ্কিউৰী"}\r
                 other{"{0} মিলিমিটাৰ মাৰ্কিউৰী"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"প্ৰতি বৰ্গ ইঞ্চি পাউণ্ড"}\r
                 one{"{0} প্ৰতি বৰ্গ ইঞ্চি পাউণ্ড"}\r
                 other{"{0} প্ৰতি বৰ্গ ইঞ্চি পাউণ্ড"}\r
@@ -716,7 +716,7 @@ as{
                 one{"{0} নিউটন-মিটাৰ"}\r
                 other{"{0} নিউটন-মিটাৰ"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"পাউণ্ড-ফুট"}\r
                 one{"{0} পাউণ্ড-ফুট"}\r
                 other{"{0} পাউণ্ড-ফুট"}\r
@@ -872,7 +872,7 @@ as{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ল/১০০ ক.ম."}\r
                 one{"{0} ল/১০০ ক.ম."}\r
                 other{"{0} ল/১০০ ক.ম."}\r
@@ -990,7 +990,7 @@ as{
                 one{"{0} জি"}\r
                 other{"{0} জি"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"মিটাৰ/বৰ্গ ছেকেণ্ড"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1104,11 +1104,6 @@ as{
                 one{"{0} ম’ল"}\r
                 other{"{0} ম’ল"}\r
             }\r
-            part-per-million{\r
-                dnam{"ভাগ/মিলিয়ন"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"শতাংশ"}\r
                 one{"{0}%"}\r
@@ -1119,6 +1114,11 @@ as{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ভাগ/মিলিয়ন"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"পাৰমিৰেইড"}\r
                 one{"{0}‱"}\r
@@ -1126,7 +1126,7 @@ as{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"লিঃ/১০০ কিঃ মিঃ"}\r
                 one{"{0} ল/১০০ ক.ম."}\r
                 other{"{0} ল/১০০ ক.ম."}\r
@@ -1611,7 +1611,7 @@ as{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1631,12 +1631,12 @@ as{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 one{"{0} mmHg"}\r
                 other{"{0} mmHg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -1692,7 +1692,7 @@ as{
                 one{"{0} নি. মি."}\r
                 other{"{0} নি. মি."}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
                 one{"{0} lbf⋅ft"}\r
                 other{"{0} lbf⋅ft"}\r
index 6ab275d..142ebda 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 asa{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e25ba6b..b855258 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ast{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ ast{
                 one{"{0} fuercia g"}\r
                 other{"{0} fuercies gues"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metros per segundu al cuadráu"}\r
                 one{"{0} metru per segundu al cuadráu"}\r
                 other{"{0} metros por segundu al cuadráu"}\r
@@ -118,14 +118,14 @@ ast{
                 one{"{0} milimol per llitru"}\r
                 other{"{0} milimoles per llitru"}\r
             }\r
-            part-per-million{\r
+            permillion{\r
                 dnam{"partes per millón"}\r
                 one{"{0} parte per millón"}\r
                 other{"{0} partes per millón"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"llitros per 100 quilómetros"}\r
                 one{"{0} llitru per 100 quilómetros"}\r
                 other{"{0} llitros per 100 quilómetros"}\r
@@ -557,7 +557,7 @@ ast{
                 one{"{0} hectopascal"}\r
                 other{"{0} hectopascales"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"pulgaes de mercuriu"}\r
                 one{"{0} pulgada de mercuriu"}\r
                 other{"{0} pulgaes de mercuriu"}\r
@@ -567,12 +567,12 @@ ast{
                 one{"{0} milibar"}\r
                 other{"{0} milibares"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milímetros de mercuriu"}\r
                 one{"{0} milímetru de mercuriu"}\r
                 other{"{0} milímetros de mercuriu"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"llibres per pulgada cuadrada"}\r
                 one{"{0} llibra per pulgada cuadrada"}\r
                 other{"{0} llibres per pulgada cuadrada"}\r
@@ -762,7 +762,7 @@ ast{
                 one{"{0}G"}\r
                 other{"{0}Gs"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0}m/s²"}\r
                 other{"{0}m/s²"}\r
@@ -866,14 +866,14 @@ ast{
                 one{"{0}mmol/L"}\r
                 other{"{0}mmol/L"}\r
             }\r
-            part-per-million{\r
+            permillion{\r
                 dnam{"ppm"}\r
                 one{"{0}ppm"}\r
                 other{"{0}ppm"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 one{"{0}L/100km"}\r
                 other{"{0}L/100km"}\r
@@ -1300,7 +1300,7 @@ ast{
                 one{"{0}hPa"}\r
                 other{"{0}hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"″ Hg"}\r
                 one{"{0}″ Hg"}\r
                 other{"{0}″ Hg"}\r
@@ -1310,12 +1310,12 @@ ast{
                 one{"{0}mb"}\r
                 other{"{0}mb"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0}mm Hg"}\r
                 other{"{0}mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0}psi"}\r
                 other{"{0}psi"}\r
@@ -1505,7 +1505,7 @@ ast{
                 one{"{0} G"}\r
                 other{"{0} Gs"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1609,14 +1609,14 @@ ast{
                 one{"{0} mmol/L"}\r
                 other{"{0} mmol/L"}\r
             }\r
-            part-per-million{\r
+            permillion{\r
                 dnam{"ppm"}\r
                 one{"{0} ppm"}\r
                 other{"{0} ppm"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100 km"}\r
                 one{"{0} L/100 km"}\r
                 other{"{0} L/100 km"}\r
@@ -2048,7 +2048,7 @@ ast{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"in Hg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -2058,12 +2058,12 @@ ast{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
index 3654955..2636a51 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 az{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ az{
                 one{"{0} g qüvvəsi"}\r
                 other{"{0} g qüvvəsi"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metr saniyə kvadratı"}\r
                 one{"{0} metr saniyə kvadratı"}\r
                 other{"{0} metr saniyə kvadratı"}\r
@@ -123,11 +123,6 @@ az{
                 one{"{0} millimol/litr"}\r
                 other{"{0} millimol/litr"}\r
             }\r
-            part-per-million{\r
-                dnam{"milyonda hissəcik"}\r
-                one{"milyonda {0} hissəcik"}\r
-                other{"milyonda {0} hissəcik"}\r
-            }\r
             percent{\r
                 dnam{"faiz"}\r
                 one{"{0} faiz"}\r
@@ -138,6 +133,11 @@ az{
                 one{"{0} promil"}\r
                 other{"{0} promil"}\r
             }\r
+            permillion{\r
+                dnam{"milyonda hissəcik"}\r
+                one{"milyonda {0} hissəcik"}\r
+                other{"milyonda {0} hissəcik"}\r
+            }\r
             permyriad{\r
                 dnam{"permiriada"}\r
                 one{"{0} permiriada"}\r
@@ -145,7 +145,7 @@ az{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"100 kilometrə litr"}\r
                 one{"100 kilometrə {0} litr"}\r
                 other{"100 kilometrə {0} litr"}\r
@@ -670,7 +670,7 @@ az{
                 one{"{0} hektopaskal"}\r
                 other{"{0} hektopaskal"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"civə düymü"}\r
                 one{"{0} civə düymü"}\r
                 other{"{0} civə düymü"}\r
@@ -690,7 +690,7 @@ az{
                 one{"{0} millibar"}\r
                 other{"{0} millibar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"millimetr civə sütunu"}\r
                 one{"{0} millimetr civə sütunu"}\r
                 other{"{0} millimetr civə sütunu"}\r
@@ -700,7 +700,7 @@ az{
                 one{"{0} paskal"}\r
                 other{"{0} paskal"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"funt/kvadrat düym"}\r
                 one{"{0} funt/kvadrat düym"}\r
                 other{"{0} funt/kvadrat düym"}\r
@@ -756,7 +756,7 @@ az{
                 one{"{0} nyuton-metr"}\r
                 other{"{0} nyuton-metr"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"funt-fut"}\r
                 one{"{0} funt-fut"}\r
                 other{"{0} funt-fut"}\r
@@ -956,7 +956,7 @@ az{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100km"}\r
                 one{"{0} l/100km"}\r
                 other{"{0} l/100km"}\r
@@ -1099,7 +1099,7 @@ az{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
             }\r
@@ -1157,7 +1157,7 @@ az{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1267,11 +1267,6 @@ az{
                 one{"{0} mmol/l"}\r
                 other{"{0} mmol/l"}\r
             }\r
-            part-per-million{\r
-                dnam{"hissəcik/milyon"}\r
-                one{"{0} hs/mln"}\r
-                other{"{0} hs/mln"}\r
-            }\r
             percent{\r
                 dnam{"faiz"}\r
                 one{"{0}%"}\r
@@ -1282,12 +1277,17 @@ az{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"hissəcik/milyon"}\r
+                one{"{0} hs/mln"}\r
+                other{"{0} hs/mln"}\r
+            }\r
             permyriad{\r
                 dnam{"permiriada"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100km"}\r
                 one{"{0} l/100km"}\r
                 other{"{0} l/100km"}\r
@@ -1798,7 +1798,7 @@ az{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"civə düymü"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1808,7 +1808,7 @@ az{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
@@ -1818,7 +1818,7 @@ az{
                 one{"{0} Pa"}\r
                 other{"{0} Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
index 574a20f..659a876 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 az_Cyrl{\r
     %%Parent{"root"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a2372d2..7562a28 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 az_Latn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0635ed3..8bb7916 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bas{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 92c60d1..175695c 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 be{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"hh:mm"}\r
         hms{"hh:mm:ss"}\r
@@ -16,7 +16,7 @@ be{
                 one{"{0} g"}\r
                 other{"{0} g"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"м/с²"}\r
                 few{"{0} м/с²"}\r
                 many{"{0} м/с²"}\r
@@ -170,13 +170,6 @@ be{
                 one{"{0} моль"}\r
                 other{"{0} моля"}\r
             }\r
-            part-per-million{\r
-                dnam{"частак на мільён"}\r
-                few{"{0} часткі на мільён"}\r
-                many{"{0} частак на мільён"}\r
-                one{"{0} частка на мільён"}\r
-                other{"{0} часткі на мільён"}\r
-            }\r
             percent{\r
                 dnam{"працэнтаў"}\r
                 few{"{0} працэнты"}\r
@@ -191,6 +184,13 @@ be{
                 one{"{0} праміле"}\r
                 other{"{0} праміле"}\r
             }\r
+            permillion{\r
+                dnam{"частак на мільён"}\r
+                few{"{0} часткі на мільён"}\r
+                many{"{0} частак на мільён"}\r
+                one{"{0} частка на мільён"}\r
+                other{"{0} часткі на мільён"}\r
+            }\r
             permyriad{\r
                 dnam{"базісныя пункты"}\r
                 few{"{0} базісныя пункты"}\r
@@ -200,7 +200,7 @@ be{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"літры на 100 кіламетраў"}\r
                 few{"{0} літры на 100 кіламетраў"}\r
                 many{"{0} літраў на 100 кіламетраў"}\r
@@ -919,7 +919,7 @@ be{
                 one{"{0} гектапаскаль"}\r
                 other{"{0} гектапаскаля"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"цалі ртутнага слупа"}\r
                 few{"{0} цалі ртутнага слупа"}\r
                 many{"{0} цаляў ртутнага слупа"}\r
@@ -947,7 +947,7 @@ be{
                 one{"{0} мілібар"}\r
                 other{"{0} мілібара"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"міліметры ртутнага слупа"}\r
                 few{"{0} міліметры ртутнага слупа"}\r
                 many{"{0} міліметраў ртутнага слупа"}\r
@@ -961,7 +961,7 @@ be{
                 one{"{0} паскаль"}\r
                 other{"{0} паскаля"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"фунты на квадратную цалю"}\r
                 few{"{0} фунты на квадратную цалю"}\r
                 many{"{0} фунтаў на квадратную цалю"}\r
@@ -1037,7 +1037,7 @@ be{
                 one{"{0} ньютан-метр"}\r
                 other{"{0} ньютан-метра"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"фунт-футы"}\r
                 few{"{0} фунт-футы"}\r
                 many{"{0} фунт-футаў"}\r
@@ -1249,7 +1249,7 @@ be{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"л/100 км"}\r
                 few{"{0} л/100 км"}\r
                 many{"{0} л/100 км"}\r
@@ -1401,7 +1401,7 @@ be{
                 one{"{0} g"}\r
                 other{"{0} g"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"м/с²"}\r
                 few{"{0} м/с²"}\r
                 many{"{0} м/с²"}\r
@@ -1556,13 +1556,6 @@ be{
                 one{"{0} моль"}\r
                 other{"{0} моля"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                few{"{0} ppm"}\r
-                many{"{0} ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 few{"{0} %"}\r
@@ -1577,6 +1570,13 @@ be{
                 one{"{0} ‰"}\r
                 other{"{0} ‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                few{"{0} ppm"}\r
+                many{"{0} ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"‱"}\r
                 few{"{0} ‱"}\r
@@ -1586,7 +1586,7 @@ be{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"л/100 км"}\r
                 few{"{0} л/100 км"}\r
                 many{"{0} л/100 км"}\r
@@ -2305,7 +2305,7 @@ be{
                 one{"{0} гПа"}\r
                 other{"{0} гПа"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"цалі рт. сл."}\r
                 few{"{0} цалі рт. сл."}\r
                 many{"{0} цаляў рт. сл."}\r
@@ -2333,7 +2333,7 @@ be{
                 one{"{0} мбар"}\r
                 other{"{0} мбар"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"мм рт. сл."}\r
                 few{"{0} мм рт. сл."}\r
                 many{"{0} мм рт. сл."}\r
@@ -2347,7 +2347,7 @@ be{
                 one{"{0} Па"}\r
                 other{"{0} Па"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"фунты на кв. цалю"}\r
                 few{"{0} фунты на кв. цалю"}\r
                 many{"{0} фунтаў на кв. цалю"}\r
@@ -2423,7 +2423,7 @@ be{
                 one{"{0} Н⋅м"}\r
                 other{"{0} Н⋅м"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"фунт-футы"}\r
                 few{"{0} фунт-футы"}\r
                 many{"{0} фунт-футаў"}\r
index e5e1fee..834cc9b 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bem{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d3c3e28..4ca2f1e 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bez{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8c49631..522dceb 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bg{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ bg{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"метри за секунда на квадрат"}\r
                 one{"{0} метър за секунда на квадрат"}\r
                 other{"{0} метра за секунда на квадрат"}\r
@@ -128,11 +128,6 @@ bg{
                 one{"{0} мол"}\r
                 other{"{0} мола"}\r
             }\r
-            part-per-million{\r
-                dnam{"части на милион"}\r
-                one{"{0} част на милион"}\r
-                other{"{0} части на милион"}\r
-            }\r
             percent{\r
                 dnam{"процент"}\r
                 one{"{0} процент"}\r
@@ -143,6 +138,11 @@ bg{
                 one{"{0} промил"}\r
                 other{"{0} промила"}\r
             }\r
+            permillion{\r
+                dnam{"части на милион"}\r
+                one{"{0} част на милион"}\r
+                other{"{0} части на милион"}\r
+            }\r
             permyriad{\r
                 dnam{"базисен пункт"}\r
                 one{"{0} базисен пункт"}\r
@@ -150,7 +150,7 @@ bg{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"литри на 100 километра"}\r
                 one{"{0} литър на 100 километра"}\r
                 other{"{0} литра на 100 километра"}\r
@@ -675,7 +675,7 @@ bg{
                 one{"{0} хектопаскал"}\r
                 other{"{0} хектопаскала"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"инчове живачен стълб"}\r
                 one{"{0} инч живачен стълб"}\r
                 other{"{0} инча живачен стълб"}\r
@@ -695,7 +695,7 @@ bg{
                 one{"{0} милибар"}\r
                 other{"{0} милибара"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"милиметри живачен стълб"}\r
                 one{"{0} мм живачен стълб"}\r
                 other{"{0} мм живачен стълб"}\r
@@ -705,7 +705,7 @@ bg{
                 one{"{0} паскал"}\r
                 other{"{0} паскала"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"фунтове на квадратен инч"}\r
                 one{"{0} фунт на квадратен инч"}\r
                 other{"{0} фунта на квадратен инч"}\r
@@ -761,7 +761,7 @@ bg{
                 one{"{0} нютон-метър"}\r
                 other{"{0} нютон-метра"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"фунт-футове"}\r
                 one{"{0} фунт-фут"}\r
                 other{"{0} фунт-фута"}\r
@@ -963,7 +963,7 @@ bg{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100 km"}\r
@@ -1103,7 +1103,7 @@ bg{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
             }\r
@@ -1161,7 +1161,7 @@ bg{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1270,11 +1270,6 @@ bg{
                 one{"{0} мол"}\r
                 other{"{0} мол"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"процент"}\r
                 one{"{0}%"}\r
@@ -1284,6 +1279,11 @@ bg{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"базисен пункт"}\r
                 one{"{0}‱"}\r
@@ -1291,7 +1291,7 @@ bg{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100 km"}\r
@@ -1759,7 +1759,7 @@ bg{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1779,12 +1779,12 @@ bg{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 one{"{0} mmHg"}\r
                 other{"{0} mmHg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -1840,7 +1840,7 @@ bg{
                 one{"{0} N⋅m"}\r
                 other{"{0} N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
                 one{"{0} lbf⋅ft"}\r
                 other{"{0} lbf⋅ft"}\r
index de2ce1b..547eb16 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bm{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f17246e..302a54c 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ bn{
                 one{"{0} জি-বল"}\r
                 other{"{0} জি-বল"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"মিটার প্রতি বর্গ সেকেন্ডে"}\r
                 one{"{0} মিটার প্রতি বর্গ সেকেন্ডে"}\r
                 other{"{0} মিটার প্রতি বর্গ সেকেন্ডে"}\r
@@ -123,11 +123,6 @@ bn{
                 one{"{0} মিলিমোল, প্রতি লিটারে"}\r
                 other{"{0} মিলিমোল, প্রতি লিটারে"}\r
             }\r
-            part-per-million{\r
-                dnam{"ভাগ, প্রতি মিলিয়নে"}\r
-                one{"{0} ভাগ, প্রতি মিলিয়নে"}\r
-                other{"{0} ভাগ, প্রতি মিলিয়নে"}\r
-            }\r
             percent{\r
                 dnam{"শতাংশ"}\r
                 one{"{0}শতাংশ"}\r
@@ -138,9 +133,14 @@ bn{
                 one{"{0} প্রতিমাইল"}\r
                 other{"{0}প্রতিমাইল"}\r
             }\r
+            permillion{\r
+                dnam{"ভাগ, প্রতি মিলিয়নে"}\r
+                one{"{0} ভাগ, প্রতি মিলিয়নে"}\r
+                other{"{0} ভাগ, প্রতি মিলিয়নে"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"লিটার, প্রতি ১০০ কিলোমিটারে"}\r
                 one{"{0} লিটার, প্রতি ১০০ কিলোমিটারে"}\r
                 other{"{0} লিটার, প্রতি ১০০ কিলোমিটারে"}\r
@@ -660,7 +660,7 @@ bn{
                 one{"{0} হেক্টোপাসকল"}\r
                 other{"{0} হেক্টোপাসকল"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"ইঞ্চি পারদ"}\r
                 one{"{0} ইঞ্চি পারদ"}\r
                 other{"{0} ইঞ্চি পারদ"}\r
@@ -680,7 +680,7 @@ bn{
                 one{"{0} মিলিবার"}\r
                 other{"{0} মিলিবার"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"মিলিমিটার পারদ"}\r
                 one{"{0} মিলিমিটার পারদ"}\r
                 other{"{0} মিলিমিটার পারদ"}\r
@@ -690,7 +690,7 @@ bn{
                 one{"{0} প্যাসকেল"}\r
                 other{"{0} প্যাসকেল"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"বর্গইঞ্চি প্রতি পাউন্ড"}\r
                 one{"{0} বর্গইঞ্চি প্রতি পাউন্ড"}\r
                 other{"{0} বর্গইঞ্চি প্রতি পাউন্ড"}\r
@@ -891,7 +891,7 @@ bn{
                 one{"{0} জি-বল"}\r
                 other{"{0} জি-বল"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -948,7 +948,7 @@ bn{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 one{"{0} L/100km"}\r
                 other{"{0} L/100km"}\r
@@ -1212,7 +1212,7 @@ bn{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1222,12 +1222,12 @@ bn{
                 one{"{0} mb"}\r
                 other{"{0} mb"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -1300,7 +1300,7 @@ bn{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1409,11 +1409,6 @@ bn{
                 one{"{0} mmol/L"}\r
                 other{"{0} mmol/L"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"শতাংশ"}\r
                 one{"{0}%"}\r
@@ -1424,9 +1419,14 @@ bn{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 one{"{0} L/100km"}\r
                 other{"{0} L/100km"}\r
@@ -1909,7 +1909,7 @@ bn{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1919,12 +1919,12 @@ bn{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
index 8243068..755fb1c 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 10312f1..af3a5c3 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 br{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -9,7 +9,7 @@ br{
     }\r
     units{\r
         acceleration{\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metroù dre eilenn garrez"}\r
                 few{"{0} metr dre eilenn garrez"}\r
                 many{"{0} a vetroù dre eilenn garrez"}\r
@@ -194,7 +194,7 @@ br{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litroù dre 100 kilometr"}\r
                 few{"{0} litr dre 100 kilometr"}\r
                 many{"{0} a litroù dre 100 kilometr"}\r
@@ -1032,7 +1032,7 @@ br{
                 other{"{0} paskal"}\r
                 two{"{0} baskal"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"lurioù dre veutad karrez"}\r
                 few{"{0} lur dre veutad karrez"}\r
                 many{"{0} a lurioù dre veutad karrez"}\r
@@ -1353,7 +1353,7 @@ br{
                 other{"{0}G"}\r
                 two{"{0}G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 few{"{0}m/s²"}\r
                 many{"{0}m/s²"}\r
@@ -1548,7 +1548,7 @@ br{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100km"}\r
                 few{"{0}l/100km"}\r
                 many{"{0}l/100km"}\r
@@ -2344,7 +2344,7 @@ br{
                 other{"{0}hPa"}\r
                 two{"{0}hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"″Hg"}\r
                 few{"{0}″Hg"}\r
                 many{"{0}″Hg"}\r
@@ -2374,7 +2374,7 @@ br{
                 other{"{0}mbar"}\r
                 two{"{0}mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 few{"{0}mmHg"}\r
                 many{"{0}mmHg"}\r
@@ -2389,7 +2389,7 @@ br{
                 other{"{0}Pa"}\r
                 two{"{0}Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"lb/in²"}\r
                 few{"{0}lb/in²"}\r
                 many{"{0}lb/in²"}\r
@@ -2474,7 +2474,7 @@ br{
                 other{"{0}N⋅m"}\r
                 two{"{0}N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 few{"{0}lbf⋅ft"}\r
                 many{"{0}lbf⋅ft"}\r
                 one{"{0}lbf⋅ft"}\r
@@ -2707,7 +2707,7 @@ br{
             g-force{\r
                 dnam{"G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 few{"{0} m/s²"}\r
                 many{"{0} m/s²"}\r
@@ -2888,7 +2888,7 @@ br{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100km"}\r
                 few{"{0} l/100km"}\r
                 many{"{0} l/100km"}\r
@@ -3598,7 +3598,7 @@ br{
                 other{"{0} hPa"}\r
                 two{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 few{"{0} inHg"}\r
                 many{"{0} inHg"}\r
@@ -3614,7 +3614,7 @@ br{
                 other{"{0} mbar"}\r
                 two{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 few{"{0} mmHg"}\r
                 many{"{0} mmHg"}\r
@@ -3622,7 +3622,7 @@ br{
                 other{"{0} mmHg"}\r
                 two{"{0} mmHg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"lb/in²"}\r
                 few{"{0} lb/in²"}\r
                 many{"{0} lb/in²"}\r
index 1d9847b..3b835ef 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 brx{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         duration{\r
             day{\r
index c7d0396..32e24d1 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bs{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -15,7 +15,7 @@ bs{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metri u sekundi na kvadrat"}\r
                 few{"{0} metra u sekundi na kvadrat"}\r
                 one{"{0} metar u sekundi na kvadrat"}\r
@@ -149,12 +149,6 @@ bs{
                 one{"{0} mol"}\r
                 other{"{0} mola"}\r
             }\r
-            part-per-million{\r
-                dnam{"dijelovi na milion"}\r
-                few{"{0} dijela na milion"}\r
-                one{"{0} dio na milion"}\r
-                other{"{0} dijelova na milion"}\r
-            }\r
             percent{\r
                 dnam{"procenat"}\r
                 few{"{0} procenta"}\r
@@ -167,6 +161,12 @@ bs{
                 one{"{0} promil"}\r
                 other{"{0} promila"}\r
             }\r
+            permillion{\r
+                dnam{"dijelovi na milion"}\r
+                few{"{0} dijela na milion"}\r
+                one{"{0} dio na milion"}\r
+                other{"{0} dijelova na milion"}\r
+            }\r
             permyriad{\r
                 dnam{"permyriad"}\r
                 few{"{0} permyriada"}\r
@@ -175,7 +175,7 @@ bs{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litri na 100 kilometara"}\r
                 few{"{0} litra na 100 kilometara"}\r
                 one{"{0} litar na 100 kilometara"}\r
@@ -755,7 +755,7 @@ bs{
                 one{"{0} hektopaskal"}\r
                 other{"{0} hektopaskala"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inči živinog stuba"}\r
                 few{"{0} inča živinog stuba"}\r
                 one{"{0} inč živinog stuba"}\r
@@ -779,7 +779,7 @@ bs{
                 one{"{0} milibar"}\r
                 other{"{0} milibara"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milimetri živinog stuba"}\r
                 few{"{0} milimetra živinog stuba"}\r
                 one{"{0} milimetar živinog stuba"}\r
@@ -791,7 +791,7 @@ bs{
                 one{"{0} paskal"}\r
                 other{"{0} paskala"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"funte po kvadratnom inču"}\r
                 few{"{0} funte po kvadratnom inču"}\r
                 one{"{0} funta po kvadratnom inču"}\r
@@ -857,7 +857,7 @@ bs{
                 one{"{0} njutn-metar"}\r
                 other{"{0} njutn-metara"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"funte sile po stopi"}\r
                 few{"{0} funte sile po stopi"}\r
                 one{"{0} funta sile po stopi"}\r
@@ -1041,7 +1041,7 @@ bs{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100 km"}\r
                 few{"{0} L/100 km"}\r
                 one{"{0} L/100 km"}\r
@@ -1178,7 +1178,7 @@ bs{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 few{"{0} m/s²"}\r
                 one{"{0} m/s²"}\r
@@ -1313,12 +1313,6 @@ bs{
                 one{"{0} mol"}\r
                 other{"{0} mol"}\r
             }\r
-            part-per-million{\r
-                dnam{"dijelovi/milion"}\r
-                few{"{0} ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 few{"{0}%"}\r
@@ -1331,6 +1325,12 @@ bs{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"dijelovi/milion"}\r
+                few{"{0} ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"‱"}\r
                 few{"{0}‱"}\r
@@ -1339,7 +1339,7 @@ bs{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100 km"}\r
                 few{"{0} L/100 km"}\r
                 one{"{0} L/100 km"}\r
@@ -1962,7 +1962,7 @@ bs{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"in Hg"}\r
                 few{"{0} inHg"}\r
                 one{"{0} inHg"}\r
@@ -1986,7 +1986,7 @@ bs{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 few{"{0} mm Hg"}\r
                 one{"{0} mm Hg"}\r
@@ -1998,7 +1998,7 @@ bs{
                 one{"{0} Pa"}\r
                 other{"{0} Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 few{"{0} psi"}\r
                 one{"{0} psi"}\r
@@ -2064,7 +2064,7 @@ bs{
                 one{"{0} Nm"}\r
                 other{"{0} Nm"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
                 few{"{0} lbf⋅ft"}\r
                 one{"{0} lbf⋅ft"}\r
index 92ddea3..b5e5919 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bs_Cyrl{\r
     %%Parent{"root"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         area{\r
             acre{\r
index 8d3f9f4..055a94f 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bs_Latn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9af98f0..08b7ab7 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ca{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ ca{
                 one{"{0} força G"}\r
                 other{"{0} força G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metres per segon al quadrat"}\r
                 one{"{0} metre per segon al quadrat"}\r
                 other{"{0} metres per segon al quadrat"}\r
@@ -128,11 +128,6 @@ ca{
                 one{"{0} mol"}\r
                 other{"{0} mols"}\r
             }\r
-            part-per-million{\r
-                dnam{"parts per milió"}\r
-                one{"{0} part per milió"}\r
-                other{"{0} parts per milió"}\r
-            }\r
             percent{\r
                 dnam{"per cent"}\r
                 one{"{0} per cent"}\r
@@ -143,6 +138,11 @@ ca{
                 one{"{0} per mil"}\r
                 other{"{0} per mil"}\r
             }\r
+            permillion{\r
+                dnam{"parts per milió"}\r
+                one{"{0} part per milió"}\r
+                other{"{0} parts per milió"}\r
+            }\r
             permyriad{\r
                 dnam{"per deu mil"}\r
                 one{"{0} per deu mil"}\r
@@ -150,7 +150,7 @@ ca{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litres per 100 quilòmetres"}\r
                 one{"{0} litre per 100 quilòmetres"}\r
                 other{"{0} litres per 100 quilòmetres"}\r
@@ -675,7 +675,7 @@ ca{
                 one{"{0} hectopascal"}\r
                 other{"{0} hectopascals"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"polzades de mercuri"}\r
                 one{"{0} polzada de mercuri"}\r
                 other{"{0} polzades de mercuri"}\r
@@ -695,7 +695,7 @@ ca{
                 one{"{0} mil·libar"}\r
                 other{"{0} mil·libars"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mil·límetres de mercuri"}\r
                 one{"mil·límetre de mercuri"}\r
                 other{"{0} mil·límetres de mercuri"}\r
@@ -705,7 +705,7 @@ ca{
                 one{"{0} pascal"}\r
                 other{"{0} pascals"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"lliures per polzada quadrada"}\r
                 one{"{0} lliura per polzada quadrada"}\r
                 other{"{0} lliures per polzada quadrada"}\r
@@ -761,7 +761,7 @@ ca{
                 one{"{0} newton-metre"}\r
                 other{"{0} newtons-metre"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lliures-peu"}\r
                 one{"{0} lliura-peu"}\r
                 other{"{0} lliures-peu"}\r
@@ -964,7 +964,7 @@ ca{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100 km"}\r
@@ -1182,7 +1182,7 @@ ca{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1292,11 +1292,6 @@ ca{
                 one{"{0} mM/l"}\r
                 other{"{0} mM/l"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"per cent"}\r
                 one{"{0} %"}\r
@@ -1307,12 +1302,17 @@ ca{
                 one{"{0} ‰"}\r
                 other{"{0} ‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"per deu mil"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100 km"}\r
@@ -1812,7 +1812,7 @@ ca{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1825,7 +1825,7 @@ ca{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 one{"{0} mmHg"}\r
                 other{"{0} mmHg"}\r
@@ -1835,7 +1835,7 @@ ca{
                 one{"{0} Pa"}\r
                 other{"{0} Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -1891,7 +1891,7 @@ ca{
                 one{"{0} N⋅m"}\r
                 other{"{0} N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
                 one{"{0} lbf⋅ft"}\r
                 other{"{0} lbf⋅ft"}\r
index b31dc88..8ac1dca 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ccp{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ ccp{
                 one{"{0} 𑄎𑄨-𑄝𑄧𑄣𑄴"}\r
                 other{"{0} 𑄎𑄨-𑄝𑄧𑄣𑄴"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"𑄟𑄨𑄑𑄢𑄴 𑄛𑄳𑄢𑄧𑄖𑄨 𑄝𑄧𑄢𑄴𑄉𑄧 𑄥𑄬𑄇𑄬𑄚𑄳𑄓𑄴"}\r
                 one{"{0} 𑄟𑄨𑄑𑄢𑄴 𑄛𑄳𑄢𑄧𑄖𑄨 𑄝𑄧𑄢𑄴𑄉𑄧 𑄥𑄬𑄇𑄬𑄚𑄴𑄓𑄬"}\r
                 other{"{0} 𑄟𑄨𑄑𑄢𑄴 𑄛𑄳𑄢𑄧𑄖𑄨 𑄝𑄧𑄢𑄴𑄉𑄧 𑄥𑄬𑄇𑄬𑄚𑄴𑄓𑄬"}\r
@@ -118,14 +118,14 @@ ccp{
                 one{"{0} 𑄟𑄨𑄣𑄨𑄟𑄮𑄣𑄴, 𑄛𑄳𑄢𑄧𑄖𑄨 𑄣𑄨𑄑𑄢𑄬"}\r
                 other{"{0} 𑄟𑄨𑄣𑄨𑄟𑄮𑄣𑄴, 𑄛𑄳𑄢𑄧𑄖𑄨 𑄣𑄨𑄑𑄢𑄬"}\r
             }\r
-            part-per-million{\r
+            permillion{\r
                 dnam{"𑄞𑄇𑄴, 𑄛𑄳𑄢𑄧𑄖𑄨 𑄘𑄧𑄌𑄴 𑄣𑄬𑄉"}\r
                 one{"{0} 𑄞𑄧𑄇𑄴, 𑄛𑄳𑄢𑄧𑄖𑄨 𑄘𑄧𑄌𑄴 𑄣𑄉𑄬"}\r
                 other{"{0} 𑄞𑄧𑄇𑄴, 𑄛𑄳𑄢𑄧𑄖𑄨 𑄘𑄧𑄌𑄴 𑄣𑄉𑄬"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"𑄣𑄨𑄑𑄢𑄴, 𑄛𑄳𑄢𑄧𑄖𑄨 𑄷𑄶𑄶 𑄇𑄨𑄣𑄮𑄟𑄨𑄑𑄢𑄬"}\r
                 one{"{0} 𑄣𑄨𑄑𑄢𑄴, 𑄛𑄳𑄢𑄧𑄖𑄨 𑄷𑄶𑄶 𑄇𑄨𑄣𑄮𑄟𑄨𑄑𑄢𑄬"}\r
                 other{"{0} 𑄣𑄨𑄑𑄢𑄴, 𑄛𑄳𑄢𑄧𑄖𑄨 𑄷𑄶𑄶 𑄇𑄨𑄣𑄮𑄟𑄨𑄑𑄢𑄬"}\r
@@ -537,7 +537,7 @@ ccp{
                 one{"{0} 𑄦𑄬𑄇𑄴𑄑𑄮𑄛𑄥𑄴𑄇𑄧𑄣𑄴"}\r
                 other{"{0} 𑄦𑄬𑄇𑄴𑄑𑄮𑄛𑄥𑄴𑄇𑄧𑄣𑄴"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"𑄃𑄨𑄚𑄴𑄌𑄨 𑄛𑄢𑄧𑄖𑄴"}\r
                 one{"{0} 𑄃𑄨𑄚𑄴𑄌𑄨 𑄛𑄢𑄧𑄖𑄴"}\r
                 other{"{0} 𑄃𑄨𑄚𑄴𑄌𑄨 𑄛𑄢𑄧𑄖𑄴"}\r
@@ -547,12 +547,12 @@ ccp{
                 one{"{0} 𑄟𑄨𑄣𑄨𑄝𑄢𑄴"}\r
                 other{"{0}𑄟𑄨𑄣𑄨𑄝𑄢𑄴"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"𑄟𑄨𑄣𑄨𑄟𑄨𑄑𑄢𑄴 𑄛𑄢𑄧𑄖𑄴"}\r
                 one{"{0} 𑄟𑄨𑄣𑄨𑄟𑄨𑄑𑄢𑄴 𑄛𑄢𑄧𑄖𑄴"}\r
                 other{"{0} 𑄟𑄨𑄣𑄨𑄟𑄨𑄑𑄢𑄴 𑄛𑄢𑄧𑄖𑄴"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"𑄝𑄧𑄢𑄴𑄉𑄧𑄃𑄨𑄚𑄴𑄌𑄨 𑄛𑄳𑄢𑄧𑄖𑄨 𑄛𑄅𑄪𑄚𑄳𑄓𑄴"}\r
                 one{"{0} 𑄝𑄧𑄢𑄴𑄉𑄧𑄃𑄨𑄚𑄴𑄌𑄨 𑄛𑄳𑄢𑄧𑄖𑄨 𑄛𑄅𑄪𑄚𑄳𑄓𑄴"}\r
                 other{"{0} 𑄝𑄧𑄢𑄴𑄉𑄧𑄃𑄨𑄚𑄴𑄌𑄨 𑄛𑄳𑄢𑄧𑄖𑄨 𑄛𑄅𑄪𑄚𑄳𑄓𑄴"}\r
@@ -781,7 +781,7 @@ ccp{
             per{"{0}/{1}"}\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 one{"{0} L/100km"}\r
                 other{"{0} L/100km"}\r
@@ -920,7 +920,7 @@ ccp{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
             }\r
@@ -978,7 +978,7 @@ ccp{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1082,14 +1082,14 @@ ccp{
                 one{"{0} mmol/L"}\r
                 other{"{0} mmol/L"}\r
             }\r
-            part-per-million{\r
+            permillion{\r
                 dnam{"ppm"}\r
                 one{"{0} ppm"}\r
                 other{"{0} ppm"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 one{"{0} L/100km"}\r
                 other{"{0} L/100km"}\r
@@ -1501,7 +1501,7 @@ ccp{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1511,12 +1511,12 @@ ccp{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
index 3e446a1..8d4419e 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ce{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 593eef1..193211a 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ceb{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -13,7 +13,7 @@ ceb{
                 one{"{0} g-force"}\r
                 other{"{0} g-force"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"mga metro kada second squared"}\r
                 one{"{0} ka metro kada second squared"}\r
                 other{"{0} ka mga metro kada second squared"}\r
@@ -127,11 +127,6 @@ ceb{
                 one{"{0} ka mole"}\r
                 other{"{0} ka mga mole"}\r
             }\r
-            part-per-million{\r
-                dnam{"mga part per million"}\r
-                one{"{0} ka part per million"}\r
-                other{"{0} ka mga part per million"}\r
-            }\r
             percent{\r
                 dnam{"porsyento"}\r
                 one{"{0} ka porsyento"}\r
@@ -142,6 +137,11 @@ ceb{
                 one{"{0} ka permille"}\r
                 other{"{0} ka permille"}\r
             }\r
+            permillion{\r
+                dnam{"mga part per million"}\r
+                one{"{0} ka part per million"}\r
+                other{"{0} ka mga part per million"}\r
+            }\r
             permyriad{\r
                 dnam{"permyriad"}\r
                 one{"{0} ka permyriad"}\r
@@ -149,7 +149,7 @@ ceb{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"mga litro kada 100 kilometro"}\r
                 one{"{0} ka litro kada 100 kilometro"}\r
                 other{"{0} ka litro kada 100 kilometro"}\r
@@ -676,7 +676,7 @@ ceb{
                 one{"{0} ka hectopascal"}\r
                 other{"{0} ka mga hectopascal"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"mga pulgada sa mercury"}\r
                 one{"{0} ka pulgada sa mercury"}\r
                 other{"{0} ka mga pulgada sa mercury"}\r
@@ -696,7 +696,7 @@ ceb{
                 one{"{0} ka millibar"}\r
                 other{"{0} ka mga millibar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mga millimetro sa mercury"}\r
                 one{"{0} ka millimetro sa mercury"}\r
                 other{"{0} ka mga millimetro sa mercury"}\r
@@ -706,7 +706,7 @@ ceb{
                 one{"{0} ka pascal"}\r
                 other{"{0} ka mga pascal"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"mga pound kada kuwadradong pulgada"}\r
                 one{"{0} ka pound kada kuwadradong pulgada"}\r
                 other{"{0} ka mga pound kada kuwadradong pulgada"}\r
@@ -757,10 +757,10 @@ ceb{
                 one{"{0} ka newton-meter"}\r
                 other{"{0} ka mga newton-meter"}\r
             }\r
-            pound-foot{\r
-                dnam{"mga pound-foot"}\r
-                one{"{0} ka pound-foot"}\r
-                other{"{0} ka mga pound-foot"}\r
+            pound-force-foot{\r
+                dnam{"mga pound-force-foot"}\r
+                one{"{0} ka pound-force-foot"}\r
+                other{"{0} ka mga pound-force-foot"}\r
             }\r
         }\r
         volume{\r
@@ -902,8 +902,13 @@ ceb{
         }\r
     }\r
     unitsNarrow{\r
+        concentr{\r
+            percent{\r
+                dnam{"%"}\r
+            }\r
+        }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 one{"{0}L/100km"}\r
                 other{"{0}L/100km"}\r
@@ -911,6 +916,10 @@ ceb{
         }\r
         coordinate{\r
             dnam{"direksyon"}\r
+            east{"{0}E"}\r
+            north{"{0}N"}\r
+            south{"{0}S"}\r
+            west{"{0}W"}\r
         }\r
         duration{\r
             day{\r
@@ -931,7 +940,7 @@ ceb{
             minute{\r
                 dnam{"minuto"}\r
                 one{"{0} minuto"}\r
-                other{"{0}minuto"}\r
+                other{"{0} minuto"}\r
             }\r
             month{\r
                 dnam{"buwan"}\r
@@ -1004,7 +1013,7 @@ ceb{
     }\r
     unitsShort{\r
         acceleration{\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"mga metro/sec²"}\r
             }\r
         }\r
@@ -1076,21 +1085,21 @@ ceb{
                 one{"{0} mol"}\r
                 other{"{0} mol"}\r
             }\r
-            part-per-million{\r
-                dnam{"mga part/million"}\r
-            }\r
             percent{\r
                 dnam{"porsyento"}\r
             }\r
             permille{\r
                 dnam{"permille"}\r
             }\r
+            permillion{\r
+                dnam{"mga part/million"}\r
+            }\r
             permyriad{\r
                 dnam{"permyriad"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100 km"}\r
                 one{"{0} L/100 km"}\r
                 other{"{0} L/100 km"}\r
@@ -1350,7 +1359,7 @@ ceb{
                 one{"{0} ka mbar"}\r
                 other{"{0} ka mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 one{"{0} mmHg"}\r
                 other{"{0} mmHg"}\r
index d22a2f4..bf8fc4d 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 cgg{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5568a51..7063bb8 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 chr{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ chr{
                 one{"{0} ᎠᏓᎾᏌᏁᏍᎩ-ᎦᏌᏙᏯᏍᏗ"}\r
                 other{"{0} ᎠᏓᎾᏌᏁᏍᎩ-ᎦᏌᏙᏯᏍᏗ"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"ᏗᏟᎶᏗ ᎠᏎᏢ ᎢᏳᏓᎵ ᏅᎩ ᏧᏅᏏᎩ"}\r
                 one{"{0} ᎠᏟᎶᏗ ᎠᏎᏢ ᎢᏳᏓᎵ ᏅᎩ ᏧᏅᏏᎩ"}\r
                 other{"{0} ᏗᏟᎶᏗ ᎠᏎᏢ ᎢᏳᏓᎵ ᏅᎩ ᏧᏅᏏᎩ"}\r
@@ -128,11 +128,6 @@ chr{
                 one{"{0} ᎼᎴ"}\r
                 other{"{0} ᎼᎴᏍ"}\r
             }\r
-            part-per-million{\r
-                dnam{"ᏚᏙᏢᏒ ᎢᏳᏆᏗᏅᏛ ᎢᏳᏓᎵ"}\r
-                one{"{0} ᎤᏙᏢᏒ ᎢᏳᏆᏗᏅᏛ ᎢᏳᏓᎵ"}\r
-                other{"{0} ᏚᏙᏢᏒ ᎢᏳᏆᏗᏅᏛ ᎢᏳᏓᎵ"}\r
-            }\r
             percent{\r
                 dnam{"ᏓᎬᏩᎶᏛ"}\r
                 one{"{0} ᏓᎬᏩᎶᏛ"}\r
@@ -143,6 +138,11 @@ chr{
                 one{"{0} ᏈᎻᎴ"}\r
                 other{"{0} ᏈᎻᎴ"}\r
             }\r
+            permillion{\r
+                dnam{"ᏚᏙᏢᏒ ᎢᏳᏆᏗᏅᏛ ᎢᏳᏓᎵ"}\r
+                one{"{0} ᎤᏙᏢᏒ ᎢᏳᏆᏗᏅᏛ ᎢᏳᏓᎵ"}\r
+                other{"{0} ᏚᏙᏢᏒ ᎢᏳᏆᏗᏅᏛ ᎢᏳᏓᎵ"}\r
+            }\r
             permyriad{\r
                 dnam{"ᏋᎻᎵᎠᏗ"}\r
                 one{"{0} ᏋᎻᎵᎠᏗ"}\r
@@ -150,7 +150,7 @@ chr{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ᏗᎵᏔᎢ 100 ᎠᎦᏴᎵ ᏗᏟᎶᏍᏗ ᎢᏳᏓᎵ"}\r
                 one{"{0} ᎵᏔᎢ 100 ᎠᎦᏴᎵ ᏗᏟᎶᏍᏗ ᎢᏳᏓᎵ"}\r
                 other{"{0} ᏗᎵᏔᎢ 100 ᎠᎦᏴᎵ ᏗᏟᎶᏍᏗ ᎢᏳᏓᎵ"}\r
@@ -675,7 +675,7 @@ chr{
                 one{"{0} ᎮᏔ ᏆᏌᎵ"}\r
                 other{"{0} ᎮᏔ ᏗᏆᏌᎵ"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"ᎢᏏᏔᏗᏍᏗ ᎾᎿ ᎹᎫᎢ"}\r
                 one{"{0} ᎢᏗᎳᏏᏗ ᎾᎿ ᎹᎫᎢ"}\r
                 other{"{0} ᎢᏏᏔᏗᏍᏗ ᎾᎿ ᎹᎫᎢ"}\r
@@ -695,7 +695,7 @@ chr{
                 one{"{0} ᎢᎦᎦᏴᎵ ᎦᎾᎸᎢ"}\r
                 other{"{0} ᎢᏯᎦᏴᎵ ᏕᎦᎾᎸᎢ"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"ᏌᏉ ᎢᏯᎦᎨᎵᏁᎢ ᏗᏟᎶᏗ ᎾᎿ ᎹᎫᎢ"}\r
                 one{"{0} ᏌᏉ ᎢᏯᎦᎨᎵᏁᎢ ᎠᏟᎶᏗ ᎾᎿ ᎹᎫᎢ"}\r
                 other{"{0} ᏌᏉ ᎢᏯᎦᎨᎵᏁᎢ ᏗᏟᎶᏗ ᎾᎿ ᎹᎫᎢ"}\r
@@ -705,7 +705,7 @@ chr{
                 one{"{0} ᏆᏌᎵ"}\r
                 other{"{0} ᏗᏆᏌᎵ"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"ᎢᏧᏓᎨᏓ ᏅᎩ ᏧᏅᏏᎩ ᎢᏏᏔᏗᏍᏗ ᎢᏳᏓᎵ"}\r
                 one{"{0} ᏑᏓᎨᏓ ᏅᎩ ᏧᏅᏏᎩ ᎢᏏᏔᏗᏍᏗ ᎢᏳᏓᎵ"}\r
                 other{"{0} ᎢᏧᏓᎨᏓ ᏅᎩ ᏧᏅᏏᎩ ᎢᏏᏔᏗᏍᏗ ᎢᏳᏓᎵ"}\r
@@ -761,7 +761,7 @@ chr{
                 one{"{0} ᏄᏛᏅ-ᎠᏟᎶᏍᏗ"}\r
                 other{"{0} ᏄᏛᏅ-ᎠᏟᎶᏍᏗ"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"ᏑᏓᎨᏓ-ᏧᎳᏏᏕᏂ"}\r
                 one{"{0} ᏑᏓᎨᏓ-ᎤᎳᏏᏕᏂ"}\r
                 other{"{0} ᏑᏓᎨᏓ-ᏧᎳᏏᏕᏂ"}\r
@@ -917,7 +917,7 @@ chr{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 one{"{0}L/100km"}\r
                 other{"{0}L/100km"}\r
@@ -1039,7 +1039,7 @@ chr{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"ᏗᏟᎶᏍᏗ/sec²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1153,11 +1153,6 @@ chr{
                 one{"{0} mol"}\r
                 other{"{0} mol"}\r
             }\r
-            part-per-million{\r
-                dnam{"ᏚᏙᏢᏒ/ᎢᏳᏆᏗᏅᏛ"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"ᏓᎬᏩᎶᏛ"}\r
                 one{"{0}%"}\r
@@ -1168,6 +1163,11 @@ chr{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ᏚᏙᏢᏒ/ᎢᏳᏆᏗᏅᏛ"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"ᏋᎻᎵᎠᏗ"}\r
                 one{"{0}‱"}\r
@@ -1175,7 +1175,7 @@ chr{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 one{"{0} L/100km"}\r
                 other{"{0} L/100km"}\r
@@ -1668,7 +1668,7 @@ chr{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1688,12 +1688,12 @@ chr{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 one{"{0} mmHg"}\r
                 other{"{0} mmHg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -1749,7 +1749,7 @@ chr{
                 one{"{0} N⋅m"}\r
                 other{"{0} N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
                 one{"{0} lbf⋅ft"}\r
                 other{"{0} lbf⋅ft"}\r
index 4b1dac1..6c08585 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ckb{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index be47376..b6e6dbd 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 cs{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -16,7 +16,7 @@ cs{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metr za sekundu na druhou"}\r
                 few{"{0} metry za sekundu na druhou"}\r
                 many{"{0} metru za sekundu na druhou"}\r
@@ -171,13 +171,6 @@ cs{
                 one{"{0} mol"}\r
                 other{"{0} molů"}\r
             }\r
-            part-per-million{\r
-                dnam{"díly z milionu"}\r
-                few{"{0} díly z milionu"}\r
-                many{"{0} dílu z milionu"}\r
-                one{"{0} díl z milionu"}\r
-                other{"{0} dílů z milionu"}\r
-            }\r
             percent{\r
                 dnam{"procenta"}\r
                 few{"{0} procenta"}\r
@@ -192,6 +185,13 @@ cs{
                 one{"{0} promile"}\r
                 other{"{0} promile"}\r
             }\r
+            permillion{\r
+                dnam{"díly z milionu"}\r
+                few{"{0} díly z milionu"}\r
+                many{"{0} dílu z milionu"}\r
+                one{"{0} díl z milionu"}\r
+                other{"{0} dílů z milionu"}\r
+            }\r
             permyriad{\r
                 dnam{"desetiny promile"}\r
                 few{"{0} desetiny promile"}\r
@@ -201,7 +201,7 @@ cs{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litry na sto kilometrů"}\r
                 few{"{0} litry na sto kilometrů"}\r
                 many{"{0} litru na sto kilometrů"}\r
@@ -941,7 +941,7 @@ cs{
                 one{"{0} hektopascal"}\r
                 other{"{0} hektopascalů"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"palce rtuti"}\r
                 few{"{0} palce rtuti"}\r
                 many{"{0} palce rtuti"}\r
@@ -969,7 +969,7 @@ cs{
                 one{"{0} milibar"}\r
                 other{"{0} milibarů"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milimetry rtuti"}\r
                 few{"{0} milimetry rtuti"}\r
                 many{"{0} milimetru rtuti"}\r
@@ -983,7 +983,7 @@ cs{
                 one{"{0} pascal"}\r
                 other{"{0} pascalů"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"libry na čtvereční palec"}\r
                 few{"{0} libry na čtvereční palec"}\r
                 many{"{0} libry na čtvereční palec"}\r
@@ -1059,7 +1059,7 @@ cs{
                 one{"{0} newtonmetr"}\r
                 other{"{0} newtonmetrů"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"librostopy"}\r
                 few{"{0} librostopy"}\r
                 many{"{0} librostopy"}\r
@@ -1273,7 +1273,7 @@ cs{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 few{"{0} m/s²"}\r
                 many{"{0} m/s²"}\r
@@ -1414,13 +1414,6 @@ cs{
                 one{"{0} mmol/l"}\r
                 other{"{0} mmol/l"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                few{"{0} ppm"}\r
-                many{"{0} ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 few{"{0} %"}\r
@@ -1428,9 +1421,16 @@ cs{
                 one{"{0} %"}\r
                 other{"{0} %"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                few{"{0} ppm"}\r
+                many{"{0} ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 few{"{0} l/100 km"}\r
                 many{"{0} l/100 km"}\r
@@ -2011,7 +2011,7 @@ cs{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 few{"{0} inHg"}\r
                 many{"{0} inHg"}\r
@@ -2025,14 +2025,14 @@ cs{
                 one{"{0} mb"}\r
                 other{"{0} mb"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 few{"{0} mm Hg"}\r
                 many{"{0} mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 few{"{0} psi"}\r
                 many{"{0} psi"}\r
@@ -2287,7 +2287,7 @@ cs{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 few{"{0} m/s²"}\r
                 many{"{0} m/s²"}\r
@@ -2442,13 +2442,6 @@ cs{
                 one{"{0} mol"}\r
                 other{"{0} mol"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                few{"{0} ppm"}\r
-                many{"{0} ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 few{"{0} %"}\r
@@ -2463,6 +2456,13 @@ cs{
                 one{"{0} ‰"}\r
                 other{"{0} ‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                few{"{0} ppm"}\r
+                many{"{0} ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"‱"}\r
                 few{"{0} ‱"}\r
@@ -2472,7 +2472,7 @@ cs{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 few{"{0} l/100 km"}\r
                 many{"{0} l/100 km"}\r
@@ -3208,7 +3208,7 @@ cs{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 few{"{0} inHg"}\r
                 many{"{0} inHg"}\r
@@ -3236,7 +3236,7 @@ cs{
                 one{"{0} mb"}\r
                 other{"{0} mb"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 few{"{0} mm Hg"}\r
                 many{"{0} mm Hg"}\r
@@ -3250,7 +3250,7 @@ cs{
                 one{"{0} Pa"}\r
                 other{"{0} Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 few{"{0} psi"}\r
                 many{"{0} psi"}\r
@@ -3326,7 +3326,7 @@ cs{
                 one{"{0} Nm"}\r
                 other{"{0} Nm"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
                 few{"{0} lbf⋅ft"}\r
                 many{"{0} lbf⋅ft"}\r
index d06898d..43a27b5 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 cy{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -18,7 +18,7 @@ cy{
                 two{"{0} G"}\r
                 zero{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metrau yr eiliad sgwâr"}\r
                 few{"{0} m/eil²"}\r
                 many{"{0} m/eil²"}\r
@@ -212,15 +212,6 @@ cy{
                 two{"{0} môl"}\r
                 zero{"{0} môl"}\r
             }\r
-            part-per-million{\r
-                dnam{"rhannau pob miliwn"}\r
-                few{"{0} rhan pob miliwn"}\r
-                many{"{0} rhan pob miliwn"}\r
-                one{"{0} rhan pob miliwn"}\r
-                other{"{0} rhan pob miliwn"}\r
-                two{"{0} rhan pob miliwn"}\r
-                zero{"{0} rhan pob miliwn"}\r
-            }\r
             percent{\r
                 dnam{"y cant"}\r
                 few{"{0}%"}\r
@@ -239,6 +230,15 @@ cy{
                 two{"{0}‰"}\r
                 zero{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"rhannau pob miliwn"}\r
+                few{"{0} rhan pob miliwn"}\r
+                many{"{0} rhan pob miliwn"}\r
+                one{"{0} rhan pob miliwn"}\r
+                other{"{0} rhan pob miliwn"}\r
+                two{"{0} rhan pob miliwn"}\r
+                zero{"{0} rhan pob miliwn"}\r
+            }\r
             permyriad{\r
                 dnam{"permyriad"}\r
                 few{"{0}‱"}\r
@@ -250,7 +250,7 @@ cy{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litrau y 100 cilometr"}\r
                 few{"{0} L/100km"}\r
                 many{"{0} L/100km"}\r
@@ -1161,7 +1161,7 @@ cy{
                 two{"{0} hPa"}\r
                 zero{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"modfeddi o fercwri"}\r
                 few{"{0} ″ Hg"}\r
                 many{"{0} ″ Hg"}\r
@@ -1197,7 +1197,7 @@ cy{
                 two{"{0} filibar"}\r
                 zero{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milimetrau o fercwri"}\r
                 few{"{0} mm Hg"}\r
                 many{"{0} mm Hg"}\r
@@ -1209,7 +1209,7 @@ cy{
             pascal{\r
                 dnam{"pascals"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"pwysau y fodfedd sgwar"}\r
                 few{"{0} psi"}\r
                 many{"{0} psi"}\r
@@ -1305,7 +1305,7 @@ cy{
                 two{"{0} N⋅m"}\r
                 zero{"{0} N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"pwys-troedfeddi"}\r
                 few{"{0} lbf⋅ft"}\r
                 many{"{0} lbf⋅ft"}\r
@@ -1694,7 +1694,7 @@ cy{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 few{"{0}L/100km"}\r
                 many{"{0}L/100km"}\r
@@ -2316,7 +2316,7 @@ cy{
                 two{"{0}hPa"}\r
                 zero{"{0}hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"″ Hg"}\r
                 few{"{0}\u0022 Hg"}\r
                 many{"{0}\u0022 Hg"}\r
@@ -2334,7 +2334,7 @@ cy{
                 two{"{0}mb"}\r
                 zero{"{0}mb"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 few{"{0}mmHg"}\r
                 many{"{0}mmHg"}\r
@@ -2343,7 +2343,7 @@ cy{
                 two{"{0}mmHg"}\r
                 zero{"{0}mmHg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 few{"{0}psi"}\r
                 many{"{0}psi"}\r
@@ -2548,7 +2548,7 @@ cy{
             g-force{\r
                 dnam{"grym disgyrchedd"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metrau/eil²"}\r
                 few{"{0} m/eil²"}\r
                 many{"{0} m/eil²"}\r
@@ -2740,15 +2740,6 @@ cy{
                 two{"{0} môl"}\r
                 zero{"{0} môl"}\r
             }\r
-            part-per-million{\r
-                dnam{"rhan/miliwn"}\r
-                few{"{0} ppm"}\r
-                many{"{0} ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-                two{"{0} ppm"}\r
-                zero{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"y cant"}\r
                 few{"{0}%"}\r
@@ -2767,12 +2758,21 @@ cy{
                 two{"{0}‰"}\r
                 zero{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"rhan/miliwn"}\r
+                few{"{0} ppm"}\r
+                many{"{0} ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+                two{"{0} ppm"}\r
+                zero{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"permyriad"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 few{"{0} L/100km"}\r
                 many{"{0} L/100km"}\r
@@ -3517,7 +3517,7 @@ cy{
                 two{"{0} hPa"}\r
                 zero{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"\u0022 Hg"}\r
                 few{"{0} ″ Hg"}\r
                 many{"{0} ″ Hg"}\r
@@ -3535,7 +3535,7 @@ cy{
                 two{"{0} mbar"}\r
                 zero{"{0} mbar"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 few{"{0} psi"}\r
                 many{"{0} psi"}\r
                 one{"{0} psi"}\r
index 94d8d76..90bfcf0 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 da{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h.mm"}\r
         hms{"h.mm.ss"}\r
@@ -14,7 +14,7 @@ da{
                 one{"{0} G-kraft"}\r
                 other{"{0} G-kraft"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"meter pr. sekund²"}\r
                 one{"{0} meter pr. sekund²"}\r
                 other{"{0} meter pr. sekund²"}\r
@@ -119,11 +119,6 @@ da{
                 one{"{0} millimol pr. liter"}\r
                 other{"{0} millimol pr. liter"}\r
             }\r
-            part-per-million{\r
-                dnam{"parts per million"}\r
-                one{"{0} parts per million"}\r
-                other{"{0} parts per million"}\r
-            }\r
             percent{\r
                 dnam{"procent"}\r
                 one{"{0} procent"}\r
@@ -134,9 +129,14 @@ da{
                 one{"{0} promille"}\r
                 other{"{0} promille"}\r
             }\r
+            permillion{\r
+                dnam{"parts per million"}\r
+                one{"{0} parts per million"}\r
+                other{"{0} parts per million"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"liter pr. 100 kilometer"}\r
                 one{"{0} liter pr. 100 kilometer"}\r
                 other{"{0} liter pr. 100 kilometer"}\r
@@ -623,7 +623,7 @@ da{
                 one{"{0} hektopascal"}\r
                 other{"{0} hektopascal"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"tommer kviksølv"}\r
                 one{"{0} tomme kviksølv"}\r
                 other{"{0} tommer kviksølv"}\r
@@ -643,7 +643,7 @@ da{
                 one{"{0} millibar"}\r
                 other{"{0} millibar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"millimeter kviksølv"}\r
                 one{"{0} millimeter kviksølv"}\r
                 other{"{0} millimeter kviksølv"}\r
@@ -653,7 +653,7 @@ da{
                 one{"{0} pascal"}\r
                 other{"{0} pascal"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"pounds pr. kvadrattomme"}\r
                 one{"{0} pound pr. kvadrattomme"}\r
                 other{"{0} pounds pr. kvadrattommer"}\r
@@ -902,7 +902,7 @@ da{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100 km"}\r
@@ -1090,7 +1090,7 @@ da{
                 one{"{0}hPa"}\r
                 other{"{0}hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"# Hg"}\r
                 one{"{0}\u0022 Hg"}\r
                 other{"{0}\u0022 Hg"}\r
@@ -1100,12 +1100,12 @@ da{
                 one{"{0}mbar"}\r
                 other{"{0}mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 one{"{0} mmHg"}\r
                 other{"{0} mmHg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -1177,7 +1177,7 @@ da{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1282,11 +1282,6 @@ da{
                 one{"{0} mmol/l"}\r
                 other{"{0} mmol/l"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"pct."}\r
                 one{"{0} pct."}\r
@@ -1297,13 +1292,18 @@ da{
                 one{"{0} ‰"}\r
                 other{"{0} ‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 one{"{0} ‱"}\r
                 other{"{0} ‱"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100 km"}\r
@@ -1752,7 +1752,7 @@ da{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"# Hg"}\r
                 one{"{0} # Hg"}\r
                 other{"{0} # Hg"}\r
@@ -1762,12 +1762,12 @@ da{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 one{"{0} mmHg"}\r
                 other{"{0} mmHg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
index 0c42b8a..058915a 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 dav{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b5bcc2f..b05c9ab 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 de{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ de{
                 one{"{0}-fache Erdbeschleunigung"}\r
                 other{"{0}-fache Erdbeschleunigung"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"Meter pro Quadratsekunde"}\r
             }\r
         }\r
@@ -121,11 +121,6 @@ de{
                 one{"{0} Millimol pro Liter"}\r
                 other{"{0} Millimol pro Liter"}\r
             }\r
-            part-per-million{\r
-                dnam{"Parts per million"}\r
-                one{"{0} Parts per million"}\r
-                other{"{0} Parts per million"}\r
-            }\r
             percent{\r
                 dnam{"Prozent"}\r
                 one{"{0} Prozent"}\r
@@ -136,9 +131,14 @@ de{
                 one{"{0} Promille"}\r
                 other{"{0} Promille"}\r
             }\r
+            permillion{\r
+                dnam{"Parts per million"}\r
+                one{"{0} Parts per million"}\r
+                other{"{0} Parts per million"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"Liter auf 100 Kilometer"}\r
                 one{"{0} Liter auf 100 Kilometer"}\r
                 other{"{0} Liter auf 100 Kilometer"}\r
@@ -664,7 +664,7 @@ de{
                 one{"{0} Hektopascal"}\r
                 other{"{0} Hektopascal"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"Zoll Quecksilbersäule"}\r
                 one{"{0} Zoll Quecksilbersäule"}\r
                 other{"{0} Zoll Quecksilbersäule"}\r
@@ -684,7 +684,7 @@ de{
                 one{"{0} Millibar"}\r
                 other{"{0} Millibar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"Millimeter Quecksilbersäule"}\r
                 one{"{0} Millimeter Quecksilbersäule"}\r
                 other{"{0} Millimeter Quecksilbersäule"}\r
@@ -694,7 +694,7 @@ de{
                 one{"{0} Pascal"}\r
                 other{"{0} Pascal"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"Pfund pro Quadratzoll"}\r
                 one{"{0} Pfund pro Quadratzoll"}\r
                 other{"{0} Pfund pro Quadratzoll"}\r
@@ -894,7 +894,7 @@ de{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -971,7 +971,7 @@ de{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100 km"}\r
                 one{"{0} L/100 km"}\r
                 other{"{0} L/100 km"}\r
@@ -1321,7 +1321,7 @@ de{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1331,12 +1331,12 @@ de{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -1561,11 +1561,6 @@ de{
                 one{"{0} mmol/L"}\r
                 other{"{0} mmol/L"}\r
             }\r
-            part-per-million{\r
-                dnam{"parts/million"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 one{"{0} %"}\r
@@ -1575,9 +1570,14 @@ de{
                 one{"{0} ‰"}\r
                 other{"{0} ‰"}\r
             }\r
+            permillion{\r
+                dnam{"parts/million"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100 km"}\r
                 one{"{0} L/100 km"}\r
                 other{"{0} L/100 km"}\r
@@ -1889,7 +1889,7 @@ de{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1899,12 +1899,12 @@ de{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
index d3412d7..4ebf77c 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 de_CH{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         area{\r
             square-foot{\r
index 0089c11..017d323 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 dje{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index afe6b83..a82b33d 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 dsb{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -16,7 +16,7 @@ dsb{
                 other{"{0} jadnotkow zemskego póspěšenja"}\r
                 two{"{0} jadnotce zemskego póspěšenja"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metry na kwadratnu sekundu"}\r
                 few{"{0} metry na kwadratnu sekundu"}\r
                 one{"{0} meter na kwadratnu sekundu"}\r
@@ -641,7 +641,7 @@ dsb{
                 other{"{0} hektopascalow"}\r
                 two{"{0} hektopascala"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"cole žywoslobrowego słupika"}\r
                 few{"{0} cole słupika žywego slobra"}\r
                 one{"{0} col słupika žywego slobra"}\r
@@ -655,14 +655,14 @@ dsb{
                 other{"{0} milibarow"}\r
                 two{"{0} milibara"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milimetry słupika žywego slobra"}\r
                 few{"{0} milimetry słupika žywego slobra"}\r
                 one{"{0} milimeter słupika žywego slobra"}\r
                 other{"{0} milimetrow słupika žywego slobra"}\r
                 two{"{0} milimetra słupika žywego slobra"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"punty na kwadratny col"}\r
                 few{"{0} punty na kwadratny col"}\r
                 one{"{0} punt na kwadratny col"}\r
@@ -1112,7 +1112,7 @@ dsb{
                 other{"{0} hPa"}\r
                 two{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 few{"{0} inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1192,7 +1192,7 @@ dsb{
                 other{"{0} G"}\r
                 two{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 few{"{0} m/s²"}\r
                 one{"{0} m/s²"}\r
@@ -1817,7 +1817,7 @@ dsb{
                 other{"{0} hPa"}\r
                 two{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 few{"{0} inHg"}\r
                 one{"{0} inHg"}\r
@@ -1831,14 +1831,14 @@ dsb{
                 other{"{0} mbar"}\r
                 two{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 few{"{0} mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
                 two{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 few{"{0} psi"}\r
                 one{"{0} psi"}\r
index 4b73bc5..48c0b51 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 dua{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 53c5937..bc3294a 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 dyo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1a6ac75..65b3cc3 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 dz{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         duration{\r
             day{\r
index 2df34a5..ef50bc7 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ebu{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index eb9b44e..4364890 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ee{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         duration{\r
             day{\r
index 554ecaf..79ba37a 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 el{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ el{
                 one{"{0} δύναμη επιτάχυνσης"}\r
                 other{"{0} δύναμη επιτάχυνσης"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"μέτρα ανά τετραγωνικό δευτερόλεπτο"}\r
                 one{"{0} μέτρο ανά τετραγωνικό δευτερόλεπτο"}\r
                 other{"{0} μέτρα ανά τετραγωνικό δευτερόλεπτο"}\r
@@ -128,11 +128,6 @@ el{
                 one{"{0} μολ"}\r
                 other{"{0} μολ"}\r
             }\r
-            part-per-million{\r
-                dnam{"μέρη ανά εκατομμύριο"}\r
-                one{"{0} μέρος ανά εκατομμύριο"}\r
-                other{"{0} μέρη ανά εκατομμύριο"}\r
-            }\r
             percent{\r
                 dnam{"τοις εκατό"}\r
                 one{"{0} τοις εκατό"}\r
@@ -143,6 +138,11 @@ el{
                 one{"{0} τοις χιλίοις"}\r
                 other{"{0} τοις χιλίοις"}\r
             }\r
+            permillion{\r
+                dnam{"μέρη ανά εκατομμύριο"}\r
+                one{"{0} μέρος ανά εκατομμύριο"}\r
+                other{"{0} μέρη ανά εκατομμύριο"}\r
+            }\r
             permyriad{\r
                 dnam{"ποσοστόσημο τοις δεκάκις χιλίοις"}\r
                 one{"{0} ποσοστόσημο τοις δεκάκις χιλίοις"}\r
@@ -150,7 +150,7 @@ el{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"λίτρα ανά 100 χιλιόμετρα"}\r
                 one{"{0} λίτρο ανά 100 χιλιόμετρα"}\r
                 other{"{0} λίτρα ανά 100 χιλιόμετρα"}\r
@@ -674,7 +674,7 @@ el{
                 one{"{0} εκτοπασκάλ"}\r
                 other{"{0} εκτοπασκάλ"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"ίντσες στήλης υδραργύρου"}\r
                 one{"{0} ίντσα στήλης υδραργύρου"}\r
                 other{"{0} ίντσες στήλης υδραργύρου"}\r
@@ -694,7 +694,7 @@ el{
                 one{"{0} μιλιμπάρ"}\r
                 other{"{0} μιλιμπάρ"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"χιλιοστόμετρα στήλης υδραργύρου"}\r
                 one{"{0} χιλιοστόμετρο στήλης υδραργύρου"}\r
                 other{"{0} χιλιοστόμετρα στήλης υδραργύρου"}\r
@@ -704,7 +704,7 @@ el{
                 one{"{0} πασκάλ"}\r
                 other{"{0} πασκάλ"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"λίβρες ανά τετραγωνική ίντσα"}\r
                 one{"{0} λίβρα ανά τετραγωνική ίντσα"}\r
                 other{"{0} λίβρες ανά τετραγωνική ίντσα"}\r
@@ -760,7 +760,7 @@ el{
                 one{"{0} νιουτόμετρο"}\r
                 other{"{0} νιουτόμετρα"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"λίβρες-πόδια"}\r
                 one{"{0} λίβρα-πόδι"}\r
                 other{"{0} λίβρες-πόδια"}\r
@@ -962,7 +962,7 @@ el{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"λ/100 χλμ"}\r
                 one{"{0} λ/100 χλμ"}\r
                 other{"{0} λ/100 χλμ"}\r
@@ -1102,7 +1102,7 @@ el{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
             }\r
@@ -1162,7 +1162,7 @@ el{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"μέτρα/τετρ. δευτ."}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1276,11 +1276,6 @@ el{
                 one{"{0} μολ"}\r
                 other{"{0} μολ"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"τοις εκατό"}\r
                 one{"{0}%"}\r
@@ -1291,6 +1286,11 @@ el{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"ποσοστόσημο τοις δεκάκις χιλίοις"}\r
                 one{"{0}‱"}\r
@@ -1298,7 +1298,7 @@ el{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"λ./100 χλμ."}\r
                 one{"{0} λ./100 χλμ."}\r
                 other{"{0} λ./100 χλμ."}\r
@@ -1786,7 +1786,7 @@ el{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1806,7 +1806,7 @@ el{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 one{"{0} mmHg"}\r
                 other{"{0} mmHg"}\r
@@ -1815,7 +1815,7 @@ el{
                 one{"{0} Pa"}\r
                 other{"{0} Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -1871,7 +1871,7 @@ el{
                 one{"{0} N⋅m"}\r
                 other{"{0} N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"λβρ⋅πδ"}\r
                 one{"{0} λβρ⋅πδ"}\r
                 other{"{0} λβρ⋅πδ"}\r
index fd8b11f..a33b9fb 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         acceleration{\r
             g-force{\r
@@ -9,7 +9,7 @@ en{
                 one{"{0} g-force"}\r
                 other{"{0} g-force"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"meters per second squared"}\r
                 one{"{0} meter per second squared"}\r
                 other{"{0} meters per second squared"}\r
@@ -123,11 +123,6 @@ en{
                 one{"{0} mole"}\r
                 other{"{0} moles"}\r
             }\r
-            part-per-million{\r
-                dnam{"parts per million"}\r
-                one{"{0} part per million"}\r
-                other{"{0} parts per million"}\r
-            }\r
             percent{\r
                 dnam{"percent"}\r
                 one{"{0} percent"}\r
@@ -138,6 +133,11 @@ en{
                 one{"{0} permille"}\r
                 other{"{0} permille"}\r
             }\r
+            permillion{\r
+                dnam{"parts per million"}\r
+                one{"{0} part per million"}\r
+                other{"{0} parts per million"}\r
+            }\r
             permyriad{\r
                 dnam{"permyriad"}\r
                 one{"{0} permyriad"}\r
@@ -145,7 +145,7 @@ en{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"liters per 100 kilometers"}\r
                 one{"{0} liter per 100 kilometers"}\r
                 other{"{0} liters per 100 kilometers"}\r
@@ -687,7 +687,7 @@ en{
                 one{"{0} hectopascal"}\r
                 other{"{0} hectopascals"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inches of mercury"}\r
                 one{"{0} inch of mercury"}\r
                 other{"{0} inches of mercury"}\r
@@ -707,7 +707,7 @@ en{
                 one{"{0} millibar"}\r
                 other{"{0} millibars"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"millimeters of mercury"}\r
                 one{"{0} millimeter of mercury"}\r
                 other{"{0} millimeters of mercury"}\r
@@ -717,7 +717,7 @@ en{
                 one{"{0} pascal"}\r
                 other{"{0} pascals"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"pounds per square inch"}\r
                 one{"{0} pound per square inch"}\r
                 other{"{0} pounds per square inch"}\r
@@ -768,9 +768,9 @@ en{
                 one{"{0} newton-meter"}\r
                 other{"{0} newton-meters"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"pound-feet"}\r
-                one{"{0} pound-foot"}\r
+                one{"{0} pound-force-foot"}\r
                 other{"{0} pound-feet"}\r
             }\r
         }\r
@@ -924,7 +924,7 @@ en{
                 one{"{0}G"}\r
                 other{"{0}Gs"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0}m/s²"}\r
                 other{"{0}m/s²"}\r
@@ -988,6 +988,18 @@ en{
                 one{"{0}in²"}\r
                 other{"{0}in²"}\r
             }\r
+            square-kilometer{\r
+                dnam{"km²"}\r
+                one{"{0}km²"}\r
+                other{"{0}km²"}\r
+                per{"{0}/km²"}\r
+            }\r
+            square-meter{\r
+                dnam{"meters²"}\r
+                one{"{0}m²"}\r
+                other{"{0}m²"}\r
+                per{"{0}/m²"}\r
+            }\r
             square-mile{\r
                 dnam{"mi²"}\r
                 one{"{0}mi²"}\r
@@ -1021,11 +1033,6 @@ en{
                 one{"{0}mol"}\r
                 other{"{0}mol"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0}ppm"}\r
-                other{"{0}ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 one{"{0}%"}\r
@@ -1036,6 +1043,11 @@ en{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0}ppm"}\r
+                other{"{0}ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"‱"}\r
                 one{"{0}‱"}\r
@@ -1043,7 +1055,7 @@ en{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 one{"{0}L/100km"}\r
                 other{"{0}L/100km"}\r
@@ -1128,6 +1140,11 @@ en{
             }\r
         }\r
         duration{\r
+            century{\r
+                dnam{"c"}\r
+                one{"{0}c"}\r
+                other{"{0}c"}\r
+            }\r
             day{\r
                 dnam{"day"}\r
                 one{"{0}d"}\r
@@ -1145,8 +1162,8 @@ en{
             }\r
             microsecond{\r
                 dnam{"μsec"}\r
-                one{"{0}μs"}\r
-                other{"{0}μs"}\r
+                one{"{0}µs"}\r
+                other{"{0}µs"}\r
             }\r
             millisecond{\r
                 dnam{"msec"}\r
@@ -1556,14 +1573,14 @@ en{
             bar{\r
                 dnam{"bar"}\r
                 one{"{0}bar"}\r
-                other{"{0}bars"}\r
+                other{"{0}bar"}\r
             }\r
             hectopascal{\r
                 dnam{"hPa"}\r
                 one{"{0}hPa"}\r
                 other{"{0}hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"″ Hg"}\r
                 one{"{0}″ Hg"}\r
                 other{"{0}″ Hg"}\r
@@ -1583,7 +1600,7 @@ en{
                 one{"{0}mb"}\r
                 other{"{0}mb"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 one{"{0}mmHg"}\r
                 other{"{0}mmHg"}\r
@@ -1593,7 +1610,7 @@ en{
                 one{"{0}Pa"}\r
                 other{"{0}Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0}psi"}\r
                 other{"{0}psi"}\r
@@ -1644,7 +1661,7 @@ en{
                 one{"{0}N⋅m"}\r
                 other{"{0}N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
                 one{"{0}lbf⋅ft"}\r
                 other{"{0}lbf⋅ft"}\r
@@ -1800,7 +1817,7 @@ en{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"meters/sec²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1914,11 +1931,6 @@ en{
                 one{"{0} mol"}\r
                 other{"{0} mol"}\r
             }\r
-            part-per-million{\r
-                dnam{"parts/million"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"percent"}\r
                 one{"{0}%"}\r
@@ -1929,6 +1941,11 @@ en{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"parts/million"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"permyriad"}\r
                 one{"{0}‱"}\r
@@ -1936,7 +1953,7 @@ en{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100 km"}\r
                 one{"{0} L/100 km"}\r
                 other{"{0} L/100 km"}\r
@@ -2045,9 +2062,9 @@ en{
                 per{"{0}/h"}\r
             }\r
             microsecond{\r
-                dnam{"μsecs"}\r
-                one{"{0} μs"}\r
-                other{"{0} μs"}\r
+                dnam{"µsecs"}\r
+                one{"{0} µs"}\r
+                other{"{0} µs"}\r
             }\r
             millisecond{\r
                 dnam{"millisecs"}\r
@@ -2471,14 +2488,14 @@ en{
             bar{\r
                 dnam{"bar"}\r
                 one{"{0} bar"}\r
-                other{"{0} bars"}\r
+                other{"{0} bar"}\r
             }\r
             hectopascal{\r
                 dnam{"hPa"}\r
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -2498,7 +2515,7 @@ en{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 one{"{0} mmHg"}\r
                 other{"{0} mmHg"}\r
@@ -2508,7 +2525,7 @@ en{
                 one{"{0} Pa"}\r
                 other{"{0} Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -2559,7 +2576,7 @@ en{
                 one{"{0} N⋅m"}\r
                 other{"{0} N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
                 one{"{0} lbf⋅ft"}\r
                 other{"{0} lbf⋅ft"}\r
index 4756924..66242ce 100644 (file)
@@ -1,10 +1,10 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_001{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         acceleration{\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metres per second squared"}\r
                 one{"{0} metre per second squared"}\r
                 other{"{0} metres per second squared"}\r
@@ -58,7 +58,7 @@ en_001{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litres per 100 kilometres"}\r
                 one{"{0} litre per 100 kilometres"}\r
                 other{"{0} litres per 100 kilometres"}\r
@@ -149,7 +149,7 @@ en_001{
             }\r
         }\r
         pressure{\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"millimetres of mercury"}\r
                 one{"{0} millimetre of mercury"}\r
                 other{"{0} millimetres of mercury"}\r
@@ -268,7 +268,7 @@ en_001{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100km"}\r
                 one{"{0}l/100km"}\r
                 other{"{0}l/100km"}\r
@@ -363,7 +363,7 @@ en_001{
     }\r
     unitsShort{\r
         acceleration{\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metres/sec²"}\r
             }\r
         }\r
@@ -396,7 +396,7 @@ en_001{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100 km"}\r
@@ -445,7 +445,7 @@ en_001{
             }\r
         }\r
         pressure{\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHG"}\r
             }\r
         }\r
index 48f274d..b438e89 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_150{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9c32af7..a748276 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_AG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index dc0a00f..d3a2f9b 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_AI{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2ef756e..ec475e0 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_AT{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 52d9ddd..96f5743 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_AU{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -69,7 +69,7 @@ en_AU{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 one{"{0}L/100km"}\r
                 other{"{0}L/100km"}\r
@@ -181,7 +181,7 @@ en_AU{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100 km"}\r
                 one{"{0} L/100 km"}\r
                 other{"{0} L/100 km"}\r
@@ -264,7 +264,7 @@ en_AU{
             }\r
         }\r
         pressure{\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"in Hg"}\r
             }\r
             millibar{\r
@@ -272,7 +272,7 @@ en_AU{
                 one{"{0} mb"}\r
                 other{"{0} mb"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
index 4526faa..6bac355 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BB{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a0482c2..46d6b7d 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BE{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1b0a5b1..1735b51 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3bf5857..f4d8308 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BS{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     unitsNarrow{\r
         temperature{\r
             celsius{\r
index 5335070..1988772 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BW{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 22a30b0..1c72447 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BZ{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     unitsNarrow{\r
         temperature{\r
             celsius{\r
index c4ae461..e538c24 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CA{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         concentr{\r
             karat{\r
@@ -46,7 +46,7 @@ en_CA{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 one{"{0}L/100km"}\r
                 other{"{0}L/100km"}\r
@@ -158,7 +158,7 @@ en_CA{
     }\r
     unitsShort{\r
         acceleration{\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metres/sec.²"}\r
             }\r
         }\r
@@ -227,7 +227,7 @@ en_CA{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100 km"}\r
                 one{"{0} L/100 km"}\r
                 other{"{0} L/100 km"}\r
@@ -406,7 +406,7 @@ en_CA{
             }\r
         }\r
         pressure{\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
             }\r
         }\r
index dcbc71c..332a810 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CC{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b0ca8ab..e443b47 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CH{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d670907..9e1d5c1 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CK{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 37cb57c..5d5dfe1 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4b709fb..c8f649b 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CX{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7c8d2e5..c852bbe 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CY{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8e56c9b..7fafabe 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_DE{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c5bebd8..332c554 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_DG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6bfddb4..9da0b9c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_DK{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c2b7c48..69c9cad 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_DM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 645f031..b87712d 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_ER{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 95f4bc7..b3758a5 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_FI{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3769889..62582de 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_FJ{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 187ca4b..c14ae42 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_FK{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f8ce885..32598fc 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_FM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ff8ea31..81a38ee 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GB{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -18,6 +18,13 @@ en_GB{
         }\r
     }\r
     unitsShort{\r
+        duration{\r
+            microsecond{\r
+                dnam{"μsecs"}\r
+                one{"{0} μs"}\r
+                other{"{0} μs"}\r
+            }\r
+        }\r
         volume{\r
             fluid-ounce-imperial{\r
                 dnam{"fl oz"}\r
index 5d7fb98..513ab4e 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GD{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 67aca40..70ff464 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fcbf17f..d57f0a1 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GH{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8339d5d..a5e72c1 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GI{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9b6a911..b3195d5 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2dad328..90774d2 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GY{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ecc8376..6088a7f 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_HK{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e5ef11b..e0309d1 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_IE{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 700e18f..9fd8b65 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_IL{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 67029d6..db7ea0b 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_IM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bb1f1e0..0248441 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_IN{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         temperature{\r
             generic{\r
index 3febdeb..bf9042e 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_IO{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5dc72a2..cb85a86 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_JE{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c652c9e..7088750 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_JM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 49b1938..234d24c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_KE{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6d62e0e..59881cc 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_KI{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 45e54a1..4afc89a 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_KN{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7ede4af..5adf2b5 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_KY{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     unitsNarrow{\r
         temperature{\r
             celsius{\r
index 13a5553..69a481e 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_LC{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0f3f774..8384413 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_LR{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4926e99..3fd54d5 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_LS{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 19c7612..058e711 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d34f753..fd3fefa 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MO{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3339fb3..2a2c3fc 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MS{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e19256d..bee60ae 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MT{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7e99578..abf5a6a 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MU{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 53eaa1d..041eb0c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MW{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 05273de..2fb266c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MY{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4c7aad0..cf4bdd3 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NA{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3e6f026..4a77de6 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NF{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3c4b13a..8d3823e 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 03f3145..577e05b 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NL{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4b957cd..d51a078 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NR{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c5b2e0c..5356f56 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NU{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2017ed9..c8ae6a7 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NZ{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c5c15ca..b88a3d7 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_PG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4178526..136dd36 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_PH{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9b0f0fe..a001c81 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_PK{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 01559d3..e125533 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_PN{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6656541..b48d0ee 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_PW{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     unitsNarrow{\r
         temperature{\r
             celsius{\r
index d1e3ec2..44f6b05 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_RW{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 43ac27d..890787c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SB{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e433337..a051841 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SC{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4b1c909..3facf27 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SD{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e939ca2..40ea5dd 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SE{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f4acd6e..9772a76 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5cbcaae..c3c0dab 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SH{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1e2b996..15ccec4 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SI{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6607917..12c2893 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SL{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 02fc895..a4e3d7a 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SS{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index aa72091..1a736f6 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SX{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5185e38..ff893da 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SZ{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 604cc12..49a3483 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TC{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 52631be..5d06d6c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TK{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bdb0299..74f67ee 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TO{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4724625..e333e38 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TT{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5cb9166..8826578 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TV{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 88077ef..7ed9df8 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TZ{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c64f20a..4dd8946 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_UG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1c16a47..86b9c26 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_VC{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bc9f3a2..c37b20a 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_VG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f8cae92..a481242 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_VU{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2a1b9bf..df4d89c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_WS{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9da4701..4a5f9ad 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_ZA{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5c7e59b..15095b4 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_ZM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fdb8ead..ceeb93f 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_ZW{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e67a8c4..c45e48b 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 eo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     unitsShort{\r
         duration{\r
             month{\r
index 3201fb4..0a21fed 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ es{
                 one{"{0} unidad de fuerza gravitacional"}\r
                 other{"{0} unidades de fuerza gravitacional"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metros por segundo al cuadrado"}\r
                 one{"{0} metro por segundo al cuadrado"}\r
                 other{"{0} metros por segundo al cuadrado"}\r
@@ -129,11 +129,6 @@ es{
                 one{"{0} moles"}\r
                 other{"{0} moles"}\r
             }\r
-            part-per-million{\r
-                dnam{"partes por millón"}\r
-                one{"{0} parte por millón"}\r
-                other{"{0} partes por millón"}\r
-            }\r
             percent{\r
                 dnam{"por ciento"}\r
                 one{"{0} por ciento"}\r
@@ -144,6 +139,11 @@ es{
                 one{"{0} por mil"}\r
                 other{"{0} por mil"}\r
             }\r
+            permillion{\r
+                dnam{"partes por millón"}\r
+                one{"{0} parte por millón"}\r
+                other{"{0} partes por millón"}\r
+            }\r
             permyriad{\r
                 dnam{"por diez mil"}\r
                 one{"{0} por diez mil"}\r
@@ -151,7 +151,7 @@ es{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litros por 100 kilómetros"}\r
                 one{"{0} litro por 100 kilómetros"}\r
                 other{"{0} litros por 100 kilómetros"}\r
@@ -678,7 +678,7 @@ es{
                 one{"{0} hectopascal"}\r
                 other{"{0} hectopascales"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"pulgadas de mercurio"}\r
                 one{"{0} pulgada de mercurio"}\r
                 other{"{0} pulgadas de mercurio"}\r
@@ -698,7 +698,7 @@ es{
                 one{"{0} milibar"}\r
                 other{"{0} milibares"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milímetros de mercurio"}\r
                 one{"{0} milímetro de mercurio"}\r
                 other{"{0} milímetros de mercurio"}\r
@@ -708,7 +708,7 @@ es{
                 one{"{0} pascal"}\r
                 other{"{0} pascales"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"libras por pulgada cuadrada"}\r
                 one{"{0} libra por pulgada cuadrada"}\r
                 other{"{0} libras por pulgada cuadrada"}\r
@@ -764,7 +764,7 @@ es{
                 one{"{0} newton metro"}\r
                 other{"{0} newton metros"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"libra pies"}\r
                 one{"{0} libra pie"}\r
                 other{"{0} libras pies"}\r
@@ -967,7 +967,7 @@ es{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100km"}\r
                 one{"{0}l/100km"}\r
                 other{"{0}l/100km"}\r
@@ -1168,7 +1168,7 @@ es{
                 one{"{0}hPa"}\r
                 other{"{0}hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0}inHg"}\r
                 other{"{0}inHg"}\r
@@ -1178,12 +1178,12 @@ es{
                 one{"{0}mbar"}\r
                 other{"{0}mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 one{"{0}mmHg"}\r
                 other{"{0}mmHg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0}psi"}\r
                 other{"{0}psi"}\r
@@ -1251,7 +1251,7 @@ es{
                 one{"{0} Fg"}\r
                 other{"{0} Fg"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1365,11 +1365,6 @@ es{
                 one{"{0} moles"}\r
                 other{"{0} moles"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"por ciento"}\r
                 one{"{0} %"}\r
@@ -1380,6 +1375,11 @@ es{
                 one{"{0} ‰"}\r
                 other{"{0} ‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"por diez mil"}\r
                 one{"{0} ‱"}\r
@@ -1387,7 +1387,7 @@ es{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100 km"}\r
@@ -1898,7 +1898,7 @@ es{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1908,7 +1908,7 @@ es{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 one{"{0} mmHg"}\r
                 other{"{0} mmHg"}\r
@@ -1918,7 +1918,7 @@ es{
                 one{"{0} Pa"}\r
                 other{"{0} Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -1974,7 +1974,7 @@ es{
                 one{"{0} Nm"}\r
                 other{"{0} Nm"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf ft"}\r
                 one{"{0} lbf ft"}\r
                 other{"{0} lbf ft"}\r
index e7f7f4a..117d354 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_419{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         concentr{\r
             milligram-per-deciliter{\r
@@ -86,7 +86,7 @@ es_419{
             g-force{\r
                 dnam{"G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0}m/s²"}\r
                 other{"{0}m/s²"}\r
index 6adb1b2..8ffc0d2 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_AR{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         duration{\r
             year{\r
index c7e6612..ea7e201 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_BO{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e765032..e988982 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_BR{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1e91d76..a81a6e0 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_BZ{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2873a2d..8e3f158 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_CL{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hms{"hh:mm:ss"}\r
         ms{"mm:ss"}\r
index 9db0a43..c7f80e3 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_CO{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         duration{\r
             month{\r
index b053b5d..53a9b2b 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_CR{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3d56222..8bc85d4 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_CU{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0fb41e7..20205fb 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_DO{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         electric{\r
             ampere{\r
index 7bc3940..07e14b3 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_EC{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a369c86..62b948d 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_GT{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         duration{\r
             day{\r
index 5f71431..eb9f0e6 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_HN{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5ca67b4..c2e49be 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_MX{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         concentr{\r
             milligram-per-deciliter{\r
@@ -12,7 +12,7 @@ es_MX{
             millimole-per-liter{\r
                 dnam{"mmol/L"}\r
             }\r
-            part-per-million{\r
+            permillion{\r
                 dnam{"ppm"}\r
             }\r
         }\r
index caa3931..dc76b15 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_NI{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2e67736..080aa6b 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_PA{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c86ba8f..5d6af23 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_PE{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 685c43c..86a7ff4 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_PR{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     unitsNarrow{\r
         temperature{\r
             fahrenheit{\r
index 6b3943c..a953fa5 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_PY{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         duration{\r
             year{\r
index d980799..fedd77e 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_SV{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3cffdc1..616178f 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_US{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         angle{\r
             arc-minute{\r
@@ -24,7 +24,7 @@ es_US{
             millimole-per-liter{\r
                 dnam{"mmol/L"}\r
             }\r
-            part-per-million{\r
+            permillion{\r
                 dnam{"ppm"}\r
             }\r
         }\r
index 741c451..9517a0e 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_UY{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f93ac94..bbdc76e 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_VE{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fca1d36..eee9c7d 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 et{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ et{
                 one{"{0} Maa raskuskiirendus"}\r
                 other{"{0} Maa raskuskiirendust"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"meetrid sekundi ruudu kohta"}\r
                 one{"{0} meeter sekundi ruudu kohta"}\r
                 other{"{0} meetrit sekundi ruudu kohta"}\r
@@ -129,11 +129,6 @@ et{
                 one{"{0} mool"}\r
                 other{"{0} mooli"}\r
             }\r
-            part-per-million{\r
-                dnam{"osa miljoni kohta"}\r
-                one{"{0} osa miljoni kohta"}\r
-                other{"{0} osa miljoni kohta"}\r
-            }\r
             percent{\r
                 dnam{"protsent"}\r
                 one{"{0} protsent"}\r
@@ -144,6 +139,11 @@ et{
                 one{"{0} promill"}\r
                 other{"{0} promilli"}\r
             }\r
+            permillion{\r
+                dnam{"osa miljoni kohta"}\r
+                one{"{0} osa miljoni kohta"}\r
+                other{"{0} osa miljoni kohta"}\r
+            }\r
             permyriad{\r
                 dnam{"promüriaad"}\r
                 one{"{0} promüriaad"}\r
@@ -151,7 +151,7 @@ et{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"liitrid 100 kilomeetri kohta"}\r
                 one{"liiter 100 kilomeetri kohta"}\r
                 other{"{0} liitrit 100 kilomeetri kohta"}\r
@@ -691,7 +691,7 @@ et{
                 one{"{0} hektopaskal"}\r
                 other{"{0} hektopaskalit"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"tollid elavhõbedasammast"}\r
                 one{"{0} toll elavhõbedasammast"}\r
                 other{"{0} tolli elavhõbedasammast"}\r
@@ -711,7 +711,7 @@ et{
                 one{"{0} millibaar"}\r
                 other{"{0} millibaari"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"millimeetrid elavhõbedasammast"}\r
                 one{"{0} millimeeter elavhõbedasammast"}\r
                 other{"{0} millimeetrit elavhõbedasammast"}\r
@@ -721,7 +721,7 @@ et{
                 one{"{0} paskal"}\r
                 other{"{0} paskalit"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"naelad ruuttolli kohta"}\r
                 one{"{0} nael ruuttolli kohta"}\r
                 other{"{0} naela ruuttolli kohta"}\r
@@ -777,7 +777,7 @@ et{
                 one{"{0} njuutonmeeter"}\r
                 other{"{0} njuutonmeetrit"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"naeljalad"}\r
                 one{"{0} naeljalg"}\r
                 other{"{0} naeljalga"}\r
@@ -978,7 +978,7 @@ et{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100km"}\r
                 other{"{0} l/100km"}\r
@@ -1157,7 +1157,7 @@ et{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"″ Hg"}\r
                 one{"{0} toll Hg"}\r
                 other{"{0} tolli Hg"}\r
@@ -1167,7 +1167,7 @@ et{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
@@ -1219,7 +1219,7 @@ et{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1334,11 +1334,6 @@ et{
                 one{"{0} mol"}\r
                 other{"{0} mol"}\r
             }\r
-            part-per-million{\r
-                dnam{"osa/miljon"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 one{"{0}%"}\r
@@ -1349,6 +1344,11 @@ et{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"osa/miljon"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"promüriaad"}\r
                 one{"{0}‱"}\r
@@ -1356,7 +1356,7 @@ et{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100 km"}\r
@@ -1891,7 +1891,7 @@ et{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"in Hg"}\r
                 one{"{0} in Hg"}\r
                 other{"{0} in Hg"}\r
@@ -1911,12 +1911,12 @@ et{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -1972,7 +1972,7 @@ et{
                 one{"{0} Nm"}\r
                 other{"{0} Nm"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
                 one{"{0} lbf⋅ft"}\r
                 other{"{0} lbf⋅ft"}\r
index 55e0049..75c6c26 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 eu{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ eu{
                 one{"{0} grabitate-indar"}\r
                 other{"{0} grabitate-indar"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metroak segundo karratu bakoitzeko"}\r
                 one{"{0} metro segundo karratu bakoitzeko"}\r
                 other{"{0} metro segundo karratu bakoitzeko"}\r
@@ -101,6 +101,7 @@ eu{
         }\r
         compound{\r
             per{"{0}/{1}"}\r
+            times{"{0}-{1}"}\r
         }\r
         concentr{\r
             karat{\r
@@ -118,11 +119,6 @@ eu{
                 one{"{0} milimole litro bakoitzeko"}\r
                 other{"{0} milimole litro bakoitzeko"}\r
             }\r
-            part-per-million{\r
-                dnam{"zati milioi bakoitzeko"}\r
-                one{"{0} zati milioi bakoitzeko"}\r
-                other{"{0} zati milioi bakoitzeko"}\r
-            }\r
             percent{\r
                 dnam{"ehuneko"}\r
                 one{"ehuneko {0}"}\r
@@ -133,13 +129,18 @@ eu{
                 one{"milako {0}"}\r
                 other{"milako {0}"}\r
             }\r
+            permillion{\r
+                dnam{"zati milioi bakoitzeko"}\r
+                one{"{0} zati milioi bakoitzeko"}\r
+                other{"{0} zati milioi bakoitzeko"}\r
+            }\r
             permyriad{\r
                 one{"‱ {0}"}\r
                 other{"‱ {0}"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litro 100 kilometro bakoitzeko"}\r
                 one{"{0} litro 100 kilometro bakoitzeko"}\r
                 other{"{0} litro 100 kilometro bakoitzeko"}\r
@@ -346,6 +347,11 @@ eu{
                 one{"{0} kilowatt-ordu"}\r
                 other{"{0} kilowatt-ordu"}\r
             }\r
+            therm-us{\r
+                dnam{"AEBko termiak"}\r
+                one{"{0} AEBko termia"}\r
+                other{"{0} AEBko termia"}\r
+            }\r
         }\r
         force{\r
             newton{\r
@@ -646,7 +652,7 @@ eu{
                 one{"{0} hektopascal"}\r
                 other{"{0} hektopascal"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"merkurio-hazbeteak"}\r
                 one{"{0} merkurio-hazbete"}\r
                 other{"{0} merkurio-hazbete"}\r
@@ -666,16 +672,17 @@ eu{
                 one{"{0} milibar"}\r
                 other{"{0} milibar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"merkurio-milimetroak"}\r
                 one{"{0} merkurio-milimetro"}\r
                 other{"{0} merkurio-milimetro"}\r
             }\r
             pascal{\r
+                dnam{"pascal"}\r
                 one{"{0} pascal"}\r
                 other{"{0} pascal"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"libra hazbete karratuko"}\r
                 one{"{0} libra hazbete karratuko"}\r
                 other{"{0} libra hazbete karratuko"}\r
@@ -731,7 +738,7 @@ eu{
                 one{"{0} newton-metro"}\r
                 other{"{0} newton-metro"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"oin-libra"}\r
                 one{"{0} oin-libra"}\r
                 other{"{0} oin-libra"}\r
@@ -922,6 +929,7 @@ eu{
         }\r
         compound{\r
             per{"{0}/{1}"}\r
+            times{"{0}{1}"}\r
         }\r
         concentr{\r
             percent{\r
@@ -931,7 +939,7 @@ eu{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100 km"}\r
@@ -1071,7 +1079,7 @@ eu{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
             }\r
@@ -1129,7 +1137,7 @@ eu{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1216,6 +1224,7 @@ eu{
         }\r
         compound{\r
             per{"{0}/{1}"}\r
+            times{"{0}{1}"}\r
         }\r
         concentr{\r
             karat{\r
@@ -1233,11 +1242,6 @@ eu{
                 one{"{0} mmol/l"}\r
                 other{"{0} mmol/l"}\r
             }\r
-            part-per-million{\r
-                dnam{"zati/milioi"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 one{"% {0}"}\r
@@ -1248,13 +1252,18 @@ eu{
                 one{"‰ {0}"}\r
                 other{"‰ {0}"}\r
             }\r
+            permillion{\r
+                dnam{"zati/milioi"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 one{"‱ {0}"}\r
                 other{"‱ {0}"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100 km"}\r
@@ -1461,6 +1470,11 @@ eu{
                 one{"{0} kWh"}\r
                 other{"{0} kWh"}\r
             }\r
+            therm-us{\r
+                dnam{"AEBko termia"}\r
+                one{"{0} AEBko termia"}\r
+                other{"{0} AEBko termia"}\r
+            }\r
         }\r
         force{\r
             newton{\r
@@ -1510,9 +1524,13 @@ eu{
             }\r
             megapixel{\r
                 dnam{"megapixel"}\r
+                one{"{0} Mp"}\r
+                other{"{0} Mp"}\r
             }\r
             pixel{\r
                 dnam{"pixel"}\r
+                one{"{0} p"}\r
+                other{"{0} p"}\r
             }\r
             pixel-per-centimeter{\r
                 dnam{"ppcm"}\r
@@ -1752,7 +1770,7 @@ eu{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1772,7 +1790,7 @@ eu{
                 one{"{0} mb"}\r
                 other{"{0} mb"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
@@ -1782,7 +1800,7 @@ eu{
                 one{"{0} Pa"}\r
                 other{"{0} Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -1838,7 +1856,7 @@ eu{
                 one{"{0} Nm"}\r
                 other{"{0} Nm"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"oin-libra"}\r
                 one{"{0} oin-libra"}\r
                 other{"{0} oin-libra"}\r
index 0e65344..d218321 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ewo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b58b1d0..eb1f9bc 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fa{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ fa{
                 one{"{0} نیروی جاذبه"}\r
                 other{"{0} جاذبه"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"متر بر مجذور ثانیه"}\r
                 one{"{0} متر بر مجذور ثانیه"}\r
                 other{"{0} متر بر مجذور ثانیه"}\r
@@ -126,11 +126,6 @@ fa{
                 one{"{0} مول"}\r
                 other{"{0} مول"}\r
             }\r
-            part-per-million{\r
-                dnam{"بخش در میلیون"}\r
-                one{"{0} بخش در میلیون"}\r
-                other{"{0} بخش در میلیون"}\r
-            }\r
             percent{\r
                 dnam{"درصد"}\r
                 one{"{0} درصد"}\r
@@ -141,6 +136,11 @@ fa{
                 one{"{0} هزارم"}\r
                 other{"{0} هزارم"}\r
             }\r
+            permillion{\r
+                dnam{"بخش در میلیون"}\r
+                one{"{0} بخش در میلیون"}\r
+                other{"{0} بخش در میلیون"}\r
+            }\r
             permyriad{\r
                 dnam{"ده‌هزارم"}\r
                 one{"{0} ده‌هزارم"}\r
@@ -148,7 +148,7 @@ fa{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"لیتر در ۱۰۰ کیلومتر"}\r
                 one{"{0} لیتر در ۱۰۰ کیلومتر"}\r
                 other{"{0} لیتر در ۱۰۰ کیلومتر"}\r
@@ -670,7 +670,7 @@ fa{
                 one{"{0} هکتوپاسکال"}\r
                 other{"{0} هکتوپاسکال"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"اینچ جیوه"}\r
                 one{"{0} اینچ جیوه"}\r
                 other{"{0} اینچ جیوه"}\r
@@ -690,7 +690,7 @@ fa{
                 one{"{0} میلی‌بار"}\r
                 other{"{0} میلی‌بار"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"میلی‌متر جیوه"}\r
                 one{"{0} میلی‌متر جیوه"}\r
                 other{"{0} میلی‌متر جیوه"}\r
@@ -700,7 +700,7 @@ fa{
                 one{"{0} پاسکال"}\r
                 other{"{0} پاسکال"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"پوند در اینچ مربع"}\r
                 one{"{0} پوند در اینچ مربع"}\r
                 other{"{0} پوند در اینچ مربع"}\r
@@ -755,7 +755,7 @@ fa{
                 one{"{0} نیوتن‌متر"}\r
                 other{"{0} نیوتن‌متر"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"پوند-فوت"}\r
                 one{"{0} پوند-فوت"}\r
                 other{"{0} پوند-فوت"}\r
@@ -906,7 +906,7 @@ fa{
                 one{"{0}G"}\r
                 other{"{0}G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"متر/مجذور ثانیه"}\r
             }\r
         }\r
@@ -970,7 +970,7 @@ fa{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"لیتر/۱۰۰ کیلومتر"}\r
                 one{"{0} ل./۱۰۰ ک.م."}\r
                 other{"{0} ل./۱۰۰ ک.م."}\r
@@ -1213,7 +1213,7 @@ fa{
                 one{"{0}hPa"}\r
                 other{"{0}hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"اینچ جیوه"}\r
                 one{"{0}inHg"}\r
                 other{"{0}inHg"}\r
@@ -1223,12 +1223,12 @@ fa{
                 one{"{0}mbar"}\r
                 other{"{0}mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"میلی‌متر جیوه"}\r
                 one{"{0} م‌م جیوه"}\r
                 other{"{0} م‌م جیوه"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"پوند در اینچ مربع"}\r
                 one{"{0}‎ psi"}\r
                 other{"{0}‎ psi"}\r
@@ -1300,7 +1300,7 @@ fa{
                 one{"{0} جاذبه"}\r
                 other{"{0} جاذبه"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"متر/مجذور ثانیه"}\r
                 one{"{0}<LRM> m/s²"}\r
                 other{"{0}<LRM> m/s²"}\r
@@ -1415,11 +1415,6 @@ fa{
                 one{"{0} مول"}\r
                 other{"{0} مول"}\r
             }\r
-            part-per-million{\r
-                dnam{"بخش/میلیون"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"درصد"}\r
                 one{"{0}٪"}\r
@@ -1430,6 +1425,11 @@ fa{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"بخش/میلیون"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"ده‌هزارم"}\r
                 one{"{0}‱"}\r
@@ -1437,7 +1437,7 @@ fa{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"لیتر/۱۰۰ کیلومتر"}\r
                 one{"{0} ل./۱۰۰ ک.م."}\r
                 other{"{0} ل./۱۰۰ ک.م."}\r
@@ -1932,7 +1932,7 @@ fa{
                 one{"{0}‎ hPa"}\r
                 other{"{0}‎ hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"اینچ جیوه"}\r
                 one{"{0} اینچ جیوه"}\r
                 other{"{0} اینچ جیوه"}\r
@@ -1952,12 +1952,12 @@ fa{
                 one{"{0} میلی‌بار"}\r
                 other{"{0} میلی‌بار"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"میلی‌متر جیوه"}\r
                 one{"{0} م‌م جیوه"}\r
                 other{"{0} م‌م جیوه"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"پوند در اینچ مربع"}\r
                 one{"{0}‎ psi"}\r
                 other{"{0}‎ psi"}\r
@@ -2012,7 +2012,7 @@ fa{
                 one{"{0} نیوتن‌متر"}\r
                 other{"{0} نیوتن‌متر"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"پوند-فوت"}\r
                 one{"{0} پوند-فوت"}\r
                 other{"{0} پوند-فوت"}\r
index a7ca5b0..7cc0ea1 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ff{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/unit/ff_Adlm.txt b/source/data/unit/ff_Adlm.txt
new file mode 100644 (file)
index 0000000..a770dbc
--- /dev/null
@@ -0,0 +1,429 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff_Adlm{\r
+    %%Parent{"root"}\r
+    Version{"37"}\r
+    units{\r
+        area{\r
+            hectare{\r
+                dnam{"𞤸𞤫𞤳𞤼𞤢𞥄𞤪𞤭"}\r
+                one{"{0} 𞤸𞤫𞤳𞤼𞤢𞥄𞤪𞤵"}\r
+                other{"{0} 𞤸𞤫𞤳𞤼𞤢𞥄𞤪𞤵𞥅𞤶𞤭"}\r
+            }\r
+            square-kilometer{\r
+                dnam{"𞤳𞤭𞤤𞤮𞤥𞤫𞥅𞤼𞤭 𞤶𞤢𞥄𞤣𞤭𞤲𞤳𞤮𞥅𞤶𞤭"}\r
+                one{"{0} 𞤳𞤭𞤤𞤮𞤥𞤫𞥅𞤼𞤮𞤤 𞤶𞤢𞥄𞤣𞤭𞤲𞤳𞤮𞤱𞤮𞤤"}\r
+                other{"{0} 𞤳𞤭𞤤𞤮𞤥𞤫𞥅𞤼𞤭 𞤶𞤢𞥄𞤣𞤭𞤲𞤳𞤮𞥅𞤶𞤭"}\r
+                per{"{0}/𞤫 𞤳𞤭𞤤𞤮𞤥𞤫𞥅𞤼𞤮𞤤 𞤶𞤢𞥄𞤣𞤭𞤲𞤳𞤮𞤱𞤮𞤤"}\r
+            }\r
+        }\r
+        duration{\r
+            century{\r
+                dnam{"𞤼𞤫𞥅𞤥𞤭𞤲𞤢𞤲𞤯𞤫"}\r
+                one{"{0} 𞤼𞤫𞥅𞤥𞤭𞤲𞤢𞤲𞤣𞤫"}\r
+                other{"{0} 𞤼𞤫𞥅𞤥𞤭𞤲𞤢𞤲𞤯𞤫"}\r
+            }\r
+            day{\r
+                dnam{"𞤻𞤢𞤤𞥆𞤢𞤤"}\r
+                one{"{0} 𞤻𞤢𞤤𞥆𞤢𞤤"}\r
+                other{"{0} 𞤻𞤢𞤤𞥆𞤫"}\r
+                per{"{0} 𞤲𞥋𞤣𞤫𞤪 𞤻𞤢𞤤𞥆𞤢𞤤"}\r
+            }\r
+            hour{\r
+                dnam{"𞤲𞥋𞤶𞤢𞤥𞤤𞤭"}\r
+                one{"{0} 𞤲𞥋𞤶𞤢𞤥𞤲𞥋𞤣𞤭"}\r
+                other{"{0} 𞤲𞥋𞤶𞤢𞤥𞤤𞤭"}\r
+                per{"{0} 𞤲𞥋𞤣𞤫𞤪 𞤲𞥋𞤶𞤢𞤥𞤲𞥋𞤣𞤭"}\r
+            }\r
+            microsecond{\r
+                dnam{"𞤻𞤭𞤤𞤢𞤳𞤭𞤲𞤰𞤫"}\r
+                one{"{0} 𞤻𞤭𞤤𞤢𞤳𞤭𞤲𞤰𞤢𞤤"}\r
+                other{"{0} 𞤻𞤭𞤤𞤢𞤳𞤭𞤲𞤰𞤫"}\r
+            }\r
+            millisecond{\r
+                dnam{"𞤤𞤫𞤤𞤳𞤭𞤲𞤰𞤫"}\r
+                one{"{0} 𞤤𞤫𞤤𞤳𞤭𞤲𞤰𞤢𞤤"}\r
+                other{"{0} 𞤤𞤫𞤤𞤳𞤭𞤲𞤰𞤫"}\r
+            }\r
+            minute{\r
+                dnam{"𞤳𞤮𞤶𞤮𞤥𞤶𞤫"}\r
+                one{"{0} 𞤸𞤮𞤶𞤮𞤥𞤪𞤫"}\r
+                other{"{0} 𞤳𞤮𞤶𞤮𞤥𞤶𞤫"}\r
+                per{"{0} 𞤲𞥋𞤣𞤫𞤪 𞤸𞤮𞤶𞤮𞤥𞤪𞤫"}\r
+            }\r
+            month{\r
+                dnam{"𞤤𞤫𞤦𞥆𞤭"}\r
+                one{"{0} 𞤤𞤫𞤱𞤪𞤵"}\r
+                other{"{0} 𞤤𞤫𞤦𞥆𞤭"}\r
+                per{"{0} 𞤲𞥋𞤣𞤫𞤪 𞤤𞤫𞤱𞤪𞤵"}\r
+            }\r
+            nanosecond{\r
+                dnam{"𞤲𞤢𞤲𞤮𞥅𞤳𞤭𞤲𞤰𞤫"}\r
+                one{"{0} 𞤲𞤢𞤲𞤮𞥅𞤳𞤭𞤲𞤰𞤢𞤤"}\r
+                other{"{0} 𞤲𞤢𞤲𞤮𞥅𞤳𞤭𞤲𞤰𞤫"}\r
+            }\r
+            second{\r
+                dnam{"𞤳𞤭𞤲𞤰𞤫"}\r
+                one{"{0} 𞤳𞤭𞤲𞤰𞤢𞤤"}\r
+                other{"{0} 𞤳𞤭𞤲𞤰𞤫"}\r
+                per{"{0} 𞤲𞥋𞤣𞤫𞤪 𞤳𞤭𞤲𞤰𞤢𞤤"}\r
+            }\r
+            week{\r
+                dnam{"𞤶𞤮𞤲𞤼𞤫"}\r
+                one{"{0} 𞤴𞤮𞤲𞤼𞤫𞤪𞤫"}\r
+                other{"{0} 𞤶𞤮𞤲𞤼𞤫"}\r
+                per{"{0} 𞤲𞥋𞤣𞤫𞤪 𞤴𞤮𞤲𞤼𞤫𞤪𞤫"}\r
+            }\r
+            year{\r
+                dnam{"𞤳𞤭𞤼𞤢𞥄𞤯𞤫"}\r
+                one{"{0} 𞤸𞤭𞤼𞤢𞥄𞤲𞥋𞤣𞤫"}\r
+                other{"{0} 𞤳𞤭𞤼𞤢𞥄𞤯𞤫"}\r
+                per{"{0} 𞤲𞥋𞤣𞤫𞤪 𞤸𞤭𞤼𞤢𞥄𞤲𞥋𞤣𞤫"}\r
+            }\r
+        }\r
+        length{\r
+            astronomical-unit{\r
+                dnam{"𞤺𞤵𞤥𞤫 𞤦𞤵𞤪𞤶𞤵𞤲𞤳𞤮𞤶𞤵𞤲"}\r
+                one{"{0} 𞤺𞤵𞤥𞤪𞤫 𞤦𞤵𞤪𞤶𞤵𞤲𞤳𞤮𞤶𞤵𞤲"}\r
+                other{"{0} 𞤺𞤵𞤥𞤫 𞤦𞤵𞤪𞤶𞤵𞤲𞤳𞤮𞤶𞤵𞤲"}\r
+            }\r
+            centimeter{\r
+                dnam{"𞤧𞤢𞤲𞤼𞤭𞤥𞤫𞥅𞤼𞤭"}\r
+                one{"{0} 𞤧𞤢𞤲𞤼𞤭𞤥𞤫𞥅𞤼𞤮𞤤"}\r
+                other{"{0} 𞤧𞤫𞤲𞤼𞤭𞤥𞤫𞥅𞤼𞤭"}\r
+                per{"{0} 𞤧𞤢𞤲𞤼𞤭𞤥𞤫𞥅𞤼𞤮𞤤"}\r
+            }\r
+            decimeter{\r
+                dnam{"𞤣𞤫𞤧𞤭𞤥𞤫𞥅𞤼𞤭"}\r
+                one{"{0} 𞤣𞤫𞤧𞤭𞤥𞤫𞥅𞤼𞤮𞤤"}\r
+                other{"{0} 𞤣𞤫𞤧𞤭𞤥𞤫𞥅𞤼𞤭"}\r
+            }\r
+            foot{\r
+                dnam{"𞤼𞤫𞤨𞥆𞤫"}\r
+                one{"{0} 𞤼𞤫𞤨𞥆𞤫𞤪𞤫"}\r
+                other{"{0} 𞤼𞤫𞤨𞥆𞤫"}\r
+                per{"{0}/𞤫 𞤼𞤫𞤨𞥆𞤫𞤪𞤫"}\r
+            }\r
+            inch{\r
+                dnam{"𞤺𞤮𞤪𞤭"}\r
+                one{"{0} 𞤺𞤮𞤪𞤲𞤣𞤵"}\r
+                other{"{0} 𞤺𞤮𞤪𞤭"}\r
+                per{"{0} 𞤫 𞤺𞤮𞤪𞤲𞤣𞤵"}\r
+            }\r
+            kilometer{\r
+                dnam{"𞤳𞤭𞤤𞤮𞤥𞤫𞥅𞤼𞤭"}\r
+                one{"{0} 𞤳𞤭𞤤𞤮𞤥𞤫𞥅𞤼𞤮𞤤"}\r
+                other{"{0} 𞤳𞤭𞤤𞤮𞤥𞤫𞥅𞤼𞤭"}\r
+                per{"{0} 𞤳𞤭𞤤𞤮𞤥𞤫𞥅𞤼𞤮𞤤"}\r
+            }\r
+            light-year{\r
+                dnam{"𞤳𞤭𞤼𞤢𞥄𞤤𞤫-𞤲𞤣𞤢𞤴𞤲𞤺𞤵"}\r
+                one{"{0} 𞤸𞤭𞤼𞤢𞥄𞤲𞤣𞤫-𞤲𞤣𞤢𞤴𞤲𞤺𞤵"}\r
+                other{"{0} 𞤳𞤭𞤼𞤢𞥄𞤤𞤫-𞤲𞤣𞤢𞤴𞤲𞤺𞤵"}\r
+            }\r
+            meter{\r
+                dnam{"𞤥𞤫𞥅𞤼𞤭"}\r
+                one{"{0}/𞤥𞤫𞥅𞤼𞤮𞤤"}\r
+                other{"{0}/𞤥𞤫𞥅𞤼𞤭"}\r
+                per{"{0}/𞤫 𞤥𞤫𞥅𞤼𞤮𞤤"}\r
+            }\r
+            micrometer{\r
+                dnam{"𞤻𞤭𞤤𞤢𞤥𞤫𞥅𞤼𞤭"}\r
+                one{"{0} 𞤻𞤭𞤤𞤢𞤥𞤫𞥅𞤼𞤮𞤤"}\r
+                other{"{0} 𞤻𞤭𞤤𞤢𞤥𞤫𞥅𞤼𞤭"}\r
+            }\r
+            mile{\r
+                dnam{"𞤥𞤢𞤴𞤤𞤭"}\r
+                one{"{0} 𞤥𞤢𞤴𞤤𞤵"}\r
+                other{"{0} 𞤥𞤢𞤴𞤤𞤭"}\r
+            }\r
+            mile-scandinavian{\r
+                dnam{"𞤥𞤢𞤴𞤤𞤵 𞤧𞤭𞤳𞤢𞤣𞤭𞤲𞤢𞥄𞤾𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+                one{"{0} 𞤥𞤢𞤴𞤤𞤵 𞤧𞤭𞤳𞤢𞤣𞤭𞤲𞤢𞥄𞤾𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+                other{"{0} 𞤥𞤢𞤴𞤤𞤭 𞤧𞤭𞤳𞤢𞤣𞤭𞤲𞤢𞥄𞤾𞤭𞤴𞤢𞤲𞤳𞤮"}\r
+            }\r
+            millimeter{\r
+                dnam{"𞤥𞤭𞤤𞤭𞤥𞤫𞥅𞤼𞤭"}\r
+                one{"{0} 𞤥𞤭𞤤𞤭𞤥𞤫𞥅𞤼𞤮𞤤"}\r
+                other{"{0} 𞤥𞤭𞤤𞤭𞤥𞤫𞥅𞤼𞤭"}\r
+            }\r
+            nanometer{\r
+                dnam{"𞤲𞤢𞤲𞤮𞤥𞤫𞥅𞤼𞤭"}\r
+                one{"{0} 𞤲𞤢𞤲𞤮𞤥𞤫𞥅𞤼𞤮𞤤"}\r
+                other{"{0} 𞤲𞤢𞤲𞤮𞤥𞤫𞥅𞤼𞤭"}\r
+            }\r
+            nautical-mile{\r
+                dnam{"𞤥𞤢𞤴𞤤𞤭 𞤥𞤢𞥄𞤶𞤫𞤴𞤢𞤲𞤳𞤮"}\r
+                one{"{0} 𞤥𞤢𞤴𞤤𞤵 𞤥𞤢𞥄𞤶𞤫𞤴𞤢𞤲𞤳𞤮"}\r
+                other{"{0} 𞤥𞤢𞤴𞤤𞤭 𞤥𞤢𞥄𞤶𞤫𞤴𞤢𞤲𞤳𞤮"}\r
+            }\r
+            parsec{\r
+                dnam{"𞤨𞤢𞤪𞤧𞤫𞤳𞤭"}\r
+                one{"{0} 𞤨𞤢𞤪𞤧𞤫𞤳𞤵"}\r
+                other{"{0} 𞤨𞤢𞤪𞤧𞤫𞤳𞤭"}\r
+            }\r
+            picometer{\r
+                dnam{"𞤨𞤭𞤳𞤮𞤥𞤫𞥅𞤼𞤭"}\r
+                one{"{0} 𞤨𞤭𞤳𞤮𞤥𞤫𞥅𞤼𞤮𞤤"}\r
+                other{"{0} 𞤨𞤭𞤳𞤮𞤥𞤫𞥅𞤼𞤭"}\r
+            }\r
+            point{\r
+                dnam{"𞤼𞤮𞤩𞥆𞤫"}\r
+                one{"{0} 𞤼𞤮𞤩𞥆𞤫𞤪𞤫"}\r
+                other{"{0} 𞤼𞤮𞤩𞥆𞤫"}\r
+            }\r
+            yard{\r
+                dnam{"𞤴𞤢𞤪𞤣𞤵𞥅𞤶𞤭"}\r
+                one{"{0} 𞤴𞤢𞤪𞤣𞤵"}\r
+                other{"{0} 𞤴𞤢𞤪𞤣𞤵𞥅𞤶𞤭"}\r
+            }\r
+        }\r
+        volume{\r
+            cubic-meter{\r
+                dnam{"𞤥𞥓"}\r
+            }\r
+        }\r
+    }\r
+    unitsNarrow{\r
+        duration{\r
+            day{\r
+                dnam{"𞤻𞤢𞤤."}\r
+                one{"{0} 𞤻𞤢𞤤."}\r
+                other{"{0} 𞤻𞤢𞤤."}\r
+            }\r
+            hour{\r
+                dnam{"𞤶𞤢"}\r
+                one{"{0} 𞤶𞤢"}\r
+                other{"{0} 𞤶𞤢"}\r
+            }\r
+            millisecond{\r
+                dnam{"𞤤𞤳𞤭𞤲"}\r
+                one{"{0} 𞤤𞤳𞤭"}\r
+                other{"{0} 𞤤𞤳𞤭"}\r
+            }\r
+            minute{\r
+                dnam{"𞤸𞤮𞤶"}\r
+                one{"{0} 𞤸𞤮𞤶"}\r
+                other{"{0} 𞤳𞤮𞤶"}\r
+            }\r
+            month{\r
+                dnam{"𞤤𞤫𞤦𞥆𞤭"}\r
+                one{"{0} 𞤤𞤫𞤱"}\r
+                other{"{0} 𞤤𞤫𞤦"}\r
+            }\r
+            second{\r
+                dnam{"𞤳𞤭𞤲"}\r
+                one{"{0} 𞤳𞤭𞤲"}\r
+                other{"{0} 𞤳𞤭𞤲"}\r
+            }\r
+            week{\r
+                dnam{"𞤶𞤼"}\r
+                one{"{0} 𞤴𞤼"}\r
+                other{"{0} 𞤶𞤼"}\r
+            }\r
+            year{\r
+                dnam{"𞤸𞤭𞤼"}\r
+                one{"{0} 𞤳𞤭𞤼"}\r
+                other{"{0}/𞤳𞤭𞤼"}\r
+            }\r
+        }\r
+        length{\r
+            centimeter{\r
+                dnam{"𞤧𞤥"}\r
+                one{"{0} 𞤧𞤥"}\r
+                other{"{0} 𞤧𞤥"}\r
+            }\r
+            kilometer{\r
+                dnam{"𞤳𞤥"}\r
+                one{"{0} 𞤳𞤥"}\r
+                other{"{0} 𞤳𞤥"}\r
+            }\r
+            meter{\r
+                dnam{"𞤥"}\r
+                one{"{0}/𞤥"}\r
+                other{"{0}/𞤥"}\r
+            }\r
+            millimeter{\r
+                dnam{"𞤥𞤥"}\r
+                one{"{0} 𞤥𞤥"}\r
+                other{"{0} 𞤥𞤥"}\r
+            }\r
+        }\r
+    }\r
+    unitsShort{\r
+        area{\r
+            hectare{\r
+                dnam{"𞤸𞤢"}\r
+                one{"{0} 𞤸𞤢"}\r
+                other{"{0} 𞤸𞤢"}\r
+            }\r
+            square-kilometer{\r
+                dnam{"𞤳𞤥𞥒"}\r
+                one{"{0} 𞤳𞤥𞥒"}\r
+                other{"{0} 𞤳𞤥𞥒"}\r
+                per{"{0}/𞤳𞤥𞥒"}\r
+            }\r
+        }\r
+        duration{\r
+            century{\r
+                dnam{"𞤼"}\r
+                one{"{0} 𞤼"}\r
+                other{"{0} 𞤼"}\r
+            }\r
+            day{\r
+                dnam{"𞤻𞤢𞤤."}\r
+                one{"{0} 𞤻𞤢𞤤."}\r
+                other{"{0} 𞤻𞤢𞤤."}\r
+                per{"{0}/𞤻𞤢𞤤."}\r
+            }\r
+            hour{\r
+                dnam{"𞤶𞤢"}\r
+                one{"{0} 𞤶𞤢"}\r
+                other{"{0} 𞤶𞤢"}\r
+                per{"{0}/𞤶𞤢"}\r
+            }\r
+            microsecond{\r
+                dnam{"𞤻𞤳𞤭𞤲"}\r
+                one{"{0} 𞤻𞤳𞤭𞤲"}\r
+                other{"{0} 𞤻𞤳𞤭𞤲"}\r
+            }\r
+            millisecond{\r
+                dnam{"𞤤𞤳𞤭𞤲"}\r
+                one{"{0} 𞤤𞤳𞤭𞤲"}\r
+                other{"{0} 𞤤𞤳𞤭𞤲"}\r
+            }\r
+            minute{\r
+                dnam{"𞤸𞤮𞤶"}\r
+                one{"{0} 𞤸𞤮𞤶"}\r
+                other{"{0} 𞤳𞤮𞤶"}\r
+                per{"{0}/𞤸𞤮𞤶"}\r
+            }\r
+            month{\r
+                dnam{"𞤤𞤫𞤦𞥆𞤭"}\r
+                one{"{0}/𞤳𞤭𞤼"}\r
+                other{"{0} 𞤤𞤫𞤦"}\r
+                per{"{0}/𞤤𞤫𞤱"}\r
+            }\r
+            nanosecond{\r
+                dnam{"𞤲𞤳𞤭𞤲"}\r
+                one{"{0} 𞤲𞤳𞤭𞤲"}\r
+                other{"{0} 𞤲𞤳𞤭𞤲"}\r
+            }\r
+            second{\r
+                dnam{"𞤳𞤭𞤲"}\r
+                one{"{0} 𞤳𞤭𞤲"}\r
+                other{"{0} 𞤳𞤭𞤲"}\r
+                per{"{0}/𞤳𞤭𞤲"}\r
+            }\r
+            week{\r
+                dnam{"𞤶𞤼"}\r
+                one{"{0} 𞤴𞤼"}\r
+                other{"{0} 𞤶𞤼"}\r
+                per{"{0}/𞤴𞤼"}\r
+            }\r
+            year{\r
+                dnam{"𞤳𞤭𞤼𞤢𞥄𞤯𞤫"}\r
+                one{"{0} 𞤸𞤭𞤼"}\r
+                other{"{0} 𞤳𞤭𞤼"}\r
+                per{"{0}/𞤸𞤭𞤼𞤢𞥄𞤲𞥋𞤣𞤫"}\r
+            }\r
+        }\r
+        length{\r
+            astronomical-unit{\r
+                dnam{"𞤺𞤭"}\r
+                one{"{0} 𞤺𞤭"}\r
+                other{"{0} 𞤺𞤭"}\r
+            }\r
+            centimeter{\r
+                dnam{"𞤧𞤥"}\r
+                one{"{0} 𞤧𞤥"}\r
+                other{"{0} 𞤧𞤥"}\r
+                per{"{0}/𞤧𞤥"}\r
+            }\r
+            decimeter{\r
+                dnam{"𞤣𞤥"}\r
+                one{"{0} 𞤣𞤥"}\r
+                other{"{0} 𞤣𞤥"}\r
+            }\r
+            foot{\r
+                dnam{"𞤼𞤫"}\r
+                one{"{0} 𞤼𞤫"}\r
+                other{"{0} 𞤼𞤫"}\r
+                per{"{0}/𞤼𞤫"}\r
+            }\r
+            inch{\r
+                dnam{"𞤺𞤮"}\r
+                one{"{0} 𞤺𞤮"}\r
+                other{"{0} 𞤺𞤮"}\r
+                per{"{0}/𞤺𞤮"}\r
+            }\r
+            kilometer{\r
+                dnam{"𞤳𞤥"}\r
+                one{"{0} 𞤳𞤥"}\r
+                other{"{0} 𞤳𞤥"}\r
+                per{"{0}/𞤳𞤥"}\r
+            }\r
+            light-year{\r
+                dnam{"𞤳𞤣"}\r
+                one{"{0} 𞤸𞤣"}\r
+                other{"{0} 𞤳𞤣"}\r
+            }\r
+            meter{\r
+                dnam{"𞤥"}\r
+                one{"{0}/𞤥"}\r
+                other{"{0}/𞤥"}\r
+                per{"{0}/𞤥"}\r
+            }\r
+            micrometer{\r
+                dnam{"𞤻𞤥"}\r
+                one{"{0} 𞤻𞤥"}\r
+                other{"{0} 𞤻𞤥"}\r
+            }\r
+            mile{\r
+                dnam{"𞤥𞤢"}\r
+                one{"{0} 𞤥𞤢"}\r
+                other{"{0} 𞤥𞤢"}\r
+            }\r
+            mile-scandinavian{\r
+                dnam{"𞤥𞤢𞤧"}\r
+                one{"{0} 𞤥𞤢𞤧"}\r
+                other{"{0} 𞤥𞤢𞤧"}\r
+            }\r
+            millimeter{\r
+                dnam{"𞤥𞤥"}\r
+                one{"{0} 𞤥𞤥"}\r
+                other{"{0} 𞤥𞤥"}\r
+            }\r
+            nanometer{\r
+                dnam{"𞤲𞤥"}\r
+                one{"{0} 𞤲𞤥"}\r
+                other{"{0} 𞤲𞤥"}\r
+            }\r
+            nautical-mile{\r
+                dnam{"𞤥𞤢𞤥"}\r
+                one{"{0} 𞤥𞤢𞤥"}\r
+                other{"{0} 𞤥𞤢𞤥"}\r
+            }\r
+            parsec{\r
+                dnam{"𞤨𞤧"}\r
+                one{"{0} 𞤨𞤧"}\r
+                other{"{0} 𞤨𞤧"}\r
+            }\r
+            picometer{\r
+                dnam{"𞤨𞤥"}\r
+                one{"{0} 𞤨𞤥"}\r
+                other{"{0} 𞤨𞤥"}\r
+            }\r
+            point{\r
+                dnam{"𞤼𞤩"}\r
+                one{"{0} 𞤼𞤩"}\r
+                other{"{0} 𞤼𞤩"}\r
+            }\r
+            yard{\r
+                dnam{"𞤴𞤣"}\r
+                one{"{0} 𞤴𞤣"}\r
+                other{"{0} 𞤴𞤣"}\r
+            }\r
+        }\r
+    }\r
+}\r
index cd674cd..36cf8a0 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ff_Latn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0311511..80ddc11 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fi{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h.mm"}\r
         hms{"h.mm.ss"}\r
@@ -14,7 +14,7 @@ fi{
                 one{"{0} G-voima"}\r
                 other{"{0} G-voimaa"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metrit per sekunti toiseen"}\r
                 one{"{0} metri per sekunti toiseen"}\r
                 other{"{0} metriä per sekunti toiseen"}\r
@@ -128,11 +128,6 @@ fi{
                 one{"{0} mooli"}\r
                 other{"{0} moolia"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"prosentit"}\r
                 one{"{0} prosentti"}\r
@@ -143,6 +138,11 @@ fi{
                 one{"{0} promille"}\r
                 other{"{0} promillea"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"peruspiste"}\r
                 one{"{0} peruspiste"}\r
@@ -150,7 +150,7 @@ fi{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litrat / 100 kilometriä"}\r
                 one{"{0} litra / 100 km"}\r
                 other{"{0} litraa / 100 km"}\r
@@ -645,7 +645,7 @@ fi{
                 one{"{0} hehtopascal"}\r
                 other{"{0} hehtopascalia"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"elohopeatuumat"}\r
                 one{"{0} tuuma elohopeaa"}\r
                 other{"{0} tuumaa elohopeaa"}\r
@@ -665,7 +665,7 @@ fi{
                 one{"{0} millibaari"}\r
                 other{"{0} millibaaria"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"elohopeamillimetrit"}\r
                 one{"{0} millimetri elohopeaa"}\r
                 other{"{0} millimetriä elohopeaa"}\r
@@ -675,7 +675,7 @@ fi{
                 one{"{0} pascal"}\r
                 other{"{0} pascalia"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"paunat / neliötuuma"}\r
                 one{"{0} pauna / neliötuuma"}\r
                 other{"{0} paunaa / neliötuuma"}\r
@@ -731,7 +731,7 @@ fi{
                 one{"{0} newtonmetri"}\r
                 other{"{0} newtonmetriä"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"pauna-jalat"}\r
                 one{"{0} pauna-jalka"}\r
                 other{"{0} pauna-jalkaa"}\r
@@ -887,7 +887,7 @@ fi{
                 one{"{0}G"}\r
                 other{"{0}G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0}m/s²"}\r
                 other{"{0}m/s²"}\r
@@ -1000,11 +1000,6 @@ fi{
                 one{"{0}mol"}\r
                 other{"{0}mol"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0}ppm"}\r
-                other{"{0}ppm"}\r
-            }\r
             percent{\r
                 one{"{0} %"}\r
                 other{"{0} %"}\r
@@ -1013,6 +1008,11 @@ fi{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0}ppm"}\r
+                other{"{0}ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"‱"}\r
                 one{"{0}‱"}\r
@@ -1020,7 +1020,7 @@ fi{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100km"}\r
                 one{"{0}l/100km"}\r
                 other{"{0}l/100km"}\r
@@ -1542,7 +1542,7 @@ fi{
                 one{"{0}hPa"}\r
                 other{"{0}hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0}″ Hg"}\r
                 other{"{0}″ Hg"}\r
@@ -1560,7 +1560,7 @@ fi{
                 one{"{0}mbar"}\r
                 other{"{0}mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 one{"{0}mmHg"}\r
                 other{"{0}mmHg"}\r
@@ -1569,7 +1569,7 @@ fi{
                 one{"{0}Pa"}\r
                 other{"{0}Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0}psi"}\r
                 other{"{0}psi"}\r
@@ -1619,6 +1619,12 @@ fi{
                 other{"{0}K"}\r
             }\r
         }\r
+        torque{\r
+            newton-meter{\r
+                one{"{0}Nm"}\r
+                other{"{0}Nm"}\r
+            }\r
+        }\r
         volume{\r
             acre-foot{\r
                 dnam{"ac ft"}\r
@@ -1767,7 +1773,7 @@ fi{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1881,11 +1887,6 @@ fi{
                 one{"{0} mol"}\r
                 other{"{0} mol"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 one{"{0} %"}\r
                 other{"{0} %"}\r
@@ -1894,6 +1895,11 @@ fi{
                 one{"{0} ‰"}\r
                 other{"{0} ‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"peruspiste"}\r
                 one{"{0} ‱"}\r
@@ -1901,7 +1907,7 @@ fi{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100 km"}\r
@@ -2378,7 +2384,7 @@ fi{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -2388,12 +2394,12 @@ fi{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -2449,7 +2455,7 @@ fi{
                 one{"{0} Nm"}\r
                 other{"{0} Nm"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
                 one{"{0} lbf⋅ft"}\r
                 other{"{0} lbf⋅ft"}\r
index e96c201..e4fb483 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fil{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ fil{
                 one{"{0} g-force"}\r
                 other{"{0} g-force"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metro kada segundo kwadrado"}\r
                 one{"{0} metro kada segundo kwadrado"}\r
                 other{"{0} na metro kada segundo kwadrado"}\r
@@ -123,11 +123,6 @@ fil{
                 one{"{0} mole"}\r
                 other{"{0} mole"}\r
             }\r
-            part-per-million{\r
-                dnam{"parts per million"}\r
-                one{"{0} part per million"}\r
-                other{"{0} parts per million"}\r
-            }\r
             percent{\r
                 dnam{"porsyento"}\r
                 one{"{0} porsyento"}\r
@@ -138,6 +133,11 @@ fil{
                 one{"{0} permille"}\r
                 other{"{0} na permille"}\r
             }\r
+            permillion{\r
+                dnam{"parts per million"}\r
+                one{"{0} part per million"}\r
+                other{"{0} parts per million"}\r
+            }\r
             permyriad{\r
                 dnam{"permyriad"}\r
                 one{"{0} permyriad"}\r
@@ -145,7 +145,7 @@ fil{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litro kada 100 kilometro"}\r
                 one{"{0} litro kada 100 kilometro"}\r
                 other{"{0} na litro kada 100 kilometer"}\r
@@ -243,6 +243,7 @@ fil{
                 per{"{0} kada araw"}\r
             }\r
             decade{\r
+                dnam{"dekada"}\r
                 one{"{0} dekada"}\r
                 other{"{0} dekada"}\r
             }\r
@@ -416,14 +417,17 @@ fil{
                 other{"{0} megapixels"}\r
             }\r
             pixel{\r
+                dnam{"mga pixel"}\r
                 one{"{0} pixel"}\r
                 other{"{0} pixel"}\r
             }\r
             pixel-per-centimeter{\r
+                dnam{"mga pixel bawat sentimetro"}\r
                 one{"{0} pixel bawat sentimetro"}\r
                 other{"{0} pixel bawat sentimetro"}\r
             }\r
             pixel-per-inch{\r
+                dnam{"mga pixel bawat pulgada"}\r
                 one{"{0} pixel bawat pulgada"}\r
                 other{"{0} pixel bawat pulgada"}\r
             }\r
@@ -671,7 +675,7 @@ fil{
                 one{"{0} hectopascal"}\r
                 other{"{0} na hectopascal"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"pulgada ng asoge"}\r
                 one{"{0} pulgada ng asoge"}\r
                 other{"{0} na pulgada ng asoge"}\r
@@ -691,7 +695,7 @@ fil{
                 one{"{0} millibar"}\r
                 other{"{0} na millibar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milimetro ng asoge"}\r
                 one{"{0} millimetro ng mercury"}\r
                 other{"{0} na milimetro ng asoge"}\r
@@ -700,7 +704,7 @@ fil{
                 one{"{0} pascal"}\r
                 other{"{0} pascals"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"libra kada pulgadang parisukat"}\r
                 one{"{0} libra kada pulgadang parisukat"}\r
                 other{"{0} na libra kada pulgadang parisukat"}\r
@@ -756,9 +760,9 @@ fil{
                 one{"{0} newton-meter"}\r
                 other{"{0} newton-meter"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"pound-feet"}\r
-                one{"{0} pound-foot"}\r
+                one{"{0} pound-force-foot"}\r
                 other{"{0} pound-feet"}\r
             }\r
         }\r
@@ -848,6 +852,9 @@ fil{
             }\r
             gallon-imperial{\r
                 dnam{"Imp. gal"}\r
+                one{"{0} gal Imp."}\r
+                other{"{0} gal Imp."}\r
+                per{"{0} kada Imp. galon"}\r
             }\r
             hectoliter{\r
                 dnam{"hektolitro"}\r
@@ -904,7 +911,7 @@ fil{
                 one{"{0}G"}\r
                 other{"{0}G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 one{"{0}m/s²"}\r
                 other{"{0}m/s²"}\r
             }\r
@@ -956,7 +963,7 @@ fil{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 one{"{0}L/100km"}\r
                 other{"{0}L/100km"}\r
@@ -1206,7 +1213,7 @@ fil{
                 one{"{0}hPa"}\r
                 other{"{0}hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"″ Hg"}\r
                 one{"{0}\u0022 Hg"}\r
                 other{"{0}\u0022 Hg"}\r
@@ -1216,12 +1223,12 @@ fil{
                 one{"{0}mb"}\r
                 other{"{0}mb"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 one{"{0}mmHg"}\r
                 other{"{0}mmHg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0}psi"}\r
                 other{"{0}psi"}\r
@@ -1292,7 +1299,7 @@ fil{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metro/segundo²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1400,11 +1407,6 @@ fil{
             mole{\r
                 dnam{"mole"}\r
             }\r
-            part-per-million{\r
-                dnam{"parts/million"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 one{"{0}%"}\r
@@ -1415,6 +1417,11 @@ fil{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"parts/million"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"permyriad"}\r
                 one{"{0}‱"}\r
@@ -1422,7 +1429,7 @@ fil{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 one{"{0} na L/100km"}\r
                 other{"{0} na L/100km"}\r
@@ -1438,6 +1445,7 @@ fil{
                 other{"{0} na mpg"}\r
             }\r
             mile-per-gallon-imperial{\r
+                dnam{"milya/gal Imp."}\r
                 one{"{0} mpg Imp."}\r
                 other{"{0} mpg Imp."}\r
             }\r
@@ -1518,6 +1526,11 @@ fil{
                 other{"{0} araw"}\r
                 per{"{0}/araw"}\r
             }\r
+            decade{\r
+                dnam{"dec"}\r
+                one{"{0} dec"}\r
+                other{"{0} dec"}\r
+            }\r
             hour{\r
                 dnam{"oras"}\r
                 one{"{0} oras"}\r
@@ -1673,6 +1686,11 @@ fil{
                 other{"{0} MHz"}\r
             }\r
         }\r
+        graphics{\r
+            pixel{\r
+                dnam{"mga pixel"}\r
+            }\r
+        }\r
         length{\r
             astronomical-unit{\r
                 dnam{"au"}\r
@@ -1914,7 +1932,7 @@ fil{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"in Hg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1934,12 +1952,12 @@ fil{
                 one{"{0} mb"}\r
                 other{"{0} mb"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milimetro ng asoge"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -1995,7 +2013,7 @@ fil{
                 one{"{0} N⋅m"}\r
                 other{"{0} N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
                 one{"{0} lbf⋅ft"}\r
                 other{"{0} lbf⋅ft"}\r
index d43f7f6..b69b7f4 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ fo{
                 one{"{0} G-kraft"}\r
                 other{"{0} G-kreftir"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metrar um sekundi²"}\r
                 one{"{0} metur um sekundi²"}\r
                 other{"{0} metrar um sekundi²"}\r
@@ -118,11 +118,6 @@ fo{
                 one{"{0} millimol fyri hvønn litur"}\r
                 other{"{0} millimol fyri hvønn litur"}\r
             }\r
-            part-per-million{\r
-                dnam{"partar fyri hvørja millión"}\r
-                one{"{0} partur fyri hvørja millión"}\r
-                other{"{0} partar fyri hvørja millión"}\r
-            }\r
             percent{\r
                 dnam{"prosent"}\r
                 one{"{0} prosent"}\r
@@ -133,6 +128,11 @@ fo{
                 one{"{0} promilla"}\r
                 other{"{0} promillur"}\r
             }\r
+            permillion{\r
+                dnam{"partar fyri hvørja millión"}\r
+                one{"{0} partur fyri hvørja millión"}\r
+                other{"{0} partar fyri hvørja millión"}\r
+            }\r
             permyriad{\r
                 dnam{"promyriad"}\r
                 one{"{0} promyriad"}\r
@@ -140,7 +140,7 @@ fo{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litrar fyri hvørjar 100 kilometrar"}\r
                 one{"{0} litur fyri hvørjar 100 kilometrar"}\r
                 other{"{0} litrar fyri hvørjar 100 kilometrar"}\r
@@ -660,7 +660,7 @@ fo{
                 one{"{0} hektopascal"}\r
                 other{"{0} hektopascal"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"tummar av kviksilvur"}\r
                 one{"{0} tummi av kviksilvur"}\r
                 other{"{0} tummar av kviksilvur"}\r
@@ -680,7 +680,7 @@ fo{
                 one{"{0} millibar"}\r
                 other{"{0} millibar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"millimetrar av kviksilvur"}\r
                 one{"{0} millimetur av kviksilvur"}\r
                 other{"{0} millimetrar av kviksilvur"}\r
@@ -690,7 +690,7 @@ fo{
                 one{"{0} Pascal"}\r
                 other{"{0} Pascal"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -746,7 +746,7 @@ fo{
                 one{"{0} newtonmetur"}\r
                 other{"{0} newtonmetrar"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"pund føtur"}\r
                 one{"{0} pund fótur"}\r
                 other{"{0} pund føtur"}\r
@@ -935,7 +935,7 @@ fo{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100km"}\r
                 one{"{0}l/100km"}\r
                 other{"{0}l/100km"}\r
@@ -1089,7 +1089,7 @@ fo{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1193,11 +1193,6 @@ fo{
                 one{"{0} mmol/l"}\r
                 other{"{0} mmol/l"}\r
             }\r
-            part-per-million{\r
-                dnam{"partar/millión"}\r
-                one{"{0} partur/mill."}\r
-                other{"{0} partar/mill."}\r
-            }\r
             percent{\r
                 dnam{"prosent"}\r
                 one{"{0} %"}\r
@@ -1208,6 +1203,11 @@ fo{
                 one{"{0} ‰"}\r
                 other{"{0} ‰"}\r
             }\r
+            permillion{\r
+                dnam{"partar/millión"}\r
+                one{"{0} partur/mill."}\r
+                other{"{0} partar/mill."}\r
+            }\r
             permyriad{\r
                 dnam{"promyriad"}\r
                 one{"{0} ‱"}\r
@@ -1215,7 +1215,7 @@ fo{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100 km"}\r
@@ -1682,7 +1682,7 @@ fo{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1692,7 +1692,7 @@ fo{
                 one{"{0} mb"}\r
                 other{"{0} mb"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 one{"{0} mmHg"}\r
                 other{"{0} mmHg"}\r
@@ -1700,7 +1700,7 @@ fo{
             pascal{\r
                 dnam{"pascal"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
index fc90485..ccbaa41 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ fr{
                 one{"{0} fois l’accélération de pesanteur terrestre"}\r
                 other{"{0} fois l’accélération de pesanteur terrestre"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"mètres par seconde carrée"}\r
                 one{"{0} mètre par seconde carrée"}\r
                 other{"{0} mètres par seconde carrée"}\r
@@ -128,11 +128,6 @@ fr{
                 one{"{0} mole"}\r
                 other{"{0} moles"}\r
             }\r
-            part-per-million{\r
-                dnam{"parts par million"}\r
-                one{"{0} part par million"}\r
-                other{"{0} parts par million"}\r
-            }\r
             percent{\r
                 dnam{"pour cent"}\r
                 one{"{0} pour cent"}\r
@@ -143,6 +138,11 @@ fr{
                 one{"{0} pour mille"}\r
                 other{"{0} pour mille"}\r
             }\r
+            permillion{\r
+                dnam{"parts par million"}\r
+                one{"{0} part par million"}\r
+                other{"{0} parts par million"}\r
+            }\r
             permyriad{\r
                 dnam{"pour dix mille"}\r
                 one{"{0} pour dix mille"}\r
@@ -150,7 +150,7 @@ fr{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litres aux 100 km"}\r
                 one{"{0} litre aux 100 km"}\r
                 other{"{0} litres aux 100 km"}\r
@@ -692,7 +692,7 @@ fr{
                 one{"{0} hectopascal"}\r
                 other{"{0} hectopascals"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"pouces de mercure"}\r
                 one{"{0} pouce de mercure"}\r
                 other{"{0} pouces de mercure"}\r
@@ -712,7 +712,7 @@ fr{
                 one{"{0} millibar"}\r
                 other{"{0} millibars"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"millimètres de mercure"}\r
                 one{"{0} millimètre de mercure"}\r
                 other{"{0} millimètres de mercure"}\r
@@ -722,7 +722,7 @@ fr{
                 one{"{0} pascal"}\r
                 other{"{0} pascals"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"livres par pouce carré"}\r
                 one{"{0} livre par pouce carré"}\r
                 other{"{0} livres par pouce carré"}\r
@@ -778,7 +778,7 @@ fr{
                 one{"{0} newton-mètre"}\r
                 other{"{0} newtons-mètres"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"livres-pieds"}\r
                 one{"{0} livre-pied"}\r
                 other{"{0} livres-pieds"}\r
@@ -929,7 +929,7 @@ fr{
                 one{"{0}G"}\r
                 other{"{0}G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
             }\r
         }\r
@@ -992,7 +992,7 @@ fr{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100km"}\r
                 one{"{0}l/100km"}\r
                 other{"{0}l/100km"}\r
@@ -1231,7 +1231,7 @@ fr{
                 one{"{0}hPa"}\r
                 other{"{0}hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"″Hg"}\r
                 one{"{0}″ Hg"}\r
                 other{"{0}″ Hg"}\r
@@ -1241,12 +1241,12 @@ fr{
                 one{"{0}mbar"}\r
                 other{"{0}mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 one{"{0} mmHg"}\r
                 other{"{0} mmHg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"lb/po²"}\r
                 one{"{0} lb/po²"}\r
                 other{"{0} lb/po²"}\r
@@ -1377,7 +1377,7 @@ fr{
                 one{"{0} force g"}\r
                 other{"{0} force g"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1491,11 +1491,6 @@ fr{
                 one{"{0} mol"}\r
                 other{"{0} mol"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 one{"{0} %"}\r
@@ -1506,13 +1501,18 @@ fr{
                 one{"{0} ‰"}\r
                 other{"{0} ‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 one{"{0} ‱"}\r
                 other{"{0} ‱"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100 km"}\r
@@ -2049,7 +2049,7 @@ fr{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -2067,7 +2067,7 @@ fr{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 one{"{0} mmHg"}\r
                 other{"{0} mmHg"}\r
@@ -2076,7 +2076,7 @@ fr{
                 one{"{0} Pa"}\r
                 other{"{0} Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"lb/po²"}\r
                 one{"{0} lb/po²"}\r
                 other{"{0} lb/po²"}\r
@@ -2131,7 +2131,7 @@ fr{
                 one{"{0} N⋅m"}\r
                 other{"{0} N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
                 one{"{0} lbf⋅ft"}\r
                 other{"{0} lbf⋅ft"}\r
index a43cbd3..bc16228 100644 (file)
@@ -1,13 +1,13 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_CA{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         acceleration{\r
             g-force{\r
                 dnam{"force G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 one{"{0} mètre par seconde carrée"}\r
                 other{"{0} mètres par seconde carrée"}\r
             }\r
@@ -72,18 +72,18 @@ fr_CA{
             }\r
         }\r
         concentr{\r
-            part-per-million{\r
-                dnam{"parties par million"}\r
-                one{"{0} partie par million"}\r
-                other{"{0} parties par million"}\r
-            }\r
             permille{\r
                 one{"{0} pour mille"}\r
                 other{"{0} pour mille"}\r
             }\r
+            permillion{\r
+                dnam{"parties par million"}\r
+                one{"{0} partie par million"}\r
+                other{"{0} parties par million"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litres aux 100 kilomètres"}\r
                 one{"{0} litre aux 100 kilomètres"}\r
                 other{"{0} litres aux 100 kilomètres"}\r
@@ -408,7 +408,7 @@ fr_CA{
                 one{"{0} hectopascal"}\r
                 other{"{0} hectopascals"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} pouce de mercure"}\r
                 other{"{0} pouces de mercure"}\r
             }\r
@@ -512,7 +512,7 @@ fr_CA{
     }\r
     unitsNarrow{\r
         acceleration{\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 one{"{0}m/s²"}\r
                 other{"{0}m/s²"}\r
             }\r
@@ -524,7 +524,7 @@ fr_CA{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100 km"}\r
                 one{"{0} L/100 km"}\r
                 other{"{0} L/100 km"}\r
@@ -632,14 +632,14 @@ fr_CA{
             }\r
         }\r
         pressure{\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 one{"{0}mmHg"}\r
                 other{"{0}mmHg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0}psi"}\r
                 other{"{0}psi"}\r
@@ -676,7 +676,7 @@ fr_CA{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
             }\r
@@ -740,7 +740,7 @@ fr_CA{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100 km"}\r
                 one{"{0} L/100 km"}\r
                 other{"{0} L/100 km"}\r
@@ -1063,7 +1063,7 @@ fr_CA{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"po Hg"}\r
                 one{"{0} po Hg"}\r
                 other{"{0} po Hg"}\r
@@ -1072,12 +1072,12 @@ fr_CA{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -1112,7 +1112,7 @@ fr_CA{
             }\r
         }\r
         torque{\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lb-pi"}\r
                 one{"{0} lb-pi"}\r
                 other{"{0} lb-pi"}\r
index 93fa344..abbaa1e 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_HT{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         area{\r
             hectare{\r
index 82798d7..baeff33 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fur{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         duration{\r
             day{\r
index 430f999..4d76015 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fy{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -206,7 +206,7 @@ fy{
                 one{"{0} hektopaskal"}\r
                 other{"{0} hektopaskal"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -427,7 +427,7 @@ fy{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
             }\r
@@ -674,7 +674,7 @@ fy{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
index 4d988fa..595b772 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ga{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -17,7 +17,7 @@ ga{
                 other{"{0} g-fhórsa"}\r
                 two{"{0} g-fhórsa"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"méadair sa soicind cearnaithe"}\r
                 few{"{0} mhéadar sa soicind cearnaithe"}\r
                 many{"{0} méadar sa soicind cearnaithe"}\r
@@ -191,14 +191,6 @@ ga{
                 other{"{0} mól"}\r
                 two{"{0} mhól"}\r
             }\r
-            part-per-million{\r
-                dnam{"codanna sa mhilliún"}\r
-                few{"{0} sa mhilliún"}\r
-                many{"{0} sa mhilliún"}\r
-                one{"{0} sa mhilliún"}\r
-                other{"{0} sa mhilliún"}\r
-                two{"{0} sa mhilliún"}\r
-            }\r
             percent{\r
                 dnam{"faoin gcéad"}\r
                 few{"{0}%"}\r
@@ -215,6 +207,14 @@ ga{
                 other{"{0} faoin míle"}\r
                 two{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"codanna sa mhilliún"}\r
+                few{"{0} sa mhilliún"}\r
+                many{"{0} sa mhilliún"}\r
+                one{"{0} sa mhilliún"}\r
+                other{"{0} sa mhilliún"}\r
+                two{"{0} sa mhilliún"}\r
+            }\r
             permyriad{\r
                 dnam{"permeiriad"}\r
                 few{"{0}‱"}\r
@@ -225,7 +225,7 @@ ga{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"lítir sa 100 ciliméadar"}\r
                 few{"{0} lítear sa 100 ciliméadar"}\r
                 many{"{0} lítear sa 100 ciliméadar"}\r
@@ -1059,7 +1059,7 @@ ga{
                 other{"{0} heicteapascal"}\r
                 two{"{0} heicteapascal"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"orlaí mearcair"}\r
                 few{"{0} orlach mearcair"}\r
                 many{"{0} n-orlach mearcair"}\r
@@ -1091,7 +1091,7 @@ ga{
                 other{"{0} milleabar"}\r
                 two{"{0} mhilleabar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milliméadair mhearcair"}\r
                 few{"{0} mhilliméadar mearcair"}\r
                 many{"{0} milliméadar mearcair"}\r
@@ -1099,7 +1099,7 @@ ga{
                 other{"{0} milliméadar mearcair"}\r
                 two{"{0} mhilliméadar mearcair"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"puint san orlach cearnach"}\r
                 few{"{0} phunt san orlach cearnach"}\r
                 many{"{0} bpunt san orlach cearnach"}\r
@@ -1185,7 +1185,7 @@ ga{
                 other{"{0} méadar niútain"}\r
                 two{"{0} N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"punt-troigh"}\r
                 few{"{0} lbf⋅ft"}\r
                 many{"{0} lbf⋅ft"}\r
@@ -1428,7 +1428,7 @@ ga{
                 other{"{0}G"}\r
                 two{"{0}G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 few{"{0}m/s²"}\r
                 many{"{0}m/s²"}\r
@@ -1586,14 +1586,6 @@ ga{
                 other{"{0} mmol/L"}\r
                 two{"{0} mmol/L"}\r
             }\r
-            part-per-million{\r
-                dnam{"codanna/milliún"}\r
-                few{"{0}/milliún"}\r
-                many{"{0}/milliún"}\r
-                one{"{0}/milliún"}\r
-                other{"{0}/milliún"}\r
-                two{"{0}/milliún"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 few{"{0}%"}\r
@@ -1602,9 +1594,17 @@ ga{
                 other{"{0}%"}\r
                 two{"{0}%"}\r
             }\r
+            permillion{\r
+                dnam{"codanna/milliún"}\r
+                few{"{0}/milliún"}\r
+                many{"{0}/milliún"}\r
+                one{"{0}/milliún"}\r
+                other{"{0}/milliún"}\r
+                two{"{0}/milliún"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100km"}\r
                 few{"{0}l/100km"}\r
                 many{"{0}l/100km"}\r
@@ -2271,7 +2271,7 @@ ga{
                 other{"{0}hPa"}\r
                 two{"{0}hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"orlaí Hg"}\r
                 few{"{0}\u0022 Hg"}\r
                 many{"{0}\u0022 Hg"}\r
@@ -2287,7 +2287,7 @@ ga{
                 other{"{0}mb"}\r
                 two{"{0}mb"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 few{"{0}mmHg"}\r
                 many{"{0}mmHg"}\r
@@ -2295,7 +2295,7 @@ ga{
                 other{"{0}mmHg"}\r
                 two{"{0}mmHg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psoc"}\r
                 few{"{0}psoc"}\r
                 many{"{0}psoc"}\r
@@ -2590,7 +2590,7 @@ ga{
                 other{"{0} G"}\r
                 two{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 few{"{0} m/s²"}\r
                 many{"{0} m/s²"}\r
@@ -2764,14 +2764,6 @@ ga{
                 other{"{0} mól"}\r
                 two{"{0} mhól"}\r
             }\r
-            part-per-million{\r
-                dnam{"codanna/milliún"}\r
-                few{"{0}/milliún"}\r
-                many{"{0}/milliún"}\r
-                one{"{0}/milliún"}\r
-                other{"{0}/milliún"}\r
-                two{"{0}/milliún"}\r
-            }\r
             percent{\r
                 dnam{"faoin gcéad"}\r
                 few{"{0}%"}\r
@@ -2788,6 +2780,14 @@ ga{
                 other{"{0}‰"}\r
                 two{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"codanna/milliún"}\r
+                few{"{0}/milliún"}\r
+                many{"{0}/milliún"}\r
+                one{"{0}/milliún"}\r
+                other{"{0}/milliún"}\r
+                two{"{0}/milliún"}\r
+            }\r
             permyriad{\r
                 dnam{"permeiriad"}\r
                 few{"{0}‱"}\r
@@ -2798,7 +2798,7 @@ ga{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100km"}\r
                 few{"{0} l/100km"}\r
                 many{"{0} l/100km"}\r
@@ -3579,7 +3579,7 @@ ga{
                 other{"{0} hPa"}\r
                 two{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"orlaí Hg"}\r
                 few{"{0} or. Hg"}\r
                 many{"{0} n-or. Hg"}\r
@@ -3611,7 +3611,7 @@ ga{
                 other{"{0} mbar"}\r
                 two{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 few{"{0} mm Hg"}\r
                 many{"{0} mm Hg"}\r
@@ -3619,7 +3619,7 @@ ga{
                 other{"{0} mm Hg"}\r
                 two{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psoc"}\r
                 few{"{0} psoc"}\r
                 many{"{0} psoc"}\r
@@ -3705,7 +3705,7 @@ ga{
                 other{"{0} N⋅m"}\r
                 two{"{0} N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
                 few{"{0} lbf⋅ft"}\r
                 many{"{0} lbf⋅ft"}\r
index 1601daa..fb03246 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 gd{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -16,7 +16,7 @@ gd{
                 other{"{0} forsa-g"}\r
                 two{"{0} fhorsa-g"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"meatair san diog cheàrnagach"}\r
                 few{"{0} meatairean san diog cheàrnagach"}\r
                 one{"{0} mheatair san diog cheàrnagach"}\r
@@ -170,13 +170,6 @@ gd{
                 other{"{0} mòl"}\r
                 two{"{0} mhòl"}\r
             }\r
-            part-per-million{\r
-                dnam{"pàirt sa mhillean"}\r
-                few{"{0} pàirtean sa mhillean"}\r
-                one{"{0} phàirt sa mhillean"}\r
-                other{"{0} pàirt sa mhillean"}\r
-                two{"{0} phàirt sa mhillean"}\r
-            }\r
             percent{\r
                 dnam{"sa cheud"}\r
                 few{"{0} sa cheud"}\r
@@ -191,6 +184,13 @@ gd{
                 other{"{0} sa mhìle"}\r
                 two{"{0} sa mhìle"}\r
             }\r
+            permillion{\r
+                dnam{"pàirt sa mhillean"}\r
+                few{"{0} pàirtean sa mhillean"}\r
+                one{"{0} phàirt sa mhillean"}\r
+                other{"{0} pàirt sa mhillean"}\r
+                two{"{0} phàirt sa mhillean"}\r
+            }\r
             permyriad{\r
                 dnam{"sna deich mìltean"}\r
                 few{"{0} sna deich mìltean"}\r
@@ -200,7 +200,7 @@ gd{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"liotair sa 100 chilemeatair"}\r
                 few{"{0} liotairean sa 100 chilemeatair"}\r
                 one{"{0} liotair sa 100 chilemeatair"}\r
@@ -936,7 +936,7 @@ gd{
                 other{"{0} heacta-pascal"}\r
                 two{"{0} heacta-pascal"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"òirleach de dh’airgead-beò"}\r
                 few{"{0} òirlich de dh’airgead-beò"}\r
                 one{"{0} òirleach de dh’airgead-beò"}\r
@@ -964,7 +964,7 @@ gd{
                 other{"{0} milibàr"}\r
                 two{"{0} mhilibàr"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milimeatair de dh’airgead-beò"}\r
                 few{"{0} milimeatairean de dh’airgead-beò"}\r
                 one{"{0} mhilimeatair de dh’airgead-beò"}\r
@@ -978,7 +978,7 @@ gd{
                 other{"{0} pascal"}\r
                 two{"{0} phascal"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"punnd san òirleach cheàrnagach"}\r
                 few{"{0} puinnd san òirleach cheàrnagach"}\r
                 one{"{0} phunnd san òirleach cheàrnagach"}\r
@@ -1054,7 +1054,7 @@ gd{
                 other{"{0} newton-mheatair"}\r
                 two{"{0} newton-mheatair"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"troigh-phuinnd"}\r
                 few{"{0} troighean-puinnd"}\r
                 one{"{0} troigh-phuinnd"}\r
@@ -1268,7 +1268,7 @@ gd{
                 other{"{0}G"}\r
                 two{"{0}G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 few{"{0}m/s²"}\r
                 one{"{0}m/s²"}\r
@@ -1422,13 +1422,6 @@ gd{
                 other{"{0}mòl"}\r
                 two{"{0}mòl"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                few{"{0}ppm"}\r
-                one{"{0}ppm"}\r
-                other{"{0}ppm"}\r
-                two{"{0}ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 few{"{0}%"}\r
@@ -1443,6 +1436,13 @@ gd{
                 other{"{0}‰"}\r
                 two{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                few{"{0}ppm"}\r
+                one{"{0}ppm"}\r
+                other{"{0}ppm"}\r
+                two{"{0}ppm"}\r
+            }\r
             permyriad{\r
                 few{"{0}‱"}\r
                 one{"{0}‱"}\r
@@ -1451,7 +1451,7 @@ gd{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 few{"{0}L/100km"}\r
                 one{"{0}L/100km"}\r
@@ -2176,7 +2176,7 @@ gd{
                 other{"{0}hPa"}\r
                 two{"{0}hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"″ Hg"}\r
                 few{"{0}″ Hg"}\r
                 one{"{0}″ Hg"}\r
@@ -2202,7 +2202,7 @@ gd{
                 other{"{0}mb"}\r
                 two{"{0}mb"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 few{"{0}mm Hg"}\r
                 one{"{0}mm Hg"}\r
@@ -2215,7 +2215,7 @@ gd{
                 other{"{0}Pa"}\r
                 two{"{0}Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 few{"{0}psi"}\r
                 one{"{0}psi"}\r
@@ -2290,7 +2290,7 @@ gd{
                 other{"{0}N⋅m"}\r
                 two{"{0}N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
                 few{"{0}lbf⋅ft"}\r
                 one{"{0}lbf⋅ft"}\r
@@ -2503,7 +2503,7 @@ gd{
                 other{"{0} G"}\r
                 two{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"meatair/diog²"}\r
                 few{"{0} m/s²"}\r
                 one{"{0} m/s²"}\r
@@ -2657,13 +2657,6 @@ gd{
                 other{"{0} mòl"}\r
                 two{"{0} mòl"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                few{"{0} ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-                two{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"sa cheud"}\r
                 few{"{0}%"}\r
@@ -2678,12 +2671,19 @@ gd{
                 other{"{0}‰"}\r
                 two{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                few{"{0} ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+                two{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"sna deich mìltean"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 few{"{0} L/100km"}\r
                 one{"{0} L/100km"}\r
@@ -3341,7 +3341,7 @@ gd{
                 other{"{0} hPa"}\r
                 two{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"in Hg"}\r
                 few{"{0} inHg"}\r
                 one{"{0} inHg"}\r
@@ -3361,14 +3361,14 @@ gd{
                 other{"{0} mbàr"}\r
                 two{"{0} mbàr"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 few{"{0} mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
                 two{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 few{"{0} psi"}\r
                 one{"{0} psi"}\r
@@ -3437,7 +3437,7 @@ gd{
             }\r
         }\r
         torque{\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
                 few{"{0} lbf⋅ft"}\r
                 one{"{0} lbf⋅ft"}\r
index 160c011..6a11c8d 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 gl{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ gl{
                 one{"{0} forza G"}\r
                 other{"{0} forzas G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metros por segundo cadrado"}\r
                 one{"{0} metro por segundo cadrado"}\r
                 other{"{0} metros por segundo cadrado"}\r
@@ -128,11 +128,6 @@ gl{
                 one{"{0} mol"}\r
                 other{"{0} moles"}\r
             }\r
-            part-per-million{\r
-                dnam{"partes por millón"}\r
-                one{"{0} parte por millón"}\r
-                other{"{0} partes por millón"}\r
-            }\r
             percent{\r
                 dnam{"tanto por cento"}\r
                 one{"{0} %"}\r
@@ -143,6 +138,11 @@ gl{
                 one{"{0} ‰"}\r
                 other{"{0} ‰"}\r
             }\r
+            permillion{\r
+                dnam{"partes por millón"}\r
+                one{"{0} parte por millón"}\r
+                other{"{0} partes por millón"}\r
+            }\r
             permyriad{\r
                 dnam{"tanto por dez mil"}\r
                 one{"{0} ‱"}\r
@@ -150,7 +150,7 @@ gl{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litros por 100 quilómetros"}\r
                 one{"{0} litro por 100 quilómetros"}\r
                 other{"{0} litros por 100 quilómetros"}\r
@@ -677,7 +677,7 @@ gl{
                 one{"{0} hectopascal"}\r
                 other{"{0} hectopascais"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"polgadas de mercurio"}\r
                 one{"{0} polgada de mercurio"}\r
                 other{"{0} polgadas de mercurio"}\r
@@ -697,7 +697,7 @@ gl{
                 one{"{0} milibar"}\r
                 other{"{0} milibares"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milímetros de mercurio"}\r
                 one{"{0} milímetro de mercurio"}\r
                 other{"{0} milímetros de mercurio"}\r
@@ -707,7 +707,7 @@ gl{
                 one{"{0} pascal"}\r
                 other{"{0} pascais"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"libras por polgada cadrada"}\r
                 one{"{0} libra por polgada cadrada"}\r
                 other{"{0} libras por polgada cadrada"}\r
@@ -763,7 +763,7 @@ gl{
                 one{"newton metro"}\r
                 other{"{0} newtons metro"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"libras pés"}\r
                 one{"{0} libra pé"}\r
                 other{"{0} libras pés"}\r
@@ -925,7 +925,7 @@ gl{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100 km"}\r
@@ -1047,7 +1047,7 @@ gl{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1160,11 +1160,6 @@ gl{
                 one{"{0} mol"}\r
                 other{"{0} mol"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 one{"{0} %"}\r
@@ -1175,13 +1170,18 @@ gl{
                 one{"{0} ‰"}\r
                 other{"{0} ‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 one{"{0} ‱"}\r
                 other{"{0} ‱"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litros/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100 km"}\r
@@ -1678,7 +1678,7 @@ gl{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1688,12 +1688,12 @@ gl{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 one{"{0} mmHg"}\r
                 other{"{0} mmHg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -1749,7 +1749,7 @@ gl{
                 one{"{0} N⋅m"}\r
                 other{"{0} N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf ft"}\r
                 one{"{0} lbf ft"}\r
                 other{"{0} lbf ft"}\r
index 2fc3cfd..b6f5491 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 gsw{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -65,7 +65,7 @@ gsw{
             }\r
         }\r
         pressure{\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
             }\r
@@ -109,7 +109,7 @@ gsw{
             }\r
         }\r
         pressure{\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
             }\r
index 2695c8f..7e2318f 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 gu{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ gu{
                 one{"{0} ગુ-બળ"}\r
                 other{"{0} ગુ-બળ"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"મીટર પ્રતિ સેકન્ડ²"}\r
                 one{"{0} મીટર પ્રતિ સેકન્ડ²"}\r
                 other{"{0} મીટર પ્રતિ સેકન્ડ²"}\r
@@ -129,11 +129,6 @@ gu{
                 one{"{0} મોલ"}\r
                 other{"{0} મોલ"}\r
             }\r
-            part-per-million{\r
-                dnam{"કણ પ્રતિ મિલિયન"}\r
-                one{"{0} કણ પ્રતિ મિલિયન"}\r
-                other{"{0} કણ પ્રતિ મિલિયન"}\r
-            }\r
             percent{\r
                 dnam{"ટકા"}\r
                 one{"{0} ટકા"}\r
@@ -144,6 +139,11 @@ gu{
                 one{"{0} પ્રતિમાઈલ"}\r
                 other{"{0} પ્રતિમાઈલ"}\r
             }\r
+            permillion{\r
+                dnam{"કણ પ્રતિ મિલિયન"}\r
+                one{"{0} કણ પ્રતિ મિલિયન"}\r
+                other{"{0} કણ પ્રતિ મિલિયન"}\r
+            }\r
             permyriad{\r
                 dnam{"પરમિરિયડ"}\r
                 one{"{0} પરમિરિયડ"}\r
@@ -151,7 +151,7 @@ gu{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"લિટર પ્રતિ 100 કિલોમીટર"}\r
                 one{"{0} લિટર પ્રતિ 100 કિલોમીટર"}\r
                 other{"{0} લિટર પ્રતિ 100 કિલોમીટર"}\r
@@ -676,7 +676,7 @@ gu{
                 one{"{0} હેક્ટૉપાસ્કલ"}\r
                 other{"{0} હેક્ટૉપાસ્કલ"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"પારાના ઇંચ"}\r
                 one{"{0} પારાના ઇંચ"}\r
                 other{"{0} પારાના ઇંચ"}\r
@@ -696,7 +696,7 @@ gu{
                 one{"{0} મિલિબાર"}\r
                 other{"{0} મિલિબાર"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"પારાનું મિલિમીટર"}\r
                 one{"{0} પારાનું મિલિમીટર"}\r
                 other{"{0} પારાનું મિલિમીટર"}\r
@@ -706,7 +706,7 @@ gu{
                 one{"{0} પાસ્કલ"}\r
                 other{"{0} પાસ્કલ"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"પાઉન્ડ પ્રતિ વર્ગ ઇંચ"}\r
                 one{"{0} પાઉન્ડ પ્રતિ વર્ગ ઇંચ"}\r
                 other{"{0} પાઉન્ડ પ્રતિ વર્ગ ઇંચ"}\r
@@ -762,7 +762,7 @@ gu{
                 one{"{0} ન્યૂટન-મીટર"}\r
                 other{"{0} ન્યૂટન-મીટર"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"પાઉન્ડ ફૂટ"}\r
                 one{"{0} પાઉન્ડ ફૂટ"}\r
                 other{"{0} પાઉન્ડ ફૂટ"}\r
@@ -937,7 +937,7 @@ gu{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"લિ/100 કિમી"}\r
                 one{"{0}લિ/100કિમી"}\r
                 other{"{0}લિ/100કિમી"}\r
@@ -1111,7 +1111,7 @@ gu{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
             }\r
@@ -1159,7 +1159,7 @@ gu{
                 one{"{0} ગુ"}\r
                 other{"{0} ગુ"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"મીટર/સેકન્ડ²"}\r
                 one{"{0} મી/સે²"}\r
                 other{"{0} મી/સે²"}\r
@@ -1273,11 +1273,6 @@ gu{
                 one{"{0} મોલ"}\r
                 other{"{0} મોલ"}\r
             }\r
-            part-per-million{\r
-                dnam{"કણ/મિલિયન"}\r
-                one{"{0} પીપીએમ"}\r
-                other{"{0} પીપીએમ"}\r
-            }\r
             percent{\r
                 dnam{"ટકા"}\r
                 one{"{0}%"}\r
@@ -1288,6 +1283,11 @@ gu{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"કણ/મિલિયન"}\r
+                one{"{0} પીપીએમ"}\r
+                other{"{0} પીપીએમ"}\r
+            }\r
             permyriad{\r
                 dnam{"પરમિરિયડ"}\r
                 one{"{0}‱"}\r
@@ -1295,7 +1295,7 @@ gu{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"લિ/100 કિમી"}\r
                 one{"{0} લિ/100 કિમી"}\r
                 other{"{0} લિ/100 કિમી"}\r
@@ -1795,7 +1795,7 @@ gu{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1815,7 +1815,7 @@ gu{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
@@ -1825,7 +1825,7 @@ gu{
                 one{"{0} Pa"}\r
                 other{"{0} Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -1881,7 +1881,7 @@ gu{
                 one{"{0} N⋅m"}\r
                 other{"{0} N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
                 one{"{0} lbf⋅ft"}\r
                 other{"{0} lbf⋅ft"}\r
index 68fbada..8f29767 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 guz{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 50f47df..55682af 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 gv{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 32c3e94..948ec30 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ha{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8ebe471..5d34bdd 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 haw{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         duration{\r
             day{\r
index a9b5a83..0f6bdf9 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 he{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -16,7 +16,7 @@ he{
                 other{"{0} כוחות ג׳י"}\r
                 two{"שני כוחות ג׳י"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"מטר לשנייה בריבוע"}\r
                 many{"{0} מטר לשנייה בריבוע"}\r
                 one{"{0} מטר לשנייה בריבוע"}\r
@@ -170,13 +170,6 @@ he{
                 other{"{0} מול"}\r
                 two{"{0} מול"}\r
             }\r
-            part-per-million{\r
-                dnam{"חלקים למיליון"}\r
-                many{"{0} חלקים למיליון"}\r
-                one{"{0} חלקים למיליון"}\r
-                other{"{0} חלקים למיליון"}\r
-                two{"{0} חלקים למיליון"}\r
-            }\r
             percent{\r
                 dnam{"אחוז"}\r
                 many{"{0} אחוז"}\r
@@ -191,6 +184,13 @@ he{
                 other{"{0} פרומיל"}\r
                 two{"{0} פרומיל"}\r
             }\r
+            permillion{\r
+                dnam{"חלקים למיליון"}\r
+                many{"{0} חלקים למיליון"}\r
+                one{"{0} חלקים למיליון"}\r
+                other{"{0} חלקים למיליון"}\r
+                two{"{0} חלקים למיליון"}\r
+            }\r
             permyriad{\r
                 dnam{"רבבית"}\r
                 many{"{0} רבביות"}\r
@@ -200,7 +200,7 @@ he{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ליטר/100 ק״מ"}\r
                 many{"{0} ליטר/100 ק״מ"}\r
                 one{"ליטר/100 ק״מ"}\r
@@ -918,7 +918,7 @@ he{
                 other{"{0} הקטופסקל"}\r
                 two{"{0} הקטופסקל"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"אינץ׳ כספית"}\r
                 many{"{0} אינץ׳ כספית"}\r
                 one{"אינץ׳ כספית {0}"}\r
@@ -946,7 +946,7 @@ he{
                 other{"{0} מיליבר"}\r
                 two{"{0} מיליבר"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"מילימטר כספית"}\r
                 many{"{0} מילימטר כספית"}\r
                 one{"מילימטר כספית אחד"}\r
@@ -960,7 +960,7 @@ he{
                 other{"{0} פסקל"}\r
                 two{"{0} פסקל"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"פאונד לאינץ׳ רבוע"}\r
                 many{"{0} פאונד לאינץ׳ רבוע"}\r
                 one{"פאונד אחד לאינץ׳ רבוע"}\r
@@ -1036,7 +1036,7 @@ he{
                 other{"{0} ניוטון-מטר"}\r
                 two{"{0} ניוטון-מטר"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"כוח פאונד"}\r
                 many{"{0} כוח פאונד"}\r
                 one{"{0} כוח פאונד"}\r
@@ -1243,7 +1243,7 @@ he{
                 other{"{0} G"}\r
                 two{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 many{"{0} m/s²"}\r
                 one{"{0} m/s²"}\r
@@ -1322,7 +1322,7 @@ he{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ל׳/100ק״מ"}\r
                 many{"{0}ל׳/100ק״מ"}\r
                 one{"{0}ל׳/100ק״מ"}\r
@@ -1689,7 +1689,7 @@ he{
                 other{"{0} hPa"}\r
                 two{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"in Hg"}\r
                 many{"{0} inHg"}\r
                 one{"{0} inHg"}\r
@@ -1703,14 +1703,14 @@ he{
                 other{"{0} מיליבר"}\r
                 two{"{0} מיליבר"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 many{"{0} mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
                 two{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 many{"{0} psi"}\r
                 one{"{0} psi"}\r
@@ -1809,7 +1809,7 @@ he{
                 other{"{0} G"}\r
                 two{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 many{"{0} m/s²"}\r
                 one{"{0} m/s²"}\r
@@ -1957,13 +1957,6 @@ he{
                 other{"{0} mmol/L"}\r
                 two{"{0} mmol/L"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                many{"{0} ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-                two{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 many{"{0}%"}\r
@@ -1978,9 +1971,16 @@ he{
                 other{"{0}‰"}\r
                 two{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                many{"{0} ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+                two{"{0} ppm"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ל׳/100 ק״מ"}\r
                 many{"{0} ל׳/100 ק״מ"}\r
                 one{"ל׳ {0}/100 ק״מ"}\r
@@ -2636,7 +2636,7 @@ he{
                 other{"{0} hPa"}\r
                 two{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"in Hg"}\r
                 many{"{0} inHg"}\r
                 one{"{0} inHg"}\r
@@ -2650,14 +2650,14 @@ he{
                 other{"{0} mbar"}\r
                 two{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 many{"{0} mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
                 two{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 many{"{0} psi"}\r
                 one{"{0} psi"}\r
index 5310c92..535f04e 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 hi{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ hi{
                 one{"{0} गुरुत्व–बल"}\r
                 other{"{0} गुरुत्व–बल"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"मीटर/से²"}\r
                 one{"{0} मीटर प्रति सेकंड वर्ग"}\r
                 other{"{0} मीटर प्रति सेकंड वर्ग"}\r
@@ -128,11 +128,6 @@ hi{
                 one{"{0} मोल"}\r
                 other{"{0} मोल"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} हिस्सा प्रति दस लाख"}\r
-            }\r
             percent{\r
                 dnam{"प्रतिशत"}\r
                 one{"{0} प्रतिशत"}\r
@@ -143,6 +138,11 @@ hi{
                 one{"{0} प्रति हज़ार"}\r
                 other{"{0} प्रति हज़ार"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} हिस्सा प्रति दस लाख"}\r
+            }\r
             permyriad{\r
                 dnam{"प्रति दस हज़ार"}\r
                 one{"{0} प्रति दस हज़ार"}\r
@@ -150,7 +150,7 @@ hi{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"लीटर प्रति 100 किलोमीटर"}\r
                 one{"{0} लीटर प्रति 100 किलोमीटर"}\r
                 other{"{0} लीटर प्रति 100 किलोमीटर"}\r
@@ -675,7 +675,7 @@ hi{
                 one{"{0} हैक्टोपास्कल"}\r
                 other{"{0} हैक्टोपास्कल"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"मर्करी इंच"}\r
                 one{"{0} मर्करी इंच"}\r
                 other{"{0} मर्करी इंच"}\r
@@ -695,7 +695,7 @@ hi{
                 one{"{0} मिलीबार"}\r
                 other{"{0} मिलीबार"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"मर्क्यूरी मिलीमीटर"}\r
                 one{"{0} मर्क्यूरी मिलीमीटर"}\r
                 other{"{0} मर्क्यूरी मिलीमीटर"}\r
@@ -705,7 +705,7 @@ hi{
                 one{"{0} पास्कल"}\r
                 other{"{0} पास्कल"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"पाउंड प्रति वर्ग इंच"}\r
                 one{"{0} पाउंड प्रति वर्ग इंच"}\r
                 other{"{0} पाउंड प्रति वर्ग इंच"}\r
@@ -761,7 +761,7 @@ hi{
                 one{"{0} न्यूटन-मीटर"}\r
                 other{"{0} न्यूटन-मीटर"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"पाउंड-फ़ुट"}\r
                 one{"{0} पाउंड-फ़ुट"}\r
                 other{"{0} पाउंड-फ़ुट"}\r
@@ -964,7 +964,7 @@ hi{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ली॰/100 कि॰मी॰"}\r
                 one{"{0}ली/100कि"}\r
                 other{"{0}ली/100कि"}\r
@@ -1104,7 +1104,7 @@ hi{
                 one{"{0}hPa"}\r
                 other{"{0}hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0}\u0022 Hg"}\r
                 other{"{0}\u0022 Hg"}\r
             }\r
@@ -1162,7 +1162,7 @@ hi{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"मीटर/से²"}\r
                 one{"{0} मी॰/व॰से॰"}\r
                 other{"{0} मी॰/व॰से॰"}\r
@@ -1276,11 +1276,6 @@ hi{
                 one{"{0} मोल"}\r
                 other{"{0} मोल"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"प्रतिशत"}\r
                 one{"{0}%"}\r
@@ -1291,9 +1286,14 @@ hi{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ली॰/100 कि॰मी॰"}\r
                 one{"{0} ली॰/100 कि॰मी॰"}\r
                 other{"{0} ली॰/100 कि॰मी॰"}\r
@@ -1756,7 +1756,7 @@ hi{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1776,7 +1776,7 @@ hi{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
@@ -1786,7 +1786,7 @@ hi{
                 one{"{0} पा॰"}\r
                 other{"{0} पा॰"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
index 530812e..42148d2 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 hr{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -15,7 +15,7 @@ hr{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metri u sekundi na kvadrat"}\r
                 few{"{0} metra u sekundi na kvadrat"}\r
                 one{"{0} metar u sekundi na kvadrat"}\r
@@ -149,12 +149,6 @@ hr{
                 one{"{0} mola"}\r
                 other{"{0} mola"}\r
             }\r
-            part-per-million{\r
-                dnam{"dijelovi na milijun"}\r
-                few{"{0} dijela na milijun"}\r
-                one{"{0} dio na milijun"}\r
-                other{"{0} dijelova na milijun"}\r
-            }\r
             percent{\r
                 dnam{"postotak"}\r
                 few{"{0} posto"}\r
@@ -167,6 +161,12 @@ hr{
                 one{"{0} promil"}\r
                 other{"{0} promila"}\r
             }\r
+            permillion{\r
+                dnam{"dijelovi na milijun"}\r
+                few{"{0} dijela na milijun"}\r
+                one{"{0} dio na milijun"}\r
+                other{"{0} dijelova na milijun"}\r
+            }\r
             permyriad{\r
                 dnam{"permyriad"}\r
                 few{"{0} permyriada"}\r
@@ -175,7 +175,7 @@ hr{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litre na 100 kilometara"}\r
                 few{"{0} litre na 100 kilometara"}\r
                 one{"{0} litra na 100 kilometara"}\r
@@ -816,7 +816,7 @@ hr{
                 one{"{0} hektopaskal"}\r
                 other{"{0} hektopaskala"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inči žive"}\r
                 few{"{0} inča žive"}\r
                 one{"{0} inč žive"}\r
@@ -840,7 +840,7 @@ hr{
                 one{"{0} milibar"}\r
                 other{"{0} milibara"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milimetri živina stupca"}\r
                 few{"{0} milimetra živina stupca"}\r
                 one{"{0} milimetar živina stupca"}\r
@@ -852,7 +852,7 @@ hr{
                 one{"{0} paskal"}\r
                 other{"{0} paskala"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"funte po kvadratnom inču"}\r
                 few{"{0} funte po kvadratnom inču"}\r
                 one{"{0} funta po kvadratnom inču"}\r
@@ -918,7 +918,7 @@ hr{
                 one{"{0} njutnmetar"}\r
                 other{"{0} njutnmetara"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"funte sile po stopi"}\r
                 few{"{0} funte sile po stopi"}\r
                 one{"{0} funta sile po stopi"}\r
@@ -1102,7 +1102,7 @@ hr{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 few{"{0} m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1190,7 +1190,7 @@ hr{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 few{"{0}l/100km"}\r
                 one{"{0}l/100km"}\r
@@ -1605,7 +1605,7 @@ hr{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 few{"{0} inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1615,12 +1615,12 @@ hr{
                 one{"{0} mb"}\r
                 other{"{0} mb"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 few{"{0} mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 few{"{0} psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -1785,7 +1785,7 @@ hr{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 few{"{0} m/s²"}\r
                 one{"{0} m/s²"}\r
@@ -1918,12 +1918,6 @@ hr{
                 one{"{0} mola"}\r
                 other{"{0} mola"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                few{"{0} ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 few{"{0} %"}\r
@@ -1936,6 +1930,12 @@ hr{
                 one{"{0} ‰"}\r
                 other{"{0} ‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                few{"{0} ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 few{"{0} ‱"}\r
                 one{"{0} ‱"}\r
@@ -1943,7 +1943,7 @@ hr{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 few{"{0} l/100 km"}\r
                 one{"{0} l/100 km"}\r
@@ -2537,7 +2537,7 @@ hr{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 few{"{0} inHg"}\r
                 one{"{0} inHg"}\r
@@ -2549,7 +2549,7 @@ hr{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 few{"{0} mm Hg"}\r
                 one{"{0} mm Hg"}\r
@@ -2561,7 +2561,7 @@ hr{
                 one{"{0} Pa"}\r
                 other{"{0} Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 few{"{0} psi"}\r
                 one{"{0} psi"}\r
index a069c2c..80ea80c 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 hsb{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -16,7 +16,7 @@ hsb{
                 other{"{0} jednotkow zemskeho pospěšenja"}\r
                 two{"{0} jednotce zemskeho pospěšenja"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metry na kwadratnu sekundu"}\r
                 few{"{0} metry na kwadratnu sekundu"}\r
                 one{"{0} meter na kwadratnu sekundu"}\r
@@ -641,7 +641,7 @@ hsb{
                 other{"{0} hektopascalow"}\r
                 two{"{0} hektopascalej"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"cóle žiwoslěbroweho stołpika"}\r
                 few{"{0} cóle žiwoslěbroweho stołpika"}\r
                 one{"{0} cól žiwoslěbroweho stołpika"}\r
@@ -655,14 +655,14 @@ hsb{
                 other{"{0} milibarow"}\r
                 two{"{0} milibaraj"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milimetry žiwoslěbroweho stołpika"}\r
                 few{"{0} milimetry žiwoslěbroweho stołpika"}\r
                 one{"{0} milimeter žiwoslěbroweho stołpika"}\r
                 other{"{0} milimetrow žiwoslěbroweho stołpika"}\r
                 two{"{0} milimetraj žiwoslěbroweho stołpika"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"punty na kwadratny cól"}\r
                 few{"{0} punty na kwadratny cól"}\r
                 one{"{0} punt na kwadratny cól"}\r
@@ -1112,7 +1112,7 @@ hsb{
                 other{"{0} hPa"}\r
                 two{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 few{"{0} inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1192,7 +1192,7 @@ hsb{
                 other{"{0} G"}\r
                 two{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 few{"{0} m/s²"}\r
                 one{"{0} m/s²"}\r
@@ -1817,7 +1817,7 @@ hsb{
                 other{"{0} hPa"}\r
                 two{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 few{"{0} inHg"}\r
                 one{"{0} inHg"}\r
@@ -1831,14 +1831,14 @@ hsb{
                 other{"{0} mbar"}\r
                 two{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 few{"{0} mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
                 two{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 few{"{0} psi"}\r
                 one{"{0} psi"}\r
index b4f7917..4346b63 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 hu{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ hu{
                 one{"{0} g gyorsulás"}\r
                 other{"{0} g gyorsulás"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"méter per másodpercnégyzet"}\r
                 one{"{0} méter per másodpercnégyzet"}\r
                 other{"{0} méter per másodpercnégyzet"}\r
@@ -123,11 +123,6 @@ hu{
                 one{"{0} mól"}\r
                 other{"{0} mól"}\r
             }\r
-            part-per-million{\r
-                dnam{"részecske/millió"}\r
-                one{"{0} részecske/millió"}\r
-                other{"{0} részecske/millió"}\r
-            }\r
             percent{\r
                 dnam{"százalék"}\r
                 one{"{0} százalék"}\r
@@ -138,6 +133,11 @@ hu{
                 one{"{0} ezrelék"}\r
                 other{"{0} ezrelék"}\r
             }\r
+            permillion{\r
+                dnam{"részecske/millió"}\r
+                one{"{0} részecske/millió"}\r
+                other{"{0} részecske/millió"}\r
+            }\r
             permyriad{\r
                 dnam{"tízezrelék"}\r
                 one{"{0} tízezrelék"}\r
@@ -145,7 +145,7 @@ hu{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"liter/100 km"}\r
                 one{"{0} liter/100 km"}\r
                 other{"{0} liter/100 km"}\r
@@ -672,7 +672,7 @@ hu{
                 one{"{0} hektopascal"}\r
                 other{"{0} hektopascal"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"higanyhüvelyk"}\r
                 one{"{0} higanyhüvelyk"}\r
                 other{"{0} higanyhüvelyk"}\r
@@ -692,7 +692,7 @@ hu{
                 one{"{0} millibar"}\r
                 other{"{0} millibar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"higanymilliméter"}\r
                 one{"{0} higanymilliméter"}\r
                 other{"{0} higanymilliméter"}\r
@@ -702,7 +702,7 @@ hu{
                 one{"{0} pascal"}\r
                 other{"{0} pascal"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"font per négyzethüvelyk"}\r
                 one{"{0} font per négyzethüvelyk"}\r
                 other{"{0} font per négyzethüvelyk"}\r
@@ -758,7 +758,7 @@ hu{
                 one{"{0} newtonméter"}\r
                 other{"{0} newtonméter"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"fontláb"}\r
                 one{"{0} fontláb"}\r
                 other{"{0} fontláb"}\r
@@ -963,7 +963,7 @@ hu{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100 km"}\r
@@ -1149,7 +1149,8 @@ hu{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
+                dnam{"Hgin"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
             }\r
@@ -1157,12 +1158,12 @@ hu{
                 one{"{0} mb"}\r
                 other{"{0} mb"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"Hgmm"}\r
                 one{"{0} Hgmm"}\r
                 other{"{0} Hgmm"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -1230,7 +1231,7 @@ hu{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1334,11 +1335,6 @@ hu{
                 one{"{0} mmol/l"}\r
                 other{"{0} mmol/l"}\r
             }\r
-            part-per-million{\r
-                dnam{"részecske/millió"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"százalék"}\r
                 one{"{0}%"}\r
@@ -1349,9 +1345,14 @@ hu{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"részecske/millió"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100km"}\r
@@ -1810,7 +1811,7 @@ hu{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1820,7 +1821,7 @@ hu{
                 one{"{0} mb"}\r
                 other{"{0} mb"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"Hgmm"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
@@ -1830,7 +1831,7 @@ hu{
                 one{"{0} Pa"}\r
                 other{"{0} Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
index db5f7a5..5b15720 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 hy{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ hy{
                 one{"{0} g"}\r
                 other{"{0} g"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"մետրեր/վայրկյան քառակուսի"}\r
                 one{"{0} մետր/վայրկյան քառակուսի"}\r
                 other{"{0} մետր/վայրկյան քառակուսի"}\r
@@ -128,11 +128,6 @@ hy{
                 one{"{0} մոլ"}\r
                 other{"{0} մոլ"}\r
             }\r
-            part-per-million{\r
-                dnam{"մասնիկներ միլիոնի վրա"}\r
-                one{"{0} մասնիկ միլիոնի վրա"}\r
-                other{"{0} մասնիկ միլիոնի վրա"}\r
-            }\r
             percent{\r
                 dnam{"տոկոս"}\r
                 one{"{0} տոկոս"}\r
@@ -143,6 +138,11 @@ hy{
                 one{"{0} պրոմիլ"}\r
                 other{"{0} պրոմիլ"}\r
             }\r
+            permillion{\r
+                dnam{"մասնիկներ միլիոնի վրա"}\r
+                one{"{0} մասնիկ միլիոնի վրա"}\r
+                other{"{0} մասնիկ միլիոնի վրա"}\r
+            }\r
             permyriad{\r
                 dnam{"պերմիրիադ"}\r
                 one{"{0} պերմիրիադ"}\r
@@ -150,7 +150,7 @@ hy{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"լիտրեր 100 կիլոմետրի վրա"}\r
                 one{"{0} լիտր 100 կիլոմետրի վրա"}\r
                 other{"{0} լիտր 100 կիլոմետրի վրա"}\r
@@ -675,7 +675,7 @@ hy{
                 one{"{0} հեկտոպասկալ"}\r
                 other{"{0} հեկտոպասկալ"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"սնդիկի սյան դյույմեր"}\r
                 one{"{0} դյույմ սնդիկի սյուն"}\r
                 other{"{0} դյույմ սնդիկի սյուն"}\r
@@ -695,7 +695,7 @@ hy{
                 one{"{0} միլիբար"}\r
                 other{"{0} միլիբար"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"սնդիկի սյան միլիմետրեր"}\r
                 one{"{0} միլիմետր սնդիկի սյուն"}\r
                 other{"{0} միլիմետր սնդիկի սյուն"}\r
@@ -705,7 +705,7 @@ hy{
                 one{"{0} պասկալ"}\r
                 other{"{0} պասկալ"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"ֆունտեր քառակուսի դյույմի վրա"}\r
                 one{"{0} ֆունտ քառակուսի դյույմի վրա"}\r
                 other{"{0} ֆունտ քառակուսի դյույմի վրա"}\r
@@ -761,7 +761,7 @@ hy{
                 one{"{0} նյուտոն-մետր"}\r
                 other{"{0} նյուտոն-մետր"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"ֆունտ-ֆուտեր"}\r
                 one{"{0} ֆունտ-ֆուտ"}\r
                 other{"{0} ֆունտ-ֆուտ"}\r
@@ -963,7 +963,7 @@ hy{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"լ/100 կմ"}\r
                 one{"{0} լ/100 կմ"}\r
                 other{"{0} լ/100 կմ"}\r
@@ -1103,7 +1103,7 @@ hy{
                 one{"{0} հՊա"}\r
                 other{"{0} հՊա"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0}\u0022 ս. ս."}\r
                 other{"{0}\u0022 ս. ս"}\r
             }\r
@@ -1161,7 +1161,7 @@ hy{
                 one{"{0} g"}\r
                 other{"{0} g"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"մ/վ²"}\r
                 one{"{0} մ/վ²"}\r
                 other{"{0} մ/վ²"}\r
@@ -1275,11 +1275,6 @@ hy{
                 one{"{0} մոլ"}\r
                 other{"{0} մոլ"}\r
             }\r
-            part-per-million{\r
-                dnam{"մասնիկ/միլիոն"}\r
-                one{"{0} մասնիկ/միլիոն"}\r
-                other{"{0} մասնիկ/միլիոն"}\r
-            }\r
             percent{\r
                 dnam{"տոկոս"}\r
                 one{"{0}%"}\r
@@ -1290,6 +1285,11 @@ hy{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"մասնիկ/միլիոն"}\r
+                one{"{0} մասնիկ/միլիոն"}\r
+                other{"{0} մասնիկ/միլիոն"}\r
+            }\r
             permyriad{\r
                 dnam{"‱"}\r
                 one{"{0}‱"}\r
@@ -1297,7 +1297,7 @@ hy{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"լ/100 կմ"}\r
                 one{"{0} լ/100 կմ"}\r
                 other{"{0} լ/100 կմ"}\r
@@ -1799,7 +1799,7 @@ hy{
                 one{"{0} հՊա"}\r
                 other{"{0} հՊա"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"դյույմ ս.ս."}\r
                 one{"{0} դյմ. ս.ս."}\r
                 other{"{0} դյմ. ս.ս."}\r
@@ -1819,7 +1819,7 @@ hy{
                 one{"{0} մբար"}\r
                 other{"{0} մբար"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"մմ ս.ս."}\r
                 one{"{0} մմ ս.ս."}\r
                 other{"{0} մմ ս.ս."}\r
@@ -1829,7 +1829,7 @@ hy{
                 one{"{0} Պա"}\r
                 other{"{0} Պա"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"ֆ․/քառ․ դյմ"}\r
                 one{"{0} ֆ./քառ․ դյմ"}\r
                 other{"{0} ֆ./քառ․ դյմ"}\r
@@ -1885,7 +1885,7 @@ hy{
                 one{"{0} Ն·մ"}\r
                 other{"{0} Ն·մ"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"ֆնտ-ֆտ"}\r
                 one{"{0} ֆնտ-ֆտ"}\r
                 other{"{0} ֆնտ-ֆտ"}\r
index 9df489c..773ddae 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ia{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"hh:mm"}\r
         hms{"hh:mm:ss"}\r
@@ -14,7 +14,7 @@ ia{
                 one{"{0} G"}\r
                 other{"{0} fortia g"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metros per secunda quadrate"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} metros per secunda quadrate"}\r
@@ -118,11 +118,6 @@ ia{
                 one{"{0} mmol/L"}\r
                 other{"{0} millimoles per litro"}\r
             }\r
-            part-per-million{\r
-                dnam{"partes per million"}\r
-                one{"{0} ppm"}\r
-                other{"{0} partes per million"}\r
-            }\r
             percent{\r
                 dnam{"per cento"}\r
                 one{"{0}%"}\r
@@ -133,9 +128,14 @@ ia{
                 one{"{0}‰"}\r
                 other{"{0} per mille"}\r
             }\r
+            permillion{\r
+                dnam{"partes per million"}\r
+                one{"{0} ppm"}\r
+                other{"{0} partes per million"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litros per 100 kilometros"}\r
                 one{"{0} L/100km"}\r
                 other{"{0} litros per 100 kilometros"}\r
@@ -563,7 +563,7 @@ ia{
                 one{"{0} hPa"}\r
                 other{"{0} hectopascales"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"pollices de mercurio"}\r
                 one{"{0} inHg"}\r
                 other{"{0} pollices de mercurio"}\r
@@ -573,12 +573,12 @@ ia{
                 one{"{0} mbar"}\r
                 other{"{0} millibares"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milimetros de mercurio"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} milimetros de mercurio"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"libras per pollice quadrate"}\r
                 one{"{0} lb/in²"}\r
                 other{"{0} libras per pollice quadrate"}\r
@@ -768,7 +768,7 @@ ia{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 one{"{0} L/100km"}\r
                 other{"{0} L/100km"}\r
@@ -886,7 +886,7 @@ ia{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -990,11 +990,6 @@ ia{
                 one{"{0} mmol/L"}\r
                 other{"{0} mmol/L"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 one{"{0}%"}\r
@@ -1005,9 +1000,14 @@ ia{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 one{"{0} L/100km"}\r
                 other{"{0} L/100km"}\r
@@ -1435,7 +1435,7 @@ ia{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1445,12 +1445,12 @@ ia{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"lb/in²"}\r
                 one{"{0} lb/in²"}\r
                 other{"{0} lb/in²"}\r
index c2e25d4..5c37ff4 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 id{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h.mm"}\r
         hms{"h.mm.ss"}\r
@@ -13,7 +13,7 @@ id{
                 dnam{"g-force"}\r
                 other{"{0} g-force"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"meter per detik persegi"}\r
                 other{"{0} meter per detik persegi"}\r
             }\r
@@ -99,10 +99,6 @@ id{
                 dnam{"millimol per liter"}\r
                 other{"{0} millimol per liter"}\r
             }\r
-            part-per-million{\r
-                dnam{"bagian per juta"}\r
-                other{"{0} bagian per juta"}\r
-            }\r
             percent{\r
                 dnam{"persen"}\r
                 other{"{0} persen"}\r
@@ -111,13 +107,17 @@ id{
                 dnam{"permil"}\r
                 other{"{0} permil"}\r
             }\r
+            permillion{\r
+                dnam{"bagian per juta"}\r
+                other{"{0} bagian per juta"}\r
+            }\r
             permyriad{\r
                 dnam{"permyriad"}\r
                 other{"{0} permyriad"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"liter per 100 kilometer"}\r
                 other{"{0} liter per 100 kilometer"}\r
             }\r
@@ -551,7 +551,7 @@ id{
                 dnam{"hektopascal"}\r
                 other{"{0} hektopascal"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inci merkuri"}\r
                 other{"{0} inci merkuri"}\r
             }\r
@@ -567,7 +567,7 @@ id{
                 dnam{"milibar"}\r
                 other{"{0} milibar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milimeter merkuri"}\r
                 other{"{0} milimeter merkuri"}\r
             }\r
@@ -575,7 +575,7 @@ id{
                 dnam{"pascal"}\r
                 other{"{0} pascal"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"pon per inci persegi"}\r
                 other{"{0} pon per inci persegi"}\r
             }\r
@@ -621,7 +621,7 @@ id{
                 dnam{"newton meter"}\r
                 other{"{0} newton meter"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"pound kaki"}\r
                 other{"{0} pound kaki"}\r
             }\r
@@ -743,7 +743,7 @@ id{
             g-force{\r
                 other{"{0} g"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/d²"}\r
                 other{"{0}m/d²"}\r
             }\r
@@ -766,7 +766,7 @@ id{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 other{"{0}L/100km"}\r
             }\r
@@ -925,10 +925,10 @@ id{
             }\r
         }\r
         pressure{\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"″ Hg"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 other{"{0} mmHg"}\r
             }\r
@@ -965,7 +965,7 @@ id{
                 dnam{"g-force"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"meter/dtk²"}\r
                 other{"{0} m/dtk²"}\r
             }\r
@@ -1051,10 +1051,6 @@ id{
                 dnam{"millimol/liter"}\r
                 other{"{0} mmol/L"}\r
             }\r
-            part-per-million{\r
-                dnam{"bagian/juta"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"persen"}\r
                 other{"{0}%"}\r
@@ -1063,12 +1059,16 @@ id{
                 dnam{"permil"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"bagian/juta"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"permyriad"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 other{"{0} L/100km"}\r
             }\r
@@ -1474,7 +1474,7 @@ id{
                 dnam{"hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"in Hg"}\r
                 other{"{0} inHg"}\r
             }\r
@@ -1482,11 +1482,11 @@ id{
                 dnam{"mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 other{"{0} psi"}\r
             }\r
index f47ad8e..dbccb90 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ig{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         duration{\r
             century{\r
index 5085bb9..4f4a7a1 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ii{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b2b020c..efe5f77 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 is{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ is{
                 one{"{0} þyngdarhröðun"}\r
                 other{"{0} þyngdarhröðun"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metrar á sekúndu, á sekúndu"}\r
                 one{"{0} metri á sekúndu, á sekúndu"}\r
                 other{"{0} metrar á sekúndu, á sekúndu"}\r
@@ -128,11 +128,6 @@ is{
                 one{"{0} mól"}\r
                 other{"{0} mól"}\r
             }\r
-            part-per-million{\r
-                dnam{"milljónarhlutar"}\r
-                one{"{0} milljónarhluti"}\r
-                other{"{0} milljónarhlutar"}\r
-            }\r
             percent{\r
                 dnam{"prósent"}\r
                 one{"{0} prósent"}\r
@@ -143,6 +138,11 @@ is{
                 one{"{0} prómill"}\r
                 other{"{0} prómill"}\r
             }\r
+            permillion{\r
+                dnam{"milljónarhlutar"}\r
+                one{"{0} milljónarhluti"}\r
+                other{"{0} milljónarhlutar"}\r
+            }\r
             permyriad{\r
                 dnam{"permyriad"}\r
                 one{"{0} permyriad"}\r
@@ -150,7 +150,7 @@ is{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"lítrar á 100 kílómetra"}\r
                 one{"{0} lítri á 100 kílómetra"}\r
                 other{"{0} lítrar á 100 kílómetra"}\r
@@ -686,7 +686,7 @@ is{
                 one{"{0} hektópaskal"}\r
                 other{"{0} hektópasköl"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"tommur af kvikasilfri"}\r
                 one{"{0} tomma af kvikasilfri"}\r
                 other{"{0} tommur af kvikasilfri"}\r
@@ -706,7 +706,7 @@ is{
                 one{"{0} millibar"}\r
                 other{"{0} millibör"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"millimetrar af kvikasilfri"}\r
                 one{"{0} millimetrar af kvikasilfri"}\r
                 other{"{0} millimetrar af kvikasilfri"}\r
@@ -716,7 +716,7 @@ is{
                 one{"{0} paskal"}\r
                 other{"{0} pasköl"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"pund á fertommu"}\r
                 one{"{0} pund á fertommu"}\r
                 other{"{0} pund á fertommu"}\r
@@ -772,7 +772,7 @@ is{
                 one{"{0} njútonmetri"}\r
                 other{"{0} njútonmetrar"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"pundfet"}\r
                 one{"{0} pundfet"}\r
                 other{"{0} pundfet"}\r
@@ -923,7 +923,7 @@ is{
                 one{"{0}G"}\r
                 other{"{0}G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -990,19 +990,19 @@ is{
                 one{"{0}mmol/L"}\r
                 other{"{0}mmol/L"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0}ppm"}\r
-                other{"{0}ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 one{"{0}%"}\r
                 other{"{0}%"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0}ppm"}\r
+                other{"{0}ppm"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100km"}\r
                 one{"{0}l/100km"}\r
                 other{"{0}l/100km"}\r
@@ -1267,7 +1267,7 @@ is{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0}\u0022 Hg"}\r
                 other{"{0}\u0022 Hg"}\r
@@ -1277,12 +1277,12 @@ is{
                 one{"{0} mbar"}\r
                 other{"{0} mbör"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -1361,7 +1361,7 @@ is{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metrar/sek²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1475,11 +1475,6 @@ is{
                 one{"{0} mól"}\r
                 other{"{0} mól"}\r
             }\r
-            part-per-million{\r
-                dnam{"milljónarhlutar"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"prósent"}\r
                 one{"{0}%"}\r
@@ -1490,12 +1485,17 @@ is{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"milljónarhlutar"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"permyriad"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100 km"}\r
@@ -2019,7 +2019,7 @@ is{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -2029,7 +2029,7 @@ is{
                 one{"{0} mbar"}\r
                 other{"{0} mbör"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
@@ -2039,7 +2039,7 @@ is{
                 one{"{0} Pa"}\r
                 other{"{0} Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
index cc5337c..7f4a782 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 it{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ it{
                 one{"{0} forza g"}\r
                 other{"{0} forza g"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metri al secondo quadrato"}\r
                 one{"{0} metro al secondo quadrato"}\r
                 other{"{0} metri al secondo quadrato"}\r
@@ -128,11 +128,6 @@ it{
                 one{"{0} mole"}\r
                 other{"{0} moli"}\r
             }\r
-            part-per-million{\r
-                dnam{"parti per milione"}\r
-                one{"{0} parte per milione"}\r
-                other{"{0} parti per milione"}\r
-            }\r
             percent{\r
                 dnam{"percentuale"}\r
                 one{"{0} percento"}\r
@@ -143,6 +138,11 @@ it{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"parti per milione"}\r
+                one{"{0} parte per milione"}\r
+                other{"{0} parti per milione"}\r
+            }\r
             permyriad{\r
                 dnam{"punto base"}\r
                 one{"{0} punto base"}\r
@@ -150,7 +150,7 @@ it{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litri per 100 chilometri"}\r
                 one{"{0} litro per 100 chilometri"}\r
                 other{"{0} litri per 100 chilometri"}\r
@@ -647,7 +647,7 @@ it{
                 one{"{0} ettopascal"}\r
                 other{"{0} ettopascal"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"pollici di mercurio"}\r
                 one{"{0} pollice di mercurio"}\r
                 other{"{0} pollici di mercurio"}\r
@@ -667,12 +667,12 @@ it{
                 one{"{0} millibar"}\r
                 other{"{0} millibar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"millimetri di mercurio"}\r
                 one{"{0} millimetro di mercurio"}\r
                 other{"{0} millimetri di mercurio"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"libbre per pollice quadrato"}\r
                 one{"{0} libbra per pollice quadrato"}\r
                 other{"{0} libbre per pollice quadrato"}\r
@@ -728,7 +728,7 @@ it{
                 one{"{0} newton metro"}\r
                 other{"{0} newton metri"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"libbre-piede"}\r
                 one{"{0} libbra-piede"}\r
                 other{"{0} libbre-piedi"}\r
@@ -931,7 +931,7 @@ it{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 one{"{0} L/100km"}\r
                 other{"{0} L/100km"}\r
@@ -1071,7 +1071,7 @@ it{
                 one{"{0}hPa"}\r
                 other{"{0}hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0}inHg"}\r
                 other{"{0}inHg"}\r
             }\r
@@ -1125,7 +1125,7 @@ it{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1234,11 +1234,6 @@ it{
                 one{"{0} mmol/l"}\r
                 other{"{0} mmol/l"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"percento"}\r
                 one{"{0}%"}\r
@@ -1249,9 +1244,14 @@ it{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 one{"{0} L/100km"}\r
                 other{"{0} L/100km"}\r
@@ -1699,7 +1699,7 @@ it{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1709,12 +1709,12 @@ it{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -1770,7 +1770,7 @@ it{
                 one{"{0} Nm"}\r
                 other{"{0} Nm"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lb-ft"}\r
                 one{"{0} lb-ft"}\r
                 other{"{0} lb-ft"}\r
index 30f24fc..dc14326 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ja{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -13,7 +13,7 @@ ja{
                 dnam{"重力加速度"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"メートル毎秒毎秒"}\r
                 other{"{0} メートル毎秒毎秒"}\r
             }\r
@@ -108,10 +108,6 @@ ja{
                 dnam{"モル"}\r
                 other{"{0} モル"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"パーセント"}\r
                 other{"{0} パーセント"}\r
@@ -120,13 +116,17 @@ ja{
                 dnam{"パーミル"}\r
                 other{"{0} パーミル"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"パーミリアド"}\r
                 other{"{0} パーミリアド"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"リットル毎100キロメートル"}\r
                 other{"{0} リットル毎100キロメートル"}\r
             }\r
@@ -568,7 +568,7 @@ ja{
                 dnam{"ヘクトパスカル"}\r
                 other{"{0} ヘクトパスカル"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"水銀柱インチ"}\r
                 other{"{0} 水銀柱インチ"}\r
             }\r
@@ -584,7 +584,7 @@ ja{
                 dnam{"ミリバール"}\r
                 other{"{0} ミリバール"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"水銀柱ミリメートル"}\r
                 other{"{0} 水銀柱ミリメートル"}\r
             }\r
@@ -592,7 +592,7 @@ ja{
                 dnam{"パスカル"}\r
                 other{"{0} パスカル"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"重量ポンド毎平方インチ"}\r
                 other{"{0} 重量ポンド毎平方インチ"}\r
             }\r
@@ -638,7 +638,7 @@ ja{
                 dnam{"ニュートンメートル"}\r
                 other{"{0} ニュートンメートル"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"ポンドフィート"}\r
                 other{"{0} ポンドフィート"}\r
             }\r
@@ -765,7 +765,7 @@ ja{
                 dnam{"重力加速度"}\r
                 other{"{0}G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 other{"{0}m/s²"}\r
             }\r
@@ -818,7 +818,7 @@ ja{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 other{"{0}L/100km"}\r
             }\r
@@ -1125,7 +1125,7 @@ ja{
                 dnam{"hPa"}\r
                 other{"{0}hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"水銀柱インチ"}\r
                 other{"{0}\u0022 Hg"}\r
             }\r
@@ -1133,11 +1133,11 @@ ja{
                 dnam{"ミリバール"}\r
                 other{"{0}mb"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"水銀柱ミリメートル"}\r
                 other{"{0}mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"重量ポンド毎平方インチ"}\r
                 other{"{0}psi"}\r
             }\r
@@ -1254,7 +1254,7 @@ ja{
                 dnam{"重力加速度"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 other{"{0} m/s²"}\r
             }\r
@@ -1349,10 +1349,6 @@ ja{
                 dnam{"モル"}\r
                 other{"{0} mol"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"パーセント"}\r
                 other{"{0}%"}\r
@@ -1361,13 +1357,17 @@ ja{
                 dnam{"パーミル"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"パーミリアド"}\r
                 other{"{0}‱"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 other{"{0} L/100km"}\r
             }\r
@@ -1810,7 +1810,7 @@ ja{
                 dnam{"hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"水銀柱インチ"}\r
                 other{"{0} inHg"}\r
             }\r
@@ -1826,7 +1826,7 @@ ja{
                 dnam{"ミリバール"}\r
                 other{"{0} mb"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"水銀柱ミリメートル"}\r
                 other{"{0} mm Hg"}\r
             }\r
@@ -1834,7 +1834,7 @@ ja{
                 dnam{"パスカル"}\r
                 other{"{0} Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"重量ポンド毎平方インチ"}\r
                 other{"{0} psi"}\r
             }\r
@@ -1880,7 +1880,7 @@ ja{
                 dnam{"ニュートンメートル"}\r
                 other{"{0} N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"ポンドフィート"}\r
                 other{"{0} lbf⋅ft"}\r
             }\r
diff --git a/source/data/unit/ja_JP.txt b/source/data/unit/ja_JP.txt
deleted file mode 100644 (file)
index 093ed5b..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-// © 2016 and later: Unicode, Inc. and others.\r
-// License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * generated alias target\r
- */\r
-ja_JP{\r
-    ___{""}\r
-}\r
diff --git a/source/data/unit/ja_JP_TRADITIONAL.txt b/source/data/unit/ja_JP_TRADITIONAL.txt
deleted file mode 100644 (file)
index b3821f3..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-// © 2016 and later: Unicode, Inc. and others.\r
-// License & terms of use: http://www.unicode.org/copyright.html#License\r
-ja_JP_TRADITIONAL{\r
-    calendar{\r
-        default{"japanese"}\r
-    }\r
-}\r
index 736e5f6..638dfcb 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 jgo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         duration{\r
             day{\r
index 122cab0..68f61f5 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 jmc{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f5b238b..260c3b2 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 jv{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -13,7 +13,7 @@ jv{
                 dnam{"tenaga-g"}\r
                 other{"{0} tenaga-g"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"meter saben detik kuadrat"}\r
                 other{"{0} meter saben detik kuadrat"}\r
             }\r
@@ -99,10 +99,6 @@ jv{
                 dnam{"milimol saben liter"}\r
                 other{"{0} milimol saben liter"}\r
             }\r
-            part-per-million{\r
-                dnam{"bagean saben yuta"}\r
-                other{"{0} bagean saben yuta"}\r
-            }\r
             percent{\r
                 dnam{"persen"}\r
                 other{"{0} persen"}\r
@@ -111,13 +107,17 @@ jv{
                 dnam{"permil"}\r
                 other{"{0} permil"}\r
             }\r
+            permillion{\r
+                dnam{"bagean saben yuta"}\r
+                other{"{0} bagean saben yuta"}\r
+            }\r
             permyriad{\r
                 dnam{"permiriad"}\r
                 other{"{0} permiriad"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"liter saben 100 kilometer"}\r
                 other{"{0} liter saben 100 kilometer"}\r
             }\r
@@ -535,7 +535,7 @@ jv{
                 dnam{"hektopaskal"}\r
                 other{"{0} hektopaskal"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inci saka raksa"}\r
                 other{"{0} inci saka raksa"}\r
             }\r
@@ -551,7 +551,7 @@ jv{
                 dnam{"milibar"}\r
                 other{"{0} milibar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milimeter saka raksa"}\r
                 other{"{0} milimeter saka raksa"}\r
             }\r
@@ -559,7 +559,7 @@ jv{
                 dnam{"paskal"}\r
                 other{"{0} paskal"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"pon saben inci kuadrat"}\r
                 other{"{0} pon saben inci kuadrat"}\r
             }\r
@@ -605,7 +605,7 @@ jv{
                 dnam{"newton-meter"}\r
                 other{"{0} newton-meter"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"pon-kaki"}\r
                 other{"{0} pon-kaki"}\r
             }\r
@@ -733,7 +733,7 @@ jv{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100 km"}\r
                 other{"{0} L/100 km"}\r
             }\r
@@ -832,7 +832,7 @@ jv{
                 dnam{"tenaga-g"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"meter/detik²"}\r
                 other{"{0} meter/detik²"}\r
             }\r
@@ -918,10 +918,6 @@ jv{
                 dnam{"mmol/L"}\r
                 other{"{0} mmol/L"}\r
             }\r
-            part-per-million{\r
-                dnam{"bagean/yuta"}\r
-                other{"{0} bagean saben yuta"}\r
-            }\r
             percent{\r
                 dnam{"persen"}\r
                 other{"{0}%"}\r
@@ -930,12 +926,16 @@ jv{
                 dnam{"permil"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"bagean/yuta"}\r
+                other{"{0} bagean saben yuta"}\r
+            }\r
             permyriad{\r
                 dnam{"permiriad"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100 km"}\r
                 other{"{0} L/100 km"}\r
             }\r
@@ -1332,7 +1332,7 @@ jv{
                 dnam{"hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 other{"{0} inHg"}\r
             }\r
@@ -1340,11 +1340,11 @@ jv{
                 dnam{"mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 other{"{0} psi"}\r
             }\r
@@ -1386,7 +1386,7 @@ jv{
             }\r
         }\r
         torque{\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"pon-kaki"}\r
                 other{"{0} pon-kaki"}\r
             }\r
index 018d5d0..04930b9 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ka{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ ka{
                 one{"{0} ინერციის ძალა"}\r
                 other{"{0} ინერციის ძალა"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"მეტრი კვადრატულ წამში"}\r
                 one{"{0} მ/წმ²"}\r
                 other{"{0} მ/წმ²"}\r
@@ -123,11 +123,6 @@ ka{
                 one{"{0} მილიმოლი ლიტრზე"}\r
                 other{"{0} მილიმოლი ლიტრზე"}\r
             }\r
-            part-per-million{\r
-                dnam{"ნაწილი მილიონზე"}\r
-                one{"{0} ნაწილი მილიონზე"}\r
-                other{"{0} ნაწილი მილიონზე"}\r
-            }\r
             percent{\r
                 dnam{"პროცენტი"}\r
                 one{"{0} პროცენტი"}\r
@@ -138,9 +133,14 @@ ka{
                 one{"{0} პრომილე"}\r
                 other{"{0} პრომილე"}\r
             }\r
+            permillion{\r
+                dnam{"ნაწილი მილიონზე"}\r
+                one{"{0} ნაწილი მილიონზე"}\r
+                other{"{0} ნაწილი მილიონზე"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ლიტრი 100 კილომეტრში"}\r
                 one{"{0} ლიტრი 100 კილომეტრში"}\r
                 other{"{0} ლიტრი 100 კილომეტრში"}\r
@@ -645,7 +645,7 @@ ka{
                 one{"{0} ჰექტოპასკალი"}\r
                 other{"{0} ჰექტოპასკალი"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"ვერცხლისწყლის დუიმი"}\r
                 one{"{0} ვერცხლისწყლის დუიმი"}\r
                 other{"{0} ვერცხლისწყლის დუიმი"}\r
@@ -665,7 +665,7 @@ ka{
                 one{"{0} მილიბარი"}\r
                 other{"{0} მილიბარი"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"მილიმეტრი ვერცხლისწყლის სვეტისა"}\r
                 one{"{0} მილიმეტრი ვერცხლისწყლის სვეტისა"}\r
                 other{"{0} მილიმეტრი ვერცხლისწყლის სვეტისა"}\r
@@ -675,7 +675,7 @@ ka{
                 one{"{0} პასკალი"}\r
                 other{"{0} პასკალი"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"ფუნტი კვადრატულ დუიმზე"}\r
                 one{"{0} ფუნტი კვადრატულ დუიმზე"}\r
                 other{"{0} ფუნტი კვადრატულ დუიმზე"}\r
@@ -921,7 +921,7 @@ ka{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ლ/100კმ"}\r
                 one{"{0}ლ/100კმ"}\r
                 other{"{0}ლ/100კმ"}\r
@@ -1061,7 +1061,7 @@ ka{
                 one{"{0} ჰპა"}\r
                 other{"{0} ჰპა"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} ვრც. დმ."}\r
                 other{"{0} ვრც. დმ."}\r
             }\r
@@ -1119,7 +1119,7 @@ ka{
                 one{"{0} ინ. ძ."}\r
                 other{"{0} ინ. ძ."}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"მ/წმ²"}\r
                 one{"{0} მ/წმ²"}\r
                 other{"{0} მ/წმ²"}\r
@@ -1228,11 +1228,6 @@ ka{
                 one{"{0} მმოლ/ლ"}\r
                 other{"{0} მმოლ/ლ"}\r
             }\r
-            part-per-million{\r
-                dnam{"ნაწილი/მილიონზე"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 one{"{0}%"}\r
@@ -1243,9 +1238,14 @@ ka{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ნაწილი/მილიონზე"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ლ/100კმ"}\r
                 one{"{0} ლ/100კმ"}\r
                 other{"{0} ლ/100კმ"}\r
@@ -1740,7 +1740,7 @@ ka{
                 one{"{0} ჰპა"}\r
                 other{"{0} ჰპა"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"ვრც. დმ."}\r
                 one{"{0} ვრც. დმ."}\r
                 other{"{0} ვრც. დმ."}\r
@@ -1760,7 +1760,7 @@ ka{
                 one{"{0} მბარი"}\r
                 other{"{0} მბარი"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"მმ ვწყ. სვ."}\r
                 one{"{0} მმ ვწყ. სვ."}\r
                 other{"{0} მმ ვწყ. სვ."}\r
@@ -1770,7 +1770,7 @@ ka{
                 one{"{0} პა"}\r
                 other{"{0} პა"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"ფნტ. კვ. დმ."}\r
                 one{"{0} ფნტ. კვ. დმ."}\r
                 other{"{0} ფნტ. კვ. დმ."}\r
index a7d1802..7d163e8 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kab{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a74735a..9b63ab6 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kam{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0961470..408b202 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kde{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4288064..28b3a20 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kea{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -13,7 +13,7 @@ kea{
                 dnam{"forsa G"}\r
                 other{"{0} forsa G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metru pur sigundu kuadradu"}\r
                 other{"{0} metru pur sigundu kuadradu"}\r
             }\r
@@ -100,10 +100,6 @@ kea{
                 dnam{"milimol pur litru"}\r
                 other{"{0} milimol pur litru"}\r
             }\r
-            part-per-million{\r
-                dnam{"parti pur milhãu"}\r
-                other{"{0} parti pur milhãu"}\r
-            }\r
             percent{\r
                 dnam{"pursentu"}\r
                 other{"{0} pursentu"}\r
@@ -112,13 +108,17 @@ kea{
                 dnam{"pur mil"}\r
                 other{"{0} pur mil"}\r
             }\r
+            permillion{\r
+                dnam{"parti pur milhãu"}\r
+                other{"{0} parti pur milhãu"}\r
+            }\r
             permyriad{\r
                 dnam{"pontu bazi"}\r
                 other{"{0} pontu bazi"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litru pur 100 kilómetru"}\r
                 other{"{0} litru pur 100 kilómetru"}\r
             }\r
@@ -546,7 +546,7 @@ kea{
                 dnam{"ektopaskal"}\r
                 other{"{0} ektopaskal"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"pulegada di merkúriu"}\r
                 other{"{0} pulegada di merkúriu"}\r
             }\r
@@ -562,7 +562,7 @@ kea{
                 dnam{"milibar"}\r
                 other{"{0} milibar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milímetru di merkúriu"}\r
                 other{"{0} milímetru di merkúriu"}\r
             }\r
@@ -570,7 +570,7 @@ kea{
                 dnam{"paskal"}\r
                 other{"{0} paskal"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"libra pur pulegada kuadradu"}\r
                 other{"{0} libra pur pulegada kuadradu"}\r
             }\r
@@ -612,7 +612,7 @@ kea{
                 dnam{"newton-metru"}\r
                 other{"{0} newton-metru"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"pe-libra"}\r
                 other{"{0} pe-libra"}\r
             }\r
@@ -731,7 +731,7 @@ kea{
     }\r
     unitsNarrow{\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100km"}\r
                 other{"{0} l/100km"}\r
             }\r
@@ -896,13 +896,13 @@ kea{
                 dnam{"milimol/litru"}\r
                 other{"{0} mmol/l"}\r
             }\r
-            part-per-million{\r
+            permillion{\r
                 dnam{"parti/milhãu"}\r
                 other{"{0} ppm"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litru/100km"}\r
                 other{"{0} l/100 km"}\r
             }\r
index 9ed4be4..e0920ce 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 khq{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a7fab65..6d073dc 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ki{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bf25776..b1209a2 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kk{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ kk{
                 one{"{0} гравитациялық күш"}\r
                 other{"{0} гравитациялық күш"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"метр/шаршы секунд"}\r
                 one{"{0} метр/шаршы секунд"}\r
                 other{"{0} метр/шаршы секунд"}\r
@@ -128,11 +128,6 @@ kk{
                 one{"{0} моль"}\r
                 other{"{0} моль"}\r
             }\r
-            part-per-million{\r
-                dnam{"миллиондық үлес"}\r
-                one{"{0} миллиондық үлес"}\r
-                other{"{0} миллиондық үлес"}\r
-            }\r
             percent{\r
                 dnam{"пайыз"}\r
                 one{"{0} пайыз"}\r
@@ -143,6 +138,11 @@ kk{
                 one{"{0} промилле"}\r
                 other{"{0} промилле"}\r
             }\r
+            permillion{\r
+                dnam{"миллиондық үлес"}\r
+                one{"{0} миллиондық үлес"}\r
+                other{"{0} миллиондық үлес"}\r
+            }\r
             permyriad{\r
                 dnam{"промириад"}\r
                 one{"{0} промириад"}\r
@@ -150,7 +150,7 @@ kk{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"литр/100 километр"}\r
                 one{"{0} литр/100 километр"}\r
                 other{"{0} литр/100 километр"}\r
@@ -367,6 +367,11 @@ kk{
                 one{"{0} киловатт-сағат"}\r
                 other{"{0} киловатт-сағат"}\r
             }\r
+            therm-us{\r
+                dnam{"америка термі"}\r
+                one{"{0} америка термі"}\r
+                other{"{0} америка термі"}\r
+            }\r
         }\r
         force{\r
             newton{\r
@@ -672,7 +677,7 @@ kk{
                 one{"{0} гектопаскаль"}\r
                 other{"{0} гектопаскаль"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"дюйм сынап бағанасы"}\r
                 one{"{0} дюйм сынап бағанасы"}\r
                 other{"{0} дюйм сынап бағанасы"}\r
@@ -692,7 +697,7 @@ kk{
                 one{"{0} миллибар"}\r
                 other{"{0} миллибар"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"миллиметр сынап бағанасы"}\r
                 one{"{0} миллиметр сынап бағанасы"}\r
                 other{"{0} миллиметр сынап бағанасы"}\r
@@ -702,7 +707,7 @@ kk{
                 one{"{0} паскаль"}\r
                 other{"{0} паскаль"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"фунт/шаршы дюйм"}\r
                 one{"{0} фунт/шаршы дюйм"}\r
                 other{"{0} фунт/шаршы дюйм"}\r
@@ -758,7 +763,7 @@ kk{
                 one{"{0} ньютон-метр"}\r
                 other{"{0} ньютон-метр"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"фунт-фут"}\r
                 one{"{0} фунт-фут"}\r
                 other{"{0} фунт-фут"}\r
@@ -960,7 +965,7 @@ kk{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"л/100 км"}\r
                 one{"{0} л/100 км"}\r
                 other{"{0} л/100 км"}\r
@@ -1100,7 +1105,7 @@ kk{
                 one{"{0} гПа"}\r
                 other{"{0} гПа"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
             }\r
@@ -1158,7 +1163,7 @@ kk{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"метр/сек²"}\r
                 one{"{0} м/с²"}\r
                 other{"{0} м/с²"}\r
@@ -1272,11 +1277,6 @@ kk{
                 one{"{0} моль"}\r
                 other{"{0} моль"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"пайыз"}\r
                 one{"{0}%"}\r
@@ -1287,6 +1287,11 @@ kk{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"‱"}\r
                 one{"{0}‱"}\r
@@ -1294,7 +1299,7 @@ kk{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"л/100 км"}\r
                 one{"{0} л/100 км"}\r
                 other{"{0} л/100 км"}\r
@@ -1512,6 +1517,7 @@ kk{
                 other{"{0} кВт-сағ"}\r
             }\r
             therm-us{\r
+                dnam{"америка термі"}\r
                 one{"{0} амер. термі"}\r
                 other{"{0} амер. термі"}\r
             }\r
@@ -1810,7 +1816,7 @@ kk{
                 one{"{0} гПа"}\r
                 other{"{0} гПа"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"дюйм сынап бағанасы"}\r
                 one{"{0} дюйм с.б."}\r
                 other{"{0} дюйм с.б."}\r
@@ -1830,7 +1836,7 @@ kk{
                 one{"{0} мбар"}\r
                 other{"{0} мбар"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"мм с.б."}\r
                 one{"{0} мм с.б."}\r
                 other{"{0} мм с.б."}\r
@@ -1840,7 +1846,7 @@ kk{
                 one{"{0} Па"}\r
                 other{"{0} Па"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -1896,7 +1902,7 @@ kk{
                 one{"{0} Н⋅м"}\r
                 other{"{0} Н⋅м"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
                 one{"{0} lbf⋅ft"}\r
                 other{"{0} lbf⋅ft"}\r
index b9184b0..860a617 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kkj{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 84b4d79..761bd35 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kl{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -57,7 +57,7 @@ kl{
             }\r
         }\r
         pressure{\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
             }\r
@@ -111,7 +111,7 @@ kl{
             }\r
         }\r
         pressure{\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
             }\r
index a5710d5..8b88bf5 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kln{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 81c4138..302c60e 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 km{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -13,7 +13,7 @@ km{
                 dnam{"កម្លាំង​ទំនាញ"}\r
                 other{"{0} កម្លាំង​ទំនាញ"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"ម៉ែត្រ​ក្នុង​មួយ​វិនាទី​ការ៉េ"}\r
                 other{"{0} ម៉ែត្រ​ក្នុង​មួយ​វិនាទី​ការ៉េ"}\r
             }\r
@@ -102,10 +102,6 @@ km{
                 dnam{"មិល្លីម៉ូលក្នុងមួយលីត្រ"}\r
                 other{"{0} មិល្លីម៉ូលក្នុងមួយលីត្រ"}\r
             }\r
-            part-per-million{\r
-                dnam{"ផ្នែកក្នុងមួយលាន"}\r
-                other{"{0} ផ្នែកក្នុងមួយលាន"}\r
-            }\r
             percent{\r
                 dnam{"ភាគរយ"}\r
                 other{"{0} ភាគរយ"}\r
@@ -114,9 +110,13 @@ km{
                 dnam{"‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ផ្នែកក្នុងមួយលាន"}\r
+                other{"{0} ផ្នែកក្នុងមួយលាន"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"លីត្រក្នុង 100 គីឡូម៉ែត្រ"}\r
                 other{"{0} លីត្រក្នុង 100 គីឡូម៉ែត្រ"}\r
             }\r
@@ -471,7 +471,7 @@ km{
                 dnam{"ហិចតូប៉ាស្កាល់"}\r
                 other{"{0} ហិចតូប៉ាស្កាល់"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"អ៊ីញនៃបារត"}\r
                 other{"{0} អ៊ីញនៃបារត"}\r
             }\r
@@ -479,11 +479,11 @@ km{
                 dnam{"មិល្លីបារ"}\r
                 other{"{0} មិល្លីបារ"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"មិល្លីម៉ែត្រនៃ​បារត"}\r
                 other{"{0} មិល្លីម៉ែត្រនៃ​បារត"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"ផោន​ក្នុង​មួយ​អ៊ីញ​ការ៉េ"}\r
                 other{"{0} ផោន​ក្នុង​មួយ​អ៊ីញ​ការ៉េ"}\r
             }\r
@@ -675,7 +675,7 @@ km{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 other{"{0}L/100km"}\r
             }\r
@@ -788,7 +788,7 @@ km{
             hectopascal{\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 other{"{0}\u0022 Hg"}\r
             }\r
             millibar{\r
@@ -835,7 +835,7 @@ km{
                 dnam{"កម្លាំង​ទំនាញ"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"ម៉ែត្រ​/​វិនាទី​ការ៉េ"}\r
                 other{"{0} m/s²"}\r
             }\r
@@ -924,10 +924,6 @@ km{
                 dnam{"mmol/L"}\r
                 other{"{0} mmol/L"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"ភាគរយ"}\r
                 other{"{0}%"}\r
@@ -936,9 +932,13 @@ km{
                 dnam{"‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 other{"{0} L/100km"}\r
             }\r
@@ -1296,7 +1296,7 @@ km{
                 dnam{"hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 other{"{0} inHg"}\r
             }\r
@@ -1304,11 +1304,11 @@ km{
                 dnam{"mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 other{"{0} psi"}\r
             }\r
index fd21335..eff4245 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ kn{
                 one{"{0} ಜಿ-ಫೋರ್ಸ್"}\r
                 other{"{0} ಜಿ-ಫೋರ್ಸ್"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"ಮೀಟರ್‌ಗಳು ಪ್ರತಿ ಸೆಕೆಂಡ್‌ ಸ್ಕ್ವೇರ್‌ಗಳಿಗೆ"}\r
                 one{"{0} ಮೀಟರ್‌ ಪ್ರತಿ ಸೆಕೆಂಡ್‌ ಸ್ಕ್ವೇರ್‌ಗಳಿಗೆ"}\r
                 other{"{0} ಮೀಟರ್‌ಗಳು ಪ್ರತಿ ಸೆಕೆಂಡ್‌ ಸ್ಕ್ವೇರ್‌ಗಳಿಗೆ"}\r
@@ -128,11 +128,6 @@ kn{
                 one{"{0} ಮೋಲ್‌ಗಳು"}\r
                 other{"{0} ಮೋಲ್‌ಗಳು"}\r
             }\r
-            part-per-million{\r
-                dnam{"ಪ್ರತಿ ಮಿಲಿಯನ್ ಭಾಗಗಳು"}\r
-                one{"{0} ಪ್ರತಿ ಮಿಲಿಯನ್ ಭಾಗ"}\r
-                other{"{0} ಪ್ರತಿ ಮಿಲಿಯನ್ ಭಾಗಗಳು"}\r
-            }\r
             percent{\r
                 dnam{"ಶೇಕಡಾ"}\r
                 one{"{0} ಶೇಕಡಾ"}\r
@@ -143,6 +138,11 @@ kn{
                 one{"{0} ಪ್ರತಿ ಸಾವಿರಕ್ಕೆ"}\r
                 other{"{0} ಪ್ರತಿ ಸಾವಿರಕ್ಕೆ"}\r
             }\r
+            permillion{\r
+                dnam{"ಪ್ರತಿ ಮಿಲಿಯನ್ ಭಾಗಗಳು"}\r
+                one{"{0} ಪ್ರತಿ ಮಿಲಿಯನ್ ಭಾಗ"}\r
+                other{"{0} ಪ್ರತಿ ಮಿಲಿಯನ್ ಭಾಗಗಳು"}\r
+            }\r
             permyriad{\r
                 dnam{"ಪರ್ಮಿರೈಡ್"}\r
                 one{"{0} ಪರ್ಮಿರೈಡ್"}\r
@@ -150,7 +150,7 @@ kn{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ಪ್ರತಿ 100 ಕಿಲೋಮೀಟರ್‌ಗಳಿಗೆ ಲೀಟರ್‌ಗಳು"}\r
                 one{"{0} ಪ್ರತಿ 100 ಕಿಲೋಮೀಟರ್‌ಗಳಿಗೆ ಲೀಟರ್‌ಗಳು"}\r
                 other{"{0} ಪ್ರತಿ 100 ಕಿಲೋಮೀಟರ್‌ಗಳಿಗೆ ಲೀಟರ್‌ಗಳು"}\r
@@ -682,7 +682,7 @@ kn{
                 one{"{0} ಹೆಕ್ಟೋಪ್ಯಾಸ್ಕಲ್"}\r
                 other{"{0} ಹೆಕ್ಟೋಪ್ಯಾಸ್ಕಲ್‌ಗಳು"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"ಮರ್ಕ್ಯುರಿ ಅಂಗುಲಗಳು"}\r
                 one{"{0} ಮರ್ಕ್ಯುರಿ ಅಂಗುಲ"}\r
                 other{"{0} ಮರ್ಕ್ಯುರಿ ಅಂಗುಲಗಳು"}\r
@@ -702,7 +702,7 @@ kn{
                 one{"{0} ಮಿಲಿಬಾರ್"}\r
                 other{"{0} ಮಿಲಿಬಾರ್‌ಗಳು"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"ಮರ್ಕ್ಯುರಿ ಮಿಲಿಮೀಟರ್‌ಗಳು"}\r
                 one{"{0} ಮರ್ಕ್ಯುರಿ ಮಿಲಿಮೀಟರ್‌"}\r
                 other{"{0} ಮರ್ಕ್ಯುರಿ ಮಿಲಿಮೀಟರ್‌ಗಳು"}\r
@@ -712,7 +712,7 @@ kn{
                 one{"{0} ಪ್ಯಾಸ್ಕಲ್"}\r
                 other{"{0} ಪ್ಯಾಸ್ಕಲ್ಸ್"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"ಪ್ರತಿ ಚದರ ಇಂಚಿಗೆ ಪೌಂಡ್‌ಗಳು"}\r
                 one{"{0} ಪ್ರತಿ ಚದರ ಇಂಚಿಗೆ ಪೌಂಡ್‌"}\r
                 other{"{0} ಪ್ರತಿ ಚದರ ಇಂಚಿಗೆ ಪೌಂಡ್‌ಗಳು"}\r
@@ -768,7 +768,7 @@ kn{
                 one{"{0} ನ್ಯೂಟನ್-ಮೀಟರ್"}\r
                 other{"{0} ನ್ಯೂಟನ್-ಮೀಟರ್"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"ಪೌಂಡ್-ಅಡಿ"}\r
                 one{"{0} ಪೌಂಡ್-ಅಡಿ"}\r
                 other{"{0} ಪೌಂಡ್-ಅಡಿ"}\r
@@ -966,7 +966,7 @@ kn{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ಲೀ/100ಕಿ.ಮೀ"}\r
                 one{"{0} ಲೀ/100ಕಿಮೀ"}\r
                 other{"{0} ಲೀ/100ಕಿಮೀ"}\r
@@ -1142,7 +1142,7 @@ kn{
                 one{"{0}ಹೆ.ಪ್ಯಾ"}\r
                 other{"{0}ಹೆ.ಪ್ಯಾ"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"ಮರ್ಕ್ಯು.ಅಂ."}\r
                 one{"{0}\u0022 Hg"}\r
                 other{"{0}\u0022 Hg"}\r
@@ -1152,12 +1152,12 @@ kn{
                 one{"{0}ಮಿ.ಬಾ."}\r
                 other{"{0}ಮಿ.ಬಾ."}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"ಮರ್ಕ್ಯು.ಮಿ.ಮೀ."}\r
                 one{"{0}mmHg"}\r
                 other{"{0}mmHg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"ಪ್ರ.ಚ.ಇಂ.ಪೌಂ."}\r
                 one{"{0}psi"}\r
                 other{"{0}psi"}\r
@@ -1225,7 +1225,7 @@ kn{
                 one{"{0} ಜಿ"}\r
                 other{"{0} ಜಿ"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"ಮೀಟರ್‌ಗಳು/ಸೆ²"}\r
                 one{"{0} ಮೀ/ಸೆ²"}\r
                 other{"{0} ಮೀ/ಸೆ²"}\r
@@ -1340,11 +1340,6 @@ kn{
                 one{"{0} ಮೋಲ್"}\r
                 other{"{0} ಮೋಲ್"}\r
             }\r
-            part-per-million{\r
-                dnam{"ಭಾಗಗಳು/ಮಿಲಿಯನ್"}\r
-                one{"{0} ಭಾಪ್ರಮಿ"}\r
-                other{"{0} ಭಾಪ್ರಮಿ"}\r
-            }\r
             percent{\r
                 dnam{"ಶೇಕಡಾ"}\r
                 one{"{0}%"}\r
@@ -1355,6 +1350,11 @@ kn{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ಭಾಗಗಳು/ಮಿಲಿಯನ್"}\r
+                one{"{0} ಭಾಪ್ರಮಿ"}\r
+                other{"{0} ಭಾಪ್ರಮಿ"}\r
+            }\r
             permyriad{\r
                 dnam{"ಪರ್ಮಿರೈಡ್"}\r
                 one{"{0}‱"}\r
@@ -1362,7 +1362,7 @@ kn{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ಲೀ/100ಕಿಮೀ"}\r
                 one{"{0} ಲೀ/100ಕಿಮೀ"}\r
                 other{"{0} ಲೀ/100ಕಿ.ಮೀ"}\r
@@ -1892,7 +1892,7 @@ kn{
                 one{"{0} ಹೆ.ಪ್ಯಾ"}\r
                 other{"{0} ಹೆ.ಪ್ಯಾ"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"ಮರ್ಕ್ಯು.ಅಂ."}\r
                 one{"{0} ಮರ್ಕ್ಯುಅಂ"}\r
                 other{"{0} ಮರ್ಕ್ಯುಅಂ"}\r
@@ -1912,7 +1912,7 @@ kn{
                 one{"{0} ಮಿ.ಬಾರ್"}\r
                 other{"{0} ಮಿ.ಬಾರ್"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"ಮರ್ಕ್ಯು.ಮಿ.ಮೀ."}\r
                 one{"{0} ಮರ್ಕ್ಯು ಮಿಮೀ"}\r
                 other{"{0} ಮರ್ಕ್ಯು ಮಿಮೀ"}\r
@@ -1922,7 +1922,7 @@ kn{
                 one{"{0} ಪಾ"}\r
                 other{"{0} ಪ್ಯಾ"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"ಪ್ರ.ಚ.ಇಂ.ಪೌಂ."}\r
                 one{"{0} ಪ್ರಚಇಂಪೌಂ"}\r
                 other{"{0} ಪ್ರಚಇಂಪೌಂ"}\r
@@ -1978,7 +1978,7 @@ kn{
                 one{"{0} ನ್ಯೂ.ಮೀ"}\r
                 other{"{0} ನ್ಯೂ.ಮೀ"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"ಎಲ್‌ಬಿಎಫ್-ಎಫ್‌ಟಿ"}\r
                 one{"{0} ಎಲ್‌ಬಿಎಫ್-ಎಫ್‌ಟಿ"}\r
                 other{"{0} ಎಲ್‌ಬಿಎಫ್-ಎಫ್‌ಟಿ"}\r
index 5d05a6f..c6d136c 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ko{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -13,7 +13,7 @@ ko{
                 dnam{"중력가속도"}\r
                 other{"{0} 중력가속도"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"제곱 초당 미터"}\r
                 other{"{0}제곱 초당 미터"}\r
             }\r
@@ -107,10 +107,6 @@ ko{
                 dnam{"몰"}\r
                 other{"{0}몰"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                other{"{0}ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 other{"{0}%"}\r
@@ -119,9 +115,13 @@ ko{
                 dnam{"‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                other{"{0}ppm"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"100킬로미터당 리터"}\r
                 other{"100킬로미터당 {0}리터"}\r
             }\r
@@ -522,7 +522,7 @@ ko{
                 dnam{"헥토파스칼"}\r
                 other{"{0}헥토파스칼"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"수은주인치"}\r
                 other{"{0}수은주인치"}\r
             }\r
@@ -538,11 +538,11 @@ ko{
                 dnam{"밀리바"}\r
                 other{"{0}밀리바"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"수은주밀리미터"}\r
                 other{"{0}수은주밀리미터"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"제곱인치당 파운드"}\r
                 other{"{0}제곱인치당 파운드"}\r
             }\r
@@ -588,7 +588,7 @@ ko{
                 dnam{"뉴턴미터"}\r
                 other{"{0}뉴턴미터"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 other{"{0}lbf⋅ft"}\r
             }\r
         }\r
@@ -710,7 +710,7 @@ ko{
                 dnam{"g-force"}\r
                 other{"{0}G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 other{"{0}m/s²"}\r
             }\r
@@ -756,7 +756,7 @@ ko{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 other{"{0}L/100km"}\r
             }\r
@@ -974,7 +974,7 @@ ko{
                 dnam{"hPa"}\r
                 other{"{0}hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 other{"{0}\u0022Hg"}\r
             }\r
@@ -982,11 +982,11 @@ ko{
                 dnam{"mbar"}\r
                 other{"{0}mb"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 other{"{0}mmHg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 other{"{0}psi"}\r
             }\r
@@ -1046,7 +1046,7 @@ ko{
                 dnam{"g-force"}\r
                 other{"{0}G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 other{"{0}m/s²"}\r
             }\r
@@ -1140,10 +1140,6 @@ ko{
             mole{\r
                 other{"{0}mol"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                other{"{0}ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 other{"{0}%"}\r
@@ -1152,9 +1148,13 @@ ko{
                 dnam{"‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                other{"{0}ppm"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 other{"{0}L/100km"}\r
             }\r
@@ -1594,7 +1594,7 @@ ko{
                 dnam{"hPa"}\r
                 other{"{0}hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 other{"{0}inHg"}\r
             }\r
@@ -1610,7 +1610,7 @@ ko{
                 dnam{"mbar"}\r
                 other{"{0}mb"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 other{"{0}mmHg"}\r
             }\r
@@ -1618,7 +1618,7 @@ ko{
                 dnam{"Pa"}\r
                 other{"{0} Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 other{"{0}psi"}\r
             }\r
@@ -1663,7 +1663,7 @@ ko{
             newton-meter{\r
                 other{"{0}N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 other{"{0}lbf⋅ft"}\r
             }\r
         }\r
index cd0e49b..541819c 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kok{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -9,7 +9,7 @@ kok{
     }\r
     units{\r
         acceleration{\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"मी/से²"}\r
                 other{"{0} मी/से²"}\r
             }\r
@@ -83,6 +83,9 @@ kok{
                 other{"{0} चौरस यार्ड"}\r
             }\r
         }\r
+        compound{\r
+            per{"{1} क {0}"}\r
+        }\r
         concentr{\r
             karat{\r
                 dnam{"कॅरट्स"}\r
@@ -110,7 +113,7 @@ kok{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"लिटर/100किलोमीटर"}\r
                 other{"{0} लिटर/100किलोमीटर"}\r
             }\r
@@ -438,6 +441,10 @@ kok{
             }\r
         }\r
         power{\r
+            gigawatt{\r
+                dnam{"गिगावॉट्स"}\r
+                other{"{0} गिगावॉट्स"}\r
+            }\r
             horsepower{\r
                 dnam{"हॉर्सपावर"}\r
                 other{"{0} हॉर्सपावर"}\r
@@ -685,7 +692,7 @@ kok{
                 dnam{"g-force"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"मी/से²"}\r
                 other{"{0} मी/से²"}\r
             }\r
@@ -780,10 +787,6 @@ kok{
                 dnam{"मोल"}\r
                 other{"{0} मोल"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 other{"{0}%"}\r
@@ -792,13 +795,17 @@ kok{
                 dnam{"‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"‱"}\r
                 other{"{0}‱"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"लि/100किमी"}\r
                 other{"{0} लि/100किमी"}\r
             }\r
@@ -1229,7 +1236,7 @@ kok{
                 dnam{"hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 other{"{0} inHg"}\r
             }\r
@@ -1245,7 +1252,7 @@ kok{
                 dnam{"mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
@@ -1253,7 +1260,7 @@ kok{
                 dnam{"Pa"}\r
                 other{"{0} Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 other{"{0} psi"}\r
             }\r
@@ -1299,7 +1306,7 @@ kok{
                 dnam{"N⋅m"}\r
                 other{"{0} N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
                 other{"{0} lbf⋅ft"}\r
             }\r
index 1cf39b9..0fabbed 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ks{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         duration{\r
             day{\r
diff --git a/source/data/unit/ks_Arab.txt b/source/data/unit/ks_Arab.txt
new file mode 100644 (file)
index 0000000..644b1f8
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ks_Arab{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/unit/ks_Arab_IN.txt b/source/data/unit/ks_Arab_IN.txt
new file mode 100644 (file)
index 0000000..d159ab1
--- /dev/null
@@ -0,0 +1,8 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+/**\r
+ * generated alias target\r
+ */\r
+ks_Arab_IN{\r
+    ___{""}\r
+}\r
diff --git a/source/data/unit/ks_IN.txt b/source/data/unit/ks_IN.txt
new file mode 100644 (file)
index 0000000..acd2193
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ks_IN{\r
+    "%%ALIAS"{"ks_Arab_IN"}\r
+}\r
index 7537647..48b7edb 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ksb{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 38ad7f3..b2c120e 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ksf{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 74a51fa..463c304 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ksh{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -230,7 +230,7 @@ ksh{
                 other{"{0} Hektopascal"}\r
                 zero{"{0} Hektopascal"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"Dumm Quecksilbersäule"}\r
                 one{"{0} Dumm Quecksilbersäule"}\r
                 other{"{0} Dumm Quecksilbersäule"}\r
@@ -472,7 +472,7 @@ ksh{
                 other{"{0}hPa"}\r
                 zero{"{0}hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
                 zero{"{0} inHg"}\r
@@ -744,7 +744,7 @@ ksh{
                 other{"{0} hPa"}\r
                 zero{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"Dumm Quecksilbersäule"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
index 5e673ac..c7fff60 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ku{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         angle{\r
             arc-minute{\r
@@ -100,7 +100,7 @@ ku{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100km"}\r
                 one{"{0}l/100km"}\r
                 other{"{0}l/100km"}\r
@@ -181,7 +181,7 @@ ku{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100 km"}\r
index c67e95b..c7396bc 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kw{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9a79654..bafeea2 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ky{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ ky{
                 one{"{0} оордук күчү"}\r
                 other{"{0} оордук күчү"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"квадраттык секундасына метр"}\r
                 one{"квадраттык секундасына {0} метр"}\r
                 other{"квадраттык секундасына {0} метр"}\r
@@ -128,11 +128,6 @@ ky{
                 one{"{0} моль"}\r
                 other{"{0} мольдор"}\r
             }\r
-            part-per-million{\r
-                dnam{"миллионго бөлүктөр"}\r
-                one{"миллионго {0} бөлүк"}\r
-                other{"миллионго {0} бөлүк"}\r
-            }\r
             percent{\r
                 dnam{"пайыз"}\r
                 one{"{0} пайыз"}\r
@@ -143,6 +138,11 @@ ky{
                 one{"{0} промилле"}\r
                 other{"{0} промилле"}\r
             }\r
+            permillion{\r
+                dnam{"миллионго бөлүктөр"}\r
+                one{"миллионго {0} бөлүк"}\r
+                other{"миллионго {0} бөлүк"}\r
+            }\r
             permyriad{\r
                 dnam{"‱"}\r
                 one{"{0}‱"}\r
@@ -150,7 +150,7 @@ ky{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"100 километрге литр"}\r
                 one{"100 километрге {0} литр"}\r
                 other{"100 километрге {0} литр"}\r
@@ -635,7 +635,7 @@ ky{
                 one{"{0} гектопаскаль"}\r
                 other{"{0} гектопаскаль"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"дюйм сымап мамычасы"}\r
                 one{"{0} дюйм сымап мамычасы"}\r
                 other{"{0} дюйм сымап мамычасы"}\r
@@ -655,12 +655,12 @@ ky{
                 one{"{0} миллибар"}\r
                 other{"{0} миллибар"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"миллиметр сымап мамычасы"}\r
                 one{"{0} миллиметр сымап мамычасы"}\r
                 other{"{0} миллиметр сымап мамычасы"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"чарчы дюймга фунт"}\r
                 one{"чарчы дюймга {0} фунт"}\r
                 other{"чарчы дюймга {0} фунт"}\r
@@ -716,7 +716,7 @@ ky{
                 one{"ньютон-метри"}\r
                 other{"{0} ньютон-метрлери"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
                 one{"{0} lbf⋅ft"}\r
                 other{"{0} lbf⋅ft"}\r
@@ -918,7 +918,7 @@ ky{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"100 км/л"}\r
                 one{"{0} л/100км"}\r
                 other{"{0} л/100км"}\r
@@ -1058,7 +1058,7 @@ ky{
                 one{"{0} гПа"}\r
                 other{"{0} гПа"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
             }\r
@@ -1116,7 +1116,7 @@ ky{
                 one{"{0} о.к."}\r
                 other{"{0} о.к."}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"метр/сек²"}\r
                 one{"{0} м/сек²"}\r
                 other{"{0} м/сек²"}\r
@@ -1230,11 +1230,6 @@ ky{
                 one{"{0} моль"}\r
                 other{"{0} моль"}\r
             }\r
-            part-per-million{\r
-                dnam{"миллионго/бөлүк"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"пайыз"}\r
                 one{"{0}%"}\r
@@ -1245,6 +1240,11 @@ ky{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"миллионго/бөлүк"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"‱"}\r
                 one{"{0}‱"}\r
@@ -1252,7 +1252,7 @@ ky{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"100 км/л"}\r
                 one{"{0} л/100км"}\r
                 other{"{0} л/100км"}\r
@@ -1737,7 +1737,7 @@ ky{
                 one{"{0} гПа"}\r
                 other{"{0} гПа"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"дюйм сымап мамычасы"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1757,12 +1757,12 @@ ky{
                 one{"{0} мбар"}\r
                 other{"{0} мбар"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"мм.с.м."}\r
                 one{"{0} мм.с. м."}\r
                 other{"{0} мм.с. м."}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"фчд"}\r
                 one{"{0} фчд"}\r
                 other{"{0} фчд"}\r
@@ -1818,7 +1818,7 @@ ky{
                 one{"{0} N⋅m"}\r
                 other{"{0} N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
                 one{"{0} lbf⋅ft"}\r
                 other{"{0} lbf⋅ft"}\r
index 6fede2e..c8e8754 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lag{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 65c72b7..b2737b7 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lb{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ lb{
                 one{"{0}-fach Äerdacceleratioun"}\r
                 other{"{0}-fach Äerdacceleratioun"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"Meter pro Quadratsekonn"}\r
                 one{"{0} Meter pro Quadratsekonn"}\r
                 other{"{0} Meter pro Quadratsekonn"}\r
@@ -479,7 +479,7 @@ lb{
                 one{"{0} Hektopascal"}\r
                 other{"{0} Hektopascal"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} Zoll Quecksëlwersail"}\r
                 other{"{0} Zoll Quecksëlwersail"}\r
@@ -489,12 +489,12 @@ lb{
                 one{"{0} Millibar"}\r
                 other{"{0} Millibar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -653,7 +653,7 @@ lb{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
             }\r
@@ -896,7 +896,7 @@ lb{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
             }\r
@@ -904,11 +904,11 @@ lb{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
             }\r
@@ -1043,7 +1043,7 @@ lb{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1513,7 +1513,7 @@ lb{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1523,12 +1523,12 @@ lb{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
index 51a4ca4..e335b13 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lg{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5372430..89e6168 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lkt{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         duration{\r
             day{\r
index 24e1792..d21b1e2 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ln{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9a235b6..b377d27 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -13,7 +13,7 @@ lo{
                 dnam{"ແຮງຕົກຕາມລຳພັງ"}\r
                 other{"{0} ແຮງຕົກຕາມລຳພັງ"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 other{"{0} m/s²"}\r
             }\r
@@ -107,10 +107,6 @@ lo{
                 dnam{"ໂມ​ລ"}\r
                 other{"{0} ໂມ​ລ"}\r
             }\r
-            part-per-million{\r
-                dnam{"ພາດຕໍ່ລ້ານ"}\r
-                other{"{0} ພາດຕໍ່ລ້ານ"}\r
-            }\r
             percent{\r
                 dnam{"ເປີເຊັນ"}\r
                 other{"{0} ເປີເຊັນ"}\r
@@ -119,13 +115,17 @@ lo{
                 dnam{"ຕໍ່ພັນ"}\r
                 other{"{0} ຕໍ່ພັນ"}\r
             }\r
+            permillion{\r
+                dnam{"ພາດຕໍ່ລ້ານ"}\r
+                other{"{0} ພາດຕໍ່ລ້ານ"}\r
+            }\r
             permyriad{\r
                 dnam{"ເປີ​ມີ​ຣຽດ"}\r
                 other{"{0} ເປີ​ມີ​ຣຽດ"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ລິດ ຕໍ່ 100 ກິໂລເເມັດ"}\r
                 other{"{0} ລິດຕໍ່ 100 ກີໂລແມັດ"}\r
             }\r
@@ -518,7 +518,7 @@ lo{
                 dnam{"hectopascals"}\r
                 other{"{0} hectopascals"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"in Hg"}\r
                 other{"{0} inches of mercury"}\r
             }\r
@@ -534,11 +534,11 @@ lo{
                 dnam{"ມິນລິບາ"}\r
                 other{"{0} ມິນລິບາ"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"pounds per square inch"}\r
                 other{"{0} pounds per square inch"}\r
             }\r
@@ -584,7 +584,7 @@ lo{
                 dnam{"ນິວ​ເຕິນ​ແມັດ"}\r
                 other{"{0} ນິວ​ເຕິນ​ແມັດ"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"ປອນ​-ຟຸດ"}\r
                 other{"{0} ປອນ​-ຟຸດ"}\r
             }\r
@@ -741,7 +741,7 @@ lo{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ລ/ 100 ກມ"}\r
                 other{"{0} ລ / 100 ກມ"}\r
             }\r
@@ -861,7 +861,7 @@ lo{
                 dnam{"hPA"}\r
                 other{"{0} hPA"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"in Hg"}\r
                 other{"{0} in Hg"}\r
             }\r
@@ -910,7 +910,7 @@ lo{
                 dnam{"ແຮງຕົກຕາມລຳພັງ"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 other{"{0} m/s²"}\r
             }\r
@@ -1000,10 +1000,6 @@ lo{
                 dnam{"ມິລິໂມນ/ລິດ"}\r
                 other{"{0} mmol/L"}\r
             }\r
-            part-per-million{\r
-                dnam{"ພາດ/ລ້ານ"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"ເປີເຊັນ"}\r
                 other{"{0}%"}\r
@@ -1012,9 +1008,13 @@ lo{
                 dnam{"ຕໍ່ພັນ"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ພາດ/ລ້ານ"}\r
+                other{"{0} ppm"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ລ/ 100 ກມ"}\r
                 other{"{0} L/100km"}\r
             }\r
@@ -1369,7 +1369,7 @@ lo{
                 dnam{"hPA"}\r
                 other{"{0} hPA"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"in Hg"}\r
                 other{"{0} in Hg"}\r
             }\r
@@ -1377,11 +1377,11 @@ lo{
                 dnam{"mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 other{"{0} psi"}\r
             }\r
index 17f500f..1e56b57 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lrc{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 68d1899..c33813f 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lt{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"hh:mm"}\r
         hms{"hh:mm:ss"}\r
@@ -16,7 +16,7 @@ lt{
                 one{"{0} laisvojo kritimo pagreitis"}\r
                 other{"{0} laisvojo kritimo pagreičių"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metrai per kvadratinę sekundę"}\r
                 few{"{0} m/s²"}\r
                 many{"{0} m/s²"}\r
@@ -170,13 +170,6 @@ lt{
                 one{"{0} molis"}\r
                 other{"{0} molių"}\r
             }\r
-            part-per-million{\r
-                dnam{"milijoninės dalys"}\r
-                few{"{0} milijoninės dalys"}\r
-                many{"{0} milijoninės dalies"}\r
-                one{"{0} milijoninė dalis"}\r
-                other{"{0} milijoninių dalių"}\r
-            }\r
             percent{\r
                 dnam{"procentas"}\r
                 few{"{0} %"}\r
@@ -191,9 +184,16 @@ lt{
                 one{"{0} promilė"}\r
                 other{"{0} promilė"}\r
             }\r
+            permillion{\r
+                dnam{"milijoninės dalys"}\r
+                few{"{0} milijoninės dalys"}\r
+                many{"{0} milijoninės dalies"}\r
+                one{"{0} milijoninė dalis"}\r
+                other{"{0} milijoninių dalių"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litrai 100 kilometrų"}\r
                 few{"{0} litrai 100 kilometrų"}\r
                 many{"{0} litro 100 kilometrų"}\r
@@ -909,7 +909,7 @@ lt{
                 one{"{0} hektopaskalis"}\r
                 other{"{0} hektopaskalių"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"gyvsidabrio stulpelio coliai"}\r
                 few{"{0} gyvsidabrio stulpelio coliai"}\r
                 many{"{0} gyvsidabrio stulpelio colio"}\r
@@ -937,7 +937,7 @@ lt{
                 one{"{0} milibaras"}\r
                 other{"{0} milibarų"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"gysidabrio stulpelio milimetrai"}\r
                 few{"{0} gysidabrio stulpelio milimetrai"}\r
                 many{"{0} gysidabrio stulpelio milimetro"}\r
@@ -951,7 +951,7 @@ lt{
                 one{"{0} paskalis"}\r
                 other{"{0} paskalių"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"svarai kv. colyje"}\r
                 few{"{0} svarai kv. colyje"}\r
                 many{"{0} svaro kv. colyje"}\r
@@ -1027,7 +1027,7 @@ lt{
                 one{"{0} niutonmetras"}\r
                 other{"{0} niutonmetrų"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"svarų pėdos"}\r
             }\r
         }\r
@@ -1237,7 +1237,7 @@ lt{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 few{"{0} m/s²"}\r
                 many{"{0} m/s²"}\r
@@ -1316,7 +1316,7 @@ lt{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 few{"{0} l/100 km"}\r
                 many{"{0} l/100 km"}\r
@@ -1595,7 +1595,7 @@ lt{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 few{"{0} inHg"}\r
                 many{"{0} inHg"}\r
@@ -1609,14 +1609,14 @@ lt{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 few{"{0} mm Hg"}\r
                 many{"{0} mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"lb in²"}\r
                 few{"{0} lb in²"}\r
                 many{"{0} lb in²"}\r
@@ -1741,7 +1741,7 @@ lt{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 few{"{0} m/s²"}\r
                 many{"{0} m/s²"}\r
@@ -1888,13 +1888,6 @@ lt{
                 one{"{0} mmol/l"}\r
                 other{"{0} mmol/l"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                few{"{0} ppm"}\r
-                many{"{0} ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"procentas"}\r
                 few{"{0} %"}\r
@@ -1909,9 +1902,16 @@ lt{
                 one{"{0} ‰"}\r
                 other{"{0} ‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                few{"{0} ppm"}\r
+                many{"{0} ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 few{"{0} l/100 km"}\r
                 many{"{0} l/100 km"}\r
@@ -2574,7 +2574,7 @@ lt{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 few{"{0} inHg"}\r
                 many{"{0} inHg"}\r
@@ -2588,7 +2588,7 @@ lt{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 few{"{0} mm Hg"}\r
                 many{"{0} mm Hg"}\r
@@ -2598,7 +2598,7 @@ lt{
             pascal{\r
                 dnam{"paskaliai"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"lb in²"}\r
                 few{"{0} lb in²"}\r
                 many{"{0} lb in²"}\r
index ec73401..1ada388 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lu{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6922aa0..a1e59d6 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 luo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 68dda1d..3d1b3bb 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 luy{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c1f82b0..b551073 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lv{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -15,7 +15,7 @@ lv{
                 other{"{0} smagumspēks"}\r
                 zero{"{0} smagumspēku"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metri kvadrātsekundē"}\r
                 one{"{0} metrs kvadrātsekundē"}\r
                 other{"{0} metri kvadrātsekundē"}\r
@@ -148,12 +148,6 @@ lv{
                 other{"{0} moli"}\r
                 zero{"{0} molu"}\r
             }\r
-            part-per-million{\r
-                dnam{"miljonās daļas"}\r
-                one{"{0} miljonā daļa"}\r
-                other{"{0} miljonās daļas"}\r
-                zero{"{0} miljono daļu"}\r
-            }\r
             percent{\r
                 dnam{"procents"}\r
                 one{"{0} procents"}\r
@@ -166,6 +160,12 @@ lv{
                 other{"{0} promiles"}\r
                 zero{"{0} promiļu"}\r
             }\r
+            permillion{\r
+                dnam{"miljonās daļas"}\r
+                one{"{0} miljonā daļa"}\r
+                other{"{0} miljonās daļas"}\r
+                zero{"{0} miljono daļu"}\r
+            }\r
             permyriad{\r
                 dnam{"promiriāde"}\r
                 one{"{0} promiriāde"}\r
@@ -174,7 +174,7 @@ lv{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litri uz 100 kilometriem"}\r
                 one{"{0} litrs uz 100 kilometriem"}\r
                 other{"{0} litri uz 100 kilometriem"}\r
@@ -809,7 +809,7 @@ lv{
                 other{"{0} hektopaskāli"}\r
                 zero{"{0} hektopaskālu"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"dzīvsudraba stabiņa collas"}\r
                 one{"{0} dzīvsudraba stabiņa colla"}\r
                 other{"{0} dzīvsudraba stabiņa collas"}\r
@@ -833,7 +833,7 @@ lv{
                 other{"{0} milibāri"}\r
                 zero{"{0} milibāru"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"dzīvsudraba stabiņa milimetri"}\r
                 one{"{0} dzīvsudraba stabiņa milimetrs"}\r
                 other{"{0} dzīvsudraba stabiņa milimetri"}\r
@@ -845,7 +845,7 @@ lv{
                 other{"{0} paskāli"}\r
                 zero{"{0} paskālu"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"mārciņas uz kvadrātcollu"}\r
                 one{"{0} mārciņa uz kvadrātcollu"}\r
                 other{"{0} mārciņas uz kvadrātcollu"}\r
@@ -911,7 +911,7 @@ lv{
                 other{"{0} ņūtonmetri"}\r
                 zero{"{0} ņūtonmetru"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"mārciņpēda"}\r
                 one{"{0} mārciņpēda"}\r
                 other{"{0} mārciņpēdas"}\r
@@ -1152,7 +1152,7 @@ lv{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100 km"}\r
@@ -1383,7 +1383,7 @@ lv{
                 other{"{0}hPa"}\r
                 zero{"{0}hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0}inHg"}\r
                 other{"{0}inHg"}\r
                 zero{"{0}inHg"}\r
@@ -1393,7 +1393,7 @@ lv{
                 other{"{0}mbar"}\r
                 zero{"{0}mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 one{"{0} mmHg"}\r
                 other{"{0} mmHg"}\r
@@ -1465,7 +1465,7 @@ lv{
                 other{"{0} G"}\r
                 zero{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metri kvadrātsekundē"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1598,12 +1598,6 @@ lv{
                 other{"{0} mol"}\r
                 zero{"{0} mol"}\r
             }\r
-            part-per-million{\r
-                dnam{"miljonās daļas"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-                zero{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"procents"}\r
                 one{"{0}%"}\r
@@ -1616,6 +1610,12 @@ lv{
                 other{"{0}‰"}\r
                 zero{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"miljonās daļas"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+                zero{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"promiriāde"}\r
                 one{"{0}‱"}\r
@@ -1624,7 +1624,7 @@ lv{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100 km"}\r
@@ -2213,7 +2213,7 @@ lv{
                 other{"{0} hPa"}\r
                 zero{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -2237,13 +2237,13 @@ lv{
                 other{"{0} mbar"}\r
                 zero{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 one{"{0} mmHg"}\r
                 other{"{0} mmHg"}\r
                 zero{"{0} mmHg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -2306,7 +2306,7 @@ lv{
                 other{"{0} N⋅m"}\r
                 zero{"{0} N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"mārciņpēda"}\r
                 one{"{0} mārc. pēda"}\r
                 other{"{0} mārc. pēdas"}\r
diff --git a/source/data/unit/mai.txt b/source/data/unit/mai.txt
new file mode 100644 (file)
index 0000000..c2e8be9
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+mai{\r
+    Version{"37"}\r
+}\r
index fc1654c..72d5c8f 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mas{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3ce0553..44f259c 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mer{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cf6dfad..927e18f 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mfe{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9b478cd..5482f6a 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mg{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6a14c4f..ddd930a 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mgh{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ea19dd1..61e66e0 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mgo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         duration{\r
             day{\r
index 7da232f..adfde1b 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mi{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index a725305..d5d7d4b 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mk{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ mk{
                 one{"{0} гравитациска сила"}\r
                 other{"{0} гравитациска сила"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"метри во секунда на квадрат"}\r
                 one{"{0} метар во секунда на квадрат"}\r
                 other{"{0} метри во секунда на квадрат"}\r
@@ -129,11 +129,6 @@ mk{
                 one{"{0} мол"}\r
                 other{"{0} молови"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"процент"}\r
                 one{"{0} процент"}\r
@@ -144,6 +139,11 @@ mk{
                 one{"{0} промили"}\r
                 other{"{0} промили"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"десетилјадити дел"}\r
                 one{"{0} десетилјадити дел"}\r
@@ -151,7 +151,7 @@ mk{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"литри на 100 километри"}\r
                 one{"{0} литар на 100 километри"}\r
                 other{"{0} литри на 100 километри"}\r
@@ -656,7 +656,7 @@ mk{
                 one{"{0} хектопаскал"}\r
                 other{"{0} хектопаскали"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"инчи жива"}\r
                 one{"{0} инч жива"}\r
                 other{"{0} инчи жива"}\r
@@ -676,12 +676,12 @@ mk{
                 one{"{0} милибар"}\r
                 other{"{0} милибари"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"милиметри жива"}\r
                 one{"{0} милиметар жива"}\r
                 other{"{0} милиметри жива"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"фунти на квадратен инч"}\r
                 one{"{0} фунта на квадратен инч"}\r
                 other{"{0} фунти на квадратен инч"}\r
@@ -737,7 +737,7 @@ mk{
                 one{"{0} њутнметар"}\r
                 other{"{0} њутнметри"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"стапки фунти"}\r
                 one{"{0} стапка фунта"}\r
                 other{"{0} стапки фунти"}\r
@@ -891,7 +891,7 @@ mk{
             g-force{\r
                 dnam{"G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"м/с²"}\r
                 one{"{0} м/с²"}\r
                 other{"{0} м/с²"}\r
@@ -965,7 +965,7 @@ mk{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 one{"{0} L/100km"}\r
                 other{"{0} L/100km"}\r
@@ -1278,7 +1278,7 @@ mk{
                 one{"{0} хПа"}\r
                 other{"{0} хПа"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
             }\r
@@ -1287,7 +1287,7 @@ mk{
                 one{"{0} мб"}\r
                 other{"{0} мб"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"мм жива"}\r
                 one{"{0}mm Hg"}\r
                 other{"{0}mm Hg"}\r
@@ -1426,7 +1426,7 @@ mk{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"метри/сек²"}\r
                 one{"{0} м/с²"}\r
                 other{"{0} м/с²"}\r
@@ -1541,11 +1541,6 @@ mk{
                 one{"{0} mol"}\r
                 other{"{0} mol"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"процент"}\r
                 one{"{0} %"}\r
@@ -1556,6 +1551,11 @@ mk{
                 one{"{0} ‰"}\r
                 other{"{0} ‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"‱"}\r
                 one{"{0}‱"}\r
@@ -1563,7 +1563,7 @@ mk{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 one{"{0} L/100km"}\r
                 other{"{0} L/100km"}\r
@@ -2105,7 +2105,7 @@ mk{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -2125,7 +2125,7 @@ mk{
                 one{"{0} мбар"}\r
                 other{"{0} мб."}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 one{"{0} mmHg"}\r
                 other{"{0} mmHg"}\r
@@ -2135,7 +2135,7 @@ mk{
                 one{"{0} Pa"}\r
                 other{"{0} Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -2191,7 +2191,7 @@ mk{
                 one{"{0} N⋅m"}\r
                 other{"{0} N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
                 one{"{0} lbf⋅ft"}\r
                 other{"{0} lbf⋅ft"}\r
index ee02b4a..1f7d0ff 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ml{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ ml{
                 one{"{0} ജി-ഫോഴ്‌സ്"}\r
                 other{"{0} ജി-ഫോഴ്‌സ്"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"മീറ്റർ/സെക്കൻഡ്²"}\r
                 one{"{0} മീറ്റർ/സെക്കൻഡ്²"}\r
                 other{"{0} മീറ്റർ/സെക്കൻഡ്²"}\r
@@ -128,11 +128,6 @@ ml{
                 one{"{0} മോൾ"}\r
                 other{"{0} മോളുകൾ"}\r
             }\r
-            part-per-million{\r
-                dnam{"പാർട്‌സ് / മില്ല്യൺ"}\r
-                one{"പാർട്ട് / മില്ല്യൺ"}\r
-                other{"{0} പാർട്‌സ് / മില്ല്യൺ"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 one{"{0}%"}\r
@@ -143,13 +138,18 @@ ml{
                 one{"{0} പ്രതിമില്ലി"}\r
                 other{"{0} പ്രതിമില്ലി"}\r
             }\r
+            permillion{\r
+                dnam{"പാർട്‌സ് / മില്ല്യൺ"}\r
+                one{"പാർട്ട് / മില്ല്യൺ"}\r
+                other{"{0} പാർട്‌സ് / മില്ല്യൺ"}\r
+            }\r
             permyriad{\r
                 one{"{0} പിരമിഡ്"}\r
                 other{"{0} പിരമിഡ്"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ലിറ്റർ/100 കിലോമീറ്റർ"}\r
                 one{"{0} ലിറ്റർ/100 കിലോമീറ്റർ"}\r
                 other{"{0} ലിറ്റർ/100 കിലോമീറ്റർ"}\r
@@ -642,7 +642,7 @@ ml{
                 one{"{0} ഹെക്‌ടോപാസ്‌ക്കൽ"}\r
                 other{"{0} ഹെക്‌ടോപാസ്‌ക്കൽ"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"ഇഞ്ച് ഓഫ് മെർക്കുറി"}\r
                 one{"{0} ഇഞ്ച് ഓഫ് മെർക്കുറി"}\r
                 other{"{0} ഇഞ്ച് ഓഫ് മെർക്കുറി"}\r
@@ -662,7 +662,7 @@ ml{
                 one{"{0} മില്ലിബാർ"}\r
                 other{"{0} മില്ലിബാർ"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"മില്ലീമീറ്റർ മെർക്കുറി"}\r
                 one{"{0} മില്ലീമീറ്റർ മെർക്കുറി"}\r
                 other{"{0} മില്ലീമീറ്റർ മെർക്കുറി"}\r
@@ -672,7 +672,7 @@ ml{
                 one{"{0} പാസ്കൽ"}\r
                 other{"{0} പാസ്കൽസ്"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"പൗണ്ട് / ചതുരശ്ര ഇഞ്ച്"}\r
                 one{"{0} പൗണ്ട് / ചതുരശ്ര ഇഞ്ച്"}\r
                 other{"{0} പൗണ്ട് / ചതുരശ്ര ഇഞ്ച്"}\r
@@ -728,7 +728,7 @@ ml{
                 one{"{0} ന്യൂട്ടൺ മീറ്റർ"}\r
                 other{"{0} ന്യൂട്ടൺ മീറ്ററുകൾ"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"പൗണ്ട് ഫീറ്റ്"}\r
                 one{"{0} പൗണ്ട് ഫൂട്ട്"}\r
                 other{"{0} പൗണ്ട് ഫീറ്റ്"}\r
@@ -874,7 +874,7 @@ ml{
                 one{"{0} ജി"}\r
                 other{"{0} ജി"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"മീ/സെ²"}\r
                 one{"{0}മീ/സെ²"}\r
                 other{"{0}മീ/സെ²"}\r
@@ -927,7 +927,7 @@ ml{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ലി./100 കി.മീ."}\r
                 one{"{0}ലി/100കിമി"}\r
                 other{"{0}ലി/100കിമി"}\r
@@ -1186,7 +1186,7 @@ ml{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"ഇഞ്ച് മെ."}\r
                 one{"{0}\u0022 Hg"}\r
                 other{"{0}\u0022 Hg"}\r
@@ -1196,12 +1196,12 @@ ml{
                 one{"{0} മിബാ"}\r
                 other{"{0} മിബാ"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"മിമീ.മെ."}\r
                 one{"{0}മിമീ.മെ."}\r
                 other{"{0}മിമീ.മെ."}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"പിഎസ്ഐ"}\r
             }\r
         }\r
@@ -1272,7 +1272,7 @@ ml{
                 one{"{0} ജി"}\r
                 other{"{0} ജി"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"മീറ്റർ/സെക്കൻഡ്²"}\r
                 one{"{0} മീ/സെ²"}\r
                 other{"{0} മീ/സെ²"}\r
@@ -1387,11 +1387,6 @@ ml{
                 one{"{0} മോൾ"}\r
                 other{"{0} മോൾ"}\r
             }\r
-            part-per-million{\r
-                dnam{"പാർട്‌സ്/മില്ല്യൺ"}\r
-                one{"{0} പാ.പെ.മി."}\r
-                other{"{0} പാ.പെ.മി."}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 one{"{0}%"}\r
@@ -1402,12 +1397,17 @@ ml{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"പാർട്‌സ്/മില്ല്യൺ"}\r
+                one{"{0} പാ.പെ.മി."}\r
+                other{"{0} പാ.പെ.മി."}\r
+            }\r
             permyriad{\r
                 dnam{"പിരമിഡ്"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ലി./100 കി.മീ."}\r
                 one{"{0} ലി./100 കി.മീ."}\r
                 other{"{0} ലി./100 കി.മീ."}\r
@@ -1930,7 +1930,7 @@ ml{
                 one{"{0} ഹെ.പാ."}\r
                 other{"{0} ഹെ.പാ."}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"ഇഞ്ച് മെ."}\r
                 one{"{0} ഇഞ്ച് മെ."}\r
                 other{"{0} ഇഞ്ച് മെ."}\r
@@ -1940,7 +1940,7 @@ ml{
                 one{"{0} മി.ബാ"}\r
                 other{"{0} മി.ബാ"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"മിമീ.മെ."}\r
                 one{"{0} മിമീ.മെ."}\r
                 other{"{0} മിമീ.മെ."}\r
@@ -1950,7 +1950,7 @@ ml{
                 one{"{0} പാ"}\r
                 other{"{0} പാ"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"പിഎസ്ഐ"}\r
                 one{"{0} പിഎസ്ഐ"}\r
                 other{"{0} പിഎസ്ഐ"}\r
index 0976f2c..05de8fd 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"hh:mm"}\r
         hms{"hh:mm:ss"}\r
@@ -14,7 +14,7 @@ mn{
                 one{"{0} жи-хүч"}\r
                 other{"{0} жи-хүч"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"квадрат секундэд ногдох метр"}\r
                 one{"квадрат секундэд {0} метр"}\r
                 other{"квадрат секундэд {0} метр"}\r
@@ -128,11 +128,6 @@ mn{
                 one{"{0} моль"}\r
                 other{"{0} моль"}\r
             }\r
-            part-per-million{\r
-                dnam{"саяны хувь"}\r
-                one{"саяны {0} хувь"}\r
-                other{"саяны {0} хувь"}\r
-            }\r
             percent{\r
                 dnam{"хувь"}\r
                 one{"{0} хувь"}\r
@@ -143,6 +138,11 @@ mn{
                 one{"мянганы {0} хувь"}\r
                 other{"мянганы {0} хувь"}\r
             }\r
+            permillion{\r
+                dnam{"саяны хувь"}\r
+                one{"саяны {0} хувь"}\r
+                other{"саяны {0} хувь"}\r
+            }\r
             permyriad{\r
                 dnam{"арван мянганы хувь"}\r
                 one{"арван мянганы {0} хувь"}\r
@@ -150,7 +150,7 @@ mn{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"100 километр тутамд ногдох литр"}\r
                 one{"100 километр тутамд {0} литр"}\r
                 other{"100 километр тутамд {0} литр"}\r
@@ -657,7 +657,7 @@ mn{
                 one{"{0} гектоПаскал"}\r
                 other{"{0} гектоПаскал"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"мөнгөн усны баганын инч"}\r
                 one{"{0} мөнгөн усны баганын инч"}\r
                 other{"{0} мөнгөн усны баганын инч"}\r
@@ -677,7 +677,7 @@ mn{
                 one{"{0} миллибар"}\r
                 other{"{0} миллибар"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"мөнгөн усны баганын миллиметр"}\r
                 one{"{0} мөнгөн усны баганын миллиметр"}\r
                 other{"{0} мөнгөн усны баганын миллиметр"}\r
@@ -687,7 +687,7 @@ mn{
                 one{"{0} Паскаль"}\r
                 other{"{0} Паскаль"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"квадрат инч тутамд ногдох фунт"}\r
                 one{"квадрат инч тутамд {0} фунт"}\r
                 other{"квадрат инч тутамд {0} фунт"}\r
@@ -741,7 +741,7 @@ mn{
                 one{"{0} ньютон метр"}\r
                 other{"{0} ньютон метр"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"фунт фүүт"}\r
                 one{"{0} фунт фүүт"}\r
                 other{"{0} фунт фүүт"}\r
@@ -943,7 +943,7 @@ mn{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"л/100км"}\r
                 one{"{0} л/100км"}\r
                 other{"{0}л/100км"}\r
@@ -1083,7 +1083,7 @@ mn{
                 one{"{0} гПа"}\r
                 other{"{0} гПа"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} муб"}\r
                 other{"{0} муб"}\r
             }\r
@@ -1141,7 +1141,7 @@ mn{
                 one{"{0} Жи"}\r
                 other{"{0} Жи"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"метр/сек²"}\r
                 one{"{0} м/с²"}\r
                 other{"{0} м/с²"}\r
@@ -1255,11 +1255,6 @@ mn{
                 one{"{0} моль"}\r
                 other{"{0} моль"}\r
             }\r
-            part-per-million{\r
-                dnam{"хувь/сая"}\r
-                one{"{0}x10⁻⁶"}\r
-                other{"{0}x10⁻⁶"}\r
-            }\r
             percent{\r
                 dnam{"хувь"}\r
                 one{"{0}%"}\r
@@ -1270,12 +1265,17 @@ mn{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"хувь/сая"}\r
+                one{"{0}x10⁻⁶"}\r
+                other{"{0}x10⁻⁶"}\r
+            }\r
             permyriad{\r
                 dnam{"арван мянганы хувь"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"л/100км"}\r
                 one{"{0} л/100км"}\r
                 other{"{0} л/100км"}\r
@@ -1760,7 +1760,7 @@ mn{
                 one{"{0} гПа"}\r
                 other{"{0} гПа"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"инч.муб"}\r
                 one{"{0} инч.муб"}\r
                 other{"{0} инч.муб"}\r
@@ -1780,7 +1780,7 @@ mn{
                 one{"{0} мбар"}\r
                 other{"{0} мбар"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"мм.муб"}\r
                 one{"{0} мм.муб"}\r
                 other{"{0} мм.муб"}\r
@@ -1790,7 +1790,7 @@ mn{
                 one{"{0} Па"}\r
                 other{"{0} Па"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"фунт/инч²"}\r
                 one{"{0} фунт/инч²"}\r
                 other{"{0} фунт/инч²"}\r
diff --git a/source/data/unit/mni.txt b/source/data/unit/mni.txt
new file mode 100644 (file)
index 0000000..20b928b
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+mni{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/unit/mni_Beng.txt b/source/data/unit/mni_Beng.txt
new file mode 100644 (file)
index 0000000..93f5be2
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+mni_Beng{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/unit/mni_Beng_IN.txt b/source/data/unit/mni_Beng_IN.txt
new file mode 100644 (file)
index 0000000..ce4a031
--- /dev/null
@@ -0,0 +1,8 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+/**\r
+ * generated alias target\r
+ */\r
+mni_Beng_IN{\r
+    ___{""}\r
+}\r
diff --git a/source/data/unit/mni_IN.txt b/source/data/unit/mni_IN.txt
new file mode 100644 (file)
index 0000000..3fb7691
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+mni_IN{\r
+    "%%ALIAS"{"mni_Beng_IN"}\r
+}\r
index 79caf86..a5b2dec 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mr{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ mr{
                 one{"{0} जी-फोर्स"}\r
                 other{"{0} जी-फोर्स"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"मीटर प्रति सेकंद चौरस"}\r
                 one{"{0} मीटर प्रति सेकंद चौरस"}\r
                 other{"{0} मीटर प्रति सेकंद चौरस"}\r
@@ -128,11 +128,6 @@ mr{
                 one{"{0} मोल"}\r
                 other{"{0} मोल"}\r
             }\r
-            part-per-million{\r
-                dnam{"भाग प्रति दशलक्ष"}\r
-                one{"{0} भाग प्रति दशलक्ष"}\r
-                other{"{0} भाग प्रति दशलक्ष"}\r
-            }\r
             percent{\r
                 dnam{"टक्के"}\r
                 one{"{0} टक्के"}\r
@@ -143,6 +138,11 @@ mr{
                 one{"{0} प्रतिमैल"}\r
                 other{"{0} प्रतिमैल"}\r
             }\r
+            permillion{\r
+                dnam{"भाग प्रति दशलक्ष"}\r
+                one{"{0} भाग प्रति दशलक्ष"}\r
+                other{"{0} भाग प्रति दशलक्ष"}\r
+            }\r
             permyriad{\r
                 dnam{"पर्मिरेड"}\r
                 one{"{0} पर्मिरेड"}\r
@@ -150,7 +150,7 @@ mr{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"लीटर प्रति 100 किलोमीटर"}\r
                 one{"{0} लीटर प्रति 100 किलोमीटर"}\r
                 other{"{0} लीटर प्रति 100 किलोमीटर"}\r
@@ -672,7 +672,7 @@ mr{
                 one{"{0} हेक्टोपास्कल"}\r
                 other{"{0} हेक्टोपास्कल"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"मर्क्यूरी इंच"}\r
                 one{"{0} मर्क्यूरी इंच"}\r
                 other{"{0} मर्क्यूरी इंच"}\r
@@ -692,12 +692,12 @@ mr{
                 one{"{0} मिलिबार"}\r
                 other{"{0} मिलिबार"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"मर्क्यूरी मिलिमीटर"}\r
                 one{"{0} मर्क्यूरी मिलिमीटर"}\r
                 other{"{0} मर्क्यूरी मिलिमीटर"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"प्रति चौरस इंच पाउंड"}\r
                 one{"{0} प्रति चौरस इंच पाउंड"}\r
                 other{"{0} प्रति चौरस इंच पाउंड"}\r
@@ -753,7 +753,7 @@ mr{
                 one{"{0} न्यूटन-मीटर"}\r
                 other{"{0} न्यूटन-मीटर"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"पाउंड-फूट"}\r
                 one{"{0} पाउंड-फुट"}\r
                 other{"{0} पाउंड-फूट"}\r
@@ -903,7 +903,7 @@ mr{
                 one{"{0}जी"}\r
                 other{"{0}जी"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"मीटर/सेक²"}\r
                 one{"{0} मी/से²"}\r
                 other{"{0} मी/से²"}\r
@@ -960,7 +960,7 @@ mr{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ली/100किमी"}\r
                 one{"{0} ली/100किमी"}\r
                 other{"{0} ली/100किमी"}\r
@@ -1180,7 +1180,7 @@ mr{
                 one{"{0}हेक्टोपा"}\r
                 other{"{0}हेक्टोपा"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"″ Hg"}\r
                 one{"{0}\u0022 हेग्रॅ"}\r
                 other{"{0}\u0022 हेग्रॅ"}\r
@@ -1190,12 +1190,12 @@ mr{
                 one{"{0}मिबा"}\r
                 other{"{0}मिबा"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0}mmHg"}\r
                 other{"{0}mmHg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0}psi"}\r
                 other{"{0}psi"}\r
@@ -1263,7 +1263,7 @@ mr{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"मीटर/सेक²"}\r
                 one{"{0} मी/से²"}\r
                 other{"{0} मी/से²"}\r
@@ -1377,11 +1377,6 @@ mr{
                 one{"{0} मोल"}\r
                 other{"{0} मोल"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"टक्के"}\r
                 one{"{0}%"}\r
@@ -1392,12 +1387,17 @@ mr{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"पर्मिरेड"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ली/100किमी"}\r
                 one{"{0} ली/100किमी"}\r
                 other{"{0} ली/100किमी"}\r
@@ -1900,7 +1900,7 @@ mr{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"in Hg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1913,12 +1913,12 @@ mr{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
index c8c8abb..411e5bf 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ms{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -13,7 +13,7 @@ ms{
                 dnam{"daya g"}\r
                 other{"{0} daya g"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"meter sesaat ganda dua"}\r
                 other{"{0} meter sesaat ganda dua"}\r
             }\r
@@ -99,10 +99,6 @@ ms{
                 dnam{"milimol setiap liter"}\r
                 other{"{0} milimol setiap liter"}\r
             }\r
-            part-per-million{\r
-                dnam{"bahagian setiap juta"}\r
-                other{"{0} bahagian setiap juta"}\r
-            }\r
             percent{\r
                 dnam{"peratus"}\r
                 other{"{0} peratus"}\r
@@ -111,13 +107,17 @@ ms{
                 dnam{"per seribu"}\r
                 other{"{0} per seribu"}\r
             }\r
+            permillion{\r
+                dnam{"bahagian setiap juta"}\r
+                other{"{0} bahagian setiap juta"}\r
+            }\r
             permyriad{\r
                 dnam{"permyriad"}\r
                 other{"{0} permyriad"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"liter setiap 100 kilometer"}\r
                 other{"{0} liter setiap 100 kilometer"}\r
             }\r
@@ -556,7 +556,7 @@ ms{
                 dnam{"hektopascal"}\r
                 other{"{0} hektopascal"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inci raksa"}\r
                 other{"{0} inci raksa"}\r
             }\r
@@ -572,7 +572,7 @@ ms{
                 dnam{"milibar"}\r
                 other{"{0} milibar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milimeter raksa"}\r
                 other{"{0} milimeter raksa"}\r
             }\r
@@ -580,7 +580,7 @@ ms{
                 dnam{"Pascal"}\r
                 other{"{0} Pascal"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"paun seinci persegi"}\r
                 other{"{0} paun seinci persegi"}\r
             }\r
@@ -626,7 +626,7 @@ ms{
                 dnam{"newton meter"}\r
                 other{"{0} newton meter"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"kaki paun"}\r
                 other{"{0} kaki paun"}\r
             }\r
@@ -745,7 +745,7 @@ ms{
                 dnam{"daya g"}\r
                 other{"{0} g"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 other{"{0}m/s²"}\r
             }\r
         }\r
@@ -756,6 +756,9 @@ ms{
             arc-second{\r
                 other{"{0}″"}\r
             }\r
+            degree{\r
+                other{"{0}°"}\r
+            }\r
         }\r
         area{\r
             acre{\r
@@ -787,7 +790,7 @@ ms{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 other{"{0} L/100km"}\r
             }\r
@@ -1002,7 +1005,7 @@ ms{
                 dnam{"hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 other{"{0} inHg"}\r
             }\r
@@ -1010,11 +1013,11 @@ ms{
                 dnam{"mbar"}\r
                 other{"{0} mb"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 other{"{0} psi"}\r
             }\r
@@ -1072,7 +1075,7 @@ ms{
                 dnam{"daya g"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"meter/s²"}\r
                 other{"{0} m/s²"}\r
             }\r
@@ -1159,10 +1162,6 @@ ms{
                 dnam{"mmol/L"}\r
                 other{"{0} mmol/L"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"peratus"}\r
                 other{"{0}%"}\r
@@ -1171,9 +1170,13 @@ ms{
                 dnam{"per seribu"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 other{"{0} L/100km"}\r
             }\r
@@ -1585,7 +1588,7 @@ ms{
                 dnam{"hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 other{"{0} inHg"}\r
             }\r
@@ -1593,7 +1596,7 @@ ms{
                 dnam{"mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
@@ -1601,7 +1604,7 @@ ms{
                 dnam{"Pa"}\r
                 other{"{0} Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 other{"{0} psi"}\r
             }\r
index 5347e11..2c16f55 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mt{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         angle{\r
             arc-minute{\r
index d21cd68..a32f7ff 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mua{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e577ba5..877d059 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 my{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -13,7 +13,7 @@ my{
                 dnam{"ဆွဲငင်အား"}\r
                 other{"{0} ဆွဲငင်အား"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"မီတာ/စက္ကန့်နှစ်ထပ်ကိန်း"}\r
                 other{"{0} မီတာ/စက္ကန့်နှစ်ထပ်ကိန်း"}\r
             }\r
@@ -107,10 +107,6 @@ my{
                 dnam{"mol"}\r
                 other{"{0} mol"}\r
             }\r
-            part-per-million{\r
-                dnam{"တစ်သန်းပုံ တစ်ပုံ"}\r
-                other{"တစ်သန်းပုံ {0} ပုံ"}\r
-            }\r
             percent{\r
                 dnam{"ရာခိုင်နှုန်း"}\r
                 other{"{0} ရာခိုင်နှုန်း"}\r
@@ -119,13 +115,17 @@ my{
                 dnam{"ထောင်လီစိတ်"}\r
                 other{"{0} ထောင်လီစိတ်"}\r
             }\r
+            permillion{\r
+                dnam{"တစ်သန်းပုံ တစ်ပုံ"}\r
+                other{"တစ်သန်းပုံ {0} ပုံ"}\r
+            }\r
             permyriad{\r
                 dnam{"ပါမီရိတ်"}\r
                 other{"{0} ပါမီရိတ်"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"တစ်ရာကီလိုမီတာရှိ လီတာ"}\r
                 other{"တစ်ရာကီလိုမီတာရှိ {0} လီတာ"}\r
             }\r
@@ -526,7 +526,7 @@ my{
                 dnam{"ဟက်တိုပါစကယ်"}\r
                 other{"{0} ဟက်တိုပါစကယ်"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"ပြဒါးလက်မ"}\r
                 other{"{0} ပြဒါးလက်မ"}\r
             }\r
@@ -542,11 +542,11 @@ my{
                 dnam{"မီလီဘား"}\r
                 other{"{0} မီလီဘား"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"ပြဒါးမီလီမီတာ"}\r
                 other{"{0} ပြဒါးမီလီမီတာ"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"ပေါင်/စတုရန်းလက်မ"}\r
                 other{"တစ်စတုရန်းလက်မလျှင် {0} ပေါင်"}\r
             }\r
@@ -592,7 +592,7 @@ my{
                 dnam{"နယူတန်−မီတာ"}\r
                 other{"{0} နယူတန်−မီတာ"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf.ft"}\r
                 other{"{0} lbf.ft"}\r
             }\r
@@ -756,7 +756,7 @@ my{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 other{"{0} L/100km"}\r
             }\r
@@ -869,7 +869,7 @@ my{
             hectopascal{\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 other{"{0} inHg"}\r
             }\r
             millibar{\r
@@ -916,7 +916,7 @@ my{
                 dnam{"ဆွဲငင်အား"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"မီတာ/စက္ကန့်နှစ်ထပ်ကိန်း"}\r
                 other{"{0} m/s²"}\r
             }\r
@@ -1010,10 +1010,6 @@ my{
                 dnam{"mol"}\r
                 other{"{0} mol"}\r
             }\r
-            part-per-million{\r
-                dnam{"တစ်သန်းပုံ တစ်ပုံ"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 other{"{0}%"}\r
@@ -1022,13 +1018,17 @@ my{
                 dnam{"‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"တစ်သန်းပုံ တစ်ပုံ"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"ပါမီရိတ်"}\r
                 other{"{0}‱"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"တစ်ရာကီလိုမီတာရှိ လီတာ"}\r
                 other{"{0} L/100 km"}\r
             }\r
@@ -1426,7 +1426,7 @@ my{
                 dnam{"hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 other{"{0} inHg"}\r
             }\r
@@ -1442,11 +1442,11 @@ my{
                 dnam{"မီလီဘား"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"ပေါင်/စတုရန်းလက်မ"}\r
                 other{"{0} psi"}\r
             }\r
@@ -1492,7 +1492,7 @@ my{
                 dnam{"N.m"}\r
                 other{"{0} N.m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf.ft"}\r
                 other{"{0} lbf.ft"}\r
             }\r
index 3c22bab..9376a8d 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mzn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -13,7 +13,7 @@ mzn{
                 dnam{"g-force"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 other{"{0} m/s²"}\r
             }\r
@@ -50,7 +50,7 @@ mzn{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 other{"{0} L/100km"}\r
             }\r
@@ -443,7 +443,7 @@ mzn{
             per{"{0}/{1}"}\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 other{"{0} L/100km"}\r
             }\r
@@ -523,7 +523,7 @@ mzn{
                 dnam{"g-force"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 other{"{0} m/s²"}\r
             }\r
@@ -560,7 +560,7 @@ mzn{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 other{"{0} L/100km"}\r
             }\r
index f5f64a4..ef39030 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 naq{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7dc248f..904adde 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nb{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ nb{
                 one{"{0} g-kraft"}\r
                 other{"{0} g-kraft"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"meter per sekund²"}\r
                 one{"{0} meter per sekund²"}\r
                 other{"{0} meter per sekund²"}\r
@@ -118,11 +118,6 @@ nb{
                 one{"{0} millimol per liter"}\r
                 other{"{0} millimol per liter"}\r
             }\r
-            part-per-million{\r
-                dnam{"deler per million"}\r
-                one{"{0} del per million"}\r
-                other{"{0} deler per million"}\r
-            }\r
             percent{\r
                 dnam{"prosent"}\r
                 one{"{0} prosent"}\r
@@ -133,6 +128,11 @@ nb{
                 one{"{0} promille"}\r
                 other{"{0} promille"}\r
             }\r
+            permillion{\r
+                dnam{"deler per million"}\r
+                one{"{0} del per million"}\r
+                other{"{0} deler per million"}\r
+            }\r
             permyriad{\r
                 dnam{"promyriade"}\r
                 one{"{0} promyriade"}\r
@@ -140,7 +140,7 @@ nb{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"liter per 100 kilometer"}\r
                 one{"{0} liter per 100 kilometer"}\r
                 other{"{0} liter per 100 kilometer"}\r
@@ -656,7 +656,7 @@ nb{
                 one{"{0} hektopascal"}\r
                 other{"{0} hektopascal"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"tommer kvikksølv"}\r
                 one{"{0} tomme kvikksølv"}\r
                 other{"{0} tommer kvikksølv"}\r
@@ -676,7 +676,7 @@ nb{
                 one{"{0} millibar"}\r
                 other{"{0} millibar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"millimeter kvikksølv"}\r
                 one{"{0} millimeter kvikksølv"}\r
                 other{"{0} millimeter kvikksølv"}\r
@@ -686,7 +686,7 @@ nb{
                 one{"{0} pascal"}\r
                 other{"{0} pascal"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"pund per kvadrattomme"}\r
                 one{"{0} pund per kvadrattomme"}\r
                 other{"{0} pund per kvadrattomme"}\r
@@ -742,8 +742,8 @@ nb{
                 one{"{0} Nm"}\r
                 other{"{0} Nm"}\r
             }\r
-            pound-foot{\r
-                dnam{"pound-foot"}\r
+            pound-force-foot{\r
+                dnam{"pound-force-foot"}\r
             }\r
         }\r
         volume{\r
@@ -891,7 +891,7 @@ nb{
                 one{"{0}G"}\r
                 other{"{0}G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 one{"{0}m/s²"}\r
                 other{"{0}m/s²"}\r
             }\r
@@ -947,7 +947,7 @@ nb{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100km"}\r
                 one{"{0} l/100km"}\r
                 other{"{0} l/100km"}\r
@@ -1161,7 +1161,7 @@ nb{
                 one{"{0}hPa"}\r
                 other{"{0}hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0}ʹʹ Hg"}\r
                 other{"{0}ʹʹ Hg"}\r
             }\r
@@ -1169,11 +1169,11 @@ nb{
                 one{"{0}mbar"}\r
                 other{"{0}mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 one{"{0}mmHg"}\r
                 other{"{0}mmHg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 one{"{0}psi"}\r
                 other{"{0}psi"}\r
             }\r
@@ -1236,7 +1236,7 @@ nb{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"meter/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1340,11 +1340,6 @@ nb{
                 one{"{0} mmol/l"}\r
                 other{"{0} mmol/l"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"prosent"}\r
                 one{"{0} %"}\r
@@ -1355,6 +1350,11 @@ nb{
                 one{"{0} ‰"}\r
                 other{"{0} ‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"promyriade"}\r
                 one{"{0} ‱"}\r
@@ -1362,7 +1362,7 @@ nb{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100 km"}\r
@@ -1869,7 +1869,7 @@ nb{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1879,7 +1879,7 @@ nb{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 one{"{0} mmHg"}\r
                 other{"{0} mmHg"}\r
@@ -1888,7 +1888,7 @@ nb{
                 one{"{0} Pa"}\r
                 other{"{0} Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
index 98b7ed4..c95d25a 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nd{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7fb9b12..792e8d2 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nds{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         duration{\r
             day{\r
index c51b4c8..23d4096 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ne{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ ne{
                 one{"{0} गुरूत्वाकर्षण शक्ति"}\r
                 other{"{0} गुरूत्वाकर्षण शक्ति"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"मिटर प्रति वर्ग सेकेन्ड"}\r
                 one{"{0}मिटर प्रति सेकेण्ड वर्ग"}\r
                 other{"{0}मिटर प्रति सेकेण्ड वर्ग"}\r
@@ -128,11 +128,6 @@ ne{
                 one{"{0} मोल"}\r
                 other{"{0} मोल"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"प्रतिशत"}\r
                 one{"{0} प्रतिशत"}\r
@@ -143,6 +138,11 @@ ne{
                 one{"{0} प्रति मिल"}\r
                 other{"{0} प्रति मिल"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"पर्माइराइड"}\r
                 one{"{0} पर्माइराइड"}\r
@@ -150,7 +150,7 @@ ne{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"लिटर प्रति १०० किलोमिटर"}\r
                 one{"{0}लिटर प्रति १०० किलोमिटर"}\r
                 other{"{0}लिटर प्रति १०० किलोमिटर"}\r
@@ -675,7 +675,7 @@ ne{
                 one{"{0} हेक्टो पास्कल"}\r
                 other{"{0} हेक्टो पास्कल"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"इन्च पारो"}\r
                 one{"{0} इन्च पारो"}\r
                 other{"{0} इन्च पारो"}\r
@@ -695,7 +695,7 @@ ne{
                 one{"{0} मिलिबार"}\r
                 other{"{0} मिलिबार"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"मिलिमिटर पारो"}\r
                 one{"{0} मिलिमिटर पारो"}\r
                 other{"{0} मिलिमिटर पारो"}\r
@@ -705,7 +705,7 @@ ne{
                 one{"{0} पास्कल"}\r
                 other{"{0} पास्कल"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"पाउन्ड प्रति वर्ग इन्च"}\r
                 one{"{0} पाउन्ड प्रति वर्ग इन्च"}\r
                 other{"{0}पाउन्ड प्रति वर्ग इन्च"}\r
@@ -761,7 +761,7 @@ ne{
                 one{"{0} न्युटन मिटर"}\r
                 other{"{0} न्युटन मिटर"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"पाउन्ड फिट"}\r
                 one{"{0} पाउन्ड फुट"}\r
                 other{"{0} पाउन्ड फिट"}\r
@@ -963,7 +963,7 @@ ne{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"लि./१००कि.मि."}\r
                 one{"{0}L/100km"}\r
                 other{"{0}L/100km"}\r
@@ -1105,7 +1105,7 @@ ne{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} ईञ्‍च पारो"}\r
                 other{"{0} ईञ्‍च पारो"}\r
             }\r
@@ -1163,7 +1163,7 @@ ne{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1278,11 +1278,6 @@ ne{
                 one{"{0} मोल"}\r
                 other{"{0} मोल"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"प्रतिशत"}\r
                 one{"{0}प्रतिशत"}\r
@@ -1293,12 +1288,17 @@ ne{
                 one{"{0}प्रति मिल"}\r
                 other{"{0}प्रतिशत १"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"पर्माइराइड"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"लि./१००कि.मि."}\r
                 one{"{0}लि./१००कि.मि."}\r
                 other{"{0}लि./१००कि.मि."}\r
@@ -1819,7 +1819,7 @@ ne{
                 one{"{0}hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"इन्च पारो"}\r
                 one{"{0} इन्च पारो"}\r
                 other{"{0} इन्च पारो"}\r
@@ -1839,7 +1839,7 @@ ne{
                 one{"{0} मिलिबार"}\r
                 other{"{0} मिलिबार"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
@@ -1849,7 +1849,7 @@ ne{
                 one{"{0} Pa"}\r
                 other{"{0} Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
index bd3c3b5..dcd0ff1 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nl{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ nl{
                 one{"{0} G-kracht"}\r
                 other{"{0} G-krachten"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"meter per seconde kwadraat"}\r
                 one{"{0} meter per seconde kwadraat"}\r
                 other{"{0} meter per seconde kwadraat"}\r
@@ -119,11 +119,6 @@ nl{
                 one{"{0} millimol per liter"}\r
                 other{"{0} millimol per liter"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"procent"}\r
                 one{"{0} procent"}\r
@@ -134,6 +129,11 @@ nl{
                 one{"{0} promille"}\r
                 other{"{0} promille"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"basispunt"}\r
                 one{"{0} basispunt"}\r
@@ -141,7 +141,7 @@ nl{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"liter per 100 kilometer"}\r
                 one{"{0} liter per 100 kilometer"}\r
                 other{"{0} liter per 100 kilometer"}\r
@@ -683,7 +683,7 @@ nl{
                 one{"{0} hectopascal"}\r
                 other{"{0} hectopascal"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inch-kwikdruk"}\r
                 one{"{0} inch-kwikdruk"}\r
                 other{"{0} inch-kwikdruk"}\r
@@ -703,7 +703,7 @@ nl{
                 one{"{0} millibar"}\r
                 other{"{0} millibar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"millimeter-kwikdruk"}\r
                 one{"{0} millimeter-kwikdruk"}\r
                 other{"{0} millimeter-kwikdruk"}\r
@@ -713,7 +713,7 @@ nl{
                 one{"{0} pascal"}\r
                 other{"{0} pascal"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -769,9 +769,9 @@ nl{
                 one{"{0} newtonmeter"}\r
                 other{"{0} newtonmeter"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"pound-feet"}\r
-                one{"{0} pound-foot"}\r
+                one{"{0} pound-force-foot"}\r
                 other{"{0} pound-feet"}\r
             }\r
         }\r
@@ -925,7 +925,7 @@ nl{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1030,11 +1030,6 @@ nl{
                 one{"{0} mmol/l"}\r
                 other{"{0} mmol/l"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 one{"{0}%"}\r
@@ -1045,9 +1040,14 @@ nl{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100km"}\r
                 one{"{0} l/100km"}\r
                 other{"{0} l/100km"}\r
@@ -1498,7 +1498,7 @@ nl{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1508,12 +1508,12 @@ nl{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 one{"{0} mmHg"}\r
                 other{"{0} mmHg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -1707,7 +1707,7 @@ nl{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1812,11 +1812,6 @@ nl{
                 one{"{0} mmol/l"}\r
                 other{"{0} mmol/l"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"procent"}\r
                 one{"{0}%"}\r
@@ -1827,9 +1822,14 @@ nl{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100km"}\r
                 one{"{0} l/100km"}\r
                 other{"{0} l/100km"}\r
@@ -2324,7 +2324,7 @@ nl{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -2334,7 +2334,7 @@ nl{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 one{"{0} mmHg"}\r
                 other{"{0} mmHg"}\r
@@ -2344,7 +2344,7 @@ nl{
                 one{"{0} Pa"}\r
                 other{"{0} Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
index 7a637e1..4138067 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nmg{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 04130ab..adf05c2 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ nn{
                 one{"{0} g-kraft"}\r
                 other{"{0} g-krefter"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"meter per sekund²"}\r
                 one{"{0} meter per sekund²"}\r
                 other{"{0} meter per sekund²"}\r
@@ -118,14 +118,14 @@ nn{
                 one{"{0} millimol per liter"}\r
                 other{"{0} millimol per liter"}\r
             }\r
-            part-per-million{\r
+            permillion{\r
                 dnam{"milliondelar"}\r
                 one{"{0} milliondel"}\r
                 other{"{0} milliondelar"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"liter per 100 kilometer"}\r
                 one{"{0} liter per 100 kilometer"}\r
                 other{"{0} liter per 100 kilometer"}\r
@@ -539,7 +539,7 @@ nn{
                 one{"{0} hektopascal"}\r
                 other{"{0} hektopascal"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"tommar kvikksølv"}\r
                 one{"{0} tomme kvikksølv"}\r
                 other{"{0} tommar kvikksølv"}\r
@@ -549,12 +549,12 @@ nn{
                 one{"{0} millibar"}\r
                 other{"{0} millibar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"millimeter kvikksølv"}\r
                 one{"{0} millimeter kvikksølv"}\r
                 other{"{0} millimeter kvikksølv"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"pund per kvadrattomme"}\r
                 one{"{0} pund per kvadrattomme"}\r
                 other{"{0} pund per kvadrattomme"}\r
@@ -751,7 +751,7 @@ nn{
             per{"{0}/{1}"}\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100km"}\r
                 other{"{0} l/100km"}\r
@@ -841,7 +841,7 @@ nn{
             }\r
         }\r
         pressure{\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
             }\r
@@ -883,7 +883,7 @@ nn{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -987,14 +987,14 @@ nn{
                 one{"{0} mmol/l"}\r
                 other{"{0} mmol/l"}\r
             }\r
-            part-per-million{\r
+            permillion{\r
                 dnam{"ppm"}\r
                 one{"{0} ppm"}\r
                 other{"{0} ppm"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100 km"}\r
@@ -1404,7 +1404,7 @@ nn{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1414,12 +1414,12 @@ nn{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 one{"{0} mmHg"}\r
                 other{"{0} mmHg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
index c39f025..d3a9187 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nnh{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5c7bf51..e8e0e7e 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nus{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e63324c..a86ce18 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nyn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 60bccd6..f4ccbba 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 om{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 95ea969..ea4ca1c 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 or{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ or{
                 one{"{0} ଜି-ଫୋର୍ସ୍"}\r
                 other{"{0} ଜି-ଫୋର୍ସ୍"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"ମିଟର୍ ପ୍ରତି ସେକେଣ୍ଡ୍ ବର୍ଗ"}\r
                 one{"{0} ମିଟର୍ ପ୍ରତି ସେକେଣ୍ଡ୍ ବର୍ଗ"}\r
                 other{"{0} ମିଟର୍ ପ୍ରତି ସେକେଣ୍ଡ୍ ବର୍ଗ"}\r
@@ -128,11 +128,6 @@ or{
                 one{"{0} ମୋଲ"}\r
                 other{"{0} ମୋଲସ"}\r
             }\r
-            part-per-million{\r
-                dnam{"ଅଂଶ ପ୍ରତି ନିୟୁତ"}\r
-                one{"{0} ଅଂଶ ପ୍ରତି ନିୟୁତ"}\r
-                other{"{0} ଅଂଶ ପ୍ରତି ନିୟୁତ"}\r
-            }\r
             percent{\r
                 dnam{"ଶତକଡ଼ା"}\r
                 one{"{0} ଶତକଡ଼ା"}\r
@@ -143,6 +138,11 @@ or{
                 one{"{0} ପରମିଲ"}\r
                 other{"{0} ପରମିଲ"}\r
             }\r
+            permillion{\r
+                dnam{"ଅଂଶ ପ୍ରତି ନିୟୁତ"}\r
+                one{"{0} ଅଂଶ ପ୍ରତି ନିୟୁତ"}\r
+                other{"{0} ଅଂଶ ପ୍ରତି ନିୟୁତ"}\r
+            }\r
             permyriad{\r
                 dnam{"ପରମାଇରିଆଡ"}\r
                 one{"{0} ପରମାଇରିଆଡ"}\r
@@ -150,7 +150,7 @@ or{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"100 କିଲୋମିଟର୍ ପ୍ରତି ଲିଟର୍"}\r
                 one{"100 କିଲୋମିଟର୍ ପ୍ରତି {0} ଲିଟର୍"}\r
                 other{"100 କିଲୋମିଟର୍ ପ୍ରତି {0} ଲିଟର୍"}\r
@@ -635,7 +635,7 @@ or{
                 one{"{0} ହେକ୍ଟୋପାସ୍କେଲ୍"}\r
                 other{"{0} ହେକ୍ଟୋପାସ୍କେଲ୍"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"ପାରାର ଇଞ୍ଜି"}\r
                 one{"ପାରାର {0} ଇଞ୍ଜି"}\r
                 other{"ପାରାର {0} ଇଞ୍ଜି"}\r
@@ -655,7 +655,7 @@ or{
                 one{"{0} ମିଲିବାର୍"}\r
                 other{"{0} ମିଲିବାର୍"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"ପାରାର ମିଲିମିଟର୍"}\r
                 one{"ପାରାର {0} ମିଲିମିଟର୍"}\r
                 other{"ପାରାର {0} ମିଲିମିଟର୍"}\r
@@ -665,7 +665,7 @@ or{
                 one{"{0} ପା"}\r
                 other{"{0} ପା"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"ପାଉଣ୍ଡ୍ ପ୍ରତି ବର୍ଗ ଇଞ୍ଚ"}\r
                 one{"ପ୍ରତି ବର୍ଗ ଇଞ୍ଚ {0} ପାଉଣ୍ଡ୍"}\r
                 other{"ପ୍ରତି ବର୍ଗ ଇଞ୍ଚ {0} ପାଉଣ୍ଡ୍"}\r
@@ -721,7 +721,7 @@ or{
                 one{"{0} ନ୍ୟୁଟନ-ମିଟର"}\r
                 other{"{0} ନ୍ୟୁଟନ-ମିଟର୍ସ"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"ପାଉଣ୍ଡ-ଫିଟ"}\r
                 one{"{0} ପାଉଣ୍ଡ-ଫୁଟ"}\r
                 other{"{0} ପାଉଣ୍ଡ-ଫିଟ"}\r
@@ -877,7 +877,7 @@ or{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ଲି/100କିମି"}\r
                 one{"{0}ଲି/100 କିମି"}\r
                 other{"{0}ଲି/100 କିମି"}\r
@@ -955,6 +955,9 @@ or{
             }\r
         }\r
         mass{\r
+            earth-mass{\r
+                dnam{"ଅର୍ଥ ମାସ୍"}\r
+            }\r
             gram{\r
                 dnam{"ଗ୍ରାମ୍"}\r
                 one{"{0}ଗ୍ରା"}\r
@@ -995,7 +998,7 @@ or{
                 one{"{0} ଜି"}\r
                 other{"{0} ଜି"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"ମିଟର୍/ସେ²"}\r
                 one{"{0} ମି/ସେ²"}\r
                 other{"{0} ମି/ସେ²"}\r
@@ -1110,11 +1113,6 @@ or{
                 one{"ମୋଲ"}\r
                 other{"{0} ମୋଲ"}\r
             }\r
-            part-per-million{\r
-                dnam{"ଅଂଶ/ନିୟୁତ"}\r
-                one{"{0} ପିପିଏମ୍"}\r
-                other{"{0} ପିପିଏମ୍"}\r
-            }\r
             percent{\r
                 dnam{"ଶତକଡ଼ା"}\r
                 one{"{0}%"}\r
@@ -1125,12 +1123,17 @@ or{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ଅଂଶ/ନିୟୁତ"}\r
+                one{"{0} ପିପିଏମ୍"}\r
+                other{"{0} ପିପିଏମ୍"}\r
+            }\r
             permyriad{\r
                 dnam{"ପରମାଇରିଆଡ"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ଲି/100 କିମି"}\r
                 one{"{0} ଲି/100 କିମି"}\r
                 other{"{0} ଲି/100 କିମି"}\r
@@ -1601,7 +1604,7 @@ or{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1611,7 +1614,7 @@ or{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 one{"{0} mmHg"}\r
                 other{"{0} mmHg"}\r
@@ -1621,7 +1624,7 @@ or{
                 one{"{0} ପା"}\r
                 other{"{0} ପା"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
index dd94294..ed5391e 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 os{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         duration{\r
             day{\r
index 099b748..6078ca2 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pa{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ pa{
                 one{"{0} ਗੁਰੂਤਾਕਰਸ਼ਣ ਬਲ"}\r
                 other{"{0} ਗੁਰੂਤਾਕਰਸ਼ਣ ਬਲ"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"ਮੀਟਰ ਪ੍ਰਤੀ ਵਰਗ ਸਕਿੰਟ"}\r
                 one{"{0} ਮੀਟਰ ਪ੍ਰਤੀ ਵਰਗ ਸਕਿੰਟ"}\r
                 other{"{0} ਮੀਟਰ ਪ੍ਰਤੀ ਵਰਗ ਸਕਿੰਟ"}\r
@@ -128,11 +128,6 @@ pa{
                 one{"{0} ਮੋਲ"}\r
                 other{"{0} ਮੋਲ"}\r
             }\r
-            part-per-million{\r
-                dnam{"ਹਿੱਸੇ ਪ੍ਰਤੀ ਮਿਲੀਅਨ"}\r
-                one{"{0} ਹਿੱਸਾ ਪ੍ਰਤੀ ਮਿਲੀਅਨ"}\r
-                other{"{0} ਹਿੱਸੇ ਪ੍ਰਤੀ ਮਿਲੀਅਨ"}\r
-            }\r
             percent{\r
                 dnam{"ਪ੍ਰਤੀਸ਼ਤ"}\r
                 one{"{0} ਪ੍ਰਤੀਸ਼ਤ"}\r
@@ -143,6 +138,11 @@ pa{
                 one{"{0} ਪਰਮਾਈਲ"}\r
                 other{"{0} ਪਰਮਾਈਲ"}\r
             }\r
+            permillion{\r
+                dnam{"ਹਿੱਸੇ ਪ੍ਰਤੀ ਮਿਲੀਅਨ"}\r
+                one{"{0} ਹਿੱਸਾ ਪ੍ਰਤੀ ਮਿਲੀਅਨ"}\r
+                other{"{0} ਹਿੱਸੇ ਪ੍ਰਤੀ ਮਿਲੀਅਨ"}\r
+            }\r
             permyriad{\r
                 dnam{"ਪ੍ਰਤੀ ਦਸ ਹਜ਼ਾਰ"}\r
                 one{"{0} ਪ੍ਰਤੀ ਦਸ ਹਜ਼ਾਰ"}\r
@@ -150,7 +150,7 @@ pa{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ਲਿਟਰ ਪ੍ਰਤੀ 100 ਕਿਲੋਮੀਟਰ"}\r
                 one{"{0} ਲਿਟਰ ਪ੍ਰਤੀ 100 ਕਿਲੋਮੀਟਰ"}\r
                 other{"{0} ਲਿਟਰ ਪ੍ਰਤੀ 100 ਕਿਲੋਮੀਟਰ"}\r
@@ -690,7 +690,7 @@ pa{
                 one{"{0} ਹੈਕਟੋਪਾਸਕਲ"}\r
                 other{"{0} ਹੈਕਟੋਪਾਸਕਲ"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"ਇੰਚ ਪਾਰਾ"}\r
                 one{"{0} ਇੰਚ ਪਾਰਾ"}\r
                 other{"{0} ਇੰਚ ਪਾਰਾ"}\r
@@ -710,7 +710,7 @@ pa{
                 one{"{0} ਮਿਲੀਬਾਰ"}\r
                 other{"{0} ਮਿਲੀਬਾਰ"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"ਮਿਲੀਮੀਟਰ ਪਾਰਾ"}\r
                 one{"{0} ਮਿਲੀਮੀਟਰ ਪਾਰਾ"}\r
                 other{"{0} ਮਿਲੀਮੀਟਰ ਪਾਰਾ"}\r
@@ -720,7 +720,7 @@ pa{
                 one{"{0} ਪੈਸਕਲ"}\r
                 other{"{0} ਪੈਸਕਲ"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"ਪੌਂਡ ਪ੍ਰਤੀ ਵਰਗ ਇੰਚ"}\r
                 one{"{0} ਪੌਂਡ ਪ੍ਰਤੀ ਵਰਗ ਇੰਚ"}\r
                 other{"{0} ਪੌਂਡ ਪ੍ਰਤੀ ਵਰਗ ਇੰਚ"}\r
@@ -776,7 +776,7 @@ pa{
                 one{"{0} ਨਿਊਟਨ-ਮੀਟਰ"}\r
                 other{"{0} ਨਿਊਟਨ-ਮੀਟਰ"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"ਪੌਂਡ-ਫੁੱਟ"}\r
                 one{"{0} ਪੌਂਡ-ਫੁੱਟ"}\r
                 other{"{0} ਪੌਂਡ-ਫੁੱਟ"}\r
@@ -931,7 +931,7 @@ pa{
                 one{"{0}G"}\r
                 other{"{0}Gs"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 one{"{0}ਮੀ/ਸ²"}\r
                 other{"{0}ਮੀ/ਸ²"}\r
             }\r
@@ -1007,7 +1007,7 @@ pa{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ਲਿ./100ਕਿ.ਮੀ."}\r
             }\r
             liter-per-kilometer{\r
@@ -1352,7 +1352,7 @@ pa{
                 one{"{0} ਹੈ.ਪਾ."}\r
                 other{"{0} ਹੈ.ਪਾ."}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"ਇੰਚ ਪਾਰਾ"}\r
                 one{"{0}\u0022 ਪਾਰਾ"}\r
                 other{"{0}\u0022 ਪਾਰਾ"}\r
@@ -1362,12 +1362,12 @@ pa{
                 one{"{0} ਮਿ.ਬਾ."}\r
                 other{"{0} ਮਿ.ਬਾ."}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"ਮਿ.ਮੀ. ਪਾਰਾ"}\r
                 one{"{0} ਮਿ.ਮੀ. ਪਾਰਾ"}\r
                 other{"{0} ਮਿ.ਮੀ. ਪਾਰਾ"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"ਪੌਂ.ਵ.ਇੰਚ"}\r
                 one{"{0} ਪੌਂ.ਵ.ਇੰਚ"}\r
                 other{"{0} ਪੌਂ.ਵ.ਇੰਚ"}\r
@@ -1503,7 +1503,7 @@ pa{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"ਮੀਟਰ/ਸਕਿੰਟ²"}\r
                 one{"{0} ਮੀ/ਸ²"}\r
                 other{"{0} ਮੀ/ਸ²"}\r
@@ -1618,11 +1618,6 @@ pa{
                 one{"{0} ਮੋਲ"}\r
                 other{"{0} ਮੋਲ"}\r
             }\r
-            part-per-million{\r
-                dnam{"ਹਿੱਸੇ/ਮਿਲੀਅਨ"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"ਪ੍ਰਤੀਸ਼ਤ"}\r
                 one{"{0}%"}\r
@@ -1633,12 +1628,17 @@ pa{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ਹਿੱਸੇ/ਮਿਲੀਅਨ"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"ਪ੍ਰਤੀ ਦਸ ਹਜ਼ਾਰ"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ਲਿ./100ਕਿ.ਮੀ."}\r
                 one{"{0}ਲਿ/100 ਕਿਮੀ"}\r
                 other{"{0}ਲਿ/100 ਕਿਮੀ"}\r
@@ -2166,7 +2166,7 @@ pa{
                 one{"{0} ਹੈ.ਪਾ."}\r
                 other{"{0} ਹੈ.ਪਾ."}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"ਇੰਚ ਪਾਰਾ"}\r
                 one{"{0} ਇੰਚ ਪਾਰਾ"}\r
                 other{"{0} ਇੰਚ ਪਾਰਾ"}\r
@@ -2186,7 +2186,7 @@ pa{
                 one{"{0} ਮਿਲੀਬਾਰ"}\r
                 other{"{0} ਮਿਲੀਬਾਰ"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"ਮਿ.ਮੀ. ਪਾਰਾ"}\r
                 one{"{0} ਮਿ.ਮੀ. ਪਾਰਾ"}\r
                 other{"{0} ਮਿ.ਮੀ. ਪਾਰਾ"}\r
@@ -2196,7 +2196,7 @@ pa{
                 one{"{0} Pa"}\r
                 other{"{0} Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"ਪੌਂ.ਵ.ਇੰਚ"}\r
                 one{"{0} ਪੌਂ.ਵ.ਇੰਚ"}\r
                 other{"{0} ਪੌਂ.ਵ.ਇੰਚ"}\r
index 9daceda..5820d5d 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pa_Arab{\r
     %%Parent{"root"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b1dcb3f..de00c95 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pa_Guru{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/unit/pcm.txt b/source/data/unit/pcm.txt
new file mode 100644 (file)
index 0000000..3faa4f3
--- /dev/null
@@ -0,0 +1,1936 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+pcm{\r
+    Version{"37"}\r
+    durationUnits{\r
+        hm{"h:mm"}\r
+        hms{"h:mm:ss"}\r
+        ms{"m:ss"}\r
+    }\r
+    units{\r
+        acceleration{\r
+            g-force{\r
+                dnam{"Grávíti Fọs"}\r
+                one{"{0} g-Fọs"}\r
+                other{"{0} g-Fọs"}\r
+            }\r
+            meter-per-square-second{\r
+                dnam{"Míta Fọ Ẹ́vrí Skwiá Sẹ́kọn"}\r
+                one{"{0} Míta Fọ Ẹ́vrí Skwiá Sẹ́kọn"}\r
+                other{"{0} Míta Fọ Ẹ́vrí Skwiá Sẹ́kọn"}\r
+            }\r
+        }\r
+        angle{\r
+            arc-minute{\r
+                dnam{"Ákmínit-dẹm"}\r
+                one{"{0} Ákmínit"}\r
+                other{"{0} Ákmínit"}\r
+            }\r
+            arc-second{\r
+                dnam{"Áksẹ́kọn-dẹm"}\r
+                one{"{0} Áksẹ́kọn"}\r
+                other{"{0} Áksẹ́kọn"}\r
+            }\r
+            degree{\r
+                dnam{"Digrii-dẹm"}\r
+                one{"{0} Digrii"}\r
+                other{"{0} Digrii"}\r
+            }\r
+            radian{\r
+                dnam{"Rédian-dẹm fọ Ángúl Mẹ́zhọ́mẹnt"}\r
+                one{"{0} Rédian"}\r
+                other{"{0} Rédian"}\r
+            }\r
+            revolution{\r
+                dnam{"Rẹvolúshọn"}\r
+                one{"{0} Rẹvolúshọn"}\r
+                other{"{0} Rẹvolúshọn"}\r
+            }\r
+        }\r
+        area{\r
+            acre{\r
+                dnam{"Éka-dẹm"}\r
+                one{"{0} Éka"}\r
+                other{"{0} Éka"}\r
+            }\r
+            dunam{\r
+                dnam{"Dúnam-dẹm"}\r
+                one{"{0} Dúnam"}\r
+                other{"{0} Dúnam"}\r
+            }\r
+            hectare{\r
+                dnam{"Hẹ́kta-dẹm"}\r
+                one{"{0} Hẹ́kta"}\r
+                other{"{0} Hẹ́kta"}\r
+            }\r
+            square-centimeter{\r
+                dnam{"Skwiá Sẹntímíta-dẹm"}\r
+                one{"{0} Skwiá Sẹntímíta"}\r
+                other{"{0} Skwiá Sẹntímíta"}\r
+                per{"{0} Fọ Ích Skwiá Sẹntímíta"}\r
+            }\r
+            square-foot{\r
+                dnam{"Skwiá Fut-dẹm"}\r
+                one{"{0} Skwiá Fut"}\r
+                other{"{0} Skwiá Fut"}\r
+            }\r
+            square-inch{\r
+                dnam{"Skwiá Inch-dẹm"}\r
+                one{"{0} Skwiá Inch"}\r
+                other{"{0} Skwiá Inch"}\r
+                per{"{0} Fọ Ích Skwiá Inch"}\r
+            }\r
+            square-kilometer{\r
+                dnam{"Skwiá Kilómíta-dẹm"}\r
+                one{"{0} Skwiá Kilómíta"}\r
+                other{"{0} Skwiá Kilómíta"}\r
+                per{"{0} Fọ Ích Skwiá Kilómíta"}\r
+            }\r
+            square-meter{\r
+                dnam{"Skwiá Míta-dẹm"}\r
+                one{"{0} Skwiá Míta"}\r
+                other{"{0} Skwiá Míta"}\r
+                per{"{0} Fọ Ích Skwiá Míta"}\r
+            }\r
+            square-mile{\r
+                dnam{"Skwiá Mail-dẹm"}\r
+                one{"{0} Skwiá Mail"}\r
+                other{"{0} Skwiá Mail"}\r
+                per{"{0} Fọ Ích Skwiá Mail"}\r
+            }\r
+            square-yard{\r
+                dnam{"Skwiá Yad-dẹm"}\r
+                one{"{0} Skwiá Yad"}\r
+                other{"{0} Skwiá Yad"}\r
+            }\r
+        }\r
+        compound{\r
+            per{"{0} Fọ Ẹ́vri {1}"}\r
+            times{"{0}⋅{1}"}\r
+        }\r
+        concentr{\r
+            karat{\r
+                dnam{"Karat-dẹm"}\r
+                one{"{0} Karat"}\r
+                other{"{0} Karat"}\r
+            }\r
+            milligram-per-deciliter{\r
+                dnam{"Mílígram-dẹm Fọ Ẹ́vrí Dẹsílíta"}\r
+                one{"{0} Mílígram Fọ Ẹ́vrí Dẹsílíta"}\r
+                other{"{0} Mílígram Fọ Ẹ́vrí Dẹsílíta"}\r
+            }\r
+            millimole-per-liter{\r
+                dnam{"Mílimol-dẹm Fọ Ẹ́vrí Líta"}\r
+                one{"{0} Mílimol Fọ Ẹ́vrí Líta"}\r
+                other{"{0} Mílimol Fọ Ẹ́vrí Líta"}\r
+            }\r
+            mole{\r
+                dnam{"Mol-dẹm"}\r
+                one{"{0} Mol"}\r
+                other{"{0} Mol"}\r
+            }\r
+            percent{\r
+                dnam{"Pasẹnt"}\r
+                one{"{0} Pasẹnt"}\r
+                other{"{0} Pasẹnt"}\r
+            }\r
+            permille{\r
+                dnam{"Fọ Ích Taúzan"}\r
+                one{"{0} Fọ Ích Taúzan"}\r
+                other{"{0} Fọ Ích Taúzan"}\r
+            }\r
+            permillion{\r
+                dnam{"Pat-dẹm Fọ Ích Míliọn"}\r
+                one{"{0} Pat Fọ Ích Míliọn"}\r
+                other{"{0} Pat Fọ Ích Míliọn"}\r
+            }\r
+            permyriad{\r
+                dnam{"Fọ Ích Tẹ́n Taúzan"}\r
+                one{"{0} Fọ Ích Tẹ́n Taúzan"}\r
+                other{"{0} Fọ Ích Tẹ́n Taúzan"}\r
+            }\r
+        }\r
+        consumption{\r
+            liter-per-100-kilometer{\r
+                dnam{"Líta-dẹm Fọ Ẹ́vrí 100 Kilómíta"}\r
+                one{"{0} Líta Fọ Ẹ́vrí 100 Kilómíta"}\r
+                other{"{0} Líta Fọ Ẹ́vrí 100 Kilómíta"}\r
+            }\r
+            liter-per-kilometer{\r
+                dnam{"Líta-dẹm Fọ Ẹ́vrí Kilómíta"}\r
+                one{"{0} Líta Fọ Ẹ́vrí Kilómíta"}\r
+                other{"{0} Líta Fọ Ẹ́vrí Kilómíta"}\r
+            }\r
+            mile-per-gallon{\r
+                dnam{"Mail-dẹm Fọ Ẹ́vrí Gálọn"}\r
+                one{"{0} Mail Fọ Ẹ́vrí Gálọn"}\r
+                other{"{0} Mail Fọ Ẹ́vrí Gálọn"}\r
+            }\r
+            mile-per-gallon-imperial{\r
+                dnam{"Mail-dẹm Fọ Ẹ́vrí Brítísh Gálọn"}\r
+                one{"{0} Mail Fọ Ẹ́vrí Brítísh Gálọn"}\r
+                other{"{0} Mail Fọ Ẹ́vrí Brítísh Gálọn"}\r
+            }\r
+        }\r
+        coordinate{\r
+            dnam{"Kádínál Pọint"}\r
+            east{"{0} Ist"}\r
+            north{"{0} Nọt"}\r
+            south{"{0} Sáut"}\r
+            west{"{0} Wẹst"}\r
+        }\r
+        digital{\r
+            bit{\r
+                dnam{"Bit-dem"}\r
+                one{"{0} bit"}\r
+                other{"{0} bit"}\r
+            }\r
+            byte{\r
+                dnam{"Bait-dẹm"}\r
+                one{"{0} Bait"}\r
+                other{"{0} Bait"}\r
+            }\r
+            gigabit{\r
+                dnam{"Gígábit-dẹm"}\r
+                one{"{0} Gígábit"}\r
+                other{"{0} Gígábit"}\r
+            }\r
+            gigabyte{\r
+                dnam{"Gígábait-dẹm"}\r
+                one{"{0} Gígábait"}\r
+                other{"{0} Gígábait"}\r
+            }\r
+            kilobit{\r
+                dnam{"Kílóbit-dẹm"}\r
+                one{"{0} Kílóbit"}\r
+                other{"{0} Kílóbit"}\r
+            }\r
+            kilobyte{\r
+                dnam{"Kílóbait-dẹm"}\r
+                one{"{0} Kílóbait"}\r
+                other{"{0} Kílóbait"}\r
+            }\r
+            megabit{\r
+                dnam{"Mẹ́gábit-dẹm"}\r
+                one{"{0} Mẹ́gábit"}\r
+                other{"{0} Mẹ́gábit"}\r
+            }\r
+            megabyte{\r
+                dnam{"Mẹ́gábait-dẹm"}\r
+                one{"{0} Mẹ́gábait"}\r
+                other{"{0} Mẹ́gábait"}\r
+            }\r
+            petabyte{\r
+                dnam{"Pẹ́tábait-dẹm"}\r
+                one{"{0} Pẹ́tábait"}\r
+                other{"{0} Pẹ́tábait"}\r
+            }\r
+            terabit{\r
+                dnam{"Tẹ́rábit-dẹm"}\r
+                one{"{0} Tẹ́rábit"}\r
+                other{"{0} Tẹ́rábit"}\r
+            }\r
+            terabyte{\r
+                dnam{"Tẹ́rábait-dẹm"}\r
+                one{"{0} Tẹ́rábait"}\r
+                other{"{0} Tẹ́rábait"}\r
+            }\r
+        }\r
+        duration{\r
+            century{\r
+                dnam{"Họ́ndrẹ́d-họ́ndrẹ́d-yiẹ́"}\r
+                one{"{0} Họ́ndrẹ́d-yiẹ́"}\r
+                other{"{0} Họ́ndrẹ́d-yiẹ́"}\r
+            }\r
+            day{\r
+                dnam{"Dè-dẹm"}\r
+                one{"{0} Dè"}\r
+                other{"{0} Dè"}\r
+                per{"{0} Ích Dè"}\r
+            }\r
+            decade{\r
+                dnam{"Tẹ́n-tẹ́n-yiẹ"}\r
+                one{"{0} Tẹ́n-yiẹ"}\r
+                other{"{0} Tẹ́n-yiẹ́"}\r
+            }\r
+            hour{\r
+                dnam{"Áwa-dẹm"}\r
+                one{"{0} Áwa"}\r
+                other{"{0} Áwa"}\r
+                per{"{0} Ích Áwa"}\r
+            }\r
+            microsecond{\r
+                dnam{"Maíkrosẹ́kọn-dẹm"}\r
+                one{"{0} Maíkrosẹ́kọn"}\r
+                other{"{0} Maíkrosẹ́kọn"}\r
+            }\r
+            millisecond{\r
+                dnam{"Mílisẹ́kọn-dẹm"}\r
+                one{"{0} Mílisẹ́kọn"}\r
+                other{"{0} Mílisẹ́kọn"}\r
+            }\r
+            minute{\r
+                dnam{"Mínit-dẹm"}\r
+                one{"{0} Mínit"}\r
+                other{"{0} Mínit"}\r
+                per{"{0} Ích Mínit"}\r
+            }\r
+            month{\r
+                dnam{"Mọnt-dẹm"}\r
+                one{"{0} Mọnt"}\r
+                other{"{0} Mọnt"}\r
+                per{"{0} Ích mọnt"}\r
+            }\r
+            nanosecond{\r
+                dnam{"Nánosẹ́kọn-dẹm"}\r
+                one{"{0} Nánosẹ́kọn"}\r
+                other{"{0} Nánosẹ́kọn"}\r
+            }\r
+            second{\r
+                dnam{"Sẹ́kọn-dẹm"}\r
+                one{"{0} Sẹ́kọn"}\r
+                other{"{0} Sẹ́kọn"}\r
+                per{"{0} Ích Sẹ́kọn"}\r
+            }\r
+            week{\r
+                dnam{"Wik-dẹm"}\r
+                one{"{0} Wik"}\r
+                other{"{0} Wik"}\r
+                per{"{0} Ích Wik"}\r
+            }\r
+            year{\r
+                dnam{"Yiẹ-dẹm"}\r
+                one{"{0} Yiẹ"}\r
+                other{"{0} Yiẹ"}\r
+                per{"{0} Ích yiẹ"}\r
+            }\r
+        }\r
+        electric{\r
+            ampere{\r
+                dnam{"Ámpẹ́a-dẹm"}\r
+                one{"{0} ámpẹ́a"}\r
+                other{"{0} ámpẹ́a"}\r
+            }\r
+            milliampere{\r
+                dnam{"Míliámpẹ́a-dẹm"}\r
+                one{"{0} Míliámpẹ́a"}\r
+                other{"{0} Míliámpẹ́a"}\r
+            }\r
+            ohm{\r
+                dnam{"Om-dẹm"}\r
+                one{"{0} Om"}\r
+                other{"{0} Om"}\r
+            }\r
+            volt{\r
+                dnam{"Volt-dẹm"}\r
+                one{"{0} Volt"}\r
+                other{"{0} Volt"}\r
+            }\r
+        }\r
+        energy{\r
+            british-thermal-unit{\r
+                dnam{"Brítísh Támál Yúnit-dẹm"}\r
+                one{"{0} Brítísh Támál Yúnit"}\r
+                other{"{0} Brítísh Támál Yúnit"}\r
+            }\r
+            calorie{\r
+                dnam{"Kálọ́ri-dẹm"}\r
+                one{"{0} Kálọ́ri"}\r
+                other{"{0} Kálọ́ri"}\r
+            }\r
+            electronvolt{\r
+                dnam{"Ẹlẹ́ktrọ́nvolt-dẹm"}\r
+                one{"{0} Ẹlẹ́ktrọ́nvolt"}\r
+                other{"{0} Ẹlẹ́ktrọ́nvolt"}\r
+            }\r
+            foodcalorie{\r
+                dnam{"Kálọ́ri-dẹm"}\r
+                one{"{0} Kálọ́ri"}\r
+                other{"{0} Kálọ́ri"}\r
+            }\r
+            joule{\r
+                dnam{"Jul-dẹm"}\r
+                one{"{0} Jul"}\r
+                other{"{0} Jul"}\r
+            }\r
+            kilocalorie{\r
+                dnam{"Kílokálọ́ri-dẹm"}\r
+                one{"{0} Kílokálọ́ri"}\r
+                other{"{0} Kílokálọ́ri"}\r
+            }\r
+            kilojoule{\r
+                dnam{"Kílojul-dẹm"}\r
+                one{"{0} Kílojul"}\r
+                other{"{0} Kílojul"}\r
+            }\r
+            kilowatt-hour{\r
+                dnam{"Kílowát-Áwa-dẹm"}\r
+                one{"{0} Kílowát-Áwa"}\r
+                other{"{0} Kílowát-Áwa"}\r
+            }\r
+            therm-us{\r
+                dnam{"US Támál Yúnit-dẹm"}\r
+                one{"{0} US Támál Yúnit"}\r
+                other{"{0} US Támál Yúnit"}\r
+            }\r
+        }\r
+        force{\r
+            newton{\r
+                dnam{"Niútons"}\r
+                one{"{0} Niúton"}\r
+                other{"{0} Niúton"}\r
+            }\r
+            pound-force{\r
+                dnam{"Páund-dẹm ọf Fọs"}\r
+                one{"{0} Paúnd ọf Fọs"}\r
+                other{"{0} Paúnd ọf Fọs"}\r
+            }\r
+        }\r
+        frequency{\r
+            gigahertz{\r
+                dnam{"Gígahẹtz-dẹm"}\r
+                one{"{0} Gígahẹtz"}\r
+                other{"{0} Gígahẹtz"}\r
+            }\r
+            hertz{\r
+                dnam{"Hẹtz-dẹm"}\r
+                one{"{0} Hẹtz"}\r
+                other{"{0} Hẹtz"}\r
+            }\r
+            kilohertz{\r
+                dnam{"Kílohẹtz-dẹm"}\r
+                one{"{0} Kílohẹtz"}\r
+                other{"{0} Kílohẹtz"}\r
+            }\r
+            megahertz{\r
+                dnam{"Mẹ́gahẹtz-dẹm"}\r
+                one{"{0} Mẹ́gahẹtz"}\r
+                other{"{0} Mẹ́gahẹtz"}\r
+            }\r
+        }\r
+        graphics{\r
+            dot-per-centimeter{\r
+                dnam{"Pọint-dẹm fọ ích sẹntímíta"}\r
+                one{"{0} Pọint fọ ích sẹntímíta"}\r
+                other{"{0} Pọint fọ ích sẹntímíta"}\r
+            }\r
+            dot-per-inch{\r
+                dnam{"Pọint-Dẹm Fọ Ẹ́vrí Inch"}\r
+                one{"{0} Pọint Fọ Ẹ́vrí Inch"}\r
+                other{"{0} Pọint Fọ Ẹ́vrí Inch"}\r
+            }\r
+            em{\r
+                dnam{"Taipógráfik em"}\r
+                one{"{0} em"}\r
+                other{"{0} ems"}\r
+            }\r
+            megapixel{\r
+                dnam{"Mẹ́gapíksẹl-dẹm"}\r
+                one{"{0} Mẹ́gapíksẹl"}\r
+                other{"{0} Mẹ́gapíksẹl"}\r
+            }\r
+            pixel{\r
+                dnam{"Píksẹl-dẹm"}\r
+                one{"{0} Píksẹl"}\r
+                other{"{0} Píksẹl"}\r
+            }\r
+            pixel-per-centimeter{\r
+                dnam{"Píksẹl-dẹm Fọ Ích Sẹntímíta"}\r
+                one{"{0} Píksẹl Fọ Ích Sẹntímíta"}\r
+                other{"{0} Píksẹl Fọ Ích Sẹntímíta"}\r
+            }\r
+            pixel-per-inch{\r
+                dnam{"Píksẹl-dẹm Fọ Ẹ́vrí Inch"}\r
+                one{"{0} Píksẹl Fọ Ẹ́vrí Inch"}\r
+                other{"{0} Píksẹl Fọ Ẹ́vrí Inch"}\r
+            }\r
+        }\r
+        length{\r
+            astronomical-unit{\r
+                dnam{"Astrọnọ́míkál Yúnit-dem"}\r
+                one{"{0} Astrọnọ́míkál Yúnit"}\r
+                other{"{0} Astrọnọ́míkál Yúnit"}\r
+            }\r
+            centimeter{\r
+                dnam{"Sẹ́ntímíta-dẹm"}\r
+                one{"{0} Sẹ́ntímíta"}\r
+                other{"{0} Sẹ́ntímíta"}\r
+                per{"{0} Fọ Ích Sẹ́ntímíta"}\r
+            }\r
+            decimeter{\r
+                dnam{"Dẹsímíta-dẹm"}\r
+                one{"{0} Dẹsímíta"}\r
+                other{"{0} Dẹsímíta"}\r
+            }\r
+            foot{\r
+                dnam{"Fut-dẹm"}\r
+                one{"{0} Fut"}\r
+                other{"{0} Fut"}\r
+                per{"{0} Fọ Ích Fut"}\r
+            }\r
+            inch{\r
+                dnam{"Inch-dẹm"}\r
+                one{"{0} inch"}\r
+                other{"{0} inch"}\r
+                per{"{0} Fọ Ẹ́vrí Inch"}\r
+            }\r
+            kilometer{\r
+                dnam{"Kílómíta-dẹm"}\r
+                one{"{0} Kílómíta"}\r
+                other{"{0} Kílómíta"}\r
+                per{"{0} Fọ Ích Kilómíta"}\r
+            }\r
+            light-year{\r
+                dnam{"Laít Yiẹ-dẹm"}\r
+                one{"{0} Laít Yiẹ"}\r
+                other{"{0} Laít Yiẹ"}\r
+            }\r
+            meter{\r
+                dnam{"Míta-dẹm"}\r
+                one{"{0} Míta"}\r
+                other{"{0} Míta"}\r
+                per{"{0} Fọ Ích Míta"}\r
+            }\r
+            micrometer{\r
+                dnam{"Maíkrómíta-dẹm"}\r
+                one{"{0} Maíkrómíta"}\r
+                other{"{0} Maíkrómíta"}\r
+            }\r
+            mile{\r
+                dnam{"Mail-dẹm"}\r
+                one{"{0} Mail"}\r
+                other{"{0} Mail"}\r
+            }\r
+            mile-scandinavian{\r
+                dnam{"Mail-Skandínévia"}\r
+                one{"{0} Mail-Skandínévia"}\r
+                other{"{0} Mail-Skandínévia"}\r
+            }\r
+            millimeter{\r
+                dnam{"Milímíta-dẹm"}\r
+                one{"{0} Milímíta"}\r
+                other{"{0} Milímíta"}\r
+            }\r
+            nanometer{\r
+                dnam{"Nanómíta-dẹm"}\r
+                one{"{0} Nanómíta"}\r
+                other{"{0} Nanómíta"}\r
+            }\r
+            nautical-mile{\r
+                dnam{"Nọ́tíkál Mail-dẹm"}\r
+                one{"{0} Nọ́tíkál Mail"}\r
+                other{"{0} Nọ́tíkál Mail"}\r
+            }\r
+            parsec{\r
+                dnam{"parsecs"}\r
+                one{"{0} parsec"}\r
+                other{"{0} parsecs"}\r
+            }\r
+            picometer{\r
+                dnam{"Pikómíta-dẹm"}\r
+                one{"{0} Pikómíta"}\r
+                other{"{0} Pikómíta"}\r
+            }\r
+            point{\r
+                dnam{"Point-dẹm"}\r
+                one{"{0} point"}\r
+                other{"{0} point"}\r
+            }\r
+            solar-radius{\r
+                dnam{"Sólá Rédiọs-dẹm"}\r
+                one{"{0} Sólá Rédiọs"}\r
+                other{"{0} Sólá Rédiọs"}\r
+            }\r
+            yard{\r
+                dnam{"Yad-dẹm"}\r
+                one{"{0} Yad"}\r
+                other{"{0} Yad"}\r
+            }\r
+        }\r
+        light{\r
+            lux{\r
+                dnam{"lux"}\r
+                one{"{0} lux"}\r
+                other{"{0} lux"}\r
+            }\r
+            solar-luminosity{\r
+                dnam{"Sólá Luminósíti-dẹm"}\r
+                one{"{0} Sólá Luminósíti"}\r
+                other{"{0} Sólá Luminósíti"}\r
+            }\r
+        }\r
+        mass{\r
+            carat{\r
+                dnam{"Kárat-dẹm"}\r
+                one{"{0} Kárat"}\r
+                other{"{0} Kárat"}\r
+            }\r
+            dalton{\r
+                dnam{"Dọ́lton-dẹm"}\r
+                one{"{0} Dọ́lton"}\r
+                other{"{0} Dọ́lton"}\r
+            }\r
+            earth-mass{\r
+                dnam{"Ẹ́t Mas-dẹm"}\r
+                one{"{0} Ẹ́t Mas"}\r
+                other{"{0} Ẹ́t Mas"}\r
+            }\r
+            gram{\r
+                dnam{"Gram-dẹm"}\r
+                one{"{0} Gram"}\r
+                other{"{0} Gram"}\r
+                per{"{0} Fọ Ích Gram"}\r
+            }\r
+            kilogram{\r
+                dnam{"Kílógram-dẹm"}\r
+                one{"{0} Kílógram"}\r
+                other{"{0} Kílógram"}\r
+                per{"{0} Fọ Ích Kílógram"}\r
+            }\r
+            metric-ton{\r
+                dnam{"Mẹ́trík Tọn-dẹm"}\r
+                one{"{0} Mẹ́trík Tọn"}\r
+                other{"{0} Mẹ́trík Tọn"}\r
+            }\r
+            microgram{\r
+                dnam{"Maíkrógram-dẹm"}\r
+                one{"{0} Maíkrógram"}\r
+                other{"{0} Maíkrógram"}\r
+            }\r
+            milligram{\r
+                dnam{"Mílígram-dẹm"}\r
+                one{"{0} Mílígram"}\r
+                other{"{0} Mílígram"}\r
+            }\r
+            ounce{\r
+                dnam{"Áuns-dẹm"}\r
+                one{"{0} Áuns"}\r
+                other{"{0} Áuns"}\r
+                per{"{0} Fọ Ích Áuns"}\r
+            }\r
+            ounce-troy{\r
+                dnam{"Trọí Áuns-dẹm"}\r
+                one{"{0} Trọí Áuns"}\r
+                other{"{0} Trọí Áuns"}\r
+            }\r
+            pound{\r
+                dnam{"Paund-dẹm"}\r
+                one{"{0} Paund"}\r
+                other{"{0} Paund"}\r
+                per{"{0} Fọ Ích Paund"}\r
+            }\r
+            solar-mass{\r
+                dnam{"Sólá Mas-dẹm"}\r
+                one{"{0} Sólá Mas"}\r
+                other{"{0} Sólá Mas"}\r
+            }\r
+            ton{\r
+                dnam{"Tọn-dẹm"}\r
+                one{"{0} Tọn"}\r
+                other{"{0} Tọn"}\r
+            }\r
+        }\r
+        power{\r
+            gigawatt{\r
+                dnam{"Gígáwat-dẹm"}\r
+                one{"{0} Gígáwat"}\r
+                other{"{0} Gígáwat"}\r
+            }\r
+            horsepower{\r
+                dnam{"Họ́spáwa"}\r
+                one{"{0} Họ́spáwa"}\r
+                other{"{0} Họ́spáwa"}\r
+            }\r
+            kilowatt{\r
+                dnam{"Kílówat-dẹm"}\r
+                one{"{0} Kílówat"}\r
+                other{"{0} Kílówat"}\r
+            }\r
+            megawatt{\r
+                dnam{"Mẹ́gáwat-dẹm"}\r
+                one{"{0} Mẹ́gáwat"}\r
+                other{"{0} Mẹ́gáwat"}\r
+            }\r
+            milliwatt{\r
+                dnam{"Míliwat-dẹm"}\r
+                one{"{0} Míliwat"}\r
+                other{"{0} Míliwat"}\r
+            }\r
+            watt{\r
+                dnam{"Wat-dẹm"}\r
+                one{"{0} Wat"}\r
+                other{"{0} Wat"}\r
+            }\r
+        }\r
+        pressure{\r
+            atmosphere{\r
+                dnam{"Átmósfẹ-dẹm"}\r
+                one{"{0} Átmósfẹ"}\r
+                other{"{0} Átmósfẹ"}\r
+            }\r
+            bar{\r
+                dnam{"Baa-dẹm"}\r
+                one{"{0} Baa"}\r
+                other{"{0} Baa"}\r
+            }\r
+            hectopascal{\r
+                dnam{"Hẹ́ktopáskal-dẹm"}\r
+                one{"{0} Hẹ́ktopáskal"}\r
+                other{"{0} Hẹ́ktopáskal"}\r
+            }\r
+            inch-ofhg{\r
+                dnam{"Ínchís ọf Mẹ́kúri"}\r
+                one{"{0} Inch ọf Mẹ́kúri"}\r
+                other{"{0} Inch ọf Mẹ́kúri"}\r
+            }\r
+            kilopascal{\r
+                dnam{"Kílopáskal-dẹm"}\r
+                one{"{0} Kílopáskal"}\r
+                other{"{0} Kílopáskal"}\r
+            }\r
+            megapascal{\r
+                dnam{"Mẹ́gapáskal-dẹm"}\r
+                one{"{0} Mẹ́gapáskal"}\r
+                other{"{0} Mẹ́gapáskal"}\r
+            }\r
+            millibar{\r
+                dnam{"Mílibaa-dẹm"}\r
+                one{"{0} Mílibaa"}\r
+                other{"{0} Mílibaa"}\r
+            }\r
+            millimeter-ofhg{\r
+                dnam{"Milímítá-dẹm-ọf-Mẹ́kúri"}\r
+                one{"{0} Milímítá Mẹ́kúri"}\r
+                other{"{0} Milímítá Mẹ́kúri"}\r
+            }\r
+            pascal{\r
+                dnam{"Páskal-dẹm"}\r
+                one{"{0} Páskal"}\r
+                other{"{0} Páskal"}\r
+            }\r
+            pound-force-per-square-inch{\r
+                dnam{"Páund-dẹm Fọ Ẹ́vrí Skwiá Inch"}\r
+                one{"{0} Páund Fọ Ẹ́vrí Skwiá Inch"}\r
+                other{"{0} Páund Fọ Ẹ́vrí Skwiá Inch"}\r
+            }\r
+        }\r
+        speed{\r
+            kilometer-per-hour{\r
+                dnam{"Kílómíta-dẹm Fọ Ẹ́vrí Áwa"}\r
+                one{"{0} Kílómíta Fọ Ẹ́vrí Áwa"}\r
+                other{"{0} Kílómíta Fọ Ẹ́vrí Áwa"}\r
+            }\r
+            knot{\r
+                dnam{"Nọt-dẹm"}\r
+                one{"{0} Nọt"}\r
+                other{"{0} Nọt"}\r
+            }\r
+            meter-per-second{\r
+                dnam{"Míta-dẹm Fọ Ẹ́vrí Sẹ́kọn"}\r
+                one{"{0} Míta Fọ Ẹ́vrí Sẹ́kọn"}\r
+                other{"{0} Míta Fọ Ẹ́vrí Sẹ́kọn"}\r
+            }\r
+            mile-per-hour{\r
+                dnam{"Mail-dẹm Fọ Ẹ́vrí Áwa"}\r
+                one{"{0} Mail Fọ Ẹ́vrí Áwa"}\r
+                other{"{0} Mail Fọ Ẹ́vrí Áwa"}\r
+            }\r
+        }\r
+        temperature{\r
+            celsius{\r
+                dnam{"Digrís Sẹ́lsiọs"}\r
+                one{"{0} Digrí Sẹ́lsiọs"}\r
+                other{"{0} Digrís Sẹ́lsiọs"}\r
+            }\r
+            fahrenheit{\r
+                dnam{"Digrís Fárẹ́nhait"}\r
+                one{"{0} Digrí Fárẹ́nhait"}\r
+                other{"{0} Digrís Fárẹ́nhait"}\r
+            }\r
+            generic{\r
+                dnam{"°"}\r
+                one{"{0}°"}\r
+                other{"{0}°"}\r
+            }\r
+            kelvin{\r
+                dnam{"Kẹ́lvin-dẹm"}\r
+                one{"{0} Kẹ́lvin"}\r
+                other{"{0} Kẹ́lvin"}\r
+            }\r
+        }\r
+        torque{\r
+            newton-meter{\r
+                dnam{"Niúton-Míta-dẹm"}\r
+                one{"{0} Niúton-Míta"}\r
+                other{"{0} Niúton-Míta"}\r
+            }\r
+            pound-force-foot{\r
+                dnam{"Páund-Fut"}\r
+                one{"{0} Páund-Fut"}\r
+                other{"{0} Páund-Fut"}\r
+            }\r
+        }\r
+        volume{\r
+            acre-foot{\r
+                dnam{"Éka-Fut-dẹm"}\r
+                one{"{0} Éka-Fut"}\r
+                other{"{0} Éka-Fut"}\r
+            }\r
+            barrel{\r
+                dnam{"Drọm-dẹm"}\r
+                one{"{0} Drọm"}\r
+                other{"{0} Drọm"}\r
+            }\r
+            centiliter{\r
+                dnam{"Sẹntílíta-dẹm"}\r
+                one{"{0} Sẹntílíta"}\r
+                other{"{0} Sẹntílíta"}\r
+            }\r
+            cubic-centimeter{\r
+                dnam{"Kúbík Sẹntímíta-dẹm"}\r
+                one{"{0} Kúbík Sẹntímíta"}\r
+                other{"{0} Kúbík Sẹntímíta"}\r
+                per{"{0} Fọ Ích Kúbík Sẹntímíta"}\r
+            }\r
+            cubic-foot{\r
+                dnam{"Kúbík Fut-dẹm"}\r
+                one{"{0} Kúbík Fut"}\r
+                other{"{0} Kúbík Fut"}\r
+            }\r
+            cubic-inch{\r
+                dnam{"Kúbík Ínchis"}\r
+                one{"{0} Kúbík Ínch"}\r
+                other{"{0} Kúbík Ínchis"}\r
+            }\r
+            cubic-kilometer{\r
+                dnam{"Kúbík Kílómíta-dẹm"}\r
+                one{"{0} Kúbík Kílómíta"}\r
+                other{"{0} Kúbík Kílómíta"}\r
+            }\r
+            cubic-meter{\r
+                dnam{"Kúbík Míta-dẹm"}\r
+                one{"{0} Kúbík Míta"}\r
+                other{"{0} Kúbík Míta"}\r
+                per{"{0} Fọ Ích Kúbík Míta"}\r
+            }\r
+            cubic-mile{\r
+                dnam{"Kúbík Mail-dẹm"}\r
+                one{"{0} Kúbík Mail"}\r
+                other{"{0} Kúbík Mail"}\r
+            }\r
+            cubic-yard{\r
+                dnam{"Kúbík Yad-dẹm"}\r
+                one{"{0} Kúbík"}\r
+                other{"{0} Kúbík"}\r
+            }\r
+            cup{\r
+                dnam{"Kọp-dẹm"}\r
+                one{"{0} Kọp"}\r
+                other{"{0} Kọp"}\r
+            }\r
+            cup-metric{\r
+                dnam{"Mẹ́trík Kọp-dẹm"}\r
+                one{"{0} Mẹ́trík Kọp"}\r
+                other{"{0} Mẹ́trík Kọp"}\r
+            }\r
+            deciliter{\r
+                dnam{"Dẹsílíta-dẹm"}\r
+                one{"{0} Dẹsílíta"}\r
+                other{"{0} Dẹsílíta"}\r
+            }\r
+            fluid-ounce{\r
+                dnam{"Líkwíd Áuns-dẹm"}\r
+                one{"{0} Líkwíd Áuns"}\r
+                other{"{0} Líkwíd Áuns"}\r
+            }\r
+            fluid-ounce-imperial{\r
+                dnam{"Brítísh Líkwíd Aúnsis-dẹm"}\r
+                one{"{0} Brítísh Líkwíd Aúns"}\r
+                other{"{0} Brítísh Líkwíd Aúns"}\r
+            }\r
+            gallon{\r
+                dnam{"Gálọn-dẹm"}\r
+                one{"{0} Gálọn"}\r
+                other{"{0} Gálọn"}\r
+                per{"{0} Fọ Ích Gálọn"}\r
+            }\r
+            gallon-imperial{\r
+                dnam{"Brítísh Galọn-dẹm"}\r
+                one{"{0} Brítísh Galọn"}\r
+                other{"{0} Brítísh Galọn"}\r
+                per{"{0} Fọ Ích Brítísh Galọn"}\r
+            }\r
+            hectoliter{\r
+                dnam{"Hẹ́któlíta-dẹm"}\r
+                one{"{0} Hẹ́któlíta"}\r
+                other{"{0} Hẹ́któlíta"}\r
+            }\r
+            liter{\r
+                dnam{"Líta-dẹm"}\r
+                one{"{0}Líta"}\r
+                other{"{0}Líta"}\r
+                per{"{0} Fọ Ích Líta"}\r
+            }\r
+            megaliter{\r
+                dnam{"Mẹ́galíta-dẹm"}\r
+                one{"{0} Mẹ́galíta"}\r
+                other{"{0} Mẹ́galíta"}\r
+            }\r
+            milliliter{\r
+                dnam{"Milílíta-dẹm"}\r
+                one{"{0} Milílíta"}\r
+                other{"{0} Milílíta"}\r
+            }\r
+            pint{\r
+                dnam{"Paint-dẹm"}\r
+                one{"{0} Paint"}\r
+                other{"{0} Paint"}\r
+            }\r
+            pint-metric{\r
+                dnam{"Mẹ́trík Paint-dẹm"}\r
+                one{"{0} Mẹ́trík Paint"}\r
+                other{"{0} Mẹ́trík Paint"}\r
+            }\r
+            quart{\r
+                dnam{"Kwọt-dẹm"}\r
+                one{"{0} Kwọt"}\r
+                other{"{0} Kwọt"}\r
+            }\r
+            tablespoon{\r
+                dnam{"Tébulspun-dẹm"}\r
+                one{"{0} Tébulspun"}\r
+                other{"{0} Tébulspun"}\r
+            }\r
+            teaspoon{\r
+                dnam{"Tíspun-dẹm"}\r
+                one{"{0} Tíspun"}\r
+                other{"{0} Tíspun"}\r
+            }\r
+        }\r
+    }\r
+    unitsNarrow{\r
+        compound{\r
+            per{"{0}/{1}"}\r
+            times{"{0}⋅{1}"}\r
+        }\r
+        concentr{\r
+            percent{\r
+                dnam{"%"}\r
+                one{"{0}%"}\r
+                other{"{0}%"}\r
+            }\r
+        }\r
+        consumption{\r
+            liter-per-100-kilometer{\r
+                dnam{"L/100km"}\r
+                one{"{0}L/100km"}\r
+                other{"{0}L/100km"}\r
+            }\r
+        }\r
+        coordinate{\r
+            dnam{"Pọint"}\r
+            east{"{0}E"}\r
+            north{"{0}N"}\r
+            south{"{0}S"}\r
+            west{"{0}W"}\r
+        }\r
+        duration{\r
+            day{\r
+                dnam{"Dè"}\r
+                one{"{0}Dè"}\r
+                other{"{0}Dè"}\r
+            }\r
+            hour{\r
+                dnam{"Áwa"}\r
+                one{"{0}Áwa"}\r
+                other{"{0}Áwa"}\r
+            }\r
+            millisecond{\r
+                dnam{"Mílisẹ́kọns"}\r
+                one{"{0} ms"}\r
+                other{"{0} ms"}\r
+            }\r
+            minute{\r
+                dnam{"Mínit"}\r
+                one{"{0}Mínit"}\r
+                other{"{0}Mínit"}\r
+            }\r
+            month{\r
+                dnam{"Mọnt"}\r
+                one{"{0}Mọnt"}\r
+                other{"{0}Mọnt"}\r
+            }\r
+            second{\r
+                dnam{"Sẹ́kọn"}\r
+                one{"{0}Sẹ́kọn"}\r
+                other{"{0}Sẹ́kọn"}\r
+            }\r
+            week{\r
+                dnam{"Wik"}\r
+                one{"{0}Wik"}\r
+                other{"{0}Wik"}\r
+            }\r
+            year{\r
+                dnam{"Yiẹ"}\r
+                one{"{0}Yiẹ"}\r
+                other{"{0}Yiẹ"}\r
+            }\r
+        }\r
+        length{\r
+            centimeter{\r
+                dnam{"sm"}\r
+                one{"{0}sm"}\r
+                other{"{0}sm"}\r
+            }\r
+            kilometer{\r
+                dnam{"km"}\r
+                one{"{0}km"}\r
+                other{"{0}km"}\r
+            }\r
+            meter{\r
+                dnam{"m"}\r
+                one{"{0}m"}\r
+                other{"{0}m"}\r
+            }\r
+            millimeter{\r
+                dnam{"mm"}\r
+                one{"{0}mm"}\r
+                other{"{0}mm"}\r
+            }\r
+        }\r
+        mass{\r
+            gram{\r
+                dnam{"Gram"}\r
+                one{"{0}g"}\r
+                other{"{0}g"}\r
+            }\r
+            kilogram{\r
+                dnam{"kg"}\r
+                one{"{0}kg"}\r
+                other{"{0}kg"}\r
+            }\r
+        }\r
+        speed{\r
+            kilometer-per-hour{\r
+                dnam{"km/áw"}\r
+                one{"{0} km/á"}\r
+                other{"{0} km/á"}\r
+            }\r
+        }\r
+        temperature{\r
+            celsius{\r
+                dnam{"°C"}\r
+                one{"{0}°C"}\r
+                other{"{0}°C"}\r
+            }\r
+        }\r
+        volume{\r
+            liter{\r
+                dnam{"Líta"}\r
+                one{"{0}L"}\r
+                other{"{0}L"}\r
+            }\r
+        }\r
+    }\r
+    unitsShort{\r
+        acceleration{\r
+            g-force{\r
+                dnam{"g-Fọs"}\r
+                one{"{0} G"}\r
+                other{"{0} G"}\r
+            }\r
+            meter-per-square-second{\r
+                dnam{"Míta/sẹk²"}\r
+                one{"{0} m/s²"}\r
+                other{"{0} m/s²"}\r
+            }\r
+        }\r
+        angle{\r
+            arc-minute{\r
+                dnam{"Ákmínits"}\r
+                one{"{0} Ákmín"}\r
+                other{"{0} Ákmín"}\r
+            }\r
+            arc-second{\r
+                dnam{"Áksẹ́kọns"}\r
+                one{"{0} Áksẹ́k"}\r
+                other{"{0} Áksẹ́k"}\r
+            }\r
+            degree{\r
+                dnam{"Digriis"}\r
+                one{"{0} dig"}\r
+                other{"{0} dig"}\r
+            }\r
+            radian{\r
+                dnam{"Rédians"}\r
+                one{"{0}Réd"}\r
+                other{"{0}Réd"}\r
+            }\r
+            revolution{\r
+                dnam{"rẹv"}\r
+                one{"{0} rẹv"}\r
+                other{"{0} rẹv"}\r
+            }\r
+        }\r
+        area{\r
+            acre{\r
+                dnam{"Ékas"}\r
+                one{"{0} ék"}\r
+                other{"{0} ék"}\r
+            }\r
+            dunam{\r
+                dnam{"Dúnams"}\r
+                one{"{0} Dúnam"}\r
+                other{"{0} Dúnam"}\r
+            }\r
+            hectare{\r
+                dnam{"Hẹ́ktas"}\r
+                one{"{0} hẹ"}\r
+                other{"{0} hẹ"}\r
+            }\r
+            square-centimeter{\r
+                dnam{"sm²"}\r
+                one{"{0} sm²"}\r
+                other{"{0} sm²"}\r
+                per{"{0}/sm²"}\r
+            }\r
+            square-foot{\r
+                dnam{"Skw Fut-dẹm"}\r
+                one{"{0} Skw ft"}\r
+                other{"{0} Skw ft"}\r
+            }\r
+            square-inch{\r
+                dnam{"Ínchis2"}\r
+                one{"{0} in²"}\r
+                other{"{0} in²"}\r
+                per{"{0}/in²"}\r
+            }\r
+            square-kilometer{\r
+                dnam{"km²"}\r
+                one{"{0} km²"}\r
+                other{"{0} km²"}\r
+                per{"{0}/km²"}\r
+            }\r
+            square-meter{\r
+                dnam{"Mítas²"}\r
+                one{"{0} m²"}\r
+                other{"{0} m²"}\r
+                per{"{0}/m²"}\r
+            }\r
+            square-mile{\r
+                dnam{"Skwiá Mails"}\r
+                one{"{0} skw ma"}\r
+                other{"{0} skw ma"}\r
+                per{"{0}/ma²"}\r
+            }\r
+            square-yard{\r
+                dnam{"Yads²"}\r
+                one{"{0} yd²"}\r
+                other{"{0} yd²"}\r
+            }\r
+        }\r
+        compound{\r
+            per{"{0}/{1}"}\r
+            times{"{0}⋅{1}"}\r
+        }\r
+        concentr{\r
+            karat{\r
+                dnam{"Karats"}\r
+                one{"{0} kar"}\r
+                other{"{0} kar"}\r
+            }\r
+            milligram-per-deciliter{\r
+                dnam{"mg/dL"}\r
+                one{"{0} mg/dL"}\r
+                other{"{0} mg/dL"}\r
+            }\r
+            millimole-per-liter{\r
+                dnam{"Mílimol/Líta"}\r
+                one{"{0} mmol/L"}\r
+                other{"{0} mmol/L"}\r
+            }\r
+            mole{\r
+                dnam{"mol"}\r
+                one{"{0} mol"}\r
+                other{"{0} mol"}\r
+            }\r
+            percent{\r
+                dnam{"Pasẹnt"}\r
+                one{"{0}%"}\r
+                other{"{0}%"}\r
+            }\r
+            permille{\r
+                dnam{"Fọ Ích Taúzan"}\r
+                one{"{0}‰"}\r
+                other{"{0}‰"}\r
+            }\r
+            permillion{\r
+                dnam{"Pat/Míliọn"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
+            permyriad{\r
+                dnam{"Fọ Ích Tẹ́n Taúzan"}\r
+                one{"{0}‱"}\r
+                other{"{0}‱"}\r
+            }\r
+        }\r
+        consumption{\r
+            liter-per-100-kilometer{\r
+                dnam{"L/100 km"}\r
+                one{"{0} L/100 km"}\r
+                other{"{0} L/100 km"}\r
+            }\r
+            liter-per-kilometer{\r
+                dnam{"Lítas/km"}\r
+                one{"{0} L/km"}\r
+                other{"{0} L/km"}\r
+            }\r
+            mile-per-gallon{\r
+                dnam{"Mails/gal"}\r
+                one{"{0} mfeg"}\r
+                other{"{0} mfeg"}\r
+            }\r
+            mile-per-gallon-imperial{\r
+                dnam{"Mails/gal Brítish"}\r
+                one{"{0} mfeg Brít"}\r
+                other{"{0} mfeg Brít"}\r
+            }\r
+        }\r
+        coordinate{\r
+            dnam{"Pọint"}\r
+            east{"{0} E"}\r
+            north{"{0} N"}\r
+            south{"{0} S"}\r
+            west{"{0} W"}\r
+        }\r
+        digital{\r
+            bit{\r
+                dnam{"Bit"}\r
+                one{"{0} Bit"}\r
+                other{"{0} Bit"}\r
+            }\r
+            byte{\r
+                dnam{"Bait"}\r
+                one{"{0} Bait"}\r
+                other{"{0} Bait"}\r
+            }\r
+            gigabit{\r
+                dnam{"Gbit"}\r
+                one{"{0} Gb"}\r
+                other{"{0} Gb"}\r
+            }\r
+            gigabyte{\r
+                dnam{"GBait"}\r
+                one{"{0} GB"}\r
+                other{"{0} GB"}\r
+            }\r
+            kilobit{\r
+                dnam{"kbit"}\r
+                one{"{0} kb"}\r
+                other{"{0} kb"}\r
+            }\r
+            kilobyte{\r
+                dnam{"KBait"}\r
+                one{"{0} kB"}\r
+                other{"{0} kB"}\r
+            }\r
+            megabit{\r
+                dnam{"Mbit"}\r
+                one{"{0} Mb"}\r
+                other{"{0} Mb"}\r
+            }\r
+            megabyte{\r
+                dnam{"MBait"}\r
+                one{"{0} MB"}\r
+                other{"{0} MB"}\r
+            }\r
+            petabyte{\r
+                dnam{"PBaít"}\r
+                one{"{0} PB"}\r
+                other{"{0} PB"}\r
+            }\r
+            terabit{\r
+                dnam{"Tbit"}\r
+                one{"{0} Tb"}\r
+                other{"{0} Tb"}\r
+            }\r
+            terabyte{\r
+                dnam{"TBait"}\r
+                one{"{0} TB"}\r
+                other{"{0} TB"}\r
+            }\r
+        }\r
+        duration{\r
+            century{\r
+                dnam{"Họ́ndrẹ́d-yiẹ"}\r
+                one{"{0} Họ́nd-yiẹ́"}\r
+                other{"{0} Họ́nd-yiẹ́"}\r
+            }\r
+            day{\r
+                dnam{"Dez"}\r
+                one{"{0} dè"}\r
+                other{"{0} dez"}\r
+                per{"{0}/d"}\r
+            }\r
+            decade{\r
+                dnam{"Tẹ́n-tẹ́n-yiẹ"}\r
+                one{"{0} Tẹ́n-yiẹ"}\r
+                other{"{0}Tẹ́n-yiẹ"}\r
+            }\r
+            hour{\r
+                dnam{"Áwas"}\r
+                one{"{0} Áwa"}\r
+                other{"{0} Áwa"}\r
+                per{"{0}/a"}\r
+            }\r
+            microsecond{\r
+                dnam{"Maíkrosẹ́kọns"}\r
+                one{"{0}Maíksẹ́k"}\r
+                other{"{0}Maiksẹk"}\r
+            }\r
+            millisecond{\r
+                dnam{"Mílisẹ́kọn"}\r
+                one{"{0} Mílisẹ́kọn"}\r
+                other{"{0} Mílisẹ́kọn"}\r
+            }\r
+            minute{\r
+                dnam{"Mínit"}\r
+                one{"{0} Mínit"}\r
+                other{"{0} Mínit"}\r
+                per{"{0}/min"}\r
+            }\r
+            month{\r
+                dnam{"Mọnt-dẹm"}\r
+                one{"{0} Mọnt"}\r
+                other{"{0} Mọnt"}\r
+                per{"{0}/Mt"}\r
+            }\r
+            nanosecond{\r
+                dnam{"Nánosẹ́kọns"}\r
+                one{"{0} Nansẹk"}\r
+                other{"{0} Nansẹk"}\r
+            }\r
+            second{\r
+                dnam{"Sẹ́kọns"}\r
+                one{"{0} Sẹ́kọn"}\r
+                other{"{0} Sẹ́kọn"}\r
+                per{"{0}/sẹ́k"}\r
+            }\r
+            week{\r
+                dnam{"Wik"}\r
+                one{"{0} Wik"}\r
+                other{"Wik {0}"}\r
+                per{"{0} Wik"}\r
+            }\r
+            year{\r
+                dnam{"Yiẹ"}\r
+                one{"{0} Yiẹ"}\r
+                other{"{0} Yiẹ"}\r
+                per{"{0}/Yiẹ"}\r
+            }\r
+        }\r
+        electric{\r
+            ampere{\r
+                dnam{"amps"}\r
+                one{"{0} A"}\r
+                other{"{0} A"}\r
+            }\r
+            milliampere{\r
+                dnam{"Míliámps"}\r
+                one{"{0} mA"}\r
+                other{"{0} mA"}\r
+            }\r
+            ohm{\r
+                dnam{"Oms"}\r
+                one{"{0} Ω"}\r
+                other{"{0} Ω"}\r
+            }\r
+            volt{\r
+                dnam{"Volts"}\r
+                one{"{0} V"}\r
+                other{"{0} V"}\r
+            }\r
+        }\r
+        energy{\r
+            british-thermal-unit{\r
+                dnam{"BTY"}\r
+                one{"{0}Bty"}\r
+                other{"{0}Bty"}\r
+            }\r
+            calorie{\r
+                dnam{"kal"}\r
+                one{"{0} kal"}\r
+                other{"{0} kal"}\r
+            }\r
+            electronvolt{\r
+                dnam{"Ẹlẹ́ktrọ́nvolt"}\r
+                one{"{0} ẹV"}\r
+                other{"{0} ẹV"}\r
+            }\r
+            foodcalorie{\r
+                dnam{"Kal"}\r
+                one{"{0} Kal"}\r
+                other{"{0} Kal"}\r
+            }\r
+            joule{\r
+                dnam{"Joules"}\r
+                one{"{0} J"}\r
+                other{"{0} J"}\r
+            }\r
+            kilocalorie{\r
+                dnam{"kkal"}\r
+                one{"{0} kkal"}\r
+                other{"{0} kkal"}\r
+            }\r
+            kilojoule{\r
+                dnam{"Kílojul"}\r
+                one{"{0} kJ"}\r
+                other{"{0} kJ"}\r
+            }\r
+            kilowatt-hour{\r
+                dnam{"KW-áwa"}\r
+                one{"{0} kWa"}\r
+                other{"{0} kWa"}\r
+            }\r
+            therm-us{\r
+                dnam{"US Támál"}\r
+                one{"{0} US Támal"}\r
+                other{"{0} US Támal"}\r
+            }\r
+        }\r
+        force{\r
+            newton{\r
+                dnam{"Niúton"}\r
+                one{"{0} N"}\r
+                other{"{0} N"}\r
+            }\r
+            pound-force{\r
+                dnam{"Páund-Fọs"}\r
+                one{"{0} lbf"}\r
+                other{"{0} lbf"}\r
+            }\r
+        }\r
+        frequency{\r
+            gigahertz{\r
+                dnam{"GHz"}\r
+                one{"{0} GHz"}\r
+                other{"{0} GHz"}\r
+            }\r
+            hertz{\r
+                dnam{"Hz"}\r
+                one{"{0} Hz"}\r
+                other{"{0} Hz"}\r
+            }\r
+            kilohertz{\r
+                dnam{"kHz"}\r
+                one{"{0} kHz"}\r
+                other{"{0} kHz"}\r
+            }\r
+            megahertz{\r
+                dnam{"MHz"}\r
+                one{"{0} MHz"}\r
+                other{"{0} MHz"}\r
+            }\r
+        }\r
+        graphics{\r
+            dot-per-centimeter{\r
+                dnam{"Pọints fọ ích sẹntímíta"}\r
+                one{"{0} PFIS"}\r
+                other{"{0} PFIS"}\r
+            }\r
+            dot-per-inch{\r
+                dnam{"Pọints Fọ Ẹ́vrí Inch"}\r
+                one{"{0} PFẸI"}\r
+                other{"{0} PFẸI"}\r
+            }\r
+            em{\r
+                dnam{"em"}\r
+                one{"{0} em"}\r
+                other{"{0} em"}\r
+            }\r
+            megapixel{\r
+                dnam{"Mẹ́gapíksẹls"}\r
+                one{"{0} Mẹ́gapíks"}\r
+                other{"{0} Mẹ́gapíks"}\r
+            }\r
+            pixel{\r
+                dnam{"Píksẹls"}\r
+                one{"{0} Píksẹl"}\r
+                other{"{0} Píksẹl"}\r
+            }\r
+            pixel-per-centimeter{\r
+                dnam{"Píksẹls Fọ Ích Sẹntímíta"}\r
+                one{"{0} PFS"}\r
+                other{"{0} PFS"}\r
+            }\r
+            pixel-per-inch{\r
+                dnam{"Píksẹl Fọ Ẹ́vrí Inch"}\r
+                one{"{0} PFI"}\r
+                other{"{0} PFI"}\r
+            }\r
+        }\r
+        length{\r
+            astronomical-unit{\r
+                dnam{"ay"}\r
+                one{"{0} ay"}\r
+                other{"{0} ay"}\r
+            }\r
+            centimeter{\r
+                dnam{"sm"}\r
+                one{"{0} sm"}\r
+                other{"{0} sm"}\r
+                per{"{0}/sm"}\r
+            }\r
+            decimeter{\r
+                dnam{"dm"}\r
+                one{"{0} dm"}\r
+                other{"{0} dm"}\r
+            }\r
+            foot{\r
+                dnam{"Fut-dẹm"}\r
+                one{"{0} ft"}\r
+                other{"{0} ft"}\r
+                per{"{0}/ft"}\r
+            }\r
+            inch{\r
+                dnam{"Ínchis"}\r
+                one{"{0} in"}\r
+                other{"{0} in"}\r
+                per{"{0}/in"}\r
+            }\r
+            kilometer{\r
+                dnam{"km"}\r
+                one{"{0} km"}\r
+                other{"{0} km"}\r
+                per{"{0}/km"}\r
+            }\r
+            light-year{\r
+                dnam{"Laít Yiẹ"}\r
+                one{"{0}ly"}\r
+                other{"{0}ly"}\r
+            }\r
+            meter{\r
+                dnam{"m"}\r
+                one{"{0} m"}\r
+                other{"{0} m"}\r
+                per{"{0}/m"}\r
+            }\r
+            micrometer{\r
+                dnam{"µmíta"}\r
+                one{"{0} µm"}\r
+                other{"{0} µm"}\r
+            }\r
+            mile{\r
+                dnam{"Mails"}\r
+                one{"{0} ma"}\r
+                other{"{0} ma"}\r
+            }\r
+            mile-scandinavian{\r
+                dnam{"smi"}\r
+                one{"{0} smi"}\r
+                other{"{0} smi"}\r
+            }\r
+            millimeter{\r
+                dnam{"mm"}\r
+                one{"{0} mm"}\r
+                other{"{0} mm"}\r
+            }\r
+            nanometer{\r
+                dnam{"nm"}\r
+                one{"{0} nm"}\r
+                other{"{0} nm"}\r
+            }\r
+            nautical-mile{\r
+                dnam{"nmi"}\r
+                one{"{0} nmi"}\r
+                other{"{0} nmi"}\r
+            }\r
+            parsec{\r
+                dnam{"parsecs"}\r
+                one{"{0} pc"}\r
+                other{"{0} pc"}\r
+            }\r
+            picometer{\r
+                dnam{"pm"}\r
+                one{"{0} pm"}\r
+                other{"{0} pm"}\r
+            }\r
+            point{\r
+                dnam{"points"}\r
+                one{"{0} pt"}\r
+                other{"{0} pt"}\r
+            }\r
+            solar-radius{\r
+                dnam{"Sólá Rédiọs-Dẹm"}\r
+                one{"{0} R☉"}\r
+                other{"{0} R☉"}\r
+            }\r
+            yard{\r
+                dnam{"Yads"}\r
+                one{"{0} yd"}\r
+                other{"{0} yd"}\r
+            }\r
+        }\r
+        light{\r
+            lux{\r
+                dnam{"lux"}\r
+                one{"{0} lx"}\r
+                other{"{0} lx"}\r
+            }\r
+            solar-luminosity{\r
+                dnam{"Sólá Luminósítis"}\r
+                one{"{0} L☉"}\r
+                other{"{0} L☉"}\r
+            }\r
+        }\r
+        mass{\r
+            carat{\r
+                dnam{"Kárats"}\r
+                one{"{0} Kt"}\r
+                other{"{0} Kt"}\r
+            }\r
+            dalton{\r
+                dnam{"Dọ́ltons"}\r
+                one{"{0} Dọ"}\r
+                other{"{0} Dọ"}\r
+            }\r
+            earth-mass{\r
+                dnam{"Ẹ́t Masís"}\r
+                one{"{0} M⊕"}\r
+                other{"{0} M⊕"}\r
+            }\r
+            gram{\r
+                dnam{"Grams"}\r
+                one{"{0} g"}\r
+                other{"{0} g"}\r
+                per{"{0}/g"}\r
+            }\r
+            kilogram{\r
+                dnam{"kg"}\r
+                one{"{0} kg"}\r
+                other{"{0} kg"}\r
+                per{"{0}/kg"}\r
+            }\r
+            metric-ton{\r
+                dnam{"T"}\r
+                one{"{0} t"}\r
+                other{"{0} t"}\r
+            }\r
+            microgram{\r
+                dnam{"µg"}\r
+                one{"{0} µg"}\r
+                other{"{0} µg"}\r
+            }\r
+            milligram{\r
+                dnam{"mg"}\r
+                one{"{0} mg"}\r
+                other{"{0} mg"}\r
+            }\r
+            ounce{\r
+                dnam{"oz"}\r
+                one{"{0} oz"}\r
+                other{"{0} oz"}\r
+                per{"{0}/oz"}\r
+            }\r
+            ounce-troy{\r
+                dnam{"oz trọi"}\r
+                one{"{0} oz t"}\r
+                other{"{0} oz t"}\r
+            }\r
+            pound{\r
+                dnam{"Paunds"}\r
+                one{"{0} lb"}\r
+                other{"{0} lb"}\r
+                per{"{0}/lb"}\r
+            }\r
+            solar-mass{\r
+                dnam{"Sólá Masís"}\r
+                one{"{0} M☉"}\r
+                other{"{0} M☉"}\r
+            }\r
+            ton{\r
+                dnam{"Tọns"}\r
+                one{"{0} tn"}\r
+                other{"{0} tn"}\r
+            }\r
+        }\r
+        power{\r
+            gigawatt{\r
+                dnam{"GW"}\r
+                one{"{0} GW"}\r
+                other{"{0} GW"}\r
+            }\r
+            horsepower{\r
+                dnam{"hp"}\r
+                one{"{0} hp"}\r
+                other{"{0} hp"}\r
+            }\r
+            kilowatt{\r
+                dnam{"kW"}\r
+                one{"{0} kW"}\r
+                other{"{0} kW"}\r
+            }\r
+            megawatt{\r
+                dnam{"MW"}\r
+                one{"{0} MW"}\r
+                other{"{0} MW"}\r
+            }\r
+            milliwatt{\r
+                dnam{"mW"}\r
+                one{"{0} mW"}\r
+                other{"{0} mW"}\r
+            }\r
+            watt{\r
+                dnam{"Wats"}\r
+                one{"{0} W"}\r
+                other{"{0} W"}\r
+            }\r
+        }\r
+        pressure{\r
+            atmosphere{\r
+                dnam{"atm"}\r
+                one{"{0} atm"}\r
+                other{"{0} atm"}\r
+            }\r
+            bar{\r
+                dnam{"Baa"}\r
+                one{"{0} Baa"}\r
+                other{"{0} Baa"}\r
+            }\r
+            hectopascal{\r
+                dnam{"hPa"}\r
+                one{"{0} hPa"}\r
+                other{"{0} hPa"}\r
+            }\r
+            inch-ofhg{\r
+                dnam{"inHg"}\r
+                one{"{0} inHg"}\r
+                other{"{0} inHg"}\r
+            }\r
+            kilopascal{\r
+                dnam{"kPa"}\r
+                one{"{0} kPa"}\r
+                other{"{0} kPa"}\r
+            }\r
+            megapascal{\r
+                dnam{"MPa"}\r
+                one{"{0} MPa"}\r
+                other{"{0} MPa"}\r
+            }\r
+            millibar{\r
+                dnam{"mbaa"}\r
+                one{"{0} mbaa"}\r
+                other{"{0} mbaa"}\r
+            }\r
+            millimeter-ofhg{\r
+                dnam{"mmHg"}\r
+                one{"{0} mmHg"}\r
+                other{"{0} mmHg"}\r
+            }\r
+            pascal{\r
+                dnam{"Pa"}\r
+                one{"{0} Pa"}\r
+                other{"{0} Pa"}\r
+            }\r
+            pound-force-per-square-inch{\r
+                dnam{"pfẹsi"}\r
+                one{"{0} pẹsi"}\r
+                other{"{0} pẹsi"}\r
+            }\r
+        }\r
+        speed{\r
+            kilometer-per-hour{\r
+                dnam{"km/áwa"}\r
+                one{"{0} km/á"}\r
+                other{"{0} km/á"}\r
+            }\r
+            knot{\r
+                dnam{"Nọt"}\r
+                one{"{0} Nọt"}\r
+                other{"{0} Nọt"}\r
+            }\r
+            meter-per-second{\r
+                dnam{"Mítas/Sẹk"}\r
+                one{"{0} m/s"}\r
+                other{"{0} m/s"}\r
+            }\r
+            mile-per-hour{\r
+                dnam{"Mails/Áwa"}\r
+                one{"{0} mfẹa"}\r
+                other{"{0} mfẹa"}\r
+            }\r
+        }\r
+        temperature{\r
+            celsius{\r
+                dnam{"Dig. C"}\r
+                one{"{0}°C"}\r
+                other{"{0}°C"}\r
+            }\r
+            fahrenheit{\r
+                dnam{"dig. F"}\r
+                one{"{0}°F"}\r
+                other{"{0}°F"}\r
+            }\r
+            generic{\r
+                dnam{"°"}\r
+                one{"{0}°"}\r
+                other{"{0}°"}\r
+            }\r
+            kelvin{\r
+                dnam{"K"}\r
+                one{"{0} K"}\r
+                other{"{0} K"}\r
+            }\r
+        }\r
+        torque{\r
+            newton-meter{\r
+                dnam{"N.m"}\r
+                one{"{0} N⋅m"}\r
+                other{"{0} N⋅m"}\r
+            }\r
+            pound-force-foot{\r
+                dnam{"lbf⋅ft"}\r
+                one{"{0} lbf⋅ft"}\r
+                other{"{0} lbf⋅ft"}\r
+            }\r
+        }\r
+        volume{\r
+            acre-foot{\r
+                dnam{"Éka ft"}\r
+                one{"{0} ek ft"}\r
+                other{"{0} ek ft"}\r
+            }\r
+            barrel{\r
+                dnam{"Drọm"}\r
+                one{"{0}dr"}\r
+                other{"{0}dr"}\r
+            }\r
+            centiliter{\r
+                dnam{"sl"}\r
+                one{"{0} sl"}\r
+                other{"{0} sl"}\r
+            }\r
+            cubic-centimeter{\r
+                dnam{"sm³"}\r
+                one{"{0} sm³"}\r
+                other{"{0} sm³"}\r
+                per{"{0}/sm³"}\r
+            }\r
+            cubic-foot{\r
+                dnam{"Fut³"}\r
+                one{"{0} ft³"}\r
+                other{"{0} ft³"}\r
+            }\r
+            cubic-inch{\r
+                dnam{"Ínchis³"}\r
+                one{"{0} in³"}\r
+                other{"{0} in³"}\r
+            }\r
+            cubic-kilometer{\r
+                dnam{"km³"}\r
+                one{"{0} km³"}\r
+                other{"{0} km³"}\r
+            }\r
+            cubic-meter{\r
+                dnam{"m³"}\r
+                one{"{0} m³"}\r
+                other{"{0} m³"}\r
+                per{"{0}/m³"}\r
+            }\r
+            cubic-mile{\r
+                dnam{"ma³"}\r
+                one{"{0} ma³"}\r
+                other{"{0} ma³"}\r
+            }\r
+            cubic-yard{\r
+                dnam{"Yáds³"}\r
+                one{"{0} yd³"}\r
+                other{"{0} yd³"}\r
+            }\r
+            cup{\r
+                dnam{"Kọps"}\r
+                one{"{0} Kọp"}\r
+                other{"{0} Kọp"}\r
+            }\r
+            cup-metric{\r
+                dnam{"mkọp"}\r
+                one{"{0} mk"}\r
+                other{"{0} mk"}\r
+            }\r
+            deciliter{\r
+                dnam{"dl"}\r
+                one{"{0} dl"}\r
+                other{"{0} dl"}\r
+            }\r
+            fluid-ounce{\r
+                dnam{"fl oz"}\r
+                one{"{0} fl oz"}\r
+                other{"{0} fl oz"}\r
+            }\r
+            fluid-ounce-imperial{\r
+                dnam{"Brít. Fl oz"}\r
+                one{"{0} fl oz Brit."}\r
+                other{"{0} fl oz Brit."}\r
+            }\r
+            gallon{\r
+                dnam{"gal"}\r
+                one{"{0} gal"}\r
+                other{"{0} gal"}\r
+                per{"{0}/gal US"}\r
+            }\r
+            gallon-imperial{\r
+                dnam{"Brít. gal"}\r
+                one{"{0} Brít. gal"}\r
+                other{"{0} Brít. gal"}\r
+                per{"{0} Brít. gal"}\r
+            }\r
+            hectoliter{\r
+                dnam{"hL"}\r
+                one{"{0} hL"}\r
+                other{"{0} hL"}\r
+            }\r
+            liter{\r
+                dnam{"Lítas"}\r
+                one{"{0} L"}\r
+                other{"{0} L"}\r
+                per{"{0}/L"}\r
+            }\r
+            megaliter{\r
+                dnam{"ML"}\r
+                one{"{0} ML"}\r
+                other{"{0} ML"}\r
+            }\r
+            milliliter{\r
+                dnam{"ml"}\r
+                one{"{0} ml"}\r
+                other{"{0} ml"}\r
+            }\r
+            pint{\r
+                dnam{"Paints"}\r
+                one{"{0} pt"}\r
+                other{"{0} pt"}\r
+            }\r
+            pint-metric{\r
+                dnam{"mpt"}\r
+                one{"{0} mpt"}\r
+                other{"{0} mpt"}\r
+            }\r
+            quart{\r
+                dnam{"kwts"}\r
+                one{"{0} kwt"}\r
+                other{"{0} kwt"}\r
+            }\r
+            tablespoon{\r
+                dnam{"Tbsp"}\r
+                one{"{0} Tbsp"}\r
+                other{"{0} Tbsp"}\r
+            }\r
+            teaspoon{\r
+                dnam{"Tsp"}\r
+                one{"{0} Tsp"}\r
+                other{"{0} Tsp"}\r
+            }\r
+        }\r
+    }\r
+}\r
index dce119d..c312a05 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pl{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -12,7 +12,7 @@ pl{
             g-force{\r
                 dnam{"stała grawitacji"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metry na sekundę do kwadratu"}\r
                 few{"{0} metry na sekundę do kwadratu"}\r
                 many{"{0} metrów na sekundę do kwadratu"}\r
@@ -166,13 +166,6 @@ pl{
                 one{"{0} mol"}\r
                 other{"{0} mola"}\r
             }\r
-            part-per-million{\r
-                dnam{"części na milion"}\r
-                few{"{0} części na milion"}\r
-                many{"{0} części na milion"}\r
-                one{"{0} część na milion"}\r
-                other{"{0} części na milion"}\r
-            }\r
             percent{\r
                 dnam{"procent"}\r
                 few{"{0} procent"}\r
@@ -187,6 +180,13 @@ pl{
                 one{"{0} promil"}\r
                 other{"{0} promila"}\r
             }\r
+            permillion{\r
+                dnam{"części na milion"}\r
+                few{"{0} części na milion"}\r
+                many{"{0} części na milion"}\r
+                one{"{0} część na milion"}\r
+                other{"{0} części na milion"}\r
+            }\r
             permyriad{\r
                 dnam{"punkt bazowy"}\r
                 few{"{0} punkty bazowe"}\r
@@ -196,7 +196,7 @@ pl{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litry na 100 kilometrów"}\r
                 few{"{0} litry na 100 kilometrów"}\r
                 many{"{0} litrów na 100 kilometrów"}\r
@@ -887,7 +887,7 @@ pl{
                 one{"{0} hektopaskal"}\r
                 other{"{0} hektopaskala"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"cale słupa rtęci"}\r
                 few{"{0} cale słupa rtęci"}\r
                 many{"{0} cali słupa rtęci"}\r
@@ -915,7 +915,7 @@ pl{
                 one{"{0} millibar"}\r
                 other{"{0} millibara"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milimetry słupa rtęci"}\r
                 few{"{0} milimetry słupa rtęci"}\r
                 many{"{0} milimetrów słupa rtęci"}\r
@@ -929,7 +929,7 @@ pl{
                 one{"{0} paskal"}\r
                 other{"{0} paskala"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"funty na cal kwadratowy"}\r
                 few{"{0} funty na cal kwadratowy"}\r
                 many{"{0} funtów na cal kwadratowy"}\r
@@ -1005,7 +1005,7 @@ pl{
                 one{"{0} niutonometr"}\r
                 other{"{0} niutonometra"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"stopofunty"}\r
                 few{"{0} stopofunty"}\r
                 many{"{0} stopofuntów"}\r
@@ -1232,7 +1232,7 @@ pl{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 few{"{0} l/100 km"}\r
                 many{"{0} l/100 km"}\r
@@ -1246,10 +1246,10 @@ pl{
         duration{\r
             day{\r
                 dnam{"dzień"}\r
-                few{"{0} dn."}\r
-                many{"{0} dn."}\r
+                few{"{0} d."}\r
+                many{"{0} d."}\r
                 one{"{0} d."}\r
-                other{"{0} dn."}\r
+                other{"{0} d."}\r
                 per{"{0}/d."}\r
             }\r
             hour{\r
@@ -1442,7 +1442,7 @@ pl{
                 one{"{0} mol"}\r
                 other{"{0} mola"}\r
             }\r
-            part-per-million{\r
+            permillion{\r
                 dnam{"części/milion"}\r
             }\r
             permyriad{\r
@@ -1453,7 +1453,7 @@ pl{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 few{"{0} l/100 km"}\r
                 many{"{0} l/100 km"}\r
@@ -1591,11 +1591,11 @@ pl{
                 other{"{0} eV"}\r
             }\r
             foodcalorie{\r
-                dnam{"cal"}\r
-                few{"{0} cal"}\r
-                many{"{0} cal"}\r
-                one{"{0} cal"}\r
-                other{"{0} cal"}\r
+                dnam{"kcal"}\r
+                few{"{0} kcal"}\r
+                many{"{0} kcal"}\r
+                one{"{0} kcal"}\r
+                other{"{0} kcal"}\r
             }\r
             joule{\r
                 dnam{"J"}\r
@@ -1809,7 +1809,7 @@ pl{
                 one{"{0} N⋅m"}\r
                 other{"{0} N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
                 few{"{0} lbf⋅ft"}\r
                 many{"{0} lbf⋅ft"}\r
index ae498da..015c4c9 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ps{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ ps{
                 one{"{0} د جاذبې قوه"}\r
                 other{"{0} د جاذبې قوه"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"ميترز في مربع سيکنډ"}\r
                 one{"{0} ميتر في مربع سيکنډ"}\r
                 other{"{0} ميتر في مربع سيکنډ"}\r
@@ -128,11 +128,6 @@ ps{
                 one{"{0} مول"}\r
                 other{"{0} مولز"}\r
             }\r
-            part-per-million{\r
-                dnam{"پارټتس في مليون"}\r
-                one{"{0} پارټ في مليون"}\r
-                other{"{0} پارټس في مليون"}\r
-            }\r
             percent{\r
                 dnam{"سلنه"}\r
                 one{"{0} سلنه"}\r
@@ -143,6 +138,11 @@ ps{
                 one{"{0} في ميل"}\r
                 other{"{0} في ميل"}\r
             }\r
+            permillion{\r
+                dnam{"پارټتس في مليون"}\r
+                one{"{0} پارټ في مليون"}\r
+                other{"{0} پارټس في مليون"}\r
+            }\r
             permyriad{\r
                 dnam{"زرمه"}\r
                 one{"{0} زرمه"}\r
@@ -150,7 +150,7 @@ ps{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ليټرز في ۱۰۰ کيلو مترز"}\r
                 one{"{0} ليټر في ۱۰۰ کلو ميترز"}\r
                 other{"{0} ليټرز في ۱۰۰ کيلو مترز"}\r
@@ -466,6 +466,9 @@ ps{
                 one{"{0} بحري ميل"}\r
                 other{"{0} بحري ميلونه"}\r
             }\r
+            parsec{\r
+                dnam{"پارسيکس"}\r
+            }\r
             picometer{\r
                 dnam{"پيکو متره"}\r
                 one{"{0} پيکو متر"}\r
@@ -611,7 +614,7 @@ ps{
                 one{"{0} هيکټو پاسکیل"}\r
                 other{"{0} هيکټو پاسکیلز"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"د پارې انچې"}\r
                 one{"{0} د پارې انچ"}\r
                 other{"{0} د پارې انچې"}\r
@@ -631,7 +634,7 @@ ps{
                 one{"{0} ملي بار"}\r
                 other{"{0} ملي بارز"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"د پارې ملي مترز"}\r
                 one{"{0} د پارې ملي متر"}\r
                 other{"{0} د پارې ملي مترز"}\r
@@ -639,7 +642,7 @@ ps{
             pascal{\r
                 dnam{"پاسکیلز"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"پاونډز في مربع انچ"}\r
                 one{"{0} پاونډ في مربع انچ"}\r
                 other{"{0} پاونډز في مربع انچ"}\r
@@ -695,7 +698,7 @@ ps{
                 one{"{0} نيوټن ميټر"}\r
                 other{"{0} نيوټن ميټرز"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"پاونډ فټونه"}\r
                 one{"{0} پاونډ فټ"}\r
                 other{"{0} پاونډ فټونه"}\r
@@ -823,7 +826,7 @@ ps{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 one{"{0} L/100km"}\r
                 other{"{0} L/100km"}\r
@@ -940,7 +943,7 @@ ps{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
             }\r
@@ -1053,11 +1056,6 @@ ps{
                 one{"{0} مول"}\r
                 other{"{0} مول"}\r
             }\r
-            part-per-million{\r
-                dnam{"پارټس/مليون"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"سلنه"}\r
                 one{"{0}%"}\r
@@ -1068,12 +1066,17 @@ ps{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"پارټس/مليون"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"زرمه"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 one{"{0} L/100km"}\r
                 other{"{0} L/100km"}\r
@@ -1532,12 +1535,17 @@ ps{
                 one{"{0} atm"}\r
                 other{"{0} atm"}\r
             }\r
+            bar{\r
+                dnam{"bar"}\r
+                one{"{0} bar"}\r
+                other{"{0} bar"}\r
+            }\r
             hectopascal{\r
                 dnam{"hPa"}\r
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1547,12 +1555,12 @@ ps{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 one{"{0} mmHg"}\r
                 other{"{0} mmHg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
index 9c43855..53c0def 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ps_PK{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         acceleration{\r
             g-force{\r
@@ -58,12 +58,12 @@ ps_PK{
             }\r
         }\r
         pressure{\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"د پارے انچے"}\r
                 one{"{0} د پارے انچ"}\r
                 other{"{0} د پارے انچے"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"د پارے ملي مترز"}\r
                 one{"{0} د پارے ملي متر"}\r
                 other{"{0} د پارے ملي مترز"}\r
index 3e43d2c..f28224e 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ pt{
                 one{"{0} força g"}\r
                 other{"{0} força g"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metros por segundo ao quadrado"}\r
                 one{"{0} metro por segundo ao quadrado"}\r
                 other{"{0} metros por segundo ao quadrado"}\r
@@ -128,11 +128,6 @@ pt{
                 one{"{0} mol"}\r
                 other{"{0} mols"}\r
             }\r
-            part-per-million{\r
-                dnam{"partes por milhão"}\r
-                one{"{0} parte por milhão"}\r
-                other{"{0} partes por milhão"}\r
-            }\r
             percent{\r
                 dnam{"por cento"}\r
                 one{"{0} por cento"}\r
@@ -143,13 +138,18 @@ pt{
                 one{"{0} por mil"}\r
                 other{"{0} por mil"}\r
             }\r
+            permillion{\r
+                dnam{"partes por milhão"}\r
+                one{"{0} parte por milhão"}\r
+                other{"{0} partes por milhão"}\r
+            }\r
             permyriad{\r
                 one{"{0} ponto base"}\r
                 other{"{0} pontos base"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litros por 100 quilômetros"}\r
                 one{"{0} litro por 100 quilômetros"}\r
                 other{"{0} litros por 100 quilômetros"}\r
@@ -689,7 +689,7 @@ pt{
                 one{"{0} hectopascal"}\r
                 other{"{0} hectopascais"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"polegadas de mercúrio"}\r
                 one{"{0} polegada de mercúrio"}\r
                 other{"{0} polegadas de mercúrio"}\r
@@ -709,7 +709,7 @@ pt{
                 one{"{0} milibar"}\r
                 other{"{0} milibares"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milímetros de mercúrio"}\r
                 one{"{0} milímetro de mercúrio"}\r
                 other{"{0} milímetros de mercúrio"}\r
@@ -719,7 +719,7 @@ pt{
                 one{"{0} pascal"}\r
                 other{"{0} pascais"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"libras por polegada quadrada"}\r
                 one{"{0} libra por polegada quadrada"}\r
                 other{"{0} libras por polegada quadrada"}\r
@@ -770,7 +770,7 @@ pt{
                 one{"{0} newton-metro"}\r
                 other{"{0} newton-metros"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"pés-libra"}\r
                 one{"{0} pé-libra"}\r
                 other{"{0} pés-libra"}\r
@@ -944,7 +944,7 @@ pt{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100 km"}\r
@@ -1075,7 +1075,7 @@ pt{
             }\r
         }\r
         pressure{\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0}\u0022 Hg"}\r
                 other{"{0}\u0022 Hg"}\r
             }\r
@@ -1083,7 +1083,7 @@ pt{
                 one{"{0} mb"}\r
                 other{"{0} mb"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 one{"{0} mmHg"}\r
                 other{"{0} mmHg"}\r
@@ -1132,7 +1132,7 @@ pt{
             g-force{\r
                 dnam{"força g"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metros/seg²"}\r
             }\r
         }\r
@@ -1201,9 +1201,6 @@ pt{
                 one{"{0} mmol/l"}\r
                 other{"{0} mmol/l"}\r
             }\r
-            part-per-million{\r
-                dnam{"partes/milhão"}\r
-            }\r
             percent{\r
                 dnam{"por cento"}\r
                 one{"{0}%"}\r
@@ -1214,12 +1211,15 @@ pt{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"partes/milhão"}\r
+            }\r
             permyriad{\r
                 dnam{"ponto base"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100 km"}\r
@@ -1517,7 +1517,7 @@ pt{
                 one{"{0} bar"}\r
                 other{"{0} bars"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 one{"{0} mmHg"}\r
                 other{"{0} mmHg"}\r
index c3fa854..fd4d0fa 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_AO{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5710498..68713f2 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_CH{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6a14f79..a8e8329 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_CV{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ebd2cc1..16c1df7 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_GQ{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fdc3c38..a180bcd 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_GW{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 262456f..a573ce4 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_LU{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 537eedc..1ff0ef5 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_MO{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ae83ef0..e23c11c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_MZ{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0ae458c..9f5f658 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_PT{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         acceleration{\r
             g-force{\r
@@ -9,7 +9,7 @@ pt_PT{
                 one{"{0} força G"}\r
                 other{"{0} força G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metros por segundo quadrado"}\r
                 one{"{0} metro por segundo quadrado"}\r
                 other{"{0} metros por segundo quadrado"}\r
@@ -36,7 +36,7 @@ pt_PT{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litros por 100 quilómetros"}\r
                 one{"{0} litro por 100 quilómetros"}\r
                 other{"{0} litros por 100 quilómetros"}\r
@@ -141,7 +141,7 @@ pt_PT{
             }\r
         }\r
         pressure{\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -214,7 +214,7 @@ pt_PT{
             per{"{0}/{1}"}\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 one{"{0}l/100km"}\r
                 other{"{0}l/100km"}\r
             }\r
@@ -353,7 +353,7 @@ pt_PT{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -437,7 +437,7 @@ pt_PT{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100km"}\r
                 one{"{0} l/100km"}\r
                 other{"{0} l/100km"}\r
@@ -760,7 +760,7 @@ pt_PT{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"in Hg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -770,12 +770,12 @@ pt_PT{
                 one{"{0} mb"}\r
                 other{"{0} mb"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
index fcd835b..1f59f52 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_ST{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8a4a6ac..8094b42 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_TL{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6d4d54a..089f26c 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 qu{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 8514df4..87db0f1 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 rm{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index eaf40f3..49bcbd9 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 rn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f79b485..ebf609b 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ro{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -15,7 +15,7 @@ ro{
                 one{"{0} forță g"}\r
                 other{"{0} forță g"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metri pe secundă la pătrat"}\r
                 few{"{0} metri pe secundă la pătrat"}\r
                 one{"{0} metru pe secundă la pătrat"}\r
@@ -150,12 +150,6 @@ ro{
                 one{"{0} mol"}\r
                 other{"{0} de moli"}\r
             }\r
-            part-per-million{\r
-                dnam{"părți pe milion"}\r
-                few{"{0} părți pe milion"}\r
-                one{"{0} parte pe milion"}\r
-                other{"{0} de părți pe milion"}\r
-            }\r
             percent{\r
                 dnam{"procent"}\r
                 few{"{0} procente"}\r
@@ -168,6 +162,12 @@ ro{
                 one{"la mie"}\r
                 other{"{0} la mie"}\r
             }\r
+            permillion{\r
+                dnam{"părți pe milion"}\r
+                few{"{0} părți pe milion"}\r
+                one{"{0} parte pe milion"}\r
+                other{"{0} de părți pe milion"}\r
+            }\r
             permyriad{\r
                 few{"{0} la zece mii"}\r
                 one{"{0} la zece mii"}\r
@@ -175,7 +175,7 @@ ro{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litri la suta de kilometri"}\r
                 few{"{0} litri la suta de kilometri"}\r
                 one{"{0} litru la suta de kilometri"}\r
@@ -795,7 +795,7 @@ ro{
                 one{"{0} hectopascal"}\r
                 other{"{0} de hectopascali"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inchi coloană de mercur"}\r
                 few{"{0} inchi coloană de mercur"}\r
                 one{"{0} inch coloană de mercur"}\r
@@ -819,7 +819,7 @@ ro{
                 one{"{0} milibar"}\r
                 other{"{0} de milibari"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milimetri coloană de mercur"}\r
                 few{"{0} milimetri coloană de mercur"}\r
                 one{"{0} milimetru coloană de mercur"}\r
@@ -831,7 +831,7 @@ ro{
                 one{"{0} pascal"}\r
                 other{"{0} de pascali"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"livre pe inch pătrat"}\r
                 few{"{0} livre pe inch pătrat"}\r
                 one{"{0} livră pe inch pătrat"}\r
@@ -897,7 +897,7 @@ ro{
                 one{"{0} newton metru"}\r
                 other{"{0} de newton metri"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"livră-forță picioare"}\r
                 few{"{0} livră-forță picioare"}\r
                 one{"{0} livră-forță picior"}\r
@@ -1075,7 +1075,7 @@ ro{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 few{"{0} m/s²"}\r
                 one{"{0} m/s²"}\r
@@ -1144,7 +1144,7 @@ ro{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 few{"{0} l/100 km"}\r
                 one{"{0} l/100 km"}\r
@@ -1444,7 +1444,7 @@ ro{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"in Hg"}\r
             }\r
             millibar{\r
@@ -1453,13 +1453,13 @@ ro{
                 one{"{0} mb"}\r
                 other{"{0} mb"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 few{"{0} mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 few{"{0} psi"}\r
                 one{"{0} psi"}\r
@@ -1542,7 +1542,7 @@ ro{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 few{"{0} m/s²"}\r
                 one{"{0} m/s²"}\r
@@ -1676,12 +1676,6 @@ ro{
                 one{"{0} mol"}\r
                 other{"{0} moli"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                few{"{0} ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 few{"{0}%"}\r
@@ -1694,9 +1688,15 @@ ro{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                few{"{0} ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 few{"{0} l/100 km"}\r
                 one{"{0} l/100 km"}\r
@@ -2280,7 +2280,7 @@ ro{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"in Hg"}\r
                 few{"{0} in Hg"}\r
                 one{"{0} in Hg"}\r
@@ -2304,13 +2304,13 @@ ro{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 few{"{0} mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 few{"{0} psi"}\r
                 one{"{0} psi"}\r
@@ -2376,7 +2376,7 @@ ro{
                 one{"{0} N⋅m"}\r
                 other{"{0} N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"livră-forță picior"}\r
             }\r
         }\r
index 4468fe8..ab24940 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ro_MD{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     unitsNarrow{\r
         duration{\r
             day{\r
index 606b5fd..1261163 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 rof{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2ef19d4..eb50357 100644 (file)
@@ -1,10 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * ICU <specials> source: <path>/common/main/root.xml\r
- */\r
 root{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -18,7 +15,7 @@ root{
                 dnam{"g-force"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 other{"{0} m/s²"}\r
             }\r
@@ -113,10 +110,6 @@ root{
                 dnam{"mol"}\r
                 other{"{0} mol"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 other{"{0}%"}\r
@@ -125,13 +118,17 @@ root{
                 dnam{"‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"‱"}\r
                 other{"{0}‱"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 other{"{0} L/100km"}\r
             }\r
@@ -222,8 +219,8 @@ root{
                 per{"{0}/h"}\r
             }\r
             microsecond{\r
-                dnam{"μs"}\r
-                other{"{0} μs"}\r
+                dnam{"µs"}\r
+                other{"{0} µs"}\r
             }\r
             millisecond{\r
                 dnam{"ms"}\r
@@ -578,7 +575,7 @@ root{
                 dnam{"hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 other{"{0} inHg"}\r
             }\r
@@ -594,7 +591,7 @@ root{
                 dnam{"mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
@@ -602,7 +599,7 @@ root{
                 dnam{"Pa"}\r
                 other{"{0} Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 other{"{0} psi"}\r
             }\r
@@ -648,7 +645,7 @@ root{
                 dnam{"N⋅m"}\r
                 other{"{0} N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
                 other{"{0} lbf⋅ft"}\r
             }\r
index 4cb0b22..497b580 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ru{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -16,7 +16,7 @@ ru{
                 one{"{0} g"}\r
                 other{"{0} g"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"метры в секунду в квадрате"}\r
                 few{"{0} метра в секунду в квадрате"}\r
                 many{"{0} метров в секунду в квадрате"}\r
@@ -170,13 +170,6 @@ ru{
                 one{"{0} моль"}\r
                 other{"{0} моля"}\r
             }\r
-            part-per-million{\r
-                dnam{"миллионные доли"}\r
-                few{"{0} миллионные доли"}\r
-                many{"{0} миллионных долей"}\r
-                one{"{0} миллионная доля"}\r
-                other{"{0} миллионной доли"}\r
-            }\r
             percent{\r
                 dnam{"проценты"}\r
                 few{"{0} процента"}\r
@@ -191,6 +184,13 @@ ru{
                 one{"{0} промилле"}\r
                 other{"{0} промилле"}\r
             }\r
+            permillion{\r
+                dnam{"миллионные доли"}\r
+                few{"{0} миллионные доли"}\r
+                many{"{0} миллионных долей"}\r
+                one{"{0} миллионная доля"}\r
+                other{"{0} миллионной доли"}\r
+            }\r
             permyriad{\r
                 dnam{"промириады"}\r
                 few{"{0} промириада"}\r
@@ -200,7 +200,7 @@ ru{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"литры на 100 километров"}\r
                 few{"{0} литра на 100 километров"}\r
                 many{"{0} литров на 100 километров"}\r
@@ -940,7 +940,7 @@ ru{
                 one{"{0} гектопаскаль"}\r
                 other{"{0} гектопаскаля"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"дюймы ртутного столба"}\r
                 few{"{0} дюйма ртутного столба"}\r
                 many{"{0} дюймов ртутного столба"}\r
@@ -968,7 +968,7 @@ ru{
                 one{"{0} миллибар"}\r
                 other{"{0} миллибара"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"миллиметры ртутного столба"}\r
                 few{"{0} миллиметра ртутного столба"}\r
                 many{"{0} миллиметров ртутного столба"}\r
@@ -982,7 +982,7 @@ ru{
                 one{"{0} паскаль"}\r
                 other{"{0} паскаля"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"фунты на квадратный дюйм"}\r
                 few{"{0} фунта на квадратный дюйм"}\r
                 many{"{0} фунтов на квадратный дюйм"}\r
@@ -1058,7 +1058,7 @@ ru{
                 one{"{0} ньютон-метр"}\r
                 other{"{0} ньютон-метра"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"фунт-футы"}\r
                 few{"{0} фунт-фута"}\r
                 many{"{0} фунт-футов"}\r
@@ -1265,7 +1265,7 @@ ru{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"м/с²"}\r
                 few{"{0} м/с²"}\r
                 many{"{0} м/с²"}\r
@@ -1344,7 +1344,7 @@ ru{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"л/100 км"}\r
                 few{"{0} л/100 км"}\r
                 many{"{0} л/100 км"}\r
@@ -1703,7 +1703,7 @@ ru{
                 one{"{0} гПа"}\r
                 other{"{0} гПа"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"д. рт. ст."}\r
                 few{"{0} inHg"}\r
                 many{"{0} inHg"}\r
@@ -1717,14 +1717,14 @@ ru{
                 one{"{0} мбар"}\r
                 other{"{0} мбар"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"мм рт. ст."}\r
                 few{"{0} мм рт. ст."}\r
                 many{"{0} мм рт. ст."}\r
                 one{"{0} мм рт. ст."}\r
                 other{"{0} мм рт. ст."}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"ф. на дюйм²"}\r
                 few{"{0} ф./дюйм²"}\r
                 many{"{0} ф./дюйм²"}\r
@@ -1823,7 +1823,7 @@ ru{
                 one{"{0} g"}\r
                 other{"{0} g"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"м/с²"}\r
                 few{"{0} м/с²"}\r
                 many{"{0} м/с²"}\r
@@ -1977,13 +1977,6 @@ ru{
                 one{"{0} моль"}\r
                 other{"{0} моль"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                few{"{0} ppm"}\r
-                many{"{0} ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 few{"{0} %"}\r
@@ -1998,6 +1991,13 @@ ru{
                 one{"{0} ‰"}\r
                 other{"{0} ‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                few{"{0} ppm"}\r
+                many{"{0} ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 few{"{0} ‱"}\r
                 many{"{0} ‱"}\r
@@ -2006,7 +2006,7 @@ ru{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"л/100 км"}\r
                 few{"{0} л/100 км"}\r
                 many{"{0} л/100 км"}\r
@@ -2725,7 +2725,7 @@ ru{
                 one{"{0} гПа"}\r
                 other{"{0} гПа"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"д. рт. ст."}\r
                 few{"{0} д. рт. ст."}\r
                 many{"{0} д. рт. ст."}\r
@@ -2753,7 +2753,7 @@ ru{
                 one{"{0} мбар"}\r
                 other{"{0} мбар"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"мм рт. ст."}\r
                 few{"{0} мм рт. ст."}\r
                 many{"{0} мм рт. ст."}\r
@@ -2767,7 +2767,7 @@ ru{
                 one{"{0} Па"}\r
                 other{"{0} Па"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"ф. на дюйм²"}\r
                 few{"{0} ф/дюйм²"}\r
                 many{"{0} ф/дюйм²"}\r
@@ -2843,7 +2843,7 @@ ru{
                 one{"{0} Н⋅м"}\r
                 other{"{0} Н⋅м"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"фнт-фт"}\r
                 few{"{0} фнт-фт"}\r
                 many{"{0} фнт-фт"}\r
index 1d364be..54b5e2b 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 rw{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 07e60aa..f1d15ec 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 rwk{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 35a0c6f..843ef0c 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sah{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index d0dbd96..0acfb8b 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 saq{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/unit/sat.txt b/source/data/unit/sat.txt
new file mode 100644 (file)
index 0000000..384d67d
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sat{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/unit/sat_IN.txt b/source/data/unit/sat_IN.txt
new file mode 100644 (file)
index 0000000..2a70401
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sat_IN{\r
+    "%%ALIAS"{"sat_Olck_IN"}\r
+}\r
diff --git a/source/data/unit/sat_Olck.txt b/source/data/unit/sat_Olck.txt
new file mode 100644 (file)
index 0000000..5849570
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sat_Olck{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/unit/sat_Olck_IN.txt b/source/data/unit/sat_Olck_IN.txt
new file mode 100644 (file)
index 0000000..d538504
--- /dev/null
@@ -0,0 +1,8 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+/**\r
+ * generated alias target\r
+ */\r
+sat_Olck_IN{\r
+    ___{""}\r
+}\r
index 1776ed4..803cab4 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sbp{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 46d68b1..9039179 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sd{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ sd{
                 one{"{0} ڪشش ثقل"}\r
                 other{"{0} ڪشش ثقل"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"ميٽر في سيڪنڊ اسڪوائر"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} ميٽر في سيڪنڊ اسڪوائر"}\r
@@ -129,11 +129,6 @@ sd{
                 one{"{0} مول"}\r
                 other{"{0} مولز"}\r
             }\r
-            part-per-million{\r
-                dnam{"حصا في ملين"}\r
-                one{"{0} حصا في ملين"}\r
-                other{"{0} حصا في ملين"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 one{"{0}%"}\r
@@ -144,6 +139,11 @@ sd{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"حصا في ملين"}\r
+                one{"{0} حصا في ملين"}\r
+                other{"{0} حصا في ملين"}\r
+            }\r
             permyriad{\r
                 dnam{"پيرمائيرڊ"}\r
                 one{"{0} پيرمائيرڊ"}\r
@@ -151,7 +151,7 @@ sd{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ليٽرز في 100 ڪلو ميٽر"}\r
                 one{"{0} L/100km"}\r
                 other{"{0} ليٽرز في 100 ڪلو ميٽر"}\r
@@ -678,7 +678,7 @@ sd{
                 one{"{0} هيڪٽوپاسڪلز"}\r
                 other{"{0} هيڪٽوپاسڪلز"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"مرڪري جا انچز"}\r
                 one{"مرڪري جا {0} انچز"}\r
                 other{"مرڪري جا {0} انچز"}\r
@@ -698,7 +698,7 @@ sd{
                 one{"{0} ملي بارز"}\r
                 other{"{0} ملي بارز"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"مرڪري جو ملي ميٽر"}\r
                 one{"مرڪري جو {0} ملي ميٽر"}\r
                 other{"مرڪري جو {0} ملي ميٽر"}\r
@@ -708,7 +708,7 @@ sd{
                 one{"{0} پاسڪل"}\r
                 other{"{0} پاسڪلز"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"پائونڊز في اسڪوائر انچ"}\r
                 one{"{0} psi"}\r
                 other{"{0} پائونڊز في اسڪوائر انچ"}\r
@@ -764,7 +764,7 @@ sd{
                 one{"{0} نيوٽن-ميٽر"}\r
                 other{"{0} نيوٽن-ميٽرز"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"پائونڊ-فيٽ"}\r
                 one{"{0} پائونڊ-فوٽ"}\r
                 other{"{0} پائونڊ-فيٽ"}\r
@@ -921,7 +921,7 @@ sd{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 one{"{0} L/100km"}\r
                 other{"{0} L/100km"}\r
@@ -1051,7 +1051,7 @@ sd{
                 one{"{0} ڪشش ثقل"}\r
                 other{"{0} ڪشش ثقل"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"ميٽر في سيڪنڊ اسڪوائر"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1166,11 +1166,6 @@ sd{
                 one{"{0} mol"}\r
                 other{"{0} mol"}\r
             }\r
-            part-per-million{\r
-                dnam{"حصا في ملين"}\r
-                one{"{0} حصا في ملين"}\r
-                other{"{0} حصا في ملين"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 one{"{0}%"}\r
@@ -1181,6 +1176,11 @@ sd{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"حصا في ملين"}\r
+                one{"{0} حصا في ملين"}\r
+                other{"{0} حصا في ملين"}\r
+            }\r
             permyriad{\r
                 dnam{"پيرمائيرڊ"}\r
                 one{"{0}‱"}\r
@@ -1188,7 +1188,7 @@ sd{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 one{"{0} L/100km"}\r
                 other{"{0} L/100km"}\r
@@ -1686,7 +1686,7 @@ sd{
                 one{"{0} هيڪٽوپاسڪلز"}\r
                 other{"{0} هيڪٽوپاسڪلز"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"مرڪري جا انچز"}\r
                 one{"مرڪري جا {0} انچز"}\r
                 other{"مرڪري جا {0} انچز"}\r
@@ -1706,12 +1706,12 @@ sd{
                 one{"{0} ملي بارز"}\r
                 other{"{0} ملي بارز"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"مرڪري جو ملي ميٽر"}\r
                 one{"مرڪري جو {0} ملي ميٽر"}\r
                 other{"مرڪري جو {0} ملي ميٽر"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"پائونڊز في اسڪوائر انچ"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -1767,7 +1767,7 @@ sd{
                 one{"{0} N⋅m"}\r
                 other{"{0} N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
                 one{"{0} lbf⋅ft"}\r
                 other{"{0} lbf⋅ft"}\r
diff --git a/source/data/unit/sd_Arab.txt b/source/data/unit/sd_Arab.txt
new file mode 100644 (file)
index 0000000..67d68db
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sd_Arab{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/unit/sd_Arab_PK.txt b/source/data/unit/sd_Arab_PK.txt
new file mode 100644 (file)
index 0000000..eda5f89
--- /dev/null
@@ -0,0 +1,8 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+/**\r
+ * generated alias target\r
+ */\r
+sd_Arab_PK{\r
+    ___{""}\r
+}\r
diff --git a/source/data/unit/sd_Deva.txt b/source/data/unit/sd_Deva.txt
new file mode 100644 (file)
index 0000000..f25b001
--- /dev/null
@@ -0,0 +1,6 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sd_Deva{\r
+    %%Parent{"root"}\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/unit/sd_PK.txt b/source/data/unit/sd_PK.txt
new file mode 100644 (file)
index 0000000..a9e1e2c
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sd_PK{\r
+    "%%ALIAS"{"sd_Arab_PK"}\r
+}\r
index f79301b..c58863f 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 se{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -242,7 +242,7 @@ se{
                 other{"{0} hehtopascal"}\r
                 two{"{0} hehtopascal"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"bealgi kvikksølv"}\r
                 one{"{0} bealgi kvikksølv"}\r
                 other{"{0} bealgi kvikksølv"}\r
@@ -509,7 +509,7 @@ se{
                 other{"{0}hPa"}\r
                 two{"{0}hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} bealgi Hg"}\r
                 other{"{0} bealgi Hg"}\r
                 two{"{0} bealgi Hg"}\r
@@ -802,7 +802,7 @@ se{
                 other{"{0} hPa"}\r
                 two{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"bealgi kvikksølv"}\r
                 one{"{0} bealgi Hg"}\r
                 other{"{0} bealgi Hg"}\r
index bd5cfea..440b85a 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 seh{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d471ff5..f9452f2 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ses{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 146e177..8c7d219 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sg{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 83604c6..b9f1d5f 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 shi{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fffe6bf..e1ac005 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 shi_Latn{\r
     %%Parent{"root"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3632ea2..6ab72b9 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 shi_Tfng{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index da479f9..4427365 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 si{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h.mm"}\r
         hms{"h.mm.ss"}\r
@@ -14,7 +14,7 @@ si{
                 one{"g-බලය {0}"}\r
                 other{"g-බලය {0}"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"තත්පර වර්ගයට මීටර"}\r
                 one{"තත්පර වර්ගයට මීටර {0}"}\r
                 other{"තත්පර වර්ගයට මීටර {0}"}\r
@@ -128,11 +128,6 @@ si{
                 one{"{0} මවුල"}\r
                 other{"{0} මවුල"}\r
             }\r
-            part-per-million{\r
-                dnam{"මිලියනයට කොටස්"}\r
-                one{"මිලියනයට කොටස් {0}"}\r
-                other{"මිලියනයට කොටස් {0}"}\r
-            }\r
             percent{\r
                 dnam{"ප්‍රතිශතය"}\r
                 one{"ප්‍රතිශතය {0}"}\r
@@ -143,6 +138,11 @@ si{
                 one{"ප්‍රතිසහශ්‍රක {0}"}\r
                 other{"ප්‍රතිසහශ්‍රක {0}"}\r
             }\r
+            permillion{\r
+                dnam{"මිලියනයට කොටස්"}\r
+                one{"මිලියනයට කොටස් {0}"}\r
+                other{"මිලියනයට කොටස් {0}"}\r
+            }\r
             permyriad{\r
                 dnam{"පර්මැරියඩ්"}\r
                 one{"{0} පර්මැරියඩ්"}\r
@@ -150,7 +150,7 @@ si{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"කිලෝ මීටර 100 ට ලීටර"}\r
                 one{"කිලෝ මීටර 100 ට ලීටර {0}"}\r
                 other{"කිලෝ මීටර 100 ට ලීටර {0}"}\r
@@ -675,7 +675,7 @@ si{
                 one{"හෙක්ටොපැස්කල් {0}"}\r
                 other{"හෙක්ටොපැස්කල් {0}"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"රසදිය අඟල්"}\r
                 one{"රසදිය අඟල් {0}"}\r
                 other{"රසදිය අඟල් {0}"}\r
@@ -695,7 +695,7 @@ si{
                 one{"මිලිබාර් {0}"}\r
                 other{"මිලිබාර් {0}"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"රසදිය මිලිමීටර"}\r
                 one{"රසදිය මිලිමීටර {0}"}\r
                 other{"රසදිය මිලිමීටර {0}"}\r
@@ -705,7 +705,7 @@ si{
                 one{"පැස්කල් {0}"}\r
                 other{"පැස්කල් {0}"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"වර්ග අලඟකට රාත්තල්"}\r
                 one{"වර්ග අලඟකට රාත්තල් {0}"}\r
                 other{"වර්ග අලඟකට රාත්තල් {0}"}\r
@@ -761,7 +761,7 @@ si{
                 one{"{0} නිව්ටන්-මීටර්"}\r
                 other{"{0} නිව්ටන්-මීටර්"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"රාත්තල්-පාදය"}\r
                 one{"{0} රාත්තල්-පාදය"}\r
                 other{"{0} රාත්තල්-පාදය"}\r
@@ -963,7 +963,7 @@ si{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ලී/කිමී100"}\r
                 one{"ලී/කිමී100 {0}"}\r
                 other{"ලී/කිමී100 {0}"}\r
@@ -1103,7 +1103,7 @@ si{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"රසදිය {0}\u0022"}\r
                 other{"රසදිය {0}\u0022"}\r
             }\r
@@ -1161,7 +1161,7 @@ si{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"මීටර/තත්පර වර්ගයට"}\r
                 one{"මී/තව {0}"}\r
                 other{"මී/තව {0}"}\r
@@ -1276,11 +1276,6 @@ si{
                 one{"{0} මවුල"}\r
                 other{"{0} මවුල"}\r
             }\r
-            part-per-million{\r
-                dnam{"කොටස්/මිලියනය"}\r
-                one{"{0} මිලිකො"}\r
-                other{"{0} මිලිකො"}\r
-            }\r
             percent{\r
                 dnam{"ප්‍රතිශතය"}\r
                 one{"{0}%"}\r
@@ -1291,6 +1286,11 @@ si{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"කොටස්/මිලියනය"}\r
+                one{"{0} මිලිකො"}\r
+                other{"{0} මිලිකො"}\r
+            }\r
             permyriad{\r
                 dnam{"පර්මැරියඩ්"}\r
                 one{"{0}‱"}\r
@@ -1298,7 +1298,7 @@ si{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ලී/කිමී100"}\r
                 one{"ලී/කිමී100 {0}"}\r
                 other{"ලී/100කිමී {0}"}\r
@@ -1825,7 +1825,7 @@ si{
                 one{"හෙ.පැ {0}"}\r
                 other{"හෙ.පැ {0}"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"ර අඟ"}\r
                 one{"ර අඟ {0}"}\r
                 other{"ර අඟ {0}"}\r
@@ -1845,7 +1845,7 @@ si{
                 one{"මි.බාර් {0}"}\r
                 other{"මි.බාර් {0}"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"ර මිමී"}\r
                 one{"ර මිමී {0}"}\r
                 other{"ර මිමී {0}"}\r
@@ -1855,7 +1855,7 @@ si{
                 one{"පැස් {0}"}\r
                 other{"පැස් {0}"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"වඅ රා"}\r
                 one{"වඅ රා {0}"}\r
                 other{"වඅ රා {0}"}\r
@@ -1911,7 +1911,7 @@ si{
                 one{"{0} නි-මී"}\r
                 other{"{0} නි-මී"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"රාත්-පාද"}\r
                 one{"{0} රාත්-පාද"}\r
                 other{"{0} රාත්-පාද"}\r
index b1e1c69..624c891 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sk{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -16,7 +16,7 @@ sk{
                 one{"{0} jednotka preťaženia"}\r
                 other{"{0} jednotiek preťaženia"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metre za sekundu na druhú"}\r
                 few{"{0} metre za sekundu na druhú"}\r
                 many{"{0} metra za sekundu na druhú"}\r
@@ -171,13 +171,6 @@ sk{
                 one{"{0} mol"}\r
                 other{"{0} molov"}\r
             }\r
-            part-per-million{\r
-                dnam{"milióntiny"}\r
-                few{"{0} milióntiny"}\r
-                many{"{0} milióntiny"}\r
-                one{"{0} milióntina"}\r
-                other{"{0} milióntin"}\r
-            }\r
             percent{\r
                 dnam{"percentá"}\r
                 few{"{0} percentá"}\r
@@ -192,6 +185,13 @@ sk{
                 one{"{0} promile"}\r
                 other{"{0} promile"}\r
             }\r
+            permillion{\r
+                dnam{"milióntiny"}\r
+                few{"{0} milióntiny"}\r
+                many{"{0} milióntiny"}\r
+                one{"{0} milióntina"}\r
+                other{"{0} milióntin"}\r
+            }\r
             permyriad{\r
                 dnam{"desatiny promile"}\r
                 few{"{0} desatiny promile"}\r
@@ -201,7 +201,7 @@ sk{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litre na 100 kilometrov"}\r
                 few{"{0} litre na 100 kilometrov"}\r
                 many{"{0} litra na 100 kilometrov"}\r
@@ -920,7 +920,7 @@ sk{
                 one{"{0} hektopascal"}\r
                 other{"{0} hektopascalov"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"palce ortuťového stĺpca"}\r
                 few{"{0} palce ortuťového stĺpca"}\r
                 many{"{0} palca ortuťového stĺpca"}\r
@@ -948,7 +948,7 @@ sk{
                 one{"{0} milibar"}\r
                 other{"{0} milibarov"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milimetre ortuťového stĺpca"}\r
                 few{"{0} milimetre ortuťového stĺpca"}\r
                 many{"{0} milimetra ortuťového stĺpca"}\r
@@ -962,7 +962,7 @@ sk{
                 one{"pascal"}\r
                 other{"{0} pascalov"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"libry sily na štvorcový palec"}\r
                 few{"{0} libry sily na štvorcový palec"}\r
                 many{"{0} libry sily na štvorcový palec"}\r
@@ -1038,7 +1038,7 @@ sk{
                 one{"{0} newtonmeter"}\r
                 other{"{0} newtonmetrov"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"librostopy"}\r
                 few{"{0} librostopy"}\r
                 many{"{0} librostopy"}\r
@@ -1245,7 +1245,7 @@ sk{
                 one{"{0}G"}\r
                 other{"{0}G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 few{"{0} m/s²"}\r
                 many{"{0} m/s²"}\r
@@ -1355,7 +1355,7 @@ sk{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 few{"{0} l/100 km"}\r
                 many{"{0} l/100 km"}\r
@@ -1746,7 +1746,7 @@ sk{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 few{"{0}\u0022 Hg"}\r
                 many{"{0}\u0022 Hg"}\r
@@ -1760,14 +1760,14 @@ sk{
                 one{"{0} mb"}\r
                 other{"{0} mb"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 few{"{0} mm Hg"}\r
                 many{"{0} mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 few{"{0} psi"}\r
                 many{"{0} psi"}\r
@@ -1974,7 +1974,7 @@ sk{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 few{"{0} m/s²"}\r
                 many{"{0} m/s²"}\r
@@ -2129,13 +2129,6 @@ sk{
                 one{"{0} mol"}\r
                 other{"{0} mol"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                few{"{0} ppm"}\r
-                many{"{0} ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 few{"{0} %"}\r
@@ -2150,6 +2143,13 @@ sk{
                 one{"{0} ‰"}\r
                 other{"{0} ‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                few{"{0} ppm"}\r
+                many{"{0} ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"‱"}\r
                 few{"{0} ‱"}\r
@@ -2159,7 +2159,7 @@ sk{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 few{"{0} l/100 km"}\r
                 many{"{0} l/100 km"}\r
@@ -2878,7 +2878,7 @@ sk{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 few{"{0} inHg"}\r
                 many{"{0} inHg"}\r
@@ -2906,14 +2906,14 @@ sk{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 few{"{0} mm Hg"}\r
                 many{"{0} mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 few{"{0} psi"}\r
                 many{"{0} psi"}\r
@@ -2989,7 +2989,7 @@ sk{
                 one{"{0} Nm"}\r
                 other{"{0} Nm"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
                 few{"{0} lbf⋅ft"}\r
                 many{"{0} lbf⋅ft"}\r
index c9b4489..128a109 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sl{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h.mm"}\r
         hms{"h.mm.ss"}\r
@@ -16,7 +16,7 @@ sl{
                 other{"{0} G"}\r
                 two{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"meter na kvadratno sekundo"}\r
                 few{"{0} metri na kvadratno sekundo"}\r
                 one{"{0} meter na kvadratno sekundo"}\r
@@ -170,13 +170,6 @@ sl{
                 other{"{0} molov"}\r
                 two{"{0} mola"}\r
             }\r
-            part-per-million{\r
-                dnam{"delci na milijon"}\r
-                few{"{0} delcev na milijon"}\r
-                one{"{0} delec na milijon"}\r
-                other{"{0} delcev na milijon"}\r
-                two{"{0} delca na milijon"}\r
-            }\r
             percent{\r
                 dnam{"odstotek"}\r
                 few{"{0} %"}\r
@@ -191,6 +184,13 @@ sl{
                 other{"{0} promilov"}\r
                 two{"{0} ‰"}\r
             }\r
+            permillion{\r
+                dnam{"delci na milijon"}\r
+                few{"{0} delcev na milijon"}\r
+                one{"{0} delec na milijon"}\r
+                other{"{0} delcev na milijon"}\r
+                two{"{0} delca na milijon"}\r
+            }\r
             permyriad{\r
                 dnam{"desettisočine"}\r
                 few{"{0} desettisočine"}\r
@@ -200,7 +200,7 @@ sl{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 few{"{0} litri na 100 kilometrov"}\r
                 one{"{0} liter na 100 kilometrov"}\r
                 other{"{0} litrov na 100 kilometrov"}\r
@@ -858,7 +858,7 @@ sl{
                 other{"{0} hektopaskalov"}\r
                 two{"{0} hektopaskala"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"palci živega srebra"}\r
                 few{"{0} palci živega srebra"}\r
                 one{"{0} palec živega srebra"}\r
@@ -886,7 +886,7 @@ sl{
                 other{"{0} milibarov"}\r
                 two{"{0} milibara"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milimetri živega srebra"}\r
                 few{"{0} milimetri živega srebra"}\r
                 one{"{0} milimeter živega srebra"}\r
@@ -900,7 +900,7 @@ sl{
                 other{"{0} paskalov"}\r
                 two{"{0} paskala"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"funti na kvadratni palec"}\r
                 few{"{0} funti na kvadratni palec"}\r
                 one{"{0} funt na kvadratni palec"}\r
@@ -976,7 +976,7 @@ sl{
                 other{"{0} newton metrov"}\r
                 two{"{0} newton metra"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"funt-čevelj"}\r
                 few{"{0} funt-čevlji"}\r
                 one{"{0} funt-čevelj"}\r
@@ -1221,7 +1221,7 @@ sl{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 few{"{0} l/100 km"}\r
                 one{"{0} l/100 km"}\r
@@ -1427,7 +1427,7 @@ sl{
                 other{"{0} hPa"}\r
                 two{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 few{"{0} inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1495,7 +1495,7 @@ sl{
                 other{"{0} G"}\r
                 two{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 few{"{0} m/s²"}\r
                 one{"{0} m/s²"}\r
@@ -1650,13 +1650,6 @@ sl{
                 other{"{0} mol"}\r
                 two{"{0} mol"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                few{"{0} ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-                two{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"odstotek"}\r
                 few{"{0} %"}\r
@@ -1671,6 +1664,13 @@ sl{
                 other{"{0} ‰"}\r
                 two{"{0} ‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                few{"{0} ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+                two{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"‱"}\r
                 few{"{0} ‱"}\r
@@ -1680,7 +1680,7 @@ sl{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 few{"{0} l/100 km"}\r
                 one{"{0} l/100 km"}\r
@@ -2405,7 +2405,7 @@ sl{
                 other{"{0} hPa"}\r
                 two{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 few{"{0} inHg"}\r
                 one{"{0} inHg"}\r
@@ -2433,7 +2433,7 @@ sl{
                 other{"{0} mbar"}\r
                 two{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 few{"{0} mmHG"}\r
                 one{"{0} mmHG"}\r
@@ -2447,7 +2447,7 @@ sl{
                 other{"{0} Pa"}\r
                 two{"{0} Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 few{"{0} psi"}\r
                 one{"{0} psi"}\r
@@ -2523,7 +2523,7 @@ sl{
                 other{"{0} N⋅m"}\r
                 two{"{0} N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
                 few{"{0} lbf⋅ft"}\r
                 one{"{0} lbf⋅ft"}\r
index 00588b2..d153d87 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 smn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         duration{\r
             day{\r
index 62bcb1f..f9efe42 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a4e168f..39fe898 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 so{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         acceleration{\r
             g-force{\r
@@ -9,7 +9,7 @@ so{
                 one{"{0} cadaadis dib ku riixaya"}\r
                 other{"{0} cadaadis dib ku riixaya"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"mitir ilbiriqsigii jibaaranba"}\r
                 one{"{0} mitir ilbiriqsigii jibaaranba"}\r
                 other{"{0} mitir ilbiriqsigii jibaaranba"}\r
@@ -120,11 +120,6 @@ so{
                 one{"{0} mool"}\r
                 other{"{0} mool"}\r
             }\r
-            part-per-million{\r
-                dnam{"baart milyankiiba"}\r
-                one{"{0} baart milyankiiba"}\r
-                other{"{0} baart milyankiiba"}\r
-            }\r
             percent{\r
                 dnam{"boqolkiiba"}\r
                 one{"boqolkiiba {0}"}\r
@@ -135,6 +130,11 @@ so{
                 one{"{0} baarmiil"}\r
                 other{"{0} baarmiil"}\r
             }\r
+            permillion{\r
+                dnam{"baart milyankiiba"}\r
+                one{"{0} baart milyankiiba"}\r
+                other{"{0} baart milyankiiba"}\r
+            }\r
             permyriad{\r
                 dnam{"bermiraad"}\r
                 one{"{0} bermiraad"}\r
@@ -142,7 +142,7 @@ so{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litar 100-kii kiilomitirba"}\r
                 one{"{0} litar 100-kii kiilomitirba"}\r
                 other{"{0} litar 100-kii kiilomitirba"}\r
@@ -628,7 +628,7 @@ so{
                 one{"{0} hektobaskal"}\r
                 other{"{0} hektobaskal"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"injis maarkuri"}\r
                 one{"{0} inji maarkuri"}\r
                 other{"{0} inji maarkuri"}\r
@@ -648,12 +648,12 @@ so{
                 one{"{0} milibaar"}\r
                 other{"{0} milibaar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milimitir maarkuri"}\r
                 one{"{0} milimitir maarkuri"}\r
                 other{"{0} milimitir maarkuri"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"bownd injigii jibaaranba"}\r
                 one{"{0} bownd injigii jibaaranba"}\r
                 other{"{0} bownd injigii jibaaranba"}\r
@@ -704,7 +704,7 @@ so{
                 one{"{0} nuyuuton-mitir"}\r
                 other{"{0} nuyuuton-mitir"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"bownd-fiit"}\r
                 one{"{0} bownd-fiit"}\r
                 other{"{0} bownd-fiit"}\r
@@ -721,6 +721,11 @@ so{
                 one{"{0} foosto"}\r
                 other{"{0} foosto"}\r
             }\r
+            bushel{\r
+                dnam{"cabirka bushels"}\r
+                one{"{0}cabirka bushel"}\r
+                other{"{0}cabirka bushels"}\r
+            }\r
             centiliter{\r
                 dnam{"sentilitar"}\r
                 one{"{0} sentilitar"}\r
@@ -849,6 +854,11 @@ so{
         }\r
     }\r
     unitsNarrow{\r
+        area{\r
+            square-yard{\r
+                dnam{"yd²"}\r
+            }\r
+        }\r
         concentr{\r
             percent{\r
                 dnam{"%"}\r
@@ -868,6 +878,11 @@ so{
                 other{"{0}m"}\r
                 per{"{0}M/K"}\r
             }\r
+            decade{\r
+                dnam{"toban sano"}\r
+                one{"{0}diis"}\r
+                other{"{0}diis"}\r
+            }\r
             hour{\r
                 dnam{"scd"}\r
                 one{"{0} scd"}\r
@@ -947,6 +962,12 @@ so{
             }\r
         }\r
         volume{\r
+            bushel{\r
+                dnam{"cabirka bushel"}\r
+            }\r
+            cup-metric{\r
+                dnam{"mkoob"}\r
+            }\r
             liter{\r
                 dnam{"litar"}\r
                 one{"{0}L"}\r
@@ -961,7 +982,7 @@ so{
                 one{"{0} C"}\r
                 other{"{0} C"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"mitir/ilbrqsi²"}\r
                 one{"{0} m/i²"}\r
                 other{"{0} m/i²"}\r
@@ -1040,17 +1061,17 @@ so{
                 one{"{0} mool"}\r
                 other{"{0} mool"}\r
             }\r
-            part-per-million{\r
-                dnam{"baart/milyan"}\r
-                one{"{0} bbm"}\r
-                other{"{0} bbm"}\r
-            }\r
             percent{\r
                 dnam{"boqolkiiba"}\r
             }\r
             permille{\r
                 dnam{"baarmiil"}\r
             }\r
+            permillion{\r
+                dnam{"baart/milyan"}\r
+                one{"{0} bbm"}\r
+                other{"{0} bbm"}\r
+            }\r
             permyriad{\r
                 dnam{"bermiraad"}\r
                 one{"{0}‱"}\r
@@ -1396,12 +1417,12 @@ so{
                 one{"{0} Mba"}\r
                 other{"{0} Mba"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mmHg"}\r
                 one{"{0} mmHg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"bij"}\r
                 one{"{0} bij"}\r
                 other{"{0} bij"}\r
@@ -1443,7 +1464,7 @@ so{
                 one{"{0} N⋅m"}\r
                 other{"{0} N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"bwd⋅ft"}\r
                 one{"{0} bwd⋅ft"}\r
                 other{"{0} bwd⋅ft"}\r
@@ -1460,6 +1481,9 @@ so{
                 one{"{0} fsto"}\r
                 other{"{0} fsto"}\r
             }\r
+            bushel{\r
+                dnam{"cabirka bushels"}\r
+            }\r
             centiliter{\r
                 dnam{"sL"}\r
                 one{"{0} sL"}\r
index eb7f27a..a2b7269 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sq{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ sq{
                 one{"{0} g-forcë"}\r
                 other{"{0} g-forcë"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metra për sekondë në katror"}\r
                 one{"{0} metër për sekondë në katror"}\r
                 other{"{0} metra për sekondë në katror"}\r
@@ -128,11 +128,6 @@ sq{
                 one{"{0} mol"}\r
                 other{"{0} molë"}\r
             }\r
-            part-per-million{\r
-                dnam{"pjesë për milion"}\r
-                one{"{0} pjesë për milion"}\r
-                other{"{0} pjesë për milion"}\r
-            }\r
             percent{\r
                 dnam{"përqind"}\r
                 one{"{0} përqind"}\r
@@ -143,6 +138,11 @@ sq{
                 one{"{0} përmijë"}\r
                 other{"{0} përmijë"}\r
             }\r
+            permillion{\r
+                dnam{"pjesë për milion"}\r
+                one{"{0} pjesë për milion"}\r
+                other{"{0} pjesë për milion"}\r
+            }\r
             permyriad{\r
                 dnam{"përdhjetëmijë"}\r
                 one{"{0} përdhjetëmijë"}\r
@@ -150,7 +150,7 @@ sq{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litra për 100 kilometra"}\r
                 one{"{0} litër për 100 kilometra"}\r
                 other{"{0} litra për 100 kilometra"}\r
@@ -677,7 +677,7 @@ sq{
                 one{"{0} hektopaskal"}\r
                 other{"{0} hektopaskal"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inç merkuri"}\r
                 one{"{0} inç merkuri"}\r
                 other{"{0} inç merkuri"}\r
@@ -697,12 +697,12 @@ sq{
                 one{"{0} milibar"}\r
                 other{"{0} milibare"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milimetra mërkuri"}\r
                 one{"{0} milimetër mërkuri"}\r
                 other{"{0} milimetra mërkuri"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"paund për inç në katror"}\r
                 one{"{0} paund për inç në katror"}\r
                 other{"{0} paund për inç në katror"}\r
@@ -758,7 +758,7 @@ sq{
                 one{"{0} njuton-metër"}\r
                 other{"{0} njuton-metra"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"paund-këmbë"}\r
                 one{"{0} paund-këmbë"}\r
                 other{"{0} paund-këmbë"}\r
@@ -960,7 +960,7 @@ sq{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 one{"{0} L/100km"}\r
                 other{"{0} L/100km"}\r
@@ -1112,7 +1112,7 @@ sq{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inç Hg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1122,12 +1122,12 @@ sq{
                 one{"{0} mb"}\r
                 other{"{0} mb"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -1188,7 +1188,7 @@ sq{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1297,11 +1297,6 @@ sq{
                 one{"{0} mmol/L"}\r
                 other{"{0} mmol/L"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 one{"{0}%"}\r
@@ -1312,9 +1307,14 @@ sq{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 one{"{0} L/100km"}\r
                 other{"{0} L/100km"}\r
@@ -1752,7 +1752,7 @@ sq{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1762,12 +1762,12 @@ sq{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
index 15b342a..f512dd8 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sr{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -15,7 +15,7 @@ sr{
                 one{"{0} ге сила"}\r
                 other{"{0} ге сила"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"метри у секунди на квадрат"}\r
                 few{"{0} метра у секунди на квадрат"}\r
                 one{"{0} метар у секунди на квадрат"}\r
@@ -150,12 +150,6 @@ sr{
                 one{"{0} мол"}\r
                 other{"{0} мола"}\r
             }\r
-            part-per-million{\r
-                dnam{"честица на милион"}\r
-                few{"{0} честице на милион"}\r
-                one{"{0} честица на милион"}\r
-                other{"{0} честица на милион"}\r
-            }\r
             percent{\r
                 dnam{"проценат"}\r
                 few{"{0} процената"}\r
@@ -168,9 +162,15 @@ sr{
                 one{"{0} промил"}\r
                 other{"{0} промила"}\r
             }\r
+            permillion{\r
+                dnam{"честица на милион"}\r
+                few{"{0} честице на милион"}\r
+                one{"{0} честица на милион"}\r
+                other{"{0} честица на милион"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 few{"{0} литра на 100 километара"}\r
                 one{"{0} литар на 100 километара"}\r
@@ -740,7 +740,7 @@ sr{
                 one{"{0} хектопаскал"}\r
                 other{"{0} хектопаскала"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"инчи живиног стуба"}\r
                 few{"{0} инча живиног стуба"}\r
                 one{"{0} инч живиног стуба"}\r
@@ -764,7 +764,7 @@ sr{
                 one{"{0} милибар"}\r
                 other{"{0} милибара"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"милиметри живиног стуба"}\r
                 few{"{0} милиметра живиног стуба"}\r
                 one{"{0} милиметар живиног стуба"}\r
@@ -776,7 +776,7 @@ sr{
                 one{"{0} паскал"}\r
                 other{"{0} паскала"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"фунте по квадратном инчу"}\r
                 few{"{0} фунте по квадратном инчу"}\r
                 one{"{0} фунта по квадратном инчу"}\r
@@ -842,7 +842,7 @@ sr{
                 one{"{0} њутн-метар"}\r
                 other{"{0} њутн-метара"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"фунта-фити"}\r
                 few{"{0} фунта-фита"}\r
                 one{"{0} фунта-фит"}\r
@@ -1083,7 +1083,7 @@ sr{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 few{"{0} L/100km"}\r
                 one{"{0} L/100km"}\r
@@ -1251,7 +1251,7 @@ sr{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 few{"{0} inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1320,7 +1320,7 @@ sr{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 few{"{0} m/s²"}\r
                 one{"{0} m/s²"}\r
@@ -1449,12 +1449,6 @@ sr{
                 one{"{0} mmol/L"}\r
                 other{"{0} mmol/L"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                few{"{0} ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"проценат"}\r
                 few{"{0}%"}\r
@@ -1467,9 +1461,15 @@ sr{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                few{"{0} ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100 km"}\r
                 few{"{0} L/100 km"}\r
                 one{"{0} L/100 km"}\r
@@ -2047,7 +2047,7 @@ sr{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 few{"{0} inHg"}\r
                 one{"{0} inHg"}\r
@@ -2059,7 +2059,7 @@ sr{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 few{"{0} mm Hg"}\r
                 one{"{0} mm Hg"}\r
@@ -2071,7 +2071,7 @@ sr{
                 one{"{0} Pa"}\r
                 other{"{0} Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 few{"{0} psi"}\r
                 one{"{0} psi"}\r
index 1ed798b..f89f3af 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sr_Cyrl{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 895a4cf..b594328 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sr_Latn{\r
     %%Parent{"root"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -16,7 +16,7 @@ sr_Latn{
                 one{"{0} ge sila"}\r
                 other{"{0} ge sila"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metri u sekundi na kvadrat"}\r
                 few{"{0} metra u sekundi na kvadrat"}\r
                 one{"{0} metar u sekundi na kvadrat"}\r
@@ -151,12 +151,6 @@ sr_Latn{
                 one{"{0} mol"}\r
                 other{"{0} mola"}\r
             }\r
-            part-per-million{\r
-                dnam{"čestica na milion"}\r
-                few{"{0} čestice na milion"}\r
-                one{"{0} čestica na milion"}\r
-                other{"{0} čestica na milion"}\r
-            }\r
             percent{\r
                 dnam{"procenat"}\r
                 few{"{0} procenata"}\r
@@ -169,9 +163,15 @@ sr_Latn{
                 one{"{0} promil"}\r
                 other{"{0} promila"}\r
             }\r
+            permillion{\r
+                dnam{"čestica na milion"}\r
+                few{"{0} čestice na milion"}\r
+                one{"{0} čestica na milion"}\r
+                other{"{0} čestica na milion"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 few{"{0} litra na 100 kilometara"}\r
                 one{"{0} litar na 100 kilometara"}\r
@@ -741,7 +741,7 @@ sr_Latn{
                 one{"{0} hektopaskal"}\r
                 other{"{0} hektopaskala"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inči živinog stuba"}\r
                 few{"{0} inča živinog stuba"}\r
                 one{"{0} inč živinog stuba"}\r
@@ -765,7 +765,7 @@ sr_Latn{
                 one{"{0} milibar"}\r
                 other{"{0} milibara"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milimetri živinog stuba"}\r
                 few{"{0} milimetra živinog stuba"}\r
                 one{"{0} milimetar živinog stuba"}\r
@@ -777,7 +777,7 @@ sr_Latn{
                 one{"{0} paskal"}\r
                 other{"{0} paskala"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"funte po kvadratnom inču"}\r
                 few{"{0} funte po kvadratnom inču"}\r
                 one{"{0} funta po kvadratnom inču"}\r
@@ -843,7 +843,7 @@ sr_Latn{
                 one{"{0} njutn-metar"}\r
                 other{"{0} njutn-metara"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"funta-fiti"}\r
                 few{"{0} funta-fita"}\r
                 one{"{0} funta-fit"}\r
@@ -1084,7 +1084,7 @@ sr_Latn{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 few{"{0} L/100km"}\r
                 one{"{0} L/100km"}\r
@@ -1252,7 +1252,7 @@ sr_Latn{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 few{"{0} inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1321,7 +1321,7 @@ sr_Latn{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 few{"{0} m/s²"}\r
                 one{"{0} m/s²"}\r
@@ -1450,12 +1450,6 @@ sr_Latn{
                 one{"{0} mmol/L"}\r
                 other{"{0} mmol/L"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                few{"{0} ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"procenat"}\r
                 few{"{0}%"}\r
@@ -1468,9 +1462,15 @@ sr_Latn{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                few{"{0} ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100 km"}\r
                 few{"{0} L/100 km"}\r
                 one{"{0} L/100 km"}\r
@@ -2034,7 +2034,7 @@ sr_Latn{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 few{"{0} inHg"}\r
                 one{"{0} inHg"}\r
@@ -2046,7 +2046,7 @@ sr_Latn{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 few{"{0} mm Hg"}\r
                 one{"{0} mm Hg"}\r
@@ -2058,7 +2058,7 @@ sr_Latn{
                 one{"{0} Pa"}\r
                 other{"{0} Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 few{"{0} psi"}\r
                 one{"{0} psi"}\r
similarity index 54%
rename from source/data/curr/ja_JP_TRADITIONAL.txt
rename to source/data/unit/su.txt
index b3821f3..fc0df93 100644 (file)
@@ -1,7 +1,10 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-ja_JP_TRADITIONAL{\r
-    calendar{\r
-        default{"japanese"}\r
+su{\r
+    Version{"37"}\r
+    durationUnits{\r
+        hm{"h.mm"}\r
+        hms{"h.mm.ss"}\r
+        ms{"m.ss"}\r
     }\r
 }\r
diff --git a/source/data/unit/su_ID.txt b/source/data/unit/su_ID.txt
new file mode 100644 (file)
index 0000000..54a4c8f
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+su_ID{\r
+    "%%ALIAS"{"su_Latn_ID"}\r
+}\r
diff --git a/source/data/unit/su_Latn.txt b/source/data/unit/su_Latn.txt
new file mode 100644 (file)
index 0000000..2cd8bd7
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+su_Latn{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/unit/su_Latn_ID.txt b/source/data/unit/su_Latn_ID.txt
new file mode 100644 (file)
index 0000000..8ab1d5e
--- /dev/null
@@ -0,0 +1,8 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+/**\r
+ * generated alias target\r
+ */\r
+su_Latn_ID{\r
+    ___{""}\r
+}\r
index f79d2db..c15e76f 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sv{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ sv{
                 one{"{0} gånger jordens gravitation"}\r
                 other{"{0} gånger jordens gravitation"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"meter per kvadratsekund"}\r
                 one{"{0} meter per kvadratsekund"}\r
                 other{"{0} meter per kvadratsekund"}\r
@@ -124,11 +124,6 @@ sv{
                 one{"{0} millimol per liter"}\r
                 other{"{0} millimol per liter"}\r
             }\r
-            part-per-million{\r
-                dnam{"miljondelar"}\r
-                one{"{0} miljondel"}\r
-                other{"{0} miljondelar"}\r
-            }\r
             percent{\r
                 dnam{"procent"}\r
                 one{"{0} procent"}\r
@@ -139,6 +134,11 @@ sv{
                 one{"{0} promille"}\r
                 other{"{0} promille"}\r
             }\r
+            permillion{\r
+                dnam{"miljondelar"}\r
+                one{"{0} miljondel"}\r
+                other{"{0} miljondelar"}\r
+            }\r
             permyriad{\r
                 dnam{"promyriad"}\r
                 one{"{0} promyriad"}\r
@@ -146,7 +146,7 @@ sv{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"liter per 100 kilometer"}\r
                 one{"{0} liter per 100 kilometer"}\r
                 other{"{0} liter per 100 kilometer"}\r
@@ -676,7 +676,7 @@ sv{
                 one{"{0} hektopascal"}\r
                 other{"{0} hektopascal"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"tum kvicksilver"}\r
                 one{"{0} tum kvicksilver"}\r
                 other{"{0} tum kvicksilver"}\r
@@ -696,7 +696,7 @@ sv{
                 one{"{0} millibar"}\r
                 other{"{0} millibar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"millimeter kvicksilver"}\r
                 one{"{0} millimeter kvicksilver"}\r
                 other{"{0} millimeter kvicksilver"}\r
@@ -706,7 +706,7 @@ sv{
                 one{"{0} pascal"}\r
                 other{"{0} pascal"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"pund per kvadrattum"}\r
                 one{"{0} pund per kvadrattum"}\r
                 other{"{0} pund per kvadrattum"}\r
@@ -762,9 +762,9 @@ sv{
                 one{"{0} newton-meter"}\r
                 other{"{0} newton-meter"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"pound-feet"}\r
-                one{"{0} pound-foot"}\r
+                one{"{0} pound-force-foot"}\r
                 other{"{0} pound-feet"}\r
             }\r
         }\r
@@ -913,7 +913,7 @@ sv{
                 one{"{0}G"}\r
                 other{"{0}G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0}m/s²"}\r
                 other{"{0}m/s²"}\r
@@ -1019,11 +1019,6 @@ sv{
                 one{"{0}mol"}\r
                 other{"{0}mol"}\r
             }\r
-            part-per-million{\r
-                dnam{"miljondelar"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 one{"{0} %"}\r
@@ -1034,13 +1029,18 @@ sv{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"miljondelar"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 one{"{0}‱"}\r
                 other{"{0}‱"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100 km"}\r
@@ -1136,6 +1136,7 @@ sv{
                 dnam{"m"}\r
                 one{"{0}m"}\r
                 other{"{0}m"}\r
+                per{"{0}/m"}\r
             }\r
             month{\r
                 dnam{"m"}\r
@@ -1490,7 +1491,7 @@ sv{
                 one{"{0}hPa"}\r
                 other{"{0}hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"tum Hg"}\r
                 one{"{0} tum Hg"}\r
                 other{"{0} tum Hg"}\r
@@ -1508,12 +1509,12 @@ sv{
                 one{"{0}mbar"}\r
                 other{"{0}mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0}mm Hg"}\r
                 other{"{0}mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"s:d/tum²"}\r
                 one{"{0}s:d/tum²"}\r
                 other{"{0}s:d/tum²"}\r
@@ -1712,7 +1713,7 @@ sv{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1816,11 +1817,6 @@ sv{
                 one{"{0} mmol/l"}\r
                 other{"{0} mmol/l"}\r
             }\r
-            part-per-million{\r
-                dnam{"miljondelar"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 one{"{0} %"}\r
@@ -1831,13 +1827,18 @@ sv{
                 one{"{0} ‰"}\r
                 other{"{0} ‰"}\r
             }\r
+            permillion{\r
+                dnam{"miljondelar"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 one{"{0} ‱"}\r
                 other{"{0} ‱"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100 km"}\r
@@ -2326,7 +2327,7 @@ sv{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"tum Hg"}\r
                 one{"{0} tum Hg"}\r
                 other{"{0} tum Hg"}\r
@@ -2336,12 +2337,12 @@ sv{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
index 71350eb..8bee184 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sv_FI{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     unitsNarrow{\r
         speed{\r
             kilometer-per-hour{\r
index a75a869..0c90257 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sw{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ sw{
                 one{"mvuto wa graviti {0}"}\r
                 other{"mvuto wa graviti {0}"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"mita kwa kila sekunde mraba"}\r
                 one{"mita {0} kwa kila sekunde mraba"}\r
                 other{"mita {0} kwa kila sekunde mraba"}\r
@@ -128,11 +128,6 @@ sw{
                 one{"moli {0}"}\r
                 other{"moli {0}"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"ppm {0}"}\r
-                other{"ppm {0}"}\r
-            }\r
             percent{\r
                 dnam{"asilimia"}\r
                 one{"asilimia {0}"}\r
@@ -143,6 +138,11 @@ sw{
                 one{"{0} kwa kila elfu"}\r
                 other{"{0} kwa kila elfu"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"ppm {0}"}\r
+                other{"ppm {0}"}\r
+            }\r
             permyriad{\r
                 dnam{"permyriadi"}\r
                 one{"permyriadi {0}"}\r
@@ -150,7 +150,7 @@ sw{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"lita kwa kilomita 100"}\r
                 one{"lita {0} kwa kilomita 100"}\r
                 other{"lita {0} kwa kilomita 100"}\r
@@ -647,7 +647,7 @@ sw{
                 one{"hektopaskali {0}"}\r
                 other{"hektopaskali {0}"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inchi za zebaki"}\r
                 one{"inchi {0} ya zebaki"}\r
                 other{"inchi {0} za zebaki"}\r
@@ -667,7 +667,7 @@ sw{
                 one{"kipimo cha milibari {0}"}\r
                 other{"kipimo cha milibari {0}"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milimita za zebaki"}\r
                 one{"milimita {0} ya zebaki"}\r
                 other{"milimita {0} za zebaki"}\r
@@ -677,7 +677,7 @@ sw{
                 one{"paskali {0}"}\r
                 other{"paskali {0}"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"pauni kwa kila inchi mraba"}\r
                 one{"pauni {0} kwa kila inchi mraba"}\r
                 other{"pauni {0} kwa kila inchi mraba"}\r
@@ -733,7 +733,7 @@ sw{
                 one{"newtonimita {0}"}\r
                 other{"newtonimita {0}"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"paunifuti"}\r
                 one{"paunifuti {0}"}\r
                 other{"paunifuti {0}"}\r
@@ -930,7 +930,7 @@ sw{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"lita kwa kilomita 100"}\r
                 one{"{0}L/100km"}\r
                 other{"{0}L/100km"}\r
@@ -1077,7 +1077,7 @@ sw{
                 one{"hPa {0}"}\r
                 other{"hPa {0}"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
             }\r
@@ -1135,7 +1135,7 @@ sw{
                 one{"G {0}"}\r
                 other{"G {0}"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"mita kwa kila sekunde mraba"}\r
                 one{"m {0}/s²"}\r
                 other{"m {0}/s²"}\r
@@ -1249,11 +1249,6 @@ sw{
                 one{"moli {0}"}\r
                 other{"moli {0}"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"ppm {0}"}\r
-                other{"ppm {0}"}\r
-            }\r
             percent{\r
                 dnam{"asilimia"}\r
                 one{"asilimia {0}"}\r
@@ -1264,12 +1259,17 @@ sw{
                 one{"{0} kwa elfu"}\r
                 other{"{0} kwa elfu"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"ppm {0}"}\r
+                other{"ppm {0}"}\r
+            }\r
             permyriad{\r
                 dnam{"permyriadi"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"lita kwa kilomita 100"}\r
                 one{"lita {0} kwa kilomita 100"}\r
                 other{"lita {0}/km100"}\r
@@ -1754,7 +1754,7 @@ sw{
                 one{"hPa {0}"}\r
                 other{"hPa {0}"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inchi za zebaki"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1772,7 +1772,7 @@ sw{
                 one{"mbar {0}"}\r
                 other{"mbar {0}"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milimita za zebaki"}\r
                 one{"milimita {0} ya zebaki"}\r
                 other{"mm Hg {0}"}\r
@@ -1781,7 +1781,7 @@ sw{
                 one{"Pa {0}"}\r
                 other{"Pa {0}"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"pauni kwa kila inchi mraba"}\r
                 one{"psi {0}"}\r
                 other{"psi {0}"}\r
index a777afd..ba750cf 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sw_KE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         duration{\r
             decade{\r
@@ -126,7 +126,7 @@ sw_KE{
                 one{"baa {0}"}\r
                 other{"baa {0}"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"inHg {0}"}\r
                 other{"inHg {0}"}\r
             }\r
index 8babb46..2d4f4f4 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ta{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ ta{
                 one{"{0} ஜி-ஃபோர்ஸ்"}\r
                 other{"{0} ஜி-ஃபோர்ஸ்"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"மீட்டர்/சதுரவிநாடி"}\r
                 one{"{0} மீட்டர்/சதுரவிநாடி"}\r
                 other{"{0} மீட்டர்கள்/சதுரவிநாடி"}\r
@@ -128,11 +128,6 @@ ta{
                 one{"{0} மோல்"}\r
                 other{"{0} மோல்ஸ்"}\r
             }\r
-            part-per-million{\r
-                dnam{"பகுதிகள்/மில்லியன்"}\r
-                one{"{0} பகுதி/மில்லியன்"}\r
-                other{"{0} பகுதிகள்/மில்லியன்"}\r
-            }\r
             percent{\r
                 dnam{"சதவீதம்"}\r
                 one{"{0} சதவீதம்"}\r
@@ -143,6 +138,11 @@ ta{
                 one{"மில்லி ஒன்றுக்கு {0}"}\r
                 other{"மில்லி ஒன்றுக்கு {0}"}\r
             }\r
+            permillion{\r
+                dnam{"பகுதிகள்/மில்லியன்"}\r
+                one{"{0} பகுதி/மில்லியன்"}\r
+                other{"{0} பகுதிகள்/மில்லியன்"}\r
+            }\r
             permyriad{\r
                 dnam{"பெர்மிரியட்"}\r
                 one{"{0} பெர்மிரியட்"}\r
@@ -150,7 +150,7 @@ ta{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"லிட்டர்/100கி.மீ"}\r
                 one{"{0} லிட்டர்/100கி.மீ"}\r
                 other{"{0} லிட்டர்/100கி.மீ"}\r
@@ -682,7 +682,7 @@ ta{
                 one{"{0} ஹெக்டோபாஸ்கல்"}\r
                 other{"{0} ஹெக்டோபாஸ்கல்"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"பாதரச அங்குலங்கள்"}\r
                 one{"{0} பாதரச அங்குலம்"}\r
                 other{"{0} பாதரச அங்குலங்கள்"}\r
@@ -702,7 +702,7 @@ ta{
                 one{"{0} மில்லிபார்"}\r
                 other{"{0} மில்லிபார்கள்"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"பாதரச மில்லிமீட்டர்கள்"}\r
                 one{"{0} பாதரச மில்லிமீட்டர்"}\r
                 other{"{0} பாதரச மில்லிமீட்டர்கள்"}\r
@@ -712,7 +712,7 @@ ta{
                 one{"{0} பாஸ்கல்"}\r
                 other{"{0} பாஸ்கல்கள்"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"பவுண்டுகள்/சதுர அங்குலம்"}\r
                 one{"{0} பவுண்டு/சதுர அங்குலம்"}\r
                 other{"{0} பவுண்டுகள்/சதுர அங்குலம்"}\r
@@ -768,7 +768,7 @@ ta{
                 one{"{0} நியூட்டன் மீட்டர்"}\r
                 other{"{0} நியூட்டன் மீட்டர்கள்"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"பவுண்ட்-அடி"}\r
                 one{"{0} பவுண்ட்-அடி"}\r
                 other{"{0} பவுண்ட்-அடி"}\r
@@ -970,7 +970,7 @@ ta{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"லி./100கி.மீ"}\r
                 one{"{0}லி./100கி.மீ"}\r
                 other{"{0}லி./100கி.மீ"}\r
@@ -1145,7 +1145,7 @@ ta{
                 one{"{0} ஹெ.பா."}\r
                 other{"{0} ஹெ.பா."}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"பா. அங்."}\r
                 one{"{0} பா.அங்."}\r
                 other{"{0} பா.அங்."}\r
@@ -1155,12 +1155,12 @@ ta{
                 one{"{0} மி.பா."}\r
                 other{"{0} மி.பா."}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"பாத. மி.மீ."}\r
                 one{"{0} பாத. மி.மீ."}\r
                 other{"{0} பாத. மி.மீ."}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -1228,7 +1228,7 @@ ta{
                 one{"{0} ஜி.ஃபோ."}\r
                 other{"{0} ஜி.ஃபோ."}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"மீ/வி²"}\r
                 one{"{0} மீ/வி²"}\r
                 other{"{0} மீ/வி²"}\r
@@ -1342,11 +1342,6 @@ ta{
                 one{"{0} மோல்"}\r
                 other{"{0} மோல்"}\r
             }\r
-            part-per-million{\r
-                dnam{"ப./மி."}\r
-                one{"{0} ப./மி."}\r
-                other{"{0} ப./மி."}\r
-            }\r
             percent{\r
                 dnam{"சதவீதம்"}\r
                 one{"{0}%"}\r
@@ -1357,12 +1352,17 @@ ta{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ப./மி."}\r
+                one{"{0} ப./மி."}\r
+                other{"{0} ப./மி."}\r
+            }\r
             permyriad{\r
                 dnam{"பெர்மிரியட்"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"லி./100கி.மீ"}\r
                 one{"{0} லி./100கி.மீ"}\r
                 other{"{0} லி./100கி.மீ"}\r
@@ -1882,7 +1882,7 @@ ta{
                 one{"{0} ஹெ.பாஸ்."}\r
                 other{"{0} ஹெ.பாஸ்."}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"பாத. அங்."}\r
                 one{"{0} பாத. அங்."}\r
                 other{"{0} பாத. அங்."}\r
@@ -1902,7 +1902,7 @@ ta{
                 one{"{0} மி.பா."}\r
                 other{"{0} மி.பா."}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"பாத. மி.மீ."}\r
                 one{"{0} பாத. மி.மீ."}\r
                 other{"{0} பாத. மி.மீ."}\r
@@ -1912,7 +1912,7 @@ ta{
                 one{"{0} பா."}\r
                 other{"{0} பா."}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -1968,7 +1968,7 @@ ta{
                 one{"{0} நியூ.மீ"}\r
                 other{"{0} நியூ.மீ"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"ப.அடி"}\r
                 one{"{0} ப.அடி"}\r
                 other{"{0} ப.அடி"}\r
index d706732..8e0a979 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 te{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ te{
                 one{"{0} గు-శక్తి"}\r
                 other{"{0} గు-శక్తి"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"మీటర్లు/స్క్వేర్ సెకన్లు"}\r
                 one{"{0} మీటరు/స్క్వేర్ సెకను"}\r
                 other{"{0} మీటర్లు/స్క్వేర్ సెకన్లు"}\r
@@ -128,11 +128,6 @@ te{
                 one{"{0} మోల్"}\r
                 other{"{0} మోల్‌లు"}\r
             }\r
-            part-per-million{\r
-                dnam{"భాగాలు/మిలియన్"}\r
-                one{"{0} భాగం/మిలియన్"}\r
-                other{"{0} భాగాలు/మిలియన్"}\r
-            }\r
             percent{\r
                 dnam{"శాతం"}\r
                 one{"{0} శాతం"}\r
@@ -143,6 +138,11 @@ te{
                 one{"{0}/మైలుకు"}\r
                 other{"{0}/మైలుకు"}\r
             }\r
+            permillion{\r
+                dnam{"భాగాలు/మిలియన్"}\r
+                one{"{0} భాగం/మిలియన్"}\r
+                other{"{0} భాగాలు/మిలియన్"}\r
+            }\r
             permyriad{\r
                 dnam{"పెర్మేరియాడ్"}\r
                 one{"{0} పెర్మేరియాడ్"}\r
@@ -150,7 +150,7 @@ te{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"లీటర్లు/100 కీలోమీటర్లు"}\r
                 one{"{0} లీటరు/100 కీలోమీటర్లు"}\r
                 other{"{0} లీటర్లు/100 కీలోమీటర్లు"}\r
@@ -677,7 +677,7 @@ te{
                 one{"{0} హెక్టోపాస్కల్"}\r
                 other{"{0} హెక్టోపాస్కల్‌లు"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"అంగుళాల పాదరసం"}\r
                 one{"{0} అంగుళం పాదరసం"}\r
                 other{"{0} అంగుళాల పాదరసం"}\r
@@ -697,7 +697,7 @@ te{
                 one{"{0} మిల్లీబార్"}\r
                 other{"{0} మిల్లీబార్‌లు"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"మిల్లీమీటర్ల పాదరసం"}\r
                 one{"{0} మిల్లీమీటర్ పాదరసం"}\r
                 other{"{0} మిల్లీమీటర్ల పాదరసం"}\r
@@ -707,7 +707,7 @@ te{
                 one{"{0} పాస్కల్"}\r
                 other{"{0} పాస్కల్‌లు"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"చదరపు అంగుళానికి పౌండ్లు"}\r
                 one{"చదరపు అంగుళానికి {0} పౌండు"}\r
                 other{"చదరపు అంగుళానికి {0} పౌండ్లు"}\r
@@ -763,7 +763,7 @@ te{
                 one{"{0} న్యూటన్-మీటరు"}\r
                 other{"{0} న్యూటన్-మీటర్లు"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"పౌండ్-ఫీట్"}\r
                 one{"{0} పౌండ్-ఫూట్"}\r
                 other{"{0} పౌండ్-ఫీట్"}\r
@@ -962,7 +962,7 @@ te{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"లీ/100కి.మీ."}\r
                 one{"{0}లీ/100కి.మీ."}\r
                 other{"{0}లీ/100కి.మీ."}\r
@@ -1137,7 +1137,7 @@ te{
                 one{"{0} హె.పా"}\r
                 other{"{0} హె.పా"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"అం.పాద"}\r
                 one{"{0} అం.పాద"}\r
                 other{"{0} అం.పాద"}\r
@@ -1147,12 +1147,12 @@ te{
                 one{"{0} మి.బార్"}\r
                 other{"{0} మి.బార్"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"మిమీ. పాద"}\r
                 one{"{0} మిమీ. పాద"}\r
                 other{"{0} మిమీ. పాద"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"పౌ/చ.అం"}\r
                 one{"{0} పౌ/చ.అం"}\r
                 other{"{0} పౌ/చ.అం"}\r
@@ -1220,7 +1220,7 @@ te{
                 one{"{0} గు"}\r
                 other{"{0} గు"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"మీటర్లు/సెక²"}\r
                 one{"{0} మీ/సె²"}\r
                 other{"{0} మీ/సె²"}\r
@@ -1335,11 +1335,6 @@ te{
                 one{"{0} mol"}\r
                 other{"{0} mol"}\r
             }\r
-            part-per-million{\r
-                dnam{"భాగాలు/మిలియన్"}\r
-                one{"{0} భా./మి."}\r
-                other{"{0} భా./మి."}\r
-            }\r
             percent{\r
                 dnam{"శాతం"}\r
                 one{"{0}%"}\r
@@ -1350,12 +1345,17 @@ te{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"భాగాలు/మిలియన్"}\r
+                one{"{0} భా./మి."}\r
+                other{"{0} భా./మి."}\r
+            }\r
             permyriad{\r
                 dnam{"పెర్మేరియాడ్"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"లీ/100 కి.మీ."}\r
                 one{"{0} లీ/100 కి.మీ."}\r
                 other{"{0} లీ/100 కి.మీ."}\r
@@ -1864,7 +1864,7 @@ te{
                 one{"{0} హె.పా"}\r
                 other{"{0} హె.పా"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"అం.పాద"}\r
                 one{"{0} అం.పాద"}\r
                 other{"{0} అం.పాద"}\r
@@ -1877,7 +1877,7 @@ te{
                 one{"{0} మి.బార్"}\r
                 other{"{0} మి.బార్"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"మిమీ. పాద"}\r
                 one{"{0} మిమీ. పాద"}\r
                 other{"{0} మిమీ. పాద"}\r
@@ -1887,7 +1887,7 @@ te{
                 one{"{0} పాస్క."}\r
                 other{"{0} పాస్క."}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"పౌ/చ.అం"}\r
                 one{"{0} పౌ/చ.అం"}\r
                 other{"{0} పౌ/చ.అం"}\r
@@ -1943,7 +1943,7 @@ te{
                 one{"{0} N⋅m"}\r
                 other{"{0} N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
             }\r
         }\r
index 41d4af0..7de19fb 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 teo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a238d17..031e48b 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 tg{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 483a567..7fe1604 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 th{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -13,7 +13,7 @@ th{
                 dnam{"แรง G"}\r
                 other{"{0} แรง G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"เมตรต่อวินาทีกำลังสอง"}\r
                 other{"{0} เมตรต่อวินาทีกำลังสอง"}\r
             }\r
@@ -107,10 +107,6 @@ th{
                 dnam{"โมล"}\r
                 other{"{0} โมล"}\r
             }\r
-            part-per-million{\r
-                dnam{"ส่วนต่อล้าน"}\r
-                other{"{0} ส่วนต่อล้าน"}\r
-            }\r
             percent{\r
                 dnam{"เปอร์เซ็นต์"}\r
                 other{"{0} เปอร์เซ็นต์"}\r
@@ -119,13 +115,17 @@ th{
                 dnam{"เปอร์มิลล์"}\r
                 other{"{0} เปอร์มิลล์"}\r
             }\r
+            permillion{\r
+                dnam{"ส่วนต่อล้าน"}\r
+                other{"{0} ส่วนต่อล้าน"}\r
+            }\r
             permyriad{\r
                 dnam{"เปอร์มีเรียด"}\r
                 other{"{0} เปอร์มีเรียด"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ลิตรต่อ100 กิโลเมตร"}\r
                 other{"{0} ลิตรต่อ100 กิโลเมตร"}\r
             }\r
@@ -552,7 +552,7 @@ th{
                 dnam{"เฮกโตปาสกาล"}\r
                 other{"{0} เฮกโตปาสกาล"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"นิ้วปรอท"}\r
                 other{"{0} นิ้วปรอท"}\r
             }\r
@@ -568,7 +568,7 @@ th{
                 dnam{"มิลลิบาร์"}\r
                 other{"{0} มิลลิบาร์"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"มิลลิเมตรปรอท"}\r
                 other{"{0} มิลลิเมตรปรอท"}\r
             }\r
@@ -576,7 +576,7 @@ th{
                 dnam{"ปาสกาล"}\r
                 other{"{0} ปาสกาล"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"ปอนด์ต่อตารางนิ้ว"}\r
                 other{"{0} ปอนด์ต่อตารางนิ้ว"}\r
             }\r
@@ -622,7 +622,7 @@ th{
                 dnam{"นิวตันเมตร"}\r
                 other{"{0} นิวตันเมตร"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"ปอนด์-ฟุต"}\r
                 other{"{0} ปอนด์-ฟุต"}\r
             }\r
@@ -780,7 +780,7 @@ th{
             per{"{0}/{1}"}\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ล. /100 กม."}\r
                 other{"{0} ล./100กม."}\r
             }\r
@@ -908,7 +908,7 @@ th{
                 dnam{"เฮกโตปาสกาล"}\r
                 other{"{0}hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 other{"{0}\u0022 Hg"}\r
             }\r
             millibar{\r
@@ -955,7 +955,7 @@ th{
                 dnam{"แรง G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"เมตร/วินาที²"}\r
                 other{"{0} ม./วิ²"}\r
             }\r
@@ -1049,22 +1049,22 @@ th{
                 dnam{"โมล"}\r
                 other{"{0} โมล"}\r
             }\r
-            part-per-million{\r
-                dnam{"ส่วน/ล้าน"}\r
-                other{"{0} สตล."}\r
-            }\r
             percent{\r
                 dnam{"เปอร์เซ็นต์"}\r
             }\r
             permille{\r
                 dnam{"เปอร์มิลล์"}\r
             }\r
+            permillion{\r
+                dnam{"ส่วน/ล้าน"}\r
+                other{"{0} สตล."}\r
+            }\r
             permyriad{\r
                 dnam{"เปอร์มีเรียด"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"ล./100 กม."}\r
                 other{"{0} ล./100กม."}\r
             }\r
@@ -1456,7 +1456,7 @@ th{
                 dnam{"เฮกโตปาสกาล"}\r
                 other{"{0} เฮกโตปาสกาล"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"นิ้วปรอท"}\r
                 other{"{0} นิ้วปรอท"}\r
             }\r
@@ -1464,11 +1464,11 @@ th{
                 dnam{"มิลลิบาร์"}\r
                 other{"{0} มิลลิบาร์"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"มม. ปรอท"}\r
                 other{"{0} มม. ปรอท"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"ปอนด์/ตร.นิ้ว"}\r
                 other{"{0} ปอนด์/ตร.นิ้ว"}\r
             }\r
diff --git a/source/data/unit/th_TH.txt b/source/data/unit/th_TH.txt
deleted file mode 100644 (file)
index 6ab242c..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-// © 2016 and later: Unicode, Inc. and others.\r
-// License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * generated alias target\r
- */\r
-th_TH{\r
-    ___{""}\r
-}\r
diff --git a/source/data/unit/th_TH_TRADITIONAL.txt b/source/data/unit/th_TH_TRADITIONAL.txt
deleted file mode 100644 (file)
index a07213d..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-// © 2016 and later: Unicode, Inc. and others.\r
-// License & terms of use: http://www.unicode.org/copyright.html#License\r
-th_TH_TRADITIONAL{\r
-    calendar{\r
-        default{"buddhist"}\r
-    }\r
-}\r
index 185379c..049a0b4 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ti{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index bf78641..e10d944 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 tk{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"hh:mm:ss"}\r
@@ -14,7 +14,7 @@ tk{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"inedördül sekuntda metr"}\r
                 one{"{0} metr/inedördül sekunt"}\r
                 other{"{0} metr/inedördül sekunt"}\r
@@ -128,11 +128,6 @@ tk{
                 one{"{0} mol"}\r
                 other{"{0} mol"}\r
             }\r
-            part-per-million{\r
-                dnam{"bölejik/million"}\r
-                one{"{0} bölejik/million"}\r
-                other{"{0} bölejik/million"}\r
-            }\r
             percent{\r
                 dnam{"göterim"}\r
                 one{"{0} göterim"}\r
@@ -143,6 +138,11 @@ tk{
                 one{"{0} promille"}\r
                 other{"{0} promille"}\r
             }\r
+            permillion{\r
+                dnam{"bölejik/million"}\r
+                one{"{0} bölejik/million"}\r
+                other{"{0} bölejik/million"}\r
+            }\r
             permyriad{\r
                 dnam{"permiriad"}\r
                 one{"{0} permiriad"}\r
@@ -150,7 +150,7 @@ tk{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litr/100 kilometr"}\r
                 one{"{0} litr/100 kilometr"}\r
                 other{"{0} litr/100 kilometr"}\r
@@ -409,10 +409,12 @@ tk{
         }\r
         graphics{\r
             dot-per-centimeter{\r
+                dnam{"santimetr başyna nokat"}\r
                 one{"{0} santimetr başyna nokat"}\r
                 other{"{0} santimetr başyna nokat"}\r
             }\r
             dot-per-inch{\r
+                dnam{"dýuým başyna nokat"}\r
                 one{"{0} dýuým başyna nokat"}\r
                 other{"{0} dýuým başyna nokat"}\r
             }\r
@@ -432,10 +434,12 @@ tk{
                 other{"{0} piksel"}\r
             }\r
             pixel-per-centimeter{\r
+                dnam{"santimetr başyna piksel"}\r
                 one{"{0} santimetr başyna piksel"}\r
                 other{"{0} santimetr başyna piksel"}\r
             }\r
             pixel-per-inch{\r
+                dnam{"dýuým başyna piksel"}\r
                 one{"{0} dýuým başyna piksel"}\r
                 other{"{0} dýuým başyna piksel"}\r
             }\r
@@ -673,7 +677,7 @@ tk{
                 one{"{0} gektopaskal"}\r
                 other{"{0} gektopaskal"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"dýuým simap sütüni"}\r
                 one{"{0} dýuým simap sütüni"}\r
                 other{"{0} dýuým simap sütüni"}\r
@@ -693,7 +697,7 @@ tk{
                 one{"{0} millibar"}\r
                 other{"{0} millibar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"millimetr simap sütüni"}\r
                 one{"{0} millimetr simap sütüni"}\r
                 other{"{0} millimetr simap sütüni"}\r
@@ -703,7 +707,7 @@ tk{
                 one{"{0} paskal"}\r
                 other{"{0} paskal"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"funt/inedördül dýuým"}\r
                 one{"{0} funt/inedördül dýuým"}\r
                 other{"{0} funt/inedördül dýuým"}\r
@@ -759,7 +763,7 @@ tk{
                 one{"{0} nýuton-metr"}\r
                 other{"{0} nýuton-metr"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"funt-futlar"}\r
                 one{"{0} funt-fut"}\r
                 other{"{0} funt-fut"}\r
@@ -916,7 +920,7 @@ tk{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100 km"}\r
@@ -1034,7 +1038,7 @@ tk{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1149,11 +1153,6 @@ tk{
                 one{"{0} mol"}\r
                 other{"{0} mol"}\r
             }\r
-            part-per-million{\r
-                dnam{"bölejik/million"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"göterim"}\r
                 one{"{0}%"}\r
@@ -1164,6 +1163,11 @@ tk{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"bölejik/million"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"permiriad"}\r
                 one{"{0}‱"}\r
@@ -1171,7 +1175,7 @@ tk{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100 km"}\r
@@ -1686,7 +1690,7 @@ tk{
                 one{"{0} gPa"}\r
                 other{"{0} gPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"dý sim.süt."}\r
                 one{"{0} dý sim.süt."}\r
                 other{"{0} dý sim.süt."}\r
@@ -1706,12 +1710,12 @@ tk{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm sim.süt."}\r
                 one{"{0} mm sim.süt."}\r
                 other{"{0} mm sim.süt."}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -1767,7 +1771,7 @@ tk{
                 one{"{0} N⋅m"}\r
                 other{"{0} N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
                 one{"{0} lbf⋅ft"}\r
                 other{"{0} lbf⋅ft"}\r
index 2680a5b..4780d4e 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 to{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -13,7 +13,7 @@ to{
                 dnam{"k-mālohi"}\r
                 other{"k-mālohi ʻe {0}"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"mita he sekoni sikuea"}\r
                 other{"mita he sekoni sikuea ʻe {0}"}\r
             }\r
@@ -107,10 +107,6 @@ to{
                 dnam{"molo"}\r
                 other{"molo ʻe {0}"}\r
             }\r
-            part-per-million{\r
-                dnam{"konga he miliona"}\r
-                other{"konga ʻe {0} he miliona"}\r
-            }\r
             percent{\r
                 dnam{"peseti"}\r
                 other{"peseti ʻe {0}"}\r
@@ -119,13 +115,17 @@ to{
                 dnam{"pemili"}\r
                 other{"pemili ʻe {0}"}\r
             }\r
+            permillion{\r
+                dnam{"konga he miliona"}\r
+                other{"konga ʻe {0} he miliona"}\r
+            }\r
             permyriad{\r
                 dnam{"pemano"}\r
                 other{"pemano ʻe {0}"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"lita he kilomita ʻe 100"}\r
                 other{"lita ʻe {0} he kilomita ʻe 100"}\r
             }\r
@@ -568,7 +568,7 @@ to{
                 dnam{"hēkitopasikale"}\r
                 other{"hēkitopasikale ʻe {0}"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"ʻinisi meakuli"}\r
                 other{"ʻinisi meakuli ʻe {0}"}\r
             }\r
@@ -584,7 +584,7 @@ to{
                 dnam{"milipā"}\r
                 other{"milipā ʻe {0}"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milimita meakuli"}\r
                 other{"milimita meakuli ʻe {0}"}\r
             }\r
@@ -592,7 +592,7 @@ to{
                 dnam{"pasikale"}\r
                 other{"pasikale ʻe {0}"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"pāuni he ʻinisi sikuea"}\r
                 other{"pāuni he ʻinisi sikuea ʻe {0}"}\r
             }\r
@@ -638,7 +638,7 @@ to{
                 dnam{"Niutonimita"}\r
                 other{"Niutonimita ʻe {0}"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"pāunifute"}\r
                 other{"pāunifute ʻe {0}"}\r
             }\r
@@ -765,7 +765,7 @@ to{
                 dnam{"k-mā"}\r
                 other{"{0} k-mā"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 other{"{0} m/s²"}\r
             }\r
@@ -844,7 +844,7 @@ to{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100km"}\r
                 other{"{0} l/100km"}\r
             }\r
@@ -1172,7 +1172,7 @@ to{
                 dnam{"hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"in-Hg"}\r
                 other{"{0} in-Hg"}\r
             }\r
@@ -1180,11 +1180,11 @@ to{
                 dnam{"mpā"}\r
                 other{"{0} mpā"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm-Hg"}\r
                 other{"{0} mm-Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"pā/in²"}\r
                 other{"{0} pā/in²"}\r
             }\r
@@ -1314,7 +1314,7 @@ to{
                 dnam{"k-mā"}\r
                 other{"k-mā ʻe {0}"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 other{"m/s² ʻe {0}"}\r
             }\r
@@ -1408,10 +1408,6 @@ to{
                 dnam{"mol"}\r
                 other{"mol ʻe {0}"}\r
             }\r
-            part-per-million{\r
-                dnam{"khm"}\r
-                other{"khm ʻe {0}"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 other{"% ʻe {0}"}\r
@@ -1420,12 +1416,16 @@ to{
                 dnam{"‰"}\r
                 other{"‰ ʻe {0}"}\r
             }\r
+            permillion{\r
+                dnam{"khm"}\r
+                other{"khm ʻe {0}"}\r
+            }\r
             permyriad{\r
                 other{"‱ ʻe {0}"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100km"}\r
                 other{"l ʻe {0}/100km"}\r
             }\r
@@ -1866,7 +1866,7 @@ to{
                 dnam{"hPa"}\r
                 other{"hPa ʻe {0}"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"in-Hg"}\r
                 other{"in-Hg ʻe {0}"}\r
             }\r
@@ -1880,14 +1880,14 @@ to{
                 dnam{"mpā"}\r
                 other{"mpā ʻe {0}"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm-Hg"}\r
                 other{"mm-Hg ʻe {0}"}\r
             }\r
             pascal{\r
                 other{"Pā ʻe {0}"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"pā/in²"}\r
                 other{"pā/in² ʻe {0}"}\r
             }\r
@@ -1932,7 +1932,7 @@ to{
             newton-meter{\r
                 other{"N⋅m ʻe {0}"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"pā⋅ft"}\r
                 other{"pā⋅ft ʻe {0}"}\r
             }\r
index 44b2eca..392108a 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 tr{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ tr{
                 one{"{0} g kuvveti"}\r
                 other{"{0} g kuvveti"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metre/saniye²"}\r
                 one{"{0} metre/saniye²"}\r
                 other{"{0} metre/saniye²"}\r
@@ -123,11 +123,6 @@ tr{
                 one{"{0} milimol/litre"}\r
                 other{"{0} milimol/litre"}\r
             }\r
-            part-per-million{\r
-                dnam{"parça/milyon"}\r
-                one{"{0} parça/milyon"}\r
-                other{"{0} parça/milyon"}\r
-            }\r
             percent{\r
                 dnam{"yüzde"}\r
                 one{"yüzde {0}"}\r
@@ -138,6 +133,11 @@ tr{
                 one{"binde {0}"}\r
                 other{"binde {0}"}\r
             }\r
+            permillion{\r
+                dnam{"parça/milyon"}\r
+                one{"{0} parça/milyon"}\r
+                other{"{0} parça/milyon"}\r
+            }\r
             permyriad{\r
                 dnam{"onbinde"}\r
                 one{"onbinde {0}"}\r
@@ -145,7 +145,7 @@ tr{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litre/100 kilometre"}\r
                 one{"{0} litre/100 kilometre"}\r
                 other{"{0} litre/100 kilometre"}\r
@@ -680,7 +680,7 @@ tr{
                 one{"{0} hektopaskal"}\r
                 other{"{0} hektopaskal"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inç cıva"}\r
                 one{"{0} inç cıva"}\r
                 other{"{0} inç cıva"}\r
@@ -700,7 +700,7 @@ tr{
                 one{"{0} milibar"}\r
                 other{"{0} milibar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milimetre cıva"}\r
                 one{"{0} milimetre cıva"}\r
                 other{"{0} milimetre cıva"}\r
@@ -710,7 +710,7 @@ tr{
                 one{"{0} paskal"}\r
                 other{"{0} paskal"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"libre/inç kare"}\r
                 one{"{0} libre/inç kare"}\r
                 other{"{0} libre/inç kare"}\r
@@ -766,7 +766,7 @@ tr{
                 one{"{0} newton metre"}\r
                 other{"{0} newton metre"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"pound fit"}\r
                 one{"{0} pound fit"}\r
                 other{"{0} pound fit"}\r
@@ -922,7 +922,7 @@ tr{
                 one{"{0}G"}\r
                 other{"{0}G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/sn²"}\r
                 one{"{0} m/sn²"}\r
                 other{"{0} m/sn²"}\r
@@ -1020,11 +1020,6 @@ tr{
                 one{"{0} mmol/L"}\r
                 other{"{0} mmol/L"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 one{"%{0}"}\r
@@ -1035,9 +1030,14 @@ tr{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100km"}\r
                 one{"{0} l/100km"}\r
                 other{"{0} l/100km"}\r
@@ -1446,7 +1446,7 @@ tr{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0}\u0022 Hg"}\r
                 other{"{0}\u0022 Hg"}\r
@@ -1456,12 +1456,12 @@ tr{
                 one{"{0} mb"}\r
                 other{"{0} mb"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"lb/in²"}\r
                 one{"{0} lb/in²"}\r
                 other{"{0} lb/in²"}\r
@@ -1612,7 +1612,7 @@ tr{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/sn²"}\r
                 one{"{0} m/sn²"}\r
                 other{"{0} m/sn²"}\r
@@ -1721,11 +1721,6 @@ tr{
                 one{"{0} mmol/l"}\r
                 other{"{0} mmol/l"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 one{"%{0}"}\r
@@ -1736,6 +1731,11 @@ tr{
                 one{"‰{0}"}\r
                 other{"‰{0}"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"onbinde"}\r
                 one{"‱{0}"}\r
@@ -1743,7 +1743,7 @@ tr{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"l/100 km"}\r
                 one{"{0} l/100 km"}\r
                 other{"{0} l/100 km"}\r
@@ -2249,7 +2249,7 @@ tr{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -2269,12 +2269,12 @@ tr{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"lb/in²"}\r
                 one{"{0} lb/in²"}\r
                 other{"{0} lb/in²"}\r
@@ -2330,7 +2330,7 @@ tr{
                 one{"{0} N⋅m"}\r
                 other{"{0} N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
                 one{"{0} lbf⋅ft"}\r
                 other{"{0} lbf⋅ft"}\r
index 38ed7d3..a42ae7b 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 tt{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index c8ddd55..d423f8a 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 twq{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d6b71cd..b885c4e 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 tzm{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e3dc3ba..f48d24f 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ug{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         acceleration{\r
             g-force{\r
@@ -157,7 +157,7 @@ ug{
                 one{"{0} يۈز پاسكال"}\r
                 other{"{0} يۈز پاسكال"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} ديۇيم سىماب تۈۋرۇكى"}\r
                 other{"{0} ديۇيم سىماب تۈۋرۇكى"}\r
             }\r
@@ -349,7 +349,7 @@ ug{
                 one{"{0}hPa"}\r
                 other{"{0}hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0}\u0022 Hg"}\r
                 other{"{0}\u0022 Hg"}\r
             }\r
@@ -552,7 +552,7 @@ ug{
                 one{"{0} ھېكتوپاسكال"}\r
                 other{"{0} ھېكتوپاسكال"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
             }\r
index 7ddd486..6d6183f 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 uk{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -16,7 +16,7 @@ uk{
                 one{"{0} сила тяжіння"}\r
                 other{"{0} сили тяжіння"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"метри на секунду в квадраті"}\r
                 few{"{0} метри на секунду в квадраті"}\r
                 many{"{0} метрів на секунду в квадраті"}\r
@@ -170,13 +170,6 @@ uk{
                 one{"{0} моль"}\r
                 other{"{0} моля"}\r
             }\r
-            part-per-million{\r
-                dnam{"мільйонні долі"}\r
-                few{"{0} мільйонні долі"}\r
-                many{"{0} мільйонних доль"}\r
-                one{"{0} мільйонна доля"}\r
-                other{"{0} мільйонної долі"}\r
-            }\r
             percent{\r
                 dnam{"відсоток"}\r
                 few{"{0} відсотки"}\r
@@ -191,6 +184,13 @@ uk{
                 one{"{0} проміле"}\r
                 other{"{0} проміле"}\r
             }\r
+            permillion{\r
+                dnam{"мільйонні долі"}\r
+                few{"{0} мільйонні долі"}\r
+                many{"{0} мільйонних доль"}\r
+                one{"{0} мільйонна доля"}\r
+                other{"{0} мільйонної долі"}\r
+            }\r
             permyriad{\r
                 dnam{"проміріада"}\r
                 few{"{0} проміріади"}\r
@@ -200,7 +200,7 @@ uk{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"літри на 100 кілометрів"}\r
                 few{"{0} літри на 100 кілометрів"}\r
                 many{"{0} літрів на 100 кілометрів"}\r
@@ -331,6 +331,13 @@ uk{
                 other{"{0} дня"}\r
                 per{"{0} на день"}\r
             }\r
+            decade{\r
+                dnam{"декади"}\r
+                few{"{0} декади"}\r
+                many{"{0} декад"}\r
+                one{"{0} декада"}\r
+                other{"{0} декади"}\r
+            }\r
             hour{\r
                 dnam{"години"}\r
                 few{"{0} години"}\r
@@ -489,6 +496,7 @@ uk{
                 other{"{0} кіловат-години"}\r
             }\r
             therm-us{\r
+                dnam{"американський терм"}\r
                 few{"{0} американських терми"}\r
                 many{"{0} американських термів"}\r
                 one{"{0} американський терм"}\r
@@ -876,7 +884,7 @@ uk{
                 one{"{0} гектопаскаль"}\r
                 other{"{0} гектопаскаля"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"дюйми ртутного стовпа"}\r
                 few{"{0} дюйми ртутного стовпа"}\r
                 many{"{0} дюймів ртутного стовпа"}\r
@@ -904,7 +912,7 @@ uk{
                 one{"{0} мілібар"}\r
                 other{"{0} мілібара"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"міліметри ртутного стовпа"}\r
                 few{"{0} міліметри ртутного стовпа"}\r
                 many{"{0} міліметрів ртутного стовпа"}\r
@@ -918,7 +926,7 @@ uk{
                 one{"{0} паскаль"}\r
                 other{"{0} паскаля"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"фунти на квадратний дюйм"}\r
                 few{"{0} фунти на квадратний дюйм"}\r
                 many{"{0} фунтів на квадратний дюйм"}\r
@@ -994,7 +1002,7 @@ uk{
                 one{"{0} ньютон-метр"}\r
                 other{"{0} ньютон-метра"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"фунт-фути"}\r
                 few{"{0} фунт-фути"}\r
                 many{"{0} фунт-футів"}\r
@@ -1208,7 +1216,7 @@ uk{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"м/с²"}\r
                 few{"{0}м/с²"}\r
                 many{"{0}м/с²"}\r
@@ -1303,7 +1311,7 @@ uk{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"л/100 км"}\r
                 few{"{0} л/100 км"}\r
                 many{"{0} л/100 км"}\r
@@ -1685,14 +1693,14 @@ uk{
                 one{"{0} мбар"}\r
                 other{"{0} мбара"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"ммрс"}\r
                 few{"{0}ммрс"}\r
                 many{"{0}ммрс"}\r
                 one{"{0}ммрс"}\r
                 other{"{0}ммрс"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 few{"{0}psi"}\r
                 many{"{0}psi"}\r
                 one{"{0}psi"}\r
@@ -1731,6 +1739,7 @@ uk{
         }\r
         temperature{\r
             celsius{\r
+                dnam{"° Цельсія"}\r
                 few{"{0}°C"}\r
                 many{"{0}°C"}\r
                 one{"{0}°C"}\r
@@ -1763,7 +1772,7 @@ uk{
                 one{"{0}Н·м"}\r
                 other{"{0}Н·м"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 few{"{0}фн-фт"}\r
                 many{"{0}фн-фт"}\r
                 one{"{0}фн-фт"}\r
@@ -1817,8 +1826,12 @@ uk{
         acceleration{\r
             g-force{\r
                 dnam{"сили тяжіння"}\r
+                few{"{0} g"}\r
+                many{"{0} g"}\r
+                one{"{0} g"}\r
+                other{"{0} g"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"метри/с²"}\r
                 few{"{0} м/с²"}\r
                 many{"{0} м/с²"}\r
@@ -1973,13 +1986,6 @@ uk{
                 one{"{0} моль"}\r
                 other{"{0} моль"}\r
             }\r
-            part-per-million{\r
-                dnam{"мільйонні долі"}\r
-                few{"{0} ppm"}\r
-                many{"{0} ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"відсоток"}\r
                 few{"{0}%"}\r
@@ -1994,12 +2000,19 @@ uk{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"мільйонні долі"}\r
+                few{"{0} ppm"}\r
+                many{"{0} ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"проміріада"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"л/100 км"}\r
                 few{"{0} л/100 км"}\r
                 many{"{0} л/100 км"}\r
@@ -2130,6 +2143,13 @@ uk{
                 other{"{0} дн."}\r
                 per{"{0}/дн."}\r
             }\r
+            decade{\r
+                dnam{"10-річчя"}\r
+                few{"{0} 10-річчя"}\r
+                many{"{0} 10-річ"}\r
+                one{"{0} 10-річчя"}\r
+                other{"{0} 10-річчя"}\r
+            }\r
             hour{\r
                 dnam{"год"}\r
                 few{"{0} год"}\r
@@ -2287,6 +2307,13 @@ uk{
                 one{"{0} кВт год"}\r
                 other{"{0} кВт год"}\r
             }\r
+            therm-us{\r
+                dnam{"ам. терми"}\r
+                few{"{0} ам. терми"}\r
+                many{"{0} ам. термів"}\r
+                one{"{0} ам. терм"}\r
+                other{"{0} ам. терма"}\r
+            }\r
         }\r
         force{\r
             newton{\r
@@ -2335,6 +2362,27 @@ uk{
             }\r
         }\r
         graphics{\r
+            dot-per-centimeter{\r
+                dnam{"dpcm"}\r
+                few{"{0} dpcm"}\r
+                many{"{0} dpcm"}\r
+                one{"{0} dpcm"}\r
+                other{"{0} dpcm"}\r
+            }\r
+            dot-per-inch{\r
+                dnam{"dpi"}\r
+                few{"{0} dpi"}\r
+                many{"{0} dpi"}\r
+                one{"{0} dpi"}\r
+                other{"{0} dpi"}\r
+            }\r
+            em{\r
+                dnam{"em"}\r
+                few{"{0} em"}\r
+                many{"{0} em"}\r
+                one{"{0} em"}\r
+                other{"{0} em"}\r
+            }\r
             megapixel{\r
                 dnam{"Мп"}\r
                 few{"{0} Мп"}\r
@@ -2342,6 +2390,27 @@ uk{
                 one{"{0} Мп"}\r
                 other{"{0} Мп"}\r
             }\r
+            pixel{\r
+                dnam{"px"}\r
+                few{"{0} px"}\r
+                many{"{0} px"}\r
+                one{"{0} px"}\r
+                other{"{0} px"}\r
+            }\r
+            pixel-per-centimeter{\r
+                dnam{"ppcm"}\r
+                few{"{0} ppcm"}\r
+                many{"{0} ppcm"}\r
+                one{"{0} ppcm"}\r
+                other{"{0} ppcm"}\r
+            }\r
+            pixel-per-inch{\r
+                dnam{"ppi"}\r
+                few{"{0} ppi"}\r
+                many{"{0} ppi"}\r
+                one{"{0} ppi"}\r
+                other{"{0} ppi"}\r
+            }\r
         }\r
         length{\r
             astronomical-unit{\r
@@ -2633,6 +2702,7 @@ uk{
                 other{"{0} атм"}\r
             }\r
             bar{\r
+                dnam{"бар"}\r
                 few{"{0} бар"}\r
                 many{"{0} бар"}\r
                 one{"{0} бар"}\r
@@ -2645,7 +2715,7 @@ uk{
                 one{"{0} гПа"}\r
                 other{"{0} гПа"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"дюйми рт. ст."}\r
                 few{"{0} дюйми рт. ст."}\r
                 many{"{0} дюймів рт. ст."}\r
@@ -2673,7 +2743,7 @@ uk{
                 one{"{0} мбар"}\r
                 other{"{0} мбара"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"мм рт. ст."}\r
                 few{"{0} мм рт. ст."}\r
                 many{"{0} мм рт. ст."}\r
@@ -2687,7 +2757,7 @@ uk{
                 one{"{0} Па"}\r
                 other{"{0} Па"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"фунт/дюйм²"}\r
                 few{"{0} фунти/дюйм²"}\r
                 many{"{0} фунтів/дюйм²"}\r
@@ -2763,7 +2833,7 @@ uk{
                 one{"{0} Н·м"}\r
                 other{"{0} Н·м"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"фунт-фут"}\r
                 few{"{0} фнт-фт"}\r
                 many{"{0} фнт-фт"}\r
index 1c1a914..61cfc9f 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ur{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ ur{
                 one{"{0} جی-فورس"}\r
                 other{"{0} جی-فورس"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"میٹر فی مربع سیکنڈ"}\r
                 one{"{0} میٹر فی مربع سیکنڈ"}\r
                 other{"{0} میٹر فی مربع سیکنڈ"}\r
@@ -128,11 +128,6 @@ ur{
                 one{"{0} مول"}\r
                 other{"{0} مولز"}\r
             }\r
-            part-per-million{\r
-                dnam{"فی ملین حصے"}\r
-                one{"{0} فی ملین حصے"}\r
-                other{"{0} فی ملین حصے"}\r
-            }\r
             percent{\r
                 dnam{"فیصد"}\r
                 one{"{0} فیصد"}\r
@@ -143,6 +138,11 @@ ur{
                 one{"{0} فی ہزار"}\r
                 other{"{0} فی ہزار"}\r
             }\r
+            permillion{\r
+                dnam{"فی ملین حصے"}\r
+                one{"{0} فی ملین حصے"}\r
+                other{"{0} فی ملین حصے"}\r
+            }\r
             permyriad{\r
                 dnam{"پرمرئیڈ"}\r
                 one{"{0} پرمرئیڈ"}\r
@@ -150,7 +150,7 @@ ur{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"لیٹر فی 100 کلو میٹر"}\r
                 one{"{0} لیٹر فی 100 کلو میٹر"}\r
                 other{"{0} لیٹر فی 100 کلو میٹر"}\r
@@ -682,7 +682,7 @@ ur{
                 one{"{0} ہیکٹو پاسکل"}\r
                 other{"{0} ہیکٹو پاسکل"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"انچ مرکری"}\r
                 one{"{0} انچ مرکری"}\r
                 other{"{0} انچ مرکری"}\r
@@ -702,7 +702,7 @@ ur{
                 one{"{0} ملی بار"}\r
                 other{"{0} ملی بار"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"ملی میٹر مرکری"}\r
                 one{"{0} ملی میٹر مرکری"}\r
                 other{"{0} ملی میٹر مرکری"}\r
@@ -712,7 +712,7 @@ ur{
                 one{"{0} پاسکل"}\r
                 other{"{0} پاسکل"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"پاؤنڈز فی مربع انچ"}\r
                 one{"{0} پاؤنڈ فی مربع انچ"}\r
                 other{"{0} پاؤنڈز فی مربع انچ"}\r
@@ -768,7 +768,7 @@ ur{
                 one{"{0} نیوٹن میٹر"}\r
                 other{"{0} نیوٹن میٹر"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"پاؤنڈ فٹ"}\r
                 one{"{0} پاؤنڈ فٹ"}\r
                 other{"{0} پاؤنڈ فٹ"}\r
@@ -970,7 +970,7 @@ ur{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"لیٹر/100 کلو میٹر"}\r
                 one{"{0}L/100km"}\r
                 other{"{0}L/100km"}\r
@@ -1138,7 +1138,7 @@ ur{
                 one{"{0}hPa"}\r
                 other{"{0}hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"″ Hg"}\r
                 one{"{0} انچ مرکری"}\r
                 other{"{0} انچ مرکری"}\r
@@ -1148,12 +1148,12 @@ ur{
                 one{"{0}mb"}\r
                 other{"{0}mb"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -1222,7 +1222,7 @@ ur{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1336,11 +1336,6 @@ ur{
                 one{"{0} مول"}\r
                 other{"{0} مول"}\r
             }\r
-            part-per-million{\r
-                dnam{"حصے/ملین"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"فیصد"}\r
                 one{"{0}%"}\r
@@ -1351,12 +1346,17 @@ ur{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"حصے/ملین"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"پرمرئیڈ"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"لیٹر/100 کلو میٹر"}\r
                 one{"{0} L/100km"}\r
                 other{"{0} L/100km"}\r
@@ -1847,7 +1847,7 @@ ur{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1867,12 +1867,12 @@ ur{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
index 240dca4..5695b93 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ur_IN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         length{\r
             astronomical-unit{\r
index 75ef4e3..00cc3b6 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 uz{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ uz{
                 one{"{0} grav. kuchi"}\r
                 other{"{0} grav. kuchi"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metr/soniya kvadrat"}\r
                 one{"{0} metr/soniya kvadrat"}\r
                 other{"{0} metr/soniya kvadrat"}\r
@@ -118,11 +118,6 @@ uz{
                 one{"{0} millimol/litr"}\r
                 other{"{0} millimol/litr"}\r
             }\r
-            part-per-million{\r
-                dnam{"millionning ulushi"}\r
-                one{"milliondan {0}"}\r
-                other{"milliondan {0}"}\r
-            }\r
             percent{\r
                 dnam{"foiz"}\r
                 one{"{0} foiz"}\r
@@ -133,6 +128,11 @@ uz{
                 one{"{0} promille"}\r
                 other{"{0} promille"}\r
             }\r
+            permillion{\r
+                dnam{"millionning ulushi"}\r
+                one{"milliondan {0}"}\r
+                other{"milliondan {0}"}\r
+            }\r
             permyriad{\r
                 dnam{"promiriada"}\r
                 one{"{0} promiriada"}\r
@@ -140,7 +140,7 @@ uz{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"litr/100 km"}\r
                 one{"{0} litr/100 km"}\r
                 other{"{0} litr/100 km"}\r
@@ -660,7 +660,7 @@ uz{
                 one{"{0} gektopaskal"}\r
                 other{"{0} gektopaskal"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"duym simob ustuni"}\r
                 one{"{0} duym simob ustuni"}\r
                 other{"{0} duym simob ustuni"}\r
@@ -680,7 +680,7 @@ uz{
                 one{"{0} millibar"}\r
                 other{"{0} millibar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm simob ustuni"}\r
                 one{"{0} mm simob ustuni"}\r
                 other{"{0} mm simob ustuni"}\r
@@ -690,7 +690,7 @@ uz{
                 one{"{0} paskal"}\r
                 other{"{0} paskal"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"funt/kvadrat duym"}\r
                 one{"{0} funt/kvadrat duym"}\r
                 other{"{0} funt/kvadrat duym"}\r
@@ -746,7 +746,7 @@ uz{
                 one{"{0} nyuton-metr"}\r
                 other{"{0} nyuton-metr"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"funt-fut"}\r
                 one{"{0} funt-fut"}\r
                 other{"{0} funt-fut"}\r
@@ -948,7 +948,7 @@ uz{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100 km"}\r
                 one{"{0}L/100km"}\r
                 other{"{0}L/100km"}\r
@@ -1088,7 +1088,7 @@ uz{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
             }\r
@@ -1146,7 +1146,7 @@ uz{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"metr/soniya²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1261,11 +1261,6 @@ uz{
                 one{"{0} mol"}\r
                 other{"{0} mol"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"foiz"}\r
                 one{"{0}%"}\r
@@ -1276,6 +1271,11 @@ uz{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
             permyriad{\r
                 dnam{"promiriada"}\r
                 one{"{0}‱"}\r
@@ -1283,7 +1283,7 @@ uz{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100 km"}\r
                 one{"{0} L/100 km"}\r
                 other{"{0} L/100 km"}\r
@@ -1810,7 +1810,7 @@ uz{
                 one{"{0} gPa"}\r
                 other{"{0} gPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"dy sim.ust"}\r
                 one{"{0} dy sim.ust"}\r
                 other{"{0} dy sim.ust"}\r
@@ -1830,7 +1830,7 @@ uz{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm sim.ust"}\r
                 one{"{0} mm sim.ust"}\r
                 other{"{0} mm sim.ust"}\r
@@ -1840,7 +1840,7 @@ uz{
                 one{"{0} Pa"}\r
                 other{"{0} Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"funt/kv.dy"}\r
                 one{"{0} funt/kv.dy"}\r
                 other{"{0} funt/kv.dy"}\r
@@ -1896,7 +1896,7 @@ uz{
                 one{"{0} N⋅m"}\r
                 other{"{0} N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"funt-fut"}\r
                 one{"{0} funt-fut"}\r
                 other{"{0} funt-fut"}\r
index d26bcf2..2416358 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 uz_Arab{\r
     %%Parent{"root"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 375f8c5..7fe2443 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 uz_Cyrl{\r
     %%Parent{"root"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -171,7 +171,7 @@ uz_Cyrl{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
             }\r
@@ -382,7 +382,7 @@ uz_Cyrl{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
             }\r
@@ -593,7 +593,7 @@ uz_Cyrl{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
             }\r
index fab5249..e0f4ba8 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 uz_Latn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 02a4617..8f702b9 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 vai{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b60dd85..9380c57 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 vai_Latn{\r
     %%Parent{"root"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8aaf4a5..f361880 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 vai_Vaii{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 89f67a9..f1b133d 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 vi{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -97,7 +97,7 @@ vi{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"lít/100km"}\r
                 other{"{0} l/100km"}\r
             }\r
@@ -485,7 +485,7 @@ vi{
                 dnam{"héctô pascal"}\r
                 other{"{0} héctô pascal"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inch thủy ngân"}\r
                 other{"{0} inch thủy ngân"}\r
             }\r
@@ -493,11 +493,11 @@ vi{
                 dnam{"millibar"}\r
                 other{"{0} millibar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"milimét thủy ngân"}\r
                 other{"{0} milimét thủy ngân"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"pound/inch vuông"}\r
                 other{"{0} pound/inch vuông"}\r
             }\r
@@ -539,7 +539,7 @@ vi{
                 dnam{"newton-mét"}\r
                 other{"{0} newton-mét"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"pound-feet"}\r
                 other{"{0} pound-feet"}\r
             }\r
@@ -671,7 +671,7 @@ vi{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 other{"{0}L/100km"}\r
             }\r
@@ -784,7 +784,7 @@ vi{
             hectopascal{\r
                 other{"{0}hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 other{"{0}\u0022 Hg"}\r
             }\r
             millibar{\r
@@ -1147,17 +1147,17 @@ vi{
             hectopascal{\r
                 dnam{"hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
             }\r
             millibar{\r
                 dnam{"mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
             }\r
         }\r
@@ -1176,7 +1176,7 @@ vi{
                 dnam{"N⋅m"}\r
                 other{"{0} N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
                 other{"{0} lbf⋅ft"}\r
             }\r
index c18f6b7..7544d57 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 vun{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 661f799..2ee20fb 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 wae{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         duration{\r
             day{\r
index 70ee0b0..3b82243 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 wo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 122d4a6..700edff 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 xh{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index badd4e4..d39be53 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 xog{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 54b473d..70d99ca 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 yav{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4744c55..46c766d 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 yi{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 181fd8f..b48826c 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 yo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
index 1d5e75c..6725e3f 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 yo_BJ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         duration{\r
             century{\r
index c9ba847..21521d8 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 yue{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -13,7 +13,7 @@ yue{
                 dnam{"G 力"}\r
                 other{"{0} G 力"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"米/平方秒"}\r
                 other{"每平方秒 {0} 米"}\r
             }\r
@@ -107,10 +107,6 @@ yue{
                 dnam{"摩爾"}\r
                 other{"{0} 摩爾"}\r
             }\r
-            part-per-million{\r
-                dnam{"百萬分率"}\r
-                other{"{0} 百萬分率"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 other{"{0}%"}\r
@@ -119,13 +115,17 @@ yue{
                 dnam{"‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"百萬分率"}\r
+                other{"{0} 百萬分率"}\r
+            }\r
             permyriad{\r
                 dnam{"點子"}\r
                 other{"{0} 點子"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"公升/100 公里"}\r
                 other{"{0} 公升/100 公里"}\r
             }\r
@@ -568,7 +568,7 @@ yue{
                 dnam{"百帕"}\r
                 other{"{0} 百帕"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"英吋汞柱"}\r
                 other{"{0} 英吋汞柱"}\r
             }\r
@@ -584,7 +584,7 @@ yue{
                 dnam{"毫巴"}\r
                 other{"{0} 毫巴"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"毫米汞柱"}\r
                 other{"{0} 毫米汞柱"}\r
             }\r
@@ -592,7 +592,7 @@ yue{
                 dnam{"帕斯卡"}\r
                 other{"{0} 帕斯卡"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"磅力/平方英吋"}\r
                 other{"每平方吋 {0} 磅"}\r
             }\r
@@ -638,7 +638,7 @@ yue{
                 dnam{"牛頓米"}\r
                 other{"{0} 牛頓米"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"尺磅"}\r
                 other{"{0} 尺磅"}\r
             }\r
@@ -764,7 +764,7 @@ yue{
             g-force{\r
                 other{"{0}G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 other{"{0}m/s²"}\r
             }\r
         }\r
@@ -824,7 +824,7 @@ yue{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"公升/100 公里"}\r
                 other{"{0}L/100km"}\r
             }\r
@@ -1091,16 +1091,16 @@ yue{
             hectopascal{\r
                 other{"{0}百帕"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 other{"{0}″ Hg"}\r
             }\r
             millibar{\r
                 other{"{0}毫巴"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 other{"{0}mmHg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 other{"{0}psi"}\r
             }\r
         }\r
@@ -1206,7 +1206,7 @@ yue{
                 dnam{"G 力"}\r
                 other{"{0} G 力"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"米/平方秒"}\r
                 other{"每平方秒{0}米"}\r
             }\r
@@ -1300,10 +1300,6 @@ yue{
                 dnam{"摩爾"}\r
                 other{"{0} 摩爾"}\r
             }\r
-            part-per-million{\r
-                dnam{"百萬分率"}\r
-                other{"{0} 百萬分率"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 other{"{0}%"}\r
@@ -1312,13 +1308,17 @@ yue{
                 dnam{"‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"百萬分率"}\r
+                other{"{0} 百萬分率"}\r
+            }\r
             permyriad{\r
                 dnam{"點子"}\r
                 other{"{0} 點子"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"公升/100 公里"}\r
                 other{"{0} 公升/100 公里"}\r
             }\r
@@ -1761,7 +1761,7 @@ yue{
                 dnam{"百帕"}\r
                 other{"{0} 百帕"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"英吋汞柱"}\r
                 other{"{0} 英吋汞柱"}\r
             }\r
@@ -1777,7 +1777,7 @@ yue{
                 dnam{"毫巴"}\r
                 other{"{0} 毫巴"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"毫米汞柱"}\r
                 other{"{0} 毫米汞柱"}\r
             }\r
@@ -1785,7 +1785,7 @@ yue{
                 dnam{"帕斯卡"}\r
                 other{"{0} 帕斯卡"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"磅力/平方英吋"}\r
                 other{"每平方吋{0}磅"}\r
             }\r
@@ -1831,7 +1831,7 @@ yue{
                 dnam{"牛頓米"}\r
                 other{"{0} 牛頓米"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"尺磅"}\r
                 other{"{0} 尺磅"}\r
             }\r
index 920ad05..5231392 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 yue_Hans{\r
     %%Parent{"root"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ yue_Hans{
                 dnam{"G 力"}\r
                 other{"{0} G 力"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"每平方秒公尺"}\r
                 other{"每平方秒 {0} 米"}\r
             }\r
@@ -108,10 +108,6 @@ yue_Hans{
                 dnam{"摩尔"}\r
                 other{"{0} 摩尔"}\r
             }\r
-            part-per-million{\r
-                dnam{"百万分率"}\r
-                other{"{0} 百万分率"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 other{"{0}%"}\r
@@ -120,13 +116,17 @@ yue_Hans{
                 dnam{"‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"百万分率"}\r
+                other{"{0} 百万分率"}\r
+            }\r
             permyriad{\r
                 dnam{"点子"}\r
                 other{"{0} 点子"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"每 100 公里公升"}\r
                 other{"每 100 公里 {0} 公升"}\r
             }\r
@@ -569,7 +569,7 @@ yue_Hans{
                 dnam{"百帕"}\r
                 other{"{0} 百帕"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"英寸汞柱"}\r
                 other{"{0} 英寸汞柱"}\r
             }\r
@@ -585,7 +585,7 @@ yue_Hans{
                 dnam{"毫巴"}\r
                 other{"{0} 毫巴"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"毫米汞柱"}\r
                 other{"{0} 毫米汞柱"}\r
             }\r
@@ -593,7 +593,7 @@ yue_Hans{
                 dnam{"帕斯卡"}\r
                 other{"{0} 帕斯卡"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"每平方英寸磅力"}\r
                 other{"每平方吋 {0} 磅"}\r
             }\r
@@ -639,7 +639,7 @@ yue_Hans{
                 dnam{"牛顿米"}\r
                 other{"{0} 牛顿米"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"尺磅"}\r
                 other{"{0} 尺磅"}\r
             }\r
@@ -765,7 +765,7 @@ yue_Hans{
             g-force{\r
                 other{"{0}G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 other{"{0}m/s²"}\r
             }\r
         }\r
@@ -825,7 +825,7 @@ yue_Hans{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"升/100公里"}\r
                 other{"每100公里{0}升"}\r
             }\r
@@ -1092,16 +1092,16 @@ yue_Hans{
             hectopascal{\r
                 other{"{0}百帕"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 other{"{0}″ Hg"}\r
             }\r
             millibar{\r
                 other{"{0}毫巴"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 other{"{0}mmHg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 other{"{0}psi"}\r
             }\r
         }\r
@@ -1207,7 +1207,7 @@ yue_Hans{
                 dnam{"G 力"}\r
                 other{"{0} G 力"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"公尺/平方秒"}\r
                 other{"每平方秒{0}米"}\r
             }\r
@@ -1301,10 +1301,6 @@ yue_Hans{
                 dnam{"摩尔"}\r
                 other{"{0} 摩尔"}\r
             }\r
-            part-per-million{\r
-                dnam{"百万分率"}\r
-                other{"{0} 百万分率"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 other{"{0}%"}\r
@@ -1313,13 +1309,17 @@ yue_Hans{
                 dnam{"‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"百万分率"}\r
+                other{"{0} 百万分率"}\r
+            }\r
             permyriad{\r
                 dnam{"点子"}\r
                 other{"{0} 点子"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"升/100 公里"}\r
                 other{"每100公里 {0} 升"}\r
             }\r
@@ -1762,7 +1762,7 @@ yue_Hans{
                 dnam{"百帕"}\r
                 other{"{0} 百帕"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"英寸汞柱"}\r
                 other{"{0} 英寸汞柱"}\r
             }\r
@@ -1778,7 +1778,7 @@ yue_Hans{
                 dnam{"毫巴"}\r
                 other{"{0} 毫巴"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"毫米汞柱"}\r
                 other{"{0} 毫米汞柱"}\r
             }\r
@@ -1786,7 +1786,7 @@ yue_Hans{
                 dnam{"帕斯卡"}\r
                 other{"{0} 帕斯卡"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"磅力/平方英寸"}\r
                 other{"每平方吋{0}磅"}\r
             }\r
@@ -1832,7 +1832,7 @@ yue_Hans{
                 dnam{"牛顿米"}\r
                 other{"{0} 牛顿米"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"尺磅"}\r
                 other{"{0} 尺磅"}\r
             }\r
index b28249c..f2c5c91 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 yue_Hant{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8b7621f..5cd8787 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zgh{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 303c259..7842650 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -13,7 +13,7 @@ zh{
                 dnam{"G力"}\r
                 other{"{0}G力"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"米/秒²"}\r
                 other{"每平方秒{0}米"}\r
             }\r
@@ -108,10 +108,6 @@ zh{
                 dnam{"摩尔"}\r
                 other{"{0}摩尔"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                other{"百万分之{0}"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 other{"{0}%"}\r
@@ -120,9 +116,13 @@ zh{
                 dnam{"‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                other{"百万分之{0}"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"升/100千米"}\r
                 other{"{0}升/100千米"}\r
             }\r
@@ -565,7 +565,7 @@ zh{
                 dnam{"百帕斯卡"}\r
                 other{"{0}百帕斯卡"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"英寸汞柱"}\r
                 other{"{0}英寸汞柱"}\r
             }\r
@@ -581,7 +581,7 @@ zh{
                 dnam{"毫巴"}\r
                 other{"{0}毫巴"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"毫米汞柱"}\r
                 other{"{0}毫米汞柱"}\r
             }\r
@@ -589,7 +589,7 @@ zh{
                 dnam{"帕斯卡"}\r
                 other{"{0}帕斯卡"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"磅/平方英寸"}\r
                 other{"每平方英寸{0}磅"}\r
             }\r
@@ -635,7 +635,7 @@ zh{
                 dnam{"牛顿米"}\r
                 other{"{0}牛顿米"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"磅英尺"}\r
                 other{"{0}磅英尺"}\r
             }\r
@@ -762,7 +762,7 @@ zh{
                 dnam{"G力"}\r
                 other{"{0}G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"米/秒²"}\r
                 other{"{0}米/秒²"}\r
             }\r
@@ -832,7 +832,7 @@ zh{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"升/100千米"}\r
                 other{"{0}L/100km"}\r
             }\r
@@ -1037,7 +1037,7 @@ zh{
             hectopascal{\r
                 other{"{0}hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 other{"{0}\u0022 Hg"}\r
             }\r
             millibar{\r
@@ -1185,7 +1185,7 @@ zh{
                 dnam{"G力"}\r
                 other{"{0}G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"米/秒²"}\r
                 other{"{0}米/秒²"}\r
             }\r
@@ -1280,10 +1280,6 @@ zh{
                 dnam{"摩尔"}\r
                 other{"{0}摩尔"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                other{"{0}ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 other{"{0}%"}\r
@@ -1292,9 +1288,13 @@ zh{
                 dnam{"‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                other{"{0}ppm"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"升/100千米"}\r
                 other{"{0}升/100千米"}\r
             }\r
@@ -1707,7 +1707,7 @@ zh{
                 dnam{"百帕"}\r
                 other{"{0}百帕"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"英寸汞柱"}\r
                 other{"{0}英寸汞柱"}\r
             }\r
@@ -1723,7 +1723,7 @@ zh{
                 dnam{"毫巴"}\r
                 other{"{0}毫巴"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"毫米汞柱"}\r
                 other{"{0}毫米汞柱"}\r
             }\r
@@ -1731,7 +1731,7 @@ zh{
                 dnam{"帕"}\r
                 other{"{0}帕"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"磅/平方英寸"}\r
                 other{"每平方英寸{0}磅"}\r
             }\r
@@ -1777,7 +1777,7 @@ zh{
                 dnam{"牛米"}\r
                 other{"{0}牛米"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"磅英尺"}\r
                 other{"{0}磅英尺"}\r
             }\r
index ad4e8b3..54a1c90 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh_Hans{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c3965a6..5487e06 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh_Hans_HK{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         compound{\r
             per{"{0}/{1}"}\r
index 59454f9..2f60528 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh_Hans_MO{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         compound{\r
             per{"{0}/{1}"}\r
index 0312e89..ac0f67b 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh_Hans_SG{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         compound{\r
             per{"{0}/{1}"}\r
index 110abe6..e186e75 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh_Hant{\r
     %%Parent{"root"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ zh_Hant{
                 dnam{"G 力"}\r
                 other{"{0} G 力"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"每平方秒公尺"}\r
                 other{"每平方秒 {0} 公尺"}\r
             }\r
@@ -108,10 +108,6 @@ zh_Hant{
                 dnam{"莫耳"}\r
                 other{"{0} 莫耳"}\r
             }\r
-            part-per-million{\r
-                dnam{"百萬分率"}\r
-                other{"{0} 百萬分率"}\r
-            }\r
             percent{\r
                 dnam{"百分比"}\r
                 other{"{0}%"}\r
@@ -120,9 +116,13 @@ zh_Hant{
                 dnam{"千分比"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"百萬分率"}\r
+                other{"{0} 百萬分率"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"每 100 公里公升"}\r
                 other{"每 100 公里 {0} 公升"}\r
             }\r
@@ -545,7 +545,7 @@ zh_Hant{
                 dnam{"百帕"}\r
                 other{"{0} 百帕"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"英寸汞柱"}\r
                 other{"{0} 英寸汞柱"}\r
             }\r
@@ -561,7 +561,7 @@ zh_Hant{
                 dnam{"毫巴"}\r
                 other{"{0} 毫巴"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"毫米汞柱"}\r
                 other{"{0} 毫米汞柱"}\r
             }\r
@@ -569,7 +569,7 @@ zh_Hant{
                 dnam{"帕斯卡"}\r
                 other{"{0} 帕斯卡"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"每平方英寸磅力"}\r
                 other{"每平方英寸 {0} 磅力"}\r
             }\r
@@ -615,7 +615,7 @@ zh_Hant{
                 dnam{"牛頓米"}\r
                 other{"{0} 牛頓米"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"磅英尺"}\r
                 other{"{0} 磅英尺"}\r
             }\r
@@ -742,7 +742,7 @@ zh_Hant{
                 dnam{"G 力"}\r
                 other{"{0}G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"公尺/平方秒"}\r
                 other{"{0}m/s²"}\r
             }\r
@@ -823,17 +823,17 @@ zh_Hant{
                 dnam{"毫莫耳/公升"}\r
                 other{"{0}mmol/L"}\r
             }\r
-            part-per-million{\r
-                dnam{"百萬分率"}\r
-                other{"{0}ppm"}\r
-            }\r
             percent{\r
                 dnam{"百分比"}\r
                 other{"{0}%"}\r
             }\r
+            permillion{\r
+                dnam{"百萬分率"}\r
+                other{"{0}ppm"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"升/100公里"}\r
                 other{"{0}升/100公里"}\r
             }\r
@@ -1184,7 +1184,7 @@ zh_Hant{
                 dnam{"百帕"}\r
                 other{"{0}百帕"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"英寸汞柱"}\r
                 other{"{0}英吋汞柱"}\r
             }\r
@@ -1192,11 +1192,11 @@ zh_Hant{
                 dnam{"毫巴"}\r
                 other{"{0}毫巴"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"毫米汞柱"}\r
                 other{"{0}mmHg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"磅力/平方英寸"}\r
                 other{"{0}psi"}\r
             }\r
@@ -1348,7 +1348,7 @@ zh_Hant{
                 dnam{"G 力"}\r
                 other{"{0} G 力"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"公尺/平方秒"}\r
                 other{"{0} 公尺/平方秒"}\r
             }\r
@@ -1442,10 +1442,6 @@ zh_Hant{
                 dnam{"mol"}\r
                 other{"{0} mol"}\r
             }\r
-            part-per-million{\r
-                dnam{"百萬分率"}\r
-                other{"{0} 百萬分率"}\r
-            }\r
             percent{\r
                 dnam{"百分比"}\r
                 other{"{0}%"}\r
@@ -1454,13 +1450,17 @@ zh_Hant{
                 dnam{"千分比"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"百萬分率"}\r
+                other{"{0} 百萬分率"}\r
+            }\r
             permyriad{\r
                 dnam{"‱"}\r
                 other{"{0}‱"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"升/100 公里"}\r
                 other{"{0} 升/100 公里"}\r
             }\r
@@ -1869,7 +1869,7 @@ zh_Hant{
                 dnam{"百帕"}\r
                 other{"{0} 百帕"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"英寸汞柱"}\r
                 other{"{0} 英寸汞柱"}\r
             }\r
@@ -1885,7 +1885,7 @@ zh_Hant{
                 dnam{"毫巴"}\r
                 other{"{0} 毫巴"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"毫米汞柱"}\r
                 other{"{0} 毫米汞柱"}\r
             }\r
@@ -1893,7 +1893,7 @@ zh_Hant{
                 dnam{"Pa"}\r
                 other{"{0} Pa"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"磅力/平方英寸"}\r
                 other{"{0} 磅力/平方英寸"}\r
             }\r
@@ -1939,7 +1939,7 @@ zh_Hant{
                 dnam{"N⋅m"}\r
                 other{"{0} N⋅m"}\r
             }\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"lbf⋅ft"}\r
                 other{"{0} lbf⋅ft"}\r
             }\r
index 77847f8..ee8b099 100644 (file)
@@ -1,10 +1,10 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh_Hant_HK{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     units{\r
         acceleration{\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"米/平方秒"}\r
                 other{"{0} 米/平方秒"}\r
             }\r
@@ -53,12 +53,12 @@ zh_Hant_HK{
                 dnam{"每公升毫摩爾"}\r
                 other{"每公升 {0} 毫摩爾"}\r
             }\r
-            part-per-million{\r
+            permillion{\r
                 other{"{0} ppm"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"公升/100公里"}\r
             }\r
             liter-per-kilometer{\r
@@ -221,7 +221,7 @@ zh_Hant_HK{
                 dnam{"百帕斯卡"}\r
                 other{"{0} 百帕斯卡"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"英吋汞柱"}\r
                 other{"{0} 英吋汞柱"}\r
             }\r
@@ -229,7 +229,7 @@ zh_Hant_HK{
                 dnam{"兆帕斯卡"}\r
                 other{"{0} 兆帕斯卡"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"磅/平方吋"}\r
                 other{"{0} 磅/平方吋"}\r
             }\r
@@ -259,7 +259,7 @@ zh_Hant_HK{
             }\r
         }\r
         torque{\r
-            pound-foot{\r
+            pound-force-foot{\r
                 dnam{"磅尺"}\r
                 other{"{0} 磅尺"}\r
             }\r
@@ -315,7 +315,7 @@ zh_Hant_HK{
     }\r
     unitsNarrow{\r
         acceleration{\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"米每平方秒"}\r
             }\r
         }\r
@@ -357,12 +357,12 @@ zh_Hant_HK{
             millimole-per-liter{\r
                 dnam{"毫摩爾/公升"}\r
             }\r
-            part-per-million{\r
+            permillion{\r
                 other{"{0} ppm"}\r
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 other{"{0}L/100km"}\r
             }\r
         }\r
@@ -488,11 +488,11 @@ zh_Hant_HK{
             }\r
         }\r
         pressure{\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"英吋汞柱"}\r
                 other{"{0}″ Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"磅每平方吋"}\r
             }\r
         }\r
@@ -554,7 +554,7 @@ zh_Hant_HK{
             g-force{\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"米每平方秒"}\r
                 other{"{0} 米每平方秒"}\r
             }\r
@@ -610,7 +610,7 @@ zh_Hant_HK{
                 dnam{"毫摩爾/公升"}\r
                 other{"{0} 毫摩爾/公升"}\r
             }\r
-            part-per-million{\r
+            permillion{\r
                 other{"{0} ppm"}\r
             }\r
         }\r
@@ -778,7 +778,7 @@ zh_Hant_HK{
             }\r
         }\r
         pressure{\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"英吋汞柱"}\r
                 other{"{0} 英吋汞柱"}\r
             }\r
@@ -786,7 +786,7 @@ zh_Hant_HK{
                 dnam{"帕"}\r
                 other{"{0} 帕"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"磅每平方吋"}\r
                 other{"{0} 磅每平方吋"}\r
             }\r
index 448f7d6..cf72366 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh_Hant_MO{\r
     %%Parent{"zh_Hant_HK"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 71eb7e8..d65bbb3 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zu{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     durationUnits{\r
         hm{"h:mm"}\r
         hms{"h:mm:ss"}\r
@@ -14,7 +14,7 @@ zu{
                 one{"{0} g-force"}\r
                 other{"{0} g-force"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -118,11 +118,6 @@ zu{
                 one{"{0} mmol/L"}\r
                 other{"{0} mmol/L"}\r
             }\r
-            part-per-million{\r
-                dnam{"ppm"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 one{"{0}%"}\r
@@ -133,9 +128,14 @@ zu{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"ppm"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 one{"{0} L/100km"}\r
                 other{"{0} L/100km"}\r
@@ -573,7 +573,7 @@ zu{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -583,12 +583,12 @@ zu{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
@@ -798,7 +798,7 @@ zu{
             }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 one{"{0}L/100km"}\r
                 other{"{0}L/100km"}\r
@@ -920,7 +920,7 @@ zu{
                 one{"{0} G"}\r
                 other{"{0} G"}\r
             }\r
-            meter-per-second-squared{\r
+            meter-per-square-second{\r
                 dnam{"m/s²"}\r
                 one{"{0} m/s²"}\r
                 other{"{0} m/s²"}\r
@@ -1027,11 +1027,6 @@ zu{
                 one{"{0} mmol/L"}\r
                 other{"{0} mmol/L"}\r
             }\r
-            part-per-million{\r
-                dnam{"izingxenye/izigidi"}\r
-                one{"{0} ppm"}\r
-                other{"{0} ppm"}\r
-            }\r
             percent{\r
                 dnam{"%"}\r
                 one{"{0}%"}\r
@@ -1042,9 +1037,14 @@ zu{
                 one{"{0}‰"}\r
                 other{"{0}‰"}\r
             }\r
+            permillion{\r
+                dnam{"izingxenye/izigidi"}\r
+                one{"{0} ppm"}\r
+                other{"{0} ppm"}\r
+            }\r
         }\r
         consumption{\r
-            liter-per-100kilometers{\r
+            liter-per-100-kilometer{\r
                 dnam{"L/100km"}\r
                 one{"{0} L/100km"}\r
                 other{"{0} L/100km"}\r
@@ -1471,7 +1471,7 @@ zu{
                 one{"{0} hPa"}\r
                 other{"{0} hPa"}\r
             }\r
-            inch-hg{\r
+            inch-ofhg{\r
                 dnam{"inHg"}\r
                 one{"{0} inHg"}\r
                 other{"{0} inHg"}\r
@@ -1481,12 +1481,12 @@ zu{
                 one{"{0} mbar"}\r
                 other{"{0} mbar"}\r
             }\r
-            millimeter-of-mercury{\r
+            millimeter-ofhg{\r
                 dnam{"mm Hg"}\r
                 one{"{0} mm Hg"}\r
                 other{"{0} mm Hg"}\r
             }\r
-            pound-per-square-inch{\r
+            pound-force-per-square-inch{\r
                 dnam{"psi"}\r
                 one{"{0} psi"}\r
                 other{"{0} psi"}\r
index bcbdb1b..e195606 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 \r
 {\r
-    "cldrVersion": "36.1",\r
+    "cldrVersion": "37",\r
     "aliases": {\r
         "ars": "ar_SA",\r
         "az_AZ": "az_Latn_AZ",\r
         "in_ID": "id_ID",\r
         "iw": "he",\r
         "iw_IL": "he_IL",\r
+        "ks_IN": "ks_Arab_IN",\r
+        "mni_IN": "mni_Beng_IN",\r
         "mo": "ro",\r
         "no": "nb",\r
         "no_NO": "nb_NO",\r
         "no_NO_NY": "nn_NO",\r
         "pa_IN": "pa_Guru_IN",\r
         "pa_PK": "pa_Arab_PK",\r
+        "sat_IN": "sat_Olck_IN",\r
+        "sd_PK": "sd_Arab_PK",\r
         "sh": "sr_Latn",\r
         "sh_BA": "sr_Latn_BA",\r
         "sh_CS": "sr_Latn_RS",\r
@@ -38,6 +42,7 @@
         "sr_RS": "sr_Cyrl_RS",\r
         "sr_XK": "sr_Cyrl_XK",\r
         "sr_YU": "sr_Cyrl_RS",\r
+        "su_ID": "su_Latn_ID",\r
         "tl": "fil",\r
         "tl_PH": "fil_PH",\r
         "uz_AF": "uz_Arab_AF",\r
         "es_US": "es_419",\r
         "es_UY": "es_419",\r
         "es_VE": "es_419",\r
+        "ff_Adlm": "root",\r
         "pa_Arab": "root",\r
         "pt_AO": "pt_PT",\r
         "pt_CH": "pt_PT",\r
         "pt_MZ": "pt_PT",\r
         "pt_ST": "pt_PT",\r
         "pt_TL": "pt_PT",\r
+        "sd_Deva": "root",\r
         "shi_Latn": "root",\r
         "sr_Latn": "root",\r
         "uz_Arab": "root",\r
index 5f5b9ca..985dc9e 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 af{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1726,7 +1726,9 @@ af{
             ls{"Niue-tyd"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Norfolkeiland-tyd"}\r
+            ld{"Norfolkeiland-dagligtyd"}\r
+            lg{"Norfolkeiland-tyd"}\r
+            ls{"Norfolkeiland-standaardtyd"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Fernando de Noronha-somertyd"}\r
index 885f875..320d8d9 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 agq{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9148f56..72cfd78 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ak{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 10d313d..863b2ac 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 am{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"አቢጃን"}\r
@@ -1720,7 +1720,9 @@ am{
             ls{"የኒዩዌ ሰዓት"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"የኖርፎልክ ደሴቶች ሰዓት"}\r
+            ld{"የኖርፎልክ ደሴቶች የቀን የሰዓት አቆጣጠር"}\r
+            lg{"የኖርፎልክ ደሴቶች ሰዓት"}\r
+            ls{"የኖርፎልክ ደሴቶች መደበኛ የሰዓት አቆጣጠር"}\r
         }\r
         "meta:Noronha"{\r
             ld{"የፈርናንዶ ዲ ኖሮንሃ የበጋ የሰዓት አቆጣጠር"}\r
index d785424..0f0c80f 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ar{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"أبيدجان"}\r
@@ -1724,7 +1724,9 @@ ar{
             ls{"توقيت نيوي"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"توقيت جزيرة نورفولك"}\r
+            ld{"توقيت جزيرة نورفولك الصيفي"}\r
+            lg{"توقيت جزيرة نورفولك"}\r
+            ls{"توقيت جزيرة نورفولك الرسمي"}\r
         }\r
         "meta:Noronha"{\r
             ld{"توقيت فرناندو دي نورونها الصيفي"}\r
index 5e6efa5..0674a52 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 as{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"আবিডজান"}\r
@@ -1705,7 +1705,9 @@ as{
             ls{"নিয়ুৰ সময়"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"ন’ৰফ’ক দ্বীপৰ সময়"}\r
+            ld{"ন’ৰফ’ক দ্বীপৰ সময় গ্ৰীষ্মকালীন সময়"}\r
+            lg{"ন’ৰফ’ক দ্বীপৰ সময়"}\r
+            ls{"ন’ৰফ’ক দ্বীপৰ মান সময়"}\r
         }\r
         "meta:Noronha"{\r
             ld{"ফাৰ্নাণ্ডো ডে নোৰোন্‌হাৰ গ্ৰীষ্মকালীন সময়"}\r
index 6ab275d..142ebda 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 asa{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 15f9158..3aa599a 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ast{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1764,7 +1764,9 @@ ast{
             ls{"Hora de Niue"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Hora de la Islla Norfolk"}\r
+            ld{"Hora braniega de la Islla Norfolk"}\r
+            lg{"Hora de la Islla Norfolk"}\r
+            ls{"Hora estándar de la Islla Norfolk"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Hora braniega de Fernando de Noronha"}\r
index 790718d..1012b9e 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 az{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abican"}\r
@@ -1707,7 +1707,9 @@ az{
             ls{"Niue Vaxtı"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Norfolk Adası Vaxtı"}\r
+            ld{"Norfolk Adası Yay Vaxtı"}\r
+            lg{"Norfolk Adası Vaxtı"}\r
+            ls{"Norfolk Adası Standart Vaxtı"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Fernando de Noronya Yay Vaxtı"}\r
index 574a20f..659a876 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 az_Cyrl{\r
     %%Parent{"root"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a2372d2..7562a28 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 az_Latn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0635ed3..8bb7916 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bas{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fc2e1e2..5bf85b3 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 be{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Абіджан"}\r
@@ -1710,7 +1710,9 @@ be{
             ls{"Час Ніуэ"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Час вострава Норфалк"}\r
+            ld{"Летні час вострава Норфалк"}\r
+            lg{"Час вострава Норфалк"}\r
+            ls{"Стандартны час вострава Норфалк"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Летні час Фернанду-дзі-Наронья"}\r
index e5e1fee..834cc9b 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bem{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d3c3e28..4ca2f1e 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bez{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0b34580..e0e966d 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bg{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Абиджан"}\r
@@ -1720,7 +1720,9 @@ bg{
             ls{"Ниуе"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Норфолкско време"}\r
+            ld{"Норфолкско лятно часово време"}\r
+            lg{"Норфолкско време"}\r
+            ls{"Норфолкско стандартно време"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Фернандо де Нороня – лятно часово време"}\r
index de2ce1b..547eb16 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bm{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b0e2901..e05cc05 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"আবিদজান"}\r
@@ -1721,7 +1721,9 @@ bn{
             ls{"নিউই সময়"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"নরফোক দ্বীপ সময়"}\r
+            ld{"নরফোক দ্বীপ দিবালোক সময়"}\r
+            lg{"নরফোক দ্বীপ সময়"}\r
+            ls{"নরফোক দ্বীপ মানক সময়"}\r
         }\r
         "meta:Noronha"{\r
             ld{"ফার্নান্দো ডি নোরোনহা গ্রীষ্মকালীন সময়"}\r
index b72bf50..40cb274 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Etc:Unknown"{\r
             ec{"མ་རྟོགས་པ"}\r
index be5b56e..5d4d925 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 br{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1224,7 +1224,9 @@ br{
             ls{"eur Niue"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"eur Enez Norfolk"}\r
+            ld{"eur hañv Enez Norfolk"}\r
+            lg{"eur Enez Norfolk"}\r
+            ls{"eur cʼhoañv Enez Norfolk"}\r
         }\r
         "meta:Noronha"{\r
             ld{"eur hañv Fernando de Noronha"}\r
index eff5818..4f4c986 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 brx{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"अबिद्जान"}\r
@@ -1566,6 +1566,8 @@ brx{
             ls{"नीऊई स्टैंडर्ड टाईम"}\r
         }\r
         "meta:Norfolk"{\r
+            ld{"नॉरफोक डेलाईट टाईम"}\r
+            lg{"नॉरफोक टाईम"}\r
             ls{"नॉरफोक स्टैंडर्ड टाईम"}\r
         }\r
         "meta:Noronha"{\r
index 5d9f527..075ebec 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bs{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1751,7 +1751,9 @@ bs{
             ls{"Vrijeme na Ostrvu Niue"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Norfolško vrijeme"}\r
+            ld{"Norfolško ljetno vrijeme"}\r
+            lg{"Norfolško vrijeme"}\r
+            ls{"Norfolško standardno vrijeme"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Ljetno vrijeme na ostrvu Fernando di Noronja"}\r
index 21cbf97..8286457 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bs_Cyrl{\r
     %%Parent{"root"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Абиџан"}\r
@@ -1749,7 +1749,9 @@ bs_Cyrl{
             ls{"Ниуе вријеме"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Норфолк Острво вријеме"}\r
+            ld{"Норфолк Острво љетње рачунање вријеме"}\r
+            lg{"Норфолк Острво вријеме"}\r
+            ls{"Норфолк Острво стандардно вријеме"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Фернандо де Нороња љетње рачунање времена"}\r
index 8d3f9f4..055a94f 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 bs_Latn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 11b1a4f..8d3b16e 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ca{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1735,7 +1735,9 @@ ca{
             ls{"Hora de Niue"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Hora de les illes Norfolk"}\r
+            ld{"Hora d’estiu de les illes Norfolk"}\r
+            lg{"Hora de les illes Norfolk"}\r
+            ls{"Hora estàndard de les illes Norfolk"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Hora d’estiu de Fernando de Noronha"}\r
index 8b1716c..6eff3a8 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ccp{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"𑄃𑄝𑄨𑄘𑄴𑄎𑄚𑄴"}\r
@@ -1776,7 +1776,15 @@ ccp{
             ls{"𑄚𑄨𑄃𑄪𑄃𑄨 𑄃𑄧𑄇𑄴𑄖𑄧"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"𑄚𑄧𑄢𑄴𑄜𑄮𑄇𑄴 𑄉𑄭 𑄉𑄭 𑄞𑄨𑄘𑄬𑄉𑄪𑄚𑄮𑄢𑄴 𑄃𑄧𑄇𑄴𑄖𑄧"}\r
+            ld{\r
+                "𑄚𑄧𑄢𑄴𑄜𑄮𑄇𑄴 𑄉𑄭 𑄉𑄭 𑄞𑄨𑄘𑄬𑄉𑄪𑄚𑄮𑄢𑄴 𑄘𑄨𑄚𑄮𑄃𑄣𑄮𑄢𑄴 "\r
+                "𑄃𑄧𑄇𑄴𑄖𑄧"\r
+            }\r
+            lg{"𑄚𑄧𑄢𑄴𑄜𑄮𑄇𑄴 𑄉𑄭 𑄉𑄭 𑄞𑄨𑄘𑄬𑄉𑄪𑄚𑄮𑄢𑄴 𑄃𑄧𑄇𑄴𑄖𑄧"}\r
+            ls{\r
+                "𑄚𑄧𑄢𑄴𑄜𑄮𑄇𑄴 𑄉𑄭 𑄉𑄭 𑄞𑄨𑄘𑄬𑄉𑄪𑄚𑄮𑄢𑄴 𑄟𑄚𑄧𑄇𑄴 "\r
+                "𑄃𑄧𑄇𑄴𑄖𑄧"\r
+            }\r
         }\r
         "meta:Noronha"{\r
             ld{\r
index 2e0b37b..2f39451 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ce{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Абиджан"}\r
@@ -1704,7 +1704,9 @@ ce{
             ls{"Ниуэ"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Норфолк"}\r
+            ld{"Норфолк, аьхкенан хан"}\r
+            lg{"Норфолк"}\r
+            ls{"Норфолк, стандартан хан"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Фернанду-ди-Норонья, аьхкенан хан"}\r
index 6dfa0fb..488a358 100644 (file)
@@ -1,13 +1,13 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ceb{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Etc:UTC"{\r
-            ls{"Koordinado nga Unibersohanong Oras"}\r
+            ls{"Gikoordinar nga Kinatibuk-ang Oras"}\r
         }\r
         "Etc:Unknown"{\r
-            ec{"Wala Mailhing Siyudad"}\r
+            ec{"Wala Mailhing Lungsod"}\r
         }\r
         "Europe:Dublin"{\r
             ld{"Tamdanang Oras sa Irish"}\r
@@ -33,7 +33,7 @@ ceb{
             ls{"Tamdanang Oras sa West Africa"}\r
         }\r
         "meta:Alaska"{\r
-            ld{"Oras sa Adlawan sa Alaska"}\r
+            ld{"Oras sa Tag-init sa Alaska"}\r
             lg{"Oras sa Alaska"}\r
             ls{"Tamdanang Oras sa Alaska"}\r
         }\r
@@ -43,27 +43,27 @@ ceb{
             ls{"Tamdanang Oras sa Amazon"}\r
         }\r
         "meta:America_Central"{\r
-            ld{"Taliwala sa Kahayag sa Adlawng Oras Norte Amerika"}\r
-            lg{"Taliwala nga Oras Norte Amerika"}\r
-            ls{"Taliwala nga Sukdanang Oras Norte Amerika"}\r
+            ld{"Sentrong Oras sa Tag-init"}\r
+            lg{"Sentrong Oras"}\r
+            ls{"Sentong Tamdanan nga Oras"}\r
         }\r
         "meta:America_Eastern"{\r
-            ld{"Norte Amerika Oras sa Sidlakan sa Kahayag sa Adlaw"}\r
-            lg{"Norte Amerika Oras sa Sidlakan"}\r
-            ls{"Norte Amerika Sukdanang Oras"}\r
+            ld{"Oras sa Tag-init sa Sidlakan"}\r
+            lg{"Oras sa Sidlakan"}\r
+            ls{"Tamdanan nga Oras sa Sidlakan"}\r
         }\r
         "meta:America_Mountain"{\r
-            ld{"Norte Amerika Oras sa Kahayag sa Adlaw sa Kabukiran"}\r
-            lg{"Norte Amerika Oras sa Kabukiran"}\r
-            ls{"Norte Amerika Sukdanang Oras sa Kabukiran"}\r
+            ld{"Oras sa Tag-init sa Kabukiran"}\r
+            lg{"Oras sa Kabukiran"}\r
+            ls{"Tamdanang Oras sa Kabukiran"}\r
         }\r
         "meta:America_Pacific"{\r
-            ld{"Norte Amerika Oras sa Kahayag sa Adlaw sa Pasipiko"}\r
-            lg{"Norte Amerika Oras sa Pasipiko"}\r
-            ls{"Norte Amerika Sukdanang Oras sa Pasipiko"}\r
+            ld{"Oras sa Tag-init sa Pasipiko"}\r
+            lg{"Oras sa Pasipiko"}\r
+            ls{"Tamdanang Oras sa Pasipiko"}\r
         }\r
         "meta:Apia"{\r
-            ld{"Oras sa Adlawan sa Apia"}\r
+            ld{"Oras sa Tag-init sa Apia"}\r
             lg{"Oras sa Apia"}\r
             ls{"Tamdanang Oras sa Apia"}\r
         }\r
@@ -88,27 +88,27 @@ ceb{
             ls{"Tamdanang Oras sa Armenia"}\r
         }\r
         "meta:Atlantic"{\r
-            ld{"Norte Amerika Oras sa Kahayag sa Adlaw sa Atlantiko"}\r
-            lg{"Norte Amerika Oras sa Atlantiko"}\r
-            ls{"Norte Amerika Sukdanang Oras sa Atlantiko"}\r
+            ld{"Oras sa Tag-init sa Atlantiko"}\r
+            lg{"Oras sa Atlantiko"}\r
+            ls{"Tamdanang Oras sa Atlantiko"}\r
         }\r
         "meta:Australia_Central"{\r
-            ld{"Oras sa Adlawan sa Central Australia"}\r
+            ld{"Oras sa Tag-init sa Central Australia"}\r
             lg{"Oras sa Central Australia"}\r
             ls{"Tamdanang Oras sa Central Australia"}\r
         }\r
         "meta:Australia_CentralWestern"{\r
-            ld{"Oras sa Adlawan sa Central Western Australia"}\r
+            ld{"Oras sa Tag-init sa Central Western Australia"}\r
             lg{"Oras sa Central Western Australia"}\r
             ls{"Tamdanang Oras sa Central Western Australia"}\r
         }\r
         "meta:Australia_Eastern"{\r
-            ld{"Oras sa Adlawan sa Eastern Australia"}\r
+            ld{"Oras sa Tag-init sa Eastern Australia"}\r
             lg{"Oras sa Eastern Australia"}\r
             ls{"Tamdanang Oras sa Eastern Australia"}\r
         }\r
         "meta:Australia_Western"{\r
-            ld{"Oras sa Adlawan sa Western Australia"}\r
+            ld{"Oras sa Tag-init sa Western Australia"}\r
             lg{"Oras sa Western Australia"}\r
             ls{"Tamdanang Oras sa Western Australia"}\r
         }\r
@@ -150,7 +150,7 @@ ceb{
             ls{"Tamdanang Oras sa Chamorro"}\r
         }\r
         "meta:Chatham"{\r
-            ld{"Oras sa Adlawan sa Chatham"}\r
+            ld{"Oras sa Tag-init sa Chatham"}\r
             lg{"Oras sa Chatham"}\r
             ls{"Tamdanang Oras sa Chatham"}\r
         }\r
@@ -186,7 +186,7 @@ ceb{
             ls{"Tamdanang Oras sa Cook Islands"}\r
         }\r
         "meta:Cuba"{\r
-            ld{"Oras sa Adlawan sa Cuba"}\r
+            ld{"Oras sa Tag-init sa Cuba"}\r
             lg{"Oras sa Cuba"}\r
             ls{"Tamdanang Oras sa Cuba"}\r
         }\r
@@ -208,22 +208,22 @@ ceb{
             ls{"Oras sa Ecuador"}\r
         }\r
         "meta:Europe_Central"{\r
-            ld{"Oras sa Europa Taliwala sa Adlaw sa Tag-init"}\r
-            lg{"Oras sa Europa sa Taliwala sa Adlaw"}\r
-            ls{"Sukdanang Oras sa Europa sa Taliwala sa Adlaw"}\r
+            ld{"Oras sa Tag-init sa Central Europe"}\r
+            lg{"Oras sa Central Europe"}\r
+            ls{"Tamdanang Oras sa Central Europe"}\r
         }\r
         "meta:Europe_Eastern"{\r
-            ld{"Oras sa Taga-Oryente sa Europa sa Tag-int"}\r
-            lg{"Oras sa Taga-Oryente sa Europa"}\r
-            ls{"Sukdanang Oras sa Taga-Oryente sa Europa"}\r
+            ld{"Oras sa Tag-init sa Eastern Europe"}\r
+            lg{"Oras sa Eastern Europe"}\r
+            ls{"Tamdanang Oras sa Eastern Europe"}\r
         }\r
         "meta:Europe_Further_Eastern"{\r
             ls{"Oras sa Further-eastern Europe"}\r
         }\r
         "meta:Europe_Western"{\r
-            ld{"Oras sa Kasadpanon sa Europa sa Tag-init"}\r
-            lg{"Oras sa Kasadpanon sa Europa"}\r
-            ls{"Sukadanang Oras sa Kasadpanon sa Europa"}\r
+            ld{"Oras sa Tag-init sa Western Europe"}\r
+            lg{"Oras sa Western Europe"}\r
+            ls{"Tamdanang Oras sa Western Europe"}\r
         }\r
         "meta:Falkland"{\r
             ld{"Oras sa Tag-init sa Falkland Islands"}\r
@@ -242,7 +242,7 @@ ceb{
             ls{"Oras sa French Southern ug Antarctic"}\r
         }\r
         "meta:GMT"{\r
-            ls{"Kasarangang Oras sa Greenwich"}\r
+            ls{"Oras sa Greenwich Mean"}\r
         }\r
         "meta:Galapagos"{\r
             ls{"Oras sa Galapagos"}\r
@@ -275,7 +275,7 @@ ceb{
             ls{"Oras sa Guyana"}\r
         }\r
         "meta:Hawaii_Aleutian"{\r
-            ld{"Oras sa Adlawan sa Hawaii-Aleutian"}\r
+            ld{"Oras sa Tag-init sa Hawaii-Aleutian"}\r
             lg{"Oras sa Hawaii-Aleutian"}\r
             ls{"Tamdanang Oras sa Hawaii-Aleutian"}\r
         }\r
@@ -353,7 +353,7 @@ ceb{
             ls{"Oras sa Line Islands"}\r
         }\r
         "meta:Lord_Howe"{\r
-            ld{"Oras sa Adlawan sa Lord Howe"}\r
+            ld{"Oras sa Tag-init sa Lord Howe"}\r
             lg{"Oras sa Lord Howe"}\r
             ls{"Tamdanang Oras sa Lord Howe"}\r
         }\r
@@ -386,12 +386,12 @@ ceb{
             ls{"Oras sa Mawson"}\r
         }\r
         "meta:Mexico_Northwest"{\r
-            ld{"Oras sa Adlawan sa Northwest Mexico"}\r
+            ld{"Oras sa Tag-init sa Northwest Mexico"}\r
             lg{"Oras sa Northwest Mexico"}\r
             ls{"Tamdanang Oras sa Northwest Mexico"}\r
         }\r
         "meta:Mexico_Pacific"{\r
-            ld{"Oras sa Adlawan sa Mexican Pacific"}\r
+            ld{"Oras sa Tag-init sa Mexican Pacific"}\r
             lg{"Oras sa Mexican Pacific"}\r
             ls{"Tamdanang Oras sa Mexican Pacific"}\r
         }\r
@@ -420,12 +420,12 @@ ceb{
             ls{"Tamdanang Oras sa New Caledonia"}\r
         }\r
         "meta:New_Zealand"{\r
-            ld{"Oras sa Adlawan sa New Zealand"}\r
+            ld{"Oras sa Tag-init sa New Zealand"}\r
             lg{"Oras sa New Zealand"}\r
             ls{"Tamdanang Oras sa New Zealand"}\r
         }\r
         "meta:Newfoundland"{\r
-            ld{"Oras sa Adlawan sa Newfoundland"}\r
+            ld{"Oras sa Tag-init sa Newfoundland"}\r
             lg{"Oras sa Newfoundland"}\r
             ls{"Tamdanang Oras sa Newfoundland"}\r
         }\r
@@ -433,7 +433,9 @@ ceb{
             ls{"Oras sa Niue"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Oras sa Norfolk Island"}\r
+            ld{"Oras sa Tag-init sa Norfolk Island"}\r
+            lg{"Oras sa Norfolk Island"}\r
+            ls{"Tamdanang Oras sa Norfolk Island"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Oras sa Tag-init sa Fernando de Noronha"}\r
@@ -480,7 +482,7 @@ ceb{
             ls{"Oras sa Phoenix Islands"}\r
         }\r
         "meta:Pierre_Miquelon"{\r
-            ld{"Oras sa Adlawan sa St. Pierre & Miquelon"}\r
+            ld{"Oras sa Tag-init sa St.Pierre & Miquelon"}\r
             lg{"Oras sa St. Pierre & Miquelon"}\r
             ls{"Tamdanang Oras sa St. Pierre & Miquelon"}\r
         }\r
@@ -505,7 +507,7 @@ ceb{
             ls{"Tamdanang Oras sa Sakhalin"}\r
         }\r
         "meta:Samoa"{\r
-            ld{"Oras sa Adlawan sa Samoa"}\r
+            ld{"Oras sa Tag-init sa Samoa"}\r
             lg{"Oras sa Samoa"}\r
             ls{"Tamdanang Oras sa Samoa"}\r
         }\r
@@ -608,8 +610,8 @@ ceb{
         gmtFormat{"GMT {0}"}\r
         gmtZeroFormat{"GMT"}\r
         hourFormat{"+HH:mm;-HH:mm"}\r
-        regionFormat{"Oras {0}"}\r
-        regionFormatDaylight{"Tag-init Oras {0}"}\r
-        regionFormatStandard{"Sukdanang Oras {0}"}\r
+        regionFormat{"{0} Oras"}\r
+        regionFormatDaylight{"{0} Oras sa Tag-init"}\r
+        regionFormatStandard{"{0} Tamdanang Oras"}\r
     }\r
 }\r
index d22a2f4..bf8fc4d 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 cgg{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7e55e76..7c4726b 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 chr{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"ᎠᏈᏣᏂ"}\r
@@ -1731,7 +1731,9 @@ chr{
             ls{"ᏂᏳ ᎠᏟᎢᎵᏒ"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"ᏃᎵᏬᎵᎩ ᎤᎦᏚᏛᎢ ᎠᏟᎢᎵᏒ"}\r
+            ld{"ᏃᎵᏬᎵᎩ ᎤᎦᏚᏛᎢ ᎪᎩ ᎠᏟᎢᎵᏒ"}\r
+            lg{"ᏃᎵᏬᎵᎩ ᎤᎦᏚᏛᎢ ᎠᏟᎢᎵᏒ"}\r
+            ls{"ᏃᎵᏬᎵᎩ ᎤᎦᏚᏛᎢ ᎠᏟᎶᏍᏗ ᎠᏟᎢᎵᏒ"}\r
         }\r
         "meta:Noronha"{\r
             ld{"ᏪᎾᏅᏙ Ꮥ ᏃᎶᎾᎭ ᎪᎩ ᎠᏟᎢᎵᏒ"}\r
index 4b1dac1..6c08585 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ckb{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 605788f..ba1d80b 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 cs{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidžan"}\r
@@ -1779,7 +1779,9 @@ cs{
             ls{"Niuejský čas"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Norfolkský čas"}\r
+            ld{"Norfolkský letní čas"}\r
+            lg{"Norfolkský čas"}\r
+            ls{"Norfolkský standardní čas"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Letní čas souostroví Fernando de Noronha"}\r
index 5a74f54..c6f8ae9 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 cy{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1711,7 +1711,9 @@ cy{
             ls{"Amser Niue"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Amser Ynys Norfolk"}\r
+            ld{"Amser Haf Ynys Norfolk"}\r
+            lg{"Amser Ynys Norfolk"}\r
+            ls{"Amser Safonol Ynys Norfolk"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Amser Haf Fernando de Noronha"}\r
index d9e2dae..c223769 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 da{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1760,7 +1760,9 @@ da{
             ls{"Niue-tid"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Norfolk Island-tid"}\r
+            ld{"Norfolk Island-sommertid"}\r
+            lg{"Norfolk Island-tid"}\r
+            ls{"Norfolk Island-normaltid"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Fernando de Noronha-sommertid"}\r
index 0c42b8a..058915a 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 dav{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2e35b82..8d22ae7 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 de{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1763,7 +1763,9 @@ de{
             ls{"Niue-Zeit"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Norfolkinsel-Zeit"}\r
+            ld{"Norfolkinsel-Sommerzeit"}\r
+            lg{"Norfolkinsel-Zeit"}\r
+            ls{"Norfolkinsel-Normalzeit"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Fernando de Noronha-Sommerzeit"}\r
index 32649f4..7d74e96 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 de_CH{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Asia:Brunei"{\r
             ec{"Brunei"}\r
index 0089c11..017d323 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 dje{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 301393d..3f84ea2 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 dsb{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Accra"{\r
             ec{"Akkra"}\r
@@ -790,7 +790,9 @@ dsb{
             ls{"Niueski cas"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"cas kupy Norfolk"}\r
+            ld{"lěśojski cas kupy Norfolk"}\r
+            lg{"cas kupy Norfolk"}\r
+            ls{"standardny cas kupy Norfolk"}\r
         }\r
         "meta:Noronha"{\r
             ld{"lěśojski cas Fernando de Noronha"}\r
index 4b73bc5..48c0b51 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 dua{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 53c5937..bc3294a 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 dyo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 632b4d9..1dfdf7b 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 dz{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Cairo"{\r
             ec{"ཀཱའི་རོ"}\r
index 2df34a5..ef50bc7 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ebu{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8349e35..cb27a1b 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ee{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1707,7 +1707,9 @@ ee{
             ls{"Niue gaƒoƒo me"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Norfolk Island gaƒoƒo me"}\r
+            ld{"Norfolk Island dzomeŋɔli gaƒoƒo me"}\r
+            lg{"Norfolk Island gaƒoƒo me"}\r
+            ls{"Norfolk Island nutome gaƒoƒo me"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Fernando de Noronha dzomeŋɔli gaƒoƒo me"}\r
index 9c93843..cad6926 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 el{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Αμπιτζάν"}\r
@@ -1737,7 +1737,9 @@ el{
             ls{"Ώρα Νιούε"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Ώρα Νήσου Νόρφολκ"}\r
+            ld{"Θερινή ώρα Νήσου Νόρφολκ"}\r
+            lg{"Ώρα Νήσου Νόρφολκ"}\r
+            ls{"Χειμερινή ώρα Νήσου Νόρφολκ"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Θερινή ώρα Φερνάρντο ντε Νορόνια"}\r
index b20f5bd..5e1cf39 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Sao_Tome"{\r
             ec{"São Tomé"}\r
@@ -535,7 +535,9 @@ en{
             ls{"Niue Time"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Norfolk Island Time"}\r
+            ld{"Norfolk Island Daylight Time"}\r
+            lg{"Norfolk Island Time"}\r
+            ls{"Norfolk Island Standard Time"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Fernando de Noronha Summer Time"}\r
index 5c0af81..520e696 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_001{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "America:St_Barthelemy"{\r
             ec{"St Barthélemy"}\r
index 6f749c4..d364029 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_150{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Europe_Central"{\r
             sd{"CEST"}\r
index 4119ad0..e7510fa 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_AE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Pacific:Honolulu"{\r
             sd{"∅∅∅"}\r
index 9c32af7..a748276 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_AG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index dc0a00f..d3a2f9b 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_AI{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2ef756e..ec475e0 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_AT{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 55dfe1d..01f4703 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_AU{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Asia:Rangoon"{\r
             ec{"Rangoon"}\r
index 4526faa..6bac355 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BB{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a0482c2..46d6b7d 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BE{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1b0a5b1..1735b51 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6aacc1f..97d27f5 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BS{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2217ece..3b2091d 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BW{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index ebede8c..b73fe1d 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_BZ{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8e4d250..7db155a 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CA{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Asia:Rangoon"{\r
             ec{"Rangoon"}\r
index dcbc71c..332a810 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CC{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b0ca8ab..e443b47 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CH{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d670907..9e1d5c1 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CK{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9329101..ba85896 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 4b709fb..c8f649b 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CX{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7c8d2e5..c852bbe 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_CY{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8e56c9b..7fafabe 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_DE{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c5bebd8..332c554 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_DG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6bfddb4..9da0b9c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_DK{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c2b7c48..69c9cad 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_DM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 59e4505..3ff83f5 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_ER{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 95f4bc7..b3758a5 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_FI{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3769889..62582de 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_FJ{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 187ca4b..c14ae42 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_FK{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f8ce885..32598fc 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_FM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f8663c9..2cfd4c3 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GB{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index 5d7fb98..513ab4e 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GD{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 67aca40..70ff464 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4383c17..e0f34b5 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GH{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 8339d5d..a5e72c1 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GI{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cb91956..1a0e856 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 1042475..cc49e60 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GU{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Chamorro"{\r
             ss{"ChST"}\r
index 38bb77c..3c87380 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_GY{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Guyana"{\r
             ss{"GYT"}\r
index e5e510e..9ba4bd3 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_HK{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Hong_Kong"{\r
             sd{"HKST"}\r
index d98ac6e..cc15736 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_IE{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Europe:Dublin"{\r
             sd{"IST"}\r
index 700e18f..9fd8b65 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_IL{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 67029d6..db7ea0b 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_IM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c1f2a98..c258675 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_IN{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Asia:Rangoon"{\r
             ec{"Rangoon"}\r
index 3febdeb..bf9042e 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_IO{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5dc72a2..cb85a86 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_JE{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c652c9e..7088750 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_JM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6e04296..9e81dc5 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_KE{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 6d62e0e..59881cc 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_KI{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 45e54a1..4afc89a 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_KN{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6d58211..55d6d3f 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_KY{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 13a5553..69a481e 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_LC{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c2ed7ef..b938af0 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_LR{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index bd406ab..958408c 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_LS{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index b557317..f8aefb9 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 4a543d4..6b90582 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MH{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Pacific:Honolulu"{\r
             sd{"∅∅∅"}\r
index a11f7a7..74718ad 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MO{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Hong_Kong"{\r
             sd{"HKST"}\r
index 525fe8c..97b28ba 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MP{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Pacific:Honolulu"{\r
             sd{"∅∅∅"}\r
index 3339fb3..2a2c3fc 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MS{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e19256d..bee60ae 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MT{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b1762a3..c0275d0 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MU{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index cf843fb..b5ead70 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MW{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 707ddcb..413b28d 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_MY{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Malaysia"{\r
             ss{"MYT"}\r
index e46401a..e452fdf 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NA{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 3e6f026..4a77de6 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NF{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cc47df4..790aeb2 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 03f3145..577e05b 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NL{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4b957cd..d51a078 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NR{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c5b2e0c..5356f56 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NU{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f5e373d..ecd0884 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_NZ{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Australia_Central"{\r
             sd{"ACDT"}\r
index c5c15ca..b88a3d7 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_PG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4178526..136dd36 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_PH{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9b0f0fe..a001c81 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_PK{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 01559d3..e125533 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_PN{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bce0771..c254b8a 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_PW{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 01bf781..fdc49ff 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_RW{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 43ac27d..890787c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SB{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e433337..a051841 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SC{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6de3b62..a10d9d5 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SD{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index e939ca2..40ea5dd 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SE{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0e339fe..087c85d 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Malaysia"{\r
             ss{"MYT"}\r
index 5cbcaae..c3c0dab 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SH{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1e2b996..15ccec4 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SI{\r
     %%Parent{"en_150"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 871a4be..49af1a6 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SL{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index f60f2e4..bc617d2 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SS{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index aa72091..1a736f6 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SX{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9a5b8e4..25c6c91 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_SZ{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 604cc12..49a3483 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TC{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 52631be..5d06d6c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TK{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bdb0299..74f67ee 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TO{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4724625..e333e38 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TT{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5cb9166..8826578 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TV{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8da26a8..71bc912 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_TZ{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 4d2de9e..e697480 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_UG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 1c16a47..86b9c26 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_VC{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index bc9f3a2..c37b20a 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_VG{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f8cae92..a481242 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_VU{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2a1b9bf..df4d89c 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_WS{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 34877cd..284c262 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_ZA{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 4a376d0..9eaa707 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_ZM{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index 6cfbed1..4253a5c 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 en_ZW{\r
     %%Parent{"en_001"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Africa_Central"{\r
             ss{"CAT"}\r
index e06527c..47d2735 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 eo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 4b6da71..5b98977 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abiyán"}\r
@@ -1756,7 +1756,9 @@ es{
             ls{"hora de Niue"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"hora de la isla Norfolk"}\r
+            ld{"hora de verano de la isla Norfolk"}\r
+            lg{"hora de la isla Norfolk"}\r
+            ls{"hora estándar de la isla Norfolk"}\r
         }\r
         "meta:Noronha"{\r
             ld{"hora de verano de Fernando de Noronha"}\r
index 05d1376..ed9d09e 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_419{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "America:Fort_Nelson"{\r
             ec{"Fuerte Nelson"}\r
@@ -99,7 +99,9 @@ es_419{
             ls{"hora de Myanmar (Birmania)"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"hora de la Isla Norfolk"}\r
+            ld{"hora de verano de la Isla Norfolk"}\r
+            lg{"hora de la Isla Norfolk"}\r
+            ls{"hora estándar de la Isla Norfolk"}\r
         }\r
         "meta:Pyongyang"{\r
             ls{"hora de Pionyang"}\r
index 2bd6c11..1b47ea5 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_AR{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Argentina"{\r
             sd{"ARST"}\r
index 16809fe..9f68697 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_BO{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Bolivia"{\r
             ss{"BOT"}\r
index e765032..e988982 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_BR{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1e91d76..a81a6e0 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_BZ{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1114846..3d681f3 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_CL{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Chile"{\r
             sd{"CLST"}\r
index a7e6250..13ddf76 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_CO{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Colombia"{\r
             sd{"COST"}\r
index b053b5d..53a9b2b 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_CR{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3d56222..8bc85d4 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_CU{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f62cc09..774999d 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_DO{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 96f4384..a8a0b0b 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_EC{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Ecuador"{\r
             ss{"ECT"}\r
index 0398290..1a55ba3 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_GT{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5f71431..eb9f0e6 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_HN{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a8b411b..a85ef58 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_MX{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Bujumbura"{\r
             ec{"Buyumbura"}\r
@@ -97,7 +97,9 @@ es_MX{
             ls{"hora de las Islas Marshall"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"hora de la isla Norfolk"}\r
+            ld{"hora de verano de la isla Norfolk"}\r
+            lg{"hora de la isla Norfolk"}\r
+            ls{"hora estándar de la isla Norfolk"}\r
         }\r
         "meta:Pyongyang"{\r
             ls{"hora de Pyongyang"}\r
index caa3931..dc76b15 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_NI{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2e67736..080aa6b 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_PA{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 648889d..038d9f9 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_PE{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Peru"{\r
             sd{"PEST"}\r
index 3af67a6..679cd4a 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_PR{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6374381..4a6d462 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_PY{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d980799..fedd77e 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_SV{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 74911c2..f9f88ea 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_US{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "America:Fort_Nelson"{\r
             ec{"Fort Nelson"}\r
@@ -147,7 +147,9 @@ es_US{
             ls{"hora de las Islas Marshall"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"hora de la isla Norfolk"}\r
+            ld{"hora de verano de la isla Norfolk"}\r
+            lg{"hora de la isla Norfolk"}\r
+            ls{"hora estándar de la isla Norfolk"}\r
         }\r
         "meta:Phoenix_Islands"{\r
             ls{"hora de las islas Fénix"}\r
index 1f62ee4..a5eca7d 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_UY{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Uruguay"{\r
             sd{"UYST"}\r
index 1f19b04..4e9b7f8 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 es_VE{\r
     %%Parent{"es_419"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Venezuela"{\r
             ss{"VET"}\r
index a234b10..49dc6f8 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 et{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1754,7 +1754,9 @@ et{
             ls{"Niue aeg"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Norfolki saarte aeg"}\r
+            ld{"Norfolki saarte suveaeg"}\r
+            lg{"Norfolki saarte aeg"}\r
+            ls{"Norfolki saarte standardaeg"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Fernando de Noronha suveaeg"}\r
index 576bed7..dfd4051 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 eu{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -807,6 +807,9 @@ eu{
         "Asia:Qatar"{\r
             ec{"Qatar"}\r
         }\r
+        "Asia:Qostanay"{\r
+            ec{"Kostanay"}\r
+        }\r
         "Asia:Qyzylorda"{\r
             ec{"Kyzylorda"}\r
         }\r
@@ -1724,7 +1727,9 @@ eu{
             ls{"Niueko ordua"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Norfolk uharteetako ordua"}\r
+            ld{"Norfolk uharteetako udako ordua"}\r
+            lg{"Norfolk uharteetako ordua"}\r
+            ls{"Norfolk uharteetako ordua estandarra"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Fernando de Noronhako udako ordua"}\r
index 0e65344..d218321 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ewo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 839e4e5..12c58ae 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fa{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"آبیجان"}\r
@@ -1736,7 +1736,9 @@ fa{
             ls{"وقت نیوئه"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"وقت جزیرهٔ نورفولک"}\r
+            ld{"وقت تابستانی جزیرهٔ نورفولک"}\r
+            lg{"وقت جزیرهٔ نورفولک"}\r
+            ls{"وقت عادی جزیرهٔ نورفولک"}\r
         }\r
         "meta:Noronha"{\r
             ld{"وقت تابستانی فرناندو دی نورونیا"}\r
index a7ca5b0..7cc0ea1 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ff{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/zone/ff_Adlm.txt b/source/data/zone/ff_Adlm.txt
new file mode 100644 (file)
index 0000000..2a71f75
--- /dev/null
@@ -0,0 +1,1965 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ff_Adlm{\r
+    %%Parent{"root"}\r
+    Version{"37"}\r
+    zoneStrings{\r
+        "Africa:Abidjan"{\r
+            ec{"𞤀𞤦𞤭𞤶𞤢𞤲"}\r
+        }\r
+        "Africa:Accra"{\r
+            ec{"𞤀𞤳𞤢𞤪𞤢"}\r
+        }\r
+        "Africa:Addis_Ababa"{\r
+            ec{"𞤀𞤣𞤭𞤧𞤢𞤦𞤢𞤦𞤢"}\r
+        }\r
+        "Africa:Algiers"{\r
+            ec{"𞤀𞤤𞤶𞤢𞤪𞤭𞥅"}\r
+        }\r
+        "Africa:Asmera"{\r
+            ec{"𞤀𞤧𞤥𞤢𞤪𞤢"}\r
+        }\r
+        "Africa:Bamako"{\r
+            ec{"𞤄𞤢𞤥𞤢𞤳𞤮𞥅"}\r
+        }\r
+        "Africa:Bangui"{\r
+            ec{"𞤄𞤢𞤲𞤺𞤭"}\r
+        }\r
+        "Africa:Banjul"{\r
+            ec{"𞤄𞤢𞤲𞤶𞤵𞤤"}\r
+        }\r
+        "Africa:Bissau"{\r
+            ec{"𞤄𞤭𞤱𞤢𞤱𞤮"}\r
+        }\r
+        "Africa:Blantyre"{\r
+            ec{"𞤄𞤭𞤤𞤢𞤲𞤼𞤭𞤪𞤫"}\r
+        }\r
+        "Africa:Brazzaville"{\r
+            ec{"𞤄𞤢𞤪𞥁𞤢𞤾𞤭𞤤"}\r
+        }\r
+        "Africa:Bujumbura"{\r
+            ec{"𞤄𞤵𞤶𞤵𞤥𞤦𞤵𞤪𞤢"}\r
+        }\r
+        "Africa:Cairo"{\r
+            ec{"𞤑𞤢𞤴𞤪𞤢"}\r
+        }\r
+        "Africa:Casablanca"{\r
+            ec{"𞤑𞤢𞥄𞤧𞤢𞤦𞤵𞤤𞤢𞤲𞤳𞤢𞥄"}\r
+        }\r
+        "Africa:Ceuta"{\r
+            ec{"𞤅𞤭𞥅𞤼𞤢"}\r
+        }\r
+        "Africa:Conakry"{\r
+            ec{"𞤑𞤮𞤲𞤢𞥄𞤳𞤭𞤪𞤭"}\r
+        }\r
+        "Africa:Dakar"{\r
+            ec{"𞤁𞤢𞤳𞤢𞥄𞤪"}\r
+        }\r
+        "Africa:Dar_es_Salaam"{\r
+            ec{"𞤁𞤢𞥄𞤪𞤫-𞤅𞤢𞤤𞤢𞥄𞤥𞤵"}\r
+        }\r
+        "Africa:Djibouti"{\r
+            ec{"𞤔𞤭𞤦𞤵𞥅𞤼𞤭"}\r
+        }\r
+        "Africa:Douala"{\r
+            ec{"𞤁𞤵𞤱𞤢𞤤𞤢"}\r
+        }\r
+        "Africa:El_Aaiun"{\r
+            ec{"𞤂𞤢𞤴𞤵𞥅𞤲𞤢"}\r
+        }\r
+        "Africa:Freetown"{\r
+            ec{"𞤊𞤭𞤪𞤼𞤮𞤲"}\r
+        }\r
+        "Africa:Gaborone"{\r
+            ec{"𞤘𞤢𞤦𞤮𞤪𞤮𞥅𞤲"}\r
+        }\r
+        "Africa:Harare"{\r
+            ec{"𞤖𞤢𞤪𞤢𞤪𞤫"}\r
+        }\r
+        "Africa:Johannesburg"{\r
+            ec{"𞤔𞤮𞤸𞤢𞤲𞤢𞤧𞤦𞤵𞥅𞤪"}\r
+        }\r
+        "Africa:Juba"{\r
+            ec{"𞤔𞤵𞤦𞤢"}\r
+        }\r
+        "Africa:Kampala"{\r
+            ec{"𞤑𞤢𞤥𞤨𞤢𞤤𞤢"}\r
+        }\r
+        "Africa:Khartoum"{\r
+            ec{"𞤝𞤢𞤪𞤼𞤵𞥅𞤥"}\r
+        }\r
+        "Africa:Kigali"{\r
+            ec{"𞤑𞤭𞤺𞤢𞤤𞤭"}\r
+        }\r
+        "Africa:Kinshasa"{\r
+            ec{"𞤑𞤭𞤲𞤧𞤢𞤧𞤢"}\r
+        }\r
+        "Africa:Lagos"{\r
+            ec{"𞤂𞤢𞤺𞤮𞥅𞤧"}\r
+        }\r
+        "Africa:Libreville"{\r
+            ec{"𞤂𞤭𞥅𞤦𞤫𞤪𞤾𞤭𞥅𞤤"}\r
+        }\r
+        "Africa:Lome"{\r
+            ec{"𞤂𞤮𞤥𞤫"}\r
+        }\r
+        "Africa:Luanda"{\r
+            ec{"𞤂𞤵𞤱𞤢𞤲𞤣𞤢𞥄"}\r
+        }\r
+        "Africa:Lubumbashi"{\r
+            ec{"𞤂𞤵𞤦𞤵𞤥𞤦𞤢𞥃𞤭"}\r
+        }\r
+        "Africa:Lusaka"{\r
+            ec{"𞤂𞤵𞤧𞤢𞤳𞤢"}\r
+        }\r
+        "Africa:Malabo"{\r
+            ec{"𞤃𞤢𞤤𞤢𞤦𞤮𞥅"}\r
+        }\r
+        "Africa:Maputo"{\r
+            ec{"𞤃𞤢𞤨𞤵𞤼𞤮"}\r
+        }\r
+        "Africa:Maseru"{\r
+            ec{"𞤃𞤢𞤧𞤫𞤪𞤵"}\r
+        }\r
+        "Africa:Mbabane"{\r
+            ec{"𞤐𞥋𞤄𞤢𞤦𞤢𞥄𞤲𞤫"}\r
+        }\r
+        "Africa:Mogadishu"{\r
+            ec{"𞤃𞤵𞤹𞥆𞤢𞤧𞤮𞥅"}\r
+        }\r
+        "Africa:Monrovia"{\r
+            ec{"𞤃𞤮𞤪𞤮𞤦𞤭𞤴𞤢"}\r
+        }\r
+        "Africa:Nairobi"{\r
+            ec{"𞤐𞤢𞤴𞤪𞤮𞤦𞤭"}\r
+        }\r
+        "Africa:Ndjamena"{\r
+            ec{"𞤐𞥋𞤔𞤢𞤥𞤫𞤲𞤢"}\r
+        }\r
+        "Africa:Niamey"{\r
+            ec{"𞤐𞤭𞤴𞤢𞤥𞤫"}\r
+        }\r
+        "Africa:Nouakchott"{\r
+            ec{"𞤐𞤵𞤱𞤢𞥄𞤳𞥃𞤵𞥅𞤼"}\r
+        }\r
+        "Africa:Ouagadougou"{\r
+            ec{"𞤏𞤢𞤺𞤢𞤣𞤴𞤺𞤵"}\r
+        }\r
+        "Africa:Porto-Novo"{\r
+            ec{"𞤆𞤮𞤪𞤼𞤮-𞤐𞤮𞤾𞤮𞥅"}\r
+        }\r
+        "Africa:Sao_Tome"{\r
+            ec{"𞤅𞤢𞤱𞤮-𞤚𞤮𞤥𞤫𞥅"}\r
+        }\r
+        "Africa:Tripoli"{\r
+            ec{"𞤚𞤪𞤭𞤨𞤮𞤤𞤭"}\r
+        }\r
+        "Africa:Tunis"{\r
+            ec{"𞤚𞤵𞥅𞤲𞤵𞤧"}\r
+        }\r
+        "Africa:Windhoek"{\r
+            ec{"𞤏𞤭𞤲𞤣𞤵𞥅𞤳"}\r
+        }\r
+        "America:Adak"{\r
+            ec{"𞤀𞤣𞤢𞤳"}\r
+        }\r
+        "America:Anchorage"{\r
+            ec{"𞤀𞤲𞤳𞤮𞤪𞤢𞥄𞤶"}\r
+        }\r
+        "America:Anguilla"{\r
+            ec{"𞤀𞤲𞤺𞤭𞤤𞤢𞥄"}\r
+        }\r
+        "America:Antigua"{\r
+            ec{"𞤀𞤲𞤼𞤭𞤺𞤢"}\r
+        }\r
+        "America:Araguaina"{\r
+            ec{"𞤀𞤪𞤢𞤺𞤵𞤱𞤢𞤲𞤢"}\r
+        }\r
+        "America:Argentina:La_Rioja"{\r
+            ec{"𞤂𞤢-𞤈𞤭𞤴𞤮𞤸𞤢"}\r
+        }\r
+        "America:Argentina:Rio_Gallegos"{\r
+            ec{"𞤈𞤭𞤮-𞤘𞤢𞤤𞤫𞤺𞤮𞤧"}\r
+        }\r
+        "America:Argentina:Salta"{\r
+            ec{"𞤅𞤢𞤤𞤼𞤢"}\r
+        }\r
+        "America:Argentina:San_Juan"{\r
+            ec{"𞤅𞤢𞤲-𞤝𞤵𞤱𞤢𞥄𞤲"}\r
+        }\r
+        "America:Argentina:San_Luis"{\r
+            ec{"𞤅𞤢𞤲-𞤂𞤵𞤱𞤭𞥅𞤧"}\r
+        }\r
+        "America:Argentina:Tucuman"{\r
+            ec{"𞤚𞤵𞤳𞤵𞤥𞤢𞥄𞤲"}\r
+        }\r
+        "America:Argentina:Ushuaia"{\r
+            ec{"𞤓𞤧𞤱𞤢𞤭𞥅𞤶"}\r
+        }\r
+        "America:Aruba"{\r
+            ec{"𞤀𞤪𞤵𞤦𞤢"}\r
+        }\r
+        "America:Asuncion"{\r
+            ec{"𞤀𞤧𞤵𞤲𞤧𞤭𞤴𞤮𞤲"}\r
+        }\r
+        "America:Bahia"{\r
+            ec{"𞤄𞤢𞤸𞤭𞤴𞤢"}\r
+        }\r
+        "America:Bahia_Banderas"{\r
+            ec{"𞤄𞤢𞤸𞤭𞤴𞤢𞥄 𞤣𞤫 𞤄𞤢𞤲𞤣𞤫𞤪𞤢𞥄𞤧"}\r
+        }\r
+        "America:Barbados"{\r
+            ec{"𞤄𞤢𞤪𞤦𞤫𞤣𞤮𞥅𞤧"}\r
+        }\r
+        "America:Belem"{\r
+            ec{"𞤄𞤫𞤤𞤫𞤥"}\r
+        }\r
+        "America:Belize"{\r
+            ec{"𞤄𞤫𞤤𞤭𞥅𞤶"}\r
+        }\r
+        "America:Blanc-Sablon"{\r
+            ec{"𞤄𞤢𞤤𞤢𞤲𞤳-𞤅𞤢𞤦𞤢𞤤𞤮𞤲"}\r
+        }\r
+        "America:Boa_Vista"{\r
+            ec{"𞤄𞤮𞤱𞤢-𞤜𞤭𞤧𞤼𞤢"}\r
+        }\r
+        "America:Bogota"{\r
+            ec{"𞤄𞤮𞤺𞤮𞤼𞤢"}\r
+        }\r
+        "America:Boise"{\r
+            ec{"𞤄𞤮𞤴𞤶𞤭𞥅"}\r
+        }\r
+        "America:Buenos_Aires"{\r
+            ec{"𞤄𞤭𞤴𞤲𞤮𞤧-𞤉𞥅𞤶𞤫𞤪𞤫𞥅𞤧"}\r
+        }\r
+        "America:Cambridge_Bay"{\r
+            ec{"𞤑𞤢𞤥𞤦𞤭𞤪𞤭𞥅𞤶-𞤄𞤫𞥅"}\r
+        }\r
+        "America:Campo_Grande"{\r
+            ec{"𞤑𞤢𞤥𞤨𞤮-𞤘𞤪𞤢𞤲𞤣𞤫"}\r
+        }\r
+        "America:Cancun"{\r
+            ec{"𞤑𞤢𞤲𞤳𞤵𞥅𞤲"}\r
+        }\r
+        "America:Caracas"{\r
+            ec{"𞤑𞤢𞤪𞤢𞤳𞤢𞤧"}\r
+        }\r
+        "America:Catamarca"{\r
+            ec{"𞤑𞤢𞤼𞤢𞤥𞤢𞤪𞤳𞤢𞥄"}\r
+        }\r
+        "America:Cayenne"{\r
+            ec{"𞤑𞤢𞤴𞤫𞥅𞤲"}\r
+        }\r
+        "America:Cayman"{\r
+            ec{"𞤑𞤫𞤴𞤥𞤢𞥄𞤲"}\r
+        }\r
+        "America:Chicago"{\r
+            ec{"𞤕𞤭𞤳𞤢𞥄𞤺𞤮𞥅"}\r
+        }\r
+        "America:Chihuahua"{\r
+            ec{"𞤕𞤭𞤱𞤢𞥄𞤱𞤢"}\r
+        }\r
+        "America:Coral_Harbour"{\r
+            ec{"𞤀𞤼𞤭𞤳𞤮𞤳𞤢𞤲"}\r
+        }\r
+        "America:Cordoba"{\r
+            ec{"𞤑𞤮𞤪𞤣𞤮𞤦𞤢𞥄"}\r
+        }\r
+        "America:Costa_Rica"{\r
+            ec{"𞤑𞤮𞤧𞤼𞤢-𞤈𞤭𞤳𞥆𞤢𞥄"}\r
+        }\r
+        "America:Creston"{\r
+            ec{"𞤑𞤪𞤫𞤧𞤼𞤮𞤲"}\r
+        }\r
+        "America:Cuiaba"{\r
+            ec{"𞤑𞤵𞤶𞤢𞤦𞤢𞥄"}\r
+        }\r
+        "America:Curacao"{\r
+            ec{"𞤑𞤵𞤪𞤢𞤧𞤢𞥄𞤱"}\r
+        }\r
+        "America:Danmarkshavn"{\r
+            ec{"𞤁𞤢𞥄𞤲𞤥𞤢𞤪𞤳𞥃𞤢𞥄𞤾𞤲"}\r
+        }\r
+        "America:Dawson"{\r
+            ec{"𞤁𞤮𞥅𞤧𞤮𞤲"}\r
+        }\r
+        "America:Dawson_Creek"{\r
+            ec{"𞤁𞤮𞥅𞤧𞤮𞤲-𞤑𞤪𞤫𞤳"}\r
+        }\r
+        "America:Denver"{\r
+            ec{"𞤁𞤫𞤲𞤾𞤮𞥅"}\r
+        }\r
+        "America:Detroit"{\r
+            ec{"𞤁𞤭𞤼𞤪𞤮𞤴𞤼"}\r
+        }\r
+        "America:Dominica"{\r
+            ec{"𞤁𞤮𞤥𞤭𞤲𞤭𞤳𞤢𞥄"}\r
+        }\r
+        "America:Edmonton"{\r
+            ec{"𞤉𞤣𞤥𞤮𞤲𞤼𞤮𞤲"}\r
+        }\r
+        "America:Eirunepe"{\r
+            ec{"𞤉𞤪𞤵𞤲𞤫𞤨𞤫"}\r
+        }\r
+        "America:El_Salvador"{\r
+            ec{"𞤉𞤤-𞤅𞤢𞤤𞤾𞤢𞤣𞤮𞥅𞤪"}\r
+        }\r
+        "America:Fort_Nelson"{\r
+            ec{"𞤊𞤮𞤪𞤼-𞤐𞤫𞤤𞤧𞤮𞤲;"}\r
+        }\r
+        "America:Fortaleza"{\r
+            ec{"𞤊𞤮𞤪𞤼𞤢𞤤𞤫𞥅𞥁𞤢"}\r
+        }\r
+        "America:Glace_Bay"{\r
+            ec{"𞤘𞤤𞤫𞤧-𞤄𞤫𞥅"}\r
+        }\r
+        "America:Godthab"{\r
+            ec{"𞤐𞤵𞥅𞤳"}\r
+        }\r
+        "America:Goose_Bay"{\r
+            ec{"𞤘𞤮𞥅𞤧-𞤄𞤫𞥅"}\r
+        }\r
+        "America:Grand_Turk"{\r
+            ec{"𞤘𞤪𞤢𞤲𞤣-𞤚𞤵𞤪𞤳"}\r
+        }\r
+        "America:Grenada"{\r
+            ec{"𞤘𞤪𞤫𞤲𞤢𞥄𞤣𞤢"}\r
+        }\r
+        "America:Guadeloupe"{\r
+            ec{"𞤘𞤵𞤱𞤢𞤣𞤫𞤤𞤵𞤨𞥆𞤫𞥅"}\r
+        }\r
+        "America:Guatemala"{\r
+            ec{"𞤘𞤵𞤱𞤢𞤼𞤫𞤥𞤢𞤤𞤢"}\r
+        }\r
+        "America:Guayaquil"{\r
+            ec{"𞤘𞤵𞤴𞤢𞤳𞤭𞤤"}\r
+        }\r
+        "America:Guyana"{\r
+            ec{"𞤘𞤵𞤴𞤢𞤲𞤢𞥄"}\r
+        }\r
+        "America:Halifax"{\r
+            ec{"𞤖𞤢𞤤𞤭𞤬𞤢𞤳𞤧𞤭"}\r
+        }\r
+        "America:Havana"{\r
+            ec{"𞤖𞤢𞤾𞤢𞤲𞤢𞥄"}\r
+        }\r
+        "America:Hermosillo"{\r
+            ec{"𞤖𞤢𞤪𞤥𞤮𞤧𞤭𞤤𞤭𞤴𞤮𞥅"}\r
+        }\r
+        "America:Indiana:Knox"{\r
+            ec{"𞤐𞤮𞤳𞤧𞤵, 𞤋𞤣𞤭𞤴𞤢𞤲𞤢𞥄"}\r
+        }\r
+        "America:Indiana:Marengo"{\r
+            ec{"𞤃𞤢𞤪𞤫𞤲𞤺𞤮, 𞤋𞤲𞤣𞤭𞤴𞤢𞤲𞤢𞥄"}\r
+        }\r
+        "America:Indiana:Petersburg"{\r
+            ec{"𞤆𞤫𞤼𞤮𞤧𞤄𞤵𞥅𞤪𞤺, 𞤋𞤲𞤣𞤭𞤴𞤢𞤲𞤢𞥄"}\r
+        }\r
+        "America:Indiana:Tell_City"{\r
+            ec{"𞤚𞤫𞤤-𞤅𞤭𞤼𞤭𞥅, 𞤋𞤲𞤣𞤭𞤴𞤢𞤲𞤢𞥄"}\r
+        }\r
+        "America:Indiana:Vevay"{\r
+            ec{"𞤜𞤫𞥅𞤾𞤫𞤴, 𞤋𞤲𞤣𞤭𞤴𞤢𞤲𞤢𞥄"}\r
+        }\r
+        "America:Indiana:Vincennes"{\r
+            ec{"𞤜𞤭𞤲𞤧𞤫𞥅𞤲, 𞤋𞤲𞤣𞤭𞤴𞤢𞤲𞤢𞥄"}\r
+        }\r
+        "America:Indiana:Winamac"{\r
+            ec{"𞤏𞤭𞤲𞤢𞤥𞤢𞤳, 𞤋𞤲𞤣𞤭𞤴𞤢𞤲𞤢𞥄"}\r
+        }\r
+        "America:Indianapolis"{\r
+            ec{"𞤋𞤲𞤣𞤭𞤴𞤢𞤲𞤢𞥄𞤨𞤮𞤤𞤭𞤧"}\r
+        }\r
+        "America:Inuvik"{\r
+            ec{"𞤋𞤲𞤵𞤾𞤭𞤳"}\r
+        }\r
+        "America:Iqaluit"{\r
+            ec{"𞤋𞤳𞤢𞤤𞤵𞤱𞤭𞤼"}\r
+        }\r
+        "America:Jamaica"{\r
+            ec{"𞤔𞤢𞤥𞤢𞥄𞤴𞤳𞤢"}\r
+        }\r
+        "America:Jujuy"{\r
+            ec{"𞤔𞤵𞤶𞤵𞤴"}\r
+        }\r
+        "America:Juneau"{\r
+            ec{"𞤔𞤵𞥅𞤲𞤮𞥅"}\r
+        }\r
+        "America:Kentucky:Monticello"{\r
+            ec{"𞤃𞤮𞤲𞤼𞤭𞤷𞤫𞤤𞤮𞥅, 𞤑𞤫𞤲𞤼𞤮𞥅𞤳𞤭𞥅"}\r
+        }\r
+        "America:Kralendijk"{\r
+            ec{"𞤑𞤪𞤢𞤤𞤫𞤲𞤶𞤭𞥅𞤳"}\r
+        }\r
+        "America:La_Paz"{\r
+            ec{"𞤂𞤢-𞤆𞤢𞥄𞥁"}\r
+        }\r
+        "America:Lima"{\r
+            ec{"𞤂𞤭𞥅𞤥𞤢"}\r
+        }\r
+        "America:Los_Angeles"{\r
+            ec{"𞤂𞤮𞤧-𞤀𞤺𞤫𞤤𞤫𞥅𞤧"}\r
+        }\r
+        "America:Louisville"{\r
+            ec{"𞤂𞤵𞤭𞤾𞤭𞤤"}\r
+        }\r
+        "America:Lower_Princes"{\r
+            ec{"𞤂𞤮𞤱𞤮 𞤆𞤪𞤫𞤲𞤧𞤫𞥅𞤧 𞤑𞤮𞤣𞤮𞥅"}\r
+        }\r
+        "America:Maceio"{\r
+            ec{"𞤃𞤢𞤧𞤫𞤴𞤮"}\r
+        }\r
+        "America:Managua"{\r
+            ec{"𞤃𞤢𞤲𞤢𞤱𞤢𞥄"}\r
+        }\r
+        "America:Manaus"{\r
+            ec{"𞤃𞤢𞤲𞤵𞥅𞤧"}\r
+        }\r
+        "America:Marigot"{\r
+            ec{"𞤃𞤢𞤪𞤭𞤺𞤮𞥅"}\r
+        }\r
+        "America:Martinique"{\r
+            ec{"𞤃𞤢𞤪𞤼𞤭𞤲𞤭𞤳"}\r
+        }\r
+        "America:Matamoros"{\r
+            ec{"𞤃𞤢𞤼𞤢𞤥𞤮𞤪𞤮𞥅𞤧"}\r
+        }\r
+        "America:Mazatlan"{\r
+            ec{"𞤃𞤢𞥁𞤢𞤼𞤤𞤢𞤲"}\r
+        }\r
+        "America:Mendoza"{\r
+            ec{"𞤃𞤫𞤲𞤣𞤮𞥅𞥁𞤢"}\r
+        }\r
+        "America:Menominee"{\r
+            ec{"𞤃𞤫𞤲𞤮𞤥𞤭𞤲𞤭"}\r
+        }\r
+        "America:Merida"{\r
+            ec{"𞤃𞤫𞤪𞤭𞤣𞤢"}\r
+        }\r
+        "America:Metlakatla"{\r
+            ec{"𞤃𞤫𞤼𞤤𞤢𞤳𞤢𞤼𞤤𞤢"}\r
+        }\r
+        "America:Mexico_City"{\r
+            ec{"𞤃𞤫𞤳𞤧𞤭𞤳𞤮𞥅 𞤅𞤭𞤼𞤭𞥅"}\r
+        }\r
+        "America:Miquelon"{\r
+            ec{"𞤃𞤫𞤳𞤫𞤤𞤮𞤲"}\r
+        }\r
+        "America:Moncton"{\r
+            ec{"𞤃𞤮𞤲𞤳𞤼𞤮𞥅𞤲"}\r
+        }\r
+        "America:Monterrey"{\r
+            ec{"𞤃𞤮𞤲𞤼𞤫𞤪𞤫𞥅𞤴"}\r
+        }\r
+        "America:Montevideo"{\r
+            ec{"𞤃𞤮𞤲𞤼𞤫𞤾𞤭𞤣𞤭𞤴𞤮𞥅"}\r
+        }\r
+        "America:Montserrat"{\r
+            ec{"𞤃𞤮𞤲𞤼𞤧𞤭𞤪𞤢𞤴𞤼"}\r
+        }\r
+        "America:Nassau"{\r
+            ec{"𞤐𞤢𞤧𞤮𞥅"}\r
+        }\r
+        "America:New_York"{\r
+            ec{"𞤐𞤫𞤱-𞤒𞤮𞤪𞤳"}\r
+        }\r
+        "America:Nipigon"{\r
+            ec{"𞤐𞤭𞤨𞤭𞤺𞤮𞤲"}\r
+        }\r
+        "America:Nome"{\r
+            ec{"𞤐𞤮𞤱𞤥𞤵"}\r
+        }\r
+        "America:Noronha"{\r
+            ec{"𞤃𞤢𞤪𞤮𞤲𞤿𞤢"}\r
+        }\r
+        "America:North_Dakota:Beulah"{\r
+            ec{"𞤄𞤵𞤤𞤢𞥄, 𞤐𞤮𞤪𞤬-𞤁𞤢𞤳𞤮𞤼𞤢"}\r
+        }\r
+        "America:North_Dakota:Center"{\r
+            ec{"𞤅𞤫𞤲𞤼𞤮𞥅, 𞤐𞤮𞤪𞤬-𞤁𞤢𞤳𞤮𞤼𞤢𞥄"}\r
+        }\r
+        "America:North_Dakota:New_Salem"{\r
+            ec{"𞤐𞤫𞤱-𞤅𞤫𞤤𞤫𞤥, 𞤐𞤮𞤪𞤬-𞤁𞤢𞤳𞤮𞤼𞤢𞥄"}\r
+        }\r
+        "America:Ojinaga"{\r
+            ec{"𞤌𞤶𞤭𞤲𞤢𞤺𞤢"}\r
+        }\r
+        "America:Panama"{\r
+            ec{"𞤆𞤢𞤲𞤢𞤲𞤥𞤢𞥄"}\r
+        }\r
+        "America:Pangnirtung"{\r
+            ec{"𞤆𞤢𞤲𞤺"}\r
+        }\r
+        "America:Paramaribo"{\r
+            ec{"𞤆𞤢𞤪𞤢𞤥𞤢𞤪𞤭𞤦𞤮"}\r
+        }\r
+        "America:Phoenix"{\r
+            ec{"𞤊𞤭𞤲𞤭𞤳𞤧"}\r
+        }\r
+        "America:Port-au-Prince"{\r
+            ec{"𞤆𞤮𞤪𞤼-𞤮-𞤆𞤪𞤫𞤲𞤧"}\r
+        }\r
+        "America:Port_of_Spain"{\r
+            ec{"𞤆𞤮𞤪𞤼 𞤮𞤬 𞤅𞤭𞤨𞤫𞥅𞤲"}\r
+        }\r
+        "America:Porto_Velho"{\r
+            ec{"𞤆𞤮𞤪𞤼𞤮-𞤜𞤫𞤤𞤸𞤮𞥅"}\r
+        }\r
+        "America:Puerto_Rico"{\r
+            ec{"𞤆𞤮𞤪𞤼-𞤈𞤭𞤳𞤮𞥅"}\r
+        }\r
+        "America:Punta_Arenas"{\r
+            ec{"𞤆𞤵𞤲𞤼𞤢-𞤀𞤪𞤫𞤲𞤢𞥁"}\r
+        }\r
+        "America:Rainy_River"{\r
+            ec{"𞤈𞤫𞤲𞤭𞥅-𞤈𞤭𞤾𞤮𞥅"}\r
+        }\r
+        "America:Rankin_Inlet"{\r
+            ec{"𞤈𞤢𞤲𞤳𞤭𞤲 𞤋𞤲𞤤𞤫𞤼"}\r
+        }\r
+        "America:Recife"{\r
+            ec{"𞤈𞤫𞤧𞤭𞤬𞤭"}\r
+        }\r
+        "America:Regina"{\r
+            ec{"𞤈𞤭𞤺𞤭𞤲𞤢𞥄"}\r
+        }\r
+        "America:Resolute"{\r
+            ec{"𞤈𞤭𞤧𞤮𞤤𞤵𞥅𞤼"}\r
+        }\r
+        "America:Rio_Branco"{\r
+            ec{"𞤈𞤭𞤴𞤮-𞤄𞤪𞤢𞤲𞤳𞤮"}\r
+        }\r
+        "America:Santarem"{\r
+            ec{"𞤅𞤢𞤲𞤼𞤢𞤪𞤫𞥅𞤥"}\r
+        }\r
+        "America:Santiago"{\r
+            ec{"𞤅𞤢𞤲𞤼𞤭𞤴𞤢𞤺𞤮𞥅"}\r
+        }\r
+        "America:Santo_Domingo"{\r
+            ec{"𞤅𞤢𞤲𞤼𞤢-𞤁𞤮𞤥𞤭𞤲𞤺𞤮𞥅"}\r
+        }\r
+        "America:Sao_Paulo"{\r
+            ec{"𞤅𞤢𞥄𞤱-𞤆𞤮𞤤𞤮𞥅"}\r
+        }\r
+        "America:Scoresbysund"{\r
+            ec{"‮𞤋𞤼𞥆𞤮𞤳𞤮𞤪𞤼𞤮𞥅𞤪𞤥𞤭𞥅𞤼"}\r
+        }\r
+        "America:Sitka"{\r
+            ec{"𞤅𞤭𞤼𞤳𞤢"}\r
+        }\r
+        "America:St_Barthelemy"{\r
+            ec{"𞤅𞤫𞤲𞤼-𞤄𞤢𞤼𞤫𞤤𞤫𞤥𞤭𞥅"}\r
+        }\r
+        "America:St_Johns"{\r
+            ec{"𞤅𞤫𞤲𞤼-𞤔𞤮𞥅𞤲𞤧"}\r
+        }\r
+        "America:St_Kitts"{\r
+            ec{"𞤅𞤫𞤲𞤼-𞤑𞤭𞤼𞥆𞤭𞤧"}\r
+        }\r
+        "America:St_Lucia"{\r
+            ec{"𞤅𞤫𞤲𞤼-𞤂𞤵𞤧𞤭𞤢"}\r
+        }\r
+        "America:St_Thomas"{\r
+            ec{"𞤅𞤫𞤲𞤼-𞤚𞤮𞤥𞤢𞥄𞤧"}\r
+        }\r
+        "America:St_Vincent"{\r
+            ec{"𞤅𞤫𞤲𞤼-𞤜𞤫𞤲𞤧𞤫𞤲𞤼"}\r
+        }\r
+        "America:Swift_Current"{\r
+            ec{"𞤅𞤭𞤬𞤼-𞤑𞤭𞤪𞥆𞤢𞤲𞤼"}\r
+        }\r
+        "America:Tegucigalpa"{\r
+            ec{"𞤚𞤵𞤺𞤵𞤧𞤭𞤺𞤵𞤤𞤨𞤢"}\r
+        }\r
+        "America:Thule"{\r
+            ec{"𞤚𞤵𞤤𞤫"}\r
+        }\r
+        "America:Thunder_Bay"{\r
+            ec{"𞤚𞤵𞤲𞤣𞤮𞥅 𞤄𞤫𞥅"}\r
+        }\r
+        "America:Tijuana"{\r
+            ec{"𞤚𞤭𞤶𞤵𞤱𞤢𞥄𞤲𞤢"}\r
+        }\r
+        "America:Toronto"{\r
+            ec{"𞤚𞤮𞤪𞤮𞤲𞤼𞤮𞥅"}\r
+        }\r
+        "America:Tortola"{\r
+            ec{"𞤚𞤮𞤪𞤼𞤮𞤤𞤢𞥄"}\r
+        }\r
+        "America:Vancouver"{\r
+            ec{"𞤜𞤫𞤲𞤳𞤵𞥅𞤾𞤮"}\r
+        }\r
+        "America:Whitehorse"{\r
+            ec{"𞤏𞤢𞤴𞤼𞤸𞤮𞤪𞤧𞤫"}\r
+        }\r
+        "America:Winnipeg"{\r
+            ec{"𞤏𞤭𞤲𞤭𞤨𞤫𞥅𞤺"}\r
+        }\r
+        "America:Yakutat"{\r
+            ec{"𞤒𞤢𞤳𞤵𞤼𞤢𞤼"}\r
+        }\r
+        "America:Yellowknife"{\r
+            ec{"𞤒𞤫𞤤𞤮𞥅𞤲𞤢𞤴𞤬"}\r
+        }\r
+        "Antarctica:Casey"{\r
+            ec{"𞤑𞤢𞤴𞤧𞤫"}\r
+        }\r
+        "Antarctica:Davis"{\r
+            ec{"𞤁𞤢𞤾𞤭𞥅𞤧"}\r
+        }\r
+        "Antarctica:DumontDUrville"{\r
+            ec{"𞤁𞤭𞤥𞤮𞤲𞤼𞤵-𞤁𞤵𞤪𞤾𞤭𞤤"}\r
+        }\r
+        "Antarctica:Macquarie"{\r
+            ec{"𞤃𞤢𞤳𞤢𞥄𞤪𞤭"}\r
+        }\r
+        "Antarctica:Mawson"{\r
+            ec{"𞤃𞤢𞤱𞤧𞤮𞤲"}\r
+        }\r
+        "Antarctica:McMurdo"{\r
+            ec{"𞤃𞤢𞤳𞤥𞤵𞥅𞤪𞤣𞤮"}\r
+        }\r
+        "Antarctica:Palmer"{\r
+            ec{"𞤆𞤢𞤤𞤥𞤫𞥅𞤪"}\r
+        }\r
+        "Antarctica:Rothera"{\r
+            ec{"𞤈𞤮𞤼𞤫𞤪𞤢"}\r
+        }\r
+        "Antarctica:Syowa"{\r
+            ec{"𞤅𞤢𞥄𞤴𞤵𞤱𞤢"}\r
+        }\r
+        "Antarctica:Troll"{\r
+            ec{"𞤚𞤢𞤪𞤮𞥅𞤤"}\r
+        }\r
+        "Antarctica:Vostok"{\r
+            ec{"𞤜𞤮𞤧𞤼𞤮𞤳"}\r
+        }\r
+        "Arctic:Longyearbyen"{\r
+            ec{"𞤂𞤮𞤲𞤶𞤭𞤪𞤦𞤭𞤴𞤫𞥅𞤲"}\r
+        }\r
+        "Asia:Aden"{\r
+            ec{"𞤀𞤣𞤫𞤲"}\r
+        }\r
+        "Asia:Almaty"{\r
+            ec{"𞤀𞤤𞤥𞤢𞥄𞤼𞤭"}\r
+        }\r
+        "Asia:Amman"{\r
+            ec{"𞤀𞤥𞤢𞥄𞤲𞤵"}\r
+        }\r
+        "Asia:Anadyr"{\r
+            ec{"𞤀𞤲𞤢𞤣𞤭𞥅𞤪"}\r
+        }\r
+        "Asia:Aqtau"{\r
+            ec{"𞤀𞤳𞤼𞤢𞥄𞤱𞤵"}\r
+        }\r
+        "Asia:Aqtobe"{\r
+            ec{"𞤀𞤳𞤼𞤮𞥅𞤦𞤫"}\r
+        }\r
+        "Asia:Ashgabat"{\r
+            ec{"𞤀𞤧𞤺𞤢𞤦𞤢𞤼𞤵"}\r
+        }\r
+        "Asia:Atyrau"{\r
+            ec{"𞤀𞤼𞤭𞤪𞤢𞤱𞤵"}\r
+        }\r
+        "Asia:Baghdad"{\r
+            ec{"𞤄𞤢𞤿𞤣𞤢𞥄𞤣𞤵"}\r
+        }\r
+        "Asia:Bahrain"{\r
+            ec{"𞤄𞤢𞤸𞤪𞤢𞤴𞤲𞤵"}\r
+        }\r
+        "Asia:Baku"{\r
+            ec{"𞤄𞤢𞥄𞤳𞤵"}\r
+        }\r
+        "Asia:Bangkok"{\r
+            ec{"𞤄𞤢𞤲𞤳𞤮𞥅𞤳𞤵"}\r
+        }\r
+        "Asia:Barnaul"{\r
+            ec{"𞤄𞤢𞤪𞤲𞤢𞥄𞤤𞤵"}\r
+        }\r
+        "Asia:Beirut"{\r
+            ec{"𞤄𞤫𞤴𞤪𞤵𞥅𞤼𞤵"}\r
+        }\r
+        "Asia:Bishkek"{\r
+            ec{"𞤄𞤭𞤧𞤳𞤫𞥅𞤳𞤵"}\r
+        }\r
+        "Asia:Brunei"{\r
+            ec{"𞤄𞤵𞤪𞤲𞤢𞤴"}\r
+        }\r
+        "Asia:Calcutta"{\r
+            ec{"𞤑𞤮𞤤𞤳𞤢𞤼𞤢"}\r
+        }\r
+        "Asia:Chita"{\r
+            ec{"𞤕𞤭𞥅𞤼𞤢"}\r
+        }\r
+        "Asia:Choibalsan"{\r
+            ec{"𞤕𞤮𞤴𞤦𞤢𞤤𞤧𞤢𞤲"}\r
+        }\r
+        "Asia:Colombo"{\r
+            ec{"𞤑𞤮𞤤𞤮𞤥𞤦𞤢"}\r
+        }\r
+        "Asia:Damascus"{\r
+            ec{"𞤁𞤢𞤥𞤢𞤧𞤹𞤢"}\r
+        }\r
+        "Asia:Dhaka"{\r
+            ec{"𞤁𞤢𞤳𞤢𞥄"}\r
+        }\r
+        "Asia:Dili"{\r
+            ec{"𞤁𞤫𞤤𞤭"}\r
+        }\r
+        "Asia:Dubai"{\r
+            ec{"𞤁𞤵𞤦𞤢𞤴"}\r
+        }\r
+        "Asia:Dushanbe"{\r
+            ec{"𞤁𞤵𞤧𞤢𞤲𞤦𞤫"}\r
+        }\r
+        "Asia:Famagusta"{\r
+            ec{"𞤊𞤢𞤥𞤢𞤺𞤵𞤧𞤼𞤢"}\r
+        }\r
+        "Asia:Gaza"{\r
+            ec{"𞤘𞤢𞥄𞥁𞤢"}\r
+        }\r
+        "Asia:Hebron"{\r
+            ec{"𞤝𞤭𞤤𞤢𞥄𞤤𞤵"}\r
+        }\r
+        "Asia:Hong_Kong"{\r
+            ec{"𞤖𞤮𞤲𞤳𞤮𞤲"}\r
+        }\r
+        "Asia:Hovd"{\r
+            ec{"𞤖𞤮𞤬𞤣𞤵"}\r
+        }\r
+        "Asia:Irkutsk"{\r
+            ec{"𞤋𞤪𞤳𞤵𞤼𞤭𞤧𞤳𞤵"}\r
+        }\r
+        "Asia:Jakarta"{\r
+            ec{"𞤔𞤢𞤳𞤢𞤪𞤼𞤢𞥄"}\r
+        }\r
+        "Asia:Jayapura"{\r
+            ec{"𞤔𞤢𞤴𞤢𞤨𞤵𞤪𞤢"}\r
+        }\r
+        "Asia:Jerusalem"{\r
+            ec{"𞤗𞤵𞤣𞤵𞤧𞤵"}\r
+        }\r
+        "Asia:Kabul"{\r
+            ec{"𞤑𞤢𞤦𞤵𞤤"}\r
+        }\r
+        "Asia:Kamchatka"{\r
+            ec{"𞤑𞤢𞤥𞤷𞤢𞤼𞤭𞤳𞤢"}\r
+        }\r
+        "Asia:Karachi"{\r
+            ec{"𞤑𞤢𞤪𞤢𞤷𞤭𞥅"}\r
+        }\r
+        "Asia:Katmandu"{\r
+            ec{"𞤑𞤢𞤼𞤭𞤥𞤢𞤲𞤣𞤵"}\r
+        }\r
+        "Asia:Khandyga"{\r
+            ec{"𞤝𞤢𞤲𞤣𞤭𞤺𞤢"}\r
+        }\r
+        "Asia:Krasnoyarsk"{\r
+            ec{"𞤑𞤢𞤪𞤢𞤧𞤲𞤮𞤴𞤢𞤪𞤧𞤵𞤳𞤵"}\r
+        }\r
+        "Asia:Kuala_Lumpur"{\r
+            ec{"𞤑𞤵𞤱𞤢𞤤𞤢-𞤂𞤮𞤥𞤨𞤵𞥅𞤪"}\r
+        }\r
+        "Asia:Kuching"{\r
+            ec{"𞤑𞤵𞤷𞤭𞤲"}\r
+        }\r
+        "Asia:Kuwait"{\r
+            ec{"𞤑𞤵𞤱𞤢𞤴𞤼𞤭"}\r
+        }\r
+        "Asia:Macau"{\r
+            ec{"𞤃𞤢𞤳𞤢𞤱𞤮"}\r
+        }\r
+        "Asia:Magadan"{\r
+            ec{"𞤃𞤢𞤺𞤢𞤣𞤢𞤲"}\r
+        }\r
+        "Asia:Makassar"{\r
+            ec{"𞤃𞤢𞤳𞤢𞤧𞤢𞥄𞤪"}\r
+        }\r
+        "Asia:Manila"{\r
+            ec{"𞤃𞤢𞤲𞤭𞤤𞤢"}\r
+        }\r
+        "Asia:Muscat"{\r
+            ec{"𞤃𞤵𞤧𞤳𞤢𞤼𞤵"}\r
+        }\r
+        "Asia:Nicosia"{\r
+            ec{"𞤐𞤭𞤳𞤮𞤧𞤭𞤴𞤢"}\r
+        }\r
+        "Asia:Novokuznetsk"{\r
+            ec{"𞤐𞤮𞤾𞤮𞤳𞤵𞥁𞤲𞤫𞤼𞤭𞤧𞤳𞤵"}\r
+        }\r
+        "Asia:Novosibirsk"{\r
+            ec{"𞤐𞤮𞤾𞤮𞤧𞤭𞤦𞤭𞤪𞤧𞤵𞤳"}\r
+        }\r
+        "Asia:Omsk"{\r
+            ec{"𞤌𞤥𞤧𞤵𞤳𞤵"}\r
+        }\r
+        "Asia:Oral"{\r
+            ec{"𞤓𞤪𞤢𞤤"}\r
+        }\r
+        "Asia:Phnom_Penh"{\r
+            ec{"𞤆𞤢𞤲𞤮𞤥-𞤆𞤫𞤲"}\r
+        }\r
+        "Asia:Pontianak"{\r
+            ec{"𞤆𞤮𞤲𞤼𞤭𞤴𞤢𞤲𞤢𞤳"}\r
+        }\r
+        "Asia:Pyongyang"{\r
+            ec{"𞤆𞤭𞤴𞤮𞤲𞤴𞤢𞤲"}\r
+        }\r
+        "Asia:Qatar"{\r
+            ec{"𞤗𞤢𞤼𞤢𞤪"}\r
+        }\r
+        "Asia:Qostanay"{\r
+            ec{"𞤑𞤮𞤧𞤼𞤢𞤲𞤢𞤴"}\r
+        }\r
+        "Asia:Qyzylorda"{\r
+            ec{"𞤑𞤭𞥁𞤭𞤤𞤮𞤪𞤣𞤢"}\r
+        }\r
+        "Asia:Rangoon"{\r
+            ec{"𞤈𞤢𞤲𞤺𞤵𞥅𞤲"}\r
+        }\r
+        "Asia:Riyadh"{\r
+            ec{"𞤈𞤭𞤴𞤢𞥄𞤣"}\r
+        }\r
+        "Asia:Saigon"{\r
+            ec{"𞤅𞤢𞤸𞤪𞤫 𞤖𞤮𞥅-𞤕𞤭 𞤃𞤭𞥅𞤲"}\r
+        }\r
+        "Asia:Sakhalin"{\r
+            ec{"𞤅𞤢𞤿𞤢𞤤𞤭𞥅𞤲"}\r
+        }\r
+        "Asia:Samarkand"{\r
+            ec{"𞤅𞤢𞤥𞤢𞤪𞤳𞤢𞤲𞤣𞤵"}\r
+        }\r
+        "Asia:Seoul"{\r
+            ec{"𞤅𞤫𞤱𞤵𞤤"}\r
+        }\r
+        "Asia:Shanghai"{\r
+            ec{"𞤅𞤢𞤲𞤸𞤢𞤴"}\r
+        }\r
+        "Asia:Singapore"{\r
+            ec{"𞤅𞤭𞤲𞤺𞤢𞤨𞤵𞥅𞤪"}\r
+        }\r
+        "Asia:Srednekolymsk"{\r
+            ec{"𞤅𞤭𞤪𞤫𞤣𞤳𞤮𞤤𞤭𞤥𞤧𞤵"}\r
+        }\r
+        "Asia:Taipei"{\r
+            ec{"𞤚𞤢𞤴𞤨𞤫𞥅"}\r
+        }\r
+        "Asia:Tashkent"{\r
+            ec{"𞤚𞤢𞤧𞤳𞤫𞤲𞤼𞤵"}\r
+        }\r
+        "Asia:Tbilisi"{\r
+            ec{"𞤚𞤭𞤦𞤭𞤤𞤭𞤧𞤭𞥅"}\r
+        }\r
+        "Asia:Tehran"{\r
+            ec{"𞤚𞤫𞤸𞤭𞤪𞤢𞥄𞤲"}\r
+        }\r
+        "Asia:Thimphu"{\r
+            ec{"𞤚𞤭𞤥𞤨𞤵"}\r
+        }\r
+        "Asia:Tokyo"{\r
+            ec{"𞤚𞤮𞤳𞤭𞤴𞤮"}\r
+        }\r
+        "Asia:Tomsk"{\r
+            ec{"𞤚𞤮𞤥𞤧𞤵𞤳𞤵"}\r
+        }\r
+        "Asia:Ulaanbaatar"{\r
+            ec{"𞤓𞤤𞤢𞤲𞤦𞤢𞤼𞤢𞤪"}\r
+        }\r
+        "Asia:Urumqi"{\r
+            ec{"𞤓𞤪𞤵𞤥𞤳𞤵"}\r
+        }\r
+        "Asia:Ust-Nera"{\r
+            ec{"𞤓𞤧𞤼𞤢-𞤐𞤫𞤪𞤢"}\r
+        }\r
+        "Asia:Vientiane"{\r
+            ec{"𞤜𞤭𞤴𞤫𞤲𞤷𞤢𞥄𞤲"}\r
+        }\r
+        "Asia:Vladivostok"{\r
+            ec{"𞤜𞤭𞤤𞤢𞤣𞤭𞤾𞤮𞤧𞤼𞤮𞥅𞤳𞤵"}\r
+        }\r
+        "Asia:Yakutsk"{\r
+            ec{"𞤒𞤢𞤳𞤵𞤼𞤵𞤧𞤳𞤵"}\r
+        }\r
+        "Asia:Yekaterinburg"{\r
+            ec{"𞤒𞤢𞤳𞤢𞤼𞤫𞤪𞤭𞤲𞤦𞤵𞤪𞤺𞤵"}\r
+        }\r
+        "Asia:Yerevan"{\r
+            ec{"𞤒𞤫𞤪𞤫𞤾𞤢𞥄𞤲"}\r
+        }\r
+        "Atlantic:Azores"{\r
+            ec{"𞤀𞥁𞤮𞤪𞤫𞥅𞤧"}\r
+        }\r
+        "Atlantic:Bermuda"{\r
+            ec{"𞤄𞤢𞥄𞤪𞤥𞤵𞥅𞤣𞤢"}\r
+        }\r
+        "Atlantic:Canary"{\r
+            ec{"𞤑𞤢𞤲𞤢𞤪𞤭"}\r
+        }\r
+        "Atlantic:Cape_Verde"{\r
+            ec{"𞤑𞤢𞥄𞤦𞤮-𞤜𞤫𞤪𞤣𞤫"}\r
+        }\r
+        "Atlantic:Faeroe"{\r
+            ec{"𞤊𞤢𞤪𞤮𞥅"}\r
+        }\r
+        "Atlantic:Madeira"{\r
+            ec{"𞤃𞤢𞤴𞤣𞤫𞤪𞤢"}\r
+        }\r
+        "Atlantic:Reykjavik"{\r
+            ec{"𞤈𞤫𞤴𞤳𞤢𞤾𞤭𞤳𞤭"}\r
+        }\r
+        "Atlantic:South_Georgia"{\r
+            ec{"𞤅𞤢𞤱𞤬-𞤔𞤮𞤪𞤶𞤭𞤴𞤢𞥄"}\r
+        }\r
+        "Atlantic:St_Helena"{\r
+            ec{"𞤅𞤫𞤲𞤼-𞤖𞤫𞤤𞤫𞤲𞤢𞥄"}\r
+        }\r
+        "Atlantic:Stanley"{\r
+            ec{"𞤅𞤭𞤼𞤢𞤲𞤤𞤫𞥅"}\r
+        }\r
+        "Australia:Adelaide"{\r
+            ec{"𞤀𞤣𞤢𞤤𞤢𞤴𞤣𞤭"}\r
+        }\r
+        "Australia:Brisbane"{\r
+            ec{"𞤄𞤭𞤪𞤧𞤭𞤦𞤢𞥄𞤲𞤵"}\r
+        }\r
+        "Australia:Broken_Hill"{\r
+            ec{"𞤄𞤪𞤮𞤳𞤭𞤲-𞤖𞤭𞥅𞤤"}\r
+        }\r
+        "Australia:Currie"{\r
+            ec{"𞤑𞤵𞥅𞤪𞤭𞥅"}\r
+        }\r
+        "Australia:Darwin"{\r
+            ec{"𞤁𞤢𞥄𞤪𞤱𞤭𞤲"}\r
+        }\r
+        "Australia:Eucla"{\r
+            ec{"𞤓𞥅𞤳𞤵𞤤𞤢"}\r
+        }\r
+        "Australia:Hobart"{\r
+            ec{"𞤖𞤵𞥅𞤦𞤢𞤪𞤼𞤵"}\r
+        }\r
+        "Australia:Lindeman"{\r
+            ec{"𞤂𞤭𞤲𞤣𞤭𞥅𞤥𞤢𞥄𞤲"}\r
+        }\r
+        "Australia:Lord_Howe"{\r
+            ec{"𞤂𞤮𞤪𞤣𞤵-𞤖𞤮𞤱𞤫"}\r
+        }\r
+        "Australia:Melbourne"{\r
+            ec{"𞤃𞤫𞤤𞤦𞤵𞥅𞤪𞤲𞤵"}\r
+        }\r
+        "Australia:Perth"{\r
+            ec{"𞤆𞤫𞤪𞤧𞤭"}\r
+        }\r
+        "Australia:Sydney"{\r
+            ec{"𞤅𞤭𞤣𞤭𞤲𞤫𞥅"}\r
+        }\r
+        "Etc:UTC"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤏𞤭𞤲𞤣𞤫𞤪𞤫𞤴𞤢𞤲𞤳𞤮𞥅𞤪𞤫 𞤊𞤮𞤼𞥆𞤢𞤲𞤢𞥄𞤲𞤣𞤫"}\r
+        }\r
+        "Etc:Unknown"{\r
+            ec{"𞤅𞤢𞤸𞤪𞤫 𞤀𞤧-𞤢𞤲𞤣𞤢𞥄𞤲𞤣𞤫"}\r
+        }\r
+        "Europe:Amsterdam"{\r
+            ec{"𞤀𞤥𞤧𞤭𞤼𞤫𞤪𞤣𞤢𞥄𞤥"}\r
+        }\r
+        "Europe:Andorra"{\r
+            ec{"𞤀𞤲𞤣𞤮𞥅𞤪𞤢"}\r
+        }\r
+        "Europe:Astrakhan"{\r
+            ec{"𞤀𞤧𞤼𞤢𞤪𞤿𞤢𞥄𞤲"}\r
+        }\r
+        "Europe:Athens"{\r
+            ec{"𞤀𞤼𞤫𞤲𞤧𞤭"}\r
+        }\r
+        "Europe:Belgrade"{\r
+            ec{"𞤄𞤫𞤤𞤺𞤢𞤪𞤢𞥄𞤣"}\r
+        }\r
+        "Europe:Berlin"{\r
+            ec{"𞤄𞤫𞤪𞤤𞤫𞤲"}\r
+        }\r
+        "Europe:Bratislava"{\r
+            ec{"𞤄𞤢𞤪𞤢𞤼𞤭𞤧𞤤𞤢𞤾𞤢"}\r
+        }\r
+        "Europe:Brussels"{\r
+            ec{"𞤄𞤭𞤪𞤭𞤳𞤧𞤫𞤤"}\r
+        }\r
+        "Europe:Bucharest"{\r
+            ec{"𞤄𞤵𞤳𞤢𞤪𞤫𞤧𞤼𞤭"}\r
+        }\r
+        "Europe:Budapest"{\r
+            ec{"𞤄𞤵𞤣𞤢𞤨𞤫𞤧𞤼"}\r
+        }\r
+        "Europe:Busingen"{\r
+            ec{"𞤄𞤵𞤧𞤭𞤲𞤶𞤫𞤲"}\r
+        }\r
+        "Europe:Chisinau"{\r
+            ec{"𞤕𞤭𞤧𞤭𞥅𞤲𞤮𞤱𞤢"}\r
+        }\r
+        "Europe:Copenhagen"{\r
+            ec{"𞤑𞤮𞤨𞤫𞤲𞥆𞤢𞥄𞤺"}\r
+        }\r
+        "Europe:Dublin"{\r
+            ec{"𞤁𞤵𞤦𞤵𞤤𞤫𞤲"}\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤋𞤪𞤤𞤢𞤲𞤣𞤭𞥅𞤳𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫"}\r
+        }\r
+        "Europe:Gibraltar"{\r
+            ec{"𞤔𞤭𞤦𞤢𞤪𞤢𞤤𞤼𞤢𞤪"}\r
+        }\r
+        "Europe:Guernsey"{\r
+            ec{"𞤔𞤭𞤪𞤲𞤭𞤧𞤫𞤴"}\r
+        }\r
+        "Europe:Helsinki"{\r
+            ec{"𞤖𞤫𞤤𞤧𞤭𞤲𞤳𞤭"}\r
+        }\r
+        "Europe:Isle_of_Man"{\r
+            ec{"𞤅𞤵𞤪𞤭𞥅𞤪𞤫-𞤃𞤢𞥄𞤲"}\r
+        }\r
+        "Europe:Istanbul"{\r
+            ec{"𞤋𞤧𞤼𞤢𞤥𞤦𞤵𞤤"}\r
+        }\r
+        "Europe:Jersey"{\r
+            ec{"𞤔𞤫𞤪𞤧𞤭𞥅"}\r
+        }\r
+        "Europe:Kaliningrad"{\r
+            ec{"𞤑𞤢𞤤𞤭𞤲𞤺𞤢𞤪𞤣"}\r
+        }\r
+        "Europe:Kiev"{\r
+            ec{"𞤑𞤭𞤴𞤫𞥅𞤾"}\r
+        }\r
+        "Europe:Kirov"{\r
+            ec{"𞤑𞤭𞤪𞤮𞥅𞤾𞤵"}\r
+        }\r
+        "Europe:Lisbon"{\r
+            ec{"𞤂𞤭𞤧𞤦𞤮𞥅𞤲"}\r
+        }\r
+        "Europe:Ljubljana"{\r
+            ec{"𞤋𞤶𞤵𞤦𞤵𞤤𞤶𞤢𞤲𞤢"}\r
+        }\r
+        "Europe:London"{\r
+            ec{"𞤂𞤮𞤲𞤣𞤮𞤲"}\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤄𞤪𞤭𞤼𞤭𞥅𞤧𞤭𞤲𞤳𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵"}\r
+        }\r
+        "Europe:Luxembourg"{\r
+            ec{"𞤂𞤭𞤳𞤧𞤢𞤲𞤦𞤵𞤪𞤺𞤵"}\r
+        }\r
+        "Europe:Madrid"{\r
+            ec{"𞤃𞤢𞤣𞤭𞤪𞤭𞤣"}\r
+        }\r
+        "Europe:Malta"{\r
+            ec{"𞤃𞤢𞤤𞤼𞤢"}\r
+        }\r
+        "Europe:Mariehamn"{\r
+            ec{"𞤃𞤢𞤪𞤭𞤴𞤢𞤸𞤢𞥄𞤥𞤢𞥄𞤲"}\r
+        }\r
+        "Europe:Minsk"{\r
+            ec{"𞤃𞤭𞤲𞤧𞤭𞤳𞤭"}\r
+        }\r
+        "Europe:Monaco"{\r
+            ec{"𞤃𞤮𞤲𞤢𞤳𞤮𞤸"}\r
+        }\r
+        "Europe:Moscow"{\r
+            ec{"𞤃𞤮𞤧𞤳𞤮"}\r
+        }\r
+        "Europe:Oslo"{\r
+            ec{"𞤌𞤧𞤤𞤮𞤸"}\r
+        }\r
+        "Europe:Paris"{\r
+            ec{"𞤆𞤢𞤪𞤭"}\r
+        }\r
+        "Europe:Podgorica"{\r
+            ec{"𞤆𞤮𞤣𞤭𞤺𞤮𞤪𞤭𞤳𞤢"}\r
+        }\r
+        "Europe:Prague"{\r
+            ec{"𞤆𞤢𞤪𞤢𞥄𞤺𞤭"}\r
+        }\r
+        "Europe:Riga"{\r
+            ec{"𞤈𞤭𞤺𞤢"}\r
+        }\r
+        "Europe:Rome"{\r
+            ec{"𞤈𞤮𞥅𞤥𞤵"}\r
+        }\r
+        "Europe:Samara"{\r
+            ec{"𞤅𞤢𞤥𞤢𞤪𞤢"}\r
+        }\r
+        "Europe:San_Marino"{\r
+            ec{"𞤅𞤢𞤲-𞤃𞤢𞤪𞤭𞤲𞤮"}\r
+        }\r
+        "Europe:Sarajevo"{\r
+            ec{"𞤅𞤢𞤪𞤢𞤴𞤫𞤾𞤮𞥅"}\r
+        }\r
+        "Europe:Saratov"{\r
+            ec{"𞤅𞤢𞤪𞤢𞤼𞤮𞥅𞤾"}\r
+        }\r
+        "Europe:Simferopol"{\r
+            ec{"𞤅𞤭𞤥𞤬𞤫𞤪𞤨𞤮𞥅𞤤"}\r
+        }\r
+        "Europe:Skopje"{\r
+            ec{"𞤅𞤭𞤳𞤮𞥅𞤨𞤭𞤴𞤢"}\r
+        }\r
+        "Europe:Sofia"{\r
+            ec{"𞤅𞤮𞤬𞤭𞤴𞤢"}\r
+        }\r
+        "Europe:Stockholm"{\r
+            ec{"𞤅𞤭𞤼𞤮𞤳𞤮𞤤𞤥𞤵"}\r
+        }\r
+        "Europe:Tallinn"{\r
+            ec{"𞤚𞤢𞤤𞤭𞥅𞤲𞤵"}\r
+        }\r
+        "Europe:Tirane"{\r
+            ec{"𞤚𞤭𞤪𞤢𞤲𞤢"}\r
+        }\r
+        "Europe:Ulyanovsk"{\r
+            ec{"𞤓𞤤𞤴𞤢𞤲𞤮𞤾𞤮𞤧𞤳𞤵"}\r
+        }\r
+        "Europe:Uzhgorod"{\r
+            ec{"𞤓𞥅𞤶𞤢𞤪𞤵𞥅𞤣𞤵"}\r
+        }\r
+        "Europe:Vaduz"{\r
+            ec{"𞤜𞤢𞤣𞤵𞥅𞤶𞤵"}\r
+        }\r
+        "Europe:Vatican"{\r
+            ec{"𞤜𞤢𞤼𞤭𞤳𞤢𞤲"}\r
+        }\r
+        "Europe:Vienna"{\r
+            ec{"𞤜𞤭𞤴𞤫𞤲𞤢𞥄"}\r
+        }\r
+        "Europe:Vilnius"{\r
+            ec{"𞤜𞤫𞤤𞤲𞤵𞥅𞤧"}\r
+        }\r
+        "Europe:Volgograd"{\r
+            ec{"𞤜𞤮𞤤𞤺𞤮𞤺𞤢𞤪𞤢𞤣"}\r
+        }\r
+        "Europe:Warsaw"{\r
+            ec{"𞤏𞤢𞤪𞤧𞤮"}\r
+        }\r
+        "Europe:Zagreb"{\r
+            ec{"𞤟𞤢𞤺𞤪𞤫𞤦𞤵"}\r
+        }\r
+        "Europe:Zaporozhye"{\r
+            ec{"𞤟𞤢𞤨𞤮𞤪𞤵𞥅𞥁"}\r
+        }\r
+        "Europe:Zurich"{\r
+            ec{"𞤟𞤵𞤪𞤵𞤳"}\r
+        }\r
+        "Indian:Antananarivo"{\r
+            ec{"𞤀𞤲𞤼𞤢𞤲𞤢𞤲𞤢𞤪𞤭𞥅𞤾𞤮𞥅"}\r
+        }\r
+        "Indian:Chagos"{\r
+            ec{"𞤅𞤢𞤺𞤮𞤧"}\r
+        }\r
+        "Indian:Christmas"{\r
+            ec{"𞤑𞤭𞤪𞤧𞤭𞤥𞤢𞥄𞤧"}\r
+        }\r
+        "Indian:Cocos"{\r
+            ec{"𞤑𞤮𞥅𞤳𞤮𞤧"}\r
+        }\r
+        "Indian:Comoro"{\r
+            ec{"𞤑𞤮𞤥𞤮𞥅𞤪𞤮"}\r
+        }\r
+        "Indian:Kerguelen"{\r
+            ec{"𞤑𞤫𞤪𞤺𞤫𞤤𞤫𞤲"}\r
+        }\r
+        "Indian:Mahe"{\r
+            ec{"𞤃𞤢𞤸𞤫𞥅"}\r
+        }\r
+        "Indian:Maldives"{\r
+            ec{"𞤃𞤢𞤤𞤣𞤢𞥄𞤴𞤭𞤧"}\r
+        }\r
+        "Indian:Mauritius"{\r
+            ec{"𞤃𞤮𞤪𞤭𞥅𞤧𞤭"}\r
+        }\r
+        "Indian:Mayotte"{\r
+            ec{"𞤃𞤢𞤴𞤮𞥅𞤼𞤵"}\r
+        }\r
+        "Indian:Reunion"{\r
+            ec{"𞤈𞤫𞥅𞤲𞤭𞤴𞤮𞤲"}\r
+        }\r
+        "Pacific:Apia"{\r
+            ec{"𞤀𞤨𞤭𞤴𞤢"}\r
+        }\r
+        "Pacific:Auckland"{\r
+            ec{"𞤌𞤳𞤤𞤢𞤲𞤣𞤭"}\r
+        }\r
+        "Pacific:Bougainville"{\r
+            ec{"𞤄𞤵𞤺𞤫𞤲𞤾𞤭𞥅𞤤"}\r
+        }\r
+        "Pacific:Chatham"{\r
+            ec{"𞤕𞤢𞥃𞤢𞥄𞤥"}\r
+        }\r
+        "Pacific:Easter"{\r
+            ec{"𞤋𞤧𞤼𞤮𞥅"}\r
+        }\r
+        "Pacific:Efate"{\r
+            ec{"𞤉𞤬𞤢𞤼𞤵"}\r
+        }\r
+        "Pacific:Enderbury"{\r
+            ec{"𞤉𞤲𞤣𞤫𞤪𞤦𞤵𞥅𞤪𞤭"}\r
+        }\r
+        "Pacific:Fakaofo"{\r
+            ec{"𞤊𞤢𞤳𞤢𞤱𞤬𞤮"}\r
+        }\r
+        "Pacific:Fiji"{\r
+            ec{"𞤊𞤭𞤶𞤭"}\r
+        }\r
+        "Pacific:Funafuti"{\r
+            ec{"𞤊𞤵𞤲𞤢𞤬𞤵𞤼𞤭"}\r
+        }\r
+        "Pacific:Galapagos"{\r
+            ec{"𞤘𞤢𞤤𞤢𞤨𞤢𞤺𞤮𞤧"}\r
+        }\r
+        "Pacific:Gambier"{\r
+            ec{"𞤘𞤢𞤥𞤦𞤭𞤴𞤫𞤪"}\r
+        }\r
+        "Pacific:Guadalcanal"{\r
+            ec{"𞤘𞤵𞤱𞤢𞤣𞤢𞤤𞤳𞤢𞤲𞤢𞤤"}\r
+        }\r
+        "Pacific:Guam"{\r
+            ec{"𞤘𞤵𞤱𞤢𞤥"}\r
+        }\r
+        "Pacific:Johnston"{\r
+            ec{"𞤔𞤮𞤲𞤧𞤵𞤼𞤮𞤲"}\r
+        }\r
+        "Pacific:Kiritimati"{\r
+            ec{"𞤑𞤭𞤪𞤭𞤼𞤭𞤥𞤢𞤼𞤭"}\r
+        }\r
+        "Pacific:Kosrae"{\r
+            ec{"𞤑𞤮𞤧𞤪𞤢𞤴"}\r
+        }\r
+        "Pacific:Kwajalein"{\r
+            ec{"𞤑𞤢𞤱𞤢𞤶𞤢𞤤𞤭𞥅𞤲"}\r
+        }\r
+        "Pacific:Majuro"{\r
+            ec{"𞤃𞤢𞤶𞤵𞥅𞤪𞤮"}\r
+        }\r
+        "Pacific:Marquesas"{\r
+            ec{"𞤃𞤢𞤪𞤳𞤫𞤧𞤢𞤧"}\r
+        }\r
+        "Pacific:Midway"{\r
+            ec{"𞤃𞤭𞤣𞤱𞤫𞥅"}\r
+        }\r
+        "Pacific:Nauru"{\r
+            ec{"𞤐𞤵𞥅𞤪𞤵"}\r
+        }\r
+        "Pacific:Niue"{\r
+            ec{"𞤐𞤭𞥅𞤴𞤵"}\r
+        }\r
+        "Pacific:Norfolk"{\r
+            ec{"𞤐𞤮𞤪𞤬𞤮𞤤𞤳𞤵"}\r
+        }\r
+        "Pacific:Noumea"{\r
+            ec{"𞤐𞤵𞤥𞤫𞤴𞤢"}\r
+        }\r
+        "Pacific:Pago_Pago"{\r
+            ec{"𞤆𞤢𞤺𞤮-𞤆𞤢𞤺𞤮"}\r
+        }\r
+        "Pacific:Palau"{\r
+            ec{"𞤆𞤮𞤤𞤢𞥄𞤱𞤮"}\r
+        }\r
+        "Pacific:Pitcairn"{\r
+            ec{"𞤆𞤭𞤼𞤭𞤳𞤫𞤪𞤲𞤵"}\r
+        }\r
+        "Pacific:Ponape"{\r
+            ec{"𞤆𞤮𞤲𞤢𞤨𞤫"}\r
+        }\r
+        "Pacific:Port_Moresby"{\r
+            ec{"𞤆𞤮𞤪𞤼𞤵-𞤃𞤮𞤪𞤫𞤧𞤦𞤭"}\r
+        }\r
+        "Pacific:Rarotonga"{\r
+            ec{"𞤈𞤢𞤪𞤮𞤼𞤮𞤲𞤺𞤢"}\r
+        }\r
+        "Pacific:Saipan"{\r
+            ec{"𞤅𞤢𞤴𞤨𞤢𞤲"}\r
+        }\r
+        "Pacific:Tahiti"{\r
+            ec{"𞤚𞤢𞤸𞤭𞤼𞤭"}\r
+        }\r
+        "Pacific:Tarawa"{\r
+            ec{"𞤚𞤢𞤪𞤢𞤱𞤢"}\r
+        }\r
+        "Pacific:Tongatapu"{\r
+            ec{"𞤚𞤮𞤲𞤺𞤢𞤼𞤢𞤨𞤵"}\r
+        }\r
+        "Pacific:Truk"{\r
+            ec{"𞤕𞤵𞥅𞤳𞤵"}\r
+        }\r
+        "Pacific:Wake"{\r
+            ec{"𞤏𞤫𞥅𞤳𞤵"}\r
+        }\r
+        "Pacific:Wallis"{\r
+            ec{"𞤏𞤢𞤤𞤭𞥅𞤧"}\r
+        }\r
+        "meta:Afghanistan"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤀𞤬𞤺𞤢𞤲𞤭𞤧𞤼𞤢𞥄𞤲"}\r
+        }\r
+        "meta:Africa_Central"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤀𞤬𞤪𞤭𞤳𞤭 𞤚𞤵𞤥𞤦𞤮𞥅𞤪𞤭"}\r
+        }\r
+        "meta:Africa_Eastern"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤊𞤵𞤯𞤲𞤢𞥄𞤲𞥋𞤣𞤫 𞤀𞤬𞤪𞤭𞤳𞤭"}\r
+        }\r
+        "meta:Africa_Southern"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤂𞤫𞤧𞤮-𞤀𞤬𞤪𞤭𞤳𞤭"}\r
+        }\r
+        "meta:Africa_Western"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤖𞤭𞥅𞤪𞤲𞤢𞥄𞤲𞥋𞤺𞤫 𞤀𞤬𞤪𞤭𞤳𞤭"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤭𞥅𞤪𞤲𞤢𞥄𞤲𞥋𞤺𞤫 𞤀𞤬𞤪𞤭𞤳𞤭"}\r
+            ls{\r
+                "𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤖𞤭𞥅𞤪𞤲𞤢𞥄𞤲𞥋𞤺𞤫 "\r
+                "𞤀𞤬𞤪𞤭𞤳𞤭"\r
+            }\r
+        }\r
+        "meta:Alaska"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤀𞤤𞤢𞤧𞤳𞤢𞥄"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤀𞤤𞤢𞤧𞤳𞤢𞥄"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤀𞤤𞤢𞤧𞤳𞤢𞥄"}\r
+        }\r
+        "meta:Amazon"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤀𞤥𞤢𞥁𞤮𞥅𞤲"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤀𞤥𞤢𞥁𞤮𞥅𞤲"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤀𞤥𞤢𞥁𞤮𞥅𞤲"}\r
+        }\r
+        "meta:America_Central"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤳𞤢 𞤚𞤵𞤥𞤦𞤮"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤳𞤢 𞤚𞤵𞤥𞤦𞤮 𞤈𞤫𞤱𞤮-𞤀𞤥𞤫𞤪𞤭𞤳"}\r
+            ls{\r
+                "𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤳𞤢 𞤚𞤵𞤥𞤦𞤮 𞤈𞤫𞤱𞤮-"\r
+                "𞤀𞤥𞤫𞤪𞤭𞤳"\r
+            }\r
+        }\r
+        "meta:America_Eastern"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤳𞤢 𞤊𞤵𞤯𞤲𞤢𞥄𞤲𞥋𞤺𞤫"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤊𞤵𞤯𞤲𞤢𞥄𞤲𞥋𞤺𞤫 𞤁𞤮𞤱𞤪𞤭-𞤀𞤥𞤫𞤪𞤭𞤳"}\r
+            ls{\r
+                "𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤊𞤵𞤯𞤲𞤢𞥄𞤲𞥋𞤺𞤫 "\r
+                "𞤁𞤮𞤱𞤪𞤭-𞤀𞤥𞤫𞤪𞤭𞤳"\r
+            }\r
+        }\r
+        "meta:America_Mountain"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤆𞤫𞤤𞤫 𞤯𞤫𞤲"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤆𞤫𞤤𞤫 𞤯𞤫𞤲"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤆𞤫𞤤𞤫 𞤯𞤫𞤲"}\r
+        }\r
+        "meta:America_Pacific"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤆𞤢𞥄𞤧𞤫𞤬𞤭𞤳 𞤁𞤮𞤱𞤪𞤭-𞤀𞤥𞤫𞤪𞤭𞤳"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤆𞤢𞥄𞤧𞤫𞤬𞤭𞤳 𞤁𞤮𞤱𞤪𞤭-𞤀𞤥𞤫𞤪𞤭𞤳"}\r
+            ls{\r
+                "𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤆𞤢𞥄𞤧𞤫𞤬𞤭𞤳 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤁𞤮𞤱𞤪𞤭-"\r
+                "𞤀𞤥𞤫𞤪𞤭𞤳"\r
+            }\r
+        }\r
+        "meta:Apia"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤀𞤨𞤭𞤴𞤢"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤀𞤨𞤭𞤴𞤢"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤀𞤨𞤭𞤴𞤢"}\r
+        }\r
+        "meta:Arabian"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤀𞥄𞤪𞤢𞤦𞤭𞤴𞤢"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤀𞥄𞤪𞤢𞤦𞤭𞤴𞤢"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤀𞥄𞤪𞤢𞤦𞤭𞤴𞤢"}\r
+        }\r
+        "meta:Argentina"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤀𞤪𞤶𞤢𞤲𞤼𞤭𞤲𞤢𞥄"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤀𞤪𞤶𞤢𞤲𞤼𞤭𞤲𞤢𞥄"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤀𞤪𞤶𞤢𞤲𞤼𞤭𞤲𞤢𞥄"}\r
+        }\r
+        "meta:Argentina_Western"{\r
+            ld{\r
+                "𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤖𞤭𞥅𞤪𞤲𞤢𞥄𞤲𞥋𞤺𞤫 "\r
+                "𞤀𞤪𞤶𞤢𞤲𞤼𞤭𞤲𞤢𞥄"\r
+            }\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤭𞥅𞤪𞤲𞤢𞥄𞤲𞥋𞤺𞤫 𞤀𞤪𞤶𞤢𞤲𞤼𞤭𞤲𞤢𞥄"}\r
+            ls{\r
+                "𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤖𞤭𞥅𞤪𞤲𞤢𞥄𞤲𞥋𞤺𞤫 "\r
+                "𞤀𞤪𞤶𞤢𞤲𞤼𞤭𞤲𞤢𞥄"\r
+            }\r
+        }\r
+        "meta:Armenia"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤀𞤪𞤥𞤫𞤲𞤭𞤴𞤢𞥄"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤀𞤪𞤥𞤫𞤲𞤭𞤴𞤢𞥄"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤀𞤪𞤥𞤫𞤲𞤭𞤴𞤢𞥄"}\r
+        }\r
+        "meta:Atlantic"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤳𞤢 𞤆𞤢𞥄𞤧𞤫𞤬𞤭𞤳"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤳𞤢 𞤆𞤢𞥄𞤧𞤫𞤬𞤭𞤳 𞤁𞤮𞤱𞤪𞤭-𞤀𞤥𞤫𞤪𞤭𞤳"}\r
+            ls{\r
+                "𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤳𞤢 𞤆𞤢𞥄𞤧𞤫𞤬𞤭𞤳 "\r
+                "𞤁𞤮𞤱𞤪𞤭-𞤀𞤥𞤫𞤪𞤭𞤳"\r
+            }\r
+        }\r
+        "meta:Australia_Central"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤚𞤵𞤥𞤦𞤮𞥅𞤪𞤭 𞤌𞤧𞤼𞤪𞤢𞤤𞤭𞤴𞤢𞥄"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤚𞤵𞤥𞤦𞤮𞥅𞤪𞤭 𞤌𞤧𞤼𞤪𞤢𞤤𞤭𞤴𞤢𞥄"}\r
+            ls{\r
+                "𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤚𞤵𞤥𞤦𞤮𞥅𞤪𞤭 "\r
+                "𞤌𞤧𞤼𞤪𞤢𞤤𞤭𞤴𞤢𞥄"\r
+            }\r
+        }\r
+        "meta:Australia_CentralWestern"{\r
+            ld{\r
+                "𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤚𞤵𞤥𞤦𞤮 𞤖𞤭𞥅𞤲𞤢𞥄𞤲𞥋𞤺𞤫 "\r
+                "𞤌𞤧𞤼𞤪𞤢𞤤𞤭𞤴𞤢𞥄"\r
+            }\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤚𞤵𞤥𞤦𞤮 𞤖𞤭𞥅𞤲𞤢𞥄𞤲𞥋𞤺𞤫 𞤌𞤧𞤼𞤪𞤢𞤤𞤭𞤴𞤢𞥄"}\r
+            ls{\r
+                "𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤚𞤵𞤥𞤦𞤮 "\r
+                "𞤖𞤭𞥅𞤲𞤢𞥄𞤲𞥋𞤺𞤫 𞤌𞤧𞤼𞤪𞤢𞤤𞤭𞤴𞤢𞥄"\r
+            }\r
+        }\r
+        "meta:Australia_Eastern"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤊𞤵𞤯𞤲𞤢𞥄𞤲𞥋𞤺𞤫 𞤌𞤧𞤼𞤪𞤢𞤤𞤭𞤴𞤢𞥄"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤊𞤵𞤯𞤲𞤢𞥄𞤲𞥋𞤺𞤫 𞤌𞤧𞤼𞤪𞤢𞤤𞤭𞤴𞤢𞥄"}\r
+            ls{\r
+                "𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤊𞤵𞤯𞤲𞤢𞥄𞤲𞥋𞤺𞤫 "\r
+                "𞤌𞤧𞤼𞤪𞤢𞤤𞤭𞤴𞤢𞥄"\r
+            }\r
+        }\r
+        "meta:Australia_Western"{\r
+            ld{\r
+                "𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤖𞤭𞥅𞤪𞤲𞤢𞥄𞤲𞥋𞤺𞤫 "\r
+                "𞤌𞤧𞤼𞤪𞤢𞤤𞤭𞤴𞤢𞥄"\r
+            }\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤭𞥅𞤪𞤲𞤢𞥄𞤲𞥋𞤺𞤫 𞤌𞤧𞤼𞤪𞤢𞤤𞤭𞤴𞤢𞥄"}\r
+            ls{\r
+                "𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤖𞤭𞥅𞤪𞤲𞤢𞥄𞤲𞥋𞤺𞤫 "\r
+                "𞤌𞤧𞤼𞤪𞤢𞤤𞤭𞤴𞤢𞥄"\r
+            }\r
+        }\r
+        "meta:Azerbaijan"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤀𞤶𞤫𞤪𞤦𞤢𞤴𞤶𞤢𞤲"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤀𞤶𞤫𞤪𞤦𞤢𞤴𞤶𞤢𞤲"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤀𞤶𞤫𞤪𞤦𞤢𞤴𞤶𞤢𞤲"}\r
+        }\r
+        "meta:Azores"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤀𞥁𞤮𞤪𞤫𞤧"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤀𞥁𞤮𞤪𞤫𞤧"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤀𞥁𞤮𞤪𞤫𞤧"}\r
+        }\r
+        "meta:Bangladesh"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤄𞤢𞤲𞤺𞤭𞤤𞤢𞤣𞤫𞥅𞤧"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤄𞤢𞤲𞤺𞤭𞤤𞤢𞤣𞤫𞥅𞤧"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤄𞤢𞤲𞤺𞤭𞤤𞤢𞤣𞤫𞥅𞤧"}\r
+        }\r
+        "meta:Bhutan"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤄𞤵𞤼𞤢𞥄𞤲"}\r
+        }\r
+        "meta:Bolivia"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤄𞤮𞤤𞤭𞤾𞤭𞤴𞤢𞥄"}\r
+        }\r
+        "meta:Brasilia"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤄𞤪𞤢𞤧𞤭𞤤𞤭𞤴𞤢𞥄"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤄𞤪𞤢𞤧𞤭𞤤𞤭𞤴𞤢𞥄"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤄𞤪𞤢𞤧𞤭𞤤𞤭𞤴𞤢𞥄"}\r
+        }\r
+        "meta:Brunei"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤄𞤵𞤪𞤲𞤢𞤴"}\r
+        }\r
+        "meta:Cape_Verde"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤑𞤢𞥄𞤦𞤮-𞤜𞤫𞤪𞤣𞤫"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤑𞤢𞥄𞤦𞤮-𞤜𞤫𞤪𞤣𞤫"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤑𞤢𞥄𞤦𞤮-𞤜𞤫𞤪𞤣𞤫"}\r
+        }\r
+        "meta:Chamorro"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤕𞤢𞤥𞤮𞤪𞤮"}\r
+        }\r
+        "meta:Chatham"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤕𞤢𞤼𞤢𞤥"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤢𞤼𞤢𞤥"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤕𞤢𞤼𞤢𞤥"}\r
+        }\r
+        "meta:Chile"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤕𞤭𞤤𞤫𞥅"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤭𞤤𞤫𞥅"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤕𞤭𞤤𞤫𞥅"}\r
+        }\r
+        "meta:China"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤕𞤢𞤴𞤲𞤢"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤢𞤴𞤲𞤢"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤕𞤢𞤴𞤲𞤢"}\r
+        }\r
+        "meta:Choibalsan"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤅𞤮𞤴𞤦𞤢𞤤𞤧𞤢𞤲"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤅𞤮𞤴𞤦𞤢𞤤𞤧𞤢𞤲"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤅𞤮𞤴𞤦𞤢𞤤𞤧𞤢𞤲"}\r
+        }\r
+        "meta:Christmas"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤅𞤵𞤪𞤭𞥅𞤪𞤫 𞤑𞤭𞤪𞤧𞤭𞤥𞤢𞥄𞤧"}\r
+        }\r
+        "meta:Cocos"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤑𞤮𞥅𞤳𞤮𞤧"}\r
+        }\r
+        "meta:Colombia"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤑𞤮𞤤𞤮𞤥𞤦𞤭𞤴𞤢𞥄"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤑𞤮𞤤𞤮𞤥𞤦𞤭𞤴𞤢𞥄"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤑𞤮𞤤𞤮𞤥𞤦𞤭𞤴𞤢𞥄"}\r
+        }\r
+        "meta:Cook"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤊𞤫𞤷𞥆𞤫𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤅𞤮𞤪𞤭𞥅𞤶𞤫 𞤑𞤵𞥅𞤳"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤅𞤮𞤪𞤭𞥅𞤶𞤫 𞤑𞤵𞥅𞤳"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤅𞤮𞤪𞤭𞥅𞤶𞤫 𞤑𞤵𞥅𞤳"}\r
+        }\r
+        "meta:Cuba"{\r
+            ld{"𞤑𞤫𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤑𞤵𞤦𞤢𞥄"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤑𞤵𞤦𞤢𞥄"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤑𞤵𞤦𞤢𞥄"}\r
+        }\r
+        "meta:Davis"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤁𞤫𞥅𞤾𞤭𞤧"}\r
+        }\r
+        "meta:DumontDUrville"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤁𞤭𞤥𞤮𞤲𞤼𞤵-𞤁𞤵𞤪𞤾𞤭𞤤"}\r
+        }\r
+        "meta:East_Timor"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤊𞤵𞤯𞤲𞤢𞥄𞤲𞥋𞤺𞤫 𞤚𞤭𞥅𞤥𞤮𞤪"}\r
+        }\r
+        "meta:Easter"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤋𞤧𞤼𞤮𞥅-𞤀𞤴𞤤𞤢𞤲𞤣"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤋𞤧𞤼𞤮𞥅-𞤀𞤴𞤤𞤢𞤲𞤣"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤋𞤧𞤼𞤮𞥅-𞤀𞤴𞤤𞤢𞤲𞤣"}\r
+        }\r
+        "meta:Ecuador"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤋𞤳𞤵𞤱𞤢𞤣𞤮𞥅𞤪"}\r
+        }\r
+        "meta:Europe_Central"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤚𞤵𞤥𞤦𞤮𞥅𞤪𞤭 𞤀𞤪𞤮𞥅𞤦𞤢"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤚𞤵𞤥𞤦𞤮𞥅𞤪𞤭 𞤀𞤪𞤮𞥅𞤦𞤢"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤚𞤵𞤥𞤦𞤮𞥅𞤪𞤭 𞤀𞤪𞤮𞥅𞤦𞤢"}\r
+        }\r
+        "meta:Europe_Eastern"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤊𞤵𞤯𞤲𞤢𞥄𞤲𞥋𞤺𞤫 𞤀𞤪𞤮𞥅𞤦𞤢"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤊𞤵𞤯𞤲𞤢𞥄𞤲𞥋𞤺𞤫 𞤀𞤪𞤮𞥅𞤦𞤢"}\r
+            ls{\r
+                "𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤊𞤵𞤯𞤲𞤢𞥄𞤲𞥋𞤺𞤫 "\r
+                "𞤀𞤪𞤮𞥅𞤦𞤢"\r
+            }\r
+        }\r
+        "meta:Europe_Further_Eastern"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤊𞤵𞤯𞤲𞤢𞥄𞤲𞥋𞤺𞤫𞥅𞤪𞤭 𞤀𞤪𞤮𞥅𞤦𞤢"}\r
+        }\r
+        "meta:Europe_Western"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤖𞤭𞥅𞤪𞤲𞤢𞥄𞤲𞥋𞤺𞤫 𞤀𞤪𞤮𞥅𞤦𞤢"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤭𞥅𞤪𞤲𞤢𞥄𞤲𞥋𞤺𞤫 𞤀𞤪𞤮𞥅𞤦𞤢"}\r
+            ls{\r
+                "𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤖𞤭𞥅𞤪𞤲𞤢𞥄𞤲𞥋𞤺𞤫 "\r
+                "𞤀𞤪𞤮𞥅𞤦𞤢"\r
+            }\r
+        }\r
+        "meta:Falkland"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤊𞤮𞤤𞤳𞤤𞤢𞤲𞤣-𞤀𞤴𞤤𞤢𞤲𞤣"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤊𞤮𞤤𞤳𞤤𞤢𞤲𞤣-𞤀𞤴𞤤𞤢𞤲𞤣"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤊𞤮𞤤𞤳𞤤𞤢𞤲𞤣-𞤀𞤴𞤤𞤢𞤲𞤣"}\r
+        }\r
+        "meta:Fiji"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤊𞤭𞤶𞤭"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤊𞤭𞤶𞤭"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤊𞤭𞤶𞤭"}\r
+        }\r
+        "meta:French_Guiana"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤘𞤢𞤴𞤢𞤲𞤢𞥄-𞤊𞤪𞤢𞤲𞤧𞤭"}\r
+        }\r
+        "meta:French_Southern"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤂𞤫𞤴𞤪𞤭 𞤊𞤪𞤢𞤲𞤧𞤭 & 𞤀𞤪𞤼𞤢𞤲𞤼𞤭𞤳𞤢"}\r
+        }\r
+        "meta:GMT"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤳𞤭𞤲𞤭𞥅𞤲𞥋𞤣𞤫 𞤘𞤪𞤭𞤲𞤱𞤭𞥅𞤧"}\r
+        }\r
+        "meta:Galapagos"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤘𞤢𞤤𞤢𞤨𞤢𞤺𞤮𞥅𞤧"}\r
+        }\r
+        "meta:Gambier"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤘𞤢𞤥𞤦𞤭𞤴𞤫𞤪"}\r
+        }\r
+        "meta:Georgia"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤔𞤮𞤪𞤶𞤭𞤴𞤢"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤔𞤮𞤪𞤶𞤭𞤴𞤢"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤔𞤮𞤪𞤶𞤭𞤴𞤢"}\r
+        }\r
+        "meta:Gilbert_Islands"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤅𞤵𞤪𞤭𞥅𞤶𞤫 𞤘𞤭𞤤𞤦𞤫𞤪𞤼𞤵"}\r
+        }\r
+        "meta:Greenland_Eastern"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤊𞤵𞤯𞤲𞤢𞥄𞤲𞥋𞤺𞤫 𞤘𞤪𞤭𞤲𞤤𞤢𞤲𞤣"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤊𞤵𞤯𞤲𞤢𞥄𞤲𞥋𞤺𞤫 𞤘𞤪𞤭𞤲𞤤𞤢𞤲𞤣"}\r
+            ls{\r
+                "𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤊𞤵𞤯𞤲𞤢𞥄𞤲𞥋𞤺𞤫 "\r
+                "𞤘𞤪𞤭𞤲𞤤𞤢𞤲𞤣"\r
+            }\r
+        }\r
+        "meta:Greenland_Western"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤖𞤭𞥅𞤪𞤲𞤢𞥄𞤲𞥋𞤺𞤫 𞤘𞤪𞤭𞤲𞤤𞤢𞤲𞤣"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤭𞥅𞤪𞤲𞤢𞥄𞤲𞥋𞤺𞤫 𞤘𞤪𞤭𞤲𞤤𞤢𞤲𞤣"}\r
+            ls{\r
+                "𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤖𞤭𞥅𞤪𞤲𞤢𞥄𞤲𞥋𞤺𞤫 "\r
+                "𞤘𞤪𞤭𞤲𞤤𞤢𞤲𞤣"\r
+            }\r
+        }\r
+        "meta:Gulf"{\r
+            ls{\r
+                "𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤂𞤮𞥅𞤻𞤮𞤤𞤣𞤵 "\r
+                "𞤀𞤪𞤢𞤦𞤭𞤴𞤢"\r
+            }\r
+        }\r
+        "meta:Guyana"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤘𞤢𞤴𞤢𞤲𞤢𞥄"}\r
+        }\r
+        "meta:Hawaii_Aleutian"{\r
+            ld{"𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤖𞤢𞤱𞤢𞥄𞤴𞤭𞥅-𞤀𞤤𞤮𞤧𞤭𞤴𞤢𞤲"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤢𞥄𞤴𞤭𞥅-𞤀𞤤𞤮𞤧𞤭𞤴𞤢𞤲"}\r
+            ls{\r
+                "𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤖𞤢𞤱𞤢𞥄𞤴𞤭𞥅-"\r
+                "𞤀𞤤𞤮𞤧𞤭𞤴𞤢𞤲"\r
+            }\r
+        }\r
+        "meta:Hong_Kong"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤖𞤮𞤲𞤳𞤮𞤲"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤮𞤲𞤳𞤮𞤲"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤖𞤮𞤲𞤳𞤮𞤲"}\r
+        }\r
+        "meta:Hovd"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤖𞤮𞤬𞤣𞤵"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤮𞤬𞤣𞤵"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤖𞤮𞤬𞤣𞤵"}\r
+        }\r
+        "meta:India"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤖𞤭𞤲𞤣𞤵𞤼𞤢𞥄𞤲"}\r
+        }\r
+        "meta:Indian_Ocean"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤃𞤢𞥄𞤴𞤮 𞤋𞤲𞤣𞤭𞤴𞤢𞤱𞤮"}\r
+        }\r
+        "meta:Indochina"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤭𞤲𞤣𞤵𞤷𞤢𞤴𞤲𞤢𞥄"}\r
+        }\r
+        "meta:Indonesia_Central"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤚𞤮𞤥𞤦𞤮𞥅𞤪𞤭 𞤋𞤲𞤣𞤮𞤲𞤭𞥅𞤧𞤭𞤴𞤢"}\r
+        }\r
+        "meta:Indonesia_Eastern"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤊𞤵𞤯𞤲𞤢𞥄𞤲𞥋𞤺𞤫 𞤋𞤲𞤣𞤮𞤲𞤭𞥅𞤧𞤭𞤴𞤢"}\r
+        }\r
+        "meta:Indonesia_Western"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤭𞥅𞤪𞤲𞤢𞥄𞤲𞥋𞤺𞤫 𞤋𞤲𞤣𞤮𞤲𞤭𞥅𞤧𞤭𞤴𞤢"}\r
+        }\r
+        "meta:Iran"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤋𞤪𞤢𞥄𞤲"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤋𞤪𞤢𞥄𞤲"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤋𞤪𞤢𞥄𞤲"}\r
+        }\r
+        "meta:Irkutsk"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤋𞤪𞤳𞤵𞤼𞤭𞤧𞤳𞤵"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤋𞤪𞤳𞤵𞤼𞤭𞤧𞤳𞤵"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤋𞤪𞤳𞤵𞤼𞤭𞤧𞤳𞤵"}\r
+        }\r
+        "meta:Israel"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤋𞤧𞤪𞤢𞥄𞤭𞥅𞤤𞤵"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤋𞤧𞤪𞤢𞥄𞤭𞥅𞤤𞤵"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤋𞤧𞤪𞤢𞥄𞤭𞥅𞤤𞤵"}\r
+        }\r
+        "meta:Japan"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤔𞤢𞤨𞤢𞤲"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤔𞤢𞤨𞤢𞤲"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤔𞤢𞤨𞤢𞤲"}\r
+        }\r
+        "meta:Kazakhstan_Eastern"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤑𞤢𞥁𞤢𞤿𞤢𞤧𞤼𞤢𞥄𞤲"}\r
+        }\r
+        "meta:Kazakhstan_Western"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤭𞤪𞤲𞤢𞥄𞤲𞥋𞤺𞤫 𞤑𞤢𞥁𞤢𞤿𞤢𞤧𞤼𞤢𞥄𞤲"}\r
+        }\r
+        "meta:Korea"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤑𞤮𞥅𞤪𞤫𞤴𞤢𞥄"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤑𞤮𞥅𞤪𞤫𞤴𞤢𞥄"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤑𞤮𞥅𞤪𞤫𞤴𞤢𞥄"}\r
+        }\r
+        "meta:Kosrae"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤑𞤮𞤧𞤪𞤢𞤴"}\r
+        }\r
+        "meta:Krasnoyarsk"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤑𞤢𞤪𞤢𞤧𞤲𞤮𞤴𞤢𞤪𞤧𞤭𞤳"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤑𞤢𞤪𞤢𞤧𞤲𞤮𞤴𞤢𞤪𞤧𞤭𞤳"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤑𞤢𞤪𞤢𞤧𞤲𞤮𞤴𞤢𞤪𞤧𞤭𞤳"}\r
+        }\r
+        "meta:Kyrgystan"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤑𞤭𞤪𞤺𞤭𞤧𞤼𞤢𞥄𞤲"}\r
+        }\r
+        "meta:Line_Islands"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤅𞤵𞤪𞤭𞥅𞤶𞤫 𞤂𞤢𞤴𞤲𞤵"}\r
+        }\r
+        "meta:Lord_Howe"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤂𞤮𞤪𞤣𞤵-𞤖𞤮𞤱𞤫"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤂𞤮𞤪𞤣𞤵-𞤖𞤮𞤱𞤫"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤂𞤮𞤪𞤣𞤵-𞤖𞤮𞤱𞤫"}\r
+        }\r
+        "meta:Macquarie"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤅𞤵𞤪𞤭𞥅𞤪𞤫 𞤃𞤢𞤳𞤢𞥄𞤪𞤭"}\r
+        }\r
+        "meta:Magadan"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤃𞤢𞤺𞤢𞤣𞤢𞤲"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤃𞤢𞤺𞤢𞤣𞤢𞤲"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤃𞤢𞤺𞤢𞤣𞤢𞤲"}\r
+        }\r
+        "meta:Malaysia"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤃𞤢𞤤𞤫𞥅𞤧𞤭𞤴𞤢"}\r
+        }\r
+        "meta:Maldives"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤃𞤢𞤤𞤣𞤢𞥄𞤴𞤭𞤧"}\r
+        }\r
+        "meta:Marquesas"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤃𞤢𞤪𞤳𞤫𞤧𞤢𞤧"}\r
+        }\r
+        "meta:Marshall_Islands"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤅𞤵𞤪𞤭𞥅𞤶𞤫 𞤃𞤢𞤪𞤧𞤢𞤤"}\r
+        }\r
+        "meta:Mauritius"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤃𞤮𞤪𞤭𞥅𞤧𞤭"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤃𞤮𞤪𞤭𞥅𞤧𞤭"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤃𞤮𞤪𞤭𞥅𞤧𞤭"}\r
+        }\r
+        "meta:Mawson"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤃𞤢𞤱𞤧𞤮𞤲"}\r
+        }\r
+        "meta:Mexico_Northwest"{\r
+            ld{\r
+                "𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤁𞤮𞤱𞤪𞤭-𞤖𞤭𞥅𞤪𞤲𞤢𞥄𞤲𞥋𞤺𞤫 "\r
+                "𞤃𞤫𞤳𞤧𞤭𞤳𞤮𞥅"\r
+            }\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤁𞤮𞤱𞤪𞤭-𞤖𞤭𞥅𞤪𞤲𞤢𞥄𞤲𞥋𞤺𞤫 𞤃𞤫𞤳𞤧𞤭𞤳𞤮𞥅"}\r
+            ls{\r
+                "𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤁𞤮𞤱𞤪𞤭-"\r
+                "𞤖𞤭𞥅𞤪𞤲𞤢𞥄𞤲𞥋𞤺𞤫 𞤃𞤫𞤳𞤧𞤭𞤳𞤮𞥅"\r
+            }\r
+        }\r
+        "meta:Mexico_Pacific"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤆𞤢𞥄𞤧𞤫𞤬𞤭𞤳 𞤃𞤫𞤳𞤧𞤭𞤲𞤳𞤮"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤆𞤢𞥄𞤧𞤫𞤬𞤭𞤳 𞤃𞤫𞤳𞤧𞤭𞤲𞤳𞤮"}\r
+            ls{\r
+                "𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤆𞤢𞥄𞤧𞤫𞤬𞤭𞤳 "\r
+                "𞤃𞤫𞤳𞤧𞤭𞤲𞤳𞤮"\r
+            }\r
+        }\r
+        "meta:Mongolia"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤓𞤤𞤢𞤲𞤦𞤢𞤼𞤢𞤪"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤓𞤤𞤢𞤲𞤦𞤢𞤼𞤢𞤪"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤓𞤤𞤢𞤲𞤦𞤢𞤼𞤢𞤪"}\r
+        }\r
+        "meta:Moscow"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤃𞤮𞤧𞤳𞤮"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤃𞤮𞤧𞤳𞤮"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤃𞤮𞤧𞤳𞤮"}\r
+        }\r
+        "meta:Myanmar"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤃𞤭𞤴𞤢𞤥𞤢𞥄𞤪"}\r
+        }\r
+        "meta:Nauru"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤐𞤵𞥅𞤪𞤵"}\r
+        }\r
+        "meta:Nepal"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤐𞤫𞤨𞤢𞤤"}\r
+        }\r
+        "meta:New_Caledonia"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤑𞤢𞤤𞤭𞤣𞤮𞤲𞤭𞤴𞤢𞥄 𞤖𞤫𞤴𞤯𞤮"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤑𞤢𞤤𞤭𞤣𞤮𞤲𞤭𞤴𞤢𞥄 𞤖𞤫𞤴𞤯𞤮"}\r
+            ls{\r
+                "𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤑𞤢𞤤𞤭𞤣𞤮𞤲𞤭𞤴𞤢𞥄 "\r
+                "𞤖𞤫𞤴𞤯𞤮"\r
+            }\r
+        }\r
+        "meta:New_Zealand"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤐𞤫𞤱-𞤟𞤫𞤤𞤢𞤲𞤣𞤭"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤐𞤫𞤱-𞤟𞤫𞤤𞤢𞤲𞤣𞤭"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤐𞤫𞤱-𞤟𞤫𞤤𞤢𞤲𞤣𞤭"}\r
+        }\r
+        "meta:Newfoundland"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤐𞤫𞤱𞤬𞤵𞤲𞤤𞤢𞤲𞤣"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤐𞤫𞤱𞤬𞤵𞤲𞤤𞤢𞤲𞤣"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤐𞤫𞤱𞤬𞤵𞤲𞤤𞤢𞤲𞤣"}\r
+        }\r
+        "meta:Niue"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤐𞤭𞥅𞤴𞤵"}\r
+        }\r
+        "meta:Norfolk"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤅𞤵𞤪𞤭𞥅𞤪𞤫 𞤐𞤮𞤪𞤬𞤮𞤤𞤳𞤵"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤅𞤵𞤪𞤭𞥅𞤪𞤫 𞤐𞤮𞤪𞤬𞤮𞤤𞤳𞤵"}\r
+            ls{\r
+                "𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤅𞤵𞤪𞤭𞥅𞤪𞤫 "\r
+                "𞤐𞤮𞤪𞤬𞤮𞤤𞤳𞤵"\r
+            }\r
+        }\r
+        "meta:Noronha"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤊𞤫𞤪𞤲𞤢𞤲𞤣𞤮𞥅 𞤣𞤫 𞤐𞤮𞤪𞤮𞤲𞤽𞤢𞥄"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤊𞤫𞤪𞤲𞤢𞤲𞤣𞤮𞥅 𞤣𞤫 𞤐𞤮𞤪𞤮𞤲𞤽𞤢𞥄"}\r
+            ls{\r
+                "𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤊𞤫𞤪𞤲𞤢𞤲𞤣𞤮𞥅 𞤣𞤫 "\r
+                "𞤐𞤮𞤪𞤮𞤲𞤽𞤢𞥄"\r
+            }\r
+        }\r
+        "meta:Novosibirsk"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤐𞤮𞤾𞤮𞤧𞤦𞤭𞤪𞤧𞤭𞤳"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤐𞤮𞤾𞤮𞤧𞤦𞤭𞤪𞤧𞤭𞤳"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤐𞤮𞤾𞤮𞤧𞤦𞤭𞤪𞤧𞤭𞤳"}\r
+        }\r
+        "meta:Omsk"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤌𞤥𞤧𞤵𞤳𞤵"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤌𞤥𞤧𞤵𞤳𞤵"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤌𞤥𞤧𞤵𞤳𞤵"}\r
+        }\r
+        "meta:Pakistan"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤆𞤢𞤳𞤭𞤧𞤼𞤢𞥄𞤲"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤆𞤢𞤳𞤭𞤧𞤼𞤢𞥄𞤲"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤆𞤢𞤳𞤭𞤧𞤼𞤢𞥄𞤲"}\r
+        }\r
+        "meta:Palau"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤆𞤮𞤤𞤢𞥄𞤱𞤮"}\r
+        }\r
+        "meta:Papua_New_Guinea"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤆𞤢𞤨𞤵𞤱𞤢 𞤘𞤭𞤲𞤫 𞤖𞤫𞤴𞤯𞤮"}\r
+        }\r
+        "meta:Paraguay"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤆𞤢𞥄𞤪𞤢𞤺𞤮𞤴"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤆𞤢𞥄𞤪𞤢𞤺𞤮𞤴"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤆𞤢𞥄𞤪𞤢𞤺𞤮𞤴"}\r
+        }\r
+        "meta:Peru"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤕𞤫𞥅𞤯𞤵 𞤆𞤫𞤪𞤵𞥅"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤆𞤫𞤪𞤵𞥅"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤆𞤫𞤪𞤵𞥅"}\r
+        }\r
+        "meta:Philippines"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤊𞤭𞤤𞤭𞤨𞥆𞤭𞥅𞤲"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤊𞤭𞤤𞤭𞤨𞥆𞤭𞥅𞤲"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤊𞤭𞤤𞤭𞤨𞥆𞤭𞥅𞤲"}\r
+        }\r
+        "meta:Phoenix_Islands"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤅𞤵𞤪𞤭𞥅𞤶𞤫 𞤊𞤫𞤲𞤭𞤳𞤧𞤭"}\r
+        }\r
+        "meta:Pierre_Miquelon"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤅𞤫𞤲-𞤆𞤭𞤴𞤫𞥅𞤪 & 𞤃𞤭𞤳𞤫𞤤𞤮𞤲"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤅𞤫𞤲-𞤆𞤭𞤴𞤫𞥅𞤪 & 𞤃𞤭𞤳𞤫𞤤𞤮𞤲"}\r
+            ls{\r
+                "𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤅𞤫𞤲-𞤆𞤭𞤴𞤫𞥅𞤪 & "\r
+                "𞤃𞤭𞤳𞤫𞤤𞤮𞤲"\r
+            }\r
+        }\r
+        "meta:Pitcairn"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤆𞤭𞤼𞤭𞤳𞤫𞤪𞤲𞤵"}\r
+        }\r
+        "meta:Ponape"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤆𞤮𞤲𞤢𞤨𞤫"}\r
+        }\r
+        "meta:Pyongyang"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤆𞤭𞤴𞤮𞤲𞤴𞤢𞤲"}\r
+        }\r
+        "meta:Reunion"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤈𞤫𞤲𞤭𞤴𞤮𞤲"}\r
+        }\r
+        "meta:Rothera"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤈𞤮𞤼𞤫𞤪𞤢"}\r
+        }\r
+        "meta:Sakhalin"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤅𞤢𞤿𞤢𞤤𞤭𞥅𞤲"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤅𞤢𞤿𞤢𞤤𞤭𞥅𞤲"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤅𞤢𞤿𞤢𞤤𞤭𞥅𞤲"}\r
+        }\r
+        "meta:Samoa"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤅𞤢𞤥𞤮𞤱𞤢"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤅𞤢𞤥𞤮𞤱𞤢"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤅𞤢𞤥𞤮𞤱𞤢"}\r
+        }\r
+        "meta:Seychelles"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤅𞤫𞤴𞤭𞤧𞤫𞤤"}\r
+        }\r
+        "meta:Singapore"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤅𞤭𞤲𞤺𞤢𞤨𞤵𞥅𞤪"}\r
+        }\r
+        "meta:Solomon"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤅𞤵𞤪𞤭𞥅𞤶𞤫 𞤅𞤵𞤤𞤫𞤴𞤥𞤢𞥄𞤲𞤢"}\r
+        }\r
+        "meta:South_Georgia"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤅𞤢𞤱𞤬-𞤔𞤮𞤪𞤶𞤭𞤴𞤢𞥄"}\r
+        }\r
+        "meta:Suriname"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤅𞤭𞤪𞤭𞤲𞤢𞤥"}\r
+        }\r
+        "meta:Syowa"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤅𞤢𞥄𞤴𞤵𞤱𞤢"}\r
+        }\r
+        "meta:Tahiti"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤚𞤢𞤸𞤭𞤼𞤭"}\r
+        }\r
+        "meta:Taipei"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤚𞤢𞤴𞤨𞤫𞥅"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤚𞤢𞤴𞤨𞤫𞥅"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤚𞤢𞤴𞤨𞤫𞥅"}\r
+        }\r
+        "meta:Tajikistan"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤚𞤢𞤶𞤭𞤳𞤭𞤧𞤼𞤢𞥄𞤲"}\r
+        }\r
+        "meta:Tokelau"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤚𞤮𞤳𞤫𞤤𞤮𞤱𞤢"}\r
+        }\r
+        "meta:Tonga"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤚𞤮𞤲𞤺𞤢"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤚𞤮𞤲𞤺𞤢"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤚𞤮𞤲𞤺𞤢"}\r
+        }\r
+        "meta:Truk"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤵𞥅𞤳𞤵"}\r
+        }\r
+        "meta:Turkmenistan"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤚𞤵𞤪𞤳𞤭𞤥𞤫𞤧𞤼𞤢𞥄𞤲"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤚𞤵𞤪𞤳𞤭𞤥𞤫𞤧𞤼𞤢𞥄𞤲"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤚𞤵𞤪𞤳𞤭𞤥𞤫𞤧𞤼𞤢𞥄𞤲"}\r
+        }\r
+        "meta:Tuvalu"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤚𞤵𞤾𞤢𞤤𞤵"}\r
+        }\r
+        "meta:Uruguay"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤒𞤵𞥅𞤪𞤺𞤮𞤴"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤒𞤵𞥅𞤪𞤺𞤮𞤴"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤒𞤵𞥅𞤪𞤺𞤮𞤴"}\r
+        }\r
+        "meta:Uzbekistan"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤓𞥅𞤶𞤵𞤦𞤫𞤳𞤭𞤧𞤼𞤢𞥄𞤲"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤓𞥅𞤶𞤵𞤦𞤫𞤳𞤭𞤧𞤼𞤢𞥄𞤲"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤓𞥅𞤶𞤵𞤦𞤫𞤳𞤭𞤧𞤼𞤢𞥄𞤲"}\r
+        }\r
+        "meta:Vanuatu"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤜𞤢𞤲𞤵𞥅𞤼𞤵"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤜𞤢𞤲𞤵𞥅𞤼𞤵"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤜𞤢𞤲𞤵𞥅𞤼𞤵"}\r
+        }\r
+        "meta:Venezuela"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤜𞤫𞤲𞤭𞥅𞥁𞤮𞥅𞤤𞤢"}\r
+        }\r
+        "meta:Vladivostok"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤜𞤭𞤤𞤢𞤾𞤮𞤧𞤼𞤮𞤳"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤜𞤭𞤤𞤢𞤾𞤮𞤧𞤼𞤮𞤳"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤜𞤭𞤤𞤢𞤾𞤮𞤧𞤼𞤮𞤳"}\r
+        }\r
+        "meta:Volgograd"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤜𞤮𞤤𞤺𞤮𞤺𞤢𞤪𞤢𞥄𞤣"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤜𞤮𞤤𞤺𞤮𞤺𞤢𞤪𞤢𞥄𞤣"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤜𞤮𞤤𞤺𞤮𞤺𞤢𞤪𞤢𞥄𞤣"}\r
+        }\r
+        "meta:Vostok"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤜𞤮𞤧𞤼𞤮𞤳"}\r
+        }\r
+        "meta:Wake"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤅𞤵𞤪𞤭𞥅𞤪𞤫 𞤏𞤫𞥅𞤳𞤵"}\r
+        }\r
+        "meta:Wallis"{\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤏𞤢𞤤𞤭𞥅𞤧 & 𞤊𞤵𞤼𞤵𞤲𞤢"}\r
+        }\r
+        "meta:Yakutsk"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤒𞤢𞤳𞤢𞤼𞤭𞤧𞤳𞤵"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤒𞤢𞤳𞤢𞤼𞤭𞤧𞤳𞤵"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤒𞤢𞤳𞤢𞤼𞤭𞤧𞤳𞤵"}\r
+        }\r
+        "meta:Yekaterinburg"{\r
+            ld{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤕𞤫𞥅𞤯𞤵 𞤒𞤫𞤳𞤢𞤼𞤫𞤪𞤭𞤲𞤦𞤵𞤪𞤺𞤵"}\r
+            lg{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤒𞤫𞤳𞤢𞤼𞤫𞤪𞤭𞤲𞤦𞤵𞤪𞤺𞤵"}\r
+            ls{"𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫 𞤒𞤫𞤳𞤢𞤼𞤫𞤪𞤭𞤲𞤦𞤵𞤪𞤺𞤵"}\r
+        }\r
+        gmtFormat{"𞤑𞤖𞤏{0}"}\r
+        gmtZeroFormat{"𞤑𞤖𞤏"}\r
+        regionFormat{"{0} 𞤑𞤭𞤶𞤮𞥅𞤪𞤫"}\r
+        regionFormatDaylight{"{0} 𞤐𞥋𞤔𞤢𞤥𞤲𞥋𞤣𞤭 𞤕𞤫𞥅𞤯𞤵"}\r
+        regionFormatStandard{"{0} 𞤑𞤭𞤶𞤮𞥅𞤪𞤫 𞤖𞤢𞤱𞤪𞤭𞤼𞤵𞤲𞥋𞤣𞤫"}\r
+    }\r
+}\r
index cd674cd..36cf8a0 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ff_Latn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 36ce5b8..784de62 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fi{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1755,7 +1755,9 @@ fi{
             ls{"Niuen aika"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Norfolkinsaaren aika"}\r
+            ld{"Norfolkinsaaren kesäaika"}\r
+            lg{"Norfolkinsaaren aika"}\r
+            ls{"Norfolkinsaaren normaaliaika"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Fernando de Noronhan kesäaika"}\r
index 8babcfe..17732e5 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fil{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1720,7 +1720,9 @@ fil{
             ls{"Oras sa Niue"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Oras sa Norfolk Island"}\r
+            ld{"Daylight Time sa Norfolk Island"}\r
+            lg{"Oras sa Norfolk Island"}\r
+            ls{"Standard na Norfolk Island"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Oras sa Tag-init ng Fernando de Noronha"}\r
index 879df2d..c10a629 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1710,7 +1710,9 @@ fo{
             ls{"Niue tíð"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Norfolksoyggj tíð"}\r
+            ld{"Norfolksoyggj summartíð"}\r
+            lg{"Norfolksoyggj tíð"}\r
+            ls{"Norfolksoyggj vanlig tíð"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Fernando de Noronha summartíð"}\r
index 89abb2c..15e6f7e 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1743,7 +1743,9 @@ fr{
             ls{"heure de Nioué"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"heure de l’île Norfolk"}\r
+            ld{"heure d’été de l’île Norfolk"}\r
+            lg{"heure de l’île Norfolk"}\r
+            ls{"heure normale de l’île Norfolk"}\r
         }\r
         "meta:Noronha"{\r
             ld{"heure d’été de Fernando de Noronha"}\r
index 560a4b1..7f761ed 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_CA{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Ndjamena"{\r
             ec{"Ndjamena"}\r
@@ -402,6 +402,11 @@ fr_CA{
             sg{"HT"}\r
             ss{"HNT"}\r
         }\r
+        "meta:Norfolk"{\r
+            ld{"heure avancée de l’île Norfolk"}\r
+            lg{"heure de l’île Norfolk"}\r
+            ls{"heure normale de l’île Norfolk"}\r
+        }\r
         "meta:Noronha"{\r
             ld{"heure avancée de Fernando de Noronha"}\r
             lg{"heure de Fernando de Noronha"}\r
index dd765a8..5018c82 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fr_GF{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:French_Guiana"{\r
             ss{"GFT"}\r
index bfa76e3..ca40744 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fur{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "America:New_York"{\r
             ec{"Gnove York"}\r
index baebd75..894d03f 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 fy{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Addis_Ababa"{\r
             ec{"Addis Abeba"}\r
@@ -805,7 +805,9 @@ fy{
             ls{"Niuese tiid"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Norfolkeilânske tiid"}\r
+            ld{"Norfolkeilânske simmertiid"}\r
+            lg{"Norfolkeilânske tiid"}\r
+            ls{"Norfolkeilânske standerttiid"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Fernando de Noronha-simmertiid"}\r
index 1d42e88..8240425 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ga{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1766,7 +1766,9 @@ ga{
             ls{"Am Niue"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Am Oileán Norfolk"}\r
+            ld{"Am Samhraidh Oileán Norfolk"}\r
+            lg{"Am Oileán Norfolk"}\r
+            ls{"Am Caighdeánach Oileán Norfolk"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Am Samhraidh Fhernando de Noronha"}\r
index 668e767..bf6eb14 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 gd{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1791,7 +1791,9 @@ gd{
             ls{"Àm Niue"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Àm Eilein Norfolk"}\r
+            ld{"Tìde samhraidh Eilein Norfolk"}\r
+            lg{"Àm Eilein Norfolk"}\r
+            ls{"Bun-àm Eilein Norfolk"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Tìde Samhraidh Fernando de Noronha"}\r
index 9802b4c..ef6e013 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 gl{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1724,7 +1724,9 @@ gl{
             ls{"Horario de Niue"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Horario da Illa Norfolk"}\r
+            ld{"Horario de verán da Illa Norfolk"}\r
+            lg{"Horario da Illa Norfolk"}\r
+            ls{"Horario estándar da Illa Norfolk"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Horario de verán de Fernando de Noronha"}\r
index 2ff1154..0f3b4fb 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 gsw{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Accra"{\r
             ec{"Akkra"}\r
index 3889bc4..9864b98 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 gu{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"આબિદ્જાન"}\r
@@ -1752,7 +1752,9 @@ gu{
             ls{"નીયુ સમય"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"નોરફૉક આઇલેન્ડ સમય"}\r
+            ld{"નોરફૉક આઇલેન્ડ ગ્રીષ્મ સમય"}\r
+            lg{"નોરફૉક આઇલેન્ડ સમય"}\r
+            ls{"નોરફૉક આઇલેન્ડ માનક સમય"}\r
         }\r
         "meta:Noronha"{\r
             ld{"ફર્નાન્ડો દે નોરોહા ગ્રીષ્મ સમય"}\r
index 68fbada..8f29767 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 guz{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 50f47df..55682af 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 gv{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c078982..76d7f16 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ha{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "America:North_Dakota:Beulah"{\r
             ec{"Beulah, Arewacin Dakota"}\r
@@ -346,6 +346,11 @@ ha{
         "meta:Marshall_Islands"{\r
             ls{"Marshall Islands Time"}\r
         }\r
+        "meta:Mauritius"{\r
+            ld{"Bazarar Mauritius"}\r
+            lg{"Lokacin Mauritius"}\r
+            ls{"TsaTsayayyar Lokacin Mauritius"}\r
+        }\r
         "meta:Mawson"{\r
             ls{"Mawson Time"}\r
         }\r
@@ -397,7 +402,9 @@ ha{
             ls{"Niue Time"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Norfolk Island Time"}\r
+            ld{"Norfolk Island Daylight Time"}\r
+            lg{"Norfolk Island Time"}\r
+            ls{"Norfolk Island Standard Time"}\r
         }\r
         "meta:Novosibirsk"{\r
             ld{"Novosibirsk Summer Time"}\r
index 54bfeb1..2e8fa6b 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 haw{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Pacific:Honolulu"{\r
             sd{"HDT"}\r
index de0f59f..788df8d 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 he{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"אביג׳אן"}\r
@@ -1743,7 +1743,9 @@ he{
             ls{"שעון ניואה"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"שעון האי נורפוק"}\r
+            ld{"שעון האי נורפוק (קיץ)"}\r
+            lg{"שעון האי נורפוק"}\r
+            ls{"שעון האי נורפוק (חורף)"}\r
         }\r
         "meta:Noronha"{\r
             ld{"שעון פרננדו די נורוניה (קיץ)"}\r
index 1d50331..8aaef25 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 hi{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"अबिदजान"}\r
@@ -1721,7 +1721,9 @@ hi{
             ls{"नीयू समय"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"नॉरफ़ॉक द्वीप समय"}\r
+            ld{"नॉरफ़ॉक द्वीप डेलाइट समय"}\r
+            lg{"नॉरफ़ॉक द्वीप समय"}\r
+            ls{"नॉरफ़ॉक द्वीप मानक समय"}\r
         }\r
         "meta:Noronha"{\r
             ld{"फ़र्नांर्डो डे नोरोन्हा ग्रीष्मकालीन समय"}\r
index d9c11c4..295f20c 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 hr{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1764,7 +1764,9 @@ hr{
             ls{"vrijeme Niuea"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"vrijeme Otoka Norfolk"}\r
+            ld{"ljetno vrijeme Otoka Norfolk"}\r
+            lg{"vrijeme Otoka Norfolk"}\r
+            ls{"standardno vrijeme Otoka Norfolk"}\r
         }\r
         "meta:Noronha"{\r
             ld{"ljetno vrijeme grada Fernando de Noronha"}\r
index ee4e587..8e75e83 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 hsb{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Accra"{\r
             ec{"Akkra"}\r
@@ -790,7 +790,9 @@ hsb{
             ls{"niueski čas"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"čas kupy Norfolk"}\r
+            ld{"lětni čas kupy Norfolk"}\r
+            lg{"čas kupy Norfolk"}\r
+            ls{"standardny čas kupy Norfolk"}\r
         }\r
         "meta:Noronha"{\r
             ld{"lětni čas kupow Fernando de Noronha"}\r
index 33d965d..d25b8c5 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 hu{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1761,7 +1761,9 @@ hu{
             ls{"niuei idő"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"norfolk-szigeteki idő"}\r
+            ld{"norfolk-szigeteki nyári idő"}\r
+            lg{"norfolk-szigeteki idő"}\r
+            ls{"norfolk-szigeteki téli idő"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Fernando de Noronha-i nyári idő"}\r
index 8782a06..5eeb926 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 hy{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Աբիջան"}\r
@@ -1710,7 +1710,9 @@ hy{
             ls{"Նիուեյի ժամանակ"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Նորֆոլկ կղզու ժամանակ"}\r
+            ld{"Նորֆոլկ կղզու ամառային ժամանակ"}\r
+            lg{"Նորֆոլկ կղզու ժամանակ"}\r
+            ls{"Նորֆոլկ կղզու ստանդարտ ժամանակ"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Ֆերնանդու դի Նորոնյայի ամառային ժամանակ"}\r
index c7e81fe..d3f4b9e 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ia{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Ceuta"{\r
             ec{"Ceuta"}\r
index 8784976..ffe8ce1 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 id{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1757,7 +1757,9 @@ id{
             ls{"Waktu Niue"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Waktu Kepulauan Norfolk"}\r
+            ld{"Waktu Musim Panas Kepulauan Norfolk"}\r
+            lg{"Waktu Kepulauan Norfolk"}\r
+            ls{"Waktu Standar Kepulauan Norfolk"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Waktu Musim Panas Fernando de Noronha"}\r
index 3ceb3cb..bd077ec 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ig{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "America:Araguaina"{\r
             ec{"Araguaina"}\r
@@ -433,7 +433,9 @@ ig{
             ls{"Oge Niue"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Oge Norfolk Island"}\r
+            ld{"Oge Okpomọkụ Norfolk Island"}\r
+            lg{"Oge Norfolk Island"}\r
+            ls{"Oge Izugbe Norfolk Island"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Oge Okpomọkụ Fernando de Noronha"}\r
index 29500b8..0d7cdbd 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ii{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Etc:Unknown"{\r
             ec{"ꅉꀋꐚꌠ"}\r
index 2f309d3..7d7d45c 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 is{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1720,7 +1720,9 @@ is{
             ls{"Niue-tími"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Tími á Norfolk-eyju"}\r
+            ld{"Sumartími á Norfolk-eyju"}\r
+            lg{"Tími á Norfolk-eyju"}\r
+            ls{"Staðaltími á Norfolk-eyju"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Sumartími í Fernando de Noronha"}\r
index 120602f..9091c8b 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 it{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1726,7 +1726,9 @@ it{
             ls{"Ora di Niue"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Ora delle Isole Norfolk"}\r
+            ld{"Ora legale delle Isole Norfolk"}\r
+            lg{"Ora delle Isole Norfolk"}\r
+            ls{"Ora standard delle Isole Norfolk"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Ora legale di Fernando de Noronha"}\r
index af0f81c..e7dfc2a 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ja{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"アビジャン"}\r
@@ -1757,7 +1757,9 @@ ja{
             ls{"ニウエ時間"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"ノーフォーク島時間"}\r
+            ld{"ノーフォーク島夏時間"}\r
+            lg{"ノーフォーク島時間"}\r
+            ls{"ノーフォーク島標準時"}\r
         }\r
         "meta:Noronha"{\r
             ld{"フェルナンド・デ・ノローニャ夏時間"}\r
diff --git a/source/data/zone/ja_JP.txt b/source/data/zone/ja_JP.txt
deleted file mode 100644 (file)
index 093ed5b..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-// © 2016 and later: Unicode, Inc. and others.\r
-// License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * generated alias target\r
- */\r
-ja_JP{\r
-    ___{""}\r
-}\r
diff --git a/source/data/zone/ja_JP_TRADITIONAL.txt b/source/data/zone/ja_JP_TRADITIONAL.txt
deleted file mode 100644 (file)
index b3821f3..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-// © 2016 and later: Unicode, Inc. and others.\r
-// License & terms of use: http://www.unicode.org/copyright.html#License\r
-ja_JP_TRADITIONAL{\r
-    calendar{\r
-        default{"japanese"}\r
-    }\r
-}\r
index 61e0427..6f9c8dd 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 jgo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         fallbackFormat{"{1} ({0})"}\r
         gmtFormat{"GMT{0}"}\r
index 122cab0..68f61f5 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 jmc{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f2bfdd5..d9abc60 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 jv{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1704,7 +1704,9 @@ jv{
             ls{"Wektu Niue"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Wektu Pulo Norfolk"}\r
+            ld{"Wektu Ketigo Pulo Norfolk"}\r
+            lg{"Wektu Pulo Norfolk"}\r
+            ls{"Wektu Standar Pulo Norfolk"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Wektu Ketigo Fernando de Noronha"}\r
index 329ac0e..d8d90d1 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ka{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"აბიჯანი"}\r
@@ -1710,7 +1710,9 @@ ka{
             ls{"ნიუეს დრო"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"ნორფოლკის კუნძულის დრო"}\r
+            ld{"ნორფოლკის კუნძულის ზაფხულის დრო"}\r
+            lg{"ნორფოლკის კუნძულის დრო"}\r
+            ls{"ნორფოლკის კუნძულის სტანდარტული დრო"}\r
         }\r
         "meta:Noronha"{\r
             ld{"ფერნანდო-დე-ნორონიას ზაფხულის დრო"}\r
index a7d1802..7d163e8 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kab{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a74735a..9b63ab6 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kam{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0961470..408b202 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kde{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d01f096..9393edf 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kea{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "America:Blanc-Sablon"{\r
             ec{"Blank-Sablon"}\r
index 9ed4be4..e0920ce 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 khq{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a7fab65..6d073dc 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ki{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6ab5470..a0e4865 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kk{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Абиджан"}\r
@@ -1713,7 +1713,9 @@ kk{
             ls{"Ниуэ уақыты"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Норфолк аралы уақыты"}\r
+            ld{"Норфолк аралы жазғы уақыты"}\r
+            lg{"Норфолк аралы уақыты"}\r
+            ls{"Норфолк аралы стандартты уақыты"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Фернанду-ди-Норонья жазғы уақыты"}\r
index b9184b0..860a617 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kkj{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 78ba959..4d1b72a 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kl{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index a5710d5..8b88bf5 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kln{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5d953a0..22085fb 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 km{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"អាប៊ីដ្យាន"}\r
@@ -1710,7 +1710,9 @@ km{
             ls{"ម៉ោងនៅ​នីវ៉េ"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"ម៉ោង​នៅ​កោះ​ន័រហ្វក់"}\r
+            ld{"ម៉ោងនៅ​ណ័រហ្វក់នា​រដូវ​ក្ដៅ"}\r
+            lg{"ម៉ោង​នៅ​កោះ​ន័រហ្វក់"}\r
+            ls{"ម៉ោង​ស្ដង់ដារ​នៅ​ណ័រហ្វក់"}\r
         }\r
         "meta:Noronha"{\r
             ld{"ម៉ោង​នៅហ្វ៊ែណាន់ដូ​ដឺណូរ៉ូញ៉ានារដូវក្តៅ"}\r
index 03bde2f..5425622 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"ಅಬಿದ್‌ಜನ್"}\r
@@ -1721,7 +1721,9 @@ kn{
             ls{"ನಿಯು ಸಮಯ"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"ನಾರ್ಫೋಕ್ ದ್ವೀಪ ಸಮಯ"}\r
+            ld{"ನಾರ್ಫೋಕ್ ದ್ವೀಪ ಬೇಸಿಗೆ ಸಮಯ"}\r
+            lg{"ನಾರ್ಫೋಕ್ ದ್ವೀಪ ಸಮಯ"}\r
+            ls{"ನಾರ್ಫೋಕ್ ದ್ವೀಪ ಪ್ರಮಾಣಿತ ಸಮಯ"}\r
         }\r
         "meta:Noronha"{\r
             ld{"ಫರ್ನಾಂಡೋ ದೆ ನೊರೊನ್ಹಾ ಬೇಸಿಗೆ ಸಮಯ"}\r
index 3920317..38e7da4 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ko{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"아비장"}\r
@@ -1748,7 +1748,9 @@ ko{
             ls{"니우에 시간"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"노퍽섬 시간"}\r
+            ld{"노퍽섬 하계 표준시"}\r
+            lg{"노퍽섬 시간"}\r
+            ls{"노퍽섬 표준시"}\r
         }\r
         "meta:Noronha"{\r
             ld{"페르난도 데 노로냐 하계 표준시"}\r
index f672b9b..dcb3078 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ko_KP{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Korea"{\r
             ld{"조선 하계 표준시"}\r
index c254d85..1b423be 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kok{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"अबिदजान"}\r
@@ -637,7 +637,7 @@ kok{
             ec{"लोंगयेअरब्येन"}\r
         }\r
         "Asia:Aden"{\r
-            ec{"Aden"}\r
+            ec{"ऍडन"}\r
         }\r
         "Asia:Almaty"{\r
             ec{"अल्माटी"}\r
@@ -1306,7 +1306,7 @@ kok{
         "meta:Alaska"{\r
             ld{"अलास्का डेलायट वेळ"}\r
             lg{"अलास्का वेळ"}\r
-            ls{"à¤\85लासà¥\8dà¤\95ा à¤ªà¥\8dरमाणित वेळ"}\r
+            ls{"à¤\85लासà¥\8dà¤\95ा à¤ªà¥\8dरमाणà¥\80त वेळ"}\r
         }\r
         "meta:Amazon"{\r
             ld{"अमेझोन ग्रीष्म वेळ"}\r
@@ -1459,7 +1459,7 @@ kok{
         "meta:Cuba"{\r
             ld{"क्युबा डेलायट वेळ"}\r
             lg{"क्युबा वेळ"}\r
-            ls{"à¤\95à¥\8dयà¥\81बा à¤ªà¥\8dरमाणित वेळ"}\r
+            ls{"à¤\95à¥\8dयà¥\81बा à¤ªà¥\8dरमाणà¥\80त वेळ"}\r
         }\r
         "meta:Davis"{\r
             ls{"डेव्हीस वेळ"}\r
@@ -1479,7 +1479,7 @@ kok{
             ls{"इक्वेडोर वेळ"}\r
         }\r
         "meta:Europe_Central"{\r
-            ld{"मधà¥\8dय à¤¯à¥\81वरà¥\8bपियन à¤\97à¥\8dरà¥\80षà¥\8dम à¤µà¥\87ळ"}\r
+            ld{"मध्य युरोपियन ग्रीष्म वेळ"}\r
             lg{"मध्य युरोपियन वेळ"}\r
             ls{"मध्य युरोपियन प्रमाणित वेळ"}\r
         }\r
@@ -1513,7 +1513,7 @@ kok{
             ls{"फ्रेन्च दक्षिण आनी अंटार्क्टिक वेळ"}\r
         }\r
         "meta:GMT"{\r
-            ls{"ग्रीनविच मध्यc वेळ"}\r
+            ls{"ग्रीनविच मध्य वेळ"}\r
         }\r
         "meta:Galapagos"{\r
             ls{"गालापागोस वेळ"}\r
@@ -1532,12 +1532,12 @@ kok{
         "meta:Greenland_Eastern"{\r
             ld{"उदेंत ग्रीनलँड ग्रीष्म वेळ"}\r
             lg{"उदेंत ग्रीनलँड वेळ"}\r
-            ls{"à¤\89दà¥\87à¤\82त à¤\97à¥\8dरà¥\80नलà¤\81ड à¤ªà¥\8dरमाणित वेळ"}\r
+            ls{"à¤\89दà¥\87à¤\82त à¤\97à¥\8dरà¥\80नलà¤\81ड à¤ªà¥\8dरमाणà¥\80त वेळ"}\r
         }\r
         "meta:Greenland_Western"{\r
             ld{"अस्तंत ग्रीनलँड ग्रीष्म वेळ"}\r
             lg{"अस्तंत ग्रीनलँड वेळ"}\r
-            ls{"à¤\85सà¥\8dतà¤\82त à¤\97à¥\8dरà¥\80नलà¤\81ड à¤ªà¥\8dरमाणित वेळ"}\r
+            ls{"à¤\85सà¥\8dतà¤\82त à¤\97à¥\8dरà¥\80नलà¤\81ड à¤ªà¥\8dरमाणà¥\80त वेळ"}\r
         }\r
         "meta:Gulf"{\r
             ls{"गल्फ प्रमाणित वेळ"}\r
@@ -1548,7 +1548,7 @@ kok{
         "meta:Hawaii_Aleutian"{\r
             ld{"हवाई-अलेयुशिन डेलायट वेळ"}\r
             lg{"हवाई-अलेयुशिन वेळ"}\r
-            ls{"हवाà¤\88-à¤\85लà¥\87यà¥\81शिन à¤ªà¥\8dरमाणित वेळ"}\r
+            ls{"हवाà¤\88-à¤\85लà¥\87यà¥\81शिन à¤ªà¥\8dरमाणà¥\80त वेळ"}\r
         }\r
         "meta:Hong_Kong"{\r
             ld{"हाँग काँग ग्रीष्म वेळ"}\r
@@ -1660,12 +1660,12 @@ kok{
         "meta:Mexico_Northwest"{\r
             ld{"वायव्य मेक्सिको डेलायट वेळ"}\r
             lg{"वायव्य मेक्सिको वेळ"}\r
-            ls{"वायवà¥\8dय à¤®à¥\87à¤\95à¥\8dसिà¤\95à¥\8b à¤ªà¥\8dरमाणित वेळ"}\r
+            ls{"वायवà¥\8dय à¤®à¥\87à¤\95à¥\8dसिà¤\95à¥\8b à¤ªà¥\8dरमाणà¥\80त वेळ"}\r
         }\r
         "meta:Mexico_Pacific"{\r
             ld{"मेक्सिकन प्रशांत डेलायट वेळ"}\r
             lg{"मेक्सिकन प्रशांत वेळ"}\r
-            ls{"मà¥\87à¤\95à¥\8dसिà¤\95न à¤ªà¥\8dरशाà¤\82त à¤ªà¥\8dरमाणित वेळ"}\r
+            ls{"मà¥\87à¤\95à¥\8dसिà¤\95न à¤ªà¥\8dरशाà¤\82त à¤ªà¥\8dरमाणà¥\80त वेळ"}\r
         }\r
         "meta:Mongolia"{\r
             ld{"उलानबतार ग्रीष्म वेळ"}\r
@@ -1699,13 +1699,15 @@ kok{
         "meta:Newfoundland"{\r
             ld{"न्युफावंडलँड डेलायट वेळ"}\r
             lg{"न्युफावंडलँड वेळ"}\r
-            ls{"नà¥\8dयà¥\81फावà¤\82डलà¤\81ड à¤ªà¥\8dरमाणित वेळ"}\r
+            ls{"नà¥\8dयà¥\81फावà¤\82डलà¤\81ड à¤ªà¥\8dरमाणà¥\80त वेळ"}\r
         }\r
         "meta:Niue"{\r
             ls{"न्युए वेळ"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"नॉरफॉक आयलँड वेळ"}\r
+            ld{"नॉरफॉक आयलँड ग्रीष्म वेळ"}\r
+            lg{"नॉरफॉक आयलँड वेळ"}\r
+            ls{"नॉरफॉक आयलँड प्रमाणित वेळ"}\r
         }\r
         "meta:Noronha"{\r
             ld{"फर्नांडो दी नोरोन्हा ग्रीष्म वेळ"}\r
@@ -1754,7 +1756,7 @@ kok{
         "meta:Pierre_Miquelon"{\r
             ld{"सेंट पियर आनी मिकलान डेलायट वेळ"}\r
             lg{"सेंट पियर आनी मिकलान वेळ"}\r
-            ls{"सà¥\87à¤\82à¤\9f à¤ªà¤¿à¤¯à¤° à¤\86नà¥\80 à¤®à¤¿à¤\95लान à¤ªà¥\8dरमाणित वेळ"}\r
+            ls{"सà¥\87à¤\82à¤\9f à¤ªà¤¿à¤¯à¤° à¤\86नà¥\80 à¤®à¤¿à¤\95लान à¤ªà¥\8dरमाणà¥\80त वेळ"}\r
         }\r
         "meta:Pitcairn"{\r
             ls{"पिटकॅरन वेळ"}\r
index 5e8fb64..432c0a3 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ks{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"عابِدجان"}\r
@@ -1559,7 +1559,9 @@ ks{
             ls{"نِیوٗ ٹایِم"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"نورفعاک ٹایِم"}\r
+            ld{"نورفعاک سَمَر ٹایِم"}\r
+            lg{"نورفعاک ٹایِم"}\r
+            ls{"نورفعاک سٹینڑاڑ ٹایِم"}\r
         }\r
         "meta:Noronha"{\r
             ld{"نورونہا سَمَر ٹایِم"}\r
diff --git a/source/data/zone/ks_Arab.txt b/source/data/zone/ks_Arab.txt
new file mode 100644 (file)
index 0000000..644b1f8
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ks_Arab{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/zone/ks_Arab_IN.txt b/source/data/zone/ks_Arab_IN.txt
new file mode 100644 (file)
index 0000000..d159ab1
--- /dev/null
@@ -0,0 +1,8 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+/**\r
+ * generated alias target\r
+ */\r
+ks_Arab_IN{\r
+    ___{""}\r
+}\r
diff --git a/source/data/zone/ks_IN.txt b/source/data/zone/ks_IN.txt
new file mode 100644 (file)
index 0000000..acd2193
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+ks_IN{\r
+    "%%ALIAS"{"ks_Arab_IN"}\r
+}\r
index 7537647..48b7edb 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ksb{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 38ad7f3..b2c120e 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ksf{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f83c8af..66eb76b 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ksh{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Cairo"{\r
             ec{"Kaijro"}\r
index 6557291..aeb7fb1 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ku{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c67e95b..c7396bc 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 kw{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b330cc2..87e9c6e 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ky{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Абиджан"}\r
@@ -1710,7 +1710,9 @@ ky{
             ls{"Ниуэ убактысы"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Норфолк убактысы"}\r
+            ld{"Норфолк жайкы убактысы"}\r
+            lg{"Норфолк убактысы"}\r
+            ls{"Норфолк кышкы убактысы"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Фернандо де Норонья жайкы убактысы"}\r
index 6fede2e..c8e8754 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lag{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1996522..01c5427 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lb{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Accra"{\r
             ec{"Accra"}\r
@@ -769,7 +769,9 @@ lb{
             ls{"Niue-Zäit"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Norfolkinselen-Zäit"}\r
+            ld{"Norfolkinselen-Summerzäit"}\r
+            lg{"Norfolkinselen-Zäit"}\r
+            ls{"Norfolkinselen-Normalzäit"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Fernando-de-Noronha-Summerzäit"}\r
index 51a4ca4..e335b13 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lg{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 2a3993f..db5607c 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lkt{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ac66598..72fe126 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ln{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         fallbackFormat{"{1} ({0})"}\r
         regionFormat{"Ngonga ya {0}"}\r
index 6fe85b4..8340631 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"ອາບິດແຈນ"}\r
@@ -1744,7 +1744,9 @@ lo{
             ls{"ເວລານິອູເອ"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"ເວ​ລາ​ເກາະ​ນໍ​ຟອ​ລ໌ກ"}\r
+            ld{"ເວ​ລາ​ລະ​ດູ​ຮ້ອນເກາະ​ນໍ​ຟອ​ລ໌ກ"}\r
+            lg{"ເວ​ລາ​ເກາະ​ນໍ​ຟອ​ລ໌ກ"}\r
+            ls{"ເວ​ລາ​ມາດ​ຕະ​ຖານເກາະ​ນໍ​ຟອ​ລ໌ກ"}\r
         }\r
         "meta:Noronha"{\r
             ld{"ເວລາລະດູຮ້ອນເຟນັນໂດເດໂນຮອນຮາ"}\r
index 1e25561..a979683 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lrc{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Etc:Unknown"{\r
             ec{"نادیار"}\r
index a1b0442..729161b 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lt{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidžanas"}\r
@@ -1754,7 +1754,9 @@ lt{
             ls{"Niujė laikas"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Norfolko Salų laikas"}\r
+            ld{"Norfolko Salų vasaros laikas"}\r
+            lg{"Norfolko Salų laikas"}\r
+            ls{"Norfolko Salų žiemos laikas"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Fernando de Noronjos vasaros laikas"}\r
index ec73401..1ada388 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lu{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6922aa0..a1e59d6 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 luo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 68dda1d..3d1b3bb 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 luy{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 634494f..95a8e3e 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 lv{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidžana"}\r
@@ -1729,7 +1729,9 @@ lv{
             ls{"Niues laiks"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Norfolkas salas laiks"}\r
+            ld{"Norfolkas salas vasaras laiks"}\r
+            lg{"Norfolkas salas laiks"}\r
+            ls{"Norfolkas salas ziemas laiks"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Fernandu di Noroņas vasaras laiks"}\r
diff --git a/source/data/zone/mai.txt b/source/data/zone/mai.txt
new file mode 100644 (file)
index 0000000..42c2eda
--- /dev/null
@@ -0,0 +1,59 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+mai{\r
+    Version{"37"}\r
+    zoneStrings{\r
+        "Etc:UTC"{\r
+            ls{"समन्वित वैश्विक समय"}\r
+        }\r
+        "Etc:Unknown"{\r
+            ec{"अज्ञात शहर"}\r
+        }\r
+        "meta:America_Central"{\r
+            ld{"उत्तरी अमेरिकी केंद्रीय डेलाइट समय"}\r
+            lg{"उत्तरी अमेरिकी केंद्रीय समय"}\r
+            ls{"उत्तरी अमेरिकी केंद्रीय मानक समय"}\r
+        }\r
+        "meta:America_Eastern"{\r
+            ld{"उत्तरी अमेरिकी पूर्वी डेलाइट समय"}\r
+            lg{"उत्तरी अमेरिकी पूर्वी समय"}\r
+            ls{"उत्तरी अमेरिकी पूर्वी मानक समय"}\r
+        }\r
+        "meta:America_Mountain"{\r
+            ld{"उत्तरी अमेरिकी माउंटेन डेलाइट समय"}\r
+            lg{"उत्तरी अमेरिकी माउंटेन समय"}\r
+            ls{"उत्तरी अमेरिकी माउंटेन मानक समय"}\r
+        }\r
+        "meta:America_Pacific"{\r
+            ld{"उत्तरी अमेरिकी प्रशांत डेलाइट समय"}\r
+            lg{"उत्तरी अमेरिकी प्रशांत समय"}\r
+            ls{"उत्तरी अमेरिकी प्रशांत मानक समय"}\r
+        }\r
+        "meta:Atlantic"{\r
+            ld{"अटलांटिक डेलाइट समय"}\r
+            lg{"अटलांटिक समय"}\r
+            ls{"अटलांटिक मानक समय"}\r
+        }\r
+        "meta:Europe_Central"{\r
+            ld{"मध्‍य यूरोपीय ग्रीष्‍मकालीन समय"}\r
+            lg{"मध्य यूरोपीय समय"}\r
+            ls{"मध्य यूरोपीय मानक समय"}\r
+        }\r
+        "meta:Europe_Eastern"{\r
+            ld{"पूर्वी यूरोपीय ग्रीष्मकालीन समय"}\r
+            lg{"पूर्वी यूरोपीय समय"}\r
+            ls{"पूर्वी यूरोपीय मानक समय"}\r
+        }\r
+        "meta:Europe_Western"{\r
+            ld{"पश्चिमी यूरोपीय ग्रीष्‍मकालीन समय"}\r
+            lg{"पश्चिमी यूरोपीय समय"}\r
+            ls{"पश्चिमी यूरोपीय मानक समय"}\r
+        }\r
+        "meta:GMT"{\r
+            ls{"ग्रीनविच मीन टाइम"}\r
+        }\r
+        regionFormat{"{0} समय"}\r
+        regionFormatDaylight{"{0} डेलाइट समय"}\r
+        regionFormatStandard{"{0} मानक समय"}\r
+    }\r
+}\r
index fc1654c..72d5c8f 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mas{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3ce0553..44f259c 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mer{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index cf6dfad..927e18f 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mfe{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 9b478cd..5482f6a 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mg{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6a14c4f..ddd930a 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mgh{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 09fe9c3..37ed69a 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mgo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         fallbackFormat{"{1} ({0})"}\r
         gmtFormat{"GMT{0}"}\r
index 563c9fb..4c9c75f 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mi{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "America:Araguaina"{\r
             ec{"Araguaina"}\r
index 72e29a4..bf4bf5c 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mk{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Абиџан"}\r
@@ -1729,7 +1729,9 @@ mk{
             ls{"Време во Ниуе"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Време на Островите Норфолк"}\r
+            ld{"Летно сметање на Островите Норфолк"}\r
+            lg{"Време на Островите Норфолк"}\r
+            ls{"Стандардно време на Островите Норфолк"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Летно сметање на времето на Фернандо де Нороња"}\r
index 95e291d..cbd9348 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ml{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"അബിദ്‌ജാൻ‌"}\r
@@ -1752,7 +1752,9 @@ ml{
             ls{"ന്യൂയി സമയം"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"നോർഫാക്ക് ദ്വീപുകൾ സമയം"}\r
+            ld{"നോർഫാക്ക് ദ്വീപുകൾ ഡേലൈറ്റ് സമയം"}\r
+            lg{"നോർഫാക്ക് ദ്വീപുകൾ സമയം"}\r
+            ls{"നോർഫാക്ക് ദ്വീപുകൾ സ്റ്റാൻഡേർഡ് സമയം"}\r
         }\r
         "meta:Noronha"{\r
             ld{"ഫെർണാഡോ ഡി നൊറോൻഹ ഗ്രീഷ്‌മകാല സമയം"}\r
index ca929d4..ecc0895 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Абижан"}\r
@@ -1710,7 +1710,9 @@ mn{
             ls{"Ниуэгийн цаг"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Норфолк арлын цаг"}\r
+            ld{"Норфолк арлын зуны цаг"}\r
+            lg{"Норфолк арлын цаг"}\r
+            ls{"Норфолк арлын стандарт цаг"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Фернандо де Норонагийн зуны цаг"}\r
diff --git a/source/data/zone/mni.txt b/source/data/zone/mni.txt
new file mode 100644 (file)
index 0000000..9d115ee
--- /dev/null
@@ -0,0 +1,63 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+mni{\r
+    Version{"37"}\r
+    zoneStrings{\r
+        "Etc:UTC"{\r
+            ls{"কোওর্দিনেটেদ য়ুনিভর্সেল টাইম"}\r
+        }\r
+        "Etc:Unknown"{\r
+            ec{"খংদবা সিটি"}\r
+        }\r
+        "meta:America_Central"{\r
+            ld{"নোর্থ অমেরিকান সেন্ত্রেল দেলাইট টাইম"}\r
+            lg{"নোর্থ অমেরিকান সেন্ত্রেল টাইম"}\r
+            ls{"নোর্থ অমেরিকান সেন্ত্রেল ষ্টেন্দর্দ টাইম"}\r
+        }\r
+        "meta:America_Eastern"{\r
+            ld{"নোর্থ অমেরিকান ইষ্টর্ন দেলাইট টাইম"}\r
+            lg{"নোর্থ অমেরিকান ইষ্টর্ন টাইম"}\r
+            ls{"নোর্থ অমেরিকান ইষ্টর্ন ষ্টেন্দর্দ টাইম"}\r
+        }\r
+        "meta:America_Mountain"{\r
+            ld{"নোর্থ অমেরিকান মাউন্টেন দেলাইট টাইম"}\r
+            lg{"নোর্থ অমেরিকান মাউন্টেন টাইম"}\r
+            ls{"নোর্থ অমেরিকান মাউন্টেন ষ্টেন্দর্দ টাইম"}\r
+        }\r
+        "meta:America_Pacific"{\r
+            ld{"নোর্থ অমেরিকান পেসিফিক দেলাইট টাইম"}\r
+            lg{"নোর্থ অমেরিকান পেসিফিক টাইম"}\r
+            ls{"নোর্থ অমেরিকান পেসিফিক ষ্টেন্দর্দ টাইম"}\r
+        }\r
+        "meta:Atlantic"{\r
+            ld{"অটলান্টিক দেলাইট টাইম"}\r
+            lg{"অটলান্টিক টাইম"}\r
+            ls{"অটলান্টিক ষ্টেন্দর্দ টাইম"}\r
+        }\r
+        "meta:Europe_Central"{\r
+            ld{"সেন্ত্রেল য়ুরোপিয়ান সমর টাইম"}\r
+            lg{"সেন্ত্রেল য়ুরোপিয়ান টাইম"}\r
+            ls{"সেন্ত্রেল য়ুরোপিয়ান ষ্টেন্দর্দ টাইম"}\r
+        }\r
+        "meta:Europe_Eastern"{\r
+            ld{"ইষ্টর্ন য়ুরোপিয়ান সমর টাইম"}\r
+            lg{"ইষ্টর্ন য়ুরোপিয়ান টাইম"}\r
+            ls{"ইষ্টর্ন য়ুরোপিয়ান ষ্টেন্দর্দ টাইম"}\r
+        }\r
+        "meta:Europe_Western"{\r
+            ld{"ৱেষ্টর্ন য়ুরোপিয়ান সমর টাইম"}\r
+            lg{"ৱেষ্টর্ন য়ুরোপিয়ান টাইম"}\r
+            ls{"ৱেষ্টর্ন য়ুরোপিয়ান ষ্টেন্দর্দ টাইম"}\r
+        }\r
+        "meta:GMT"{\r
+            ls{"গ্রিনৱিচ মিন টাইম"}\r
+        }\r
+        fallbackFormat{"{1} ({0})"}\r
+        gmtFormat{"জি এম টি {0}"}\r
+        gmtZeroFormat{"জি এম টি"}\r
+        hourFormat{"+HH:mm;-HH:mm"}\r
+        regionFormat{"{0} টাইম"}\r
+        regionFormatDaylight{"{0} (+1) দেলাইট টাইম"}\r
+        regionFormatStandard{"{0} (+0) ষ্টেন্দর্দ টাইম"}\r
+    }\r
+}\r
diff --git a/source/data/zone/mni_Beng.txt b/source/data/zone/mni_Beng.txt
new file mode 100644 (file)
index 0000000..93f5be2
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+mni_Beng{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/zone/mni_Beng_IN.txt b/source/data/zone/mni_Beng_IN.txt
new file mode 100644 (file)
index 0000000..ce4a031
--- /dev/null
@@ -0,0 +1,8 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+/**\r
+ * generated alias target\r
+ */\r
+mni_Beng_IN{\r
+    ___{""}\r
+}\r
diff --git a/source/data/zone/mni_IN.txt b/source/data/zone/mni_IN.txt
new file mode 100644 (file)
index 0000000..3fb7691
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+mni_IN{\r
+    "%%ALIAS"{"mni_Beng_IN"}\r
+}\r
index a06860a..9fde572 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mr{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"अबिद्जान"}\r
@@ -1752,7 +1752,9 @@ mr{
             ls{"न्युए वेळ"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"नॉरफोक बेट वेळ"}\r
+            ld{"नॉरफोक बेट सूर्यप्रकाश वेळ"}\r
+            lg{"नॉरफोक बेट वेळ"}\r
+            ls{"नॉरफोक बेट प्रमाण वेळ"}\r
         }\r
         "meta:Noronha"{\r
             ld{"फर्नांडो दी नोरोन्हा उन्हाळी वेळ"}\r
index f6c5b50..23ae523 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ms{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1727,7 +1727,9 @@ ms{
             ls{"Waktu Niue"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Waktu Kepulauan Norfolk"}\r
+            ld{"Waktu Musim Panas Kepulauan Norfolk"}\r
+            lg{"Waktu Kepulauan Norfolk"}\r
+            ls{"Waktu Piawai Kepulauan Norfolk"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Waktu Musim Panas Fernando de Noronha"}\r
similarity index 60%
rename from source/data/lang/ja_JP_TRADITIONAL.txt
rename to source/data/zone/ms_ID.txt
index b3821f3..b5b9370 100644 (file)
@@ -1,7 +1,8 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-ja_JP_TRADITIONAL{\r
-    calendar{\r
-        default{"japanese"}\r
+ms_ID{\r
+    Version{"37"}\r
+    zoneStrings{\r
+        hourFormat{"+HH.mm;-HH.mm"}\r
     }\r
 }\r
index 8a62be2..6744dbf 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mt{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index d21cd68..a32f7ff 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mua{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ea22506..89c6be5 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 my{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"အာဘီဂျန်"}\r
@@ -1718,7 +1718,9 @@ my{
             ls{"နီဦးအေ အချိန်"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"နောဖော့ခ်ကျွန်းအချိန်"}\r
+            ld{"နောဖော့ခ်ကျွန်း နွေရာသီ စံတော်ချိန်"}\r
+            lg{"နောဖော့ခ်ကျွန်း အချိန်"}\r
+            ls{"နောဖော့ခ်ကျွန်း စံတော်ချိန်"}\r
         }\r
         "meta:Noronha"{\r
             ld{"ဖာနန်ဒိုးဒီနိုးရိုးညာ နွေရာသီအချိန်"}\r
index f76c566..e7ea249 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 mzn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         fallbackFormat{"{1} ({0})"}\r
         gmtFormat{"GMT{0}"}\r
index f5f64a4..ef39030 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 naq{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b8eca25..ceac1f0 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nb{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1785,7 +1785,9 @@ nb{
             ls{"tidssone for Niue"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"tidssone for Norfolkøya"}\r
+            ld{"sommertid for Norfolkøya"}\r
+            lg{"tidssone for Norfolkøya"}\r
+            ls{"normaltid for Norfolkøya"}\r
         }\r
         "meta:Noronha"{\r
             ld{"sommertid for Fernando de Noronha"}\r
index 98b7ed4..c95d25a 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nd{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index df60e8e..ddcdfe9 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nds{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 0b75a07..3f07f24 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ne{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"अविड्जान"}\r
@@ -1710,7 +1710,9 @@ ne{
             ls{"निउए समय"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"नोर्फल्क टापू समय"}\r
+            ld{"नोर्फल्क टापू ग्रीष्मकालीन समय"}\r
+            lg{"नोर्फल्क टापू समय"}\r
+            ls{"नोर्फल्क टापू मानक समय"}\r
         }\r
         "meta:Noronha"{\r
             ld{"फर्नान्डो डे नोरोन्हा ग्रीष्मकालीन समय"}\r
index b9ac8c9..f67f223 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ne_IN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:India"{\r
             ss{"IST"}\r
index b2bb399..49767a2 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nl{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1789,7 +1789,9 @@ nl{
             ls{"Niuese tijd"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Norfolkeilandse tijd"}\r
+            ld{"Norfolkeilandse zomertijd"}\r
+            lg{"Norfolkeilandse tijd"}\r
+            ls{"Norfolkeilandse standaardtijd"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Fernando de Noronha-zomertijd"}\r
index 0959805..1e0644f 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nl_SR{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Suriname"{\r
             ss{"SRT"}\r
index 7a637e1..4138067 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nmg{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7715cb7..b807222 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1711,7 +1711,9 @@ nn{
             ls{"tidssone for Niue"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"tidssone for Norfolkøya"}\r
+            ld{"sumartid for Norfolkøya"}\r
+            lg{"tidssone for Norfolkøya"}\r
+            ls{"normaltid for Norfolkøya"}\r
         }\r
         "meta:Noronha"{\r
             ld{"sumartid for Fernando de Noronha"}\r
index c39f025..d3a9187 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nnh{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5c7bf51..e8e0e7e 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nus{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e63324c..a86ce18 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 nyn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3515d15..b890bf2 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 om{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         gmtFormat{"GMT{0}"}\r
         hourFormat{"+HH:mm;-HH:mm"}\r
index f9116ed..29c8712 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 or{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"ଆବିଦଜାନ"}\r
@@ -1289,6 +1289,11 @@ or{
         "Pacific:Wallis"{\r
             ec{"ୱାଲିସ୍‌"}\r
         }\r
+        "meta:Acre"{\r
+            ld{"ଆକା ଗ୍ରୀଷ୍ମ ସମୟ"}\r
+            lg{"ଆକା ସମୟ"}\r
+            ls{"ଆକା ମାନକ ସମୟ"}\r
+        }\r
         "meta:Afghanistan"{\r
             ls{"ଆଫଗାନିସ୍ତାନ ସମୟ"}\r
         }\r
@@ -1311,6 +1316,11 @@ or{
             lg{"ଆଲାସ୍କା ସମୟ"}\r
             ls{"ଆଲାସ୍କା ମାନାଙ୍କ ସମୟ"}\r
         }\r
+        "meta:Almaty"{\r
+            ld{"ଅଲମାଟୀ ଗ୍ରୀଷ୍ମ ସମୟ"}\r
+            lg{"ଅଲମାଟୀ ସମୟ"}\r
+            ls{"ଅଲମାଟୀ ମାନକ ସମୟ"}\r
+        }\r
         "meta:Amazon"{\r
             ld{"ଆମାଜନ୍ ଗ୍ରୀଷ୍ମକାଳୀନ ସମୟ"}\r
             lg{"ଆମାଜନ୍ ସମୟ"}\r
@@ -1336,11 +1346,26 @@ or{
             lg{"ପାସିଫିକ୍ ସମୟ"}\r
             ls{"ପାସିଫିକ୍ ମାନାଙ୍କ ସମୟ"}\r
         }\r
+        "meta:Anadyr"{\r
+            ld{"ଅନାଡିର୍ ଗ୍ରୀଷ୍ମ ସମୟ"}\r
+            lg{"ଅନାଡିର୍ ସମୟ"}\r
+            ls{"ଅନାଡିର୍ ମାନକ ସମୟ"}\r
+        }\r
         "meta:Apia"{\r
             ld{"ଆପିଆ ଦିବାଲୋକ ସମୟ"}\r
             lg{"ଆପିଆ ସମୟ"}\r
             ls{"ଆପିଆ ମାନାଙ୍କ ସମୟ"}\r
         }\r
+        "meta:Aqtau"{\r
+            ld{"ଅକତୌ ଗ୍ରୀଷ୍ମ ସମୟ"}\r
+            lg{"ଅକତୌ ସମୟ"}\r
+            ls{"ଅକତୌ ମାନକ ସମୟ"}\r
+        }\r
+        "meta:Aqtobe"{\r
+            ld{"ଅକ୍ତୋବ ଗ୍ରୀଷ୍ମ ସମୟ"}\r
+            lg{"ଅକ୍ତୋବ ସମୟ"}\r
+            ls{"ଅକ୍ତୋବ ମାନକ ସମୟ"}\r
+        }\r
         "meta:Arabian"{\r
             ld{"ଆରବୀୟ ଦିବାଲୋକ ସମୟ"}\r
             lg{"ଆରବୀୟ ସମୟ"}\r
@@ -1517,6 +1542,7 @@ or{
         }\r
         "meta:GMT"{\r
             ls{"ଗ୍ରୀନୱିଚ୍ ମିନ୍ ସମୟ"}\r
+            ss{"GMT"}\r
         }\r
         "meta:Galapagos"{\r
             ls{"ଗାଲାପାଗୋସ୍ ସମୟ"}\r
@@ -1602,6 +1628,11 @@ or{
             lg{"ଜାପାନ ସମୟ"}\r
             ls{"ଜାପାନ ମାନାଙ୍କ ସମୟ"}\r
         }\r
+        "meta:Kamchatka"{\r
+            ld{"ପେଟ୍ରୋପାଭଲୋଭ୍ସକ-କମଚଟସ୍କି ଗ୍ରୀଷ୍ମ ସମୟ"}\r
+            lg{"ପେଟ୍ରୋପାଭଲୋଭ୍ସକ-କମଚଟସ୍କି ସମୟ"}\r
+            ls{"ପେଟ୍ରୋପାଭଲୋଭ୍ସକ-କମଚଟସ୍କି ମାନକ ସମୟ"}\r
+        }\r
         "meta:Kazakhstan_Eastern"{\r
             ls{"ପୂର୍ବ କାଜାକସ୍ତାନ୍ ସମୟ"}\r
         }\r
@@ -1624,6 +1655,9 @@ or{
         "meta:Kyrgystan"{\r
             ls{"କିର୍ଗିସ୍ତାନ ସମୟ"}\r
         }\r
+        "meta:Lanka"{\r
+            ls{"ଲଙ୍କା ସମୟ"}\r
+        }\r
         "meta:Line_Islands"{\r
             ls{"ଲାଇନ୍‌ ଦ୍ୱୀପପୁଞ୍ଜ ସମୟ"}\r
         }\r
@@ -1632,6 +1666,11 @@ or{
             lg{"ଲର୍ଡ ହୋୱେ ସମୟ"}\r
             ls{"ଲର୍ଡ ହୋୱେ ମାନାଙ୍କ ସମୟ"}\r
         }\r
+        "meta:Macau"{\r
+            ld{"ମକାଓ ଗ୍ରୀଷ୍ମ ସମୟ"}\r
+            lg{"ମାକାଓ ସମୟ"}\r
+            ls{"ମକାଓ ମାନକ ସମୟ"}\r
+        }\r
         "meta:Macquarie"{\r
             ls{"ମାକ୍ୱେରୀ ଦ୍ୱୀପ ସମୟ"}\r
         }\r
@@ -1708,13 +1747,18 @@ or{
             ls{"ନିୟୁ ସମୟ"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"ନରଫୋକ୍‌ ଦ୍ୱୀପ ସମୟ"}\r
+            ld{"ନରଫୋକ୍‌ ଦ୍ୱୀପ ଗ୍ରୀଷ୍ମକାଳ ସମୟ"}\r
+            lg{"ନରଫୋକ୍‌ ଦ୍ୱୀପ ସମୟ"}\r
+            ls{"ନରଫୋକ୍‌ ଦ୍ୱୀପ ମାନାଙ୍କ ସମୟ"}\r
         }\r
         "meta:Noronha"{\r
             ld{"ଫର୍ଣ୍ଣାଣ୍ଡୋ ଡି ନୋରୋନ୍ନା ଗ୍ରୀଷ୍ମକାଳ ସମୟ"}\r
             lg{"ଫର୍ଣ୍ଣାଣ୍ଡୋ ଡି ନୋରୋନ୍ନା ସମୟ"}\r
             ls{"ଫର୍ଣ୍ଣାଣ୍ଡୋ ଡି ନୋରୋନ୍ନା ମାନାଙ୍କ ସମୟ"}\r
         }\r
+        "meta:North_Mariana"{\r
+            ls{"ଉତ୍ତର ମେରିଆନା ଆଇଲ୍ୟାଣ୍ଡ ସମୟ"}\r
+        }\r
         "meta:Novosibirsk"{\r
             ld{"ନୋଭୋସିବିରସ୍କ ଗ୍ରୀଷ୍ମକାଳ ସମୟ"}\r
             lg{"ନୋଭୋସିବିରସ୍କ ସମୟ"}\r
@@ -1768,6 +1812,11 @@ or{
         "meta:Pyongyang"{\r
             ls{"ପୋୟଙ୍ଗୟାଙ୍ଗ ସମୟ"}\r
         }\r
+        "meta:Qyzylorda"{\r
+            ld{"କାଜିଲୋର୍ଡା ଗ୍ରୀଷ୍ମ ସମୟ"}\r
+            lg{"କାଜିଲୋର୍ଡା ସମୟ"}\r
+            ls{"କାଜିଲୋର୍ଡା ମାନକ ସମୟ"}\r
+        }\r
         "meta:Reunion"{\r
             ls{"ରିୟୁନିଅନ୍‌ ସମୟ"}\r
         }\r
@@ -1779,6 +1828,11 @@ or{
             lg{"ସଖାଲିନ୍ ସମୟ"}\r
             ls{"ସଖାଲିନ୍ ମାନାଙ୍କ ସମୟ"}\r
         }\r
+        "meta:Samara"{\r
+            ld{"ସମାରା ଗ୍ରୀଷ୍ମ ସମୟ"}\r
+            lg{"ସମାରା ସମୟ"}\r
+            ls{"ସମାରା ମାନକ ସମୟ"}\r
+        }\r
         "meta:Samoa"{\r
             ld{"ସାମୋଆ ଦିବାଲୋକ ସମୟ"}\r
             lg{"ସାମୋଆ ସମୟ"}\r
index b012f36..abe69ea 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 os{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Asia:Tbilisi"{\r
             ec{"Тбилис"}\r
index 386a6b0..24eb72f 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pa{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"ਅਬੀਦਜਾਨ"}\r
@@ -1740,7 +1740,9 @@ pa{
             ls{"ਨੀਊ ਵੇਲਾ"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"ਨੋਰਫੌਕ ਆਈਲੈਂਡ ਵੇਲਾ"}\r
+            ld{"ਨੋਰਫੌਕ ਆਈਲੈਂਡ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ"}\r
+            lg{"ਨੋਰਫੌਕ ਆਈਲੈਂਡ ਵੇਲਾ"}\r
+            ls{"ਨੋਰਫੌਕ ਆਈਲੈਂਡ ਮਿਆਰੀ ਵੇਲਾ"}\r
         }\r
         "meta:Noronha"{\r
             ld{"ਫਰਨਾਂਡੋ ਡੇ ਨੋਰੋਨਹਾ ਗਰਮੀਆਂ ਦਾ ਵੇਲਾ"}\r
index 9daceda..5820d5d 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pa_Arab{\r
     %%Parent{"root"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b1dcb3f..de00c95 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pa_Guru{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/zone/pcm.txt b/source/data/zone/pcm.txt
new file mode 100644 (file)
index 0000000..2ca2174
--- /dev/null
@@ -0,0 +1,1888 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+pcm{\r
+    Version{"37"}\r
+    zoneStrings{\r
+        "Africa:Abidjan"{\r
+            ec{"Ábijan"}\r
+        }\r
+        "Africa:Accra"{\r
+            ec{"Akrá"}\r
+        }\r
+        "Africa:Addis_Ababa"{\r
+            ec{"Adí Abába"}\r
+        }\r
+        "Africa:Algiers"{\r
+            ec{"Aljíẹz"}\r
+        }\r
+        "Africa:Asmera"{\r
+            ec{"Asmára"}\r
+        }\r
+        "Africa:Bamako"{\r
+            ec{"Bamáko"}\r
+        }\r
+        "Africa:Bangui"{\r
+            ec{"Bangúi"}\r
+        }\r
+        "Africa:Banjul"{\r
+            ec{"Banjul"}\r
+        }\r
+        "Africa:Bissau"{\r
+            ec{"Bisau"}\r
+        }\r
+        "Africa:Blantyre"{\r
+            ec{"Blantáya"}\r
+        }\r
+        "Africa:Brazzaville"{\r
+            ec{"Brázavil"}\r
+        }\r
+        "Africa:Bujumbura"{\r
+            ec{"Bujumbúra"}\r
+        }\r
+        "Africa:Cairo"{\r
+            ec{"Kaíro"}\r
+        }\r
+        "Africa:Casablanca"{\r
+            ec{"Kasablánka"}\r
+        }\r
+        "Africa:Ceuta"{\r
+            ec{"Sẹúta"}\r
+        }\r
+        "Africa:Conakry"{\r
+            ec{"Kọnákri"}\r
+        }\r
+        "Africa:Dakar"{\r
+            ec{"Dakár"}\r
+        }\r
+        "Africa:Dar_es_Salaam"{\r
+            ec{"Dar ẹ́s Salam"}\r
+        }\r
+        "Africa:Djibouti"{\r
+            ec{"Jibúti"}\r
+        }\r
+        "Africa:Douala"{\r
+            ec{"Duála"}\r
+        }\r
+        "Africa:El_Aaiun"{\r
+            ec{"Ẹl Aiun"}\r
+        }\r
+        "Africa:Freetown"{\r
+            ec{"Frítaun"}\r
+        }\r
+        "Africa:Gaborone"{\r
+            ec{"Háborónẹ"}\r
+        }\r
+        "Africa:Harare"{\r
+            ec{"Harárẹ"}\r
+        }\r
+        "Africa:Johannesburg"{\r
+            ec{"Johánísbọg"}\r
+        }\r
+        "Africa:Juba"{\r
+            ec{"Júba"}\r
+        }\r
+        "Africa:Kampala"{\r
+            ec{"Kampála"}\r
+        }\r
+        "Africa:Khartoum"{\r
+            ec{"Kartum"}\r
+        }\r
+        "Africa:Kigali"{\r
+            ec{"Kigáli"}\r
+        }\r
+        "Africa:Kinshasa"{\r
+            ec{"Kinshásha"}\r
+        }\r
+        "Africa:Lagos"{\r
+            ec{"Légos"}\r
+        }\r
+        "Africa:Libreville"{\r
+            ec{"Líbrẹvil"}\r
+        }\r
+        "Africa:Lome"{\r
+            ec{"Lómẹ"}\r
+        }\r
+        "Africa:Luanda"{\r
+            ec{"Luánda"}\r
+        }\r
+        "Africa:Lubumbashi"{\r
+            ec{"Lubumbáshi"}\r
+        }\r
+        "Africa:Lusaka"{\r
+            ec{"Lusáka"}\r
+        }\r
+        "Africa:Malabo"{\r
+            ec{"Malábo"}\r
+        }\r
+        "Africa:Maputo"{\r
+            ec{"Mapúto"}\r
+        }\r
+        "Africa:Maseru"{\r
+            ec{"Masẹ́ru"}\r
+        }\r
+        "Africa:Mbabane"{\r
+            ec{"Mbabánẹ"}\r
+        }\r
+        "Africa:Mogadishu"{\r
+            ec{"Mọgádíshu"}\r
+        }\r
+        "Africa:Monrovia"{\r
+            ec{"Monróvia"}\r
+        }\r
+        "Africa:Nairobi"{\r
+            ec{"Naíróbi"}\r
+        }\r
+        "Africa:Ndjamena"{\r
+            ec{"Njamẹ́na"}\r
+        }\r
+        "Africa:Niamey"{\r
+            ec{"Niáme"}\r
+        }\r
+        "Africa:Nouakchott"{\r
+            ec{"Nouákshọt"}\r
+        }\r
+        "Africa:Ouagadougou"{\r
+            ec{"Ouagadúgu"}\r
+        }\r
+        "Africa:Porto-Novo"{\r
+            ec{"Pọto-Nóvo"}\r
+        }\r
+        "Africa:Sao_Tome"{\r
+            ec{"Sao Tómẹ"}\r
+        }\r
+        "Africa:Tripoli"{\r
+            ec{"Trípọ́li"}\r
+        }\r
+        "Africa:Tunis"{\r
+            ec{"Túnis"}\r
+        }\r
+        "Africa:Windhoek"{\r
+            ec{"Wíndhok"}\r
+        }\r
+        "America:Adak"{\r
+            ec{"Ádak"}\r
+        }\r
+        "America:Anchorage"{\r
+            ec{"Ánkọ́rej"}\r
+        }\r
+        "America:Anguilla"{\r
+            ec{"Angwíla"}\r
+        }\r
+        "America:Antigua"{\r
+            ec{"Antígwua"}\r
+        }\r
+        "America:Araguaina"{\r
+            ec{"Aragwuaína"}\r
+        }\r
+        "America:Argentina:La_Rioja"{\r
+            ec{"La Riókha"}\r
+        }\r
+        "America:Argentina:Rio_Gallegos"{\r
+            ec{"Rió Galẹ́gọs"}\r
+        }\r
+        "America:Argentina:Salta"{\r
+            ec{"Sálta"}\r
+        }\r
+        "America:Argentina:San_Juan"{\r
+            ec{"San Hwan"}\r
+        }\r
+        "America:Argentina:San_Luis"{\r
+            ec{"San Luis"}\r
+        }\r
+        "America:Argentina:Tucuman"{\r
+            ec{"Túkúman"}\r
+        }\r
+        "America:Argentina:Ushuaia"{\r
+            ec{"Usuáya"}\r
+        }\r
+        "America:Aruba"{\r
+            ec{"Arúba"}\r
+        }\r
+        "America:Asuncion"{\r
+            ec{"Asunsiọn"}\r
+        }\r
+        "America:Bahia"{\r
+            ec{"Bahía"}\r
+        }\r
+        "America:Bahia_Banderas"{\r
+            ec{"Bahía Bandẹ́ras"}\r
+        }\r
+        "America:Barbados"{\r
+            ec{"Barbédọs"}\r
+        }\r
+        "America:Belem"{\r
+            ec{"Bẹlẹm"}\r
+        }\r
+        "America:Belize"{\r
+            ec{"Bẹliz"}\r
+        }\r
+        "America:Blanc-Sablon"{\r
+            ec{"Blank-Sáblọn"}\r
+        }\r
+        "America:Boa_Vista"{\r
+            ec{"Bóa Vísta"}\r
+        }\r
+        "America:Bogota"{\r
+            ec{"Bogota"}\r
+        }\r
+        "America:Boise"{\r
+            ec{"Bọísi"}\r
+        }\r
+        "America:Buenos_Aires"{\r
+            ec{"Buẹnos Aírẹs"}\r
+        }\r
+        "America:Cambridge_Bay"{\r
+            ec{"Kémbríj Bè"}\r
+        }\r
+        "America:Campo_Grande"{\r
+            ec{"Kampó Grándẹ"}\r
+        }\r
+        "America:Cancun"{\r
+            ec{"Kankun"}\r
+        }\r
+        "America:Caracas"{\r
+            ec{"Karákas"}\r
+        }\r
+        "America:Catamarca"{\r
+            ec{"Katamáka"}\r
+        }\r
+        "America:Cayenne"{\r
+            ec{"Kayẹn"}\r
+        }\r
+        "America:Cayman"{\r
+            ec{"Kéman"}\r
+        }\r
+        "America:Chicago"{\r
+            ec{"Chikágo"}\r
+        }\r
+        "America:Chihuahua"{\r
+            ec{"Chiwuáwua"}\r
+        }\r
+        "America:Coral_Harbour"{\r
+            ec{"Atíkókan"}\r
+        }\r
+        "America:Cordoba"{\r
+            ec{"Kórdoba"}\r
+        }\r
+        "America:Costa_Rica"{\r
+            ec{"Kósta Ríka"}\r
+        }\r
+        "America:Creston"{\r
+            ec{"Krẹ́stọn"}\r
+        }\r
+        "America:Cuiaba"{\r
+            ec{"Kúyábaa"}\r
+        }\r
+        "America:Curacao"{\r
+            ec{"Kiurásao"}\r
+        }\r
+        "America:Danmarkshavn"{\r
+            ec{"Danmákshávun"}\r
+        }\r
+        "America:Dawson"{\r
+            ec{"Dọ́sọn"}\r
+        }\r
+        "America:Dawson_Creek"{\r
+            ec{"Dọ́sọn Krik"}\r
+        }\r
+        "America:Denver"{\r
+            ec{"Dẹ́nva"}\r
+        }\r
+        "America:Detroit"{\r
+            ec{"Ditrọit"}\r
+        }\r
+        "America:Dominica"{\r
+            ec{"Dọmíníka"}\r
+        }\r
+        "America:Edmonton"{\r
+            ec{"Ẹ́dmọ́ntọn"}\r
+        }\r
+        "America:Eirunepe"{\r
+            ec{"Ẹirunẹpẹ"}\r
+        }\r
+        "America:El_Salvador"{\r
+            ec{"El Sálvádọ"}\r
+        }\r
+        "America:Fort_Nelson"{\r
+            ec{"Fọt Nẹ́lson"}\r
+        }\r
+        "America:Fortaleza"{\r
+            ec{"Fọtalẹ́za"}\r
+        }\r
+        "America:Glace_Bay"{\r
+            ec{"Glás Bè"}\r
+        }\r
+        "America:Godthab"{\r
+            ec{"Nuuk"}\r
+        }\r
+        "America:Goose_Bay"{\r
+            ec{"Gúz Bè"}\r
+        }\r
+        "America:Grand_Turk"{\r
+            ec{"Gránd Tọk"}\r
+        }\r
+        "America:Grenada"{\r
+            ec{"Grẹnéda"}\r
+        }\r
+        "America:Guadeloupe"{\r
+            ec{"Guadalúpẹ"}\r
+        }\r
+        "America:Guatemala"{\r
+            ec{"Guátẹmála"}\r
+        }\r
+        "America:Guayaquil"{\r
+            ec{"Guáyakil"}\r
+        }\r
+        "America:Guyana"{\r
+            ec{"Gayána"}\r
+        }\r
+        "America:Halifax"{\r
+            ec{"Hálífaks"}\r
+        }\r
+        "America:Havana"{\r
+            ec{"Havána"}\r
+        }\r
+        "America:Hermosillo"{\r
+            ec{"Hẹ́mósílo"}\r
+        }\r
+        "America:Indiana:Knox"{\r
+            ec{"Nọks, Indiána"}\r
+        }\r
+        "America:Indiana:Marengo"{\r
+            ec{"Marẹ́ngo, Indiána"}\r
+        }\r
+        "America:Indiana:Petersburg"{\r
+            ec{"Pításbọg, Indiána"}\r
+        }\r
+        "America:Indiana:Tell_City"{\r
+            ec{"Tẹ́l Síti, Indiána"}\r
+        }\r
+        "America:Indiana:Vevay"{\r
+            ec{"Vẹ́ve, Indiána"}\r
+        }\r
+        "America:Indiana:Vincennes"{\r
+            ec{"Vínsẹn, Indiána"}\r
+        }\r
+        "America:Indiana:Winamac"{\r
+            ec{"Wínámak, Indiána"}\r
+        }\r
+        "America:Indianapolis"{\r
+            ec{"Indiánápọ́lis"}\r
+        }\r
+        "America:Inuvik"{\r
+            ec{"Inúvik"}\r
+        }\r
+        "America:Iqaluit"{\r
+            ec{"Ikáluit"}\r
+        }\r
+        "America:Jamaica"{\r
+            ec{"Jamaíka"}\r
+        }\r
+        "America:Jujuy"{\r
+            ec{"Huhui"}\r
+        }\r
+        "America:Juneau"{\r
+            ec{"Júno"}\r
+        }\r
+        "America:Kentucky:Monticello"{\r
+            ec{"Mọntẹchẹ́lo, Kẹ́ntọ́ki"}\r
+        }\r
+        "America:Kralendijk"{\r
+            ec{"Králẹ́ndijk"}\r
+        }\r
+        "America:La_Paz"{\r
+            ec{"La Paz"}\r
+        }\r
+        "America:Lima"{\r
+            ec{"Líma"}\r
+        }\r
+        "America:Los_Angeles"{\r
+            ec{"Lọs Ánjẹ́lis"}\r
+        }\r
+        "America:Louisville"{\r
+            ec{"Luívil"}\r
+        }\r
+        "America:Lower_Princes"{\r
+            ec{"Lówá Príns Im Kwọ́ta"}\r
+        }\r
+        "America:Maceio"{\r
+            ec{"Masẹ́io"}\r
+        }\r
+        "America:Managua"{\r
+            ec{"Manágua"}\r
+        }\r
+        "America:Manaus"{\r
+            ec{"Manáus"}\r
+        }\r
+        "America:Marigot"{\r
+            ec{"Márígọt"}\r
+        }\r
+        "America:Martinique"{\r
+            ec{"Matínik"}\r
+        }\r
+        "America:Matamoros"{\r
+            ec{"Mátamóros"}\r
+        }\r
+        "America:Mazatlan"{\r
+            ec{"Mazátlan"}\r
+        }\r
+        "America:Mendoza"{\r
+            ec{"Mẹndóza"}\r
+        }\r
+        "America:Menominee"{\r
+            ec{"Mẹnọ́minii"}\r
+        }\r
+        "America:Merida"{\r
+            ec{"Mẹ́rída"}\r
+        }\r
+        "America:Metlakatla"{\r
+            ec{"Mẹtlakátla"}\r
+        }\r
+        "America:Mexico_City"{\r
+            ec{"Mẹ́ksíkó Síti"}\r
+        }\r
+        "America:Miquelon"{\r
+            ec{"Míkẹlọn"}\r
+        }\r
+        "America:Moncton"{\r
+            ec{"Mọ́nktọn"}\r
+        }\r
+        "America:Monterrey"{\r
+            ec{"Mọntẹrẹẹ"}\r
+        }\r
+        "America:Montevideo"{\r
+            ec{"Mọntẹvidẹo"}\r
+        }\r
+        "America:Montserrat"{\r
+            ec{"Mọntsẹrat"}\r
+        }\r
+        "America:Nassau"{\r
+            ec{"Nássọu"}\r
+        }\r
+        "America:New_York"{\r
+            ec{"Niú Yọk"}\r
+        }\r
+        "America:Nipigon"{\r
+            ec{"Nípígọn"}\r
+        }\r
+        "America:Nome"{\r
+            ec{"Noom"}\r
+        }\r
+        "America:Noronha"{\r
+            ec{"Nọrónia"}\r
+        }\r
+        "America:North_Dakota:Beulah"{\r
+            ec{"Biúla, Nọ́t Dakóta"}\r
+        }\r
+        "America:North_Dakota:Center"{\r
+            ec{"Sẹ́nta, Nọ́t Dakóta"}\r
+        }\r
+        "America:North_Dakota:New_Salem"{\r
+            ec{"Niú Sélẹm, Nọ́t Dakóta"}\r
+        }\r
+        "America:Ojinaga"{\r
+            ec{"Okhinága"}\r
+        }\r
+        "America:Panama"{\r
+            ec{"Pánáma"}\r
+        }\r
+        "America:Pangnirtung"{\r
+            ec{"Pangnírtung"}\r
+        }\r
+        "America:Paramaribo"{\r
+            ec{"Párámaribo"}\r
+        }\r
+        "America:Phoenix"{\r
+            ec{"Fíniks"}\r
+        }\r
+        "America:Port-au-Prince"{\r
+            ec{"Pọt-o-Prins"}\r
+        }\r
+        "America:Port_of_Spain"{\r
+            ec{"Pọ́t ọf Spen"}\r
+        }\r
+        "America:Porto_Velho"{\r
+            ec{"Pọto Vẹ́lho"}\r
+        }\r
+        "America:Puerto_Rico"{\r
+            ec{"Puẹ́rto Ríkọ"}\r
+        }\r
+        "America:Punta_Arenas"{\r
+            ec{"Púntá Arẹ́nas"}\r
+        }\r
+        "America:Rainy_River"{\r
+            ec{"Réní Ríva"}\r
+        }\r
+        "America:Rankin_Inlet"{\r
+            ec{"Ránkín Ínlẹt"}\r
+        }\r
+        "America:Recife"{\r
+            ec{"Rẹsífẹ"}\r
+        }\r
+        "America:Regina"{\r
+            ec{"Rẹjína"}\r
+        }\r
+        "America:Resolute"{\r
+            ec{"Rẹ́zólut"}\r
+        }\r
+        "America:Rio_Branco"{\r
+            ec{"Rió Bránko"}\r
+        }\r
+        "America:Santarem"{\r
+            ec{"Santarẹm"}\r
+        }\r
+        "America:Santiago"{\r
+            ec{"Santiágo"}\r
+        }\r
+        "America:Santo_Domingo"{\r
+            ec{"Sántó Domíngo"}\r
+        }\r
+        "America:Sao_Paulo"{\r
+            ec{"Sao Paúlo"}\r
+        }\r
+        "America:Scoresbysund"{\r
+            ec{"Itókotúrmit"}\r
+        }\r
+        "America:Sitka"{\r
+            ec{"Sitka"}\r
+        }\r
+        "America:St_Barthelemy"{\r
+            ec{"Sent Batẹlẹ́mi"}\r
+        }\r
+        "America:St_Johns"{\r
+            ec{"Sent Jọn"}\r
+        }\r
+        "America:St_Kitts"{\r
+            ec{"Sent Kits"}\r
+        }\r
+        "America:St_Lucia"{\r
+            ec{"Sent Lúshia"}\r
+        }\r
+        "America:St_Thomas"{\r
+            ec{"Sent Tọmọs"}\r
+        }\r
+        "America:St_Vincent"{\r
+            ec{"Sent Vínsẹnt"}\r
+        }\r
+        "America:Swift_Current"{\r
+            ec{"Swíft Kọ́rẹnt"}\r
+        }\r
+        "America:Tegucigalpa"{\r
+            ec{"Tẹgúsigálpa"}\r
+        }\r
+        "America:Thule"{\r
+            ec{"Túli"}\r
+        }\r
+        "America:Thunder_Bay"{\r
+            ec{"Tọ́nda Bè"}\r
+        }\r
+        "America:Tijuana"{\r
+            ec{"Tikhuána"}\r
+        }\r
+        "America:Toronto"{\r
+            ec{"Torónto"}\r
+        }\r
+        "America:Tortola"{\r
+            ec{"Tọtóla"}\r
+        }\r
+        "America:Vancouver"{\r
+            ec{"Vankúva"}\r
+        }\r
+        "America:Whitehorse"{\r
+            ec{"Waíthọs"}\r
+        }\r
+        "America:Winnipeg"{\r
+            ec{"Wínípẹg"}\r
+        }\r
+        "America:Yakutat"{\r
+            ec{"Yakútat"}\r
+        }\r
+        "America:Yellowknife"{\r
+            ec{"Yẹ́lónaif"}\r
+        }\r
+        "Antarctica:Casey"{\r
+            ec{"Kési"}\r
+        }\r
+        "Antarctica:Davis"{\r
+            ec{"Dévis"}\r
+        }\r
+        "Antarctica:DumontDUrville"{\r
+            ec{"Diúmọ́n-d’Uvil"}\r
+        }\r
+        "Antarctica:Macquarie"{\r
+            ec{"Makwuéí"}\r
+        }\r
+        "Antarctica:Mawson"{\r
+            ec{"Mọ́sọn"}\r
+        }\r
+        "Antarctica:McMurdo"{\r
+            ec{"McMọ́do"}\r
+        }\r
+        "Antarctica:Palmer"{\r
+            ec{"Páma"}\r
+        }\r
+        "Antarctica:Rothera"{\r
+            ec{"Rotẹ́ra"}\r
+        }\r
+        "Antarctica:Syowa"{\r
+            ec{"Siówa"}\r
+        }\r
+        "Antarctica:Troll"{\r
+            ec{"Trol"}\r
+        }\r
+        "Antarctica:Vostok"{\r
+            ec{"Vọ́stọk"}\r
+        }\r
+        "Arctic:Longyearbyen"{\r
+            ec{"Lọngyẹ́abiẹn"}\r
+        }\r
+        "Asia:Aden"{\r
+            ec{"Édẹn"}\r
+        }\r
+        "Asia:Almaty"{\r
+            ec{"Álmáti"}\r
+        }\r
+        "Asia:Amman"{\r
+            ec{"Aman"}\r
+        }\r
+        "Asia:Anadyr"{\r
+            ec{"Ánadiar"}\r
+        }\r
+        "Asia:Aqtau"{\r
+            ec{"Aktáu"}\r
+        }\r
+        "Asia:Aqtobe"{\r
+            ec{"Aktóbẹ"}\r
+        }\r
+        "Asia:Ashgabat"{\r
+            ec{"Áshgabat"}\r
+        }\r
+        "Asia:Atyrau"{\r
+            ec{"Átírau"}\r
+        }\r
+        "Asia:Baghdad"{\r
+            ec{"Bágdad"}\r
+        }\r
+        "Asia:Bahrain"{\r
+            ec{"Bahrén"}\r
+        }\r
+        "Asia:Baku"{\r
+            ec{"Baku"}\r
+        }\r
+        "Asia:Bangkok"{\r
+            ec{"Bánkọk"}\r
+        }\r
+        "Asia:Barnaul"{\r
+            ec{"Bárnául"}\r
+        }\r
+        "Asia:Beirut"{\r
+            ec{"Bẹrut"}\r
+        }\r
+        "Asia:Bishkek"{\r
+            ec{"Bishkẹk"}\r
+        }\r
+        "Asia:Brunei"{\r
+            ec{"Brunẹi"}\r
+        }\r
+        "Asia:Calcutta"{\r
+            ec{"Kolkáta"}\r
+        }\r
+        "Asia:Chita"{\r
+            ec{"Chítá"}\r
+        }\r
+        "Asia:Choibalsan"{\r
+            ec{"Choibálsan"}\r
+        }\r
+        "Asia:Colombo"{\r
+            ec{"Kolómbo"}\r
+        }\r
+        "Asia:Damascus"{\r
+            ec{"Damáskọs"}\r
+        }\r
+        "Asia:Dhaka"{\r
+            ec{"Dáka"}\r
+        }\r
+        "Asia:Dili"{\r
+            ec{"Díli"}\r
+        }\r
+        "Asia:Dubai"{\r
+            ec{"Dubai"}\r
+        }\r
+        "Asia:Dushanbe"{\r
+            ec{"Dushánbẹ"}\r
+        }\r
+        "Asia:Famagusta"{\r
+            ec{"Fagústa"}\r
+        }\r
+        "Asia:Gaza"{\r
+            ec{"Gáza"}\r
+        }\r
+        "Asia:Hebron"{\r
+            ec{"Hẹ́brọn"}\r
+        }\r
+        "Asia:Hong_Kong"{\r
+            ec{"Họng Kọng"}\r
+        }\r
+        "Asia:Hovd"{\r
+            ec{"Hovd"}\r
+        }\r
+        "Asia:Irkutsk"{\r
+            ec{"Irkútsk"}\r
+        }\r
+        "Asia:Jakarta"{\r
+            ec{"Jakáta"}\r
+        }\r
+        "Asia:Jayapura"{\r
+            ec{"Jayapúra"}\r
+        }\r
+        "Asia:Jerusalem"{\r
+            ec{"Jẹrúsálẹm"}\r
+        }\r
+        "Asia:Kabul"{\r
+            ec{"Kabul"}\r
+        }\r
+        "Asia:Kamchatka"{\r
+            ec{"Kamchátké"}\r
+        }\r
+        "Asia:Karachi"{\r
+            ec{"Karáchi"}\r
+        }\r
+        "Asia:Katmandu"{\r
+            ec{"Katmándu"}\r
+        }\r
+        "Asia:Khandyga"{\r
+            ec{"Kandíga"}\r
+        }\r
+        "Asia:Krasnoyarsk"{\r
+            ec{"Krasnoyask"}\r
+        }\r
+        "Asia:Kuala_Lumpur"{\r
+            ec{"Kuála Lúmpọ"}\r
+        }\r
+        "Asia:Kuching"{\r
+            ec{"Kuching"}\r
+        }\r
+        "Asia:Kuwait"{\r
+            ec{"Kuwet"}\r
+        }\r
+        "Asia:Macau"{\r
+            ec{"Makáo"}\r
+        }\r
+        "Asia:Magadan"{\r
+            ec{"Mágádan"}\r
+        }\r
+        "Asia:Makassar"{\r
+            ec{"Makása"}\r
+        }\r
+        "Asia:Manila"{\r
+            ec{"Maníla"}\r
+        }\r
+        "Asia:Muscat"{\r
+            ec{"Múskat"}\r
+        }\r
+        "Asia:Nicosia"{\r
+            ec{"Nikosia"}\r
+        }\r
+        "Asia:Novokuznetsk"{\r
+            ec{"Novokuznẹ́sk"}\r
+        }\r
+        "Asia:Novosibirsk"{\r
+            ec{"Novosibisk"}\r
+        }\r
+        "Asia:Omsk"{\r
+            ec{"Ọmsk"}\r
+        }\r
+        "Asia:Oral"{\r
+            ec{"Ọ́ral"}\r
+        }\r
+        "Asia:Phnom_Penh"{\r
+            ec{"Fnọ́m Pẹn"}\r
+        }\r
+        "Asia:Pontianak"{\r
+            ec{"Pọntiának"}\r
+        }\r
+        "Asia:Pyongyang"{\r
+            ec{"Piọngyang"}\r
+        }\r
+        "Asia:Qatar"{\r
+            ec{"Káta"}\r
+        }\r
+        "Asia:Qostanay"{\r
+            ec{"Kostánai"}\r
+        }\r
+        "Asia:Qyzylorda"{\r
+            ec{"Kízilọ́da"}\r
+        }\r
+        "Asia:Rangoon"{\r
+            ec{"Yangọn"}\r
+        }\r
+        "Asia:Riyadh"{\r
+            ec{"Riyád"}\r
+        }\r
+        "Asia:Saigon"{\r
+            ec{"Hó Chi Mín Síti"}\r
+        }\r
+        "Asia:Sakhalin"{\r
+            ec{"Sákhalin"}\r
+        }\r
+        "Asia:Samarkand"{\r
+            ec{"Sámákand"}\r
+        }\r
+        "Asia:Seoul"{\r
+            ec{"Sol"}\r
+        }\r
+        "Asia:Shanghai"{\r
+            ec{"Shánghai"}\r
+        }\r
+        "Asia:Singapore"{\r
+            ec{"Singapọ"}\r
+        }\r
+        "Asia:Srednekolymsk"{\r
+            ec{"Srẹ́dnẹkolimsk"}\r
+        }\r
+        "Asia:Taipei"{\r
+            ec{"Taipẹi"}\r
+        }\r
+        "Asia:Tashkent"{\r
+            ec{"Táshkẹnt"}\r
+        }\r
+        "Asia:Tbilisi"{\r
+            ec{"Tiblísi"}\r
+        }\r
+        "Asia:Tehran"{\r
+            ec{"Tẹran"}\r
+        }\r
+        "Asia:Thimphu"{\r
+            ec{"Tímfu"}\r
+        }\r
+        "Asia:Tokyo"{\r
+            ec{"Tókyo"}\r
+        }\r
+        "Asia:Tomsk"{\r
+            ec{"Tomsk"}\r
+        }\r
+        "Asia:Ulaanbaatar"{\r
+            ec{"Ulanbáta"}\r
+        }\r
+        "Asia:Urumqi"{\r
+            ec{"Yurọ́mki"}\r
+        }\r
+        "Asia:Ust-Nera"{\r
+            ec{"Ust-Nẹ́ra"}\r
+        }\r
+        "Asia:Vientiane"{\r
+            ec{"Viẹ́ntiẹn"}\r
+        }\r
+        "Asia:Vladivostok"{\r
+            ec{"Vladivọstọk"}\r
+        }\r
+        "Asia:Yakutsk"{\r
+            ec{"Yékútsk"}\r
+        }\r
+        "Asia:Yekaterinburg"{\r
+            ec{"Yẹketẹrínbug"}\r
+        }\r
+        "Asia:Yerevan"{\r
+            ec{"Yẹrẹ́van"}\r
+        }\r
+        "Atlantic:Azores"{\r
+            ec{"Azọz"}\r
+        }\r
+        "Atlantic:Bermuda"{\r
+            ec{"Bẹmiúda"}\r
+        }\r
+        "Atlantic:Canary"{\r
+            ec{"Kenerí"}\r
+        }\r
+        "Atlantic:Cape_Verde"{\r
+            ec{"Kép Vẹd"}\r
+        }\r
+        "Atlantic:Faeroe"{\r
+            ec{"Fáróis"}\r
+        }\r
+        "Atlantic:Madeira"{\r
+            ec{"Madíra"}\r
+        }\r
+        "Atlantic:Reykjavik"{\r
+            ec{"Rẹ́kjávik"}\r
+        }\r
+        "Atlantic:South_Georgia"{\r
+            ec{"Saút Jọ́jia"}\r
+        }\r
+        "Atlantic:St_Helena"{\r
+            ec{"Sent Hẹlẹ́na"}\r
+        }\r
+        "Atlantic:Stanley"{\r
+            ec{"Stánli"}\r
+        }\r
+        "Australia:Adelaide"{\r
+            ec{"Adleid"}\r
+        }\r
+        "Australia:Brisbane"{\r
+            ec{"Brísben"}\r
+        }\r
+        "Australia:Broken_Hill"{\r
+            ec{"Brókún Hil"}\r
+        }\r
+        "Australia:Currie"{\r
+            ec{"Kọ́ri"}\r
+        }\r
+        "Australia:Darwin"{\r
+            ec{"Dárwin"}\r
+        }\r
+        "Australia:Eucla"{\r
+            ec{"Yúkla"}\r
+        }\r
+        "Australia:Hobart"{\r
+            ec{"Hóbat"}\r
+        }\r
+        "Australia:Lindeman"{\r
+            ec{"Líndẹman"}\r
+        }\r
+        "Australia:Lord_Howe"{\r
+            ec{"Lọd Haú"}\r
+        }\r
+        "Australia:Melbourne"{\r
+            ec{"Mẹ́lbọn"}\r
+        }\r
+        "Australia:Perth"{\r
+            ec{"Pẹrt"}\r
+        }\r
+        "Australia:Sydney"{\r
+            ec{"Sídni"}\r
+        }\r
+        "Etc:UTC"{\r
+            ls{"Arénjmẹnt ọf Di Hól Wọld Taim"}\r
+        }\r
+        "Etc:Unknown"{\r
+            ec{"Taun wé Pẹ́sin Nọ́ No"}\r
+        }\r
+        "Europe:Amsterdam"{\r
+            ec{"Ámstádam"}\r
+        }\r
+        "Europe:Andorra"{\r
+            ec{"Andọ́ra"}\r
+        }\r
+        "Europe:Astrakhan"{\r
+            ec{"Ástrahán"}\r
+        }\r
+        "Europe:Athens"{\r
+            ec{"Átẹns"}\r
+        }\r
+        "Europe:Belgrade"{\r
+            ec{"Bẹ́lgréd"}\r
+        }\r
+        "Europe:Berlin"{\r
+            ec{"Bẹlin"}\r
+        }\r
+        "Europe:Bratislava"{\r
+            ec{"Bratísláva"}\r
+        }\r
+        "Europe:Brussels"{\r
+            ec{"Brúsuls"}\r
+        }\r
+        "Europe:Bucharest"{\r
+            ec{"Búkárẹst"}\r
+        }\r
+        "Europe:Budapest"{\r
+            ec{"Búdápẹst"}\r
+        }\r
+        "Europe:Busingen"{\r
+            ec{"Busíngẹn"}\r
+        }\r
+        "Europe:Chisinau"{\r
+            ec{"Chisináu"}\r
+        }\r
+        "Europe:Copenhagen"{\r
+            ec{"Kọpẹnhágẹn"}\r
+        }\r
+        "Europe:Dublin"{\r
+            ec{"Dọ́blin"}\r
+            ld{"Aírísh Fíksd Taim"}\r
+        }\r
+        "Europe:Gibraltar"{\r
+            ec{"Jibrọ́lta"}\r
+        }\r
+        "Europe:Guernsey"{\r
+            ec{"Guẹnzi"}\r
+        }\r
+        "Europe:Helsinki"{\r
+            ec{"Hẹlsínki"}\r
+        }\r
+        "Europe:Isle_of_Man"{\r
+            ec{"Aíl ọf Man"}\r
+        }\r
+        "Europe:Istanbul"{\r
+            ec{"Ístánbul"}\r
+        }\r
+        "Europe:Jersey"{\r
+            ec{"Jẹ́si"}\r
+        }\r
+        "Europe:Kaliningrad"{\r
+            ec{"Kalíníngrad"}\r
+        }\r
+        "Europe:Kiev"{\r
+            ec{"Kiẹv"}\r
+        }\r
+        "Europe:Kirov"{\r
+            ec{"Kirọv"}\r
+        }\r
+        "Europe:Lisbon"{\r
+            ec{"Lísbọn"}\r
+        }\r
+        "Europe:Ljubljana"{\r
+            ec{"Lubliána"}\r
+        }\r
+        "Europe:London"{\r
+            ec{"Lọ́ndọn"}\r
+            ld{"Brítísh Họ́t Sízin Taim"}\r
+        }\r
+        "Europe:Luxembourg"{\r
+            ec{"Lọ́ksẹ́mbọg"}\r
+        }\r
+        "Europe:Madrid"{\r
+            ec{"Madrid"}\r
+        }\r
+        "Europe:Malta"{\r
+            ec{"Mọ́lta"}\r
+        }\r
+        "Europe:Mariehamn"{\r
+            ec{"Maríahámn"}\r
+        }\r
+        "Europe:Minsk"{\r
+            ec{"Minsk"}\r
+        }\r
+        "Europe:Monaco"{\r
+            ec{"Mọ́náko"}\r
+        }\r
+        "Europe:Moscow"{\r
+            ec{"Mọ́sko"}\r
+        }\r
+        "Europe:Oslo"{\r
+            ec{"Ọ́slo"}\r
+        }\r
+        "Europe:Paris"{\r
+            ec{"Páris"}\r
+        }\r
+        "Europe:Podgorica"{\r
+            ec{"Pọ́jóríka"}\r
+        }\r
+        "Europe:Prague"{\r
+            ec{"Prag"}\r
+        }\r
+        "Europe:Riga"{\r
+            ec{"Ríga"}\r
+        }\r
+        "Europe:Rome"{\r
+            ec{"Rom"}\r
+        }\r
+        "Europe:Samara"{\r
+            ec{"Samára"}\r
+        }\r
+        "Europe:San_Marino"{\r
+            ec{"San Maríno"}\r
+        }\r
+        "Europe:Sarajevo"{\r
+            ec{"Sarayẹ́vo"}\r
+        }\r
+        "Europe:Saratov"{\r
+            ec{"Sárátov"}\r
+        }\r
+        "Europe:Simferopol"{\r
+            ec{"Símfẹrópol"}\r
+        }\r
+        "Europe:Skopje"{\r
+            ec{"Skọ́pyẹ"}\r
+        }\r
+        "Europe:Sofia"{\r
+            ec{"Sofía"}\r
+        }\r
+        "Europe:Stockholm"{\r
+            ec{"Stọ́khọm"}\r
+        }\r
+        "Europe:Tallinn"{\r
+            ec{"Tálin"}\r
+        }\r
+        "Europe:Tirane"{\r
+            ec{"Tiránẹ"}\r
+        }\r
+        "Europe:Ulyanovsk"{\r
+            ec{"Uliánọvsk"}\r
+        }\r
+        "Europe:Uzhgorod"{\r
+            ec{"Ọ́zhọrọd"}\r
+        }\r
+        "Europe:Vaduz"{\r
+            ec{"Vaduz"}\r
+        }\r
+        "Europe:Vatican"{\r
+            ec{"Vátíkan"}\r
+        }\r
+        "Europe:Vienna"{\r
+            ec{"Viẹ́na"}\r
+        }\r
+        "Europe:Vilnius"{\r
+            ec{"Vílnius"}\r
+        }\r
+        "Europe:Volgograd"{\r
+            ec{"Volvógrad"}\r
+        }\r
+        "Europe:Warsaw"{\r
+            ec{"Wọ́sọ"}\r
+        }\r
+        "Europe:Zagreb"{\r
+            ec{"Zágrẹb"}\r
+        }\r
+        "Europe:Zaporozhye"{\r
+            ec{"Zaporózhia"}\r
+        }\r
+        "Europe:Zurich"{\r
+            ec{"Zúrik"}\r
+        }\r
+        "Indian:Antananarivo"{\r
+            ec{"Antánánarívo"}\r
+        }\r
+        "Indian:Chagos"{\r
+            ec{"Chágọs"}\r
+        }\r
+        "Indian:Christmas"{\r
+            ec{"Krísmas"}\r
+        }\r
+        "Indian:Cocos"{\r
+            ec{"Kókos"}\r
+        }\r
+        "Indian:Comoro"{\r
+            ec{"Kọ́mọ́ros"}\r
+        }\r
+        "Indian:Kerguelen"{\r
+            ec{"Kẹ́rgúlẹn"}\r
+        }\r
+        "Indian:Mahe"{\r
+            ec{"Mahẹ́"}\r
+        }\r
+        "Indian:Maldives"{\r
+            ec{"Mọ́ldivs"}\r
+        }\r
+        "Indian:Mauritius"{\r
+            ec{"Mọríshọs"}\r
+        }\r
+        "Indian:Mayotte"{\r
+            ec{"Meyọt"}\r
+        }\r
+        "Indian:Reunion"{\r
+            ec{"Riyúniọn"}\r
+        }\r
+        "Pacific:Apia"{\r
+            ec{"Ápia"}\r
+        }\r
+        "Pacific:Auckland"{\r
+            ec{"Ọ́kland"}\r
+        }\r
+        "Pacific:Bougainville"{\r
+            ec{"Bugenvília"}\r
+        }\r
+        "Pacific:Chatham"{\r
+            ec{"Chátam"}\r
+        }\r
+        "Pacific:Easter"{\r
+            ec{"Ísta"}\r
+        }\r
+        "Pacific:Efate"{\r
+            ec{"Ẹfátẹ"}\r
+        }\r
+        "Pacific:Enderbury"{\r
+            ec{"Ẹ́ndábẹ́ri"}\r
+        }\r
+        "Pacific:Fakaofo"{\r
+            ec{"Fakáófo"}\r
+        }\r
+        "Pacific:Fiji"{\r
+            ec{"Fíji"}\r
+        }\r
+        "Pacific:Funafuti"{\r
+            ec{"Funafúti"}\r
+        }\r
+        "Pacific:Galapagos"{\r
+            ec{"Galápágọs"}\r
+        }\r
+        "Pacific:Gambier"{\r
+            ec{"Gámbiẹr"}\r
+        }\r
+        "Pacific:Guadalcanal"{\r
+            ec{"Guádálkanal"}\r
+        }\r
+        "Pacific:Guam"{\r
+            ec{"Guam"}\r
+        }\r
+        "Pacific:Johnston"{\r
+            ec{"Jọ́nstun"}\r
+        }\r
+        "Pacific:Kiritimati"{\r
+            ec{"Kritímáti"}\r
+        }\r
+        "Pacific:Kosrae"{\r
+            ec{"Kọ́sraẹ"}\r
+        }\r
+        "Pacific:Kwajalein"{\r
+            ec{"Kwájalẹn"}\r
+        }\r
+        "Pacific:Majuro"{\r
+            ec{"Majúro"}\r
+        }\r
+        "Pacific:Marquesas"{\r
+            ec{"Makwẹ́sas"}\r
+        }\r
+        "Pacific:Midway"{\r
+            ec{"Mídwè"}\r
+        }\r
+        "Pacific:Nauru"{\r
+            ec{"Naúru"}\r
+        }\r
+        "Pacific:Niue"{\r
+            ec{"Niú"}\r
+        }\r
+        "Pacific:Norfolk"{\r
+            ec{"Nọ́rfọ́lk"}\r
+        }\r
+        "Pacific:Noumea"{\r
+            ec{"Númẹ́a"}\r
+        }\r
+        "Pacific:Pago_Pago"{\r
+            ec{"Págo Págo"}\r
+        }\r
+        "Pacific:Palau"{\r
+            ec{"Paláu"}\r
+        }\r
+        "Pacific:Pitcairn"{\r
+            ec{"Pítkan"}\r
+        }\r
+        "Pacific:Ponape"{\r
+            ec{"Pọnpẹ́i"}\r
+        }\r
+        "Pacific:Port_Moresby"{\r
+            ec{"Pọt Mọrẹ́sbi"}\r
+        }\r
+        "Pacific:Rarotonga"{\r
+            ec{"Raratónga"}\r
+        }\r
+        "Pacific:Saipan"{\r
+            ec{"Saipan"}\r
+        }\r
+        "Pacific:Tahiti"{\r
+            ec{"Tahíti"}\r
+        }\r
+        "Pacific:Tarawa"{\r
+            ec{"Taráwa"}\r
+        }\r
+        "Pacific:Tongatapu"{\r
+            ec{"Tongatápu"}\r
+        }\r
+        "Pacific:Truk"{\r
+            ec{"Chuk"}\r
+        }\r
+        "Pacific:Wake"{\r
+            ec{"Wek"}\r
+        }\r
+        "Pacific:Wallis"{\r
+            ec{"Wáli"}\r
+        }\r
+        "meta:Afghanistan"{\r
+            ls{"Afgánístan Taim"}\r
+        }\r
+        "meta:Africa_Central"{\r
+            ls{"Mídúl Áfríká Taim"}\r
+        }\r
+        "meta:Africa_Eastern"{\r
+            ls{"Íst Áfríká Taim"}\r
+        }\r
+        "meta:Africa_Southern"{\r
+            ls{"Saút Áfríká Fíksd Taim"}\r
+        }\r
+        "meta:Africa_Western"{\r
+            ld{"Wẹ́st Áfríká Họ́t Sízin Taim"}\r
+            lg{"Wẹ́st Áfríká Taim"}\r
+            ls{"Wẹ́st Áfríká Fíksd Taim"}\r
+        }\r
+        "meta:Alaska"{\r
+            ld{"Aláská Délaít Taim"}\r
+            lg{"Aláská Taim"}\r
+            ls{"Aláská Fíksd Taim"}\r
+        }\r
+        "meta:Amazon"{\r
+            ld{"Ámázọn Họ́t Sízín Taim"}\r
+            lg{"Ámázọn Taim"}\r
+            ls{"Ámázọn Fíksd Taim"}\r
+        }\r
+        "meta:America_Central"{\r
+            ld{"Nọ́t Amẹ́ríká Mídúl Ériá Délaít Taim"}\r
+            lg{"Nọ́t Amẹ́ríká Mídúl Ériá Taim"}\r
+            ls{"Nọ́t Amẹ́ríká Mídúl Ériá Fíksd Taim"}\r
+        }\r
+        "meta:America_Eastern"{\r
+            ld{"Nọ́t Amẹ́ríká Ístán Ériá Délaít Taim"}\r
+            lg{"Nọ́t Amẹ́ríká Ístán Ériá Taim"}\r
+            ls{"Nọ́t Amẹ́ríká Ístán Ériá Fíksd Taim"}\r
+        }\r
+        "meta:America_Mountain"{\r
+            ld{"Nọ́t Amẹ́ríká Maúntin Ériá Délaít Taim"}\r
+            lg{"Nọ́t Amẹ́ríká Maúntin Ériá Taim"}\r
+            ls{"Nọ́t Amẹ́ríká Maúntin Ériá Fíksd Taim"}\r
+        }\r
+        "meta:America_Pacific"{\r
+            ld{"Nọ́t Amẹ́ríká Pasífík Ériá Délaít Taim"}\r
+            lg{"Nọ́t Amẹ́ríká Pasífík Ériá Taim"}\r
+            ls{"Nọ́t Amẹ́ríká Pasífík Ériá Fíksd Taim"}\r
+        }\r
+        "meta:Apia"{\r
+            ld{"Ápia Délaít Taim"}\r
+            lg{"Ápia Taim"}\r
+            ls{"Ápia Fíksd Taim"}\r
+        }\r
+        "meta:Arabian"{\r
+            ld{"Arébiá Délaít Taim"}\r
+            lg{"Arébiá Taim"}\r
+            ls{"Arébiá Fíksd Taim"}\r
+        }\r
+        "meta:Argentina"{\r
+            ld{"Ajẹntína Họ́t Sízín Taim"}\r
+            lg{"Ajẹntína Taim"}\r
+            ls{"Ajẹntína Fíksd Taim"}\r
+        }\r
+        "meta:Argentina_Western"{\r
+            ld{"Wẹ́stán Ajẹntína Họ́t Sízín Taim"}\r
+            lg{"Wẹ́stán Ajẹntína Taim"}\r
+            ls{"Wẹ́stán Ajẹntína Fíksd Taim"}\r
+        }\r
+        "meta:Armenia"{\r
+            ld{"Armẹ́nia Họ́t Sízin Taim"}\r
+            lg{"Armẹ́nia Taim"}\r
+            ls{"Armẹ́nia Fíksd Taim"}\r
+        }\r
+        "meta:Atlantic"{\r
+            ld{"Atlántík Délaít Taim"}\r
+            lg{"Atlántík Taim"}\r
+            ls{"Atlántík Fíksd Taim"}\r
+        }\r
+        "meta:Australia_Central"{\r
+            ld{"Ọstrélia Mídúl Délaít Taim"}\r
+            lg{"Mídúl Ọstrélia Taim"}\r
+            ls{"Ọstrélia Mídúl Fíksd Taim"}\r
+        }\r
+        "meta:Australia_CentralWestern"{\r
+            ld{"Ọstrélia Mídúl Wẹ́stán Délaít Taim"}\r
+            lg{"Ọstrélia Mídúl Wẹ́stán Taim"}\r
+            ls{"Ọstrélia Mídúl Wẹ́stán Fíksd Taim"}\r
+        }\r
+        "meta:Australia_Eastern"{\r
+            ld{"Ọstrélia Ístán Délaít Taim"}\r
+            lg{"Ístán Ọstrélia Taim"}\r
+            ls{"Ọstrélia Ístán Fíksd Taim"}\r
+        }\r
+        "meta:Australia_Western"{\r
+            ld{"Ọstrélia Wẹ́stán Délaít Taim"}\r
+            lg{"Wẹ́stán Ọstrélia Taim"}\r
+            ls{"Ọstrélia Wẹ́stán Fíksd Taim"}\r
+        }\r
+        "meta:Azerbaijan"{\r
+            ld{"Azẹrbaijan Họ́t Sízin Taim"}\r
+            lg{"Azẹrbaijan Taim"}\r
+            ls{"Azẹrbaijan Fíksd Taim"}\r
+        }\r
+        "meta:Azores"{\r
+            ld{"Azọz Họ́t Sízin Taim"}\r
+            lg{"Azọz Taim"}\r
+            ls{"Azọz Fíksd Taim"}\r
+        }\r
+        "meta:Bangladesh"{\r
+            ld{"Bangladẹsh Délaít Taim"}\r
+            lg{"Bangladẹsh Taim"}\r
+            ls{"Bangladẹsh Fíksd Taim"}\r
+        }\r
+        "meta:Bhutan"{\r
+            ls{"Butan Taim"}\r
+        }\r
+        "meta:Bolivia"{\r
+            ls{"Bolívia Fíksd Taim"}\r
+        }\r
+        "meta:Brasilia"{\r
+            ld{"Brasília Họ́t Sízín Taim"}\r
+            lg{"Brasília Taim"}\r
+            ls{"Brasília Fíksd Taim"}\r
+        }\r
+        "meta:Brunei"{\r
+            ls{"Brunẹi Darúsalam Taim"}\r
+        }\r
+        "meta:Cape_Verde"{\r
+            ld{"Kep Vẹ́d Họ́t Sízin Taim"}\r
+            lg{"Kep Vẹ́d Taim"}\r
+            ls{"Kep Vẹ́d Fíksd Taim"}\r
+        }\r
+        "meta:Chamorro"{\r
+            ls{"Chamóro Fíksd Taim"}\r
+        }\r
+        "meta:Chatham"{\r
+            ld{"Chátam Délaít Taim"}\r
+            lg{"Chátam Taim"}\r
+            ls{"Chátam Fíksd Taim"}\r
+        }\r
+        "meta:Chile"{\r
+            ld{"Chílẹ Họ́t Sízín Taim"}\r
+            lg{"Chílẹ Taim"}\r
+            ls{"Chílẹ Fíksd Taim"}\r
+        }\r
+        "meta:China"{\r
+            ld{"Chaína Délaít Taim"}\r
+            lg{"Chaína Taim"}\r
+            ls{"Chaína Fíksd Taim"}\r
+        }\r
+        "meta:Choibalsan"{\r
+            ld{"Choibálsan Họ́t Sízin Taim"}\r
+            lg{"Choibálsan Taim"}\r
+            ls{"Choibálsan Fíksd Taim"}\r
+        }\r
+        "meta:Christmas"{\r
+            ls{"Krísmás Aíland Taim"}\r
+        }\r
+        "meta:Cocos"{\r
+            ls{"Kókós Aílands Taim"}\r
+        }\r
+        "meta:Colombia"{\r
+            ld{"Kolómbia Họ́t Sízín Taim"}\r
+            lg{"Kolómbia Taim"}\r
+            ls{"Kolómbia Fíksd Taim"}\r
+        }\r
+        "meta:Cook"{\r
+            ld{"Kúk Aílands Haf Họ́t Sízin Taim"}\r
+            lg{"Kúk Aílands Taim"}\r
+            ls{"Kúk Aílands Fíksd Taim"}\r
+        }\r
+        "meta:Cuba"{\r
+            ld{"Kúba Délaít Taim"}\r
+            lg{"Kúba Taim"}\r
+            ls{"Kúba Fíksd Taim"}\r
+        }\r
+        "meta:Davis"{\r
+            ls{"Dévis Taim"}\r
+        }\r
+        "meta:DumontDUrville"{\r
+            ls{"Diúmọ́n-d’Uvil Taim"}\r
+        }\r
+        "meta:East_Timor"{\r
+            ls{"Íst Tímọ Taim"}\r
+        }\r
+        "meta:Easter"{\r
+            ld{"Ísta Họ́t Sízín Taim"}\r
+            lg{"Ísta Taim"}\r
+            ls{"Ísta Fíksd Taim"}\r
+        }\r
+        "meta:Ecuador"{\r
+            ls{"Ẹ́kwuádọ Taim"}\r
+        }\r
+        "meta:Europe_Central"{\r
+            ld{"Mídúl Yúrop Họ́t Sízin Taim"}\r
+            lg{"Mídúl Yúrop Taim"}\r
+            ls{"Mídúl Yúrop Fíksd Taim"}\r
+        }\r
+        "meta:Europe_Eastern"{\r
+            ld{"Ístán Yúrop Họ́t Sízin Taim"}\r
+            lg{"Ístán Yúrop Taim"}\r
+            ls{"Ístán Yúrop Fíksd Taim"}\r
+        }\r
+        "meta:Europe_Further_Eastern"{\r
+            ls{"Faá-Ístán Yúrop Taim"}\r
+        }\r
+        "meta:Europe_Western"{\r
+            ld{"Wẹ́stán Yúrop Họ́t Sízin Taim"}\r
+            lg{"Wẹ́stán Yúrop Taim"}\r
+            ls{"Wẹ́stán Yúrop Fíksd Taim"}\r
+        }\r
+        "meta:Falkland"{\r
+            ld{"Fọ́lkland Họ́t Sízín Taim"}\r
+            lg{"Fọ́lkland Taim"}\r
+            ls{"Fọ́lkland Fíksd Taim"}\r
+        }\r
+        "meta:Fiji"{\r
+            ld{"Fíji Họ́t Sízín Taim"}\r
+            lg{"Fíji Taim"}\r
+            ls{"Fíji Fíksd Taim"}\r
+        }\r
+        "meta:French_Guiana"{\r
+            ls{"Frẹ́nch Giána Taim"}\r
+        }\r
+        "meta:French_Southern"{\r
+            ls{"Frẹ́nch Saútan an Antátík Taim"}\r
+        }\r
+        "meta:GMT"{\r
+            ls{"Grínwích Mín Taim"}\r
+        }\r
+        "meta:Galapagos"{\r
+            ls{"Galápágọs Taim"}\r
+        }\r
+        "meta:Gambier"{\r
+            ls{"Gámbiẹr Taim"}\r
+        }\r
+        "meta:Georgia"{\r
+            ld{"Jọ́jia Họ́t Sízin Taim"}\r
+            lg{"Jọ́jia Taim"}\r
+            ls{"Jọ́jia Fíksd Taim"}\r
+        }\r
+        "meta:Gilbert_Islands"{\r
+            ls{"Gílbat Aílands Taim"}\r
+        }\r
+        "meta:Greenland_Eastern"{\r
+            ld{"Íist Grínlánd Họ́t Sízin Taim"}\r
+            lg{"Íist Grínlánd Taim"}\r
+            ls{"Íist Grínlánd Fíksd Taim"}\r
+        }\r
+        "meta:Greenland_Western"{\r
+            ld{"Wẹ́st Grínlánd Họ́t Sízin Taim"}\r
+            lg{"Wẹ́st Grínlánd Taim"}\r
+            ls{"Wẹ́st Grínlánd Fíksd Taim"}\r
+        }\r
+        "meta:Gulf"{\r
+            ls{"Gọ́lf Fíksd Taim"}\r
+        }\r
+        "meta:Guyana"{\r
+            ls{"Gayána Taim"}\r
+        }\r
+        "meta:Hawaii_Aleutian"{\r
+            ld{"Hawaií-Elúshián Délaít Taim"}\r
+            lg{"Hawaií-Elúshián Taim"}\r
+            ls{"Hawaií-Elúshián Fíksd Taim"}\r
+        }\r
+        "meta:Hong_Kong"{\r
+            ld{"Họng Kọng Họ́t Sízin Taim"}\r
+            lg{"Họng Kọng Taim"}\r
+            ls{"Họng Kọng Fíksd Taim"}\r
+        }\r
+        "meta:Hovd"{\r
+            ld{"Hovd Họ́t Sízin Taim"}\r
+            lg{"Hovd Taim"}\r
+            ls{"Hovd Fíksd Taim"}\r
+        }\r
+        "meta:India"{\r
+            ls{"Índia Fíksd Taim"}\r
+        }\r
+        "meta:Indian_Ocean"{\r
+            ls{"Índián Óshẹ́n Taim"}\r
+        }\r
+        "meta:Indochina"{\r
+            ls{"Indochaína Taim"}\r
+        }\r
+        "meta:Indonesia_Central"{\r
+            ls{"Mídúl Indonẹ́shia Taim"}\r
+        }\r
+        "meta:Indonesia_Eastern"{\r
+            ls{"Ístán Indonẹ́shia Taim"}\r
+        }\r
+        "meta:Indonesia_Western"{\r
+            ls{"Wẹ́stán Indonẹ́shia Taim"}\r
+        }\r
+        "meta:Iran"{\r
+            ld{"Iran Délaít Taim"}\r
+            lg{"Iran Taim"}\r
+            ls{"Iran Fíksd Taim"}\r
+        }\r
+        "meta:Irkutsk"{\r
+            ld{"Irkútsk Họ́t Sízin Taim"}\r
+            lg{"Irkútsk Taim"}\r
+            ls{"Irkútsk Fíksd Taim"}\r
+        }\r
+        "meta:Israel"{\r
+            ld{"Ízrẹl Délaít Taim"}\r
+            lg{"Ízrẹl Taim"}\r
+            ls{"Ízrẹl Fíksd Taim"}\r
+        }\r
+        "meta:Japan"{\r
+            ld{"Japan Délaít Taim"}\r
+            lg{"Japan Taim"}\r
+            ls{"Japan Fíksd Taim"}\r
+        }\r
+        "meta:Kazakhstan_Eastern"{\r
+            ls{"Íst Kazékstan Taim"}\r
+        }\r
+        "meta:Kazakhstan_Western"{\r
+            ls{"Wẹ́st Kazékstan Taim"}\r
+        }\r
+        "meta:Korea"{\r
+            ld{"Koria Délaít Taim"}\r
+            lg{"Koria Taim"}\r
+            ls{"Koria Fíksd Taim"}\r
+        }\r
+        "meta:Kosrae"{\r
+            ls{"Kọ́sraẹ Taim"}\r
+        }\r
+        "meta:Krasnoyarsk"{\r
+            ld{"Krasnoyask Họ́t Sízin Taim"}\r
+            lg{"Krasnoyask Taim"}\r
+            ls{"Krasnoyask Fíksd Taim"}\r
+        }\r
+        "meta:Kyrgystan"{\r
+            ls{"Kẹgistan Taim"}\r
+        }\r
+        "meta:Line_Islands"{\r
+            ls{"Laín Aílands Taim"}\r
+        }\r
+        "meta:Lord_Howe"{\r
+            ld{"Lọd Haú Délaít Taim"}\r
+            lg{"Lọd Haú Taim"}\r
+            ls{"Lọd Haú Fíksd Taim"}\r
+        }\r
+        "meta:Macquarie"{\r
+            ls{"Makwuéí Aíland Taim"}\r
+        }\r
+        "meta:Magadan"{\r
+            ld{"Mágádan Họ́t Sízin Taim"}\r
+            lg{"Mágádan Taim"}\r
+            ls{"Mágádan Fíksd Taim"}\r
+        }\r
+        "meta:Malaysia"{\r
+            ls{"Maléshia Taim"}\r
+        }\r
+        "meta:Maldives"{\r
+            ls{"Mọ́divs Taim"}\r
+        }\r
+        "meta:Marquesas"{\r
+            ls{"Makwẹ́sas Taim"}\r
+        }\r
+        "meta:Marshall_Islands"{\r
+            ls{"Máshal Aílands Taim"}\r
+        }\r
+        "meta:Mauritius"{\r
+            ld{"Mọríshọs Họ́t Sízin Taim"}\r
+            lg{"Mọríshọs Taim"}\r
+            ls{"Mọríshọs Fíksd Taim"}\r
+        }\r
+        "meta:Mawson"{\r
+            ls{"Mọ́sọn Taim"}\r
+        }\r
+        "meta:Mexico_Northwest"{\r
+            ld{"Nọ́twẹ́st Mẹ́ksíko Délaít Taim"}\r
+            lg{"Nọ́twẹ́st Mẹ́ksíko Taim"}\r
+            ls{"Nọ́twẹ́st Mẹ́ksíko Fíksd Taim"}\r
+        }\r
+        "meta:Mexico_Pacific"{\r
+            ld{"Mẹ́ksíkó Pasífík Délaít Taim"}\r
+            lg{"Mẹ́ksíkó Pasífík Taim"}\r
+            ls{"Mẹ́ksíkó Pasífík Fíksd Taim"}\r
+        }\r
+        "meta:Mongolia"{\r
+            ld{"Mọngólia Họ́t Sízin Taim"}\r
+            lg{"Mọngólia Taim"}\r
+            ls{"Mọngólia Fíksd Taim"}\r
+        }\r
+        "meta:Moscow"{\r
+            ld{"Mọ́sko Họ́t Sízin Taim"}\r
+            lg{"Mọ́sko Taim"}\r
+            ls{"Mọ́sko Fíksd Taim"}\r
+        }\r
+        "meta:Myanmar"{\r
+            ls{"Miánma Taim"}\r
+        }\r
+        "meta:Nauru"{\r
+            ls{"Naúru Taim"}\r
+        }\r
+        "meta:Nepal"{\r
+            ls{"Nẹpọl Taim"}\r
+        }\r
+        "meta:New_Caledonia"{\r
+            ld{"Niú Kalẹdónia Họ́t Sízin Taim"}\r
+            lg{"Niú Kalẹdónia Taim"}\r
+            ls{"Niú Kalẹdónia Fíksd Taim"}\r
+        }\r
+        "meta:New_Zealand"{\r
+            ld{"Niú Ziland Délaít Taim"}\r
+            lg{"Niú Ziland Taim"}\r
+            ls{"Niú Ziland Fíksd Taim"}\r
+        }\r
+        "meta:Newfoundland"{\r
+            ld{"Niúfaúndlánd Délaít Taim"}\r
+            lg{"Niúfaúndlánd Taim"}\r
+            ls{"Niúfaúndlánd Fíksd Taim"}\r
+        }\r
+        "meta:Niue"{\r
+            ls{"Niúẹ Taim"}\r
+        }\r
+        "meta:Norfolk"{\r
+            ld{"Nọ́rfọ́lk Aíland Họ́t Sízin Taim"}\r
+            lg{"Nọ́rfọ́lk Aíland Taim"}\r
+            ls{"Nọ́rfọ́lk Aíland Fíksd Taim"}\r
+        }\r
+        "meta:Noronha"{\r
+            ld{"Fẹrnándó di Nọrónia Họ́t Sízín Taim"}\r
+            lg{"Fẹrnándó di Nọrónia Taim"}\r
+            ls{"Fẹrnándó di Nọrónia Fíksd Taim"}\r
+        }\r
+        "meta:Novosibirsk"{\r
+            ld{"Novosibisk Họ́t Sízin Taim"}\r
+            lg{"Novosibisk Taim"}\r
+            ls{"Novosibisk Fíksd Taim"}\r
+        }\r
+        "meta:Omsk"{\r
+            ld{"Ọmsk Họ́t Sízin Taim"}\r
+            lg{"Ọmsk Taim"}\r
+            ls{"Ọmsk Fíksd Taim"}\r
+        }\r
+        "meta:Pakistan"{\r
+            ld{"Pákístan Họ́t Sízin Taim"}\r
+            lg{"Pákístan Taim"}\r
+            ls{"Pákístan Fíksd Taim"}\r
+        }\r
+        "meta:Palau"{\r
+            ls{"Paláu Taim"}\r
+        }\r
+        "meta:Papua_New_Guinea"{\r
+            ls{"Pápuá Niú Gíni Taim"}\r
+        }\r
+        "meta:Paraguay"{\r
+            ld{"Párágwue Họ́t Sízín Taim"}\r
+            lg{"Párágwue Taim"}\r
+            ls{"Párágwue Fíksd Taim"}\r
+        }\r
+        "meta:Peru"{\r
+            ld{"Pẹru Họ́t Sízín Taim"}\r
+            lg{"Pẹru Taim"}\r
+            ls{"Pẹru Fíksd Taim"}\r
+        }\r
+        "meta:Philippines"{\r
+            ld{"Fílípin Họt Sízin Taim"}\r
+            lg{"Fílípin Taim"}\r
+            ls{"Fílípin Fíksd Taim"}\r
+        }\r
+        "meta:Phoenix_Islands"{\r
+            ls{"Fíniks Aílands Taim"}\r
+        }\r
+        "meta:Pierre_Miquelon"{\r
+            ld{"Sent Piẹr an Míkẹlọn Délaít Taim"}\r
+            lg{"Sent Piẹr & Míkẹlọn Taim"}\r
+            ls{"Sent Piẹr an Míkẹlọn Fíksd Taim"}\r
+        }\r
+        "meta:Pitcairn"{\r
+            ls{"Pítkan Taim"}\r
+        }\r
+        "meta:Ponape"{\r
+            ls{"Pónápẹ Taim"}\r
+        }\r
+        "meta:Pyongyang"{\r
+            ls{"Piọngyang Taim"}\r
+        }\r
+        "meta:Reunion"{\r
+            ls{"Riyúniọn Taim"}\r
+        }\r
+        "meta:Rothera"{\r
+            ls{"Rotẹ́ra Taim"}\r
+        }\r
+        "meta:Sakhalin"{\r
+            ld{"Sákhalin Họ́t Sízin Taim"}\r
+            lg{"Sákhalin Taim"}\r
+            ls{"Sákhalin Fíksd Taim"}\r
+        }\r
+        "meta:Samoa"{\r
+            ld{"Sámoá Délaít Taim"}\r
+            lg{"Sámoá Taim"}\r
+            ls{"Sámoá Fíksd Taim"}\r
+        }\r
+        "meta:Seychelles"{\r
+            ls{"Sẹ́chẹls Taim"}\r
+        }\r
+        "meta:Singapore"{\r
+            ls{"Singapọ Taim"}\r
+        }\r
+        "meta:Solomon"{\r
+            ls{"Sólómọ́n Aílands Taim"}\r
+        }\r
+        "meta:South_Georgia"{\r
+            ls{"Saút Jọ́jia Taim"}\r
+        }\r
+        "meta:Suriname"{\r
+            ls{"Súrínam Taim"}\r
+        }\r
+        "meta:Syowa"{\r
+            ls{"Siówa Taim"}\r
+        }\r
+        "meta:Tahiti"{\r
+            ls{"Tahíti Taim"}\r
+        }\r
+        "meta:Taipei"{\r
+            ld{"Taipẹi Délaít Taim"}\r
+            lg{"Taipẹi Taim"}\r
+            ls{"Taipẹi Fíksd Taim"}\r
+        }\r
+        "meta:Tajikistan"{\r
+            ls{"Tajíkistan Taim"}\r
+        }\r
+        "meta:Tokelau"{\r
+            ls{"Tokẹláu Taim"}\r
+        }\r
+        "meta:Tonga"{\r
+            ld{"Tọ́nga Họ́t Sízin Taim"}\r
+            lg{"Tọ́nga Taim"}\r
+            ls{"Tọ́nga Fíksd Taim"}\r
+        }\r
+        "meta:Truk"{\r
+            ls{"Chuk Taim"}\r
+        }\r
+        "meta:Turkmenistan"{\r
+            ld{"Tọkmẹnistan Họ́t Sízin Taim"}\r
+            lg{"Tọkmẹnistan Taim"}\r
+            ls{"Tọkmẹnistan Fíksd Taim"}\r
+        }\r
+        "meta:Tuvalu"{\r
+            ls{"Tuválu Taim"}\r
+        }\r
+        "meta:Uruguay"{\r
+            ld{"Yúrugwue Họ́t Sízín Taim"}\r
+            lg{"Yúrugwue Taim"}\r
+            ls{"Yúrugwue Fíksd Taim"}\r
+        }\r
+        "meta:Uzbekistan"{\r
+            ld{"Uzbẹkistan Họ́t Sízin Taim"}\r
+            lg{"Uzbẹkistan Taim"}\r
+            ls{"Uzbẹkistan Fíksd Taim"}\r
+        }\r
+        "meta:Vanuatu"{\r
+            ld{"Vanuátu Sízin Taim"}\r
+            lg{"Vanuátu Taim"}\r
+            ls{"Vanuátu Fíksd Taim"}\r
+        }\r
+        "meta:Venezuela"{\r
+            ls{"Vẹnẹzuẹ́la Taim"}\r
+        }\r
+        "meta:Vladivostok"{\r
+            ld{"Vladivostok Họ́t Sízin Taim"}\r
+            lg{"Vladivọstọk Taim"}\r
+            ls{"Vladivọstọk Fíksd Taim"}\r
+        }\r
+        "meta:Volgograd"{\r
+            ld{"Volvógrad Họ́t Sízin Taim"}\r
+            lg{"Volvógrad Taim"}\r
+            ls{"Volvógrad Fíksd Taim"}\r
+        }\r
+        "meta:Vostok"{\r
+            ls{"Vọ́stọk Taim"}\r
+        }\r
+        "meta:Wake"{\r
+            ls{"Wék Aíland Taim"}\r
+        }\r
+        "meta:Wallis"{\r
+            ls{"Wális an Fútúna Taim"}\r
+        }\r
+        "meta:Yakutsk"{\r
+            ld{"Yékútsk Họ́t Sízin Taim"}\r
+            lg{"Yékútsk Taim"}\r
+            ls{"Yékútsk Fíksd Taim"}\r
+        }\r
+        "meta:Yekaterinburg"{\r
+            ld{"Yẹketẹrínbug Họ́t Sízin Taim"}\r
+            lg{"Yẹketẹrínbug Taim"}\r
+            ls{"Yẹketẹrínbug Fíksd Taim"}\r
+        }\r
+        fallbackFormat{"{1} ({0})"}\r
+        gmtFormat{"GMT{0}"}\r
+        gmtZeroFormat{"GMT"}\r
+        hourFormat{"+HH:mm;-HH:mm"}\r
+        regionFormat{"{0} Taim"}\r
+        regionFormatDaylight{"{0} Délaít Taim"}\r
+        regionFormatStandard{"{0} Fíksd Taim"}\r
+    }\r
+}\r
index 276c4d3..d989bc0 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pl{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidżan"}\r
@@ -1311,7 +1311,7 @@ pl{
         }\r
         "meta:Alaska"{\r
             ld{"Alaska (czas letni)"}\r
-            lg{"Alaska"}\r
+            lg{"czas Alaska"}\r
             ls{"Alaska (czas standardowy)"}\r
         }\r
         "meta:Amazon"{\r
@@ -1346,27 +1346,27 @@ pl{
         }\r
         "meta:Apia"{\r
             ld{"Apia (czas letni)"}\r
-            lg{"Apia"}\r
+            lg{"czas Apia"}\r
             ls{"Apia (czas standardowy)"}\r
         }\r
         "meta:Arabian"{\r
             ld{"Półwysep Arabski (czas letni)"}\r
-            lg{"Półwysep Arabski"}\r
+            lg{"czas Półwysep Arabski"}\r
             ls{"Półwysep Arabski (czas standardowy)"}\r
         }\r
         "meta:Argentina"{\r
             ld{"Argentyna (czas letni)"}\r
-            lg{"Argentyna"}\r
+            lg{"czas Argentyna"}\r
             ls{"Argentyna (czas standardowy)"}\r
         }\r
         "meta:Argentina_Western"{\r
             ld{"Argentyna Zachodnia (czas letni)"}\r
-            lg{"Argentyna Zachodnia"}\r
+            lg{"czas Argentyna Zachodnia"}\r
             ls{"Argentyna Zachodnia (czas standardowy)"}\r
         }\r
         "meta:Armenia"{\r
             ld{"Armenia (czas letni)"}\r
-            lg{"Armenia"}\r
+            lg{"czas Armenia"}\r
             ls{"Armenia (czas standardowy)"}\r
         }\r
         "meta:Atlantic"{\r
@@ -1396,98 +1396,89 @@ pl{
         }\r
         "meta:Azerbaijan"{\r
             ld{"Azerbejdżan (czas letni)"}\r
-            lg{"Azerbejdżan"}\r
+            lg{"czas Azerbejdżan"}\r
             ls{"Azerbejdżan (czas standardowy)"}\r
         }\r
         "meta:Azores"{\r
             ld{"Azory (czas letni)"}\r
-            lg{"Azory"}\r
+            lg{"czas Azory"}\r
             ls{"Azory (czas standardowy)"}\r
         }\r
         "meta:Bangladesh"{\r
             ld{"Bangladesz (czas letni)"}\r
-            lg{"Bangladesz"}\r
+            lg{"czas Bangladesz"}\r
             ls{"Bangladesz (czas standardowy)"}\r
         }\r
-        "meta:Bhutan"{\r
-            ls{"Bhutan"}\r
-        }\r
         "meta:Bolivia"{\r
-            ls{"Boliwia"}\r
+            ls{"czas Boliwia"}\r
         }\r
         "meta:Brasilia"{\r
             ld{"Brasília (czas letni)"}\r
-            lg{"Brasília"}\r
+            lg{"czas Brasília"}\r
             ls{"Brasília (czas standardowy)"}\r
         }\r
-        "meta:Brunei"{\r
-            ls{"Brunei"}\r
-        }\r
         "meta:Cape_Verde"{\r
             ld{"Wyspy Zielonego Przylądka (czas letni)"}\r
-            lg{"Wyspy Zielonego Przylądka"}\r
+            lg{"czas Wyspy Zielonego Przylądka"}\r
             ls{"Wyspy Zielonego Przylądka (czas standardowy)"}\r
         }\r
         "meta:Chamorro"{\r
-            ls{"Czamorro"}\r
+            ls{"czas Czamorro"}\r
         }\r
         "meta:Chatham"{\r
             ld{"Chatham (czas letni)"}\r
-            lg{"Chatham"}\r
+            lg{"czas Chatham"}\r
             ls{"Chatham (czas standardowy)"}\r
         }\r
         "meta:Chile"{\r
             ld{"Chile (czas letni)"}\r
-            lg{"Chile"}\r
+            lg{"czas Chile"}\r
             ls{"Chile (czas standardowy)"}\r
         }\r
         "meta:China"{\r
             ld{"Chiny (czas letni)"}\r
-            lg{"Chiny"}\r
+            lg{"czas Chiny"}\r
             ls{"Chiny (czas standardowy)"}\r
         }\r
         "meta:Choibalsan"{\r
             ld{"Czojbalsan (czas letni)"}\r
-            lg{"Czojbalsan"}\r
+            lg{"czas Czojbalsan"}\r
             ls{"Czojbalsan (czas standardowy)"}\r
         }\r
         "meta:Christmas"{\r
-            ls{"Wyspa Bożego Narodzenia"}\r
+            ls{"czas Wyspa Bożego Narodzenia"}\r
         }\r
         "meta:Cocos"{\r
-            ls{"Wyspy Kokosowe"}\r
+            ls{"czas Wyspy Kokosowe"}\r
         }\r
         "meta:Colombia"{\r
             ld{"Kolumbia (czas letni)"}\r
-            lg{"Kolumbia"}\r
+            lg{"czas Kolumbia"}\r
             ls{"Kolumbia (czas standardowy)"}\r
         }\r
         "meta:Cook"{\r
             ld{"Wyspy Cooka (czas letni)"}\r
-            lg{"Wyspy Cooka"}\r
+            lg{"czas Wyspy Cooka"}\r
             ls{"Wyspy Cooka (czas standardowy)"}\r
         }\r
         "meta:Cuba"{\r
             ld{"Kuba (czas letni)"}\r
-            lg{"Kuba"}\r
+            lg{"czas Kuba"}\r
             ls{"Kuba (czas standardowy)"}\r
         }\r
-        "meta:Davis"{\r
-            ls{"Davis"}\r
-        }\r
         "meta:DumontDUrville"{\r
-            ls{"Dumont-d’Urville"}\r
+            ls{"czas Dumont-d’Urville"}\r
         }\r
         "meta:East_Timor"{\r
-            ls{"Timor Wschodni"}\r
+            ls{"czas Timor Wschodni"}\r
         }\r
         "meta:Easter"{\r
             ld{"Wyspa Wielkanocna (czas letni)"}\r
-            lg{"Wyspa Wielkanocna"}\r
+            lg{"czas Wyspa Wielkanocna"}\r
             ls{"Wyspa Wielkanocna (czas standardowy)"}\r
         }\r
         "meta:Ecuador"{\r
-            ls{"Ekwador"}\r
+            ls{"czas Ekwador"}\r
         }\r
         "meta:Europe_Central"{\r
             ld{"czas środkowoeuropejski letni"}\r
@@ -1518,104 +1509,101 @@ pl{
         }\r
         "meta:Falkland"{\r
             ld{"Falklandy (czas letni)"}\r
-            lg{"Falklandy"}\r
+            lg{"czas Falklandy"}\r
             ls{"Falklandy (czas standardowy)"}\r
         }\r
         "meta:Fiji"{\r
             ld{"Fidżi (czas letni)"}\r
-            lg{"Fidżi"}\r
+            lg{"czas Fidżi"}\r
             ls{"Fidżi (czas standardowy)"}\r
         }\r
         "meta:French_Guiana"{\r
-            ls{"Gujana Francuska"}\r
+            ls{"czas Gujana Francuska"}\r
         }\r
         "meta:French_Southern"{\r
-            ls{"Francuskie Terytoria Południowe i Antarktyczne"}\r
+            ls{"czas Francuskie Terytoria Południowe i Antarktyczne"}\r
         }\r
         "meta:GMT"{\r
             ls{"czas uniwersalny"}\r
         }\r
-        "meta:Galapagos"{\r
-            ls{"Galapagos"}\r
-        }\r
         "meta:Gambier"{\r
-            ls{"Wyspy Gambiera"}\r
+            ls{"czas Wyspy Gambiera"}\r
         }\r
         "meta:Georgia"{\r
             ld{"Gruzja (czas letni)"}\r
-            lg{"Gruzja"}\r
+            lg{"czas Gruzja"}\r
             ls{"Gruzja (czas standardowy)"}\r
         }\r
         "meta:Gilbert_Islands"{\r
-            ls{"Wyspy Gilberta"}\r
+            ls{"czas Wyspy Gilberta"}\r
         }\r
         "meta:Greenland_Eastern"{\r
             ld{"Grenlandia Wschodnia (czas letni)"}\r
-            lg{"Grenlandia Wschodnia"}\r
+            lg{"czas Grenlandia Wschodnia"}\r
             ls{"Grenlandia Wschodnia (czas standardowy)"}\r
         }\r
         "meta:Greenland_Western"{\r
             ld{"Grenlandia Zachodnia (czas letni)"}\r
-            lg{"Grenlandia Zachodnia"}\r
+            lg{"czas Grenlandia Zachodnia"}\r
             ls{"Grenlandia Zachodnia (czas standardowy)"}\r
         }\r
         "meta:Gulf"{\r
-            ls{"Zatoka Perska"}\r
+            ls{"czas Zatoka Perska"}\r
         }\r
         "meta:Guyana"{\r
-            ls{"Gujana"}\r
+            ls{"czas Gujana"}\r
         }\r
         "meta:Hawaii_Aleutian"{\r
             ld{"Hawaje-Aleuty (czas letni)"}\r
-            lg{"Hawaje-Aleuty"}\r
+            lg{"czas Hawaje-Aleuty"}\r
             ls{"Hawaje-Aleuty (czas standardowy)"}\r
         }\r
         "meta:Hong_Kong"{\r
             ld{"Hongkong (czas letni)"}\r
-            lg{"Hongkong"}\r
+            lg{"czas Hongkong"}\r
             ls{"Hongkong (czas standardowy)"}\r
         }\r
         "meta:Hovd"{\r
             ld{"Kobdo (czas letni)"}\r
-            lg{"Kobdo"}\r
+            lg{"czas Kobdo"}\r
             ls{"Kobdo (czas standardowy)"}\r
         }\r
         "meta:India"{\r
             ls{"czas indyjski standardowy"}\r
         }\r
         "meta:Indian_Ocean"{\r
-            ls{"Ocean Indyjski"}\r
+            ls{"czas Ocean Indyjski"}\r
         }\r
         "meta:Indochina"{\r
             ls{"czas indochiński"}\r
         }\r
         "meta:Indonesia_Central"{\r
-            ls{"Indonezja Środkowa"}\r
+            ls{"czas Indonezja Środkowa"}\r
         }\r
         "meta:Indonesia_Eastern"{\r
-            ls{"Indonezja Wschodnia"}\r
+            ls{"czas Indonezja Wschodnia"}\r
         }\r
         "meta:Indonesia_Western"{\r
-            ls{"Indonezja Zachodnia"}\r
+            ls{"czas Indonezja Zachodnia"}\r
         }\r
         "meta:Iran"{\r
             ld{"Iran (czas letni)"}\r
-            lg{"Iran"}\r
+            lg{"czas Iran"}\r
             ls{"Iran (czas standardowy)"}\r
         }\r
         "meta:Irkutsk"{\r
             ld{"Irkuck (czas letni)"}\r
-            lg{"Irkuck"}\r
+            lg{"czas Irkuck"}\r
             ls{"Irkuck (czas standardowy)"}\r
         }\r
         "meta:Israel"{\r
             ld{"Izrael (czas letni)"}\r
-            lg{"Izrael"}\r
+            lg{"czas Izrael"}\r
             ls{"Izrael (czas standardowy)"}\r
         }\r
         "meta:Japan"{\r
             ld{"Japonia (czas letni)"}\r
-            lg{"Japonia"}\r
+            lg{"czas Japonia"}\r
             ls{"Japonia (czas standardowy)"}\r
         }\r
         "meta:Kamchatka"{\r
@@ -1624,66 +1612,57 @@ pl{
             ls{"czas standardowy Pietropawłowsk Kamczacki"}\r
         }\r
         "meta:Kazakhstan_Eastern"{\r
-            ls{"Kazachstan Wschodni"}\r
+            ls{"czas Kazachstan Wschodni"}\r
         }\r
         "meta:Kazakhstan_Western"{\r
-            ls{"Kazachstan Zachodni"}\r
+            ls{"czas Kazachstan Zachodni"}\r
         }\r
         "meta:Korea"{\r
             ld{"Korea (czas letni)"}\r
-            lg{"Korea"}\r
+            lg{"czas Korea"}\r
             ls{"Korea (czas standardowy)"}\r
         }\r
-        "meta:Kosrae"{\r
-            ls{"Kosrae"}\r
-        }\r
         "meta:Krasnoyarsk"{\r
             ld{"Krasnojarsk (czas letni)"}\r
-            lg{"Krasnojarsk"}\r
+            lg{"czas Krasnojarsk"}\r
             ls{"Krasnojarsk (czas standardowy)"}\r
         }\r
         "meta:Kyrgystan"{\r
-            ls{"Kirgistan"}\r
+            ls{"czas Kirgistan"}\r
         }\r
         "meta:Line_Islands"{\r
-            ls{"Line Islands"}\r
+            ls{"czas Line Islands"}\r
         }\r
         "meta:Lord_Howe"{\r
             ld{"Lord Howe (czas letni)"}\r
-            lg{"Lord Howe"}\r
+            lg{"czas Lord Howe"}\r
             ls{"Lord Howe (czas standardowy)"}\r
         }\r
-        "meta:Macquarie"{\r
-            ls{"Macquarie"}\r
-        }\r
         "meta:Magadan"{\r
             ld{"Magadan (czas letni)"}\r
-            lg{"Magadan"}\r
+            lg{"czas Magadan"}\r
             ls{"Magadan (czas standardowy)"}\r
         }\r
         "meta:Malaysia"{\r
-            ls{"Malezja"}\r
+            ls{"czas Malezja"}\r
         }\r
         "meta:Maldives"{\r
-            ls{"Malediwy"}\r
+            ls{"czas Malediwy"}\r
         }\r
         "meta:Marquesas"{\r
-            ls{"Markizy"}\r
+            ls{"czas Markizy"}\r
         }\r
         "meta:Marshall_Islands"{\r
-            ls{"Wyspy Marshalla"}\r
+            ls{"czas Wyspy Marshalla"}\r
         }\r
         "meta:Mauritius"{\r
             ld{"Mauritius (czas letni)"}\r
-            lg{"Mauritius"}\r
+            lg{"czas Mauritius"}\r
             ls{"Mauritius (czas standardowy)"}\r
         }\r
-        "meta:Mawson"{\r
-            ls{"Mawson"}\r
-        }\r
         "meta:Mexico_Northwest"{\r
             ld{"Meksyk Północno-Zachodni (czas letni)"}\r
-            lg{"Meksyk Północno-Zachodni"}\r
+            lg{"czas Meksyk Północno-Zachodni"}\r
             ls{"Meksyk Północno-Zachodni (czas standardowy)"}\r
         }\r
         "meta:Mexico_Pacific"{\r
@@ -1693,111 +1672,87 @@ pl{
         }\r
         "meta:Mongolia"{\r
             ld{"Ułan Bator (czas letni)"}\r
-            lg{"Ułan Bator"}\r
+            lg{"czas Ułan Bator"}\r
             ls{"Ułan Bator (czas standardowy)"}\r
         }\r
         "meta:Moscow"{\r
             ld{"Moskwa (czas letni)"}\r
-            lg{"Moskwa"}\r
+            lg{"czas Moskwa"}\r
             ls{"Moskwa (czas standardowy)"}\r
         }\r
         "meta:Myanmar"{\r
-            ls{"Mjanma"}\r
-        }\r
-        "meta:Nauru"{\r
-            ls{"Nauru"}\r
-        }\r
-        "meta:Nepal"{\r
-            ls{"Nepal"}\r
+            ls{"czas Mjanma"}\r
         }\r
         "meta:New_Caledonia"{\r
             ld{"Nowa Kaledonia (czas letni)"}\r
-            lg{"Nowa Kaledonia"}\r
+            lg{"czas Nowa Kaledonia"}\r
             ls{"Nowa Kaledonia (czas standardowy)"}\r
         }\r
         "meta:New_Zealand"{\r
             ld{"Nowa Zelandia (czas letni)"}\r
-            lg{"Nowa Zelandia"}\r
+            lg{"czas Nowa Zelandia"}\r
             ls{"Nowa Zelandia (czas standardowy)"}\r
         }\r
         "meta:Newfoundland"{\r
             ld{"Nowa Fundlandia (czas letni)"}\r
-            lg{"Nowa Fundlandia"}\r
+            lg{"czas Nowa Fundlandia"}\r
             ls{"Nowa Fundlandia (czas standardowy)"}\r
         }\r
-        "meta:Niue"{\r
-            ls{"Niue"}\r
-        }\r
-        "meta:Norfolk"{\r
-            ls{"Norfolk"}\r
-        }\r
         "meta:Noronha"{\r
             ld{"Fernando de Noronha (czas letni)"}\r
-            lg{"Fernando de Noronha"}\r
+            lg{"czas Fernando de Noronha"}\r
             ls{"Fernando de Noronha (czas standardowy)"}\r
         }\r
         "meta:Novosibirsk"{\r
             ld{"Nowosybirsk (czas letni)"}\r
-            lg{"Nowosybirsk"}\r
+            lg{"czas Nowosybirsk"}\r
             ls{"Nowosybirsk (czas standardowy)"}\r
         }\r
         "meta:Omsk"{\r
             ld{"Omsk (czas letni)"}\r
-            lg{"Omsk"}\r
+            lg{"czas Omsk"}\r
             ls{"Omsk (czas standardowy)"}\r
         }\r
         "meta:Pakistan"{\r
             ld{"Pakistan (czas letni)"}\r
-            lg{"Pakistan"}\r
+            lg{"czas Pakistan"}\r
             ls{"Pakistan (czas standardowy)"}\r
         }\r
-        "meta:Palau"{\r
-            ls{"Palau"}\r
-        }\r
         "meta:Papua_New_Guinea"{\r
-            ls{"Papua-Nowa Gwinea"}\r
+            ls{"czas Papua-Nowa Gwinea"}\r
         }\r
         "meta:Paraguay"{\r
             ld{"Paragwaj (czas letni)"}\r
-            lg{"Paragwaj"}\r
+            lg{"czas Paragwaj"}\r
             ls{"Paragwaj (czas standardowy)"}\r
         }\r
         "meta:Peru"{\r
             ld{"Peru (czas letni)"}\r
-            lg{"Peru"}\r
+            lg{"czas Peru"}\r
             ls{"Peru (czas standardowy)"}\r
         }\r
         "meta:Philippines"{\r
             ld{"Filipiny (czas letni)"}\r
-            lg{"Filipiny"}\r
+            lg{"czas Filipiny"}\r
             ls{"Filipiny (czas standardowy)"}\r
         }\r
         "meta:Phoenix_Islands"{\r
-            ls{"Feniks"}\r
+            ls{"czas Feniks"}\r
         }\r
         "meta:Pierre_Miquelon"{\r
             ld{"Saint-Pierre i Miquelon (czas letni)"}\r
-            lg{"Saint-Pierre i Miquelon"}\r
+            lg{"czas Saint-Pierre i Miquelon"}\r
             ls{"Saint-Pierre i Miquelon (czas standardowy)"}\r
         }\r
-        "meta:Pitcairn"{\r
-            ls{"Pitcairn"}\r
-        }\r
         "meta:Ponape"{\r
-            ls{"Pohnpei"}\r
+            ls{"czas Pohnpei"}\r
         }\r
         "meta:Pyongyang"{\r
-            ls{"Pjongjang"}\r
-        }\r
-        "meta:Reunion"{\r
-            ls{"Reunion"}\r
-        }\r
-        "meta:Rothera"{\r
-            ls{"Rothera"}\r
+            ls{"czas Pjongjang"}\r
         }\r
         "meta:Sakhalin"{\r
             ld{"Sachalin (czas letni)"}\r
-            lg{"Sachalin"}\r
+            lg{"czas Sachalin"}\r
             ls{"Sachalin (czas standardowy)"}\r
         }\r
         "meta:Samara"{\r
@@ -1807,102 +1762,87 @@ pl{
         }\r
         "meta:Samoa"{\r
             ld{"Samoa (czas letni)"}\r
-            lg{"Samoa"}\r
+            lg{"czas Samoa"}\r
             ls{"Samoa (czas standardowy)"}\r
         }\r
         "meta:Seychelles"{\r
-            ls{"Seszele"}\r
+            ls{"czas Seszele"}\r
         }\r
         "meta:Singapore"{\r
-            ls{"Singapur"}\r
+            ls{"czas Singapur"}\r
         }\r
         "meta:Solomon"{\r
-            ls{"Wyspy Salomona"}\r
+            ls{"czas Wyspy Salomona"}\r
         }\r
         "meta:South_Georgia"{\r
-            ls{"Georgia Południowa"}\r
+            ls{"czas Georgia Południowa"}\r
         }\r
         "meta:Suriname"{\r
-            ls{"Surinam"}\r
-        }\r
-        "meta:Syowa"{\r
-            ls{"Syowa"}\r
-        }\r
-        "meta:Tahiti"{\r
-            ls{"Tahiti"}\r
+            ls{"czas Surinam"}\r
         }\r
         "meta:Taipei"{\r
             ld{"Tajpej (czas letni)"}\r
-            lg{"Tajpej"}\r
+            lg{"czas Tajpej"}\r
             ls{"Tajpej (czas standardowy)"}\r
         }\r
         "meta:Tajikistan"{\r
-            ls{"Tadżykistan"}\r
-        }\r
-        "meta:Tokelau"{\r
-            ls{"Tokelau"}\r
+            ls{"czas Tadżykistan"}\r
         }\r
         "meta:Tonga"{\r
             ld{"Tonga (czas letni)"}\r
-            lg{"Tonga"}\r
+            lg{"czas Tonga"}\r
             ls{"Tonga (czas standardowy)"}\r
         }\r
         "meta:Truk"{\r
-            ls{"Chuuk"}\r
+            ls{"czas Chuuk"}\r
         }\r
         "meta:Turkmenistan"{\r
             ld{"Turkmenistan (czas letni)"}\r
-            lg{"Turkmenistan"}\r
+            lg{"czas Turkmenistan"}\r
             ls{"Turkmenistan (czas standardowy)"}\r
         }\r
-        "meta:Tuvalu"{\r
-            ls{"Tuvalu"}\r
-        }\r
         "meta:Uruguay"{\r
             ld{"Urugwaj (czas letni)"}\r
-            lg{"Urugwaj"}\r
+            lg{"czas Urugwaj"}\r
             ls{"Urugwaj (czas standardowy)"}\r
         }\r
         "meta:Uzbekistan"{\r
             ld{"Uzbekistan (czas letni)"}\r
-            lg{"Uzbekistan"}\r
+            lg{"czas Uzbekistan"}\r
             ls{"Uzbekistan (czas standardowy)"}\r
         }\r
         "meta:Vanuatu"{\r
             ld{"Vanuatu (czas letni)"}\r
-            lg{"Vanuatu"}\r
+            lg{"czas Vanuatu"}\r
             ls{"Vanuatu (czas standardowy)"}\r
         }\r
         "meta:Venezuela"{\r
-            ls{"Wenezuela"}\r
+            ls{"czas Wenezuela"}\r
         }\r
         "meta:Vladivostok"{\r
             ld{"Władywostok (czas letni)"}\r
-            lg{"Władywostok"}\r
+            lg{"czas Władywostok"}\r
             ls{"Władywostok (czas standardowy)"}\r
         }\r
         "meta:Volgograd"{\r
             ld{"Wołgograd (czas letni)"}\r
-            lg{"Wołgograd"}\r
+            lg{"czas Wołgograd"}\r
             ls{"Wołgograd (czas standardowy)"}\r
         }\r
         "meta:Vostok"{\r
-            ls{"Wostok"}\r
-        }\r
-        "meta:Wake"{\r
-            ls{"Wake"}\r
+            ls{"czas Wostok"}\r
         }\r
         "meta:Wallis"{\r
-            ls{"Wallis i Futuna"}\r
+            ls{"czas Wallis i Futuna"}\r
         }\r
         "meta:Yakutsk"{\r
             ld{"Jakuck (czas letni)"}\r
-            lg{"Jakuck"}\r
+            lg{"czas Jakuck"}\r
             ls{"Jakuck (czas standardowy)"}\r
         }\r
         "meta:Yekaterinburg"{\r
             ld{"Jekaterynburg (czas letni)"}\r
-            lg{"Jekaterynburg"}\r
+            lg{"czas Jekaterynburg"}\r
             ls{"Jekaterynburg (czas standardowy)"}\r
         }\r
         fallbackFormat{"{1} ({0})"}\r
index c2c5f03..26e3321 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ps{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"ابيجان"}\r
@@ -540,6 +540,9 @@ ps{
         "America:Sao_Paulo"{\r
             ec{"ساو پاولو"}\r
         }\r
+        "America:Scoresbysund"{\r
+            ec{"اټوکوټورمیټ"}\r
+        }\r
         "America:Sitka"{\r
             ec{"سیټکا"}\r
         }\r
@@ -1175,6 +1178,9 @@ ps{
         "Pacific:Auckland"{\r
             ec{"اکلند"}\r
         }\r
+        "Pacific:Bougainville"{\r
+            ec{"بوګن ویل"}\r
+        }\r
         "Pacific:Chatham"{\r
             ec{"چاتام"}\r
         }\r
@@ -1701,7 +1707,9 @@ ps{
             ls{"نییو وخت"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"د نورفکاس ټاپو وخت"}\r
+            ld{"د نورفکاس ټاپو اوړي وخت"}\r
+            lg{"د نورفکاس ټاپو وخت"}\r
+            ls{"د نورفکاس ټاپو معياري وخت"}\r
         }\r
         "meta:Noronha"{\r
             ld{"فرنانڈو دي نورونھا اوړي وخت"}\r
index 051bffe..08fa621 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ps_PK{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Harare"{\r
             ec{"هرارے"}\r
index 9e5edeb..e5cd3f0 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1745,7 +1745,9 @@ pt{
             ls{"Horário de Niue"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Horário da Ilha Norfolk"}\r
+            ld{"Horário de Verão da Ilha Norfolk"}\r
+            lg{"Horário da Ilha Norfolk"}\r
+            ls{"Horário Padrão da Ilha Norfolk"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Horário de Verão de Fernando de Noronha"}\r
index 8de5cc3..8a35cee 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_AO{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Azores"{\r
             sd{"∅∅∅"}\r
index 5710498..68713f2 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_CH{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index c2c16aa..0a026b1 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_CV{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Azores"{\r
             sd{"∅∅∅"}\r
index ebd2cc1..16c1df7 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_GQ{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ede7ed8..9bb1147 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_GW{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Azores"{\r
             sd{"∅∅∅"}\r
index 262456f..a573ce4 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_LU{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 601c0a7..972c6b5 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_MO{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Azores"{\r
             sd{"∅∅∅"}\r
index 0773ea8..099a773 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_MZ{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Azores"{\r
             sd{"∅∅∅"}\r
index 2bd8991..7a94f69 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_PT{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Addis_Ababa"{\r
             ec{"Adis-Abeba"}\r
index b028de0..bc894df 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_ST{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Azores"{\r
             sd{"∅∅∅"}\r
index 330f926..37f2aac 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 pt_TL{\r
     %%Parent{"pt_PT"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Azores"{\r
             sd{"∅∅∅"}\r
index a2a74cc..e32a50c 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 qu{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abiyán"}\r
@@ -1707,7 +1707,9 @@ qu{
             ls{"Hora de Niue"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Hora de la Isla Norfolk"}\r
+            ld{"Hora de Verano de la Isla Norfolk"}\r
+            lg{"Hora de la Isla Norfolk"}\r
+            ls{"Hora Estandar de la Isla Norfolk"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Hora de Verano de Fernando de Noronha"}\r
index 4f52408..985d93c 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 qu_BO{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Bolivia"{\r
             ss{"BOT"}\r
index 9d1df55..59c4faa 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 qu_EC{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:Ecuador"{\r
             ss{"ECT"}\r
index 9b26bdf..ccb5b25 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 rm{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Addis_Ababa"{\r
             ec{"Addis Abeba"}\r
index eaf40f3..49bcbd9 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 rn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d80f877..43cae2b 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ro{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1732,7 +1732,9 @@ ro{
             ls{"Ora din Niue"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Ora Insulelor Norfolk"}\r
+            ld{"Ora de vară Insulelor Norfolk"}\r
+            lg{"Ora Insulelor Norfolk"}\r
+            ls{"Ora standard Insulelor Norfolk"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Ora de vară din Fernando de Noronha"}\r
index 606b5fd..1261163 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 rof{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8a3c5a6..dc45664 100644 (file)
@@ -1,10 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * ICU <specials> source: <path>/common/main/root.xml\r
- */\r
 root{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Asmera"{\r
             ec{"Asmara"}\r
index 83c8cca..c3802f0 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ru{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Абиджан"}\r
@@ -1754,7 +1754,9 @@ ru{
             ls{"Ниуэ"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Норфолк"}\r
+            ld{"Норфолк, летнее время"}\r
+            lg{"Норфолк"}\r
+            ls{"Норфолк, стандартное время"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Фернанду-ди-Норонья, летнее время"}\r
index 44e4118..d947507 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 rw{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         gmtFormat{"GMT{0}"}\r
         hourFormat{"+HH:mm;-HH:mm"}\r
index 07e60aa..f1d15ec 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 rwk{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 55438e9..0b7cdc6 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sah{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Asia:Almaty"{\r
             ec{"Алматы"}\r
index d0dbd96..0acfb8b 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 saq{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
diff --git a/source/data/zone/sat.txt b/source/data/zone/sat.txt
new file mode 100644 (file)
index 0000000..3287836
--- /dev/null
@@ -0,0 +1,61 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sat{\r
+    Version{"37"}\r
+    zoneStrings{\r
+        "Etc:UTC"{\r
+            ls{"ᱠᱚᱨᱰᱤᱱᱮᱴᱮᱰ ᱭᱩᱱᱤᱣᱟᱨᱥᱟᱞ ᱚᱠᱛᱚ"}\r
+        }\r
+        "Etc:Unknown"{\r
+            ec{"ᱵᱟᱝ ᱪᱤᱱᱦᱟᱹᱣ ᱵᱟᱡᱟᱨ"}\r
+        }\r
+        "meta:America_Central"{\r
+            ld{"ᱛᱟᱱᱟᱞᱟ ᱥᱤᱧᱟᱜ ᱚᱠᱛᱚ"}\r
+            lg{"ᱛᱟᱱᱟᱞᱟ ᱚᱠᱛᱚ"}\r
+            ls{"ᱛᱟᱱᱟᱞᱟ ᱮᱥᱴᱮᱱᱰᱟᱨᱰ ᱚᱠᱛᱚ"}\r
+        }\r
+        "meta:America_Eastern"{\r
+            ld{"ᱤᱥᱴᱟᱨᱱ ᱥᱤᱧᱟᱜ ᱵᱚᱠᱛᱚ"}\r
+            lg{"ᱤᱥᱴᱟᱨᱱ ᱚᱠᱛᱚ"}\r
+            ls{"ᱤᱥᱴᱟᱨᱱ ᱮᱥᱴᱮᱱᱰᱟᱨᱰ ᱚᱠᱛᱚ"}\r
+        }\r
+        "meta:America_Mountain"{\r
+            ld{"ᱢᱟᱩᱱᱴᱮᱱ ᱥᱤᱧᱟᱜ ᱚᱠᱛᱚ"}\r
+            lg{"ᱢᱟᱩᱱᱴᱮᱱ ᱚᱠᱛᱚ"}\r
+            ls{"ᱢᱟᱩᱱᱴᱮᱱ ᱮᱥᱴᱮᱱᱰᱟᱨᱰ ᱚᱠᱛᱚ"}\r
+        }\r
+        "meta:America_Pacific"{\r
+            ld{"ᱯᱮᱥᱤᱯᱷᱤᱠ ᱥᱤᱧᱟᱜ ᱚᱠᱛᱚ"}\r
+            lg{"ᱯᱮᱥᱤᱯᱷᱤᱠ ᱚᱠᱛᱚ"}\r
+            ls{"ᱯᱮᱥᱤᱯᱷᱤᱠ ᱮᱥᱴᱮᱱᱰᱟᱨᱰ ᱚᱠᱛᱚ"}\r
+        }\r
+        "meta:Atlantic"{\r
+            ld{"ᱮᱴᱞᱟᱱᱴᱤᱠ ᱥᱤᱧᱟᱜ ᱚᱠᱛᱚ"}\r
+            lg{"ᱮᱴᱞᱟᱱᱴᱤᱠ ᱚᱠᱛᱚ"}\r
+            ls{"ᱮᱴᱞᱟᱱᱴᱤᱠ ᱮᱥᱴᱮᱱᱰᱟᱨᱰ ᱚᱠᱛᱚ"}\r
+        }\r
+        "meta:Europe_Central"{\r
+            ld{"ᱥᱮᱱᱴᱨᱟᱞ ᱩᱨᱚᱯᱤᱭᱟᱱ ᱥᱟᱢᱟᱨ ᱚᱠᱛᱚ"}\r
+            lg{"ᱥᱮᱱᱴᱨᱟᱞ ᱩᱨᱚᱯᱤᱭᱟᱱ ᱚᱠᱛᱚ"}\r
+            ls{"ᱥᱮᱱᱴᱨᱟᱞ ᱩᱨᱚᱯᱤᱭᱟᱱ ᱮᱥᱴᱮᱱᱰᱟᱨᱰ ᱚᱠᱛᱚ"}\r
+        }\r
+        "meta:Europe_Eastern"{\r
+            ld{"ᱤᱥᱴᱟᱨᱱ ᱩᱨᱚᱯᱤᱭᱟᱱ ᱥᱟᱢᱟᱨ ᱚᱠᱛᱚ"}\r
+            lg{"ᱤᱥᱴᱟᱨᱱ ᱩᱨᱚᱯᱤᱭᱟᱱ ᱚᱠᱛᱚ"}\r
+            ls{"ᱤᱥᱴᱟᱨᱱ ᱩᱨᱚᱯᱤᱭᱟᱱ ᱮᱥᱴᱮᱱᱰᱟᱨᱰ ᱚᱠᱛᱚ"}\r
+        }\r
+        "meta:Europe_Western"{\r
+            ld{"ᱣᱮᱥᱴᱟᱨᱱ ᱩᱨᱚᱯᱤᱭᱟᱱ ᱥᱟᱢᱟᱨ ᱚᱠᱛᱚ"}\r
+            lg{"ᱣᱮᱥᱴᱟᱨᱱ ᱩᱨᱚᱯᱤᱭᱟᱱ ᱚᱠᱛᱚ"}\r
+            ls{"ᱣᱮᱥᱴᱟᱨᱱ ᱩᱨᱚᱯᱤᱭᱟᱱ ᱮᱥᱴᱮᱱᱰᱟᱨᱰ ᱚᱠᱛᱚ"}\r
+        }\r
+        "meta:GMT"{\r
+            ls{"ᱜᱨᱤᱱᱣᱤᱪ ᱢᱤᱱ ᱚᱠᱛᱚ"}\r
+        }\r
+        gmtFormat{"ᱡᱤᱮᱢᱴᱤ{0}"}\r
+        gmtZeroFormat{"ᱡᱤᱮᱢᱴᱤ"}\r
+        regionFormat{"{0} ᱚᱠᱛᱚ"}\r
+        regionFormatDaylight{"{0} ᱫᱤᱱᱵᱮᱲᱟ ᱚᱠᱛᱚ"}\r
+        regionFormatStandard{"{0} ᱮᱴᱮᱱᱰᱟᱨᱰ ᱚᱠᱛᱚ"}\r
+    }\r
+}\r
diff --git a/source/data/zone/sat_IN.txt b/source/data/zone/sat_IN.txt
new file mode 100644 (file)
index 0000000..2a70401
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sat_IN{\r
+    "%%ALIAS"{"sat_Olck_IN"}\r
+}\r
diff --git a/source/data/zone/sat_Olck.txt b/source/data/zone/sat_Olck.txt
new file mode 100644 (file)
index 0000000..5849570
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sat_Olck{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/zone/sat_Olck_IN.txt b/source/data/zone/sat_Olck_IN.txt
new file mode 100644 (file)
index 0000000..d538504
--- /dev/null
@@ -0,0 +1,8 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+/**\r
+ * generated alias target\r
+ */\r
+sat_Olck_IN{\r
+    ___{""}\r
+}\r
index 1776ed4..803cab4 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sbp{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b7afc03..5204be4 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sd{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"ابي جان"}\r
@@ -1708,7 +1708,9 @@ sd{
             ls{"نيووي جو وقت"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"نار فوڪ آئي لينڊ جو وقت"}\r
+            ld{"نار فوڪ آئي لينڊ جي ڏينهن جو وقت"}\r
+            lg{"نار فوڪ آئي لينڊ جو وقت"}\r
+            ls{"نار فوڪ آئي لينڊ جو معياري وقت"}\r
         }\r
         "meta:Noronha"{\r
             ld{"فرنانڊو دي نورونها جي اونهاري وقت"}\r
diff --git a/source/data/zone/sd_Arab.txt b/source/data/zone/sd_Arab.txt
new file mode 100644 (file)
index 0000000..67d68db
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sd_Arab{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/zone/sd_Arab_PK.txt b/source/data/zone/sd_Arab_PK.txt
new file mode 100644 (file)
index 0000000..eda5f89
--- /dev/null
@@ -0,0 +1,8 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+/**\r
+ * generated alias target\r
+ */\r
+sd_Arab_PK{\r
+    ___{""}\r
+}\r
diff --git a/source/data/zone/sd_Deva.txt b/source/data/zone/sd_Deva.txt
new file mode 100644 (file)
index 0000000..d237811
--- /dev/null
@@ -0,0 +1,61 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sd_Deva{\r
+    %%Parent{"root"}\r
+    Version{"37"}\r
+    zoneStrings{\r
+        "Etc:UTC"{\r
+            ls{"आस्थानी चालू टाइमु"}\r
+        }\r
+        "Etc:Unknown"{\r
+            ec{"बेखबरो शहरु"}\r
+        }\r
+        "meta:America_Central"{\r
+            ld{"विचो ॾींह वारो भेरो"}\r
+            lg{"विचो भेरो"}\r
+            ls{"विचो मअयारी भेरो"}\r
+        }\r
+        "meta:America_Eastern"{\r
+            ld{"उभिरंदो विचो वारो भेरो"}\r
+            lg{"उभिरंदो भेरो"}\r
+            ls{"उभिरंदो मअयारी वारो भेरो"}\r
+        }\r
+        "meta:America_Mountain"{\r
+            ld{"टकरु जो ॾींह वारो भेरो"}\r
+            lg{"टकरु वारो भेरो"}\r
+            ls{"टकरु वारो मअयारी भेरो"}\r
+        }\r
+        "meta:America_Pacific"{\r
+            ld{"पेसीफिक जो ॾींह वारो भेरो"}\r
+            lg{"पेसीफिक वारो टाइमु"}\r
+            ls{"पेसीफिक वारो मअयारी वारो भेरो"}\r
+        }\r
+        "meta:Atlantic"{\r
+            ld{"अंटलांटिक जे ॾींह वारो भेरो"}\r
+            lg{"अटलांटिक टाइमु"}\r
+            ls{"अंटलांटिक जे मअयारी वारो भेरो"}\r
+        }\r
+        "meta:Europe_Central"{\r
+            ld{"सेंटरलु यूरपी गरमी वारो टाइमु"}\r
+            lg{"सेंटरलु यूरपी टाइमु"}\r
+            ls{"सेंटरलु यूरपी मयआरी वारो टाइमु"}\r
+        }\r
+        "meta:Europe_Eastern"{\r
+            ld{"उभिरंदो यूरोपी गरमी वारो वक्तु"}\r
+            lg{"उभिरंदो यूरोपी टाइमु"}\r
+            ls{"उभिरंदो यूरोपी मअयारी वारो वक्तु"}\r
+        }\r
+        "meta:Europe_Western"{\r
+            ld{"उलहंदो जे यूरोपीअ गरमी वारो वक्तु"}\r
+            lg{"उलहंदो वारो यूरोपी वारो वक्तु"}\r
+            ls{"उलहंदो जे मअयारी वारो वक्तु"}\r
+        }\r
+        "meta:GMT"{\r
+            ls{"ग्रीन विचु मीन टाइमु"}\r
+        }\r
+        fallbackFormat{"{1} ({0})"}\r
+        gmtZeroFormat{"जीएमटी"}\r
+        regionFormat{"{0} भेरो"}\r
+        regionFormatStandard{"{0} (+0) मअयारी भेरो"}\r
+    }\r
+}\r
diff --git a/source/data/zone/sd_PK.txt b/source/data/zone/sd_PK.txt
new file mode 100644 (file)
index 0000000..a9e1e2c
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+sd_PK{\r
+    "%%ALIAS"{"sd_Arab_PK"}\r
+}\r
index 91fe075..9561ce2 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 se{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "America:Curacao"{\r
             ec{"Curaçao"}\r
index cafff85..19544b1 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 se_FI{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Cairo"{\r
             ec{"Kairo"}\r
index bd5cfea..440b85a 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 seh{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d471ff5..f9452f2 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ses{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 146e177..8c7d219 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sg{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 83604c6..b9f1d5f 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 shi{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index fffe6bf..e1ac005 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 shi_Latn{\r
     %%Parent{"root"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3632ea2..6ab72b9 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 shi_Tfng{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7906363..ea10b4d 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 si{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"අබිජාන්"}\r
@@ -1713,7 +1713,9 @@ si{
             ls{"නියු වේලාව"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"නොෆොල්ක් දුපත් වේලාව"}\r
+            ld{"නොෆොල්ක් දුපත් ග්‍රීෂ්ම වේලාව"}\r
+            lg{"නොෆොල්ක් දුපත් වේලාව"}\r
+            ls{"නොෆොල්ක් දුපත් සම්මත වේලාව"}\r
         }\r
         "meta:Noronha"{\r
             ld{"ෆර්නැන්ඩෝ ඩි නොරොන්හා ග්‍රීෂ්ම කාලය"}\r
index e08e974..34e548c 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sk{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1761,7 +1761,9 @@ sk{
             ls{"niuejský čas"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"norfolský čas"}\r
+            ld{"norfolský letný čas"}\r
+            lg{"norfolský čas"}\r
+            ls{"norfolský štandardný čas"}\r
         }\r
         "meta:Noronha"{\r
             ld{"letný čas súostrovia Fernando de Noronha"}\r
index 586059c..ff81308 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sl{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidžan"}\r
@@ -1720,7 +1720,9 @@ sl{
             ls{"Niuejski čas"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Čas: Norfolški otoki"}\r
+            ld{"Norfolški otoki poletni čas"}\r
+            lg{"Norfolški otoki čas"}\r
+            ls{"Norfolški otoki standardni čas"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Fernando de Noronški poletni čas"}\r
index 90eb3a3..ca334f9 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 smn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 62bcb1f..f9efe42 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 7297e96..c177e5a 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 so{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjaan"}\r
@@ -830,6 +830,7 @@ so{
         }\r
         "Etc:UTC"{\r
             ls{"Waqtiga Isku-xiran ee Caalamka"}\r
+            ss{"Waqtiga UTC"}\r
         }\r
         "Etc:Unknown"{\r
             ec{"Magaalo Aan La Garanayn"}\r
@@ -1115,6 +1116,11 @@ so{
         "Pacific:Wallis"{\r
             ec{"Walis"}\r
         }\r
+        "meta:Acre"{\r
+            ld{"Wakhtiga Kulka ee Acre"}\r
+            lg{"Wakhtiga Acre"}\r
+            ls{"Wakhtiga Caadiga ah ee Acre"}\r
+        }\r
         "meta:Afghanistan"{\r
             ls{"Waqtiga Afggaanistaan"}\r
         }\r
@@ -1137,6 +1143,11 @@ so{
             lg{"Waqtiga Alaska"}\r
             ls{"Waqtiga Caadiga Ah ee Alaska"}\r
         }\r
+        "meta:Almaty"{\r
+            ld{"Saacada Waqtiga Kulaylaha ee Almaty"}\r
+            lg{"Waqtiga Almaty"}\r
+            ls{"Waqtiga Caadiga ah ee Almaty"}\r
+        }\r
         "meta:Amazon"{\r
             ld{"Waqtiga Xagaaga ee Amason"}\r
             lg{"Waqtiga Amason"}\r
@@ -1162,11 +1173,26 @@ so{
             lg{"Waqtiga Basifika ee Waqooyiga Ameerika"}\r
             ls{"Waqtiga Caadiga ah ee Basifika Waqooyiga Ameerika"}\r
         }\r
+        "meta:Anadyr"{\r
+            ld{"Wakhtiga Kulka ee Anadyr"}\r
+            lg{"Wakhtiga Anadyr"}\r
+            ls{"Wakhtiga Caadiga ah ee Anadyr"}\r
+        }\r
         "meta:Apia"{\r
             ld{"Waqtiga Dharaarta ee Abiya"}\r
             lg{"Waqtiga Abiya"}\r
             ls{"Waqtiga Caadiga Ah ee Abiya"}\r
         }\r
+        "meta:Aqtau"{\r
+            ld{"Saacada Waqtiga Kulaylaha Aqtau"}\r
+            lg{"Waqtiga Aqtau"}\r
+            ls{"Waqtiga Caadiga ah ee Aqtau"}\r
+        }\r
+        "meta:Aqtobe"{\r
+            ld{"Saacada Waqtiga kulaylaha Aqtobe"}\r
+            lg{"Waqtiga Aqtobe"}\r
+            ls{"Waqtiga Caadiga ah ee Aqtobe"}\r
+        }\r
         "meta:Arabian"{\r
             ld{"Waqtiga Dharaarta ee Carabta"}\r
             lg{"Waqtiga Carabta"}\r
@@ -1378,6 +1404,9 @@ so{
             ld{"Waqtiga Dharaarta ee Hawaay-Alutiyaan"}\r
             lg{"Waqtiga Hawaay-Alutiyaan"}\r
             ls{"Waqtiga Caadiga Ah ee Hawaay-Alutiyaan"}\r
+            sd{"HADT"}\r
+            sg{"HAT"}\r
+            ss{"HAST"}\r
         }\r
         "meta:Hong_Kong"{\r
             ld{"Waqtiga Xagaaga ee Hoong Koong"}\r
@@ -1427,6 +1456,11 @@ so{
             lg{"Waqtiga Jabaan"}\r
             ls{"Waqtiga Caadiga Ah ee Jabaan"}\r
         }\r
+        "meta:Kamchatka"{\r
+            ld{"Wakhtiga Kulka ee Petropavlovsk-Kamchatski"}\r
+            lg{"Wakhtiga Petropavlovsk-Kamchatski"}\r
+            ls{"Wakhtiga Caadiga ah ee Petropavlovsk-Kamchatski"}\r
+        }\r
         "meta:Kazakhstan_Eastern"{\r
             ls{"Waqtiga Bariga Kasakhistaan"}\r
         }\r
@@ -1533,7 +1567,9 @@ so{
             ls{"Waqtiga Niyuu"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Waqtiga Noorfek Aylaan"}\r
+            ld{"Waqtiga Xagaaga ee Noorfek Aylaan"}\r
+            lg{"Waqtiga Noorfek Aylaan"}\r
+            ls{"Waqtiga Caadiga Ah ee Noorfek Aylaan"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Waqtiga Xagaaga ee Farnaando de Nooronha"}\r
@@ -1593,6 +1629,11 @@ so{
         "meta:Pyongyang"{\r
             ls{"Waqtiga Boyongyang"}\r
         }\r
+        "meta:Qyzylorda"{\r
+            ld{"Saacada Waqtiga Kulaylaha Qyzylorda"}\r
+            lg{"Waqtiga Qyzylorda"}\r
+            ls{"Waqtiga Caadiga ah ee Qyzylorda"}\r
+        }\r
         "meta:Reunion"{\r
             ls{"Waqtiga Riyuuniyon"}\r
         }\r
@@ -1604,6 +1645,11 @@ so{
             lg{"Waqtiga Sakhalin"}\r
             ls{"Waqtiga Caadiga Ah ee Sakhalin"}\r
         }\r
+        "meta:Samara"{\r
+            ld{"Wakhtiga Kulka ee Samara"}\r
+            lg{"Wakhtiga Samara"}\r
+            ls{"Wakhtiga Caadiga ah ee Samara"}\r
+        }\r
         "meta:Samoa"{\r
             ld{"Waqtiga Dharaarta ee Samoa"}\r
             lg{"Waqtiga Samoa"}\r
index ede198a..a639f97 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sq{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abixhan"}\r
@@ -1754,7 +1754,9 @@ sq{
             ls{"Ora e Niuesë"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Ora e Ishullit Norfolk"}\r
+            ld{"Ora verore e Ishullit Norfolk"}\r
+            lg{"Ora e Ishullit Norfolk"}\r
+            ls{"Ora standarde e Ishullit Norfolk"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Ora verore e Fernando-de-Noronjës"}\r
index 665d9c9..1715fc4 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sr{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Абиџан"}\r
@@ -1761,7 +1761,9 @@ sr{
             ls{"Ниуе време"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Норфолк Острво време"}\r
+            ld{"Норфолк Острво, летње време"}\r
+            lg{"Норфолк Острво време"}\r
+            ls{"Норфолк Острво, стандардно време"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Фернандо де Нороња, летње време"}\r
index 1ed798b..f89f3af 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sr_Cyrl{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 970526b..ef9aaae 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sr_Latn{\r
     %%Parent{"root"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidžan"}\r
@@ -1762,7 +1762,9 @@ sr_Latn{
             ls{"Niue vreme"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Norfolk Ostrvo vreme"}\r
+            ld{"Norfolk Ostrvo, letnje vreme"}\r
+            lg{"Norfolk Ostrvo vreme"}\r
+            ls{"Norfolk Ostrvo, standardno vreme"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Fernando de Noronja, letnje vreme"}\r
diff --git a/source/data/zone/su.txt b/source/data/zone/su.txt
new file mode 100644 (file)
index 0000000..a85d9bf
--- /dev/null
@@ -0,0 +1,65 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+su{\r
+    Version{"37"}\r
+    zoneStrings{\r
+        "Etc:UTC"{\r
+            ls{"Waktu Universal Terkoordinasi"}\r
+        }\r
+        "Etc:Unknown"{\r
+            ec{"Kota Teu Dikenal"}\r
+        }\r
+        "meta:America_Central"{\r
+            ld{"Waktu Usum Panas Tengah"}\r
+            lg{"Waktu Tengah"}\r
+            ls{"Waktu Standar Tengah"}\r
+        }\r
+        "meta:America_Eastern"{\r
+            ld{"Waktu Usum Panas Wétan"}\r
+            lg{"Waktu Wétan"}\r
+            ls{"Waktu Standar Wétan"}\r
+        }\r
+        "meta:America_Mountain"{\r
+            ld{"Waktu Usum Panas Pagunungan"}\r
+            lg{"Waktu Pagunungan"}\r
+            ls{"Waktu Standar Pagunungan"}\r
+        }\r
+        "meta:America_Pacific"{\r
+            ld{"Waktu Usum Panas Pasifik"}\r
+            lg{"Waktu Pasifik"}\r
+            ls{"Waktu Standar Pasifik"}\r
+        }\r
+        "meta:Atlantic"{\r
+            ld{"Waktu Usum Panas Atlantik"}\r
+            lg{"Waktu Atlantik"}\r
+            ls{"Waktu Standar Atlantik"}\r
+        }\r
+        "meta:Colombia"{\r
+            ld{"Waktu Usum Panas Kolombia"}\r
+            lg{"Waktu Kolombia"}\r
+            ls{"Waktu Standar Kolombia"}\r
+        }\r
+        "meta:Europe_Central"{\r
+            ld{"Waktu Usum Panas Éropa Tengah"}\r
+            lg{"Waktu Éropa Tengah"}\r
+            ls{"Waktu Standar Éropa Tengah"}\r
+        }\r
+        "meta:Europe_Eastern"{\r
+            ld{"Waktu Usum Panas Éropa Timur"}\r
+            lg{"Waktu Éropa Timur"}\r
+            ls{"Waktu Standar Éropa Timur"}\r
+        }\r
+        "meta:Europe_Western"{\r
+            ld{"Waktu Usum Panas Éropa Barat"}\r
+            lg{"Waktu Éropa Barat"}\r
+            ls{"Waktu Standar Éropa Barat"}\r
+        }\r
+        "meta:GMT"{\r
+            ls{"Waktu Greenwich"}\r
+        }\r
+        "meta:Galapagos"{\r
+            ls{"Waktu Galapagos"}\r
+        }\r
+        fallbackFormat{"{1} ({0})"}\r
+    }\r
+}\r
diff --git a/source/data/zone/su_ID.txt b/source/data/zone/su_ID.txt
new file mode 100644 (file)
index 0000000..54a4c8f
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+su_ID{\r
+    "%%ALIAS"{"su_Latn_ID"}\r
+}\r
diff --git a/source/data/zone/su_Latn.txt b/source/data/zone/su_Latn.txt
new file mode 100644 (file)
index 0000000..2cd8bd7
--- /dev/null
@@ -0,0 +1,5 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+su_Latn{\r
+    Version{"37"}\r
+}\r
diff --git a/source/data/zone/su_Latn_ID.txt b/source/data/zone/su_Latn_ID.txt
new file mode 100644 (file)
index 0000000..8ab1d5e
--- /dev/null
@@ -0,0 +1,8 @@
+// © 2016 and later: Unicode, Inc. and others.\r
+// License & terms of use: http://www.unicode.org/copyright.html#License\r
+/**\r
+ * generated alias target\r
+ */\r
+su_Latn_ID{\r
+    ___{""}\r
+}\r
index d589517..55917da 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sv{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1768,7 +1768,9 @@ sv{
             ls{"Niuetid"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Norfolköns tid"}\r
+            ld{"Norfolköns, sommartid"}\r
+            lg{"Norfolköns tid"}\r
+            ls{"Norfolköns, normaltid"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Fernando de Noronha, sommartid"}\r
index 2987705..e56a45a 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sw{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -810,6 +810,9 @@ sw{
         "Asia:Qatar"{\r
             ec{"Qatar"}\r
         }\r
+        "Asia:Qostanay"{\r
+            ec{"Kostanay"}\r
+        }\r
         "Asia:Qyzylorda"{\r
             ec{"Qyzylorda"}\r
         }\r
@@ -1717,7 +1720,9 @@ sw{
             ls{"Saa za Niue"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Saa za Kisiwa cha Norfolk"}\r
+            ld{"Saa za Majira ya joto za Kisiwa cha Norfolk"}\r
+            lg{"Saa za Kisiwa cha Norfolk"}\r
+            ls{"Saa za Wastani za Kisiwa cha Norfolk"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Saa za Majira ya joto za Fernando de Noronha"}\r
index 0cac3c3..1cfbff3 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 sw_KE{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "America:Barbados"{\r
             ec{"Babadosi"}\r
@@ -48,9 +48,6 @@ sw_KE{
         "Asia:Macau"{\r
             ec{"Makao"}\r
         }\r
-        "Asia:Qostanay"{\r
-            ec{"Kostanay"}\r
-        }\r
         "Asia:Rangoon"{\r
             ec{"Yangon"}\r
         }\r
index dc3f2ee..624c74e 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ta{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"அபிட்ஜான்"}\r
@@ -1752,7 +1752,9 @@ ta{
             ls{"நியு நேரம்"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"நார்ஃபோக் தீவு நேரம்"}\r
+            ld{"நார்ஃபோக் தீவு கோடை நேரம்"}\r
+            lg{"நார்ஃபோக் தீவு நேரம்"}\r
+            ls{"நார்ஃபோக் தீவு நிலையான நேரம்"}\r
         }\r
         "meta:Noronha"{\r
             ld{"பெர்னான்டோ டி நோரோன்ஹா கோடை நேரம்"}\r
index 6a472bc..6492b3e 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ta_MY{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:India"{\r
             ss{"∅∅∅"}\r
index 9534b9f..a9ee85e 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ta_SG{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "meta:India"{\r
             ss{"∅∅∅"}\r
index d042593..0e7c61a 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 te{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"అబిడ్జాన్"}\r
@@ -1752,7 +1752,9 @@ te{
             ls{"నియూ సమయం"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"నార్ఫోక్ దీవి సమయం"}\r
+            ld{"నార్ఫోక్ దీవి వేసవి సమయం"}\r
+            lg{"నార్ఫోక్ దీవి సమయం"}\r
+            ls{"నార్ఫోక్ దీవి ప్రామాణిక సమయం"}\r
         }\r
         "meta:Noronha"{\r
             ld{"ఫెర్నాండో డి నొరోన్హా వేసవి సమయం"}\r
index 41d4af0..7de19fb 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 teo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 94bc630..3934904 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 tg{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Asia:Dushanbe"{\r
             ec{"Душанбе"}\r
index 7ba10dd..b12dd78 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 th{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"อาบีจาน"}\r
@@ -1754,7 +1754,9 @@ th{
             ls{"เวลานีอูเอ"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"เวลาเกาะนอร์ฟอล์ก"}\r
+            ld{"เวลาฤดูร้อนเกาะนอร์ฟอล์ก"}\r
+            lg{"เวลาเกาะนอร์ฟอล์ก"}\r
+            ls{"เวลามาตรฐานเกาะนอร์ฟอล์ก"}\r
         }\r
         "meta:Noronha"{\r
             ld{"เวลาฤดูร้อนของหมู่เกาะเฟอร์นันโด"}\r
diff --git a/source/data/zone/th_TH.txt b/source/data/zone/th_TH.txt
deleted file mode 100644 (file)
index 6ab242c..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-// © 2016 and later: Unicode, Inc. and others.\r
-// License & terms of use: http://www.unicode.org/copyright.html#License\r
-/**\r
- * generated alias target\r
- */\r
-th_TH{\r
-    ___{""}\r
-}\r
diff --git a/source/data/zone/th_TH_TRADITIONAL.txt b/source/data/zone/th_TH_TRADITIONAL.txt
deleted file mode 100644 (file)
index a07213d..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-// © 2016 and later: Unicode, Inc. and others.\r
-// License & terms of use: http://www.unicode.org/copyright.html#License\r
-th_TH_TRADITIONAL{\r
-    calendar{\r
-        default{"buddhist"}\r
-    }\r
-}\r
index 0ad554b..f17f83a 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ti{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
index e815e9c..8d329e1 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 tk{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abijan"}\r
@@ -1701,7 +1701,9 @@ tk{
             ls{"Niue wagty"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Norfolk adasy wagty"}\r
+            ld{"Norfolk adasy tomusky wagty"}\r
+            lg{"Norfolk adasy wagty"}\r
+            ls{"Norfolk adasy standart wagty"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Fernandu-di-Noronýa tomusky wagty"}\r
index d7c883f..e6d31cc 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 to{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1751,7 +1751,9 @@ to{
             ls{"houa fakaniuē"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"houa fakanoafōki"}\r
+            ld{"houa fakanoafōki taimi liliu"}\r
+            lg{"houa fakanoafōki"}\r
+            ls{"houa fakanoafōki taimi totonu"}\r
         }\r
         "meta:Noronha"{\r
             ld{"houa fakafēnanito-te-nolōnia taimi liliu"}\r
index ca4e20e..25d20ba 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 tr{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1754,7 +1754,9 @@ tr{
             ls{"Niue Saati"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Norfolk Adası Saati"}\r
+            ld{"Norfolk Adası Yaz Saati"}\r
+            lg{"Norfolk Adası Saati"}\r
+            ls{"Norfolk Adası Standart Saati"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Fernando de Noronha Yaz Saati"}\r
index a970174..8615668 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 tt{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Etc:UTC"{\r
             ls{"Бөтендөнья килештерелгән вакыты"}\r
index c8ddd55..d423f8a 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 twq{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index d6b71cd..b885c4e 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 tzm{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index f09b905..b48725a 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ug{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Sao_Tome"{\r
             ec{"سان-تومې"}\r
@@ -487,7 +487,9 @@ ug{
             ls{"نىيۇئې ۋاقتى"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"نورفولك ئاراللىرى ۋاقتى"}\r
+            ld{"نورفولك ئاراللىرى يازلىق ۋاقتى"}\r
+            lg{"نورفولك ئاراللىرى ۋاقتى"}\r
+            ls{"نورفولك ئاراللىرى ئۆلچەملىك ۋاقتى"}\r
         }\r
         "meta:Noronha"{\r
             ld{"فېرناندو-نورونخا يازلىق ۋاقتى"}\r
index 4682f0a..4e928aa 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 uk{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Абіджан"}\r
@@ -1728,7 +1728,9 @@ uk{
             ls{"за часом на острові Ніуе"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"за часом на острові Норфолк"}\r
+            ld{"за літнім часом на острові Норфолк"}\r
+            lg{"за часом на острові Норфолк"}\r
+            ls{"за стандартним часом на острові Норфолк"}\r
         }\r
         "meta:Noronha"{\r
             ld{"за літнім часом на архіпелазі Фернанду-ді-Норонья"}\r
index b16871e..4179045 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ur{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"عابدجان"}\r
@@ -1720,7 +1720,9 @@ ur{
             ls{"نیئو ٹائم"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"نارفوک آئلینڈ کا وقت"}\r
+            ld{"نارفوک آئلینڈ کا موسم گرما کا وقت"}\r
+            lg{"نارفوک آئلینڈ کا وقت"}\r
+            ls{"نارفوک آئلینڈ کا معیاری وقت"}\r
         }\r
         "meta:Noronha"{\r
             ld{"فرنانڈو ڈی نورونہا سمر ٹائم"}\r
index 29ae476..cf0bca0 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 ur_IN{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Accra"{\r
             ec{"اکرا"}\r
index 1ceddfd..54233c7 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 uz{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -810,6 +810,9 @@ uz{
         "Asia:Qatar"{\r
             ec{"Qatar"}\r
         }\r
+        "Asia:Qostanay"{\r
+            ec{"Kustanay"}\r
+        }\r
         "Asia:Qyzylorda"{\r
             ec{"Qizilo‘rda"}\r
         }\r
@@ -1707,7 +1710,9 @@ uz{
             ls{"Niuye vaqti"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Norfolk oroli vaqti"}\r
+            ld{"Norfolk oroli yozgi vaqti"}\r
+            lg{"Norfolk oroli vaqti"}\r
+            ls{"Norfolk oroli standart vaqti"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Fernandu-di-Noronya yozgi vaqti"}\r
index 91171bc..26df77b 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 uz_Arab{\r
     %%Parent{"root"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Asia:Kabul"{\r
             ec{"کابل"}\r
index b599298..f03e8e4 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 uz_Cyrl{\r
     %%Parent{"root"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Asmera"{\r
             ec{"Asmara"}\r
@@ -503,7 +503,9 @@ uz_Cyrl{
             ls{"Ниуе вақти"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Норфолк ороли вақти"}\r
+            ld{"Норфолк ороли ёзги вақти"}\r
+            lg{"Норфолк ороли вақти"}\r
+            ls{"Норфолк ороли стандарт вақти"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Фернандо де Норонья ёзги вақти"}\r
index fab5249..e0f4ba8 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 uz_Latn{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 02a4617..8f702b9 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 vai{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index b60dd85..9380c57 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 vai_Latn{\r
     %%Parent{"root"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8aaf4a5..f361880 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 vai_Vaii{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 1c1f5c3..bd1570a 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 vi{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"Abidjan"}\r
@@ -1778,7 +1778,9 @@ vi{
             ls{"Giờ Niue"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Giờ đảo Norfolk"}\r
+            ld{"Giờ Mùa Hè Đảo Norfolk"}\r
+            lg{"Giờ Đảo Norfolk"}\r
+            ls{"Giờ Chuẩn Đảo Norfolk"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Giờ Mùa Hè Fernando de Noronha"}\r
index c18f6b7..7544d57 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 vun{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index ca130f0..715a91e 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 wae{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Accra"{\r
             ec{"Akra"}\r
index 0be4a18..bf14371 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 wo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Dakar"{\r
             ec{"Dakar"}\r
index 122d4a6..700edff 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 xh{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index badd4e4..d39be53 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 xog{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 54b473d..70d99ca 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 yav{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 5f89cf5..55200d2 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 yi{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"אַבידזשאַן"}\r
index 93bb6ac..b36c94c 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 yo{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Etc:UTC"{\r
             ls{"Àpapọ̀ Àkókò Àgbáyé"}\r
@@ -159,6 +159,11 @@ yo{
             lg{"Chile Time"}\r
             ls{"Chile Standard Time"}\r
         }\r
+        "meta:China"{\r
+            ld{"Àkókò Ojúmọmọ Ṣáínà"}\r
+            lg{"Àkókò Ṣáínà"}\r
+            ls{"Àkókò Ìfẹnukòsí Ṣáínà"}\r
+        }\r
         "meta:Choibalsan"{\r
             ld{"Choibalsan Summer Time"}\r
             lg{"Choibalsan Time"}\r
@@ -180,12 +185,20 @@ yo{
             lg{"Cook Islands Time"}\r
             ls{"Cook Islands Standard Time"}\r
         }\r
+        "meta:Cuba"{\r
+            ld{"Àkókò Ojúmọmọ Kúbà"}\r
+            lg{"Àkókò Kúbà"}\r
+            ls{"Àkókò Àfẹnukò Kúbà"}\r
+        }\r
         "meta:Davis"{\r
             ls{"Davis Time"}\r
         }\r
         "meta:DumontDUrville"{\r
             ls{"Dumont-d’Urville Time"}\r
         }\r
+        "meta:East_Timor"{\r
+            ls{"Àkókò Ìlà oorùn Timor"}\r
+        }\r
         "meta:Easter"{\r
             ld{"Easter Island Summer Time"}\r
             lg{"Easter Island Time"}\r
@@ -245,6 +258,16 @@ yo{
         "meta:Gilbert_Islands"{\r
             ls{"Gilbert Islands Time"}\r
         }\r
+        "meta:Greenland_Eastern"{\r
+            ld{"Àkókò ìgbà Ooru Greenland"}\r
+            lg{"Àkókò Ìlà oorùn Greenland"}\r
+            ls{"Àkókò Ìwọ̀ Ìfẹnukò oorùn Greenland"}\r
+        }\r
+        "meta:Greenland_Western"{\r
+            ld{"Àkókò Àfẹnukò Ìgba Oòru Greenland"}\r
+            lg{"Àkókò Ìwọ̀ oorùn Greenland"}\r
+            ls{"Àkókò Àfẹnukò Ìwọ̀ Oòrùn Greenland"}\r
+        }\r
         "meta:Gulf"{\r
             ls{\r
                 "Gulf Standard Time [translation hint: translate as just \u0022Gulf T"\r
@@ -254,6 +277,11 @@ yo{
         "meta:Guyana"{\r
             ls{"Guyana Time"}\r
         }\r
+        "meta:Hawaii_Aleutian"{\r
+            ld{"Àkókò Ojúmọmọ Hawaii-Aleutian"}\r
+            lg{"Àkókò Hawaii-Aleutian"}\r
+            ls{"Àkókò Àfẹnukò Hawaii-Aleutian"}\r
+        }\r
         "meta:Hong_Kong"{\r
             ld{"Hong Kong Summer Time"}\r
             lg{"Hong Kong Time"}\r
@@ -270,9 +298,18 @@ yo{
         "meta:Indian_Ocean"{\r
             ls{"Indian Ocean Time"}\r
         }\r
+        "meta:Indochina"{\r
+            ls{"Àkókò Indochina"}\r
+        }\r
+        "meta:Indonesia_Central"{\r
+            ls{"Àkókò Ààrin Gbùngbùn Indonesia"}\r
+        }\r
         "meta:Indonesia_Eastern"{\r
             ls{"Eastern Indonesia Time"}\r
         }\r
+        "meta:Indonesia_Western"{\r
+            ls{"Àkókò Ìwọ̀ oorùn Indonesia"}\r
+        }\r
         "meta:Iran"{\r
             ld{"Iran Daylight Time"}\r
             lg{"Iran Time"}\r
@@ -351,6 +388,16 @@ yo{
         "meta:Mawson"{\r
             ls{"Mawson Time"}\r
         }\r
+        "meta:Mexico_Northwest"{\r
+            ld{"Àkókò Ojúmọmọ Apá Ìwọ̀ Oorùn Mẹ́ṣíkò"}\r
+            lg{"Àkókò Apá Ìwọ̀ Oorùn Mẹ́ṣíkò"}\r
+            ls{"Àkókò Àfẹnukò Apá Ìwọ̀ Oorùn Mẹ́ṣíkò"}\r
+        }\r
+        "meta:Mexico_Pacific"{\r
+            ld{"Àkókò Ojúmọmọ Pásífíìkì Mẹ́síkò"}\r
+            lg{"Àkókò Pásífíìkì Mẹ́ṣíkò"}\r
+            ls{"Àkókò Àfẹnukò Pásífíìkì Mẹ́síkò"}\r
+        }\r
         "meta:Mongolia"{\r
             ld{"Ulaanbaatar Summer Time"}\r
             lg{"Ulaanbaatar Time"}\r
@@ -380,11 +427,18 @@ yo{
             lg{"New Zealand Time"}\r
             ls{"New Zealand Standard Time"}\r
         }\r
+        "meta:Newfoundland"{\r
+            ld{"Àkókò Ojúmọmọ Newfoundland"}\r
+            lg{"Àkókò Newfoundland"}\r
+            ls{"Àkókò Àfẹnukò Newfoundland"}\r
+        }\r
         "meta:Niue"{\r
             ls{"Niue Time"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Norfolk Island Time"}\r
+            ld{"Norfolk Island Daylight Time"}\r
+            lg{"Norfolk Island Time"}\r
+            ls{"Norfolk Island Standard Time"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Fernando de Noronha Summer Time"}\r
@@ -430,6 +484,11 @@ yo{
         "meta:Phoenix_Islands"{\r
             ls{"Phoenix Islands Time"}\r
         }\r
+        "meta:Pierre_Miquelon"{\r
+            ld{"Àkókò Ojúmọmọ Pierre & Miquelon"}\r
+            lg{"Àkókò Pierre & Miquelon"}\r
+            ls{"Àkókò Àfẹnukò Pierre & Miquelon"}\r
+        }\r
         "meta:Pitcairn"{\r
             ls{"Pitcairn Time"}\r
         }\r
index 8b960c7..5c6f9a7 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 yo_BJ{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Etc:UTC"{\r
             ls{"Àpapɔ̀ Àkókò Àgbáyé"}\r
@@ -34,6 +34,16 @@ yo_BJ{
             lg{"Àkókò Àtìláńtíìkì"}\r
             ls{"Àkókò àsikò Àtìláńtíìkì"}\r
         }\r
+        "meta:China"{\r
+            ld{"Àkókò Ojúmɔmɔ Sháínà"}\r
+            lg{"Àkókò Sháínà"}\r
+            ls{"Àkókò Ìfɛnukòsí Sháínà"}\r
+        }\r
+        "meta:Cuba"{\r
+            ld{"Àkókò Ojúmɔmɔ Kúbà"}\r
+            lg{"Àkókò Kúbà"}\r
+            ls{"Àkókò Àfɛnukò Kúbà"}\r
+        }\r
         "meta:Europe_Central"{\r
             ld{"Àkókò Àárin Sɔmà Europe"}\r
             lg{"Àkókò Àárin Europe"}\r
@@ -49,6 +59,44 @@ yo_BJ{
             lg{"Àkókò Ìwɔ Oòrùn Europe"}\r
             ls{"Àkókò àsikò Ìwɔ Oòrùn Europe"}\r
         }\r
+        "meta:Greenland_Eastern"{\r
+            ld{"Àkókò ìgbà Ooru Greenland"}\r
+            lg{"Àkókò Ìlà oorùn Greenland"}\r
+            ls{"Àkókò Ìwɔ̀ Ìfɛnukò oorùn Greenland"}\r
+        }\r
+        "meta:Greenland_Western"{\r
+            ld{"Àkókò Àfɛnukò Ìgba Oòru Greenland"}\r
+            lg{"Àkókò Ìwɔ̀ oorùn Greenland"}\r
+            ls{"Àkókò Àfɛnukò Ìwɔ̀ Oòrùn Greenland"}\r
+        }\r
+        "meta:Hawaii_Aleutian"{\r
+            ld{"Àkókò Ojúmɔmɔ Hawaii-Aleutian"}\r
+            lg{"Àkókò Hawaii-Aleutian"}\r
+            ls{"Àkókò Àfɛnukò Hawaii-Aleutian"}\r
+        }\r
+        "meta:Indonesia_Western"{\r
+            ls{"Àkókò Ìwɔ̀ oorùn Indonesia"}\r
+        }\r
+        "meta:Mexico_Northwest"{\r
+            ld{"Àkókò Ojúmɔmɔ Apá Ìwɔ̀ Oorùn Mɛ́shíkò"}\r
+            lg{"Àkókò Apá Ìwɔ̀ Oorùn Mɛ́shíkò"}\r
+            ls{"Àkókò Àfɛnukò Apá Ìwɔ̀ Oorùn Mɛ́shíkò"}\r
+        }\r
+        "meta:Mexico_Pacific"{\r
+            ld{"Àkókò Ojúmɔmɔ Pásífíìkì Mɛ́síkò"}\r
+            lg{"Àkókò Pásífíìkì Mɛ́shíkò"}\r
+            ls{"Àkókò Àfɛnukò Pásífíìkì Mɛ́síkò"}\r
+        }\r
+        "meta:Newfoundland"{\r
+            ld{"Àkókò Ojúmɔmɔ Newfoundland"}\r
+            lg{"Àkókò Newfoundland"}\r
+            ls{"Àkókò Àfɛnukò Newfoundland"}\r
+        }\r
+        "meta:Pierre_Miquelon"{\r
+            ld{"Àkókò Ojúmɔmɔ Pierre & Miquelon"}\r
+            lg{"Àkókò Pierre & Miquelon"}\r
+            ls{"Àkókò Àfɛnukò Pierre & Miquelon"}\r
+        }\r
         regionFormatDaylight{"{0} Àkókò ojúmɔmɔ"}\r
     }\r
 }\r
index d3450db..70be1ca 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 yue{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"阿比讓"}\r
@@ -1754,7 +1754,9 @@ yue{
             ls{"紐埃島時間"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"諾福克島時間"}\r
+            ld{"諾福克島夏令時間"}\r
+            lg{"諾福克島時間"}\r
+            ls{"諾福克島標準時間"}\r
         }\r
         "meta:Noronha"{\r
             ld{"費爾南多 - 迪諾羅尼亞夏令時間"}\r
index 54999af..2b52dc6 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 yue_Hans{\r
     %%Parent{"root"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"阿比让"}\r
@@ -1755,7 +1755,9 @@ yue_Hans{
             ls{"纽埃岛时间"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"诺福克岛时间"}\r
+            ld{"诺福克岛夏令时间"}\r
+            lg{"诺福克岛时间"}\r
+            ls{"诺福克岛标准时间"}\r
         }\r
         "meta:Noronha"{\r
             ld{"费尔南多 - 迪诺罗尼亚夏令时间"}\r
index b28249c..f2c5c91 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 yue_Hant{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 8b7621f..5cd8787 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zgh{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 6592471..f58f699 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"阿比让"}\r
@@ -1754,7 +1754,9 @@ zh{
             ls{"纽埃时间"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"诺福克岛时间"}\r
+            ld{"诺福克岛夏令时间"}\r
+            lg{"诺福克岛时间"}\r
+            ls{"诺福克岛标准时间"}\r
         }\r
         "meta:Noronha"{\r
             ld{"费尔南多-迪诺罗尼亚岛夏令时间"}\r
index ad4e8b3..54a1c90 100644 (file)
@@ -1,5 +1,5 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh_Hans{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index 3a83136..8fd351b 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh_Hans_SG{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "America:Scoresbysund"{\r
             ec{"斯考斯伯松德"}\r
index 618ecb4..0068838 100644 (file)
@@ -2,7 +2,7 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh_Hant{\r
     %%Parent{"root"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"阿比讓"}\r
@@ -1777,7 +1777,9 @@ zh_Hant{
             ls{"紐埃島時間"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"諾福克島時間"}\r
+            ld{"諾福克島夏令時間"}\r
+            lg{"諾福克島時間"}\r
+            ls{"諾福克島標準時間"}\r
         }\r
         "meta:Noronha"{\r
             ld{"費爾南多 - 迪諾羅尼亞夏令時間"}\r
index bf440a3..81fd1ab 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh_Hant_HK{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"阿比贊"}\r
index 448f7d6..cf72366 100644 (file)
@@ -2,5 +2,5 @@
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zh_Hant_MO{\r
     %%Parent{"zh_Hant_HK"}\r
-    Version{"36.1"}\r
+    Version{"37"}\r
 }\r
index e09895d..c1b5681 100644 (file)
@@ -1,7 +1,7 @@
 // © 2016 and later: Unicode, Inc. and others.\r
 // License & terms of use: http://www.unicode.org/copyright.html#License\r
 zu{\r
-    Version{"36.1"}\r
+    Version{"37"}\r
     zoneStrings{\r
         "Africa:Abidjan"{\r
             ec{"i-Abidjan"}\r
@@ -1717,7 +1717,9 @@ zu{
             ls{"Isikhathi sase-Niue"}\r
         }\r
         "meta:Norfolk"{\r
-            ls{"Isikhathi sase-Norfolk Islands"}\r
+            ld{"Isikhathi sase-Norfolk Islands sasehlobo"}\r
+            lg{"Isikhathi sase-Norfolk Islands"}\r
+            ls{"Isikhathi sase-Norfolk Islands esivamile"}\r
         }\r
         "meta:Noronha"{\r
             ld{"Isikhathi sase-Fernando de Noronha sasehlobo"}\r
index f22c20e..ae2c71a 100644 (file)
@@ -97,7 +97,7 @@ uspoof.o uspoof_impl.o uspoof_build.o uspoof_conf.o smpdtfst.o \
 ztrans.o zrule.o vzone.o fphdlimp.o fpositer.o ufieldpositer.o \
 decNumber.o decContext.o alphaindex.o tznames.o tznames_impl.o tzgnames.o \
 tzfmt.o compactdecimalformat.o gender.o region.o scriptset.o \
-uregion.o reldatefmt.o quantityformatter.o measunit.o \
+uregion.o reldatefmt.o quantityformatter.o measunit.o measunit_extra.o \
 sharedbreakiterator.o scientificnumberformatter.o dayperiodrules.o nounit.o \
 number_affixutils.o number_compact.o number_decimalquantity.o \
 number_decimfmtprops.o number_fluent.o number_formatimpl.o number_grouping.o \
@@ -153,6 +153,11 @@ ifneq ($(ENABLE_STATIC),)
        $(INSTALL-L) $(TARGET) $(DESTDIR)$(libdir)
 endif
 ifneq ($(ENABLE_SHARED),)
+# For MinGW, do we want the DLL to go in the bin location?
+ifeq ($(MINGW_MOVEDLLSTOBINDIR),YES)
+       $(MKINSTALLDIRS) $(DESTDIR)$(bindir)
+       $(INSTALL-L) $(FINAL_SO_TARGET) $(DESTDIR)$(bindir)
+else
        $(INSTALL-L) $(FINAL_SO_TARGET) $(DESTDIR)$(libdir)
 ifneq ($(FINAL_SO_TARGET),$(SO_TARGET))
        cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(SO_TARGET))
@@ -160,6 +165,7 @@ ifneq ($(FINAL_SO_TARGET),$(MIDDLE_SO_TARGET))
        cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(MIDDLE_SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(MIDDLE_SO_TARGET))
 endif
 endif
+endif
 ifneq ($(IMPORT_LIB_EXT),)
        $(INSTALL-L) $(FINAL_IMPORT_LIB) $(DESTDIR)$(libdir)
 ifneq ($(IMPORT_LIB),$(FINAL_IMPORT_LIB))
index c043bb3..981f09c 100644 (file)
@@ -958,7 +958,7 @@ Calendar::makeInstance(const Locale& aLocale, UErrorCode& success) {
 #endif
         c->setWeekData(aLocale, c->getType(), success);  // set the correct locale (this was an indirected calendar)
 
-        char keyword[ULOC_FULLNAME_CAPACITY];
+        char keyword[ULOC_FULLNAME_CAPACITY] = "";
         UErrorCode tmpStatus = U_ZERO_ERROR;
         l.getKeywordValue("calendar", keyword, ULOC_FULLNAME_CAPACITY, tmpStatus);
         if (U_SUCCESS(tmpStatus) && uprv_strcmp(keyword, "iso8601") == 0) {
index 9a636cf..e1bc34c 100644 (file)
@@ -92,7 +92,7 @@ private:
     CollationTailoring(const CollationTailoring &other);
 };
 
-struct CollationCacheEntry : public SharedObject {
+struct U_I18N_API CollationCacheEntry : public SharedObject {
     CollationCacheEntry(const Locale &loc, const CollationTailoring *t)
             : validLocale(loc), tailoring(t) {
         if(t != NULL) {
index dab6dda..92bcf12 100644 (file)
 
 #include "unicode/currunit.h"
 #include "unicode/ustring.h"
+#include "unicode/uchar.h"
 #include "cstring.h"
 #include "uinvchar.h"
 #include "charstr.h"
-
-static constexpr char16_t kDefaultCurrency[] = u"XXX";
-static constexpr char kDefaultCurrency8[] = "XXX";
+#include "ustr_imp.h"
+#include "measunit_impl.h"
 
 U_NAMESPACE_BEGIN
 
@@ -31,22 +31,25 @@ CurrencyUnit::CurrencyUnit(ConstChar16Ptr _isoCode, UErrorCode& ec) {
     // non-NUL-terminated string to be passed as an argument, so it is not possible to check length.
     // However, we allow a NUL-terminated empty string, which should have the same behavior as nullptr.
     // Consider NUL-terminated strings of length 1 or 2 as invalid.
-    const char16_t* isoCodeToUse;
+    bool useDefault = false;
     if (U_FAILURE(ec) || _isoCode == nullptr || _isoCode[0] == 0) {
-        isoCodeToUse = kDefaultCurrency;
+        useDefault = true;
     } else if (_isoCode[1] == 0 || _isoCode[2] == 0) {
-        isoCodeToUse = kDefaultCurrency;
+        useDefault = true;
         ec = U_ILLEGAL_ARGUMENT_ERROR;
     } else if (!uprv_isInvariantUString(_isoCode, 3)) {
         // TODO: Perform a more strict ASCII check like in ICU4J isAlpha3Code?
-        isoCodeToUse = kDefaultCurrency;
+        useDefault = true;
         ec = U_INVARIANT_CONVERSION_ERROR;
     } else {
-        isoCodeToUse = _isoCode;
+        for (int32_t i=0; i<3; i++) {
+            isoCode[i] = u_asciiToUpper(_isoCode[i]);
+        }
+        isoCode[3] = 0;
+    }
+    if (useDefault) {
+        uprv_memcpy(isoCode, kDefaultCurrency, sizeof(UChar) * 4);
     }
-    // TODO: Perform uppercasing here like in ICU4J Currency.getInstance()?
-    uprv_memcpy(isoCode, isoCodeToUse, sizeof(UChar) * 3);
-    isoCode[3] = 0;
     char simpleIsoCode[4];
     u_UCharsToChars(isoCode, simpleIsoCode, 4);
     initCurrency(simpleIsoCode);
@@ -66,13 +69,13 @@ CurrencyUnit::CurrencyUnit(StringPiece _isoCode, UErrorCode& ec) {
         ec = U_INVARIANT_CONVERSION_ERROR;
     } else {
         // Have to use isoCodeBuffer to ensure the string is NUL-terminated
-        uprv_strncpy(isoCodeBuffer, _isoCode.data(), 3);
+        for (int32_t i=0; i<3; i++) {
+            isoCodeBuffer[i] = uprv_toupper(_isoCode.data()[i]);
+        }
         isoCodeBuffer[3] = 0;
         isoCodeToUse = isoCodeBuffer;
     }
-    // TODO: Perform uppercasing here like in ICU4J Currency.getInstance()?
-    u_charsToUChars(isoCodeToUse, isoCode, 3);
-    isoCode[3] = 0;
+    u_charsToUChars(isoCodeToUse, isoCode, 4);
     initCurrency(isoCodeToUse);
 }
 
index d8b1ecd..15418bf 100644 (file)
@@ -167,6 +167,7 @@ DecimalFormatSymbols::operator=(const DecimalFormatSymbols& rhs)
         fIsCustomCurrencySymbol = rhs.fIsCustomCurrencySymbol; 
         fIsCustomIntlCurrencySymbol = rhs.fIsCustomIntlCurrencySymbol; 
         fCodePointZero = rhs.fCodePointZero;
+        currPattern = rhs.currPattern;
     }
     return *this;
 }
@@ -453,58 +454,16 @@ DecimalFormatSymbols::initialize(const Locale& loc, UErrorCode& status,
     }
     fCodePointZero = tempCodePointZero;
 
-    // Obtain currency data from the currency API.  This is strictly
-    // for backward compatibility; we don't use DecimalFormatSymbols
-    // for currency data anymore.
+    // Get the default currency from the currency API.
     UErrorCode internalStatus = U_ZERO_ERROR; // don't propagate failures out
     UChar curriso[4];
     UnicodeString tempStr;
     int32_t currisoLength = ucurr_forLocale(locStr, curriso, UPRV_LENGTHOF(curriso), &internalStatus);
     if (U_SUCCESS(internalStatus) && currisoLength == 3) {
-        uprv_getStaticCurrencyName(curriso, locStr, tempStr, internalStatus);
-        if (U_SUCCESS(internalStatus)) {
-            fSymbols[kIntlCurrencySymbol].setTo(curriso, currisoLength);
-            fSymbols[kCurrencySymbol] = tempStr;
-        }
-    }
-    /* else use the default values. */
-
-    //load the currency data
-    UChar ucc[4]={0}; //Currency Codes are always 3 chars long
-    int32_t uccLen = 4;
-    const char* locName = loc.getName();
-    UErrorCode localStatus = U_ZERO_ERROR;
-    uccLen = ucurr_forLocale(locName, ucc, uccLen, &localStatus);
-
-    // TODO: Currency pattern data loading is duplicated in number_formatimpl.cpp
-    if(U_SUCCESS(localStatus) && uccLen > 0) {
-        char cc[4]={0};
-        u_UCharsToChars(ucc, cc, uccLen);
-        /* An explicit currency was requested */
-        LocalUResourceBundlePointer currencyResource(ures_open(U_ICUDATA_CURR, locStr, &localStatus));
-        LocalUResourceBundlePointer currency(
-            ures_getByKeyWithFallback(currencyResource.getAlias(), "Currencies", NULL, &localStatus));
-        ures_getByKeyWithFallback(currency.getAlias(), cc, currency.getAlias(), &localStatus);
-        if(U_SUCCESS(localStatus) && ures_getSize(currency.getAlias())>2) { // the length is 3 if more data is present
-            ures_getByIndex(currency.getAlias(), 2, currency.getAlias(), &localStatus);
-            int32_t currPatternLen = 0;
-            currPattern =
-                ures_getStringByIndex(currency.getAlias(), (int32_t)0, &currPatternLen, &localStatus);
-            UnicodeString decimalSep =
-                ures_getUnicodeStringByIndex(currency.getAlias(), (int32_t)1, &localStatus);
-            UnicodeString groupingSep =
-                ures_getUnicodeStringByIndex(currency.getAlias(), (int32_t)2, &localStatus);
-            if(U_SUCCESS(localStatus)){
-                fSymbols[kMonetaryGroupingSeparatorSymbol] = groupingSep;
-                fSymbols[kMonetarySeparatorSymbol] = decimalSep;
-                //pattern.setTo(TRUE, currPattern, currPatternLen);
-                status = localStatus;
-            }
-        }
-        /* else An explicit currency was requested and is unknown or locale data is malformed. */
-        /* ucurr_* API will get the correct value later on. */
+        setCurrency(curriso, status);
+    } else {
+        setCurrency(nullptr, status);
     }
-        // else ignore the error if no currency
 
     // Currency Spacing.
     LocalUResourceBundlePointer currencyResource(ures_open(U_ICUDATA_CURR, locStr, &status));
@@ -553,9 +512,54 @@ DecimalFormatSymbols::initialize() {
     fIsCustomIntlCurrencySymbol = FALSE;
     fCodePointZero = 0x30;
     U_ASSERT(fCodePointZero == fSymbols[kZeroDigitSymbol].char32At(0));
+    currPattern = nullptr;
 
 }
 
+void DecimalFormatSymbols::setCurrency(const UChar* currency, UErrorCode& status) {
+    // TODO: If this method is made public:
+    // - Adopt ICU4J behavior of not allowing currency to be null.
+    // - Also verify that the length of currency is 3.
+    if (!currency) {
+        return;
+    }
+
+    UnicodeString tempStr;
+    uprv_getStaticCurrencyName(currency, locale.getName(), tempStr, status);
+    if (U_SUCCESS(status)) {
+        fSymbols[kIntlCurrencySymbol].setTo(currency, 3);
+        fSymbols[kCurrencySymbol] = tempStr;
+    }
+
+    char cc[4]={0};
+    u_UCharsToChars(currency, cc, 3);
+
+    /* An explicit currency was requested */
+    // TODO(ICU-13297): Move this data loading logic into a centralized place
+    UErrorCode localStatus = U_ZERO_ERROR;
+    LocalUResourceBundlePointer rbTop(ures_open(U_ICUDATA_CURR, locale.getName(), &localStatus));
+    LocalUResourceBundlePointer rb(
+        ures_getByKeyWithFallback(rbTop.getAlias(), "Currencies", NULL, &localStatus));
+    ures_getByKeyWithFallback(rb.getAlias(), cc, rb.getAlias(), &localStatus);
+    if(U_SUCCESS(localStatus) && ures_getSize(rb.getAlias())>2) { // the length is 3 if more data is present
+        ures_getByIndex(rb.getAlias(), 2, rb.getAlias(), &localStatus);
+        int32_t currPatternLen = 0;
+        currPattern =
+            ures_getStringByIndex(rb.getAlias(), (int32_t)0, &currPatternLen, &localStatus);
+        UnicodeString decimalSep =
+            ures_getUnicodeStringByIndex(rb.getAlias(), (int32_t)1, &localStatus);
+        UnicodeString groupingSep =
+            ures_getUnicodeStringByIndex(rb.getAlias(), (int32_t)2, &localStatus);
+        if(U_SUCCESS(localStatus)){
+            fSymbols[kMonetaryGroupingSeparatorSymbol] = groupingSep;
+            fSymbols[kMonetarySeparatorSymbol] = decimalSep;
+            //pattern.setTo(TRUE, currPattern, currPatternLen);
+        }
+    }
+    /* else An explicit currency was requested and is unknown or locale data is malformed. */
+    /* ucurr_* API will get the correct value later on. */
+}
+
 Locale
 DecimalFormatSymbols::getLocale(ULocDataLocaleType type, UErrorCode& status) const {
     U_LOCALE_BASED(locBased, *this);
index d19f651..daa1129 100644 (file)
@@ -519,7 +519,9 @@ UnicodeString& DecimalFormat::format(double number, UnicodeString& appendTo, Fie
         return appendTo;
     }
     UErrorCode localStatus = U_ZERO_ERROR;
-    FormattedNumber output = fields->formatter.formatDouble(number, localStatus);
+    UFormattedNumberData output;
+    output.quantity.setToDouble(number);
+    fields->formatter.formatImpl(&output, localStatus);
     fieldPositionHelper(output, pos, appendTo.length(), localStatus);
     auto appendable = UnicodeStringAppendable(appendTo);
     output.appendTo(appendable, localStatus);
@@ -540,7 +542,9 @@ UnicodeString& DecimalFormat::format(double number, UnicodeString& appendTo, Fie
     if (pos.getField() == FieldPosition::DONT_CARE && fastFormatDouble(number, appendTo)) {
         return appendTo;
     }
-    FormattedNumber output = fields->formatter.formatDouble(number, status);
+    UFormattedNumberData output;
+    output.quantity.setToDouble(number);
+    fields->formatter.formatImpl(&output, status);
     fieldPositionHelper(output, pos, appendTo.length(), status);
     auto appendable = UnicodeStringAppendable(appendTo);
     output.appendTo(appendable, status);
@@ -562,7 +566,9 @@ DecimalFormat::format(double number, UnicodeString& appendTo, FieldPositionItera
     if (posIter == nullptr && fastFormatDouble(number, appendTo)) {
         return appendTo;
     }
-    FormattedNumber output = fields->formatter.formatDouble(number, status);
+    UFormattedNumberData output;
+    output.quantity.setToDouble(number);
+    fields->formatter.formatImpl(&output, status);
     fieldPositionIteratorHelper(output, posIter, appendTo.length(), status);
     auto appendable = UnicodeStringAppendable(appendTo);
     output.appendTo(appendable, status);
@@ -593,7 +599,9 @@ UnicodeString& DecimalFormat::format(int64_t number, UnicodeString& appendTo, Fi
         return appendTo;
     }
     UErrorCode localStatus = U_ZERO_ERROR;
-    FormattedNumber output = fields->formatter.formatInt(number, localStatus);
+    UFormattedNumberData output;
+    output.quantity.setToLong(number);
+    fields->formatter.formatImpl(&output, localStatus);
     fieldPositionHelper(output, pos, appendTo.length(), localStatus);
     auto appendable = UnicodeStringAppendable(appendTo);
     output.appendTo(appendable, localStatus);
@@ -614,7 +622,9 @@ UnicodeString& DecimalFormat::format(int64_t number, UnicodeString& appendTo, Fi
     if (pos.getField() == FieldPosition::DONT_CARE && fastFormatInt64(number, appendTo)) {
         return appendTo;
     }
-    FormattedNumber output = fields->formatter.formatInt(number, status);
+    UFormattedNumberData output;
+    output.quantity.setToLong(number);
+    fields->formatter.formatImpl(&output, status);
     fieldPositionHelper(output, pos, appendTo.length(), status);
     auto appendable = UnicodeStringAppendable(appendTo);
     output.appendTo(appendable, status);
@@ -636,7 +646,9 @@ DecimalFormat::format(int64_t number, UnicodeString& appendTo, FieldPositionIter
     if (posIter == nullptr && fastFormatInt64(number, appendTo)) {
         return appendTo;
     }
-    FormattedNumber output = fields->formatter.formatInt(number, status);
+    UFormattedNumberData output;
+    output.quantity.setToLong(number);
+    fields->formatter.formatImpl(&output, status);
     fieldPositionIteratorHelper(output, posIter, appendTo.length(), status);
     auto appendable = UnicodeStringAppendable(appendTo);
     output.appendTo(appendable, status);
@@ -655,7 +667,9 @@ DecimalFormat::format(StringPiece number, UnicodeString& appendTo, FieldPosition
         appendTo.setToBogus();
         return appendTo;
     }
-    FormattedNumber output = fields->formatter.formatDecimal(number, status);
+    UFormattedNumberData output;
+    output.quantity.setToDecNumber(number, status);
+    fields->formatter.formatImpl(&output, status);
     fieldPositionIteratorHelper(output, posIter, appendTo.length(), status);
     auto appendable = UnicodeStringAppendable(appendTo);
     output.appendTo(appendable, status);
@@ -673,7 +687,9 @@ UnicodeString& DecimalFormat::format(const DecimalQuantity& number, UnicodeStrin
         appendTo.setToBogus();
         return appendTo;
     }
-    FormattedNumber output = fields->formatter.formatDecimalQuantity(number, status);
+    UFormattedNumberData output;
+    output.quantity = number;
+    fields->formatter.formatImpl(&output, status);
     fieldPositionIteratorHelper(output, posIter, appendTo.length(), status);
     auto appendable = UnicodeStringAppendable(appendTo);
     output.appendTo(appendable, status);
@@ -692,7 +708,9 @@ DecimalFormat::format(const DecimalQuantity& number, UnicodeString& appendTo, Fi
         appendTo.setToBogus();
         return appendTo;
     }
-    FormattedNumber output = fields->formatter.formatDecimalQuantity(number, status);
+    UFormattedNumberData output;
+    output.quantity = number;
+    fields->formatter.formatImpl(&output, status);
     fieldPositionHelper(output, pos, appendTo.length(), status);
     auto appendable = UnicodeStringAppendable(appendTo);
     output.appendTo(appendable, status);
@@ -1502,8 +1520,11 @@ void DecimalFormat::setCurrency(const char16_t* theCurrency, UErrorCode& ec) {
     }
     NumberFormat::setCurrency(theCurrency, ec); // to set field for compatibility
     fields->properties.currency = currencyUnit;
-    // TODO: Set values in fields->symbols, too?
-    touchNoError();
+    // In Java, the DecimalFormatSymbols is mutable. Why not in C++?
+    LocalPointer<DecimalFormatSymbols> newSymbols(new DecimalFormatSymbols(*fields->symbols), ec);
+    newSymbols->setCurrency(currencyUnit.getISOCurrency(), ec);
+    fields->symbols.adoptInsteadAndCheckErrorCode(newSymbols.orphan(), ec);
+    touch(ec);
 }
 
 void DecimalFormat::setCurrency(const char16_t* theCurrency) {
@@ -1700,8 +1721,11 @@ const numparse::impl::NumberParserImpl* DecimalFormat::getCurrencyParser(UErrorC
 }
 
 void
-DecimalFormat::fieldPositionHelper(const number::FormattedNumber& formatted, FieldPosition& fieldPosition,
-                                   int32_t offset, UErrorCode& status) {
+DecimalFormat::fieldPositionHelper(
+        const UFormattedNumberData& formatted,
+        FieldPosition& fieldPosition,
+        int32_t offset,
+        UErrorCode& status) {
     if (U_FAILURE(status)) { return; }
     // always return first occurrence:
     fieldPosition.setBeginIndex(0);
@@ -1714,12 +1738,15 @@ DecimalFormat::fieldPositionHelper(const number::FormattedNumber& formatted, Fie
 }
 
 void
-DecimalFormat::fieldPositionIteratorHelper(const number::FormattedNumber& formatted, FieldPositionIterator* fpi,
-                                           int32_t offset, UErrorCode& status) {
+DecimalFormat::fieldPositionIteratorHelper(
+        const UFormattedNumberData& formatted,
+        FieldPositionIterator* fpi,
+        int32_t offset,
+        UErrorCode& status) {
     if (U_SUCCESS(status) && (fpi != nullptr)) {
         FieldPositionIteratorHandler fpih(fpi, status);
         fpih.setShift(offset);
-        formatted.getAllFieldPositionsImpl(fpih, status);
+        formatted.getAllFieldPositions(fpih, status);
     }
 }
 
@@ -1801,7 +1828,7 @@ bool DecimalFormat::fastFormatDouble(double input, UnicodeString& output) const
         return false;
     }
     if (std::isnan(input)
-            || std::trunc(input) != input
+            || uprv_trunc(input) != input
             || input <= INT32_MIN
             || input > INT32_MAX) {
         return false;
@@ -1834,7 +1861,8 @@ void DecimalFormat::doFastFormatInt32(int32_t input, bool isNegative, UnicodeStr
     char16_t localBuffer[localCapacity];
     char16_t* ptr = localBuffer + localCapacity;
     int8_t group = 0;
-    for (int8_t i = 0; i < fields->fastData.maxInt && (input != 0 || i < fields->fastData.minInt); i++) {
+    int8_t minInt = (fields->fastData.minInt < 1)? 1: fields->fastData.minInt;
+    for (int8_t i = 0; i < fields->fastData.maxInt && (input != 0 || i < minInt); i++) {
         if (group++ == 3 && fields->fastData.cpGroupingSeparator != 0) {
             *(--ptr) = fields->fastData.cpGroupingSeparator;
             group = 1;
index f4c62a9..31c3586 100644 (file)
@@ -59,6 +59,7 @@ class Double {
   static const uint64_t kExponentMask = DOUBLE_CONVERSION_UINT64_2PART_C(0x7FF00000, 00000000);
   static const uint64_t kSignificandMask = DOUBLE_CONVERSION_UINT64_2PART_C(0x000FFFFF, FFFFFFFF);
   static const uint64_t kHiddenBit = DOUBLE_CONVERSION_UINT64_2PART_C(0x00100000, 00000000);
+  static const uint64_t kQuietNanBit = DOUBLE_CONVERSION_UINT64_2PART_C(0x00080000, 00000000);
   static const int kPhysicalSignificandSize = 52;  // Excludes the hidden bit.
   static const int kSignificandSize = 53;
   static const int kExponentBias = 0x3FF + kPhysicalSignificandSize;
@@ -162,6 +163,15 @@ class Double {
         ((d64 & kSignificandMask) != 0);
   }
 
+  bool IsQuietNan() const {
+    return IsNan() && ((AsUint64() & kQuietNanBit) != 0);
+  }
+
+  bool IsSignalingNan() const {
+    return IsNan() && ((AsUint64() & kQuietNanBit) == 0);
+  }
+
+
   bool IsInfinite() const {
     uint64_t d64 = AsUint64();
     return ((d64 & kExponentMask) == kExponentMask) &&
@@ -280,6 +290,7 @@ class Single {
   static const uint32_t kExponentMask = 0x7F800000;
   static const uint32_t kSignificandMask = 0x007FFFFF;
   static const uint32_t kHiddenBit = 0x00800000;
+  static const uint32_t kQuietNanBit = 0x00400000;
   static const int kPhysicalSignificandSize = 23;  // Excludes the hidden bit.
   static const int kSignificandSize = 24;
 
@@ -338,6 +349,15 @@ class Single {
         ((d32 & kSignificandMask) != 0);
   }
 
+  bool IsQuietNan() const {
+    return IsNan() && ((AsUint32() & kQuietNanBit) != 0);
+  }
+
+  bool IsSignalingNan() const {
+    return IsNan() && ((AsUint32() & kQuietNanBit) == 0);
+  }
+
+
   bool IsInfinite() const {
     uint32_t d32 = AsUint32();
     return ((d32 & kExponentMask) == kExponentMask) &&
index 946b2b2..548cad1 100644 (file)
@@ -462,11 +462,6 @@ double StringToDoubleConverter::StringToIeee(
     }
   }
 
-  // The longest form of simplified number is: "-<significant digits>.1eXXX\0".
-  const int kBufferSize = kMaxSignificantDigits + 10;
-  char buffer[kBufferSize];  // NOLINT: size is known at compile time.
-  int buffer_pos = 0;
-
   // Exponent will be adjusted if insignificant digits of the integer part
   // or insignificant leading zeros of the fractional part are dropped.
   int exponent = 0;
@@ -501,7 +496,6 @@ double StringToDoubleConverter::StringToIeee(
         return junk_string_value_;
       }
 
-      DOUBLE_CONVERSION_ASSERT(buffer_pos == 0);
       *processed_characters_count = static_cast<int>(current - input);
       return sign ? -Double::Infinity() : Double::Infinity();
     }
@@ -520,7 +514,6 @@ double StringToDoubleConverter::StringToIeee(
         return junk_string_value_;
       }
 
-      DOUBLE_CONVERSION_ASSERT(buffer_pos == 0);
       *processed_characters_count = static_cast<int>(current - input);
       return sign ? -Double::NaN() : Double::NaN();
     }
@@ -577,6 +570,12 @@ double StringToDoubleConverter::StringToIeee(
 
   bool octal = leading_zero && (flags_ & ALLOW_OCTALS) != 0;
 
+  // The longest form of simplified number is: "-<significant digits>.1eXXX\0".
+  const int kBufferSize = kMaxSignificantDigits + 10;
+  DOUBLE_CONVERSION_STACK_UNINITIALIZED char
+      buffer[kBufferSize];  // NOLINT: size is known at compile time.
+  int buffer_pos = 0;
+
   // Copy significant digits of the integer part (if any) to the buffer.
   while (*current >= '0' && *current <= '9') {
     if (significant_digits < kMaxSignificantDigits) {
index 9cf4854..ee63777 100644 (file)
@@ -49,10 +49,12 @@ U_NAMESPACE_BEGIN
 
 namespace double_conversion {
 
+#if defined(DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS)
 // 2^53 = 9007199254740992.
 // Any integer with at most 15 decimal digits will hence fit into a double
 // (which has a 53bit significand) without loss of precision.
 static const int kMaxExactDoubleIntegerDecimalDigits = 15;
+#endif // #if defined(DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS)
 // 2^64 = 18446744073709551616 > 10^19
 static const int kMaxUint64DecimalDigits = 19;
 
@@ -69,6 +71,7 @@ static const int kMinDecimalPower = -324;
 static const uint64_t kMaxUint64 = DOUBLE_CONVERSION_UINT64_2PART_C(0xFFFFFFFF, FFFFFFFF);
 
 
+#if defined(DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS)
 static const double exact_powers_of_ten[] = {
   1.0,  // 10^0
   10.0,
@@ -96,6 +99,7 @@ static const double exact_powers_of_ten[] = {
   10000000000000000000000.0
 };
 static const int kExactPowersOfTenSize = DOUBLE_CONVERSION_ARRAY_SIZE(exact_powers_of_ten);
+#endif // #if defined(DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS)
 
 // Maximum number of significant digits in the decimal representation.
 // In fact the value is 772 (see conversions.cc), but to give us some margin
index 0992984..8c6a0e1 100644 (file)
@@ -66,14 +66,28 @@ inline void abort_noreturn() { abort(); }
 #endif
 #endif
 
+// Not all compilers support __has_attribute and combining a check for both
+// ifdef and __has_attribute on the same preprocessor line isn't portable.
+#ifdef __has_attribute
+#   define DOUBLE_CONVERSION_HAS_ATTRIBUTE(x) __has_attribute(x)
+#else
+#   define DOUBLE_CONVERSION_HAS_ATTRIBUTE(x) 0
+#endif
+
 #ifndef DOUBLE_CONVERSION_UNUSED
-#ifdef __GNUC__
+#if DOUBLE_CONVERSION_HAS_ATTRIBUTE(unused)
 #define DOUBLE_CONVERSION_UNUSED __attribute__((unused))
 #else
 #define DOUBLE_CONVERSION_UNUSED
 #endif
 #endif
 
+#if DOUBLE_CONVERSION_HAS_ATTRIBUTE(uninitialized)
+#define DOUBLE_CONVERSION_STACK_UNINITIALIZED __attribute__((uninitialized))
+#else
+#define DOUBLE_CONVERSION_STACK_UNINITIALIZED
+#endif
+
 // Double operations detection based on target architecture.
 // Linux uses a 80bit wide floating point stack on x86. This induces double
 // rounding, which in turn leads to wrong results.
@@ -104,6 +118,7 @@ int main(int argc, char** argv) {
     defined(__ARMEL__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \
     defined(__hppa__) || defined(__ia64__) || \
     defined(__mips__) || \
+    defined(__nios2__) || \
     defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \
     defined(_POWER) || defined(_ARCH_PPC) || defined(_ARCH_PPC64) || \
     defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
@@ -112,7 +127,8 @@ int main(int argc, char** argv) {
     defined(__AARCH64EL__) || defined(__aarch64__) || defined(__AARCH64EB__) || \
     defined(__riscv) || defined(__e2k__) || \
     defined(__or1k__) || defined(__arc__) || \
-    defined(__EMSCRIPTEN__)
+    defined(__microblaze__) || defined(__XTENSA__) || \
+    defined(__EMSCRIPTEN__) || defined(__wasm32__)
 #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
 #elif defined(__mc68000__) || \
     defined(__pnacl__) || defined(__native_client__)
index f47e770..b71a571 100644 (file)
@@ -108,6 +108,10 @@ DateIntervalFormat::createInstance(const UnicodeString& skeleton,
 #endif
 
     DateIntervalInfo* dtitvinf = new DateIntervalInfo(locale, status);
+    if (dtitvinf == nullptr) {
+        status = U_MEMORY_ALLOCATION_ERROR;
+        return nullptr;
+    }
     return create(locale, dtitvinf, &skeleton, status);
 }
 
@@ -132,27 +136,27 @@ DateIntervalFormat::createInstance(const UnicodeString& skeleton,
 
 
 DateIntervalFormat::DateIntervalFormat()
-:   fInfo(NULL),
-    fDateFormat(NULL),
-    fFromCalendar(NULL),
-    fToCalendar(NULL),
+:   fInfo(nullptr),
+    fDateFormat(nullptr),
+    fFromCalendar(nullptr),
+    fToCalendar(nullptr),
     fLocale(Locale::getRoot()),
-    fDatePattern(NULL),
-    fTimePattern(NULL),
-    fDateTimeFormat(NULL)
+    fDatePattern(nullptr),
+    fTimePattern(nullptr),
+    fDateTimeFormat(nullptr)
 {}
 
 
 DateIntervalFormat::DateIntervalFormat(const DateIntervalFormat& itvfmt)
 :   Format(itvfmt),
-    fInfo(NULL),
-    fDateFormat(NULL),
-    fFromCalendar(NULL),
-    fToCalendar(NULL),
+    fInfo(nullptr),
+    fDateFormat(nullptr),
+    fFromCalendar(nullptr),
+    fToCalendar(nullptr),
     fLocale(itvfmt.fLocale),
-    fDatePattern(NULL),
-    fTimePattern(NULL),
-    fDateTimeFormat(NULL) {
+    fDatePattern(nullptr),
+    fTimePattern(nullptr),
+    fDateTimeFormat(nullptr) {
     *this = itvfmt;
 }
 
@@ -172,23 +176,23 @@ DateIntervalFormat::operator=(const DateIntervalFormat& itvfmt) {
             if ( itvfmt.fDateFormat ) {
                 fDateFormat = itvfmt.fDateFormat->clone();
             } else {
-                fDateFormat = NULL;
+                fDateFormat = nullptr;
             }
             if ( itvfmt.fFromCalendar ) {
                 fFromCalendar = itvfmt.fFromCalendar->clone();
             } else {
-                fFromCalendar = NULL;
+                fFromCalendar = nullptr;
             }
             if ( itvfmt.fToCalendar ) {
                 fToCalendar = itvfmt.fToCalendar->clone();
             } else {
-                fToCalendar = NULL;
+                fToCalendar = nullptr;
             }
         }
         if ( itvfmt.fInfo ) {
             fInfo = itvfmt.fInfo->clone();
         } else {
-            fInfo = NULL;
+            fInfo = nullptr;
         }
         fSkeleton = itvfmt.fSkeleton;
         int8_t i;
@@ -196,9 +200,9 @@ DateIntervalFormat::operator=(const DateIntervalFormat& itvfmt) {
             fIntervalPatterns[i] = itvfmt.fIntervalPatterns[i];
         }
         fLocale = itvfmt.fLocale;
-        fDatePattern    = (itvfmt.fDatePattern)?    itvfmt.fDatePattern->clone(): NULL;
-        fTimePattern    = (itvfmt.fTimePattern)?    itvfmt.fTimePattern->clone(): NULL;
-        fDateTimeFormat = (itvfmt.fDateTimeFormat)? itvfmt.fDateTimeFormat->clone(): NULL;
+        fDatePattern    = (itvfmt.fDatePattern)?    itvfmt.fDatePattern->clone(): nullptr;
+        fTimePattern    = (itvfmt.fTimePattern)?    itvfmt.fTimePattern->clone(): nullptr;
+        fDateTimeFormat = (itvfmt.fDateTimeFormat)? itvfmt.fDateTimeFormat->clone(): nullptr;
     }
     return *this;
 }
@@ -227,21 +231,21 @@ DateIntervalFormat::operator==(const Format& other) const {
     const DateIntervalFormat* fmt = (DateIntervalFormat*)&other;
     if (this == fmt) {return TRUE;}
     if (!Format::operator==(other)) {return FALSE;}
-    if ((fInfo != fmt->fInfo) && (fInfo == NULL || fmt->fInfo == NULL)) {return FALSE;}
+    if ((fInfo != fmt->fInfo) && (fInfo == nullptr || fmt->fInfo == nullptr)) {return FALSE;}
     if (fInfo && fmt->fInfo && (*fInfo != *fmt->fInfo )) {return FALSE;}
     {
         Mutex lock(&gFormatterMutex);
-        if (fDateFormat != fmt->fDateFormat && (fDateFormat == NULL || fmt->fDateFormat == NULL)) {return FALSE;}
+        if (fDateFormat != fmt->fDateFormat && (fDateFormat == nullptr || fmt->fDateFormat == nullptr)) {return FALSE;}
         if (fDateFormat && fmt->fDateFormat && (*fDateFormat != *fmt->fDateFormat)) {return FALSE;}
     }
     // note: fFromCalendar and fToCalendar hold no persistent state, and therefore do not participate in operator ==.
     //       fDateFormat has the master calendar for the DateIntervalFormat.
     if (fSkeleton != fmt->fSkeleton) {return FALSE;}
-    if (fDatePattern != fmt->fDatePattern && (fDatePattern == NULL || fmt->fDatePattern == NULL)) {return FALSE;}
+    if (fDatePattern != fmt->fDatePattern && (fDatePattern == nullptr || fmt->fDatePattern == nullptr)) {return FALSE;}
     if (fDatePattern && fmt->fDatePattern && (*fDatePattern != *fmt->fDatePattern)) {return FALSE;}
-    if (fTimePattern != fmt->fTimePattern && (fTimePattern == NULL || fmt->fTimePattern == NULL)) {return FALSE;}
+    if (fTimePattern != fmt->fTimePattern && (fTimePattern == nullptr || fmt->fTimePattern == nullptr)) {return FALSE;}
     if (fTimePattern && fmt->fTimePattern && (*fTimePattern != *fmt->fTimePattern)) {return FALSE;}
-    if (fDateTimeFormat != fmt->fDateTimeFormat && (fDateTimeFormat == NULL || fmt->fDateTimeFormat == NULL)) {return FALSE;}
+    if (fDateTimeFormat != fmt->fDateTimeFormat && (fDateTimeFormat == nullptr || fmt->fDateTimeFormat == nullptr)) {return FALSE;}
     if (fDateTimeFormat && fmt->fDateTimeFormat && (*fDateTimeFormat != *fmt->fDateTimeFormat)) {return FALSE;}
     if (fLocale != fmt->fLocale) {return FALSE;}
 
@@ -266,7 +270,7 @@ DateIntervalFormat::format(const Formattable& obj,
     if ( obj.getType() == Formattable::kObject ) {
         const UObject* formatObj = obj.getObject();
         const DateInterval* interval = dynamic_cast<const DateInterval*>(formatObj);
-        if (interval != NULL) {
+        if (interval != nullptr) {
             return format(interval, appendTo, fieldPosition, status);
         }
     }
@@ -283,7 +287,7 @@ DateIntervalFormat::format(const DateInterval* dtInterval,
     if ( U_FAILURE(status) ) {
         return appendTo;
     }
-    if (fDateFormat == NULL || fInfo == NULL) {
+    if (fDateFormat == nullptr || fInfo == nullptr) {
         status = U_INVALID_STATE_ERROR;
         return appendTo;
     }
@@ -300,6 +304,10 @@ DateIntervalFormat::format(const DateInterval* dtInterval,
 FormattedDateInterval DateIntervalFormat::formatToValue(
         const DateInterval& dtInterval,
         UErrorCode& status) const {
+    if (U_FAILURE(status)) {
+        return FormattedDateInterval(status);
+    }
+    // LocalPointer only sets OOM status if U_SUCCESS is true.
     LocalPointer<FormattedDateIntervalData> result(new FormattedDateIntervalData(status), status);
     if (U_FAILURE(status)) {
         return FormattedDateInterval(status);
@@ -350,6 +358,10 @@ FormattedDateInterval DateIntervalFormat::formatToValue(
         Calendar& fromCalendar,
         Calendar& toCalendar,
         UErrorCode& status) const {
+    if (U_FAILURE(status)) {
+        return FormattedDateInterval(status);
+    }
+    // LocalPointer only sets OOM status if U_SUCCESS is true.
     LocalPointer<FormattedDateIntervalData> result(new FormattedDateIntervalData(status), status);
     if (U_FAILURE(status)) {
         return FormattedDateInterval(status);
@@ -444,6 +456,9 @@ DateIntervalFormat::formatImpl(Calendar& fromCalendar,
     } else if ( fromCalendar.get(UCAL_SECOND, status) !=
                 toCalendar.get(UCAL_SECOND, status) ) {
         field = UCAL_SECOND;
+    } else if ( fromCalendar.get(UCAL_MILLISECOND, status) !=
+                toCalendar.get(UCAL_MILLISECOND, status) ) {
+        field = UCAL_MILLISECOND;
     }
 
     if ( U_FAILURE(status) ) {
@@ -455,7 +470,7 @@ DateIntervalFormat::formatImpl(Calendar& fromCalendar,
          */
         return fDateFormat->_format(fromCalendar, appendTo, fphandler, status);
     }
-    UBool fromToOnSameDay = (field==UCAL_AM_PM || field==UCAL_HOUR || field==UCAL_MINUTE || field==UCAL_SECOND);
+    UBool fromToOnSameDay = (field==UCAL_AM_PM || field==UCAL_HOUR || field==UCAL_MINUTE || field==UCAL_SECOND || field==UCAL_MILLISECOND);
 
     // following call should not set wrong status,
     // all the pass-in fields are valid till here
@@ -537,14 +552,17 @@ DateIntervalFormat::setDateIntervalInfo(const DateIntervalInfo& newItvPattern,
                                         UErrorCode& status) {
     delete fInfo;
     fInfo = new DateIntervalInfo(newItvPattern);
+    if (fInfo == nullptr) {
+        status = U_MEMORY_ALLOCATION_ERROR;
+    }
 
     // Delete patterns that get reset by initializePattern
     delete fDatePattern;
-    fDatePattern = NULL;
+    fDatePattern = nullptr;
     delete fTimePattern;
-    fTimePattern = NULL;
+    fTimePattern = nullptr;
     delete fDateTimeFormat;
-    fDateTimeFormat = NULL;
+    fDateTimeFormat = nullptr;
 
     if (fDateFormat) {
         initializePattern(status);
@@ -562,7 +580,7 @@ DateIntervalFormat::getDateFormat() const {
 void
 DateIntervalFormat::adoptTimeZone(TimeZone* zone)
 {
-    if (fDateFormat != NULL) {
+    if (fDateFormat != nullptr) {
         fDateFormat->adoptTimeZone(zone);
     }
     // The fDateFormat has the master calendar for the DateIntervalFormat and has
@@ -580,7 +598,7 @@ DateIntervalFormat::adoptTimeZone(TimeZone* zone)
 void
 DateIntervalFormat::setTimeZone(const TimeZone& zone)
 {
-    if (fDateFormat != NULL) {
+    if (fDateFormat != nullptr) {
         fDateFormat->setTimeZone(zone);
     }
     // The fDateFormat has the master calendar for the DateIntervalFormat;
@@ -596,11 +614,11 @@ DateIntervalFormat::setTimeZone(const TimeZone& zone)
 const TimeZone&
 DateIntervalFormat::getTimeZone() const
 {
-    if (fDateFormat != NULL) {
+    if (fDateFormat != nullptr) {
         Mutex lock(&gFormatterMutex);
         return fDateFormat->getTimeZone();
     }
-    // If fDateFormat is NULL (unexpected), create default timezone.
+    // If fDateFormat is nullptr (unexpected), create default timezone.
     return *(TimeZone::createDefault());
 }
 
@@ -608,14 +626,14 @@ DateIntervalFormat::DateIntervalFormat(const Locale& locale,
                                        DateIntervalInfo* dtItvInfo,
                                        const UnicodeString* skeleton,
                                        UErrorCode& status)
-:   fInfo(NULL),
-    fDateFormat(NULL),
-    fFromCalendar(NULL),
-    fToCalendar(NULL),
+:   fInfo(nullptr),
+    fDateFormat(nullptr),
+    fFromCalendar(nullptr),
+    fToCalendar(nullptr),
     fLocale(locale),
-    fDatePattern(NULL),
-    fTimePattern(NULL),
-    fDateTimeFormat(NULL)
+    fDatePattern(nullptr),
+    fTimePattern(nullptr),
+    fDateTimeFormat(nullptr)
 {
     LocalPointer<DateIntervalInfo> info(dtItvInfo, status);
     LocalPointer<SimpleDateFormat> dtfmt(static_cast<SimpleDateFormat *>(
@@ -643,7 +661,7 @@ DateIntervalFormat::create(const Locale& locale,
                            UErrorCode& status) {
     DateIntervalFormat* f = new DateIntervalFormat(locale, dtitvinf,
                                                    skeleton, status);
-    if ( f == NULL ) {
+    if ( f == nullptr ) {
         status = U_MEMORY_ALLOCATION_ERROR;
         delete dtitvinf;
     } else if ( U_FAILURE(status) ) {
@@ -760,7 +778,7 @@ DateIntervalFormat::initializePattern(UErrorCode& status) {
         // with the time interval.
         // The date/time pattern ( such as {0} {1} ) is saved in
         // calendar, that is why need to get the CalendarData here.
-        LocalUResourceBundlePointer dateTimePatternsRes(ures_open(NULL, locale.getBaseName(), &status));
+        LocalUResourceBundlePointer dateTimePatternsRes(ures_open(nullptr, locale.getBaseName(), &status));
         ures_getByKey(dateTimePatternsRes.getAlias(), gCalendarTag,
                       dateTimePatternsRes.getAlias(), &status);
         ures_getByKeyWithFallback(dateTimePatternsRes.getAlias(), gGregorianTag,
@@ -775,6 +793,10 @@ DateIntervalFormat::initializePattern(UErrorCode& status) {
                                             &dateTimeFormatLength, &status);
         if ( U_SUCCESS(status) && dateTimeFormatLength >= 3 ) {
             fDateTimeFormat = new UnicodeString(dateTimeFormat, dateTimeFormatLength);
+            if (fDateTimeFormat == nullptr) {
+                status = U_MEMORY_ALLOCATION_ERROR;
+                return;
+            }
         }
     }
 
@@ -798,9 +820,9 @@ DateIntervalFormat::initializePattern(UErrorCode& status) {
                 // the first part of the pattern is empty,
                 // the second part of the pattern is the full-pattern
                 // should be used in fall-back.
-                setPatternInfo(UCAL_DATE, NULL, &pattern, fInfo->getDefaultOrder());
-                setPatternInfo(UCAL_MONTH, NULL, &pattern, fInfo->getDefaultOrder());
-                setPatternInfo(UCAL_YEAR, NULL, &pattern, fInfo->getDefaultOrder());
+                setPatternInfo(UCAL_DATE, nullptr, &pattern, fInfo->getDefaultOrder());
+                setPatternInfo(UCAL_MONTH, nullptr, &pattern, fInfo->getDefaultOrder());
+                setPatternInfo(UCAL_YEAR, nullptr, &pattern, fInfo->getDefaultOrder());
             } else {
                 // TODO: fall back
             }
@@ -824,9 +846,9 @@ DateIntervalFormat::initializePattern(UErrorCode& status) {
         // the first part of the pattern is empty,
         // the second part of the pattern is the full-pattern
         // should be used in fall-back.
-        setPatternInfo(UCAL_DATE, NULL, &pattern, fInfo->getDefaultOrder());
-        setPatternInfo(UCAL_MONTH, NULL, &pattern, fInfo->getDefaultOrder());
-        setPatternInfo(UCAL_YEAR, NULL, &pattern, fInfo->getDefaultOrder());
+        setPatternInfo(UCAL_DATE, nullptr, &pattern, fInfo->getDefaultOrder());
+        setPatternInfo(UCAL_MONTH, nullptr, &pattern, fInfo->getDefaultOrder());
+        setPatternInfo(UCAL_YEAR, nullptr, &pattern, fInfo->getDefaultOrder());
     } else {
         /* if both present,
          * 1) when the year, month, or day differs,
@@ -861,7 +883,7 @@ DateIntervalFormat::initializePattern(UErrorCode& status) {
          * range expression for the time.
          */
 
-        if ( fDateTimeFormat == NULL ) {
+        if ( fDateTimeFormat == nullptr ) {
             // earlier failure getting dateTimeFormat
             return;
         }
@@ -1071,16 +1093,16 @@ DateIntervalFormat::setSeparateDateTimePtn(
     int8_t differenceInfo = 0;
     const UnicodeString* bestSkeleton = fInfo->getBestSkeleton(*skeleton,
                                                                differenceInfo);
-    /* best skeleton could be NULL.
+    /* best skeleton could be nullptr.
        For example: in "ca" resource file,
        interval format is defined as following
            intervalFormats{
                 fallback{"{0} - {1}"}
             }
        there is no skeletons/interval patterns defined,
-       and the best skeleton match could be NULL
+       and the best skeleton match could be nullptr
      */
-    if ( bestSkeleton == NULL ) {
+    if ( bestSkeleton == nullptr ) {
         return false;
     }
 
@@ -1091,11 +1113,13 @@ DateIntervalFormat::setSeparateDateTimePtn(
         status = U_ZERO_ERROR;
         fDatePattern = new UnicodeString(DateFormat::getBestPattern(
                 fLocale, dateSkeleton, status));
+        // no way to report OOM. :(
     }
     if ( timeSkeleton.length() != 0) {
         status = U_ZERO_ERROR;
         fTimePattern = new UnicodeString(DateFormat::getBestPattern(
                 fLocale, timeSkeleton, status));
+        // no way to report OOM. :(
     }
 
     // difference:
@@ -1151,7 +1175,7 @@ DateIntervalFormat::setFallbackPattern(UCalendarDateFields field,
     if ( U_FAILURE(status) ) {
         return;
     }
-    setPatternInfo(field, NULL, &pattern, fInfo->getDefaultOrder());
+    setPatternInfo(field, nullptr, &pattern, fInfo->getDefaultOrder());
 }
 
 
index 0ee17e8..2553634 100644 (file)
@@ -66,7 +66,7 @@ static const UChar gDefaultFallbackPattern[] = {LEFT_CURLY_BRACKET, DIGIT_ZERO,
 DateIntervalInfo::DateIntervalInfo(UErrorCode& status)
 :   fFallbackIntervalPattern(gDefaultFallbackPattern),
     fFirstDateInPtnIsLaterDate(false),
-    fIntervalPatterns(NULL)
+    fIntervalPatterns(nullptr)
 {
     fIntervalPatterns = initHash(status);
 }
@@ -76,7 +76,7 @@ DateIntervalInfo::DateIntervalInfo(UErrorCode& status)
 DateIntervalInfo::DateIntervalInfo(const Locale& locale, UErrorCode& status)
 :   fFallbackIntervalPattern(gDefaultFallbackPattern),
     fFirstDateInPtnIsLaterDate(false),
-    fIntervalPatterns(NULL)
+    fIntervalPatterns(nullptr)
 {
     initializeData(locale, status);
 }
@@ -126,7 +126,7 @@ DateIntervalInfo::setFallbackIntervalPattern(
 
 DateIntervalInfo::DateIntervalInfo(const DateIntervalInfo& dtitvinf)
 :   UObject(dtitvinf),
-    fIntervalPatterns(NULL)
+    fIntervalPatterns(nullptr)
 {
     *this = dtitvinf;
 }
@@ -161,7 +161,7 @@ DateIntervalInfo::clone() const {
 
 DateIntervalInfo::~DateIntervalInfo() {
     deleteHash(fIntervalPatterns);
-    fIntervalPatterns = NULL;
+    fIntervalPatterns = nullptr;
 }
 
 
@@ -189,7 +189,7 @@ DateIntervalInfo::getIntervalPattern(const UnicodeString& skeleton,
     }
 
     const UnicodeString* patternsOfOneSkeleton = (UnicodeString*) fIntervalPatterns->get(skeleton);
-    if ( patternsOfOneSkeleton != NULL ) {
+    if ( patternsOfOneSkeleton != nullptr ) {
         IntervalPatternIndex index = calendarFieldToIntervalIndex(field, status);
         if ( U_FAILURE(status) ) {
             return result;
@@ -363,7 +363,7 @@ struct DateIntervalInfo::DateIntervalSink : public ResourceSink {
         UnicodeString* patternsOfOneSkeleton =
             (UnicodeString*)(dateIntervalInfo.fIntervalPatterns->get(skeleton));
 
-        if (patternsOfOneSkeleton == NULL || patternsOfOneSkeleton[index].isEmpty()) {
+        if (patternsOfOneSkeleton == nullptr || patternsOfOneSkeleton[index].isEmpty()) {
             UnicodeString pattern = value.getUnicodeString(errorCode);
             dateIntervalInfo.setIntervalPatternInternally(skeleton, lrgDiffCalUnit,
                                                           pattern, errorCode);
@@ -398,8 +398,8 @@ DateIntervalInfo::initializeData(const Locale& locale, UErrorCode& status)
     char         calendarType[ULOC_KEYWORDS_CAPACITY]; // to be filled in with the type to use, if all goes well
     char         localeWithCalendarKey[ULOC_LOCALE_IDENTIFIER_CAPACITY];
     // obtain a locale that always has the calendar key value that should be used
-    (void)ures_getFunctionalEquivalent(localeWithCalendarKey, ULOC_LOCALE_IDENTIFIER_CAPACITY, NULL,
-                                     "calendar", "calendar", locName, NULL, FALSE, &status);
+    (void)ures_getFunctionalEquivalent(localeWithCalendarKey, ULOC_LOCALE_IDENTIFIER_CAPACITY, nullptr,
+                                     "calendar", "calendar", locName, nullptr, FALSE, &status);
     localeWithCalendarKey[ULOC_LOCALE_IDENTIFIER_CAPACITY-1] = 0; // ensure null termination
     // now get the calendar key value from that locale
     int32_t calendarTypeLen = uloc_getKeywordValue(localeWithCalendarKey, "calendar", calendarType,
@@ -411,11 +411,11 @@ DateIntervalInfo::initializeData(const Locale& locale, UErrorCode& status)
 
     // Instantiate the resource bundles
     UResourceBundle *rb, *calBundle;
-    rb = ures_open(NULL, locName, &status);
+    rb = ures_open(nullptr, locName, &status);
     if (U_FAILURE(status)) {
         return;
     }
-    calBundle = ures_getByKeyWithFallback(rb, gCalendarTag, NULL, &status);
+    calBundle = ures_getByKeyWithFallback(rb, gCalendarTag, nullptr, &status);
 
 
     if (U_SUCCESS(status)) {
@@ -424,9 +424,9 @@ DateIntervalInfo::initializeData(const Locale& locale, UErrorCode& status)
         // Get the fallback pattern
         const UChar* resStr = nullptr;
         int32_t resStrLen = 0;
-        calTypeBundle = ures_getByKeyWithFallback(calBundle, calendarTypeToUse, NULL, &status);
+        calTypeBundle = ures_getByKeyWithFallback(calBundle, calendarTypeToUse, nullptr, &status);
         itvDtPtnResource = ures_getByKeyWithFallback(calTypeBundle,
-                                                     gIntervalDateTimePatternTag, NULL, &status);
+                                                     gIntervalDateTimePatternTag, nullptr, &status);
         // TODO(ICU-20400): After the fixing, we should find the "fallback" from
         // the rb directly by the path "calendar/${calendar}/intervalFormats/fallback".
         if ( U_SUCCESS(status) ) {
@@ -437,10 +437,10 @@ DateIntervalInfo::initializeData(const Locale& locale, UErrorCode& status)
                 // ures_getByKeyWithFallback
                 UErrorCode localStatus = U_ZERO_ERROR;
                 UResourceBundle *genericCalBundle =
-                    ures_getByKeyWithFallback(calBundle, gGenericTag, NULL, &localStatus);
+                    ures_getByKeyWithFallback(calBundle, gGenericTag, nullptr, &localStatus);
                 UResourceBundle *genericItvDtPtnResource =
                     ures_getByKeyWithFallback(
-                        genericCalBundle, gIntervalDateTimePatternTag, NULL, &localStatus);
+                        genericCalBundle, gIntervalDateTimePatternTag, nullptr, &localStatus);
                 resStr = ures_getStringByKeyWithFallback(
                     genericItvDtPtnResource, gFallbackPatternTag, &resStrLen, &localStatus);
                 ures_close(genericItvDtPtnResource);
@@ -509,8 +509,12 @@ DateIntervalInfo::setIntervalPatternInternally(const UnicodeString& skeleton,
     }
     UnicodeString* patternsOfOneSkeleton = (UnicodeString*)(fIntervalPatterns->get(skeleton));
     UBool emptyHash = false;
-    if ( patternsOfOneSkeleton == NULL ) {
+    if ( patternsOfOneSkeleton == nullptr ) {
         patternsOfOneSkeleton = new UnicodeString[kIPI_MAX_INDEX];
+        if (patternsOfOneSkeleton == nullptr) {
+            status = U_MEMORY_ALLOCATION_ERROR;
+            return;
+        }
         emptyHash = true;
     }
 
@@ -608,7 +612,7 @@ DateIntervalInfo::getBestSkeleton(const UnicodeString& skeleton,
 
     parseSkeleton(*inputSkeleton, inputSkeletonFieldWidth);
     int32_t bestDistance = MAX_POSITIVE_INT;
-    const UnicodeString* bestSkeleton = NULL;
+    const UnicodeString* bestSkeleton = nullptr;
 
     // 0 means exact the same skeletons;
     // 1 means having the same field, but with different length,
@@ -618,8 +622,8 @@ DateIntervalInfo::getBestSkeleton(const UnicodeString& skeleton,
     int8_t fieldLength = UPRV_LENGTHOF(skeletonFieldWidth);
 
     int32_t pos = UHASH_FIRST;
-    const UHashElement* elem = NULL;
-    while ( (elem = fIntervalPatterns->nextElement(pos)) != NULL ) {
+    const UHashElement* elem = nullptr;
+    while ( (elem = fIntervalPatterns->nextElement(pos)) != nullptr ) {
         const UHashTok keyTok = elem->key;
         UnicodeString* newSkeleton = (UnicodeString*)keyTok.pointer;
 #ifdef DTITVINF_DEBUG
@@ -711,6 +715,9 @@ DateIntervalInfo::calendarFieldToIntervalIndex(UCalendarDateFields field,
       case UCAL_SECOND:
         index = kIPI_SECOND;
         break;
+      case UCAL_MILLISECOND:
+        index = kIPI_MILLISECOND;
+        break;
       default:
         status = U_ILLEGAL_ARGUMENT_ERROR;
     }
@@ -722,12 +729,12 @@ DateIntervalInfo::calendarFieldToIntervalIndex(UCalendarDateFields field,
 void
 DateIntervalInfo::deleteHash(Hashtable* hTable)
 {
-    if ( hTable == NULL ) {
+    if ( hTable == nullptr ) {
         return;
     }
     int32_t pos = UHASH_FIRST;
-    const UHashElement* element = NULL;
-    while ( (element = hTable->nextElement(pos)) != NULL ) {
+    const UHashElement* element = nullptr;
+    while ( (element = hTable->nextElement(pos)) != nullptr ) {
         const UHashTok valueTok = element->value;
         const UnicodeString* value = (UnicodeString*)valueTok.pointer;
         delete[] value;
@@ -765,16 +772,16 @@ U_CDECL_END
 Hashtable*
 DateIntervalInfo::initHash(UErrorCode& status) {
     if ( U_FAILURE(status) ) {
-        return NULL;
+        return nullptr;
     }
     Hashtable* hTable;
-    if ( (hTable = new Hashtable(FALSE, status)) == NULL ) {
+    if ( (hTable = new Hashtable(FALSE, status)) == nullptr ) {
         status = U_MEMORY_ALLOCATION_ERROR;
-        return NULL;
+        return nullptr;
     }
     if ( U_FAILURE(status) ) {
         delete hTable;
-        return NULL;
+        return nullptr;
     }
     hTable->setValueComparator(dtitvinfHashTableValueComparator);
     return hTable;
@@ -789,14 +796,18 @@ DateIntervalInfo::copyHash(const Hashtable* source,
         return;
     }
     int32_t pos = UHASH_FIRST;
-    const UHashElement* element = NULL;
+    const UHashElement* element = nullptr;
     if ( source ) {
-        while ( (element = source->nextElement(pos)) != NULL ) {
+        while ( (element = source->nextElement(pos)) != nullptr ) {
             const UHashTok keyTok = element->key;
             const UnicodeString* key = (UnicodeString*)keyTok.pointer;
             const UHashTok valueTok = element->value;
             const UnicodeString* value = (UnicodeString*)valueTok.pointer;
             UnicodeString* copy = new UnicodeString[kIPI_MAX_INDEX];
+            if (copy == nullptr) {
+                status = U_MEMORY_ALLOCATION_ERROR;
+                return;
+            }
             int8_t i;
             for ( i = 0; i < kIPI_MAX_INDEX; ++i ) {
                 copy[i] = value[i];
index c5f8618..02be4f0 100644 (file)
@@ -324,6 +324,7 @@ DateTimePatternGenerator::createEmptyInstance(UErrorCode& status) {
 DateTimePatternGenerator::DateTimePatternGenerator(UErrorCode &status) :
     skipMatcher(nullptr),
     fAvailableFormatKeyHash(nullptr),
+    fDefaultHourFormatChar(0),
     internalErrorCode(U_ZERO_ERROR)
 {
     fp = new FormatParser();
@@ -338,6 +339,7 @@ DateTimePatternGenerator::DateTimePatternGenerator(UErrorCode &status) :
 DateTimePatternGenerator::DateTimePatternGenerator(const Locale& locale, UErrorCode &status) :
     skipMatcher(nullptr),
     fAvailableFormatKeyHash(nullptr),
+    fDefaultHourFormatChar(0),
     internalErrorCode(U_ZERO_ERROR)
 {
     fp = new FormatParser();
@@ -356,6 +358,7 @@ DateTimePatternGenerator::DateTimePatternGenerator(const DateTimePatternGenerato
     UObject(),
     skipMatcher(nullptr),
     fAvailableFormatKeyHash(nullptr),
+    fDefaultHourFormatChar(0),
     internalErrorCode(U_ZERO_ERROR)
 {
     fp = new FormatParser();
@@ -654,6 +657,23 @@ void DateTimePatternGenerator::getAllowedHourFormats(const Locale &locale, UErro
 
     int32_t* allowedFormats = getAllowedHourFormatsLangCountry(language, country, status);
 
+    // We need to check if there is an hour cycle on locale
+    char buffer[8];
+    int32_t count = locale.getKeywordValue("hours", buffer, sizeof(buffer), status);
+
+    fDefaultHourFormatChar = 0;
+    if (U_SUCCESS(status) && count > 0) {
+        if(uprv_strcmp(buffer, "h24") == 0) {
+            fDefaultHourFormatChar = LOW_K;
+        } else if(uprv_strcmp(buffer, "h23") == 0) {
+            fDefaultHourFormatChar = CAP_H;
+        } else if(uprv_strcmp(buffer, "h12") == 0) {
+            fDefaultHourFormatChar = LOW_H;
+        } else if(uprv_strcmp(buffer, "h11") == 0) {
+            fDefaultHourFormatChar = CAP_K;
+        }
+    }
+
     // Check if the region has an alias
     if (allowedFormats == nullptr) {
         UErrorCode localStatus = U_ZERO_ERROR;
@@ -667,13 +687,16 @@ void DateTimePatternGenerator::getAllowedHourFormats(const Locale &locale, UErro
     if (allowedFormats != nullptr) {  // Lookup is successful
         // Here allowedFormats points to a list consisting of key for preferredFormat,
         // followed by one or more keys for allowedFormats, then followed by ALLOWED_HOUR_FORMAT_UNKNOWN.
-        switch (allowedFormats[0]) {
-            case ALLOWED_HOUR_FORMAT_h: fDefaultHourFormatChar = LOW_H; break;
-            case ALLOWED_HOUR_FORMAT_H: fDefaultHourFormatChar = CAP_H; break;
-            case ALLOWED_HOUR_FORMAT_K: fDefaultHourFormatChar = CAP_K; break;
-            case ALLOWED_HOUR_FORMAT_k: fDefaultHourFormatChar = LOW_K; break;
-            default: fDefaultHourFormatChar = CAP_H; break;
+        if (!fDefaultHourFormatChar) {
+            switch (allowedFormats[0]) {
+                case ALLOWED_HOUR_FORMAT_h: fDefaultHourFormatChar = LOW_H; break;
+                case ALLOWED_HOUR_FORMAT_H: fDefaultHourFormatChar = CAP_H; break;
+                case ALLOWED_HOUR_FORMAT_K: fDefaultHourFormatChar = CAP_K; break;
+                case ALLOWED_HOUR_FORMAT_k: fDefaultHourFormatChar = LOW_K; break;
+                default: fDefaultHourFormatChar = CAP_H; break;
+            }
         }
+
         for (int32_t i = 0; i < UPRV_LENGTHOF(fAllowedHourFormats); ++i) {
             fAllowedHourFormats[i] = allowedFormats[i + 1];
             if (fAllowedHourFormats[i] == ALLOWED_HOUR_FORMAT_UNKNOWN) {
@@ -681,12 +704,39 @@ void DateTimePatternGenerator::getAllowedHourFormats(const Locale &locale, UErro
             }
         }
     } else {  // Lookup failed, twice
-        fDefaultHourFormatChar = CAP_H;
+        if (!fDefaultHourFormatChar) {
+            fDefaultHourFormatChar = CAP_H;
+        }
         fAllowedHourFormats[0] = ALLOWED_HOUR_FORMAT_H;
         fAllowedHourFormats[1] = ALLOWED_HOUR_FORMAT_UNKNOWN;
     }
 }
 
+UDateFormatHourCycle
+DateTimePatternGenerator::getDefaultHourCycle(UErrorCode& status) const {
+    if (U_FAILURE(status)) {
+        return UDAT_HOUR_CYCLE_23;
+    }
+    if (fDefaultHourFormatChar == 0) {
+        // We need to return something, but the caller should ignore it
+        // anyways since the returned status is a failure.
+        status = U_UNSUPPORTED_ERROR;
+        return UDAT_HOUR_CYCLE_23;
+    }
+    switch (fDefaultHourFormatChar) {
+        case CAP_K:
+            return UDAT_HOUR_CYCLE_11;
+        case LOW_H:
+            return UDAT_HOUR_CYCLE_12;
+        case CAP_H:
+            return UDAT_HOUR_CYCLE_23;
+        case LOW_K:
+            return UDAT_HOUR_CYCLE_24;
+        default:
+            UPRV_UNREACHABLE;
+    }
+}
+
 UnicodeString
 DateTimePatternGenerator::getSkeleton(const UnicodeString& pattern, UErrorCode&
 /*status*/) {
@@ -1479,6 +1529,7 @@ DateTimePatternGenerator::getBestRaw(DateTimeMatcher& source,
                                      UErrorCode &status,
                                      const PtnSkeleton** specifiedSkeletonPtr) {
     int32_t bestDistance = 0x7fffffff;
+    int32_t bestMissingFieldMask = -1;
     DistanceInfo tempInfo;
     const UnicodeString *bestPattern=nullptr;
     const PtnSkeleton* specifiedSkeleton=nullptr;
@@ -1492,8 +1543,15 @@ DateTimePatternGenerator::getBestRaw(DateTimeMatcher& source,
             continue;
         }
         int32_t distance=source.getDistance(trial, includeMask, tempInfo);
-        if (distance<bestDistance) {
+        // Because we iterate over a map the order is undefined. Can change between implementations,
+        // versions, and will very likely be different between Java and C/C++.
+        // So if we have patterns with the same distance we also look at the missingFieldMask,
+        // and we favour the smallest one. Because the field is a bitmask this technically means we
+        // favour differences in the "least significant fields". For example we prefer the one with differences
+        // in seconds field vs one with difference in the hours field.
+        if (distance<bestDistance || (distance==bestDistance && bestMissingFieldMask<tempInfo.missingFieldMask)) {
             bestDistance=distance;
+            bestMissingFieldMask=tempInfo.missingFieldMask;
             bestPattern=patternMap->getPatternFromSkeleton(*trial.getSkeletonPtr(), &specifiedSkeleton);
             missingFields->setTo(tempInfo);
             if (distance==0) {
@@ -1546,14 +1604,16 @@ DateTimePatternGenerator::adjustFieldTypes(const UnicodeString& pattern,
                 dtMatcher->skeleton.original.appendFieldTo(UDATPG_FRACTIONAL_SECOND_FIELD, field);
             } else if (dtMatcher->skeleton.type[typeValue]!=0) {
                     // Here:
-                    // - "reqField" is the field from the originally requested skeleton, with length
-                    // "reqFieldLen".
+                    // - "reqField" is the field from the originally requested skeleton after replacement
+                    // of metacharacters 'j', 'C' and 'J', with length "reqFieldLen".
                     // - "field" is the field from the found pattern.
                     //
                     // The adjusted field should consist of characters from the originally requested
-                    // skeleton, except in the case of UDATPG_HOUR_FIELD or UDATPG_MONTH_FIELD or
+                    // skeleton, except in the case of UDATPG_MONTH_FIELD or
                     // UDATPG_WEEKDAY_FIELD or UDATPG_YEAR_FIELD, in which case it should consist
-                    // of characters from the  found pattern.
+                    // of characters from the found pattern. In some cases of UDATPG_HOUR_FIELD,
+                    // there is adjustment following the "defaultHourFormatChar". There is explanation
+                    // how it is done below.
                     //
                     // The length of the adjusted field (adjFieldLen) should match that in the originally
                     // requested skeleton, except that in the following cases the length of the adjusted field
@@ -1591,9 +1651,28 @@ DateTimePatternGenerator::adjustFieldTypes(const UnicodeString& pattern,
                             && (typeValue!= UDATPG_YEAR_FIELD || reqFieldChar==CAP_Y))
                             ? reqFieldChar
                             : field.charAt(0);
-                    if (typeValue == UDATPG_HOUR_FIELD && (flags & kDTPGSkeletonUsesCapJ) != 0) {
-                        c = fDefaultHourFormatChar;
+                    if (typeValue == UDATPG_HOUR_FIELD && fDefaultHourFormatChar != 0) {
+                        // The adjustment here is required to match spec (https://www.unicode.org/reports/tr35/tr35-dates.html#dfst-hour).
+                        // It is necessary to match the hour-cycle preferred by the Locale.
+                        // Given that, we need to do the following adjustments:
+                        // 1. When hour-cycle is h11 it should replace 'h' by 'K'.
+                        // 2. When hour-cycle is h23 it should replace 'H' by 'k'.
+                        // 3. When hour-cycle is h24 it should replace 'k' by 'H'.
+                        // 4. When hour-cycle is h12 it should replace 'K' by 'h'.
+
+                        if ((flags & kDTPGSkeletonUsesCapJ) != 0 || reqFieldChar == fDefaultHourFormatChar) {
+                            c = fDefaultHourFormatChar;
+                        } else if (reqFieldChar == LOW_H && fDefaultHourFormatChar == CAP_K) {
+                            c = CAP_K;
+                        } else if (reqFieldChar == CAP_H && fDefaultHourFormatChar == LOW_K) {
+                            c = LOW_K;
+                        } else if (reqFieldChar == LOW_K && fDefaultHourFormatChar == CAP_H) {
+                            c = CAP_H;
+                        } else if (reqFieldChar == CAP_K && fDefaultHourFormatChar == LOW_H) {
+                            c = LOW_H;
+                        }
                     }
+
                     field.remove();
                     for (int32_t j=adjFieldLen; j>0; --j) {
                         field += c;
@@ -2118,6 +2197,11 @@ DateTimeMatcher::DateTimeMatcher(const DateTimeMatcher& other) {
     copyFrom(other.skeleton);
 }
 
+DateTimeMatcher& DateTimeMatcher::operator=(const DateTimeMatcher& other) {
+    copyFrom(other.skeleton);
+    return *this;
+}
+
 
 void
 DateTimeMatcher::set(const UnicodeString& pattern, FormatParser* fp) {
@@ -2162,6 +2246,33 @@ DateTimeMatcher::set(const UnicodeString& pattern, FormatParser* fp, PtnSkeleton
         }
         skeletonResult.type[field] = subField;
     }
+
+    // #20739, we have a skeleton with minutes and milliseconds, but no seconds
+    //
+    // Theoretically we would need to check and fix all fields with "gaps":
+    // for example year-day (no month), month-hour (no day), and so on, All the possible field combinations.
+    // Plus some smartness: year + hour => should we add month, or add day-of-year?
+    // What about month + day-of-week, or month + am/pm indicator.
+    // I think beyond a certain point we should not try to fix bad developer input and try guessing what they mean.
+    // Garbage in, garbage out.
+    if (!skeletonResult.original.isFieldEmpty(UDATPG_MINUTE_FIELD)
+        && !skeletonResult.original.isFieldEmpty(UDATPG_FRACTIONAL_SECOND_FIELD)
+        && skeletonResult.original.isFieldEmpty(UDATPG_SECOND_FIELD)) {
+        // Force the use of seconds
+        for (i = 0; dtTypes[i].patternChar != 0; i++) {
+            if (dtTypes[i].field == UDATPG_SECOND_FIELD) {
+                // first entry for UDATPG_SECOND_FIELD
+                skeletonResult.original.populate(UDATPG_SECOND_FIELD, dtTypes[i].patternChar, dtTypes[i].minLen);
+                skeletonResult.baseOriginal.populate(UDATPG_SECOND_FIELD, dtTypes[i].patternChar, dtTypes[i].minLen);
+                // We add value.length, same as above, when type is first initialized.
+                // The value we want to "fake" here is "s", and 1 means "s".length()
+                int16_t subField = dtTypes[i].type;
+                skeletonResult.type[UDATPG_SECOND_FIELD] = (subField > 0) ? subField + 1 : subField;
+                break;
+            }
+        }
+    }
+
     // #13183, handle special behavior for day period characters (a, b, B)
     if (!skeletonResult.original.isFieldEmpty(UDATPG_HOUR_FIELD)) {
         if (skeletonResult.original.getFieldChar(UDATPG_HOUR_FIELD)==LOW_H || skeletonResult.original.getFieldChar(UDATPG_HOUR_FIELD)==CAP_K) {
index 95219f0..ade9f57 100644 (file)
@@ -238,6 +238,7 @@ public:
     int32_t getDistance(const DateTimeMatcher& other, int32_t includeMask, DistanceInfo& distanceInfo) const;
     DateTimeMatcher();
     DateTimeMatcher(const DateTimeMatcher& other);
+    DateTimeMatcher& operator=(const DateTimeMatcher& other);
     virtual ~DateTimeMatcher();
     int32_t getFieldMask() const;
 };
index 3024bff..5aabc31 100644 (file)
@@ -8,6 +8,7 @@
 #include "formatted_string_builder.h"
 #include "unicode/ustring.h"
 #include "unicode/utf16.h"
+#include "unicode/unum.h" // for UNumberFormatFields literals
 
 namespace {
 
@@ -246,7 +247,7 @@ void FormattedStringBuilder::writeTerminator(UErrorCode& status) {
         return;
     }
     getCharPtr()[position] = 0;
-    getFieldPtr()[position] = UNUM_FIELD_COUNT;
+    getFieldPtr()[position] = kUndefinedField;
     fLength--;
 }
 
@@ -360,11 +361,11 @@ UnicodeString FormattedStringBuilder::toDebugString() const {
     sb.append(toUnicodeString());
     sb.append(u"] [", -1);
     for (int i = 0; i < fLength; i++) {
-        if (fieldAt(i) == UNUM_FIELD_COUNT) {
+        if (fieldAt(i) == kUndefinedField) {
             sb.append(u'n');
-        } else {
+        } else if (fieldAt(i).getCategory() == UFIELD_CATEGORY_NUMBER) {
             char16_t c;
-            switch (fieldAt(i)) {
+            switch (fieldAt(i).getField()) {
                 case UNUM_SIGN_FIELD:
                     c = u'-';
                     break;
@@ -399,10 +400,12 @@ UnicodeString FormattedStringBuilder::toDebugString() const {
                     c = u'$';
                     break;
                 default:
-                    c = u'?';
+                    c = u'0' + fieldAt(i).getField();
                     break;
             }
             sb.append(c);
+        } else {
+            sb.append(u'0' + fieldAt(i).getCategory());
         }
     }
     sb.append(u"]>", -1);
index 2949ae7..4567dc1 100644 (file)
@@ -9,7 +9,8 @@
 
 
 #include <cstdint>
-#include "unicode/unum.h" // for UNUM_FIELD_COUNT
+#include <type_traits>
+
 #include "cstring.h"
 #include "uassert.h"
 #include "fphdlimp.h"
@@ -55,7 +56,20 @@ class U_I18N_API FormattedStringBuilder : public UMemory {
     // Field category 0 implies the number category so that the number field
     // literals can be directly passed as a Field type.
     // See the helper functions in "StringBuilderFieldUtils" below.
-    typedef uint8_t Field;
+    // Exported as U_I18N_API so it can be used by other exports on Windows.
+    struct U_I18N_API Field {
+        uint8_t bits;
+
+        Field() = default;
+        constexpr Field(uint8_t category, uint8_t field);
+
+        inline UFieldCategory getCategory() const;
+        inline int32_t getField() const;
+        inline bool isNumeric() const;
+        inline bool isUndefined() const;
+        inline bool operator==(const Field& other) const;
+        inline bool operator!=(const Field& other) const;
+    };
 
     FormattedStringBuilder &operator=(const FormattedStringBuilder &other);
 
@@ -204,46 +218,50 @@ class U_I18N_API FormattedStringBuilder : public UMemory {
     friend class FormattedValueStringBuilderImpl;
 };
 
+static_assert(
+    std::is_pod<FormattedStringBuilder::Field>::value,
+    "Field should be a POD type for efficient initialization");
+
+constexpr FormattedStringBuilder::Field::Field(uint8_t category, uint8_t field)
+    : bits((
+        U_ASSERT(category <= 0xf),
+        U_ASSERT(field <= 0xf),
+        static_cast<uint8_t>((category << 4) | field)
+    )) {}
+
 /**
- * Helper functions for dealing with the Field typedef, which stores fields
- * in a compressed format.
+ * Internal constant for the undefined field for use in FormattedStringBuilder.
  */
-class StringBuilderFieldUtils {
-public:
-    struct CategoryFieldPair {
-        int32_t category;
-        int32_t field;
-    };
+constexpr FormattedStringBuilder::Field kUndefinedField = {UFIELD_CATEGORY_UNDEFINED, 0};
 
-    /** Compile-time function to construct a Field from a category and a field */
-    template <int32_t category, int32_t field>
-    static constexpr FormattedStringBuilder::Field compress() {
-        static_assert(category != 0, "cannot use Undefined category in FieldUtils");
-        static_assert(category <= 0xf, "only 4 bits for category");
-        static_assert(field <= 0xf, "only 4 bits for field");
-        return static_cast<int8_t>((category << 4) | field);
-    }
+/**
+ * Internal field to signal "numeric" when fields are not supported in NumberFormat.
+ */
+constexpr FormattedStringBuilder::Field kGeneralNumericField = {UFIELD_CATEGORY_UNDEFINED, 1};
 
-    /** Runtime inline function to unpack the category and field from the Field */
-    static inline CategoryFieldPair expand(FormattedStringBuilder::Field field) {
-        if (field == UNUM_FIELD_COUNT) {
-            return {UFIELD_CATEGORY_UNDEFINED, 0};
-        }
-        CategoryFieldPair ret = {
-            (field >> 4),
-            (field & 0xf)
-        };
-        if (ret.category == 0) {
-            ret.category = UFIELD_CATEGORY_NUMBER;
-        }
-        return ret;
-    }
+inline UFieldCategory FormattedStringBuilder::Field::getCategory() const {
+    return static_cast<UFieldCategory>(bits >> 4);
+}
 
-    static inline bool isNumericField(FormattedStringBuilder::Field field) {
-        int8_t category = field >> 4;
-        return category == 0 || category == UFIELD_CATEGORY_NUMBER;
-    }
-};
+inline int32_t FormattedStringBuilder::Field::getField() const {
+    return bits & 0xf;
+}
+
+inline bool FormattedStringBuilder::Field::isNumeric() const {
+    return getCategory() == UFIELD_CATEGORY_NUMBER || *this == kGeneralNumericField;
+}
+
+inline bool FormattedStringBuilder::Field::isUndefined() const {
+    return getCategory() == UFIELD_CATEGORY_UNDEFINED;
+}
+
+inline bool FormattedStringBuilder::Field::operator==(const Field& other) const {
+    return bits == other.bits;
+}
+
+inline bool FormattedStringBuilder::Field::operator!=(const Field& other) const {
+    return bits != other.bits;
+}
 
 U_NAMESPACE_END
 
index 9aab36a..7bee374 100644 (file)
@@ -153,7 +153,6 @@ private:
 
     bool nextPositionImpl(ConstrainedFieldPosition& cfpos, FormattedStringBuilder::Field numericField, UErrorCode& status) const;
     static bool isIntOrGroup(FormattedStringBuilder::Field field);
-    static bool isNumericField(FormattedStringBuilder::Field field);
     int32_t trimBack(int32_t limit) const;
     int32_t trimFront(int32_t start) const;
 };
index ca28f22..dfe3af6 100644 (file)
@@ -63,7 +63,7 @@ UBool FormattedValueStringBuilderImpl::nextFieldPosition(FieldPosition& fp, UErr
     ConstrainedFieldPosition cfpos;
     cfpos.constrainField(UFIELD_CATEGORY_NUMBER, rawField);
     cfpos.setState(UFIELD_CATEGORY_NUMBER, rawField, fp.getBeginIndex(), fp.getEndIndex());
-    if (nextPositionImpl(cfpos, 0, status)) {
+    if (nextPositionImpl(cfpos, kUndefinedField, status)) {
         fp.setBeginIndex(cfpos.getStart());
         fp.setEndIndex(cfpos.getLimit());
         return TRUE;
@@ -74,7 +74,7 @@ UBool FormattedValueStringBuilderImpl::nextFieldPosition(FieldPosition& fp, UErr
         bool inside = false;
         int32_t i = fString.fZero;
         for (; i < fString.fZero + fString.fLength; i++) {
-            if (isIntOrGroup(fString.getFieldPtr()[i]) || fString.getFieldPtr()[i] == UNUM_DECIMAL_SEPARATOR_FIELD) {
+            if (isIntOrGroup(fString.getFieldPtr()[i]) || fString.getFieldPtr()[i] == Field(UFIELD_CATEGORY_NUMBER, UNUM_DECIMAL_SEPARATOR_FIELD)) {
                 inside = true;
             } else if (inside) {
                 break;
@@ -90,42 +90,40 @@ UBool FormattedValueStringBuilderImpl::nextFieldPosition(FieldPosition& fp, UErr
 void FormattedValueStringBuilderImpl::getAllFieldPositions(FieldPositionIteratorHandler& fpih,
                                                UErrorCode& status) const {
     ConstrainedFieldPosition cfpos;
-    while (nextPositionImpl(cfpos, 0, status)) {
+    while (nextPositionImpl(cfpos, kUndefinedField, status)) {
         fpih.addAttribute(cfpos.getField(), cfpos.getStart(), cfpos.getLimit());
     }
 }
 
 // Signal the end of the string using a field that doesn't exist and that is
-// different from UNUM_FIELD_COUNT, which is used for "null number field".
-static constexpr Field kEndField = 0xff;
+// different from kUndefinedField, which is used for "null field".
+static constexpr Field kEndField = Field(0xf, 0xf);
 
 bool FormattedValueStringBuilderImpl::nextPositionImpl(ConstrainedFieldPosition& cfpos, Field numericField, UErrorCode& /*status*/) const {
-    auto numericCAF = StringBuilderFieldUtils::expand(numericField);
     int32_t fieldStart = -1;
-    Field currField = UNUM_FIELD_COUNT;
+    Field currField = kUndefinedField;
     for (int32_t i = fString.fZero + cfpos.getLimit(); i <= fString.fZero + fString.fLength; i++) {
         Field _field = (i < fString.fZero + fString.fLength) ? fString.getFieldPtr()[i] : kEndField;
         // Case 1: currently scanning a field.
-        if (currField != UNUM_FIELD_COUNT) {
+        if (currField != kUndefinedField) {
             if (currField != _field) {
                 int32_t end = i - fString.fZero;
                 // Grouping separators can be whitespace; don't throw them out!
-                if (currField != UNUM_GROUPING_SEPARATOR_FIELD) {
+                if (currField != Field(UFIELD_CATEGORY_NUMBER, UNUM_GROUPING_SEPARATOR_FIELD)) {
                     end = trimBack(i - fString.fZero);
                 }
                 if (end <= fieldStart) {
                     // Entire field position is ignorable; skip.
                     fieldStart = -1;
-                    currField = UNUM_FIELD_COUNT;
+                    currField = kUndefinedField;
                     i--;  // look at this index again
                     continue;
                 }
                 int32_t start = fieldStart;
-                if (currField != UNUM_GROUPING_SEPARATOR_FIELD) {
+                if (currField != Field(UFIELD_CATEGORY_NUMBER, UNUM_GROUPING_SEPARATOR_FIELD)) {
                     start = trimFront(start);
                 }
-                auto caf = StringBuilderFieldUtils::expand(currField);
-                cfpos.setState(caf.category, caf.field, start, end);
+                cfpos.setState(currField.getCategory(), currField.getField(), start, end);
                 return true;
             }
             continue;
@@ -147,51 +145,46 @@ bool FormattedValueStringBuilderImpl::nextPositionImpl(ConstrainedFieldPosition&
             return true;
         }
         // Special case: coalesce NUMERIC if we are pointing at the end of the NUMERIC.
-        if (numericField != 0
-                && cfpos.matchesField(numericCAF.category, numericCAF.field)
+        if (numericField != kUndefinedField
+                && cfpos.matchesField(numericField.getCategory(), numericField.getField())
                 && i > fString.fZero
                 // don't return the same field twice in a row:
                 && (i - fString.fZero > cfpos.getLimit()
-                    || cfpos.getCategory() != numericCAF.category
-                    || cfpos.getField() != numericCAF.field)
-                && isNumericField(fString.getFieldPtr()[i - 1])
-                && !isNumericField(_field)) {
+                    || cfpos.getCategory() != numericField.getCategory()
+                    || cfpos.getField() != numericField.getField())
+                && fString.getFieldPtr()[i - 1].isNumeric()
+                && !_field.isNumeric()) {
             int j = i - 1;
-            for (; j >= fString.fZero && isNumericField(fString.getFieldPtr()[j]); j--) {}
+            for (; j >= fString.fZero && fString.getFieldPtr()[j].isNumeric(); j--) {}
             cfpos.setState(
-                numericCAF.category,
-                numericCAF.field,
+                numericField.getCategory(),
+                numericField.getField(),
                 j - fString.fZero + 1,
                 i - fString.fZero);
             return true;
         }
         // Special case: skip over INTEGER; will be coalesced later.
-        if (_field == UNUM_INTEGER_FIELD) {
-            _field = UNUM_FIELD_COUNT;
+        if (_field == Field(UFIELD_CATEGORY_NUMBER, UNUM_INTEGER_FIELD)) {
+            _field = kUndefinedField;
         }
         // Case 2: no field starting at this position.
-        if (_field == UNUM_FIELD_COUNT || _field == kEndField) {
+        if (_field.isUndefined() || _field == kEndField) {
             continue;
         }
         // Case 3: check for field starting at this position
-        auto caf = StringBuilderFieldUtils::expand(_field);
-        if (cfpos.matchesField(caf.category, caf.field)) {
+        if (cfpos.matchesField(_field.getCategory(), _field.getField())) {
             fieldStart = i - fString.fZero;
             currField = _field;
         }
     }
 
-    U_ASSERT(currField == UNUM_FIELD_COUNT);
+    U_ASSERT(currField == kUndefinedField);
     return false;
 }
 
 bool FormattedValueStringBuilderImpl::isIntOrGroup(Field field) {
-    return field == UNUM_INTEGER_FIELD
-        || field == UNUM_GROUPING_SEPARATOR_FIELD;
-}
-
-bool FormattedValueStringBuilderImpl::isNumericField(Field field) {
-    return StringBuilderFieldUtils::isNumericField(field);
+    return field == Field(UFIELD_CATEGORY_NUMBER, UNUM_INTEGER_FIELD)
+        || field == Field(UFIELD_CATEGORY_NUMBER, UNUM_GROUPING_SEPARATOR_FIELD);
 }
 
 int32_t FormattedValueStringBuilderImpl::trimBack(int32_t limit) const {
index 0093783..b9fa9b2 100644 (file)
@@ -62,8 +62,9 @@ class FieldPositionOnlyHandler : public FieldPositionHandler {
 
 
 // utility subclass FieldPositionIteratorHandler
+// exported as U_I18N_API for tests
 
-class FieldPositionIteratorHandler : public FieldPositionHandler {
+class U_I18N_API FieldPositionIteratorHandler : public FieldPositionHandler {
   FieldPositionIterator* iter; // can be NULL
   UVector32* vec;
   UErrorCode status;
index 32ddbf9..dc5def6 100644 (file)
@@ -160,7 +160,7 @@ const GenderInfo* GenderInfo::loadInstance(const Locale& locale, UErrorCode& sta
   if (s == NULL) {
     return &gObjs[NEUTRAL];
   }
-  char type_str[256];
+  char type_str[256] = "";
   u_UCharsToChars(s, type_str, resLen + 1);
   if (uprv_strcmp(type_str, gNeutralStr) == 0) {
     return &gObjs[NEUTRAL];
index 5c6760d..e009e21 100644 (file)
@@ -76,7 +76,7 @@
     </ClCompile>
     <Link>
       <AdditionalDependencies>icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>..\..\$(IcuBinOutputDir)\icuin66d.dll</OutputFile>
+      <OutputFile>..\..\$(IcuBinOutputDir)\icuin67d.dll</OutputFile>
       <ProgramDatabaseFile>.\..\..\$(IcuLibOutputDir)\icuind.pdb</ProgramDatabaseFile>
       <ImportLibrary>..\..\$(IcuLibOutputDir)\icuind.lib</ImportLibrary>
     </Link>
@@ -89,7 +89,7 @@
     </ClCompile>
     <Link>
       <AdditionalDependencies>icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>..\..\$(IcuBinOutputDir)\icuin66.dll</OutputFile>
+      <OutputFile>..\..\$(IcuBinOutputDir)\icuin67.dll</OutputFile>
       <ProgramDatabaseFile>.\..\..\$(IcuLibOutputDir)\icuin.pdb</ProgramDatabaseFile>
       <ImportLibrary>..\..\$(IcuLibOutputDir)\icuin.lib</ImportLibrary>
     </Link>
     <ClCompile Include="ulistformatter.cpp" />
     <ClCompile Include="measfmt.cpp" />
     <ClCompile Include="measunit.cpp" />
+    <ClCompile Include="measunit_extra.cpp" />
     <ClCompile Include="measure.cpp" />
     <ClCompile Include="msgfmt.cpp" />
     <ClCompile Include="nfrs.cpp" />
     <ClInclude Include="indiancal.h" />
     <ClInclude Include="islamcal.h" />
     <ClInclude Include="japancal.h" />
+    <ClInclude Include="measunit_impl.h" />
     <ClInclude Include="msgfmt_impl.h" />
     <ClInclude Include="nfrlist.h" />
     <ClInclude Include="nfrs.h" />
index a1813fc..50a06ee 100644 (file)
     <ClCompile Include="measunit.cpp">
       <Filter>formatting</Filter>
     </ClCompile>
+    <ClCompile Include="measunit_extra.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
     <ClCompile Include="measure.cpp">
       <Filter>formatting</Filter>
     </ClCompile>
     <ClInclude Include="japancal.h">
       <Filter>formatting</Filter>
     </ClInclude>
+    <ClInclude Include="measunit_impl.h">
+      <Filter>formatting</Filter>
+    </ClInclude>
     <ClInclude Include="msgfmt_impl.h">
       <Filter>formatting</Filter>
     </ClInclude>
index 989cef8..b4fd245 100644 (file)
       <ProgramDataBaseFileName>.\x86\ReleaseUWP/</ProgramDataBaseFileName>
     </ClCompile>
     <Link>
-      <OutputFile>..\..\bin32uwp\icuin66.dll</OutputFile>
+      <OutputFile>..\..\bin32uwp\icuin67.dll</OutputFile>
       <ProgramDatabaseFile>.\..\..\lib32uwp\icuin.pdb</ProgramDatabaseFile>
       <ImportLibrary>..\..\lib32uwp\icuin.lib</ImportLibrary>
       <AdditionalDependencies>..\..\lib32uwp\icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <ProgramDataBaseFileName>.\x86\DebugUWP/</ProgramDataBaseFileName>
     </ClCompile>
     <Link>
-      <OutputFile>..\..\bin32uwp\icuin66d.dll</OutputFile>
+      <OutputFile>..\..\bin32uwp\icuin67d.dll</OutputFile>
       <ProgramDatabaseFile>.\..\..\lib32uwp\icuind.pdb</ProgramDatabaseFile>
       <ImportLibrary>..\..\lib32uwp\icuind.lib</ImportLibrary>
       <AdditionalDependencies>..\..\lib32uwp\icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <ProgramDataBaseFileName>.\x64\ReleaseUWP/</ProgramDataBaseFileName>
     </ClCompile>
     <Link>
-      <OutputFile>..\..\bin64uwp\icuin66.dll</OutputFile>
+      <OutputFile>..\..\bin64uwp\icuin67.dll</OutputFile>
       <ProgramDatabaseFile>.\..\..\lib64uwp\icuin.pdb</ProgramDatabaseFile>
       <ImportLibrary>..\..\lib64uwp\icuin.lib</ImportLibrary>
       <AdditionalDependencies>..\..\lib64uwp\icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <ProgramDataBaseFileName>.\x64\DebugUWP/</ProgramDataBaseFileName>
     </ClCompile>
     <Link>
-      <OutputFile>..\..\bin64uwp\icuin66d.dll</OutputFile>
+      <OutputFile>..\..\bin64uwp\icuin67d.dll</OutputFile>
       <ProgramDatabaseFile>.\..\..\lib64uwp\icuind.pdb</ProgramDatabaseFile>
       <ImportLibrary>..\..\lib64uwp\icuind.lib</ImportLibrary>
       <AdditionalDependencies>..\..\lib64uwp\icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <ProgramDataBaseFileName>.\ARM\ReleaseUWP/</ProgramDataBaseFileName>
     </ClCompile>
     <Link>
-      <OutputFile>..\..\binARMuwp\icuin66.dll</OutputFile>
+      <OutputFile>..\..\binARMuwp\icuin67.dll</OutputFile>
       <ProgramDatabaseFile>.\..\..\libARMuwp\icuin.pdb</ProgramDatabaseFile>
       <ImportLibrary>..\..\libARMuwp\icuin.lib</ImportLibrary>
       <AdditionalDependencies>..\..\libARMuwp\icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <ProgramDataBaseFileName>.\ARM\DebugUWP/</ProgramDataBaseFileName>
     </ClCompile>
     <Link>
-      <OutputFile>..\..\binARMuwp\icuin66d.dll</OutputFile>
+      <OutputFile>..\..\binARMuwp\icuin67d.dll</OutputFile>
       <ProgramDatabaseFile>.\..\..\libARMuwp\icuind.pdb</ProgramDatabaseFile>
       <ImportLibrary>..\..\libARMuwp\icuind.lib</ImportLibrary>
       <AdditionalDependencies>..\..\libARMuwp\icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <ProgramDataBaseFileName>.\ARM64\ReleaseUWP/</ProgramDataBaseFileName>
     </ClCompile>
     <Link>
-      <OutputFile>..\..\binARM64uwp\icuin66.dll</OutputFile>
+      <OutputFile>..\..\binARM64uwp\icuin67.dll</OutputFile>
       <ProgramDatabaseFile>.\..\..\libARM64uwp\icuin.pdb</ProgramDatabaseFile>
       <ImportLibrary>..\..\libARM64uwp\icuin.lib</ImportLibrary>
       <AdditionalDependencies>..\..\libARM64uwp\icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <ProgramDataBaseFileName>.\ARM64\DebugUWP/</ProgramDataBaseFileName>
     </ClCompile>
     <Link>
-      <OutputFile>..\..\binARM64uwp\icuin66d.dll</OutputFile>
+      <OutputFile>..\..\binARM64uwp\icuin67d.dll</OutputFile>
       <ProgramDatabaseFile>.\..\..\libARM64uwp\icuind.pdb</ProgramDatabaseFile>
       <ImportLibrary>..\..\libARM64uwp\icuind.lib</ImportLibrary>
       <AdditionalDependencies>..\..\libARM64uwp\icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
     <ClCompile Include="ulistformatter.cpp" />
     <ClCompile Include="measfmt.cpp" />
     <ClCompile Include="measunit.cpp" />
+    <ClCompile Include="measunit_extra.cpp" />
     <ClCompile Include="measure.cpp" />
     <ClCompile Include="msgfmt.cpp" />
     <ClCompile Include="nfrs.cpp" />
     <ClInclude Include="indiancal.h" />
     <ClInclude Include="islamcal.h" />
     <ClInclude Include="japancal.h" />
+    <ClInclude Include="measunit_impl.h" />
     <ClInclude Include="msgfmt_impl.h" />
     <ClInclude Include="nfrlist.h" />
     <ClInclude Include="nfrs.h" />
index 2ee5e12..da99c92 100644 (file)
@@ -21,6 +21,7 @@
 #include "unicode/listformatter.h"
 #include "unicode/simpleformatter.h"
 #include "unicode/ulistformatter.h"
+#include "unicode/uscript.h"
 #include "fphdlimp.h"
 #include "mutex.h"
 #include "hash.h"
 
 U_NAMESPACE_BEGIN
 
-struct ListFormatInternal : public UMemory {
+namespace {
+
+class PatternHandler : public UObject {
+public:
+    PatternHandler(const UnicodeString& two, const UnicodeString& end, UErrorCode& errorCode) :
+        twoPattern(two, 2, 2, errorCode),
+        endPattern(end, 2, 2, errorCode) {  }
+
+    PatternHandler(const SimpleFormatter& two, const SimpleFormatter& end) :
+        twoPattern(two),
+        endPattern(end) { }
+
+    virtual ~PatternHandler();
+
+    virtual PatternHandler* clone() const { return new PatternHandler(twoPattern, endPattern); }
+
+    virtual const SimpleFormatter& getTwoPattern(const UnicodeString&) const {
+        return twoPattern;
+    }
+
+    virtual const SimpleFormatter& getEndPattern(const UnicodeString&) const {
+        return endPattern;
+    }
+
+protected:
     SimpleFormatter twoPattern;
+    SimpleFormatter endPattern;
+};
+
+PatternHandler::~PatternHandler() {
+}
+
+class ContextualHandler : public PatternHandler {
+public:
+    ContextualHandler(bool (*testFunc)(const UnicodeString& text),
+                      const UnicodeString& thenTwo,
+                      const UnicodeString& elseTwo,
+                      const UnicodeString& thenEnd,
+                      const UnicodeString& elseEnd,
+                      UErrorCode& errorCode) :
+        PatternHandler(elseTwo, elseEnd, errorCode),
+        test(testFunc),
+        thenTwoPattern(thenTwo, 2, 2, errorCode),
+        thenEndPattern(thenEnd, 2, 2, errorCode) {  }
+
+    ContextualHandler(bool (*testFunc)(const UnicodeString& text),
+                      const SimpleFormatter& thenTwo, SimpleFormatter elseTwo,
+                      const SimpleFormatter& thenEnd, SimpleFormatter elseEnd) :
+      PatternHandler(elseTwo, elseEnd),
+      test(testFunc),
+      thenTwoPattern(thenTwo),
+      thenEndPattern(thenEnd) { }
+
+    ~ContextualHandler() override;
+
+    PatternHandler* clone() const override {
+        return new ContextualHandler(
+            test, thenTwoPattern, twoPattern, thenEndPattern, endPattern);
+    }
+
+    const SimpleFormatter& getTwoPattern(
+        const UnicodeString& text) const override {
+        return (test)(text) ? thenTwoPattern : twoPattern;
+    }
+
+    const SimpleFormatter& getEndPattern(
+        const UnicodeString& text) const override {
+        return (test)(text) ? thenEndPattern : endPattern;
+    }
+
+private:
+    bool (*test)(const UnicodeString&);
+    SimpleFormatter thenTwoPattern;
+    SimpleFormatter thenEndPattern;
+};
+
+ContextualHandler::~ContextualHandler() {
+}
+
+static const char16_t *spanishY = u"{0} y {1}";
+static const char16_t *spanishE = u"{0} e {1}";
+static const char16_t *spanishO = u"{0} o {1}";
+static const char16_t *spanishU = u"{0} u {1}";
+static const char16_t *hebrewVav = u"{0} \u05D5{1}";
+static const char16_t *hebrewVavDash = u"{0} \u05D5-{1}";
+
+// Condiction to change to e.
+// Starts with "hi" or "i" but not with "hie" nor "hia"
+static bool shouldChangeToE(const UnicodeString& text) {
+    int32_t len = text.length();
+    if (len == 0) { return false; }
+    // Case insensitive match hi but not hie nor hia.
+    if ((text[0] == u'h' || text[0] == u'H') &&
+            ((len > 1) && (text[1] == u'i' || text[1] == u'I')) &&
+            ((len == 2) || !(text[2] == u'a' || text[2] == u'A' || text[2] == u'e' || text[2] == u'E'))) {
+        return true;
+    }
+    // Case insensitive for "start with i"
+    if (text[0] == u'i' || text[0] == u'I') { return true; }
+    return false;
+}
+
+// Condiction to change to u.
+// Starts with "o", "ho", and "8". Also "11" by itself.
+// re: ^((o|ho|8).*|11)$
+static bool shouldChangeToU(const UnicodeString& text) {
+    int32_t len = text.length();
+    if (len == 0) { return false; }
+    // Case insensitive match o.* and 8.*
+    if (text[0] == u'o' || text[0] == u'O' || text[0] == u'8') { return true; }
+    // Case insensitive match ho.*
+    if ((text[0] == u'h' || text[0] == u'H') &&
+            ((len > 1) && (text[1] == 'o' || text[1] == u'O'))) {
+        return true;
+    }
+    // match "^11$" and "^11 .*"
+    if ((len >= 2) && text[0] == u'1' && text[1] == u'1' && (len == 2 || text[2] == u' ')) { return true; }
+    return false;
+}
+
+// Condiction to change to VAV follow by a dash.
+// Starts with non Hebrew letter.
+static bool shouldChangeToVavDash(const UnicodeString& text) {
+    if (text.isEmpty()) { return false; }
+    UErrorCode status = U_ZERO_ERROR;
+    return uscript_getScript(text.char32At(0), &status) != USCRIPT_HEBREW;
+}
+
+PatternHandler* createPatternHandler(
+        const char* lang, const UnicodeString& two, const UnicodeString& end,
+    UErrorCode& status) {
+    if (uprv_strcmp(lang, "es") == 0) {
+        // Spanish
+        UnicodeString spanishYStr(TRUE, spanishY, -1);
+        bool twoIsY = two == spanishYStr;
+        bool endIsY = end == spanishYStr;
+        if (twoIsY || endIsY) {
+            UnicodeString replacement(TRUE, spanishE, -1);
+            return new ContextualHandler(
+                shouldChangeToE,
+                twoIsY ? replacement : two, two,
+                endIsY ? replacement : end, end, status);
+        }
+        UnicodeString spanishOStr(TRUE, spanishO, -1);
+        bool twoIsO = two == spanishOStr;
+        bool endIsO = end == spanishOStr;
+        if (twoIsO || endIsO) {
+            UnicodeString replacement(TRUE, spanishU, -1);
+            return new ContextualHandler(
+                shouldChangeToU,
+                twoIsO ? replacement : two, two,
+                endIsO ? replacement : end, end, status);
+        }
+    } else if (uprv_strcmp(lang, "he") == 0 || uprv_strcmp(lang, "iw") == 0) {
+        // Hebrew
+        UnicodeString hebrewVavStr(TRUE, hebrewVav, -1);
+        bool twoIsVav = two == hebrewVavStr;
+        bool endIsVav = end == hebrewVavStr;
+        if (twoIsVav || endIsVav) {
+            UnicodeString replacement(TRUE, hebrewVavDash, -1);
+            return new ContextualHandler(
+                shouldChangeToVavDash,
+                twoIsVav ? replacement : two, two,
+                endIsVav ? replacement : end, end, status);
+        }
+    }
+    return new PatternHandler(two, end, status);
+}
+
+}  // namespace
+
+struct ListFormatInternal : public UMemory {
     SimpleFormatter startPattern;
     SimpleFormatter middlePattern;
-    SimpleFormatter endPattern;
+    LocalPointer<PatternHandler> patternHandler;
 
 ListFormatInternal(
         const UnicodeString& two,
         const UnicodeString& start,
         const UnicodeString& middle,
         const UnicodeString& end,
+        const Locale& locale,
         UErrorCode &errorCode) :
-        twoPattern(two, 2, 2, errorCode),
         startPattern(start, 2, 2, errorCode),
         middlePattern(middle, 2, 2, errorCode),
-        endPattern(end, 2, 2, errorCode) {}
+        patternHandler(createPatternHandler(locale.getLanguage(), two, end, errorCode), errorCode) { }
 
 ListFormatInternal(const ListFormatData &data, UErrorCode &errorCode) :
-        twoPattern(data.twoPattern, errorCode),
         startPattern(data.startPattern, errorCode),
         middlePattern(data.middlePattern, errorCode),
-        endPattern(data.endPattern, errorCode) { }
+        patternHandler(createPatternHandler(
+            data.locale.getLanguage(), data.twoPattern, data.endPattern, errorCode), errorCode) { }
 
 ListFormatInternal(const ListFormatInternal &other) :
-    twoPattern(other.twoPattern),
     startPattern(other.startPattern),
     middlePattern(other.middlePattern),
-    endPattern(other.endPattern) { }
+    patternHandler(other.patternHandler->clone()) { }
 };
 
 
@@ -80,7 +250,6 @@ UPRV_FORMATTED_VALUE_SUBCLASS_AUTO_IMPL(FormattedList)
 
 
 static Hashtable* listPatternHash = nullptr;
-static const char STANDARD_STYLE[] = "standard";
 
 U_CDECL_BEGIN
 static UBool U_CALLCONV uprv_listformatter_cleanup() {
@@ -179,6 +348,52 @@ const ListFormatInternal* ListFormatter::getListFormatInternal(
     return result;
 }
 
+#if !UCONFIG_NO_FORMATTING
+static const char* typeWidthToStyleString(UListFormatterType type, UListFormatterWidth width) {
+    switch (type) {
+        case ULISTFMT_TYPE_AND:
+            switch (width) {
+                case ULISTFMT_WIDTH_WIDE:
+                    return "standard";
+                case ULISTFMT_WIDTH_SHORT:
+                    return "standard-short";
+                case ULISTFMT_WIDTH_NARROW:
+                    return "standard-narrow";
+                default:
+                    return nullptr;
+            }
+            break;
+
+        case ULISTFMT_TYPE_OR:
+            switch (width) {
+                case ULISTFMT_WIDTH_WIDE:
+                    return "or";
+                case ULISTFMT_WIDTH_SHORT:
+                    return "or-short";
+                case ULISTFMT_WIDTH_NARROW:
+                    return "or-narrow";
+                default:
+                    return nullptr;
+            }
+            break;
+
+        case ULISTFMT_TYPE_UNITS:
+            switch (width) {
+                case ULISTFMT_WIDTH_WIDE:
+                    return "unit";
+                case ULISTFMT_WIDTH_SHORT:
+                    return "unit-short";
+                case ULISTFMT_WIDTH_NARROW:
+                    return "unit-narrow";
+                default:
+                    return nullptr;
+            }
+    }
+
+    return nullptr;
+}
+#endif
+
 static const UChar solidus = 0x2F;
 static const UChar aliasPrefix[] = { 0x6C,0x69,0x73,0x74,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x2F }; // "listPattern/"
 enum {
@@ -279,7 +494,8 @@ ListFormatInternal* ListFormatter::loadListFormatInternal(
         errorCode = U_MISSING_RESOURCE_ERROR;
         return nullptr;
     }
-    ListFormatInternal* result = new ListFormatInternal(sink.two, sink.start, sink.middle, sink.end, errorCode);
+
+    ListFormatInternal* result = new ListFormatInternal(sink.two, sink.start, sink.middle, sink.end, locale, errorCode);
     if (result == nullptr) {
         errorCode = U_MEMORY_ALLOCATION_ERROR;
         return nullptr;
@@ -297,8 +513,24 @@ ListFormatter* ListFormatter::createInstance(UErrorCode& errorCode) {
 }
 
 ListFormatter* ListFormatter::createInstance(const Locale& locale, UErrorCode& errorCode) {
-    return createInstance(locale, STANDARD_STYLE, errorCode);
+#if !UCONFIG_NO_FORMATTING
+    return createInstance(locale, ULISTFMT_TYPE_AND, ULISTFMT_WIDTH_WIDE, errorCode);
+#else
+    return createInstance(locale, "standard", errorCode);
+#endif
+}
+
+#if !UCONFIG_NO_FORMATTING
+ListFormatter* ListFormatter::createInstance(
+        const Locale& locale, UListFormatterType type, UListFormatterWidth width, UErrorCode& errorCode) {
+    const char* style = typeWidthToStyleString(type, width);
+    if (style == nullptr) {
+        errorCode = U_ILLEGAL_ARGUMENT_ERROR;
+        return nullptr;
+    }
+    return createInstance(locale, style, errorCode);
 }
+#endif
 
 ListFormatter* ListFormatter::createInstance(const Locale& locale, const char *style, UErrorCode& errorCode) {
     const ListFormatInternal* listFormatInternal = getListFormatInternal(locale, style, errorCode);
@@ -380,19 +612,6 @@ UnicodeString& ListFormatter::format(
     return format(items, nItems, appendTo, -1, offset, errorCode);
 }
 
-#if !UCONFIG_NO_FORMATTING
-UnicodeString& ListFormatter::format(
-        const UnicodeString items[],
-        int32_t nItems,
-        UnicodeString & appendTo,
-        FieldPositionIterator* posIter,
-        UErrorCode& errorCode) const {
-  int32_t offset;
-  FieldPositionIteratorHandler handler(posIter, errorCode);
-  return format_(items, nItems, appendTo, -1, offset, &handler, errorCode);
-}
-#endif
-
 UnicodeString& ListFormatter::format(
         const UnicodeString items[],
         int32_t nItems,
@@ -484,16 +703,29 @@ UnicodeString& ListFormatter::format_(
     // for n items, there are 2 * (n + 1) boundary including 0 and the upper
     // edge.
     MaybeStackArray<int32_t, 10> offsets((handler != nullptr) ? 2 * (nItems + 1): 0);
-    joinStringsAndReplace(
-            nItems == 2 ? data->twoPattern : data->startPattern,
-            result,
-            items[1],
-            result,
-            index == 1,
-            offset,
-            &offsetFirst,
-            &offsetSecond,
-            errorCode);
+    if (nItems == 2) {
+        joinStringsAndReplace(
+                data->patternHandler->getTwoPattern(items[1]),
+                result,
+                items[1],
+                result,
+                index == 1,
+                offset,
+                &offsetFirst,
+                &offsetSecond,
+                errorCode);
+    } else {
+        joinStringsAndReplace(
+                data->startPattern,
+                result,
+                items[1],
+                result,
+                index == 1,
+                offset,
+                &offsetFirst,
+                &offsetSecond,
+                errorCode);
+    }
     if (handler != nullptr) {
         offsets[0] = 0;
         prefixLength += offsetFirst;
@@ -517,7 +749,7 @@ UnicodeString& ListFormatter::format_(
             }
         }
         joinStringsAndReplace(
-                data->endPattern,
+                data->patternHandler->getEndPattern(items[nItems - 1]),
                 result,
                 items[nItems - 1],
                 result,
@@ -572,5 +804,5 @@ UnicodeString& ListFormatter::format_(
 #endif  
     return appendTo;
 }
-
 U_NAMESPACE_END
index 1949f17..e05d66d 100644 (file)
@@ -38,6 +38,7 @@
 #include "uassert.h"
 #include "unicode/numberformatter.h"
 #include "number_longnames.h"
+#include "number_utypes.h"
 
 #include "sharednumberformat.h"
 #include "sharedpluralrules.h"
@@ -47,6 +48,8 @@
 
 U_NAMESPACE_BEGIN
 
+using number::impl::UFormattedNumberData;
+
 static constexpr int32_t WIDTH_INDEX_COUNT = UMEASFMT_WIDTH_NARROW + 1;
 
 UOBJECT_DEFINE_RTTI_IMPLEMENTATION(MeasureFormat)
@@ -504,12 +507,13 @@ UnicodeString &MeasureFormat::formatMeasurePerUnit(
         status = U_UNSUPPORTED_ERROR;
         return appendTo;
     }
-    number::FormattedNumber result;
+    UFormattedNumberData result;
     if (auto* lnf = df->toNumberFormatter(status)) {
-        result = lnf->unit(measure.getUnit())
+        result.quantity.setToDouble(measure.getNumber().getDouble(status));
+        lnf->unit(measure.getUnit())
             .perUnit(perUnit)
             .unitWidth(getUnitWidth(fWidth))
-            .formatDouble(measure.getNumber().getDouble(status), status);
+            .formatImpl(&result, status);
     }
     DecimalFormat::fieldPositionHelper(result, pos, appendTo.length(), status);
     appendTo.append(result.toTempString(status));
@@ -699,11 +703,12 @@ UnicodeString &MeasureFormat::formatMeasure(
         SimpleFormatter formatter(pattern, 0, 1, status);
         return QuantityFormatter::format(formatter, formattedNumber, appendTo, pos, status);
     }
-    number::FormattedNumber result;
+    UFormattedNumberData result;
     if (auto* lnf = df->toNumberFormatter(status)) {
-        result = lnf->unit(amtUnit)
+        result.quantity.setToDouble(amtNumber.getDouble(status));
+        lnf->unit(amtUnit)
             .unitWidth(getUnitWidth(fWidth))
-            .formatDouble(amtNumber.getDouble(status), status);
+            .formatImpl(&result, status);
     }
     DecimalFormat::fieldPositionHelper(result, pos, appendTo.length(), status);
     appendTo.append(result.toTempString(status));
@@ -774,11 +779,6 @@ UnicodeString &MeasureFormat::formatNumeric(
             case u's': value = seconds; break;
         }
 
-        // For undefined field we use UNUM_FIELD_COUNT, for historical reasons.
-        // See cleanup bug: https://unicode-org.atlassian.net/browse/ICU-20665
-        // But we give it a clear name, to keep "the ugly part" in one place.
-        constexpr UNumberFormatFields undefinedField = UNUM_FIELD_COUNT;
-
         // There is not enough info to add Field(s) for the unit because all we have are plain
         // text patterns. For example in "21:51" there is no text for something like "hour",
         // while in something like "21h51" there is ("h"). But we can't really tell...
@@ -787,7 +787,7 @@ UnicodeString &MeasureFormat::formatNumeric(
             case u'm':
             case u's':
                 if (protect) {
-                    fsb.appendChar16(c, undefinedField, status);
+                    fsb.appendChar16(c, kUndefinedField, status);
                 } else {
                     UnicodeString tmp;
                     if ((i + 1 < patternLength) && pattern[i + 1] == c) { // doubled
@@ -797,20 +797,20 @@ UnicodeString &MeasureFormat::formatNumeric(
                         numberFormatter->format(value, tmp, status);
                     }
                     // TODO: Use proper Field
-                    fsb.append(tmp, undefinedField, status);
+                    fsb.append(tmp, kUndefinedField, status);
                 }
                 break;
             case u'\'':
                 // '' is escaped apostrophe
                 if ((i + 1 < patternLength) && pattern[i + 1] == c) {
-                    fsb.appendChar16(c, undefinedField, status);
+                    fsb.appendChar16(c, kUndefinedField, status);
                     i++;
                 } else {
                     protect = !protect;
                 }
                 break;
             default:
-                fsb.appendChar16(c, undefinedField, status);
+                fsb.appendChar16(c, kUndefinedField, status);
         }
     }
 
index 7a0a606..4edf130 100644 (file)
 #if !UCONFIG_NO_FORMATTING
 
 #include "unicode/uenum.h"
+#include "unicode/errorcode.h"
 #include "ustrenum.h"
 #include "cstring.h"
 #include "uassert.h"
+#include "measunit_impl.h"
 
 U_NAMESPACE_BEGIN
 
@@ -118,7 +120,7 @@ static const char * const gTypes[] = {
 // Must be grouped by type and sorted alphabetically within each type.
 static const char * const gSubTypes[] = {
     "g-force",
-    "meter-per-second-squared",
+    "meter-per-square-second",
     "arc-minute",
     "arc-second",
     "degree",
@@ -138,11 +140,11 @@ static const char * const gSubTypes[] = {
     "milligram-per-deciliter",
     "millimole-per-liter",
     "mole",
-    "part-per-million",
     "percent",
     "permille",
+    "permillion",
     "permyriad",
-    "liter-per-100kilometers",
+    "liter-per-100-kilometer",
     "liter-per-kilometer",
     "mile-per-gallon",
     "mile-per-gallon-imperial",
@@ -535,9 +537,9 @@ static const char * const gSubTypes[] = {
     "solar-mass",
     "stone",
     "ton",
-    "base",
-    "percent",
-    "permille",
+    "", // TODO(ICU-21076): manual edit of what should have been generated by Java.
+    "percent", // TODO(ICU-21076): regenerate, deal with duplication.
+    "permille", // TODO(ICU-21076): regenerate, deal with duplication.
     "gigawatt",
     "horsepower",
     "kilowatt",
@@ -547,13 +549,13 @@ static const char * const gSubTypes[] = {
     "atmosphere",
     "bar",
     "hectopascal",
-    "inch-hg",
+    "inch-ofhg",
     "kilopascal",
     "megapascal",
     "millibar",
-    "millimeter-of-mercury",
+    "millimeter-ofhg",
     "pascal",
-    "pound-per-square-inch",
+    "pound-force-per-square-inch",
     "kilometer-per-hour",
     "knot",
     "meter-per-second",
@@ -563,7 +565,7 @@ static const char * const gSubTypes[] = {
     "generic",
     "kelvin",
     "newton-meter",
-    "pound-foot",
+    "pound-force-foot",
     "acre-foot",
     "barrel",
     "bushel",
@@ -780,27 +782,27 @@ MeasureUnit MeasureUnit::getMole() {
 }
 
 MeasureUnit *MeasureUnit::createPartPerMillion(UErrorCode &status) {
-    return MeasureUnit::create(3, 4, status);
+    return MeasureUnit::create(3, 6, status);
 }
 
 MeasureUnit MeasureUnit::getPartPerMillion() {
-    return MeasureUnit(3, 4);
+    return MeasureUnit(3, 6);
 }
 
 MeasureUnit *MeasureUnit::createPercent(UErrorCode &status) {
-    return MeasureUnit::create(3, 5, status);
+    return MeasureUnit::create(3, 4, status);
 }
 
 MeasureUnit MeasureUnit::getPercent() {
-    return MeasureUnit(3, 5);
+    return MeasureUnit(3, 4);
 }
 
 MeasureUnit *MeasureUnit::createPermille(UErrorCode &status) {
-    return MeasureUnit::create(3, 6, status);
+    return MeasureUnit::create(3, 5, status);
 }
 
 MeasureUnit MeasureUnit::getPermille() {
-    return MeasureUnit(3, 6);
+    return MeasureUnit(3, 5);
 }
 
 MeasureUnit *MeasureUnit::createPermyriad(UErrorCode &status) {
@@ -1990,10 +1992,10 @@ MeasureUnit MeasureUnit::getTeaspoon() {
 // End generated code
 
 static int32_t binarySearch(
-        const char * const * array, int32_t start, int32_t end, const char * key) {
+        const char * const * array, int32_t start, int32_t end, StringPiece key) {
     while (start < end) {
         int32_t mid = (start + end) / 2;
-        int32_t cmp = uprv_strcmp(array[mid], key);
+        int32_t cmp = StringPiece(array[mid]).compare(key);
         if (cmp < 0) {
             start = mid + 1;
             continue;
@@ -2006,24 +2008,62 @@ static int32_t binarySearch(
     return -1;
 }
 
-MeasureUnit::MeasureUnit() {
-    fCurrency[0] = 0;
-    fTypeId = kBaseTypeIdx;
-    fSubTypeId = kBaseSubTypeIdx;
+MeasureUnit::MeasureUnit() : MeasureUnit(kBaseTypeIdx, kBaseSubTypeIdx) {
+}
+
+MeasureUnit::MeasureUnit(int32_t typeId, int32_t subTypeId)
+        : fImpl(nullptr), fSubTypeId(subTypeId), fTypeId(typeId) {
 }
 
 MeasureUnit::MeasureUnit(const MeasureUnit &other)
-        : fTypeId(other.fTypeId), fSubTypeId(other.fSubTypeId) {
-    uprv_strcpy(fCurrency, other.fCurrency);
+        : fImpl(nullptr) {
+    *this = other;
+}
+
+MeasureUnit::MeasureUnit(MeasureUnit &&other) noexcept
+        : fImpl(other.fImpl),
+        fSubTypeId(other.fSubTypeId),
+        fTypeId(other.fTypeId) {
+    other.fImpl = nullptr;
+}
+
+MeasureUnit::MeasureUnit(MeasureUnitImpl&& impl)
+        : fImpl(nullptr), fSubTypeId(-1), fTypeId(-1) {
+    if (!findBySubType(impl.identifier.toStringPiece(), this)) {
+        fImpl = new MeasureUnitImpl(std::move(impl));
+    }
 }
 
 MeasureUnit &MeasureUnit::operator=(const MeasureUnit &other) {
     if (this == &other) {
         return *this;
     }
+    delete fImpl;
+    if (other.fImpl) {
+        ErrorCode localStatus;
+        fImpl = new MeasureUnitImpl(other.fImpl->copy(localStatus));
+        if (!fImpl || localStatus.isFailure()) {
+            // Unrecoverable allocation error; set to the default unit
+            *this = MeasureUnit();
+            return *this;
+        }
+    } else {
+        fImpl = nullptr;
+    }
+    fTypeId = other.fTypeId;
+    fSubTypeId = other.fSubTypeId;
+    return *this;
+}
+
+MeasureUnit &MeasureUnit::operator=(MeasureUnit &&other) noexcept {
+    if (this == &other) {
+        return *this;
+    }
+    delete fImpl;
+    fImpl = other.fImpl;
+    other.fImpl = nullptr;
     fTypeId = other.fTypeId;
     fSubTypeId = other.fSubTypeId;
-    uprv_strcpy(fCurrency, other.fCurrency);
     return *this;
 }
 
@@ -2032,14 +2072,28 @@ MeasureUnit *MeasureUnit::clone() const {
 }
 
 MeasureUnit::~MeasureUnit() {
+    delete fImpl;
+    fImpl = nullptr;
 }
 
 const char *MeasureUnit::getType() const {
+    // We have a type & subtype only if fTypeId is present.
+    if (fTypeId == -1) {
+        return "";
+    }
     return gTypes[fTypeId];
 }
 
 const char *MeasureUnit::getSubtype() const {
-    return fCurrency[0] == 0 ? gSubTypes[getOffset()] : fCurrency;
+    // We have a type & subtype only if fTypeId is present.
+    if (fTypeId == -1) {
+        return "";
+    }
+    return getIdentifier();
+}
+
+const char *MeasureUnit::getIdentifier() const {
+    return fImpl ? fImpl->identifier.data() : gSubTypes[getOffset()];
 }
 
 UBool MeasureUnit::operator==(const UObject& other) const {
@@ -2050,10 +2104,7 @@ UBool MeasureUnit::operator==(const UObject& other) const {
         return FALSE;
     }
     const MeasureUnit &rhs = static_cast<const MeasureUnit&>(other);
-    return (
-            fTypeId == rhs.fTypeId
-            && fSubTypeId == rhs.fSubTypeId
-            && uprv_strcmp(fCurrency, rhs.fCurrency) == 0);
+    return uprv_strcmp(getIdentifier(), rhs.getIdentifier()) == 0;
 }
 
 int32_t MeasureUnit::getIndex() const {
@@ -2138,10 +2189,29 @@ int32_t MeasureUnit::internalGetIndexForTypeAndSubtype(const char *type, const c
     return gIndexes[t] + st - gOffsets[t];
 }
 
+bool MeasureUnit::findBySubType(StringPiece subType, MeasureUnit* output) {
+    for (int32_t t = 0; t < UPRV_LENGTHOF(gOffsets) - 1; t++) {
+        // Skip currency units
+        if (gIndexes[t] == gIndexes[t + 1]) {
+            continue;
+        }
+        int32_t st = binarySearch(gSubTypes, gOffsets[t], gOffsets[t + 1], subType);
+        if (st >= 0) {
+            output->setTo(t, st - gOffsets[t]);
+            return true;
+        }
+    }
+    return false;
+}
+
 MeasureUnit MeasureUnit::resolveUnitPerUnit(
         const MeasureUnit &unit, const MeasureUnit &perUnit, bool* isResolved) {
     int32_t unitOffset = unit.getOffset();
     int32_t perUnitOffset = perUnit.getOffset();
+    if (unitOffset == -1 || perUnitOffset == -1) {
+        *isResolved = false;
+        return MeasureUnit();
+    }
 
     // binary search for (unitOffset, perUnitOffset)
     int32_t start = 0;
@@ -2189,18 +2259,24 @@ void MeasureUnit::initTime(const char *timeId) {
     fSubTypeId = result - gOffsets[fTypeId]; 
 }
 
-void MeasureUnit::initCurrency(const char *isoCurrency) {
+void MeasureUnit::initCurrency(StringPiece isoCurrency) {
     int32_t result = binarySearch(gTypes, 0, UPRV_LENGTHOF(gTypes), "currency");
     U_ASSERT(result != -1);
     fTypeId = result;
     result = binarySearch(
             gSubTypes, gOffsets[fTypeId], gOffsets[fTypeId + 1], isoCurrency);
-    if (result != -1) {
-        fSubTypeId = result - gOffsets[fTypeId];
-    } else {
-        uprv_strncpy(fCurrency, isoCurrency, UPRV_LENGTHOF(fCurrency));
-        fCurrency[3] = 0;
+    if (result == -1) {
+        fImpl = new MeasureUnitImpl(MeasureUnitImpl::forCurrencyCode(isoCurrency));
+        if (fImpl) {
+            fSubTypeId = -1;
+            return;
+        }
+        // malloc error: fall back to the undefined currency
+        result = binarySearch(
+            gSubTypes, gOffsets[fTypeId], gOffsets[fTypeId + 1], kDefaultCurrency8);
+        U_ASSERT(result != -1);
     }
+    fSubTypeId = result - gOffsets[fTypeId];
 }
 
 void MeasureUnit::initNoUnit(const char *subtype) {
@@ -2215,10 +2291,14 @@ void MeasureUnit::initNoUnit(const char *subtype) {
 void MeasureUnit::setTo(int32_t typeId, int32_t subTypeId) {
     fTypeId = typeId;
     fSubTypeId = subTypeId;
-    fCurrency[0] = 0;
+    delete fImpl;
+    fImpl = nullptr;
 }
 
 int32_t MeasureUnit::getOffset() const {
+    if (fTypeId < 0 || fSubTypeId < 0) {
+        return -1;
+    }
     return gOffsets[fTypeId] + fSubTypeId;
 }
 
diff --git a/source/i18n/measunit_extra.cpp b/source/i18n/measunit_extra.cpp
new file mode 100644 (file)
index 0000000..aeb6001
--- /dev/null
@@ -0,0 +1,893 @@
+// © 2020 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
+
+// Extra functions for MeasureUnit not needed for all clients.
+// Separate .o file so that it can be removed for modularity.
+
+#include "unicode/utypes.h"
+
+#if !UCONFIG_NO_FORMATTING
+
+// Allow implicit conversion from char16_t* to UnicodeString for this file:
+// Helpful in toString methods and elsewhere.
+#define UNISTR_FROM_STRING_EXPLICIT
+
+#include <cstdlib>
+#include "cstring.h"
+#include "measunit_impl.h"
+#include "uarrsort.h"
+#include "uassert.h"
+#include "ucln_in.h"
+#include "umutex.h"
+#include "unicode/errorcode.h"
+#include "unicode/localpointer.h"
+#include "unicode/measunit.h"
+#include "unicode/ucharstrie.h"
+#include "unicode/ucharstriebuilder.h"
+
+#include "cstr.h"
+
+U_NAMESPACE_BEGIN
+
+
+namespace {
+
+// TODO: Propose a new error code for this?
+constexpr UErrorCode kUnitIdentifierSyntaxError = U_ILLEGAL_ARGUMENT_ERROR;
+
+// Trie value offset for SI Prefixes. This is big enough to ensure we only
+// insert positive integers into the trie.
+constexpr int32_t kSIPrefixOffset = 64;
+
+// Trie value offset for compound parts, e.g. "-per-", "-", "-and-".
+constexpr int32_t kCompoundPartOffset = 128;
+
+enum CompoundPart {
+    // Represents "-per-"
+    COMPOUND_PART_PER = kCompoundPartOffset,
+    // Represents "-"
+    COMPOUND_PART_TIMES,
+    // Represents "-and-"
+    COMPOUND_PART_AND,
+};
+
+// Trie value offset for "per-".
+constexpr int32_t kInitialCompoundPartOffset = 192;
+
+enum InitialCompoundPart {
+    // Represents "per-", the only compound part that can appear at the start of
+    // an identifier.
+    INITIAL_COMPOUND_PART_PER = kInitialCompoundPartOffset,
+};
+
+// Trie value offset for powers like "square-", "cubic-", "p2-" etc.
+constexpr int32_t kPowerPartOffset = 256;
+
+enum PowerPart {
+    POWER_PART_P2 = kPowerPartOffset + 2,
+    POWER_PART_P3,
+    POWER_PART_P4,
+    POWER_PART_P5,
+    POWER_PART_P6,
+    POWER_PART_P7,
+    POWER_PART_P8,
+    POWER_PART_P9,
+    POWER_PART_P10,
+    POWER_PART_P11,
+    POWER_PART_P12,
+    POWER_PART_P13,
+    POWER_PART_P14,
+    POWER_PART_P15,
+};
+
+// Trie value offset for simple units, e.g. "gram", "nautical-mile",
+// "fluid-ounce-imperial".
+constexpr int32_t kSimpleUnitOffset = 512;
+
+const struct SIPrefixStrings {
+    const char* const string;
+    UMeasureSIPrefix value;
+} gSIPrefixStrings[] = {
+    { "yotta", UMEASURE_SI_PREFIX_YOTTA },
+    { "zetta", UMEASURE_SI_PREFIX_ZETTA },
+    { "exa", UMEASURE_SI_PREFIX_EXA },
+    { "peta", UMEASURE_SI_PREFIX_PETA },
+    { "tera", UMEASURE_SI_PREFIX_TERA },
+    { "giga", UMEASURE_SI_PREFIX_GIGA },
+    { "mega", UMEASURE_SI_PREFIX_MEGA },
+    { "kilo", UMEASURE_SI_PREFIX_KILO },
+    { "hecto", UMEASURE_SI_PREFIX_HECTO },
+    { "deka", UMEASURE_SI_PREFIX_DEKA },
+    { "deci", UMEASURE_SI_PREFIX_DECI },
+    { "centi", UMEASURE_SI_PREFIX_CENTI },
+    { "milli", UMEASURE_SI_PREFIX_MILLI },
+    { "micro", UMEASURE_SI_PREFIX_MICRO },
+    { "nano", UMEASURE_SI_PREFIX_NANO },
+    { "pico", UMEASURE_SI_PREFIX_PICO },
+    { "femto", UMEASURE_SI_PREFIX_FEMTO },
+    { "atto", UMEASURE_SI_PREFIX_ATTO },
+    { "zepto", UMEASURE_SI_PREFIX_ZEPTO },
+    { "yocto", UMEASURE_SI_PREFIX_YOCTO },
+};
+
+// TODO(ICU-21059): Get this list from data
+const char16_t* const gSimpleUnits[] = {
+    u"candela",
+    u"carat",
+    u"gram",
+    u"ounce",
+    u"ounce-troy",
+    u"pound",
+    u"kilogram",
+    u"stone",
+    u"ton",
+    u"metric-ton",
+    u"earth-mass",
+    u"solar-mass",
+    u"point",
+    u"inch",
+    u"foot",
+    u"yard",
+    u"meter",
+    u"fathom",
+    u"furlong",
+    u"mile",
+    u"nautical-mile",
+    u"mile-scandinavian",
+    u"100-kilometer",
+    u"earth-radius",
+    u"solar-radius",
+    u"astronomical-unit",
+    u"light-year",
+    u"parsec",
+    u"second",
+    u"minute",
+    u"hour",
+    u"day",
+    u"day-person",
+    u"week",
+    u"week-person",
+    u"month",
+    u"month-person",
+    u"year",
+    u"year-person",
+    u"decade",
+    u"century",
+    u"ampere",
+    u"fahrenheit",
+    u"kelvin",
+    u"celsius",
+    u"arc-second",
+    u"arc-minute",
+    u"degree",
+    u"radian",
+    u"revolution",
+    u"item",
+    u"mole",
+    u"permillion",
+    u"permyriad",
+    u"permille",
+    u"percent",
+    u"karat",
+    u"portion",
+    u"bit",
+    u"byte",
+    u"dot",
+    u"pixel",
+    u"em",
+    u"hertz",
+    u"newton",
+    u"pound-force",
+    u"pascal",
+    u"bar",
+    u"atmosphere",
+    u"ofhg",
+    u"electronvolt",
+    u"dalton",
+    u"joule",
+    u"calorie",
+    u"british-thermal-unit",
+    u"foodcalorie",
+    u"therm-us",
+    u"watt",
+    u"horsepower",
+    u"solar-luminosity",
+    u"volt",
+    u"ohm",
+    u"dunam",
+    u"acre",
+    u"hectare",
+    u"teaspoon",
+    u"tablespoon",
+    u"fluid-ounce-imperial",
+    u"fluid-ounce",
+    u"cup",
+    u"cup-metric",
+    u"pint",
+    u"pint-metric",
+    u"quart",
+    u"liter",
+    u"gallon",
+    u"gallon-imperial",
+    u"bushel",
+    u"barrel",
+    u"knot",
+    u"g-force",
+    u"lux",
+};
+
+icu::UInitOnce gUnitExtrasInitOnce = U_INITONCE_INITIALIZER;
+
+char16_t* kSerializedUnitExtrasStemTrie = nullptr;
+
+UBool U_CALLCONV cleanupUnitExtras() {
+    uprv_free(kSerializedUnitExtrasStemTrie);
+    kSerializedUnitExtrasStemTrie = nullptr;
+    gUnitExtrasInitOnce.reset();
+    return TRUE;
+}
+
+void U_CALLCONV initUnitExtras(UErrorCode& status) {
+    ucln_i18n_registerCleanup(UCLN_I18N_UNIT_EXTRAS, cleanupUnitExtras);
+
+    UCharsTrieBuilder b(status);
+    if (U_FAILURE(status)) { return; }
+
+    // Add SI prefixes
+    for (const auto& siPrefixInfo : gSIPrefixStrings) {
+        UnicodeString uSIPrefix(siPrefixInfo.string, -1, US_INV);
+        b.add(uSIPrefix, siPrefixInfo.value + kSIPrefixOffset, status);
+    }
+    if (U_FAILURE(status)) { return; }
+
+    // Add syntax parts (compound, power prefixes)
+    b.add(u"-per-", COMPOUND_PART_PER, status);
+    b.add(u"-", COMPOUND_PART_TIMES, status);
+    b.add(u"-and-", COMPOUND_PART_AND, status);
+    b.add(u"per-", INITIAL_COMPOUND_PART_PER, status);
+    b.add(u"square-", POWER_PART_P2, status);
+    b.add(u"cubic-", POWER_PART_P3, status);
+    b.add(u"p2-", POWER_PART_P2, status);
+    b.add(u"p3-", POWER_PART_P3, status);
+    b.add(u"p4-", POWER_PART_P4, status);
+    b.add(u"p5-", POWER_PART_P5, status);
+    b.add(u"p6-", POWER_PART_P6, status);
+    b.add(u"p7-", POWER_PART_P7, status);
+    b.add(u"p8-", POWER_PART_P8, status);
+    b.add(u"p9-", POWER_PART_P9, status);
+    b.add(u"p10-", POWER_PART_P10, status);
+    b.add(u"p11-", POWER_PART_P11, status);
+    b.add(u"p12-", POWER_PART_P12, status);
+    b.add(u"p13-", POWER_PART_P13, status);
+    b.add(u"p14-", POWER_PART_P14, status);
+    b.add(u"p15-", POWER_PART_P15, status);
+    if (U_FAILURE(status)) { return; }
+
+    // Add sanctioned simple units by offset
+    int32_t simpleUnitOffset = kSimpleUnitOffset;
+    for (auto simpleUnit : gSimpleUnits) {
+        b.add(simpleUnit, simpleUnitOffset++, status);
+    }
+
+    // Build the CharsTrie
+    // TODO: Use SLOW or FAST here?
+    UnicodeString result;
+    b.buildUnicodeString(USTRINGTRIE_BUILD_FAST, result, status);
+    if (U_FAILURE(status)) { return; }
+
+    // Copy the result into the global constant pointer
+    size_t numBytes = result.length() * sizeof(char16_t);
+    kSerializedUnitExtrasStemTrie = static_cast<char16_t*>(uprv_malloc(numBytes));
+    uprv_memcpy(kSerializedUnitExtrasStemTrie, result.getBuffer(), numBytes);
+}
+
+class Token {
+public:
+    Token(int32_t match) : fMatch(match) {}
+
+    enum Type {
+        TYPE_UNDEFINED,
+        TYPE_SI_PREFIX,
+        // Token type for "-per-", "-", and "-and-".
+        TYPE_COMPOUND_PART,
+        // Token type for "per-".
+        TYPE_INITIAL_COMPOUND_PART,
+        TYPE_POWER_PART,
+        TYPE_SIMPLE_UNIT,
+    };
+
+    // Calling getType() is invalid, resulting in an assertion failure, if Token
+    // value isn't positive.
+    Type getType() const {
+        U_ASSERT(fMatch > 0);
+        if (fMatch < kCompoundPartOffset) {
+            return TYPE_SI_PREFIX;
+        }
+        if (fMatch < kInitialCompoundPartOffset) {
+            return TYPE_COMPOUND_PART;
+        }
+        if (fMatch < kPowerPartOffset) {
+            return TYPE_INITIAL_COMPOUND_PART;
+        }
+        if (fMatch < kSimpleUnitOffset) {
+            return TYPE_POWER_PART;
+        }
+        return TYPE_SIMPLE_UNIT;
+    }
+
+    UMeasureSIPrefix getSIPrefix() const {
+        U_ASSERT(getType() == TYPE_SI_PREFIX);
+        return static_cast<UMeasureSIPrefix>(fMatch - kSIPrefixOffset);
+    }
+
+    // Valid only for tokens with type TYPE_COMPOUND_PART.
+    int32_t getMatch() const {
+        U_ASSERT(getType() == TYPE_COMPOUND_PART);
+        return fMatch;
+    }
+
+    int32_t getInitialCompoundPart() const {
+        // Even if there is only one InitialCompoundPart value, we have this
+        // function for the simplicity of code consistency.
+        U_ASSERT(getType() == TYPE_INITIAL_COMPOUND_PART);
+        // Defensive: if this assert fails, code using this function also needs
+        // to change.
+        U_ASSERT(fMatch == INITIAL_COMPOUND_PART_PER);
+        return fMatch;
+    }
+
+    int8_t getPower() const {
+        U_ASSERT(getType() == TYPE_POWER_PART);
+        return static_cast<int8_t>(fMatch - kPowerPartOffset);
+    }
+
+    int32_t getSimpleUnitIndex() const {
+        U_ASSERT(getType() == TYPE_SIMPLE_UNIT);
+        return fMatch - kSimpleUnitOffset;
+    }
+
+private:
+    int32_t fMatch;
+};
+
+class Parser {
+public:
+    /**
+     * Factory function for parsing the given identifier.
+     *
+     * @param source The identifier to parse. This function does not make a copy
+     * of source: the underlying string that source points at, must outlive the
+     * parser.
+     * @param status ICU error code.
+     */
+    static Parser from(StringPiece source, UErrorCode& status) {
+        if (U_FAILURE(status)) {
+            return Parser();
+        }
+        umtx_initOnce(gUnitExtrasInitOnce, &initUnitExtras, status);
+        if (U_FAILURE(status)) {
+            return Parser();
+        }
+        return Parser(source);
+    }
+
+    MeasureUnitImpl parse(UErrorCode& status) {
+        MeasureUnitImpl result;
+        parseImpl(result, status);
+        return result;
+    }
+
+private:
+    // Tracks parser progress: the offset into fSource.
+    int32_t fIndex = 0;
+
+    // Since we're not owning this memory, whatever is passed to the constructor
+    // should live longer than this Parser - and the parser shouldn't return any
+    // references to that string.
+    StringPiece fSource;
+    UCharsTrie fTrie;
+
+    // Set to true when we've seen a "-per-" or a "per-", after which all units
+    // are in the denominator. Until we find an "-and-", at which point the
+    // identifier is invalid pending TODO(CLDR-13700).
+    bool fAfterPer = false;
+
+    Parser() : fSource(""), fTrie(u"") {}
+
+    Parser(StringPiece source)
+        : fSource(source), fTrie(kSerializedUnitExtrasStemTrie) {}
+
+    inline bool hasNext() const {
+        return fIndex < fSource.length();
+    }
+
+    // Returns the next Token parsed from fSource, advancing fIndex to the end
+    // of that token in fSource. In case of U_FAILURE(status), the token
+    // returned will cause an abort if getType() is called on it.
+    Token nextToken(UErrorCode& status) {
+        fTrie.reset();
+        int32_t match = -1;
+        // Saves the position in the fSource string for the end of the most
+        // recent matching token.
+        int32_t previ = -1;
+        // Find the longest token that matches a value in the trie:
+        while (fIndex < fSource.length()) {
+            auto result = fTrie.next(fSource.data()[fIndex++]);
+            if (result == USTRINGTRIE_NO_MATCH) {
+                break;
+            } else if (result == USTRINGTRIE_NO_VALUE) {
+                continue;
+            }
+            U_ASSERT(USTRINGTRIE_HAS_VALUE(result));
+            match = fTrie.getValue();
+            previ = fIndex;
+            if (result == USTRINGTRIE_FINAL_VALUE) {
+                break;
+            }
+            U_ASSERT(result == USTRINGTRIE_INTERMEDIATE_VALUE);
+            // continue;
+        }
+
+        if (match < 0) {
+            status = kUnitIdentifierSyntaxError;
+        } else {
+            fIndex = previ;
+        }
+        return Token(match);
+    }
+
+    /**
+     * Returns the next "single unit" via result.
+     *
+     * If a "-per-" was parsed, the result will have appropriate negative
+     * dimensionality.
+     *
+     * Returns an error if we parse both compound units and "-and-", since mixed
+     * compound units are not yet supported - TODO(CLDR-13700).
+     *
+     * @param result Will be overwritten by the result, if status shows success.
+     * @param sawAnd If an "-and-" was parsed prior to finding the "single
+     * unit", sawAnd is set to true. If not, it is left as is.
+     * @param status ICU error code.
+     */
+    void nextSingleUnit(SingleUnitImpl& result, bool& sawAnd, UErrorCode& status) {
+        if (U_FAILURE(status)) {
+            return;
+        }
+
+        // state:
+        // 0 = no tokens seen yet (will accept power, SI prefix, or simple unit)
+        // 1 = power token seen (will not accept another power token)
+        // 2 = SI prefix token seen (will not accept a power or SI prefix token)
+        int32_t state = 0;
+
+        bool atStart = fIndex == 0;
+        Token token = nextToken(status);
+        if (U_FAILURE(status)) { return; }
+
+        if (atStart) {
+            // Identifiers optionally start with "per-".
+            if (token.getType() == Token::TYPE_INITIAL_COMPOUND_PART) {
+                U_ASSERT(token.getInitialCompoundPart() == INITIAL_COMPOUND_PART_PER);
+                fAfterPer = true;
+                result.dimensionality = -1;
+
+                token = nextToken(status);
+                if (U_FAILURE(status)) { return; }
+            }
+        } else {
+            // All other SingleUnit's are separated from previous SingleUnit's
+            // via a compound part:
+            if (token.getType() != Token::TYPE_COMPOUND_PART) {
+                status = kUnitIdentifierSyntaxError;
+                return;
+            }
+
+            switch (token.getMatch()) {
+            case COMPOUND_PART_PER:
+                if (sawAnd) {
+                    // Mixed compound units not yet supported,
+                    // TODO(CLDR-13700).
+                    status = kUnitIdentifierSyntaxError;
+                    return;
+                }
+                fAfterPer = true;
+                result.dimensionality = -1;
+                break;
+
+            case COMPOUND_PART_TIMES:
+                if (fAfterPer) {
+                    result.dimensionality = -1;
+                }
+                break;
+
+            case COMPOUND_PART_AND:
+                if (fAfterPer) {
+                    // Can't start with "-and-", and mixed compound units
+                    // not yet supported, TODO(CLDR-13700).
+                    status = kUnitIdentifierSyntaxError;
+                    return;
+                }
+                sawAnd = true;
+                break;
+            }
+
+            token = nextToken(status);
+            if (U_FAILURE(status)) { return; }
+        }
+
+        // Read tokens until we have a complete SingleUnit or we reach the end.
+        while (true) {
+            switch (token.getType()) {
+                case Token::TYPE_POWER_PART:
+                    if (state > 0) {
+                        status = kUnitIdentifierSyntaxError;
+                        return;
+                    }
+                    result.dimensionality *= token.getPower();
+                    state = 1;
+                    break;
+
+                case Token::TYPE_SI_PREFIX:
+                    if (state > 1) {
+                        status = kUnitIdentifierSyntaxError;
+                        return;
+                    }
+                    result.siPrefix = token.getSIPrefix();
+                    state = 2;
+                    break;
+
+                case Token::TYPE_SIMPLE_UNIT:
+                    result.index = token.getSimpleUnitIndex();
+                    return;
+
+                default:
+                    status = kUnitIdentifierSyntaxError;
+                    return;
+            }
+
+            if (!hasNext()) {
+                // We ran out of tokens before finding a complete single unit.
+                status = kUnitIdentifierSyntaxError;
+                return;
+            }
+            token = nextToken(status);
+            if (U_FAILURE(status)) {
+                return;
+            }
+        }
+    }
+
+    /// @param result is modified, not overridden. Caller must pass in a
+    /// default-constructed (empty) MeasureUnitImpl instance.
+    void parseImpl(MeasureUnitImpl& result, UErrorCode& status) {
+        if (U_FAILURE(status)) {
+            return;
+        }
+        if (fSource.empty()) {
+            // The dimenionless unit: nothing to parse. leave result as is.
+            return;
+        }
+        int32_t unitNum = 0;
+        while (hasNext()) {
+            bool sawAnd = false;
+            SingleUnitImpl singleUnit;
+            nextSingleUnit(singleUnit, sawAnd, status);
+            if (U_FAILURE(status)) {
+                return;
+            }
+            U_ASSERT(!singleUnit.isDimensionless());
+            bool added = result.append(singleUnit, status);
+            if (sawAnd && !added) {
+                // Two similar units are not allowed in a mixed unit
+                status = kUnitIdentifierSyntaxError;
+                return;
+            }
+            if ((++unitNum) >= 2) {
+                // nextSingleUnit fails appropriately for "per" and "and" in the
+                // same identifier. It doesn't fail for other compound units
+                // (COMPOUND_PART_TIMES). Consequently we take care of that
+                // here.
+                UMeasureUnitComplexity complexity =
+                    sawAnd ? UMEASURE_UNIT_MIXED : UMEASURE_UNIT_COMPOUND;
+                if (unitNum == 2) {
+                    U_ASSERT(result.complexity == UMEASURE_UNIT_SINGLE);
+                    result.complexity = complexity;
+                } else if (result.complexity != complexity) {
+                    // Can't have mixed compound units
+                    status = kUnitIdentifierSyntaxError;
+                    return;
+                }
+            }
+        }
+    }
+};
+
+int32_t U_CALLCONV
+compareSingleUnits(const void* /*context*/, const void* left, const void* right) {
+    auto realLeft = static_cast<const SingleUnitImpl* const*>(left);
+    auto realRight = static_cast<const SingleUnitImpl* const*>(right);
+    return (*realLeft)->compareTo(**realRight);
+}
+
+/**
+ * Generate the identifier string for a single unit in place.
+ *
+ * Does not support the dimensionless SingleUnitImpl: calling serializeSingle
+ * with the dimensionless unit results in an U_INTERNAL_PROGRAM_ERROR.
+ *
+ * @param first If singleUnit is part of a compound unit, and not its first
+ * single unit, set this to false. Otherwise: set to true.
+ */
+void serializeSingle(const SingleUnitImpl& singleUnit, bool first, CharString& output, UErrorCode& status) {
+    if (first && singleUnit.dimensionality < 0) {
+        // Essentially the "unary per". For compound units with a numerator, the
+        // caller takes care of the "binary per".
+        output.append("per-", status);
+    }
+
+    if (singleUnit.isDimensionless()) {
+        status = U_INTERNAL_PROGRAM_ERROR;
+        return;
+    }
+    int8_t posPower = std::abs(singleUnit.dimensionality);
+    if (posPower == 0) {
+        status = U_INTERNAL_PROGRAM_ERROR;
+    } else if (posPower == 1) {
+        // no-op
+    } else if (posPower == 2) {
+        output.append("square-", status);
+    } else if (posPower == 3) {
+        output.append("cubic-", status);
+    } else if (posPower < 10) {
+        output.append('p', status);
+        output.append(posPower + '0', status);
+        output.append('-', status);
+    } else if (posPower <= 15) {
+        output.append("p1", status);
+        output.append('0' + (posPower % 10), status);
+        output.append('-', status);
+    } else {
+        status = kUnitIdentifierSyntaxError;
+    }
+    if (U_FAILURE(status)) {
+        return;
+    }
+
+    if (singleUnit.siPrefix != UMEASURE_SI_PREFIX_ONE) {
+        for (const auto& siPrefixInfo : gSIPrefixStrings) {
+            if (siPrefixInfo.value == singleUnit.siPrefix) {
+                output.append(siPrefixInfo.string, status);
+                break;
+            }
+        }
+    }
+    if (U_FAILURE(status)) {
+        return;
+    }
+
+    output.appendInvariantChars(gSimpleUnits[singleUnit.index], status);
+}
+
+/**
+ * Normalize a MeasureUnitImpl and generate the identifier string in place.
+ */
+void serialize(MeasureUnitImpl& impl, UErrorCode& status) {
+    if (U_FAILURE(status)) {
+        return;
+    }
+    U_ASSERT(impl.identifier.isEmpty());
+    if (impl.units.length() == 0) {
+        // Dimensionless, constructed by the default constructor: no appending
+        // to impl.identifier, we wish it to contain the zero-length string.
+        return;
+    }
+    if (impl.complexity == UMEASURE_UNIT_COMPOUND) {
+        // Note: don't sort a MIXED unit
+        uprv_sortArray(
+            impl.units.getAlias(),
+            impl.units.length(),
+            sizeof(impl.units[0]),
+            compareSingleUnits,
+            nullptr,
+            false,
+            &status);
+        if (U_FAILURE(status)) {
+            return;
+        }
+    }
+    serializeSingle(*impl.units[0], true, impl.identifier, status);
+    if (impl.units.length() == 1) {
+        return;
+    }
+    for (int32_t i = 1; i < impl.units.length(); i++) {
+        const SingleUnitImpl& prev = *impl.units[i-1];
+        const SingleUnitImpl& curr = *impl.units[i];
+        if (impl.complexity == UMEASURE_UNIT_MIXED) {
+            impl.identifier.append("-and-", status);
+            serializeSingle(curr, true, impl.identifier, status);
+        } else {
+            if (prev.dimensionality > 0 && curr.dimensionality < 0) {
+                impl.identifier.append("-per-", status);
+            } else {
+                impl.identifier.append('-', status);
+            }
+            serializeSingle(curr, false, impl.identifier, status);
+        }
+    }
+
+}
+
+/**
+ * Appends a SingleUnitImpl to a MeasureUnitImpl.
+ *
+ * @return true if a new item was added. If unit is the dimensionless unit, it
+ * is never added: the return value will always be false.
+ */
+bool appendImpl(MeasureUnitImpl& impl, const SingleUnitImpl& unit, UErrorCode& status) {
+    if (unit.isDimensionless()) {
+        // We don't append dimensionless units.
+        return false;
+    }
+    // Find a similar unit that already exists, to attempt to coalesce
+    SingleUnitImpl* oldUnit = nullptr;
+    for (int32_t i = 0; i < impl.units.length(); i++) {
+        auto* candidate = impl.units[i];
+        if (candidate->isCompatibleWith(unit)) {
+            oldUnit = candidate;
+        }
+    }
+    if (oldUnit) {
+        // Both dimensionalities will be positive, or both will be negative, by
+        // virtue of isCompatibleWith().
+        oldUnit->dimensionality += unit.dimensionality;
+    } else {
+        SingleUnitImpl* destination = impl.units.emplaceBack();
+        if (!destination) {
+            status = U_MEMORY_ALLOCATION_ERROR;
+            return false;
+        }
+        *destination = unit;
+    }
+    return (oldUnit == nullptr);
+}
+
+} // namespace
+
+
+SingleUnitImpl SingleUnitImpl::forMeasureUnit(const MeasureUnit& measureUnit, UErrorCode& status) {
+    MeasureUnitImpl temp;
+    const MeasureUnitImpl& impl = MeasureUnitImpl::forMeasureUnit(measureUnit, temp, status);
+    if (U_FAILURE(status)) {
+        return {};
+    }
+    if (impl.units.length() == 0) {
+        return {};
+    }
+    if (impl.units.length() == 1) {
+        return *impl.units[0];
+    }
+    status = U_ILLEGAL_ARGUMENT_ERROR;
+    return {};
+}
+
+MeasureUnit SingleUnitImpl::build(UErrorCode& status) const {
+    MeasureUnitImpl temp;
+    temp.append(*this, status);
+    return std::move(temp).build(status);
+}
+
+
+MeasureUnitImpl MeasureUnitImpl::forIdentifier(StringPiece identifier, UErrorCode& status) {
+    return Parser::from(identifier, status).parse(status);
+}
+
+const MeasureUnitImpl& MeasureUnitImpl::forMeasureUnit(
+        const MeasureUnit& measureUnit, MeasureUnitImpl& memory, UErrorCode& status) {
+    if (measureUnit.fImpl) {
+        return *measureUnit.fImpl;
+    } else {
+        memory = Parser::from(measureUnit.getIdentifier(), status).parse(status);
+        return memory;
+    }
+}
+
+MeasureUnitImpl MeasureUnitImpl::forMeasureUnitMaybeCopy(
+        const MeasureUnit& measureUnit, UErrorCode& status) {
+    if (measureUnit.fImpl) {
+        return measureUnit.fImpl->copy(status);
+    } else {
+        return Parser::from(measureUnit.getIdentifier(), status).parse(status);
+    }
+}
+
+void MeasureUnitImpl::takeReciprocal(UErrorCode& /*status*/) {
+    identifier.clear();
+    for (int32_t i = 0; i < units.length(); i++) {
+        units[i]->dimensionality *= -1;
+    }
+}
+
+bool MeasureUnitImpl::append(const SingleUnitImpl& singleUnit, UErrorCode& status) {
+    identifier.clear();
+    return appendImpl(*this, singleUnit, status);
+}
+
+MeasureUnit MeasureUnitImpl::build(UErrorCode& status) && {
+    serialize(*this, status);
+    return MeasureUnit(std::move(*this));
+}
+
+
+MeasureUnit MeasureUnit::forIdentifier(StringPiece identifier, UErrorCode& status) {
+    return Parser::from(identifier, status).parse(status).build(status);
+}
+
+UMeasureUnitComplexity MeasureUnit::getComplexity(UErrorCode& status) const {
+    MeasureUnitImpl temp;
+    return MeasureUnitImpl::forMeasureUnit(*this, temp, status).complexity;
+}
+
+UMeasureSIPrefix MeasureUnit::getSIPrefix(UErrorCode& status) const {
+    return SingleUnitImpl::forMeasureUnit(*this, status).siPrefix;
+}
+
+MeasureUnit MeasureUnit::withSIPrefix(UMeasureSIPrefix prefix, UErrorCode& status) const {
+    SingleUnitImpl singleUnit = SingleUnitImpl::forMeasureUnit(*this, status);
+    singleUnit.siPrefix = prefix;
+    return singleUnit.build(status);
+}
+
+int32_t MeasureUnit::getDimensionality(UErrorCode& status) const {
+    SingleUnitImpl singleUnit = SingleUnitImpl::forMeasureUnit(*this, status);
+    if (U_FAILURE(status)) { return 0; }
+    if (singleUnit.isDimensionless()) {
+        return 0;
+    }
+    return singleUnit.dimensionality;
+}
+
+MeasureUnit MeasureUnit::withDimensionality(int32_t dimensionality, UErrorCode& status) const {
+    SingleUnitImpl singleUnit = SingleUnitImpl::forMeasureUnit(*this, status);
+    singleUnit.dimensionality = dimensionality;
+    return singleUnit.build(status);
+}
+
+MeasureUnit MeasureUnit::reciprocal(UErrorCode& status) const {
+    MeasureUnitImpl impl = MeasureUnitImpl::forMeasureUnitMaybeCopy(*this, status);
+    impl.takeReciprocal(status);
+    return std::move(impl).build(status);
+}
+
+MeasureUnit MeasureUnit::product(const MeasureUnit& other, UErrorCode& status) const {
+    MeasureUnitImpl impl = MeasureUnitImpl::forMeasureUnitMaybeCopy(*this, status);
+    MeasureUnitImpl temp;
+    const MeasureUnitImpl& otherImpl = MeasureUnitImpl::forMeasureUnit(other, temp, status);
+    if (impl.complexity == UMEASURE_UNIT_MIXED || otherImpl.complexity == UMEASURE_UNIT_MIXED) {
+        status = U_ILLEGAL_ARGUMENT_ERROR;
+        return {};
+    }
+    for (int32_t i = 0; i < otherImpl.units.length(); i++) {
+        impl.append(*otherImpl.units[i], status);
+    }
+    if (impl.units.length() > 1) {
+        impl.complexity = UMEASURE_UNIT_COMPOUND;
+    }
+    return std::move(impl).build(status);
+}
+
+LocalArray<MeasureUnit> MeasureUnit::splitToSingleUnits(int32_t& outCount, UErrorCode& status) const {
+    MeasureUnitImpl temp;
+    const MeasureUnitImpl& impl = MeasureUnitImpl::forMeasureUnit(*this, temp, status);
+    outCount = impl.units.length();
+    MeasureUnit* arr = new MeasureUnit[outCount];
+    for (int32_t i = 0; i < outCount; i++) {
+        arr[i] = impl.units[i]->build(status);
+    }
+    return LocalArray<MeasureUnit>(arr, status);
+}
+
+
+U_NAMESPACE_END
+
+#endif /* !UNCONFIG_NO_FORMATTING */
diff --git a/source/i18n/measunit_impl.h b/source/i18n/measunit_impl.h
new file mode 100644 (file)
index 0000000..c69d243
--- /dev/null
@@ -0,0 +1,213 @@
+// © 2020 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
+
+#ifndef __MEASUNIT_IMPL_H__
+#define __MEASUNIT_IMPL_H__
+
+#include "unicode/utypes.h"
+
+#if !UCONFIG_NO_FORMATTING
+
+#include "unicode/measunit.h"
+#include "cmemory.h"
+#include "charstr.h"
+
+U_NAMESPACE_BEGIN
+
+
+static const char16_t kDefaultCurrency[] = u"XXX";
+static const char kDefaultCurrency8[] = "XXX";
+
+
+/**
+ * A struct representing a single unit (optional SI prefix and dimensionality).
+ */
+struct SingleUnitImpl : public UMemory {
+    /**
+     * Gets a single unit from the MeasureUnit. If there are multiple single units, sets an error
+     * code and returns the base dimensionless unit. Parses if necessary.
+     */
+    static SingleUnitImpl forMeasureUnit(const MeasureUnit& measureUnit, UErrorCode& status);
+
+    /** Transform this SingleUnitImpl into a MeasureUnit, simplifying if possible. */
+    MeasureUnit build(UErrorCode& status) const;
+
+    /**
+     * Compare this SingleUnitImpl to another SingleUnitImpl for the sake of
+     * sorting and coalescing.
+     *
+     * Takes the sign of dimensionality into account, but not the absolute
+     * value: per-meter is not considered the same as meter, but meter is
+     * considered the same as square-meter.
+     *
+     * The dimensionless unit generally does not get compared, but if it did, it
+     * would sort before other units by virtue of index being < 0 and
+     * dimensionality not being negative.
+     */
+    int32_t compareTo(const SingleUnitImpl& other) const {
+        if (dimensionality < 0 && other.dimensionality > 0) {
+            // Positive dimensions first
+            return 1;
+        }
+        if (dimensionality > 0 && other.dimensionality < 0) {
+            return -1;
+        }
+        if (index < other.index) {
+            return -1;
+        }
+        if (index > other.index) {
+            return 1;
+        }
+        if (siPrefix < other.siPrefix) {
+            return -1;
+        }
+        if (siPrefix > other.siPrefix) {
+            return 1;
+        }
+        return 0;
+    }
+
+    /**
+     * Return whether this SingleUnitImpl is compatible with another for the purpose of coalescing.
+     *
+     * Units with the same base unit and SI prefix should match, except that they must also have
+     * the same dimensionality sign, such that we don't merge numerator and denominator.
+     */
+    bool isCompatibleWith(const SingleUnitImpl& other) const {
+        return (compareTo(other) == 0);
+    }
+
+    /**
+     * Returns true if this unit is the "dimensionless base unit", as produced
+     * by the MeasureUnit() default constructor. (This does not include the
+     * likes of concentrations or angles.)
+     */
+    bool isDimensionless() const {
+        return index == -1;
+    }
+
+    /**
+     * Simple unit index, unique for every simple unit, -1 for the dimensionless
+     * unit. This is an index into a string list in measunit_extra.cpp.
+     *
+     * The default value is -1, meaning the dimensionless unit:
+     * isDimensionless() will return true, until index is changed.
+     */
+    int32_t index = -1;
+
+    /**
+     * SI prefix.
+     *
+     * This is ignored for the dimensionless unit.
+     */
+    UMeasureSIPrefix siPrefix = UMEASURE_SI_PREFIX_ONE;
+
+    /**
+     * Dimensionality.
+     *
+     * This is meaningless for the dimensionless unit.
+     */
+    int32_t dimensionality = 1;
+};
+
+
+/**
+ * Internal representation of measurement units. Capable of representing all complexities of units,
+ * including mixed and compound units.
+ */
+struct MeasureUnitImpl : public UMemory {
+    /** Extract the MeasureUnitImpl from a MeasureUnit. */
+    static inline const MeasureUnitImpl* get(const MeasureUnit& measureUnit) {
+        return measureUnit.fImpl;
+    }
+
+    /**
+     * Parse a unit identifier into a MeasureUnitImpl.
+     *
+     * @param identifier The unit identifier string.
+     * @param status Set if the identifier string is not valid.
+     * @return A newly parsed value object. Behaviour of this unit is
+     * unspecified if an error is returned via status.
+     */
+    static MeasureUnitImpl forIdentifier(StringPiece identifier, UErrorCode& status);
+
+    /**
+     * Extract the MeasureUnitImpl from a MeasureUnit, or parse if it is not present.
+     * 
+     * @param measureUnit The source MeasureUnit.
+     * @param memory A place to write the new MeasureUnitImpl if parsing is required.
+     * @param status Set if an error occurs.
+     * @return A reference to either measureUnit.fImpl or memory.
+     */
+    static const MeasureUnitImpl& forMeasureUnit(
+        const MeasureUnit& measureUnit, MeasureUnitImpl& memory, UErrorCode& status);
+
+    /**
+     * Extract the MeasureUnitImpl from a MeasureUnit, or parse if it is not present.
+     *
+     * @param measureUnit The source MeasureUnit.
+     * @param status Set if an error occurs.
+     * @return A value object, either newly parsed or copied from measureUnit.
+     */
+    static MeasureUnitImpl forMeasureUnitMaybeCopy(
+        const MeasureUnit& measureUnit, UErrorCode& status);
+
+    /**
+     * Used for currency units.
+     */
+    static inline MeasureUnitImpl forCurrencyCode(StringPiece currencyCode) {
+        MeasureUnitImpl result;
+        UErrorCode localStatus = U_ZERO_ERROR;
+        result.identifier.append(currencyCode, localStatus);
+        // localStatus is not expected to fail since currencyCode should be 3 chars long
+        return result;
+    }
+
+    /** Transform this MeasureUnitImpl into a MeasureUnit, simplifying if possible. */
+    MeasureUnit build(UErrorCode& status) &&;
+
+    /**
+     * Create a copy of this MeasureUnitImpl. Don't use copy constructor to make this explicit.
+     */
+    inline MeasureUnitImpl copy(UErrorCode& status) const {
+        MeasureUnitImpl result;
+        result.complexity = complexity;
+        result.units.appendAll(units, status);
+        result.identifier.append(identifier, status);
+        return result;
+    }
+
+    /** Mutates this MeasureUnitImpl to take the reciprocal. */
+    void takeReciprocal(UErrorCode& status);
+
+    /**
+     * Mutates this MeasureUnitImpl to append a single unit.
+     *
+     * @return true if a new item was added. If unit is the dimensionless unit,
+     * it is never added: the return value will always be false.
+     */
+    bool append(const SingleUnitImpl& singleUnit, UErrorCode& status);
+
+    /** The complexity, either SINGLE, COMPOUND, or MIXED. */
+    UMeasureUnitComplexity complexity = UMEASURE_UNIT_SINGLE;
+
+    /**
+     * The list of simple units. These may be summed or multiplied, based on the
+     * value of the complexity field.
+     *
+     * The "dimensionless" unit (SingleUnitImpl default constructor) must not be
+     * added to this list.
+     */
+    MaybeStackVector<SingleUnitImpl> units;
+
+    /**
+     * The full unit identifier.  Owned by the MeasureUnitImpl.  Empty if not computed.
+     */
+    CharString identifier;
+};
+
+
+U_NAMESPACE_END
+
+#endif /* #if !UCONFIG_NO_FORMATTING */
+#endif //__MEASUNIT_IMPL_H__
index 52bab80..dcf8d85 100644 (file)
@@ -190,6 +190,7 @@ void NameUnicodeTransliterator::handleTransliterate(Replaceable& text, UTransPos
                 }
 
                 if (uprv_isInvariantUString(name.getBuffer(), len)) {
+                    cbuf[0] = 0;
                     name.extract(0, len, cbuf, maxLen, US_INV);
 
                     UErrorCode status = U_ZERO_ERROR;
index 076f76f..1d4aa05 100644 (file)
@@ -11,7 +11,7 @@ U_NAMESPACE_BEGIN
 UOBJECT_DEFINE_RTTI_IMPLEMENTATION(NoUnit)
 
 NoUnit U_EXPORT2 NoUnit::base() {
-    return NoUnit("base");
+    return NoUnit("");
 }
 
 NoUnit U_EXPORT2 NoUnit::percent() {
index 1039a84..a74ec2d 100644 (file)
@@ -131,25 +131,25 @@ UnicodeString AffixUtils::escape(const UnicodeString &input) {
 Field AffixUtils::getFieldForType(AffixPatternType type) {
     switch (type) {
         case TYPE_MINUS_SIGN:
-            return UNUM_SIGN_FIELD;
+            return {UFIELD_CATEGORY_NUMBER, UNUM_SIGN_FIELD};
         case TYPE_PLUS_SIGN:
-            return UNUM_SIGN_FIELD;
+            return {UFIELD_CATEGORY_NUMBER, UNUM_SIGN_FIELD};
         case TYPE_PERCENT:
-            return UNUM_PERCENT_FIELD;
+            return {UFIELD_CATEGORY_NUMBER, UNUM_PERCENT_FIELD};
         case TYPE_PERMILLE:
-            return UNUM_PERMILL_FIELD;
+            return {UFIELD_CATEGORY_NUMBER, UNUM_PERMILL_FIELD};
         case TYPE_CURRENCY_SINGLE:
-            return UNUM_CURRENCY_FIELD;
+            return {UFIELD_CATEGORY_NUMBER, UNUM_CURRENCY_FIELD};
         case TYPE_CURRENCY_DOUBLE:
-            return UNUM_CURRENCY_FIELD;
+            return {UFIELD_CATEGORY_NUMBER, UNUM_CURRENCY_FIELD};
         case TYPE_CURRENCY_TRIPLE:
-            return UNUM_CURRENCY_FIELD;
+            return {UFIELD_CATEGORY_NUMBER, UNUM_CURRENCY_FIELD};
         case TYPE_CURRENCY_QUAD:
-            return UNUM_CURRENCY_FIELD;
+            return {UFIELD_CATEGORY_NUMBER, UNUM_CURRENCY_FIELD};
         case TYPE_CURRENCY_QUINT:
-            return UNUM_CURRENCY_FIELD;
+            return {UFIELD_CATEGORY_NUMBER, UNUM_CURRENCY_FIELD};
         case TYPE_CURRENCY_OVERFLOW:
-            return UNUM_CURRENCY_FIELD;
+            return {UFIELD_CATEGORY_NUMBER, UNUM_CURRENCY_FIELD};
         default:
             UPRV_UNREACHABLE;
     }
@@ -165,7 +165,11 @@ AffixUtils::unescape(const UnicodeString &affixPattern, FormattedStringBuilder &
         if (U_FAILURE(status)) { return length; }
         if (tag.type == TYPE_CURRENCY_OVERFLOW) {
             // Don't go to the provider for this special case
-            length += output.insertCodePoint(position + length, 0xFFFD, UNUM_CURRENCY_FIELD, status);
+            length += output.insertCodePoint(
+                position + length,
+                0xFFFD,
+                {UFIELD_CATEGORY_NUMBER, UNUM_CURRENCY_FIELD},
+                status);
         } else if (tag.type < 0) {
             length += output.insert(
                     position + length, provider.getSymbol(tag.type), getFieldForType(tag.type), status);
@@ -218,7 +222,7 @@ bool AffixUtils::hasCurrencySymbols(const UnicodeString &affixPattern, UErrorCod
     while (hasNext(tag, affixPattern)) {
         tag = nextToken(tag, affixPattern, status);
         if (U_FAILURE(status)) { return false; }
-        if (tag.type < 0 && getFieldForType(tag.type) == UNUM_CURRENCY_FIELD) {
+        if (tag.type < 0 && getFieldForType(tag.type) == Field(UFIELD_CATEGORY_NUMBER, UNUM_CURRENCY_FIELD)) {
             return true;
         }
     }
index e876174..9d10d1f 100644 (file)
@@ -102,4 +102,16 @@ const LocalizedNumberFormatter& LocalizedNumberFormatterAsFormat::getNumberForma
     return fFormatter;
 }
 
+
+// Definitions of public API methods (put here for dependency disentanglement)
+
+Format* LocalizedNumberFormatter::toFormat(UErrorCode& status) const {
+    if (U_FAILURE(status)) {
+        return nullptr;
+    }
+    LocalPointer<LocalizedNumberFormatterAsFormat> retval(
+            new LocalizedNumberFormatterAsFormat(*this, fMacros.locale), status);
+    return retval.orphan();
+}
+
 #endif /* #if !UCONFIG_NO_FORMATTING */
index f802e21..21a600d 100644 (file)
@@ -156,7 +156,7 @@ unumf_resultToString(const UFormattedNumber* uresult, UChar* buffer, int32_t buf
         return 0;
     }
 
-    return result->fImpl.toTempString(*ec).extract(buffer, bufferCapacity, *ec);
+    return result->fData.toTempString(*ec).extract(buffer, bufferCapacity, *ec);
 }
 
 U_CAPI UBool U_EXPORT2
@@ -173,7 +173,7 @@ unumf_resultNextFieldPosition(const UFormattedNumber* uresult, UFieldPosition* u
     fp.setField(ufpos->field);
     fp.setBeginIndex(ufpos->beginIndex);
     fp.setEndIndex(ufpos->endIndex);
-    bool retval = result->fImpl.nextFieldPosition(fp, *ec);
+    bool retval = result->fData.nextFieldPosition(fp, *ec);
     ufpos->beginIndex = fp.getBeginIndex();
     ufpos->endIndex = fp.getEndIndex();
     // NOTE: MSVC sometimes complains when implicitly converting between bool and UBool
@@ -192,7 +192,8 @@ unumf_resultGetAllFieldPositions(const UFormattedNumber* uresult, UFieldPosition
     }
 
     auto* fpi = reinterpret_cast<FieldPositionIterator*>(ufpositer);
-    result->fImpl.getAllFieldPositions(*fpi, *ec);
+    FieldPositionIteratorHandler fpih(fpi, *ec);
+    result->fData.getAllFieldPositions(fpih, *ec);
 }
 
 U_CAPI void U_EXPORT2
index 3d25999..e1fef8f 100644 (file)
@@ -215,19 +215,25 @@ void CompactData::CompactDataSink::put(const char *key, ResourceValue &value, UB
 /// END OF CompactData.java; BEGIN CompactNotation.java ///
 ///////////////////////////////////////////////////////////
 
-CompactHandler::CompactHandler(CompactStyle compactStyle, const Locale &locale, const char *nsName,
-                               CompactType compactType, const PluralRules *rules,
-                               MutablePatternModifier *buildReference, const MicroPropsGenerator *parent,
-                               UErrorCode &status)
-        : rules(rules), parent(parent) {
+CompactHandler::CompactHandler(
+        CompactStyle compactStyle,
+        const Locale &locale,
+        const char *nsName,
+        CompactType compactType,
+        const PluralRules *rules,
+        MutablePatternModifier *buildReference,
+        bool safe,
+        const MicroPropsGenerator *parent,
+        UErrorCode &status)
+        : rules(rules), parent(parent), safe(safe) {
     data.populate(locale, nsName, compactStyle, compactType, status);
-    if (buildReference != nullptr) {
+    if (safe) {
         // Safe code path
         precomputeAllModifiers(*buildReference, status);
-        safe = TRUE;
     } else {
         // Unsafe code path
-        safe = FALSE;
+        // Store the MutablePatternModifier reference.
+        unsafePatternModifier = buildReference;
     }
 }
 
@@ -260,7 +266,7 @@ void CompactHandler::precomputeAllModifiers(MutablePatternModifier &buildReferen
         ParsedPatternInfo patternInfo;
         PatternParser::parseToPatternInfo(UnicodeString(patternString), patternInfo, status);
         if (U_FAILURE(status)) { return; }
-        buildReference.setPatternInfo(&patternInfo, UNUM_COMPACT_FIELD);
+        buildReference.setPatternInfo(&patternInfo, {UFIELD_CATEGORY_NUMBER, UNUM_COMPACT_FIELD});
         info.mod = buildReference.createImmutable(status);
         if (U_FAILURE(status)) { return; }
         info.patternString = patternString;
@@ -274,12 +280,13 @@ void CompactHandler::processQuantity(DecimalQuantity &quantity, MicroProps &micr
 
     // Treat zero, NaN, and infinity as if they had magnitude 0
     int32_t magnitude;
+    int32_t multiplier = 0;
     if (quantity.isZeroish()) {
         magnitude = 0;
         micros.rounder.apply(quantity, status);
     } else {
         // TODO: Revisit chooseMultiplierAndApply
-        int32_t multiplier = micros.rounder.chooseMultiplierAndApply(quantity, data, status);
+        multiplier = micros.rounder.chooseMultiplierAndApply(quantity, data, status);
         magnitude = quantity.isZeroish() ? 0 : quantity.getMagnitude();
         magnitude -= multiplier;
     }
@@ -309,10 +316,18 @@ void CompactHandler::processQuantity(DecimalQuantity &quantity, MicroProps &micr
         // C++ Note: Use unsafePatternInfo for proper lifecycle.
         ParsedPatternInfo &patternInfo = const_cast<CompactHandler *>(this)->unsafePatternInfo;
         PatternParser::parseToPatternInfo(UnicodeString(patternString), patternInfo, status);
-        static_cast<MutablePatternModifier*>(const_cast<Modifier*>(micros.modMiddle))
-            ->setPatternInfo(&patternInfo, UNUM_COMPACT_FIELD);
+        unsafePatternModifier->setPatternInfo(
+            &unsafePatternInfo,
+            {UFIELD_CATEGORY_NUMBER, UNUM_COMPACT_FIELD});
+        unsafePatternModifier->setNumberProperties(quantity.signum(), StandardPlural::Form::COUNT);
+        micros.modMiddle = unsafePatternModifier;
     }
 
+    // Change the exponent only after we select appropriate plural form
+    // for formatting purposes so that we preserve expected formatted
+    // string behavior.
+    quantity.adjustExponent(-1 * multiplier);
+
     // We already performed rounding. Do not perform it again.
     micros.rounder = RoundingImpl::passThrough();
 }
index dda5f9f..199d39f 100644 (file)
@@ -56,10 +56,16 @@ struct CompactModInfo {
 
 class CompactHandler : public MicroPropsGenerator, public UMemory {
   public:
-    CompactHandler(CompactStyle compactStyle, const Locale &locale, const char *nsName,
-                   CompactType compactType, const PluralRules *rules,
-                   MutablePatternModifier *buildReference, const MicroPropsGenerator *parent,
-                   UErrorCode &status);
+    CompactHandler(
+            CompactStyle compactStyle,
+            const Locale &locale,
+            const char *nsName,
+            CompactType compactType,
+            const PluralRules *rules,
+            MutablePatternModifier *buildReference,
+            bool safe,
+            const MicroPropsGenerator *parent,
+            UErrorCode &status);
 
     ~CompactHandler() U_OVERRIDE;
 
@@ -74,6 +80,7 @@ class CompactHandler : public MicroPropsGenerator, public UMemory {
     int32_t precomputedModsLength = 0;
     CompactData data;
     ParsedPatternInfo unsafePatternInfo;
+    MutablePatternModifier* unsafePatternModifier;
     UBool safe;
 
     /** Used by the safe code path */
index 2c4c2ce..482e93d 100644 (file)
@@ -120,6 +120,7 @@ void DecimalQuantity::copyFieldsFrom(const DecimalQuantity& other) {
     origDouble = other.origDouble;
     origDelta = other.origDelta;
     isApproximate = other.isApproximate;
+    exponent = other.exponent;
 }
 
 void DecimalQuantity::clear() {
@@ -269,11 +270,21 @@ double DecimalQuantity::getPluralOperand(PluralOperand operand) const {
             return fractionCount();
         case PLURAL_OPERAND_W:
             return fractionCountWithoutTrailingZeros();
+        case PLURAL_OPERAND_E:
+            return static_cast<double>(getExponent());
         default:
             return std::abs(toDouble());
     }
 }
 
+int32_t DecimalQuantity::getExponent() const {
+    return exponent;
+}
+
+void DecimalQuantity::adjustExponent(int delta) {
+    exponent = exponent + delta;
+}
+
 bool DecimalQuantity::hasIntegerValue() const {
     return scale >= 0;
 }
@@ -307,11 +318,13 @@ int8_t DecimalQuantity::getDigit(int32_t magnitude) const {
 }
 
 int32_t DecimalQuantity::fractionCount() const {
-    return -getLowerDisplayMagnitude();
+    int32_t fractionCountWithExponent = -getLowerDisplayMagnitude() - exponent;
+    return fractionCountWithExponent > 0 ? fractionCountWithExponent : 0;
 }
 
 int32_t DecimalQuantity::fractionCountWithoutTrailingZeros() const {
-    return -scale > 0 ? -scale : 0;  // max(-scale, 0)
+    int32_t fractionCountWithExponent = -scale - exponent;
+    return fractionCountWithExponent > 0 ? fractionCountWithExponent : 0;  // max(-fractionCountWithExponent, 0)
 }
 
 bool DecimalQuantity::isNegative() const {
@@ -319,10 +332,14 @@ bool DecimalQuantity::isNegative() const {
 }
 
 Signum DecimalQuantity::signum() const {
-    if (isNegative()) {
+    bool isZero = (isZeroish() && !isInfinite());
+    bool isNeg = isNegative();
+    if (isZero && isNeg) {
+        return SIGNUM_NEG_ZERO;
+    } else if (isZero) {
+        return SIGNUM_POS_ZERO;
+    } else if (isNeg) {
         return SIGNUM_NEG;
-    } else if (isZeroish() && !isInfinite()) {
-        return SIGNUM_ZERO;
     } else {
         return SIGNUM_POS;
     }
@@ -422,9 +439,6 @@ void DecimalQuantity::_setToDoubleFast(double n) {
     // TODO: Make a fast path for other types of doubles.
     if (!std::numeric_limits<double>::is_iec559) {
         convertToAccurateDouble();
-        // Turn off the approximate double flag, since the value is now exact.
-        isApproximate = false;
-        origDouble = 0.0;
         return;
     }
 
@@ -439,8 +453,14 @@ void DecimalQuantity::_setToDoubleFast(double n) {
         return;
     }
 
+    if (exponent == -1023 || exponent == 1024) {
+        // The extreme values of exponent are special; use slow path.
+        convertToAccurateDouble();
+        return;
+    }
+
     // 3.3219... is log2(10)
-    auto fracLength = static_cast<int32_t> ((52 - exponent) / 3.32192809489);
+    auto fracLength = static_cast<int32_t> ((52 - exponent) / 3.32192809488736234787031942948939017586);
     if (fracLength >= 0) {
         int32_t i = fracLength;
         // 1e22 is the largest exact double.
@@ -452,7 +472,7 @@ void DecimalQuantity::_setToDoubleFast(double n) {
         for (; i <= -22; i += 22) n /= 1e22;
         n /= DOUBLE_MULTIPLIERS[-i];
     }
-    auto result = static_cast<int64_t>(std::round(n));
+    auto result = static_cast<int64_t>(uprv_round(n));
     if (result != 0) {
         _setToLong(result);
         scale -= fracLength;
@@ -521,12 +541,12 @@ int64_t DecimalQuantity::toLong(bool truncateIfOverflow) const {
     // if (dq.fitsInLong()) { /* use dq.toLong() */ } else { /* use some fallback */ }
     // Fallback behavior upon truncateIfOverflow is to truncate at 17 digits.
     uint64_t result = 0L;
-    int32_t upperMagnitude = scale + precision - 1;
+    int32_t upperMagnitude = exponent + scale + precision - 1;
     if (truncateIfOverflow) {
         upperMagnitude = std::min(upperMagnitude, 17);
     }
     for (int32_t magnitude = upperMagnitude; magnitude >= 0; magnitude--) {
-        result = result * 10 + getDigitPos(magnitude - scale);
+        result = result * 10 + getDigitPos(magnitude - scale - exponent);
     }
     if (isNegative()) {
         return static_cast<int64_t>(0LL - result); // i.e., -result
@@ -536,7 +556,7 @@ int64_t DecimalQuantity::toLong(bool truncateIfOverflow) const {
 
 uint64_t DecimalQuantity::toFractionLong(bool includeTrailingZeros) const {
     uint64_t result = 0L;
-    int32_t magnitude = -1;
+    int32_t magnitude = -1 - exponent;
     int32_t lowerMagnitude = scale;
     if (includeTrailingZeros) {
         lowerMagnitude = std::min(lowerMagnitude, rReqPos);
@@ -560,7 +580,7 @@ bool DecimalQuantity::fitsInLong(bool ignoreFraction) const {
     if (isZeroish()) {
         return true;
     }
-    if (scale < 0 && !ignoreFraction) {
+    if (exponent + scale < 0 && !ignoreFraction) {
         return false;
     }
     int magnitude = getMagnitude();
@@ -877,12 +897,30 @@ UnicodeString DecimalQuantity::toPlainString() const {
     if (isNegative()) {
         sb.append(u'-');
     }
-    if (precision == 0 || getMagnitude() < 0) {
+    if (precision == 0) {
         sb.append(u'0');
+        return sb;
+    }
+    int32_t upper = scale + precision + exponent - 1;
+    int32_t lower = scale + exponent;
+    if (upper < lReqPos - 1) {
+        upper = lReqPos - 1;
+    }
+    if (lower > rReqPos) {
+        lower = rReqPos;
+    }    
+    int32_t p = upper;
+    if (p < 0) {
+        sb.append(u'0');
+    }
+    for (; p >= 0; p--) {
+        sb.append(u'0' + getDigitPos(p - scale - exponent));
+    }
+    if (lower < 0) {
+        sb.append(u'.');
     }
-    for (int m = getUpperDisplayMagnitude(); m >= getLowerDisplayMagnitude(); m--) {
-        if (m == -1) { sb.append(u'.'); }
-        sb.append(getDigit(m) + u'0');
+    for(; p >= lower; p--) {
+        sb.append(u'0' + getDigitPos(p - scale - exponent));
     }
     return sb;
 }
@@ -908,7 +946,7 @@ UnicodeString DecimalQuantity::toScientificString() const {
         }
     }
     result.append(u'E');
-    int32_t _scale = upperPos + scale;
+    int32_t _scale = upperPos + scale + exponent;
     if (_scale == INT32_MIN) {
         result.append({u"-2147483648", -1});
         return result;
@@ -1021,6 +1059,7 @@ void DecimalQuantity::setBcdToZero() {
     isApproximate = false;
     origDouble = 0;
     origDelta = 0;
+    exponent = 0;
 }
 
 void DecimalQuantity::readIntToBcd(int32_t n) {
index 4ec6c5a..d9b35c0 100644 (file)
@@ -147,6 +147,26 @@ class U_I18N_API DecimalQuantity : public IFixedDecimal, public UMemory {
     int32_t getMagnitude() const;
 
     /**
+     * @return The value of the (suppressed) exponent after the number has been
+     * put into a notation with exponents (ex: compact, scientific).  Ex: given
+     * the number 1000 as "1K" / "1E3", the return value will be 3 (positive).
+     */
+    int32_t getExponent() const;
+
+    /**
+     * Adjusts the value for the (suppressed) exponent stored when using
+     * notation with exponents (ex: compact, scientific).
+     *
+     * <p>Adjusting the exponent is decoupled from {@link #adjustMagnitude} in
+     * order to allow flexibility for {@link StandardPlural} to be selected in
+     * formatting (ex: for compact notation) either with or without the exponent
+     * applied in the value of the number.
+     * @param delta
+     *             The value to adjust the exponent by.
+     */
+    void adjustExponent(int32_t delta);
+
+    /**
      * @return Whether the value represented by this {@link DecimalQuantity} is
      * zero, infinity, or NaN.
      */
@@ -164,9 +184,19 @@ class U_I18N_API DecimalQuantity : public IFixedDecimal, public UMemory {
     /** @return Whether the value represented by this {@link DecimalQuantity} is not a number. */
     bool isNaN() const U_OVERRIDE;
 
-    /** @param truncateIfOverflow if false and the number does NOT fit, fails with an assertion error. */
+    /**  
+     * Note: this method incorporates the value of {@code exponent}
+     * (for cases such as compact notation) to return the proper long value
+     * represented by the result.
+     * @param truncateIfOverflow if false and the number does NOT fit, fails with an assertion error. 
+     */
     int64_t toLong(bool truncateIfOverflow = false) const;
 
+    /**
+     * Note: this method incorporates the value of {@code exponent}
+     * (for cases such as compact notation) to return the proper long value
+     * represented by the result.
+     */
     uint64_t toFractionLong(bool includeTrailingZeros) const;
 
     /**
@@ -351,6 +381,10 @@ class U_I18N_API DecimalQuantity : public IFixedDecimal, public UMemory {
     int32_t lReqPos = 0;
     int32_t rReqPos = 0;
 
+    // The value of the (suppressed) exponent after the number has been put into
+    // a notation with exponents (ex: compact, scientific).
+    int32_t exponent = 0;
+
     /**
      * The BCD of the 16 digits of the number represented by this object. Every 4 bits of the long map
      * to one digit. For example, the number "12345" in BCD is "0x12345".
@@ -423,7 +457,7 @@ class U_I18N_API DecimalQuantity : public IFixedDecimal, public UMemory {
 
     /**
      * Sets the internal representation to zero. Clears any values stored in scale, precision,
-     * hasDouble, origDouble, origDelta, and BCD data.
+     * hasDouble, origDouble, origDelta, exponent, and BCD data.
      */
     void setBcdToZero();
 
index 2dbd2fa..9cdb8b7 100644 (file)
@@ -11,7 +11,6 @@
 #include "number_formatimpl.h"
 #include "umutex.h"
 #include "number_asformat.h"
-#include "number_skeletons.h"
 #include "number_utils.h"
 #include "number_utypes.h"
 #include "util.h"
@@ -21,6 +20,16 @@ using namespace icu;
 using namespace icu::number;
 using namespace icu::number::impl;
 
+#if (U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN) && defined(_MSC_VER)
+// Ignore MSVC warning 4661. This is generated for NumberFormatterSettings<>::toSkeleton() as this method
+// is defined elsewhere (in number_skeletons.cpp). The compiler is warning that the explicit template instantiation
+// inside this single translation unit (CPP file) is incomplete, and thus it isn't sure if the template class is
+// fully defined. However, since each translation unit explicitly instantiates all the necessary template classes,
+// they will all be passed to the linker, and the linker will still find and export all the class members.
+#pragma warning(push)
+#pragma warning(disable: 4661)
+#endif
+
 template<typename Derived>
 Derived NumberFormatterSettings<Derived>::notation(const Notation& notation) const& {
     Derived copy(*this);
@@ -320,16 +329,7 @@ Derived NumberFormatterSettings<Derived>::macros(impl::MacroProps&& macros)&& {
     return move;
 }
 
-template<typename Derived>
-UnicodeString NumberFormatterSettings<Derived>::toSkeleton(UErrorCode& status) const {
-    if (U_FAILURE(status)) {
-        return ICU_Utility::makeBogusString();
-    }
-    if (fMacros.copyErrorTo(status)) {
-        return ICU_Utility::makeBogusString();
-    }
-    return skeleton::generate(fMacros, status);
-}
+// Note: toSkeleton defined in number_skeletons.cpp
 
 template<typename Derived>
 LocalPointer<Derived> NumberFormatterSettings<Derived>::clone() const & {
@@ -358,15 +358,7 @@ LocalizedNumberFormatter NumberFormatter::withLocale(const Locale& locale) {
     return with().locale(locale);
 }
 
-UnlocalizedNumberFormatter
-NumberFormatter::forSkeleton(const UnicodeString& skeleton, UErrorCode& status) {
-    return skeleton::create(skeleton, nullptr, status);
-}
-
-UnlocalizedNumberFormatter
-NumberFormatter::forSkeleton(const UnicodeString& skeleton, UParseError& perror, UErrorCode& status) {
-    return skeleton::create(skeleton, &perror, status);
-}
+// Note: forSkeleton defined in number_skeletons.cpp
 
 
 template<typename T> using NFS = NumberFormatterSettings<T>;
@@ -766,14 +758,11 @@ int32_t LocalizedNumberFormatter::getCallCount() const {
     return umtx_loadAcquire(*callCount);
 }
 
-Format* LocalizedNumberFormatter::toFormat(UErrorCode& status) const {
-    if (U_FAILURE(status)) {
-        return nullptr;
-    }
-    LocalPointer<LocalizedNumberFormatterAsFormat> retval(
-            new LocalizedNumberFormatterAsFormat(*this, fMacros.locale), status);
-    return retval.orphan();
-}
+// Note: toFormat defined in number_asformat.cpp
 
+#if (U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN) && defined(_MSC_VER)
+// Warning 4661.
+#pragma warning(pop)
+#endif
 
 #endif /* #if !UCONFIG_NO_FORMATTING */
index 2e2c4a9..5bba09c 100644 (file)
@@ -24,45 +24,6 @@ using namespace icu;
 using namespace icu::number;
 using namespace icu::number::impl;
 
-namespace {
-
-struct CurrencyFormatInfoResult {
-    bool exists;
-    const char16_t* pattern;
-    const char16_t* decimalSeparator;
-    const char16_t* groupingSeparator;
-};
-
-CurrencyFormatInfoResult
-getCurrencyFormatInfo(const Locale& locale, const char* isoCode, UErrorCode& status) {
-    // TODO: Load this data in a centralized location like ICU4J?
-    // TODO: Move this into the CurrencySymbols class?
-    // TODO: Parts of this same data are loaded in dcfmtsym.cpp; should clean up.
-    CurrencyFormatInfoResult result = {false, nullptr, nullptr, nullptr};
-    if (U_FAILURE(status)) { return result; }
-    CharString key;
-    key.append("Currencies/", status);
-    key.append(isoCode, status);
-    UErrorCode localStatus = status;
-    LocalUResourceBundlePointer bundle(ures_open(U_ICUDATA_CURR, locale.getName(), &localStatus));
-    ures_getByKeyWithFallback(bundle.getAlias(), key.data(), bundle.getAlias(), &localStatus);
-    if (U_SUCCESS(localStatus) &&
-        ures_getSize(bundle.getAlias()) > 2) { // the length is 3 if more data is present
-        ures_getByIndex(bundle.getAlias(), 2, bundle.getAlias(), &localStatus);
-        int32_t dummy;
-        result.exists = true;
-        result.pattern = ures_getStringByIndex(bundle.getAlias(), 0, &dummy, &localStatus);
-        result.decimalSeparator = ures_getStringByIndex(bundle.getAlias(), 1, &dummy, &localStatus);
-        result.groupingSeparator = ures_getStringByIndex(bundle.getAlias(), 2, &dummy, &localStatus);
-        status = localStatus;
-    } else if (localStatus != U_MISSING_RESOURCE_ERROR) {
-        status = localStatus;
-    }
-    return result;
-}
-
-}  // namespace
-
 
 MicroPropsGenerator::~MicroPropsGenerator() = default;
 
@@ -111,7 +72,6 @@ void NumberFormatterImpl::preProcess(DecimalQuantity& inValue, MicroProps& micro
         return;
     }
     fMicroPropsGenerator->processQuantity(inValue, microsOut, status);
-    microsOut.rounder.apply(inValue, status);
     microsOut.integerWidth.apply(inValue, status);
 }
 
@@ -124,7 +84,6 @@ MicroProps& NumberFormatterImpl::preProcessUnsafe(DecimalQuantity& inValue, UErr
         return fMicros; // must always return a value
     }
     fMicroPropsGenerator->processQuantity(inValue, fMicros, status);
-    fMicros.rounder.apply(inValue, status);
     fMicros.integerWidth.apply(inValue, status);
     return fMicros;
 }
@@ -181,14 +140,6 @@ NumberFormatterImpl::macrosToMicroGenerator(const MacroProps& macros, bool safe,
     if (isCurrency) {
         currency = CurrencyUnit(macros.unit, status); // Restore CurrencyUnit from MeasureUnit
     }
-    const CurrencySymbols* currencySymbols;
-    if (macros.currencySymbols != nullptr) {
-        // Used by the DecimalFormat code path
-        currencySymbols = macros.currencySymbols;
-    } else {
-        fWarehouse.fCurrencySymbols = {currency, macros.locale, status};
-        currencySymbols = &fWarehouse.fCurrencySymbols;
-    }
     UNumberUnitWidth unitWidth = UNUM_UNIT_WIDTH_SHORT;
     if (macros.unitWidth != UNUM_UNIT_WIDTH_COUNT) {
         unitWidth = macros.unitWidth;
@@ -215,41 +166,26 @@ NumberFormatterImpl::macrosToMicroGenerator(const MacroProps& macros, bool safe,
     if (macros.symbols.isDecimalFormatSymbols()) {
         fMicros.symbols = macros.symbols.getDecimalFormatSymbols();
     } else {
-        auto newSymbols = new DecimalFormatSymbols(macros.locale, *ns, status);
-        if (newSymbols == nullptr) {
-            status = U_MEMORY_ALLOCATION_ERROR;
+        LocalPointer<DecimalFormatSymbols> newSymbols(
+            new DecimalFormatSymbols(macros.locale, *ns, status), status);
+        if (U_FAILURE(status)) {
             return nullptr;
         }
-        fMicros.symbols = newSymbols;
-        // Give ownership to the NumberFormatterImpl.
-        fSymbols.adoptInstead(fMicros.symbols);
+        if (isCurrency) {
+            newSymbols->setCurrency(currency.getISOCurrency(), status);
+            if (U_FAILURE(status)) {
+                return nullptr;
+            }
+        }
+        fMicros.symbols = newSymbols.getAlias();
+        fSymbols.adoptInstead(newSymbols.orphan());
     }
 
     // Load and parse the pattern string. It is used for grouping sizes and affixes only.
     // If we are formatting currency, check for a currency-specific pattern.
     const char16_t* pattern = nullptr;
-    if (isCurrency) {
-        CurrencyFormatInfoResult info = getCurrencyFormatInfo(
-                macros.locale, currency.getSubtype(), status);
-        if (info.exists) {
-            pattern = info.pattern;
-            // It's clunky to clone an object here, but this code is not frequently executed.
-            auto symbols = new DecimalFormatSymbols(*fMicros.symbols);
-            if (symbols == nullptr) {
-                status = U_MEMORY_ALLOCATION_ERROR;
-                return nullptr;
-            }
-            fMicros.symbols = symbols;
-            fSymbols.adoptInstead(symbols);
-            symbols->setSymbol(
-                    DecimalFormatSymbols::ENumberFormatSymbol::kMonetarySeparatorSymbol,
-                    UnicodeString(info.decimalSeparator),
-                    FALSE);
-            symbols->setSymbol(
-                    DecimalFormatSymbols::ENumberFormatSymbol::kMonetaryGroupingSeparatorSymbol,
-                    UnicodeString(info.groupingSeparator),
-                    FALSE);
-        }
+    if (isCurrency && fMicros.symbols->getCurrencyPattern() != nullptr) {
+        pattern = fMicros.symbols->getCurrencyPattern();
     }
     if (pattern == nullptr) {
         CldrPatternStyle patternStyle;
@@ -267,6 +203,9 @@ NumberFormatterImpl::macrosToMicroGenerator(const MacroProps& macros, bool safe,
             patternStyle = CLDR_PATTERN_STYLE_CURRENCY;
         }
         pattern = utils::getPatternForStyle(macros.locale, nsName, patternStyle, status);
+        if (U_FAILURE(status)) {
+            return nullptr;
+        }
     }
     auto patternInfo = new ParsedPatternInfo();
     if (patternInfo == nullptr) {
@@ -275,6 +214,9 @@ NumberFormatterImpl::macrosToMicroGenerator(const MacroProps& macros, bool safe,
     }
     fPatternInfo.adoptInstead(patternInfo);
     PatternParser::parseToPatternInfo(UnicodeString(pattern), *patternInfo, status);
+    if (U_FAILURE(status)) {
+        return nullptr;
+    }
 
     /////////////////////////////////////////////////////////////////////////////////////
     /// START POPULATING THE DEFAULT MICROPROPS AND BUILDING THE MICROPROPS GENERATOR ///
@@ -305,6 +247,9 @@ NumberFormatterImpl::macrosToMicroGenerator(const MacroProps& macros, bool safe,
         roundingMode = precision.fRoundingMode;
     }
     fMicros.rounder = {precision, roundingMode, currency, status};
+    if (U_FAILURE(status)) {
+        return nullptr;
+    }
 
     // Grouping strategy
     if (!macros.grouper.isBogus()) {
@@ -372,23 +317,23 @@ NumberFormatterImpl::macrosToMicroGenerator(const MacroProps& macros, bool safe,
     patternModifier->setPatternInfo(
             macros.affixProvider != nullptr ? macros.affixProvider
                                             : static_cast<const AffixPatternProvider*>(fPatternInfo.getAlias()),
-            UNUM_FIELD_COUNT);
+            kUndefinedField);
     patternModifier->setPatternAttributes(fMicros.sign, isPermille);
     if (patternModifier->needsPlurals()) {
         patternModifier->setSymbols(
                 fMicros.symbols,
-                currencySymbols,
+                currency,
                 unitWidth,
-                resolvePluralRules(macros.rules, macros.locale, status));
+                resolvePluralRules(macros.rules, macros.locale, status),
+                status);
     } else {
-        patternModifier->setSymbols(fMicros.symbols, currencySymbols, unitWidth, nullptr);
+        patternModifier->setSymbols(fMicros.symbols, currency, unitWidth, nullptr, status);
     }
     if (safe) {
-        fImmutablePatternModifier.adoptInstead(patternModifier->createImmutableAndChain(chain, status));
-        chain = fImmutablePatternModifier.getAlias();
-    } else {
-        patternModifier->addToChain(chain);
-        chain = patternModifier;
+        fImmutablePatternModifier.adoptInstead(patternModifier->createImmutable(status));
+    }
+    if (U_FAILURE(status)) {
+        return nullptr;
     }
 
     // Outer modifier (CLDR units and currency long names)
@@ -416,10 +361,11 @@ NumberFormatterImpl::macrosToMicroGenerator(const MacroProps& macros, bool safe,
         // No outer modifier required
         fMicros.modOuter = &fMicros.helpers.emptyWeakModifier;
     }
+    if (U_FAILURE(status)) {
+        return nullptr;
+    }
 
     // Compact notation
-    // NOTE: Compact notation can (but might not) override the middle modifier and rounding.
-    // It therefore needs to go at the end of the chain.
     if (macros.notation.fType == Notation::NTN_COMPACT) {
         CompactType compactType = (isCurrency && unitWidth != UNUM_UNIT_WIDTH_FULL_NAME)
                                   ? CompactType::TYPE_CURRENCY : CompactType::TYPE_DECIMAL;
@@ -429,7 +375,8 @@ NumberFormatterImpl::macrosToMicroGenerator(const MacroProps& macros, bool safe,
             nsName,
             compactType,
             resolvePluralRules(macros.rules, macros.locale, status),
-            safe ? patternModifier : nullptr,
+            patternModifier,
+            safe,
             chain,
             status);
         if (newCompactHandler == nullptr) {
@@ -439,6 +386,18 @@ NumberFormatterImpl::macrosToMicroGenerator(const MacroProps& macros, bool safe,
         fCompactHandler.adoptInstead(newCompactHandler);
         chain = fCompactHandler.getAlias();
     }
+    if (U_FAILURE(status)) {
+        return nullptr;
+    }
+
+    // Always add the pattern modifier as the last element of the chain.
+    if (safe) {
+        fImmutablePatternModifier->addToChain(chain);
+        chain = fImmutablePatternModifier.getAlias();
+    } else {
+        patternModifier->addToChain(chain);
+        chain = patternModifier;
+    }
 
     return chain;
 }
@@ -478,14 +437,14 @@ int32_t NumberFormatterImpl::writeNumber(const MicroProps& micros, DecimalQuanti
         length += string.insert(
                 length + index,
                 micros.symbols->getSymbol(DecimalFormatSymbols::ENumberFormatSymbol::kInfinitySymbol),
-                UNUM_INTEGER_FIELD,
+                {UFIELD_CATEGORY_NUMBER, UNUM_INTEGER_FIELD},
                 status);
 
     } else if (quantity.isNaN()) {
         length += string.insert(
                 length + index,
                 micros.symbols->getSymbol(DecimalFormatSymbols::ENumberFormatSymbol::kNaNSymbol),
-                UNUM_INTEGER_FIELD,
+                {UFIELD_CATEGORY_NUMBER, UNUM_INTEGER_FIELD},
                 status);
 
     } else {
@@ -501,12 +460,23 @@ int32_t NumberFormatterImpl::writeNumber(const MicroProps& micros, DecimalQuanti
                             .symbols
                             ->getSymbol(
                                     DecimalFormatSymbols::ENumberFormatSymbol::kDecimalSeparatorSymbol),
-                    UNUM_DECIMAL_SEPARATOR_FIELD,
+                    {UFIELD_CATEGORY_NUMBER, UNUM_DECIMAL_SEPARATOR_FIELD},
                     status);
         }
 
         // Add the fraction digits
         length += writeFractionDigits(micros, quantity, string, length + index, status);
+
+        if (length == 0) {
+            // Force output of the digit for value 0
+            length += utils::insertDigitFromSymbols(
+                    string,
+                    index,
+                    0,
+                    *micros.symbols,
+                    {UFIELD_CATEGORY_NUMBER, UNUM_INTEGER_FIELD},
+                    status);
+        }
     }
 
     return length;
@@ -526,14 +496,20 @@ int32_t NumberFormatterImpl::writeIntegerDigits(const MicroProps& micros, Decima
                             DecimalFormatSymbols::ENumberFormatSymbol::kMonetaryGroupingSeparatorSymbol)
                                        : micros.symbols->getSymbol(
                             DecimalFormatSymbols::ENumberFormatSymbol::kGroupingSeparatorSymbol),
-                    UNUM_GROUPING_SEPARATOR_FIELD,
+                    {UFIELD_CATEGORY_NUMBER, UNUM_GROUPING_SEPARATOR_FIELD},
                     status);
         }
 
         // Get and append the next digit value
         int8_t nextDigit = quantity.getDigit(i);
         length += utils::insertDigitFromSymbols(
-                string, index, nextDigit, *micros.symbols, UNUM_INTEGER_FIELD, status);
+                string,
+                index,
+                nextDigit,
+                *micros.symbols,
+                {UFIELD_CATEGORY_NUMBER,
+                UNUM_INTEGER_FIELD},
+                status);
     }
     return length;
 }
@@ -547,7 +523,12 @@ int32_t NumberFormatterImpl::writeFractionDigits(const MicroProps& micros, Decim
         // Get and append the next digit value
         int8_t nextDigit = quantity.getDigit(-i - 1);
         length += utils::insertDigitFromSymbols(
-                string, length + index, nextDigit, *micros.symbols, UNUM_FRACTION_FIELD, status);
+                string,
+                length + index,
+                nextDigit,
+                *micros.symbols,
+                {UFIELD_CATEGORY_NUMBER, UNUM_FRACTION_FIELD},
+                status);
     }
     return length;
 }
index 206c5f5..084bc4a 100644 (file)
@@ -95,7 +95,7 @@ class NumberFormatterImpl : public UMemory {
     LocalPointer<const ParsedPatternInfo> fPatternInfo;
     LocalPointer<const ScientificHandler> fScientificHandler;
     LocalPointer<MutablePatternModifier> fPatternModifier;
-    LocalPointer<const ImmutablePatternModifier> fImmutablePatternModifier;
+    LocalPointer<ImmutablePatternModifier> fImmutablePatternModifier;
     LocalPointer<const LongNameHandler> fLongNameHandler;
     LocalPointer<const CompactHandler> fCompactHandler;
 
index 817aa0e..bb32d03 100644 (file)
@@ -188,6 +188,12 @@ LongNameHandler*
 LongNameHandler::forMeasureUnit(const Locale &loc, const MeasureUnit &unitRef, const MeasureUnit &perUnit,
                                 const UNumberUnitWidth &width, const PluralRules *rules,
                                 const MicroPropsGenerator *parent, UErrorCode &status) {
+    if (uprv_strlen(unitRef.getType()) == 0 || uprv_strlen(perUnit.getType()) == 0) {
+        // TODO(ICU-20941): Unsanctioned unit. Not yet fully supported. Set an error code.
+        status = U_UNSUPPORTED_ERROR;
+        return nullptr;
+    }
+
     MeasureUnit unit = unitRef;
     if (uprv_strcmp(perUnit.getType(), "none") != 0) {
         // Compound unit: first try to simplify (e.g., meters per second is its own unit).
@@ -209,7 +215,7 @@ LongNameHandler::forMeasureUnit(const Locale &loc, const MeasureUnit &unitRef, c
     UnicodeString simpleFormats[ARRAY_LENGTH];
     getMeasureData(loc, unit, width, simpleFormats, status);
     if (U_FAILURE(status)) { return result; }
-    result->simpleFormatsToModifiers(simpleFormats, UNUM_MEASURE_UNIT_FIELD, status);
+    result->simpleFormatsToModifiers(simpleFormats, {UFIELD_CATEGORY_NUMBER, UNUM_MEASURE_UNIT_FIELD}, status);
     return result;
 }
 
@@ -240,14 +246,15 @@ LongNameHandler::forCompoundUnit(const Locale &loc, const MeasureUnit &unit, con
         if (U_FAILURE(status)) { return result; }
         UnicodeString secondaryFormat = getWithPlural(secondaryData, StandardPlural::Form::ONE, status);
         if (U_FAILURE(status)) { return result; }
-        SimpleFormatter secondaryCompiled(secondaryFormat, 1, 1, status);
+        // Some "one" pattern may not contain "{0}". For example in "ar" or "ne" locale.
+        SimpleFormatter secondaryCompiled(secondaryFormat, 0, 1, status);
         if (U_FAILURE(status)) { return result; }
         UnicodeString secondaryString = secondaryCompiled.getTextWithNoArguments().trim();
         // TODO: Why does UnicodeString need to be explicit in the following line?
         compiled.format(UnicodeString(u"{0}"), secondaryString, perUnitFormat, status);
         if (U_FAILURE(status)) { return result; }
     }
-    result->multiSimpleFormatsToModifiers(primaryData, perUnitFormat, UNUM_MEASURE_UNIT_FIELD, status);
+    result->multiSimpleFormatsToModifiers(primaryData, perUnitFormat, {UFIELD_CATEGORY_NUMBER, UNUM_MEASURE_UNIT_FIELD}, status);
     return result;
 }
 
@@ -296,7 +303,7 @@ LongNameHandler* LongNameHandler::forCurrencyLongNames(const Locale &loc, const
     UnicodeString simpleFormats[ARRAY_LENGTH];
     getCurrencyLongNameData(loc, currency, simpleFormats, status);
     if (U_FAILURE(status)) { return nullptr; }
-    result->simpleFormatsToModifiers(simpleFormats, UNUM_CURRENCY_FIELD, status);
+    result->simpleFormatsToModifiers(simpleFormats, {UFIELD_CATEGORY_NUMBER, UNUM_CURRENCY_FIELD}, status);
     return result;
 }
 
@@ -308,7 +315,7 @@ void LongNameHandler::simpleFormatsToModifiers(const UnicodeString *simpleFormat
         if (U_FAILURE(status)) { return; }
         SimpleFormatter compiledFormatter(simpleFormat, 0, 1, status);
         if (U_FAILURE(status)) { return; }
-        fModifiers[i] = SimpleModifier(compiledFormatter, field, false, {this, SIGNUM_ZERO, plural});
+        fModifiers[i] = SimpleModifier(compiledFormatter, field, false, {this, SIGNUM_POS_ZERO, plural});
     }
 }
 
@@ -325,7 +332,7 @@ void LongNameHandler::multiSimpleFormatsToModifiers(const UnicodeString *leadFor
         if (U_FAILURE(status)) { return; }
         SimpleFormatter compoundCompiled(compoundFormat, 0, 1, status);
         if (U_FAILURE(status)) { return; }
-        fModifiers[i] = SimpleModifier(compoundCompiled, field, false, {this, SIGNUM_ZERO, plural});
+        fModifiers[i] = SimpleModifier(compoundCompiled, field, false, {this, SIGNUM_POS_ZERO, plural});
     }
 }
 
index 40fd528..ec61743 100644 (file)
@@ -13,7 +13,6 @@
 #include "number_patternstring.h"
 #include "unicode/errorcode.h"
 #include "number_utils.h"
-#include "number_currencysymbols.h"
 
 using namespace icu;
 using namespace icu::number;
@@ -63,17 +62,8 @@ MacroProps NumberPropertyMapper::oldToNew(const DecimalFormatProperties& propert
     // AFFIXES //
     /////////////
 
-    AffixPatternProvider* affixProvider;
-    if (properties.currencyPluralInfo.fPtr.isNull()) {
-        warehouse.currencyPluralInfoAPP.setToBogus();
-        warehouse.propertiesAPP.setTo(properties, status);
-        affixProvider = &warehouse.propertiesAPP;
-    } else {
-        warehouse.currencyPluralInfoAPP.setTo(*properties.currencyPluralInfo.fPtr, properties, status);
-        warehouse.propertiesAPP.setToBogus();
-        affixProvider = &warehouse.currencyPluralInfoAPP;
-    }
-    macros.affixProvider = affixProvider;
+    warehouse.affixProvider.setTo(properties, status);
+    macros.affixProvider = &warehouse.affixProvider.get();
 
     ///////////
     // UNITS //
@@ -83,15 +73,13 @@ MacroProps NumberPropertyMapper::oldToNew(const DecimalFormatProperties& propert
             !properties.currency.isNull() ||
             !properties.currencyPluralInfo.fPtr.isNull() ||
             !properties.currencyUsage.isNull() ||
-            affixProvider->hasCurrencySign());
+            warehouse.affixProvider.get().hasCurrencySign());
     CurrencyUnit currency = resolveCurrency(properties, locale, status);
     UCurrencyUsage currencyUsage = properties.currencyUsage.getOrDefault(UCURR_USAGE_STANDARD);
     if (useCurrency) {
         // NOTE: Slicing is OK.
         macros.unit = currency; // NOLINT
     }
-    warehouse.currencySymbols = {currency, locale, symbols, status};
-    macros.currencySymbols = &warehouse.currencySymbols;
 
     ///////////////////////
     // ROUNDING STRATEGY //
@@ -125,10 +113,8 @@ MacroProps NumberPropertyMapper::oldToNew(const DecimalFormatProperties& propert
     }
     // Validate min/max int/frac.
     // For backwards compatibility, minimum overrides maximum if the two conflict.
-    // The following logic ensures that there is always a minimum of at least one digit.
     if (minInt == 0 && maxFrac != 0) {
-        // Force a digit after the decimal point.
-        minFrac = minFrac <= 0 ? 1 : minFrac;
+        minFrac = (minFrac < 0 || (minFrac == 0 && maxInt == 0)) ? 1 : minFrac;
         maxFrac = maxFrac < 0 ? -1 : maxFrac < minFrac ? minFrac : maxFrac;
         minInt = 0;
         maxInt = maxInt < 0 ? -1 : maxInt > kMaxIntFracSig ? -1 : maxInt;
index de7d9c3..d18b8b3 100644 (file)
@@ -20,6 +20,10 @@ namespace number {
 namespace impl {
 
 
+class AutoAffixPatternProvider;
+class CurrencyPluralInfoAffixProvider;
+
+
 class PropertiesAffixPatternProvider : public AffixPatternProvider, public UMemory {
   public:
     bool isBogus() const {
@@ -32,12 +36,6 @@ class PropertiesAffixPatternProvider : public AffixPatternProvider, public UMemo
 
     void setTo(const DecimalFormatProperties& properties, UErrorCode& status);
 
-    PropertiesAffixPatternProvider() = default; // puts instance in valid but undefined state
-
-    PropertiesAffixPatternProvider(const DecimalFormatProperties& properties, UErrorCode& status) {
-        setTo(properties, status);
-    }
-
     // AffixPatternProvider Methods:
 
     char16_t charAt(int32_t flags, int32_t i) const U_OVERRIDE;
@@ -65,9 +63,14 @@ class PropertiesAffixPatternProvider : public AffixPatternProvider, public UMemo
     UnicodeString negSuffix;
     bool isCurrencyPattern;
 
+    PropertiesAffixPatternProvider() = default; // puts instance in valid but undefined state
+
     const UnicodeString& getStringInternal(int32_t flags) const;
 
     bool fBogus{true};
+
+    friend class AutoAffixPatternProvider;
+    friend class CurrencyPluralInfoAffixProvider;
 };
 
 
@@ -107,7 +110,43 @@ class CurrencyPluralInfoAffixProvider : public AffixPatternProvider, public UMem
   private:
     PropertiesAffixPatternProvider affixesByPlural[StandardPlural::COUNT];
 
+    CurrencyPluralInfoAffixProvider() = default;
+
     bool fBogus{true};
+
+    friend class AutoAffixPatternProvider;
+};
+
+
+class AutoAffixPatternProvider {
+  public:
+    inline AutoAffixPatternProvider() = default;
+
+    inline AutoAffixPatternProvider(const DecimalFormatProperties& properties, UErrorCode& status) {
+        setTo(properties, status);
+    }
+
+    inline void setTo(const DecimalFormatProperties& properties, UErrorCode& status) {
+        if (properties.currencyPluralInfo.fPtr.isNull()) {
+            propertiesAPP.setTo(properties, status);
+            currencyPluralInfoAPP.setToBogus();
+        } else {
+            propertiesAPP.setToBogus();
+            currencyPluralInfoAPP.setTo(*properties.currencyPluralInfo.fPtr, properties, status);
+        }
+    }
+
+    inline const AffixPatternProvider& get() const {
+      if (!currencyPluralInfoAPP.isBogus()) {
+        return currencyPluralInfoAPP;
+      } else {
+        return propertiesAPP;
+      }
+    }
+
+  private:
+    PropertiesAffixPatternProvider propertiesAPP;
+    CurrencyPluralInfoAffixProvider currencyPluralInfoAPP;
 };
 
 
@@ -115,9 +154,8 @@ class CurrencyPluralInfoAffixProvider : public AffixPatternProvider, public UMem
  * A struct for ownership of a few objects needed for formatting.
  */
 struct DecimalFormatWarehouse {
-    PropertiesAffixPatternProvider propertiesAPP;
-    CurrencyPluralInfoAffixProvider currencyPluralInfoAPP;
-    CurrencySymbols currencySymbols;
+    AutoAffixPatternProvider affixProvider;
+
 };
 
 
index d2393ae..56512f5 100644 (file)
@@ -37,7 +37,7 @@ struct MicroProps : public MicroPropsGenerator {
     // Note: This struct has no direct ownership of the following pointers.
     const DecimalFormatSymbols* symbols;
     const Modifier* modOuter;
-    const Modifier* modMiddle;
+    const Modifier* modMiddle = nullptr;
     const Modifier* modInner;
 
     // The following "helper" fields may optionally be used during the MicroPropsGenerator.
index 3a44f8f..3becb7b 100644 (file)
@@ -89,7 +89,7 @@ bool ConstantAffixModifier::isStrong() const {
     return fStrong;
 }
 
-bool ConstantAffixModifier::containsField(UNumberFormatFields field) const {
+bool ConstantAffixModifier::containsField(Field field) const {
     (void)field;
     // This method is not currently used.
     UPRV_UNREACHABLE;
@@ -151,7 +151,7 @@ SimpleModifier::SimpleModifier(const SimpleFormatter &simpleFormatter, Field fie
 }
 
 SimpleModifier::SimpleModifier()
-        : fField(UNUM_FIELD_COUNT), fStrong(false), fPrefixLength(0), fSuffixLength(0) {
+        : fField(kUndefinedField), fStrong(false), fPrefixLength(0), fSuffixLength(0) {
 }
 
 int32_t SimpleModifier::apply(FormattedStringBuilder &output, int leftIndex, int rightIndex,
@@ -178,7 +178,7 @@ bool SimpleModifier::isStrong() const {
     return fStrong;
 }
 
-bool SimpleModifier::containsField(UNumberFormatFields field) const {
+bool SimpleModifier::containsField(Field field) const {
     (void)field;
     // This method is not currently used.
     UPRV_UNREACHABLE;
@@ -292,7 +292,7 @@ int32_t ConstantMultiFieldModifier::apply(FormattedStringBuilder &output, int le
             leftIndex + length,
             rightIndex + length,
             UnicodeString(), 0, 0,
-            UNUM_FIELD_COUNT, status);
+            kUndefinedField, status);
     }
     length += output.insert(rightIndex + length, fSuffix, status);
     return length;
@@ -310,7 +310,7 @@ bool ConstantMultiFieldModifier::isStrong() const {
     return fStrong;
 }
 
-bool ConstantMultiFieldModifier::containsField(UNumberFormatFields field) const {
+bool ConstantMultiFieldModifier::containsField(Field field) const {
     return fPrefix.containsField(field) || fSuffix.containsField(field);
 }
 
@@ -342,7 +342,7 @@ CurrencySpacingEnabledModifier::CurrencySpacingEnabledModifier(const FormattedSt
         : ConstantMultiFieldModifier(prefix, suffix, overwrite, strong) {
     // Check for currency spacing. Do not build the UnicodeSets unless there is
     // a currency code point at a boundary.
-    if (prefix.length() > 0 && prefix.fieldAt(prefix.length() - 1) == UNUM_CURRENCY_FIELD) {
+    if (prefix.length() > 0 && prefix.fieldAt(prefix.length() - 1) == Field(UFIELD_CATEGORY_NUMBER, UNUM_CURRENCY_FIELD)) {
         int prefixCp = prefix.getLastCodePoint();
         UnicodeSet prefixUnicodeSet = getUnicodeSet(symbols, IN_CURRENCY, PREFIX, status);
         if (prefixUnicodeSet.contains(prefixCp)) {
@@ -357,8 +357,8 @@ CurrencySpacingEnabledModifier::CurrencySpacingEnabledModifier(const FormattedSt
         fAfterPrefixUnicodeSet.setToBogus();
         fAfterPrefixInsert.setToBogus();
     }
-    if (suffix.length() > 0 && suffix.fieldAt(0) == UNUM_CURRENCY_FIELD) {
-        int suffixCp = suffix.getLastCodePoint();
+    if (suffix.length() > 0 && suffix.fieldAt(0) == Field(UFIELD_CATEGORY_NUMBER, UNUM_CURRENCY_FIELD)) {
+        int suffixCp = suffix.getFirstCodePoint();
         UnicodeSet suffixUnicodeSet = getUnicodeSet(symbols, IN_CURRENCY, SUFFIX, status);
         if (suffixUnicodeSet.contains(suffixCp)) {
             fBeforeSuffixUnicodeSet = getUnicodeSet(symbols, IN_NUMBER, SUFFIX, status);
@@ -381,12 +381,20 @@ int32_t CurrencySpacingEnabledModifier::apply(FormattedStringBuilder &output, in
     if (rightIndex - leftIndex > 0 && !fAfterPrefixUnicodeSet.isBogus() &&
         fAfterPrefixUnicodeSet.contains(output.codePointAt(leftIndex))) {
         // TODO: Should we use the CURRENCY field here?
-        length += output.insert(leftIndex, fAfterPrefixInsert, UNUM_FIELD_COUNT, status);
+        length += output.insert(
+            leftIndex,
+            fAfterPrefixInsert,
+            kUndefinedField,
+            status);
     }
     if (rightIndex - leftIndex > 0 && !fBeforeSuffixUnicodeSet.isBogus() &&
         fBeforeSuffixUnicodeSet.contains(output.codePointBefore(rightIndex))) {
         // TODO: Should we use the CURRENCY field here?
-        length += output.insert(rightIndex + length, fBeforeSuffixInsert, UNUM_FIELD_COUNT, status);
+        length += output.insert(
+            rightIndex + length,
+            fBeforeSuffixInsert,
+            kUndefinedField,
+            status);
     }
 
     // Call super for the remaining logic
@@ -422,7 +430,7 @@ CurrencySpacingEnabledModifier::applyCurrencySpacingAffix(FormattedStringBuilder
     // This works even if the last code point in the prefix is 2 code units because the
     // field value gets populated to both indices in the field array.
     Field affixField = (affix == PREFIX) ? output.fieldAt(index - 1) : output.fieldAt(index);
-    if (affixField != UNUM_CURRENCY_FIELD) {
+    if (affixField != Field(UFIELD_CATEGORY_NUMBER, UNUM_CURRENCY_FIELD)) {
         return 0;
     }
     int affixCp = (affix == PREFIX) ? output.codePointBefore(index) : output.codePointAt(index);
@@ -443,7 +451,7 @@ CurrencySpacingEnabledModifier::applyCurrencySpacingAffix(FormattedStringBuilder
     // However, the build code path is more efficient, and this is the most natural
     // place to put currency spacing in the non-build code path.
     // TODO: Should we use the CURRENCY field here?
-    return output.insert(index, spacingString, UNUM_FIELD_COUNT, status);
+    return output.insert(index, spacingString, kUndefinedField, status);
 }
 
 UnicodeSet
index c84c6aa..3752543 100644 (file)
@@ -37,7 +37,7 @@ class U_I18N_API ConstantAffixModifier : public Modifier, public UObject {
 
     bool isStrong() const U_OVERRIDE;
 
-    bool containsField(UNumberFormatFields field) const U_OVERRIDE;
+    bool containsField(Field field) const U_OVERRIDE;
 
     void getParameters(Parameters& output) const U_OVERRIDE;
 
@@ -73,7 +73,7 @@ class U_I18N_API SimpleModifier : public Modifier, public UMemory {
 
     bool isStrong() const U_OVERRIDE;
 
-    bool containsField(UNumberFormatFields field) const U_OVERRIDE;
+    bool containsField(Field field) const U_OVERRIDE;
 
     void getParameters(Parameters& output) const U_OVERRIDE;
 
@@ -166,7 +166,7 @@ class U_I18N_API ConstantMultiFieldModifier : public Modifier, public UMemory {
 
     bool isStrong() const U_OVERRIDE;
 
-    bool containsField(UNumberFormatFields field) const U_OVERRIDE;
+    bool containsField(Field field) const U_OVERRIDE;
 
     void getParameters(Parameters& output) const U_OVERRIDE;
 
@@ -255,7 +255,7 @@ class U_I18N_API EmptyModifier : public Modifier, public UMemory {
         return fStrong;
     }
 
-    bool containsField(UNumberFormatFields field) const U_OVERRIDE {
+    bool containsField(Field field) const U_OVERRIDE {
         (void)field;
         return false;
     }
@@ -319,12 +319,12 @@ class U_I18N_API AdoptingModifierStore : public ModifierStore, public UMemory {
 
   private:
     // NOTE: mods is zero-initialized (to nullptr)
-    const Modifier *mods[3 * StandardPlural::COUNT] = {};
+    const Modifier *mods[4 * StandardPlural::COUNT] = {};
 
     inline static int32_t getModIndex(Signum signum, StandardPlural::Form plural) {
-        U_ASSERT(signum >= -1 && signum <= 1);
+        U_ASSERT(signum >= 0 && signum < SIGNUM_COUNT);
         U_ASSERT(plural >= 0 && plural < StandardPlural::COUNT);
-        return static_cast<int32_t>(plural) * 3 + (signum + 1);
+        return static_cast<int32_t>(plural) * SIGNUM_COUNT + signum;
     }
 };
 
index e2f0691..40192a9 100644 (file)
@@ -19,16 +19,6 @@ UPRV_FORMATTED_VALUE_SUBCLASS_AUTO_IMPL(FormattedNumber)
 
 #define UPRV_NOARG
 
-UBool FormattedNumber::nextFieldPosition(FieldPosition& fieldPosition, UErrorCode& status) const {
-    UPRV_FORMATTED_VALUE_METHOD_GUARD(FALSE)
-    return fData->nextFieldPosition(fieldPosition, status);
-}
-
-void FormattedNumber::getAllFieldPositions(FieldPositionIterator& iterator, UErrorCode& status) const {
-    FieldPositionIteratorHandler fpih(&iterator, status);
-    getAllFieldPositionsImpl(fpih, status);
-}
-
 void FormattedNumber::toDecimalNumber(ByteSink& sink, UErrorCode& status) const {
     UPRV_FORMATTED_VALUE_METHOD_GUARD(UPRV_NOARG)
     impl::DecNum decnum;
index c68a987..c320c3f 100644 (file)
@@ -21,7 +21,7 @@ addPaddingHelper(UChar32 paddingCp, int32_t requiredPadding, FormattedStringBuil
                  UErrorCode &status) {
     for (int32_t i = 0; i < requiredPadding; i++) {
         // TODO: If appending to the end, this will cause actual insertion operations. Improve.
-        string.insertCodePoint(index, paddingCp, UNUM_FIELD_COUNT, status);
+        string.insertCodePoint(index, paddingCp, kUndefinedField, status);
     }
     return U16_LENGTH(paddingCp) * requiredPadding;
 }
index 724f5b9..4560294 100644 (file)
@@ -34,11 +34,13 @@ void MutablePatternModifier::setPatternAttributes(UNumberSignDisplay signDisplay
 }
 
 void MutablePatternModifier::setSymbols(const DecimalFormatSymbols* symbols,
-                                        const CurrencySymbols* currencySymbols,
-                                        const UNumberUnitWidth unitWidth, const PluralRules* rules) {
+                                        const CurrencyUnit& currency,
+                                        const UNumberUnitWidth unitWidth,
+                                        const PluralRules* rules,
+                                        UErrorCode& status) {
     U_ASSERT((rules != nullptr) == needsPlurals());
     fSymbols = symbols;
-    fCurrencySymbols = currencySymbols;
+    fCurrencySymbols = {currency, symbols->getLocale(), *symbols, status};
     fUnitWidth = unitWidth;
     fRules = rules;
 }
@@ -55,12 +57,6 @@ bool MutablePatternModifier::needsPlurals() const {
 }
 
 ImmutablePatternModifier* MutablePatternModifier::createImmutable(UErrorCode& status) {
-    return createImmutableAndChain(nullptr, status);
-}
-
-ImmutablePatternModifier*
-MutablePatternModifier::createImmutableAndChain(const MicroPropsGenerator* parent, UErrorCode& status) {
-
     // TODO: Move StandardPlural VALUES to standardplural.h
     static const StandardPlural::Form STANDARD_PLURAL_VALUES[] = {
             StandardPlural::Form::ZERO,
@@ -81,8 +77,10 @@ MutablePatternModifier::createImmutableAndChain(const MicroPropsGenerator* paren
         for (StandardPlural::Form plural : STANDARD_PLURAL_VALUES) {
             setNumberProperties(SIGNUM_POS, plural);
             pm->adoptModifier(SIGNUM_POS, plural, createConstantModifier(status));
-            setNumberProperties(SIGNUM_ZERO, plural);
-            pm->adoptModifier(SIGNUM_ZERO, plural, createConstantModifier(status));
+            setNumberProperties(SIGNUM_NEG_ZERO, plural);
+            pm->adoptModifier(SIGNUM_NEG_ZERO, plural, createConstantModifier(status));
+            setNumberProperties(SIGNUM_POS_ZERO, plural);
+            pm->adoptModifier(SIGNUM_POS_ZERO, plural, createConstantModifier(status));
             setNumberProperties(SIGNUM_NEG, plural);
             pm->adoptModifier(SIGNUM_NEG, plural, createConstantModifier(status));
         }
@@ -90,20 +88,22 @@ MutablePatternModifier::createImmutableAndChain(const MicroPropsGenerator* paren
             delete pm;
             return nullptr;
         }
-        return new ImmutablePatternModifier(pm, fRules, parent);  // adopts pm
+        return new ImmutablePatternModifier(pm, fRules);  // adopts pm
     } else {
         // Faster path when plural keyword is not needed.
         setNumberProperties(SIGNUM_POS, StandardPlural::Form::COUNT);
         pm->adoptModifierWithoutPlural(SIGNUM_POS, createConstantModifier(status));
-        setNumberProperties(SIGNUM_ZERO, StandardPlural::Form::COUNT);
-        pm->adoptModifierWithoutPlural(SIGNUM_ZERO, createConstantModifier(status));
+        setNumberProperties(SIGNUM_NEG_ZERO, StandardPlural::Form::COUNT);
+        pm->adoptModifierWithoutPlural(SIGNUM_NEG_ZERO, createConstantModifier(status));
+        setNumberProperties(SIGNUM_POS_ZERO, StandardPlural::Form::COUNT);
+        pm->adoptModifierWithoutPlural(SIGNUM_POS_ZERO, createConstantModifier(status));
         setNumberProperties(SIGNUM_NEG, StandardPlural::Form::COUNT);
         pm->adoptModifierWithoutPlural(SIGNUM_NEG, createConstantModifier(status));
         if (U_FAILURE(status)) {
             delete pm;
             return nullptr;
         }
-        return new ImmutablePatternModifier(pm, nullptr, parent);  // adopts pm
+        return new ImmutablePatternModifier(pm, nullptr);  // adopts pm
     }
 }
 
@@ -120,13 +120,16 @@ ConstantMultiFieldModifier* MutablePatternModifier::createConstantModifier(UErro
     }
 }
 
-ImmutablePatternModifier::ImmutablePatternModifier(AdoptingModifierStore* pm, const PluralRules* rules,
-                                                   const MicroPropsGenerator* parent)
-        : pm(pm), rules(rules), parent(parent) {}
+ImmutablePatternModifier::ImmutablePatternModifier(AdoptingModifierStore* pm, const PluralRules* rules)
+        : pm(pm), rules(rules), parent(nullptr) {}
 
 void ImmutablePatternModifier::processQuantity(DecimalQuantity& quantity, MicroProps& micros,
                                                UErrorCode& status) const {
     parent->processQuantity(quantity, micros, status);
+    micros.rounder.apply(quantity, status);
+    if (micros.modMiddle != nullptr) {
+        return;
+    }
     applyToMicros(micros, quantity, status);
 }
 
@@ -148,6 +151,10 @@ const Modifier* ImmutablePatternModifier::getModifier(Signum signum, StandardPlu
     }
 }
 
+void ImmutablePatternModifier::addToChain(const MicroPropsGenerator* parent) {
+    this->parent = parent;
+}
+
 
 /** Used by the unsafe code path. */
 MicroPropsGenerator& MutablePatternModifier::addToChain(const MicroPropsGenerator* parent) {
@@ -158,6 +165,10 @@ MicroPropsGenerator& MutablePatternModifier::addToChain(const MicroPropsGenerato
 void MutablePatternModifier::processQuantity(DecimalQuantity& fq, MicroProps& micros,
                                              UErrorCode& status) const {
     fParent->processQuantity(fq, micros, status);
+    micros.rounder.apply(fq, status);
+    if (micros.modMiddle != nullptr) {
+        return;
+    }
     // The unsafe code path performs self-mutation, so we need a const_cast.
     // This method needs to be const because it overrides a const method in the parent class.
     auto nonConstThis = const_cast<MutablePatternModifier*>(this);
@@ -186,7 +197,7 @@ int32_t MutablePatternModifier::apply(FormattedStringBuilder& output, int32_t le
                 UnicodeString(),
                 0,
                 0,
-                UNUM_FIELD_COUNT,
+                kUndefinedField,
                 status);
     }
     CurrencySpacingEnabledModifier::applyCurrencySpacing(
@@ -230,7 +241,7 @@ bool MutablePatternModifier::isStrong() const {
     return fStrong;
 }
 
-bool MutablePatternModifier::containsField(UNumberFormatFields field) const {
+bool MutablePatternModifier::containsField(Field field) const {
     (void)field;
     // This method is not currently used.
     UPRV_UNREACHABLE;
@@ -263,7 +274,12 @@ int32_t MutablePatternModifier::insertSuffix(FormattedStringBuilder& sb, int pos
 /** This method contains the heart of the logic for rendering LDML affix strings. */
 void MutablePatternModifier::prepareAffix(bool isPrefix) {
     PatternStringUtils::patternInfoToStringBuilder(
-            *fPatternInfo, isPrefix, fSignum, fSignDisplay, fPlural, fPerMilleReplacesPercent, currentAffix);
+            *fPatternInfo,
+            isPrefix,
+            PatternStringUtils::resolveSignDisplay(fSignDisplay, fSignum),
+            fPlural,
+            fPerMilleReplacesPercent,
+            currentAffix);
 }
 
 UnicodeString MutablePatternModifier::getSymbol(AffixPatternType type) const {
@@ -280,23 +296,23 @@ UnicodeString MutablePatternModifier::getSymbol(AffixPatternType type) const {
         case AffixPatternType::TYPE_CURRENCY_SINGLE: {
             // UnitWidth ISO and HIDDEN overrides the singular currency symbol.
             if (fUnitWidth == UNumberUnitWidth::UNUM_UNIT_WIDTH_ISO_CODE) {
-                return fCurrencySymbols->getIntlCurrencySymbol(localStatus);
+                return fCurrencySymbols.getIntlCurrencySymbol(localStatus);
             } else if (fUnitWidth == UNumberUnitWidth::UNUM_UNIT_WIDTH_HIDDEN) {
                 return UnicodeString();
             } else if (fUnitWidth == UNumberUnitWidth::UNUM_UNIT_WIDTH_NARROW) {
-                return fCurrencySymbols->getNarrowCurrencySymbol(localStatus);
+                return fCurrencySymbols.getNarrowCurrencySymbol(localStatus);
             } else {
-                return fCurrencySymbols->getCurrencySymbol(localStatus);
+                return fCurrencySymbols.getCurrencySymbol(localStatus);
             }
         }
         case AffixPatternType::TYPE_CURRENCY_DOUBLE:
-            return fCurrencySymbols->getIntlCurrencySymbol(localStatus);
+            return fCurrencySymbols.getIntlCurrencySymbol(localStatus);
         case AffixPatternType::TYPE_CURRENCY_TRIPLE:
             // NOTE: This is the code path only for patterns containing "¤¤¤".
             // Plural currencies set via the API are formatted in LongNameHandler.
             // This code path is used by DecimalFormat via CurrencyPluralInfo.
             U_ASSERT(fPlural != StandardPlural::Form::COUNT);
-            return fCurrencySymbols->getPluralName(fPlural, localStatus);
+            return fCurrencySymbols.getPluralName(fPlural, localStatus);
         case AffixPatternType::TYPE_CURRENCY_QUAD:
             return UnicodeString(u"\uFFFD");
         case AffixPatternType::TYPE_CURRENCY_QUINT:
index b2c90e0..5ba842d 100644 (file)
@@ -50,9 +50,11 @@ class U_I18N_API ImmutablePatternModifier : public MicroPropsGenerator, public U
 
     const Modifier* getModifier(Signum signum, StandardPlural::Form plural) const;
 
+    // Non-const method:
+    void addToChain(const MicroPropsGenerator* parent);
+
   private:
-    ImmutablePatternModifier(AdoptingModifierStore* pm, const PluralRules* rules,
-                             const MicroPropsGenerator* parent);
+    ImmutablePatternModifier(AdoptingModifierStore* pm, const PluralRules* rules);
 
     const LocalPointer<AdoptingModifierStore> pm;
     const PluralRules* rules;
@@ -122,16 +124,18 @@ class U_I18N_API MutablePatternModifier
      *
      * @param symbols
      *            The desired instance of DecimalFormatSymbols.
-     * @param currencySymbols
-     *            The currency symbols to be used when substituting currency values into the affixes.
+     * @param currency
+     *            The currency to be used when substituting currency values into the affixes.
      * @param unitWidth
      *            The width used to render currencies.
      * @param rules
      *            Required if the triple currency sign, "¤¤¤", appears in the pattern, which can be determined from the
      *            convenience method {@link #needsPlurals()}.
+     * @param status
+     *            Set if an error occurs while loading currency data.
      */
-    void setSymbols(const DecimalFormatSymbols* symbols, const CurrencySymbols* currencySymbols,
-                    UNumberUnitWidth unitWidth, const PluralRules* rules);
+    void setSymbols(const DecimalFormatSymbols* symbols, const CurrencyUnit& currency,
+                    UNumberUnitWidth unitWidth, const PluralRules* rules, UErrorCode& status);
 
     /**
      * Sets attributes of the current number being processed.
@@ -165,21 +169,6 @@ class U_I18N_API MutablePatternModifier
      */
     ImmutablePatternModifier *createImmutable(UErrorCode &status);
 
-    /**
-     * Creates a new quantity-dependent Modifier that behaves the same as the current instance, but which is immutable
-     * and can be saved for future use. The number properties in the current instance are mutated; all other properties
-     * are left untouched.
-     *
-     * <p>
-     * CREATES A NEW HEAP OBJECT; THE CALLER GETS OWNERSHIP.
-     *
-     * @param parent
-     *            The QuantityChain to which to chain this immutable.
-     * @return An immutable that supports both positive and negative numbers.
-     */
-    ImmutablePatternModifier *
-    createImmutableAndChain(const MicroPropsGenerator *parent, UErrorCode &status);
-
     MicroPropsGenerator &addToChain(const MicroPropsGenerator *parent);
 
     void processQuantity(DecimalQuantity &, MicroProps &micros, UErrorCode &status) const U_OVERRIDE;
@@ -193,7 +182,7 @@ class U_I18N_API MutablePatternModifier
 
     bool isStrong() const U_OVERRIDE;
 
-    bool containsField(UNumberFormatFields field) const U_OVERRIDE;
+    bool containsField(Field field) const U_OVERRIDE;
 
     void getParameters(Parameters& output) const U_OVERRIDE;
 
@@ -219,7 +208,7 @@ class U_I18N_API MutablePatternModifier
     // Symbol details (initialized in setSymbols)
     const DecimalFormatSymbols *fSymbols;
     UNumberUnitWidth fUnitWidth;
-    const CurrencySymbols *fCurrencySymbols;
+    CurrencySymbols fCurrencySymbols;
     const PluralRules *fRules;
 
     // Number details (initialized in setNumberProperties)
index c7212c1..9d84505 100644 (file)
@@ -686,10 +686,10 @@ UnicodeString PatternStringUtils::propertiesToPatternString(const DecimalFormatP
     int32_t exponentDigits = uprv_min(properties.minimumExponentDigits, dosMax);
     bool exponentShowPlusSign = properties.exponentSignAlwaysShown;
 
-    PropertiesAffixPatternProvider affixes(properties, status);
+    AutoAffixPatternProvider affixProvider(properties, status);
 
     // Prefixes
-    sb.append(affixes.getString(AffixPatternProvider::AFFIX_POS_PREFIX));
+    sb.append(affixProvider.get().getString(AffixPatternProvider::AFFIX_POS_PREFIX));
     int32_t afterPrefixPos = sb.length();
 
     // Figure out the grouping sizes.
@@ -778,7 +778,7 @@ UnicodeString PatternStringUtils::propertiesToPatternString(const DecimalFormatP
 
     // Suffixes
     int32_t beforeSuffixPos = sb.length();
-    sb.append(affixes.getString(AffixPatternProvider::AFFIX_POS_SUFFIX));
+    sb.append(affixProvider.get().getString(AffixPatternProvider::AFFIX_POS_SUFFIX));
 
     // Resolve Padding
     if (paddingWidth > 0 && !paddingLocation.isNull()) {
@@ -814,16 +814,16 @@ UnicodeString PatternStringUtils::propertiesToPatternString(const DecimalFormatP
 
     // Negative affixes
     // Ignore if the negative prefix pattern is "-" and the negative suffix is empty
-    if (affixes.hasNegativeSubpattern()) {
+    if (affixProvider.get().hasNegativeSubpattern()) {
         sb.append(u';');
-        sb.append(affixes.getString(AffixPatternProvider::AFFIX_NEG_PREFIX));
+        sb.append(affixProvider.get().getString(AffixPatternProvider::AFFIX_NEG_PREFIX));
         // Copy the positive digit format into the negative.
         // This is optional; the pattern is the same as if '#' were appended here instead.
         // NOTE: It is not safe to append the UnicodeString to itself, so we need to copy.
         // See http://bugs.icu-project.org/trac/ticket/13707
         UnicodeString copy(sb);
         sb.append(copy, afterPrefixPos, beforeSuffixPos - afterPrefixPos);
-        sb.append(affixes.getString(AffixPatternProvider::AFFIX_NEG_SUFFIX));
+        sb.append(affixProvider.get().getString(AffixPatternProvider::AFFIX_NEG_SUFFIX));
     }
 
     return sb;
@@ -1000,23 +1000,19 @@ PatternStringUtils::convertLocalized(const UnicodeString& input, const DecimalFo
 }
 
 void PatternStringUtils::patternInfoToStringBuilder(const AffixPatternProvider& patternInfo, bool isPrefix,
-                                                    Signum signum, UNumberSignDisplay signDisplay,
+                                                    PatternSignType patternSignType,
                                                     StandardPlural::Form plural,
                                                     bool perMilleReplacesPercent, UnicodeString& output) {
 
     // Should the output render '+' where '-' would normally appear in the pattern?
-    bool plusReplacesMinusSign = signum != -1 && (
-            signDisplay == UNUM_SIGN_ALWAYS || signDisplay == UNUM_SIGN_ACCOUNTING_ALWAYS || (
-                    signum == 1 && (
-                            signDisplay == UNUM_SIGN_EXCEPT_ZERO ||
-                            signDisplay == UNUM_SIGN_ACCOUNTING_EXCEPT_ZERO))) &&
-                                 patternInfo.positiveHasPlusSign() == false;
-
-    // Should we use the affix from the negative subpattern? (If not, we will use the positive
-    // subpattern.)
-    // TODO: Deal with signum
-    bool useNegativeAffixPattern = patternInfo.hasNegativeSubpattern() && (
-            signum == -1 || (patternInfo.negativeHasMinusSign() && plusReplacesMinusSign));
+    bool plusReplacesMinusSign = (patternSignType == PATTERN_SIGN_TYPE_POS_SIGN)
+        && !patternInfo.positiveHasPlusSign();
+
+    // Should we use the affix from the negative subpattern?
+    // (If not, we will use the positive subpattern.)
+    bool useNegativeAffixPattern = patternInfo.hasNegativeSubpattern()
+        && (patternSignType == PATTERN_SIGN_TYPE_NEG
+            || (patternInfo.negativeHasMinusSign() && plusReplacesMinusSign));
 
     // Resolve the flags for the affix pattern.
     int flags = 0;
@@ -1035,8 +1031,8 @@ void PatternStringUtils::patternInfoToStringBuilder(const AffixPatternProvider&
     bool prependSign;
     if (!isPrefix || useNegativeAffixPattern) {
         prependSign = false;
-    } else if (signum == -1) {
-        prependSign = signDisplay != UNUM_SIGN_NEVER;
+    } else if (patternSignType == PATTERN_SIGN_TYPE_NEG) {
+        prependSign = true;
     } else {
         prependSign = plusReplacesMinusSign;
     }
@@ -1065,4 +1061,60 @@ void PatternStringUtils::patternInfoToStringBuilder(const AffixPatternProvider&
     }
 }
 
+PatternSignType PatternStringUtils::resolveSignDisplay(UNumberSignDisplay signDisplay, Signum signum) {
+    switch (signDisplay) {
+        case UNUM_SIGN_AUTO:
+        case UNUM_SIGN_ACCOUNTING:
+            switch (signum) {
+                case SIGNUM_NEG:
+                case SIGNUM_NEG_ZERO:
+                    return PATTERN_SIGN_TYPE_NEG;
+                case SIGNUM_POS_ZERO:
+                case SIGNUM_POS:
+                    return PATTERN_SIGN_TYPE_POS;
+                default:
+                    break;
+            }
+            break;
+
+        case UNUM_SIGN_ALWAYS:
+        case UNUM_SIGN_ACCOUNTING_ALWAYS:
+            switch (signum) {
+                case SIGNUM_NEG:
+                case SIGNUM_NEG_ZERO:
+                    return PATTERN_SIGN_TYPE_NEG;
+                case SIGNUM_POS_ZERO:
+                case SIGNUM_POS:
+                    return PATTERN_SIGN_TYPE_POS_SIGN;
+                default:
+                    break;
+            }
+            break;
+
+        case UNUM_SIGN_EXCEPT_ZERO:
+        case UNUM_SIGN_ACCOUNTING_EXCEPT_ZERO:
+            switch (signum) {
+                case SIGNUM_NEG:
+                    return PATTERN_SIGN_TYPE_NEG;
+                case SIGNUM_NEG_ZERO:
+                case SIGNUM_POS_ZERO:
+                    return PATTERN_SIGN_TYPE_POS;
+                case SIGNUM_POS:
+                    return PATTERN_SIGN_TYPE_POS_SIGN;
+                default:
+                    break;
+            }
+            break;
+
+        case UNUM_SIGN_NEVER:
+            return PATTERN_SIGN_TYPE_POS;
+
+        default:
+            break;
+    }
+
+    UPRV_UNREACHABLE;
+    return PATTERN_SIGN_TYPE_POS;
+}
+
 #endif /* #if !UCONFIG_NO_FORMATTING */
index 1191d29..54f37fd 100644 (file)
@@ -22,6 +22,18 @@ namespace impl {
 // Forward declaration
 class PatternParser;
 
+// Note: the order of fields in this enum matters for parsing.
+enum PatternSignType {
+    /** Render using normal positive subpattern rules */
+    PATTERN_SIGN_TYPE_POS,
+    /** Render using rules to force the display of a plus sign */
+    PATTERN_SIGN_TYPE_POS_SIGN,
+    /** Render using negative subpattern rules */
+    PATTERN_SIGN_TYPE_NEG,
+    /** Count for looping over the possibilities */
+    PATTERN_SIGN_TYPE_COUNT
+};
+
 // Exported as U_I18N_API because it is a public member field of exported ParsedSubpatternInfo
 struct U_I18N_API Endpoints {
     int32_t start = 0;
@@ -295,10 +307,12 @@ class U_I18N_API PatternStringUtils {
      * substitution, and plural forms for CurrencyPluralInfo.
      */
     static void patternInfoToStringBuilder(const AffixPatternProvider& patternInfo, bool isPrefix,
-                                           Signum signum, UNumberSignDisplay signDisplay,
+                                           PatternSignType patternSignType,
                                            StandardPlural::Form plural, bool perMilleReplacesPercent,
                                            UnicodeString& output);
 
+    static PatternSignType resolveSignDisplay(UNumberSignDisplay signDisplay, Signum signum);
+
   private:
     /** @return The number of chars inserted. */
     static int escapePaddingString(UnicodeString input, UnicodeString& output, int startIndex,
index 813d4b6..3ffce67 100644 (file)
@@ -294,9 +294,7 @@ RoundingImpl::RoundingImpl(const Precision& precision, UNumberFormatRoundingMode
 }
 
 RoundingImpl RoundingImpl::passThrough() {
-    RoundingImpl retval;
-    retval.fPassThrough = true;
-    return retval;
+    return {};
 }
 
 bool RoundingImpl::isSignificantDigits() const {
index 9c2c47b..3e37f31 100644 (file)
@@ -150,7 +150,7 @@ digits_t doubleFractionLength(double input, int8_t* singleDigit);
  */
 class RoundingImpl {
   public:
-    RoundingImpl() = default;  // default constructor: leaves object in undefined state
+    RoundingImpl() = default;  // defaults to pass-through rounder
 
     RoundingImpl(const Precision& precision, UNumberFormatRoundingMode roundingMode,
                  const CurrencyUnit& currency, UErrorCode& status);
@@ -186,7 +186,7 @@ class RoundingImpl {
   private:
     Precision fPrecision;
     UNumberFormatRoundingMode fRoundingMode;
-    bool fPassThrough;
+    bool fPassThrough = true;  // default value
 };
 
 
index f3de741..527ffbf 100644 (file)
@@ -44,21 +44,21 @@ int32_t ScientificModifier::apply(FormattedStringBuilder &output, int32_t /*left
     i += output.insert(
             i,
             fHandler->fSymbols->getSymbol(DecimalFormatSymbols::ENumberFormatSymbol::kExponentialSymbol),
-            UNUM_EXPONENT_SYMBOL_FIELD,
+            {UFIELD_CATEGORY_NUMBER, UNUM_EXPONENT_SYMBOL_FIELD},
             status);
     if (fExponent < 0 && fHandler->fSettings.fExponentSignDisplay != UNUM_SIGN_NEVER) {
         i += output.insert(
                 i,
                 fHandler->fSymbols
                         ->getSymbol(DecimalFormatSymbols::ENumberFormatSymbol::kMinusSignSymbol),
-                UNUM_EXPONENT_SIGN_FIELD,
+                {UFIELD_CATEGORY_NUMBER, UNUM_EXPONENT_SIGN_FIELD},
                 status);
     } else if (fExponent >= 0 && fHandler->fSettings.fExponentSignDisplay == UNUM_SIGN_ALWAYS) {
         i += output.insert(
                 i,
                 fHandler->fSymbols
                         ->getSymbol(DecimalFormatSymbols::ENumberFormatSymbol::kPlusSignSymbol),
-                UNUM_EXPONENT_SIGN_FIELD,
+                {UFIELD_CATEGORY_NUMBER, UNUM_EXPONENT_SIGN_FIELD},
                 status);
     }
     // Append the exponent digits (using a simple inline algorithm)
@@ -70,7 +70,7 @@ int32_t ScientificModifier::apply(FormattedStringBuilder &output, int32_t /*left
                 i - j,
                 d,
                 *fHandler->fSymbols,
-                UNUM_EXPONENT_FIELD,
+                {UFIELD_CATEGORY_NUMBER, UNUM_EXPONENT_FIELD},
                 status);
     }
     return i - rightIndex;
@@ -93,7 +93,7 @@ bool ScientificModifier::isStrong() const {
     return true;
 }
 
-bool ScientificModifier::containsField(UNumberFormatFields field) const {
+bool ScientificModifier::containsField(Field field) const {
     (void)field;
     // This method is not used for inner modifiers.
     UPRV_UNREACHABLE;
@@ -149,6 +149,11 @@ void ScientificHandler::processQuantity(DecimalQuantity &quantity, MicroProps &m
     mod.set(exponent, this);
     micros.modInner = &mod;
 
+    // Change the exponent only after we select appropriate plural form
+    // for formatting purposes so that we preserve expected formatted
+    // string behavior.
+    quantity.adjustExponent(exponent);
+
     // We already performed rounding. Do not perform it again.
     micros.rounder = RoundingImpl::passThrough();
 }
index 1c9ce1e..a55d5ed 100644 (file)
@@ -30,7 +30,7 @@ class U_I18N_API ScientificModifier : public UMemory, public Modifier {
 
     bool isStrong() const U_OVERRIDE;
 
-    bool containsField(UNumberFormatFields field) const U_OVERRIDE;
+    bool containsField(Field field) const U_OVERRIDE;
 
     void getParameters(Parameters& output) const U_OVERRIDE;
 
index 4025539..4ba2647 100644 (file)
@@ -21,6 +21,9 @@
 #include "uinvchar.h"
 #include "charstr.h"
 #include "string_segment.h"
+#include "unicode/errorcode.h"
+#include "util.h"
+#include "measunit_impl.h"
 
 using namespace icu;
 using namespace icu::number;
@@ -93,12 +96,29 @@ void U_CALLCONV initNumberSkeletons(UErrorCode& status) {
     b.add(u"precision-increment", STEM_PRECISION_INCREMENT, status);
     b.add(u"measure-unit", STEM_MEASURE_UNIT, status);
     b.add(u"per-measure-unit", STEM_PER_MEASURE_UNIT, status);
+    b.add(u"unit", STEM_UNIT, status);
     b.add(u"currency", STEM_CURRENCY, status);
     b.add(u"integer-width", STEM_INTEGER_WIDTH, status);
     b.add(u"numbering-system", STEM_NUMBERING_SYSTEM, status);
     b.add(u"scale", STEM_SCALE, status);
     if (U_FAILURE(status)) { return; }
 
+    // Section 3 (concise tokens):
+    b.add(u"K", STEM_COMPACT_SHORT, status);
+    b.add(u"KK", STEM_COMPACT_LONG, status);
+    b.add(u"%", STEM_PERCENT, status);
+    b.add(u"%x100", STEM_PERCENT_100, status);
+    b.add(u",_", STEM_GROUP_OFF, status);
+    b.add(u",?", STEM_GROUP_MIN2, status);
+    b.add(u",!", STEM_GROUP_ON_ALIGNED, status);
+    b.add(u"+!", STEM_SIGN_ALWAYS, status);
+    b.add(u"+_", STEM_SIGN_NEVER, status);
+    b.add(u"()", STEM_SIGN_ACCOUNTING, status);
+    b.add(u"()!", STEM_SIGN_ACCOUNTING_ALWAYS, status);
+    b.add(u"+?", STEM_SIGN_EXCEPT_ZERO, status);
+    b.add(u"()?", STEM_SIGN_ACCOUNTING_EXCEPT_ZERO, status);
+    if (U_FAILURE(status)) { return; }
+
     // Build the CharsTrie
     // TODO: Use SLOW or FAST here?
     UnicodeString result;
@@ -529,6 +549,7 @@ MacroProps skeleton::parseSkeleton(
                 case STATE_INCREMENT_PRECISION:
                 case STATE_MEASURE_UNIT:
                 case STATE_PER_MEASURE_UNIT:
+                case STATE_IDENTIFIER_UNIT:
                 case STATE_CURRENCY_UNIT:
                 case STATE_INTEGER_WIDTH:
                 case STATE_NUMBERING_SYSTEM:
@@ -557,13 +578,21 @@ skeleton::parseStem(const StringSegment& segment, const UCharsTrie& stemTrie, Se
     // First check for "blueprint" stems, which start with a "signal char"
     switch (segment.charAt(0)) {
         case u'.':
-        CHECK_NULL(seen, precision, status);
+            CHECK_NULL(seen, precision, status);
             blueprint_helpers::parseFractionStem(segment, macros, status);
             return STATE_FRACTION_PRECISION;
         case u'@':
-        CHECK_NULL(seen, precision, status);
+            CHECK_NULL(seen, precision, status);
             blueprint_helpers::parseDigitsStem(segment, macros, status);
             return STATE_NULL;
+        case u'E':
+            CHECK_NULL(seen, notation, status);
+            blueprint_helpers::parseScientificStem(segment, macros, status);
+            return STATE_NULL;
+        case u'0':
+            CHECK_NULL(seen, integerWidth, status);
+            blueprint_helpers::parseIntegerStem(segment, macros, status);
+            return STATE_NULL;
         default:
             break;
     }
@@ -587,7 +616,7 @@ skeleton::parseStem(const StringSegment& segment, const UCharsTrie& stemTrie, Se
         case STEM_SCIENTIFIC:
         case STEM_ENGINEERING:
         case STEM_NOTATION_SIMPLE:
-        CHECK_NULL(seen, notation, status);
+            CHECK_NULL(seen, notation, status);
             macros.notation = stem_to_object::notation(stem);
             switch (stem) {
                 case STEM_SCIENTIFIC:
@@ -600,15 +629,22 @@ skeleton::parseStem(const StringSegment& segment, const UCharsTrie& stemTrie, Se
         case STEM_BASE_UNIT:
         case STEM_PERCENT:
         case STEM_PERMILLE:
-        CHECK_NULL(seen, unit, status);
+            CHECK_NULL(seen, unit, status);
             macros.unit = stem_to_object::unit(stem);
             return STATE_NULL;
 
+        case STEM_PERCENT_100:
+            CHECK_NULL(seen, scale, status);
+            CHECK_NULL(seen, unit, status);
+            macros.scale = Scale::powerOfTen(2);
+            macros.unit = NoUnit::percent();
+            return STATE_NULL;
+
         case STEM_PRECISION_INTEGER:
         case STEM_PRECISION_UNLIMITED:
         case STEM_PRECISION_CURRENCY_STANDARD:
         case STEM_PRECISION_CURRENCY_CASH:
-        CHECK_NULL(seen, precision, status);
+            CHECK_NULL(seen, precision, status);
             macros.precision = stem_to_object::precision(stem);
             switch (stem) {
                 case STEM_PRECISION_INTEGER:
@@ -625,7 +661,7 @@ skeleton::parseStem(const StringSegment& segment, const UCharsTrie& stemTrie, Se
         case STEM_ROUNDING_MODE_HALF_DOWN:
         case STEM_ROUNDING_MODE_HALF_UP:
         case STEM_ROUNDING_MODE_UNNECESSARY:
-        CHECK_NULL(seen, roundingMode, status);
+            CHECK_NULL(seen, roundingMode, status);
             macros.roundingMode = stem_to_object::roundingMode(stem);
             return STATE_NULL;
 
@@ -634,12 +670,12 @@ skeleton::parseStem(const StringSegment& segment, const UCharsTrie& stemTrie, Se
         case STEM_GROUP_AUTO:
         case STEM_GROUP_ON_ALIGNED:
         case STEM_GROUP_THOUSANDS:
-        CHECK_NULL(seen, grouper, status);
+            CHECK_NULL(seen, grouper, status);
             macros.grouper = Grouper::forStrategy(stem_to_object::groupingStrategy(stem));
             return STATE_NULL;
 
         case STEM_LATIN:
-        CHECK_NULL(seen, symbols, status);
+            CHECK_NULL(seen, symbols, status);
             macros.symbols.setTo(NumberingSystem::createInstanceByName("latn", status));
             return STATE_NULL;
 
@@ -648,7 +684,7 @@ skeleton::parseStem(const StringSegment& segment, const UCharsTrie& stemTrie, Se
         case STEM_UNIT_WIDTH_FULL_NAME:
         case STEM_UNIT_WIDTH_ISO_CODE:
         case STEM_UNIT_WIDTH_HIDDEN:
-        CHECK_NULL(seen, unitWidth, status);
+            CHECK_NULL(seen, unitWidth, status);
             macros.unitWidth = stem_to_object::unitWidth(stem);
             return STATE_NULL;
 
@@ -659,44 +695,49 @@ skeleton::parseStem(const StringSegment& segment, const UCharsTrie& stemTrie, Se
         case STEM_SIGN_ACCOUNTING_ALWAYS:
         case STEM_SIGN_EXCEPT_ZERO:
         case STEM_SIGN_ACCOUNTING_EXCEPT_ZERO:
-        CHECK_NULL(seen, sign, status);
+            CHECK_NULL(seen, sign, status);
             macros.sign = stem_to_object::signDisplay(stem);
             return STATE_NULL;
 
         case STEM_DECIMAL_AUTO:
         case STEM_DECIMAL_ALWAYS:
-        CHECK_NULL(seen, decimal, status);
+            CHECK_NULL(seen, decimal, status);
             macros.decimal = stem_to_object::decimalSeparatorDisplay(stem);
             return STATE_NULL;
 
             // Stems requiring an option:
 
         case STEM_PRECISION_INCREMENT:
-        CHECK_NULL(seen, precision, status);
+            CHECK_NULL(seen, precision, status);
             return STATE_INCREMENT_PRECISION;
 
         case STEM_MEASURE_UNIT:
-        CHECK_NULL(seen, unit, status);
+            CHECK_NULL(seen, unit, status);
             return STATE_MEASURE_UNIT;
 
         case STEM_PER_MEASURE_UNIT:
-        CHECK_NULL(seen, perUnit, status);
+            CHECK_NULL(seen, perUnit, status);
             return STATE_PER_MEASURE_UNIT;
 
+        case STEM_UNIT:
+            CHECK_NULL(seen, unit, status);
+            CHECK_NULL(seen, perUnit, status);
+            return STATE_IDENTIFIER_UNIT;
+
         case STEM_CURRENCY:
-        CHECK_NULL(seen, unit, status);
+            CHECK_NULL(seen, unit, status);
             return STATE_CURRENCY_UNIT;
 
         case STEM_INTEGER_WIDTH:
-        CHECK_NULL(seen, integerWidth, status);
+            CHECK_NULL(seen, integerWidth, status);
             return STATE_INTEGER_WIDTH;
 
         case STEM_NUMBERING_SYSTEM:
-        CHECK_NULL(seen, symbols, status);
+            CHECK_NULL(seen, symbols, status);
             return STATE_NUMBERING_SYSTEM;
 
         case STEM_SCALE:
-        CHECK_NULL(seen, scale, status);
+            CHECK_NULL(seen, scale, status);
             return STATE_SCALE;
 
         default:
@@ -719,6 +760,9 @@ ParseState skeleton::parseOption(ParseState stem, const StringSegment& segment,
         case STATE_PER_MEASURE_UNIT:
             blueprint_helpers::parseMeasurePerUnitOption(segment, macros, status);
             return STATE_NULL;
+        case STATE_IDENTIFIER_UNIT:
+            blueprint_helpers::parseIdentifierUnitOption(segment, macros, status);
+            return STATE_NULL;
         case STATE_INCREMENT_PRECISION:
             blueprint_helpers::parseIncrementOption(segment, macros, status);
             return STATE_NULL;
@@ -843,10 +887,6 @@ void GeneratorHelpers::generateSkeleton(const MacroProps& macros, UnicodeString&
         status = U_UNSUPPORTED_ERROR;
         return;
     }
-    if (macros.currencySymbols != nullptr) {
-        status = U_UNSUPPORTED_ERROR;
-        return;
-    }
 
     // Remove the trailing space
     if (sb.length() > 0) {
@@ -857,7 +897,7 @@ void GeneratorHelpers::generateSkeleton(const MacroProps& macros, UnicodeString&
 
 bool blueprint_helpers::parseExponentWidthOption(const StringSegment& segment, MacroProps& macros,
                                                  UErrorCode&) {
-    if (segment.charAt(0) != u'+') {
+    if (!isWildcardChar(segment.charAt(0))) {
         return false;
     }
     int32_t offset = 1;
@@ -879,7 +919,7 @@ bool blueprint_helpers::parseExponentWidthOption(const StringSegment& segment, M
 
 void
 blueprint_helpers::generateExponentWidthOption(int32_t minExponentDigits, UnicodeString& sb, UErrorCode&) {
-    sb.append(u'+');
+    sb.append(kWildcardChar);
     appendMultiple(sb, u'e', minExponentDigits);
 }
 
@@ -981,7 +1021,7 @@ void blueprint_helpers::generateMeasureUnitOption(const MeasureUnit& measureUnit
 
 void blueprint_helpers::parseMeasurePerUnitOption(const StringSegment& segment, MacroProps& macros,
                                                   UErrorCode& status) {
-    // A little bit of a hack: safe the current unit (numerator), call the main measure unit
+    // A little bit of a hack: save the current unit (numerator), call the main measure unit
     // parsing code, put back the numerator unit, and put the new unit into per-unit.
     MeasureUnit numerator = macros.unit;
     parseMeasureUnitOption(segment, macros, status);
@@ -990,6 +1030,33 @@ void blueprint_helpers::parseMeasurePerUnitOption(const StringSegment& segment,
     macros.unit = numerator;
 }
 
+void blueprint_helpers::parseIdentifierUnitOption(const StringSegment& segment, MacroProps& macros,
+                                                  UErrorCode& status) {
+    // Need to do char <-> UChar conversion...
+    U_ASSERT(U_SUCCESS(status));
+    CharString buffer;
+    SKELETON_UCHAR_TO_CHAR(buffer, segment.toTempUnicodeString(), 0, segment.length(), status);
+
+    ErrorCode internalStatus;
+    auto fullUnit = MeasureUnitImpl::forIdentifier(buffer.toStringPiece(), internalStatus);
+    if (internalStatus.isFailure()) {
+        // throw new SkeletonSyntaxException("Invalid core unit identifier", segment, e);
+        status = U_NUMBER_SKELETON_SYNTAX_ERROR;
+        return;
+    }
+
+    // TODO(ICU-20941): Clean this up.
+    for (int32_t i = 0; i < fullUnit.units.length(); i++) {
+        SingleUnitImpl* subUnit = fullUnit.units[i];
+        if (subUnit->dimensionality > 0) {
+            macros.unit = macros.unit.product(subUnit->build(status), status);
+        } else {
+            subUnit->dimensionality *= -1;
+            macros.perUnit = macros.perUnit.product(subUnit->build(status), status);
+        }
+    }
+}
+
 void blueprint_helpers::parseFractionStem(const StringSegment& segment, MacroProps& macros,
                                           UErrorCode& status) {
     U_ASSERT(segment.charAt(0) == u'.');
@@ -1004,7 +1071,7 @@ void blueprint_helpers::parseFractionStem(const StringSegment& segment, MacroPro
         }
     }
     if (offset < segment.length()) {
-        if (segment.charAt(offset) == u'+') {
+        if (isWildcardChar(segment.charAt(offset))) {
             maxFrac = -1;
             offset++;
         } else {
@@ -1027,7 +1094,11 @@ void blueprint_helpers::parseFractionStem(const StringSegment& segment, MacroPro
     }
     // Use the public APIs to enforce bounds checking
     if (maxFrac == -1) {
-        macros.precision = Precision::minFraction(minFrac);
+        if (minFrac == 0) {
+            macros.precision = Precision::unlimited();
+        } else {
+            macros.precision = Precision::minFraction(minFrac);
+        }
     } else {
         macros.precision = Precision::minMaxFraction(minFrac, maxFrac);
     }
@@ -1042,7 +1113,7 @@ blueprint_helpers::generateFractionStem(int32_t minFrac, int32_t maxFrac, Unicod
     sb.append(u'.');
     appendMultiple(sb, u'0', minFrac);
     if (maxFrac == -1) {
-        sb.append(u'+');
+        sb.append(kWildcardChar);
     } else {
         appendMultiple(sb, u'#', maxFrac - minFrac);
     }
@@ -1051,9 +1122,9 @@ blueprint_helpers::generateFractionStem(int32_t minFrac, int32_t maxFrac, Unicod
 void
 blueprint_helpers::parseDigitsStem(const StringSegment& segment, MacroProps& macros, UErrorCode& status) {
     U_ASSERT(segment.charAt(0) == u'@');
-    int offset = 0;
-    int minSig = 0;
-    int maxSig;
+    int32_t offset = 0;
+    int32_t minSig = 0;
+    int32_t maxSig;
     for (; offset < segment.length(); offset++) {
         if (segment.charAt(offset) == u'@') {
             minSig++;
@@ -1062,7 +1133,7 @@ blueprint_helpers::parseDigitsStem(const StringSegment& segment, MacroProps& mac
         }
     }
     if (offset < segment.length()) {
-        if (segment.charAt(offset) == u'+') {
+        if (isWildcardChar(segment.charAt(offset))) {
             maxSig = -1;
             offset++;
         } else {
@@ -1095,12 +1166,81 @@ void
 blueprint_helpers::generateDigitsStem(int32_t minSig, int32_t maxSig, UnicodeString& sb, UErrorCode&) {
     appendMultiple(sb, u'@', minSig);
     if (maxSig == -1) {
-        sb.append(u'+');
+        sb.append(kWildcardChar);
     } else {
         appendMultiple(sb, u'#', maxSig - minSig);
     }
 }
 
+void blueprint_helpers::parseScientificStem(const StringSegment& segment, MacroProps& macros, UErrorCode& status) {
+    U_ASSERT(segment.charAt(0) == u'E');
+    {
+        int32_t offset = 1;
+        if (segment.length() == offset) {
+            goto fail;
+        }
+        bool isEngineering = false;
+        if (segment.charAt(offset) == u'E') {
+            isEngineering = true;
+            offset++;
+            if (segment.length() == offset) {
+                goto fail;
+            }
+        }
+        UNumberSignDisplay signDisplay = UNUM_SIGN_AUTO;
+        if (segment.charAt(offset) == u'+') {
+            offset++;
+            if (segment.length() == offset) {
+                goto fail;
+            }
+            if (segment.charAt(offset) == u'!') {
+                signDisplay = UNUM_SIGN_ALWAYS;
+            } else if (segment.charAt(offset) == u'?') {
+                signDisplay = UNUM_SIGN_EXCEPT_ZERO;
+            } else {
+                goto fail;
+            }
+            offset++;
+            if (segment.length() == offset) {
+                goto fail;
+            }
+        }
+        int32_t minDigits = 0;
+        for (; offset < segment.length(); offset++) {
+            if (segment.charAt(offset) != u'0') {
+                goto fail;
+            }
+            minDigits++;
+        }
+        macros.notation = (isEngineering ? Notation::engineering() : Notation::scientific())
+            .withExponentSignDisplay(signDisplay)
+            .withMinExponentDigits(minDigits);
+        return;
+    }
+    fail: void();
+    // throw new SkeletonSyntaxException("Invalid scientific stem", segment);
+    status = U_NUMBER_SKELETON_SYNTAX_ERROR;
+    return;
+}
+
+void blueprint_helpers::parseIntegerStem(const StringSegment& segment, MacroProps& macros, UErrorCode& status) {
+    U_ASSERT(segment.charAt(0) == u'0');
+    int32_t offset = 1;
+    for (; offset < segment.length(); offset++) {
+        if (segment.charAt(offset) != u'0') {
+            offset--;
+            break;
+        }
+    }
+    if (offset < segment.length()) {
+        // throw new SkeletonSyntaxException("Invalid integer stem", segment);
+        status = U_NUMBER_SKELETON_SYNTAX_ERROR;
+        return;
+    }
+    macros.integerWidth = IntegerWidth::zeroFillTo(offset);
+    return;
+}
+
 bool blueprint_helpers::parseFracSigOption(const StringSegment& segment, MacroProps& macros,
                                            UErrorCode& status) {
     if (segment.charAt(0) != u'@') {
@@ -1122,7 +1262,7 @@ bool blueprint_helpers::parseFracSigOption(const StringSegment& segment, MacroPr
     // Invalid: @, @@, @@@
     // Invalid: @@#, @@##, @@@#
     if (offset < segment.length()) {
-        if (segment.charAt(offset) == u'+') {
+        if (isWildcardChar(segment.charAt(offset))) {
             maxSig = -1;
             offset++;
         } else if (minSig > 1) {
@@ -1211,7 +1351,7 @@ void blueprint_helpers::parseIntegerWidthOption(const StringSegment& segment, Ma
     int32_t offset = 0;
     int32_t minInt = 0;
     int32_t maxInt;
-    if (segment.charAt(0) == u'+') {
+    if (isWildcardChar(segment.charAt(0))) {
         maxInt = -1;
         offset++;
     } else {
@@ -1252,7 +1392,7 @@ void blueprint_helpers::parseIntegerWidthOption(const StringSegment& segment, Ma
 void blueprint_helpers::generateIntegerWidthOption(int32_t minInt, int32_t maxInt, UnicodeString& sb,
                                                    UErrorCode&) {
     if (maxInt == -1) {
-        sb.append(u'+');
+        sb.append(kWildcardChar);
     } else {
         appendMultiple(sb, u'#', maxInt - minInt);
     }
@@ -1543,4 +1683,49 @@ bool GeneratorHelpers::scale(const MacroProps& macros, UnicodeString& sb, UError
 }
 
 
+// Definitions of public API methods (put here for dependency disentanglement)
+
+#if (U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN) && defined(_MSC_VER)
+// Ignore MSVC warning 4661. This is generated for NumberFormatterSettings<>::toSkeleton() as this method
+// is defined elsewhere (in number_skeletons.cpp). The compiler is warning that the explicit template instantiation
+// inside this single translation unit (CPP file) is incomplete, and thus it isn't sure if the template class is
+// fully defined. However, since each translation unit explicitly instantiates all the necessary template classes,
+// they will all be passed to the linker, and the linker will still find and export all the class members.
+#pragma warning(push)
+#pragma warning(disable: 4661)
+#endif
+
+template<typename Derived>
+UnicodeString NumberFormatterSettings<Derived>::toSkeleton(UErrorCode& status) const {
+    if (U_FAILURE(status)) {
+        return ICU_Utility::makeBogusString();
+    }
+    if (fMacros.copyErrorTo(status)) {
+        return ICU_Utility::makeBogusString();
+    }
+    return skeleton::generate(fMacros, status);
+}
+
+// Declare all classes that implement NumberFormatterSettings
+// See https://stackoverflow.com/a/495056/1407170
+template
+class icu::number::NumberFormatterSettings<icu::number::UnlocalizedNumberFormatter>;
+template
+class icu::number::NumberFormatterSettings<icu::number::LocalizedNumberFormatter>;
+
+UnlocalizedNumberFormatter
+NumberFormatter::forSkeleton(const UnicodeString& skeleton, UErrorCode& status) {
+    return skeleton::create(skeleton, nullptr, status);
+}
+
+UnlocalizedNumberFormatter
+NumberFormatter::forSkeleton(const UnicodeString& skeleton, UParseError& perror, UErrorCode& status) {
+    return skeleton::create(skeleton, &perror, status);
+}
+
+#if (U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN) && defined(_MSC_VER)
+// Warning 4661.
+#pragma warning(pop)
+#endif
+
 #endif /* #if !UCONFIG_NO_FORMATTING */
index 59af771..d9b2c0e 100644 (file)
@@ -46,6 +46,7 @@ enum ParseState {
     STATE_INCREMENT_PRECISION,
     STATE_MEASURE_UNIT,
     STATE_PER_MEASURE_UNIT,
+    STATE_IDENTIFIER_UNIT,
     STATE_CURRENCY_UNIT,
     STATE_INTEGER_WIDTH,
     STATE_NUMBERING_SYSTEM,
@@ -71,6 +72,7 @@ enum StemEnum {
     STEM_BASE_UNIT,
     STEM_PERCENT,
     STEM_PERMILLE,
+    STEM_PERCENT_100, // concise-only
     STEM_PRECISION_INTEGER,
     STEM_PRECISION_UNLIMITED,
     STEM_PRECISION_CURRENCY_STANDARD,
@@ -109,12 +111,24 @@ enum StemEnum {
     STEM_PRECISION_INCREMENT,
     STEM_MEASURE_UNIT,
     STEM_PER_MEASURE_UNIT,
+    STEM_UNIT,
     STEM_CURRENCY,
     STEM_INTEGER_WIDTH,
     STEM_NUMBERING_SYSTEM,
     STEM_SCALE,
 };
 
+/** Default wildcard char, accepted on input and printed in output */
+constexpr char16_t kWildcardChar = u'*';
+
+/** Alternative wildcard char, accept on input but not printed in output */
+constexpr char16_t kAltWildcardChar = u'+';
+
+/** Checks whether the char is a wildcard on input */
+inline bool isWildcardChar(char16_t c) {
+    return c == kWildcardChar || c == kAltWildcardChar;
+}
+
 /**
  * Creates a NumberFormatter corresponding to the given skeleton string.
  *
@@ -226,6 +240,8 @@ void generateMeasureUnitOption(const MeasureUnit& measureUnit, UnicodeString& sb
 
 void parseMeasurePerUnitOption(const StringSegment& segment, MacroProps& macros, UErrorCode& status);
 
+void parseIdentifierUnitOption(const StringSegment& segment, MacroProps& macros, UErrorCode& status);
+
 void parseFractionStem(const StringSegment& segment, MacroProps& macros, UErrorCode& status);
 
 void generateFractionStem(int32_t minFrac, int32_t maxFrac, UnicodeString& sb, UErrorCode& status);
@@ -234,6 +250,14 @@ void parseDigitsStem(const StringSegment& segment, MacroProps& macros, UErrorCod
 
 void generateDigitsStem(int32_t minSig, int32_t maxSig, UnicodeString& sb, UErrorCode& status);
 
+void parseScientificStem(const StringSegment& segment, MacroProps& macros, UErrorCode& status);
+
+// Note: no generateScientificStem since this syntax was added later in ICU 67
+
+void parseIntegerStem(const StringSegment& segment, MacroProps& macros, UErrorCode& status);
+
+// Note: no generateIntegerStem since this syntax was added later in ICU 67
+
 /** @return Whether we successfully found and parsed a frac-sig option. */
 bool parseFracSigOption(const StringSegment& segment, MacroProps& macros, UErrorCode& status);
 
index d62aa6a..5c2b8cf 100644 (file)
@@ -92,9 +92,11 @@ enum CompactType {
 };
 
 enum Signum {
-    SIGNUM_NEG = -1,
-    SIGNUM_ZERO = 0,
-    SIGNUM_POS = 1
+    SIGNUM_NEG = 0,
+    SIGNUM_NEG_ZERO = 1,
+    SIGNUM_POS_ZERO = 2,
+    SIGNUM_POS = 3,
+    SIGNUM_COUNT = 4,
 };
 
 
@@ -192,7 +194,7 @@ class U_I18N_API Modifier {
     /**
      * Whether the modifier contains at least one occurrence of the given field.
      */
-    virtual bool containsField(UNumberFormatFields field) const = 0;
+    virtual bool containsField(Field field) const = 0;
 
     /**
      * A fill-in for getParameters(). obj will always be set; if non-null, the other
index 6dbe5be..7a1b7a4 100644 (file)
@@ -30,10 +30,12 @@ const DecimalQuantity* validateUFormattedNumberToDecimalQuantity(
  *
  * The DecimalQuantity is not currently being used by FormattedNumber, but at some point it could be used
  * to add a toDecNumber() or similar method.
+ *
+ * Exported as U_I18N_API for tests
  */
-class UFormattedNumberData : public FormattedValueStringBuilderImpl {
+class U_I18N_API UFormattedNumberData : public FormattedValueStringBuilderImpl {
 public:
-    UFormattedNumberData() : FormattedValueStringBuilderImpl(0) {}
+    UFormattedNumberData() : FormattedValueStringBuilderImpl(kUndefinedField) {}
     virtual ~UFormattedNumberData();
 
     DecimalQuantity quantity;
index cf8bab4..ca293e7 100644 (file)
@@ -271,8 +271,6 @@ void AffixMatcherWarehouse::createAffixMatchers(const AffixPatternProvider& patt
     // Use initial capacity of 6, the highest possible number of AffixMatchers.
     UnicodeString sb;
     bool includeUnpaired = 0 != (parseFlags & PARSE_FLAG_INCLUDE_UNPAIRED_AFFIXES);
-    UNumberSignDisplay signDisplay = (0 != (parseFlags & PARSE_FLAG_PLUS_SIGN_ALLOWED)) ? UNUM_SIGN_ALWAYS
-                                                                                        : UNUM_SIGN_AUTO;
 
     int32_t numAffixMatchers = 0;
     int32_t numAffixPatternMatchers = 0;
@@ -281,13 +279,23 @@ void AffixMatcherWarehouse::createAffixMatchers(const AffixPatternProvider& patt
     AffixPatternMatcher* posSuffix = nullptr;
 
     // Pre-process the affix strings to resolve LDML rules like sign display.
-    for (int8_t signumInt = 1; signumInt >= -1; signumInt--) {
-        auto signum = static_cast<Signum>(signumInt);
+    for (int8_t typeInt = 0; typeInt < PATTERN_SIGN_TYPE_COUNT; typeInt++) {
+        auto type = static_cast<PatternSignType>(typeInt);
+
+        // Skip affixes in some cases
+        if (type == PATTERN_SIGN_TYPE_POS
+                && 0 != (parseFlags & PARSE_FLAG_PLUS_SIGN_ALLOWED)) {
+            continue;
+        }
+        if (type == PATTERN_SIGN_TYPE_POS_SIGN
+                && 0 == (parseFlags & PARSE_FLAG_PLUS_SIGN_ALLOWED)) {
+            continue;
+        }
 
         // Generate Prefix
         bool hasPrefix = false;
         PatternStringUtils::patternInfoToStringBuilder(
-                patternInfo, true, signum, signDisplay, StandardPlural::OTHER, false, sb);
+                patternInfo, true, type, StandardPlural::OTHER, false, sb);
         fAffixPatternMatchers[numAffixPatternMatchers] = AffixPatternMatcher::fromAffixPattern(
                 sb, *fTokenWarehouse, parseFlags, &hasPrefix, status);
         AffixPatternMatcher* prefix = hasPrefix ? &fAffixPatternMatchers[numAffixPatternMatchers++]
@@ -296,13 +304,13 @@ void AffixMatcherWarehouse::createAffixMatchers(const AffixPatternProvider& patt
         // Generate Suffix
         bool hasSuffix = false;
         PatternStringUtils::patternInfoToStringBuilder(
-                patternInfo, false, signum, signDisplay, StandardPlural::OTHER, false, sb);
+                patternInfo, false, type, StandardPlural::OTHER, false, sb);
         fAffixPatternMatchers[numAffixPatternMatchers] = AffixPatternMatcher::fromAffixPattern(
                 sb, *fTokenWarehouse, parseFlags, &hasSuffix, status);
         AffixPatternMatcher* suffix = hasSuffix ? &fAffixPatternMatchers[numAffixPatternMatchers++]
                                                 : nullptr;
 
-        if (signum == 1) {
+        if (type == PATTERN_SIGN_TYPE_POS) {
             posPrefix = prefix;
             posSuffix = suffix;
         } else if (equals(prefix, posPrefix) && equals(suffix, posSuffix)) {
@@ -311,17 +319,17 @@ void AffixMatcherWarehouse::createAffixMatchers(const AffixPatternProvider& patt
         }
 
         // Flags for setting in the ParsedNumber; the token matchers may add more.
-        int flags = (signum == -1) ? FLAG_NEGATIVE : 0;
+        int flags = (type == PATTERN_SIGN_TYPE_NEG) ? FLAG_NEGATIVE : 0;
 
         // Note: it is indeed possible for posPrefix and posSuffix to both be null.
         // We still need to add that matcher for strict mode to work.
         fAffixMatchers[numAffixMatchers++] = {prefix, suffix, flags};
         if (includeUnpaired && prefix != nullptr && suffix != nullptr) {
             // The following if statements are designed to prevent adding two identical matchers.
-            if (signum == 1 || !equals(prefix, posPrefix)) {
+            if (type == PATTERN_SIGN_TYPE_POS || !equals(prefix, posPrefix)) {
                 fAffixMatchers[numAffixMatchers++] = {prefix, nullptr, flags};
             }
-            if (signum == 1 || !equals(suffix, posSuffix)) {
+            if (type == PATTERN_SIGN_TYPE_POS || !equals(suffix, posSuffix)) {
                 fAffixMatchers[numAffixMatchers++] = {nullptr, suffix, flags};
             }
         }
index e02b17b..97a17f4 100644 (file)
@@ -28,7 +28,7 @@ using ::icu::number::impl::TokenConsumer;
 using ::icu::number::impl::CurrencySymbols;
 
 
-class CodePointMatcher : public NumberParseMatcher, public UMemory {
+class U_I18N_API CodePointMatcher : public NumberParseMatcher, public UMemory {
   public:
     CodePointMatcher() = default;  // WARNING: Leaves the object in an unusable state
 
index bf58290..4b76da1 100644 (file)
@@ -83,23 +83,14 @@ NumberParserImpl::createParserFromProperties(const number::impl::DecimalFormatPr
                                              const DecimalFormatSymbols& symbols, bool parseCurrency,
                                              UErrorCode& status) {
     Locale locale = symbols.getLocale();
-    PropertiesAffixPatternProvider localPAPP;
-    CurrencyPluralInfoAffixProvider localCPIAP;
-    AffixPatternProvider* affixProvider;
-    if (properties.currencyPluralInfo.fPtr.isNull()) {
-        localPAPP.setTo(properties, status);
-        affixProvider = &localPAPP;
-    } else {
-        localCPIAP.setTo(*properties.currencyPluralInfo.fPtr, properties, status);
-        affixProvider = &localCPIAP;
-    }
-    if (affixProvider == nullptr || U_FAILURE(status)) { return nullptr; }
+    AutoAffixPatternProvider affixProvider(properties, status);
+    if (U_FAILURE(status)) { return nullptr; }
     CurrencyUnit currency = resolveCurrency(properties, locale, status);
     CurrencySymbols currencySymbols(currency, locale, symbols, status);
     bool isStrict = properties.parseMode.getOrDefault(PARSE_MODE_STRICT) == PARSE_MODE_STRICT;
     Grouper grouper = Grouper::forProperties(properties);
     int parseFlags = 0;
-    if (affixProvider == nullptr || U_FAILURE(status)) { return nullptr; }
+    if (U_FAILURE(status)) { return nullptr; }
     if (!properties.parseCaseSensitive) {
         parseFlags |= PARSE_FLAG_IGNORE_CASE;
     }
@@ -121,7 +112,7 @@ NumberParserImpl::createParserFromProperties(const number::impl::DecimalFormatPr
     if (grouper.getPrimary() <= 0) {
         parseFlags |= PARSE_FLAG_GROUPING_DISABLED;
     }
-    if (parseCurrency || affixProvider->hasCurrencySign()) {
+    if (parseCurrency || affixProvider.get().hasCurrencySign()) {
         parseFlags |= PARSE_FLAG_MONETARY_SEPARATORS;
     }
     if (!parseCurrency) {
@@ -143,13 +134,13 @@ NumberParserImpl::createParserFromProperties(const number::impl::DecimalFormatPr
     parser->fLocalMatchers.affixTokenMatcherWarehouse = {&affixSetupData};
     parser->fLocalMatchers.affixMatcherWarehouse = {&parser->fLocalMatchers.affixTokenMatcherWarehouse};
     parser->fLocalMatchers.affixMatcherWarehouse.createAffixMatchers(
-            *affixProvider, *parser, ignorables, parseFlags, status);
+            affixProvider.get(), *parser, ignorables, parseFlags, status);
 
     ////////////////////////
     /// CURRENCY MATCHER ///
     ////////////////////////
 
-    if (parseCurrency || affixProvider->hasCurrencySign()) {
+    if (parseCurrency || affixProvider.get().hasCurrencySign()) {
         parser->addMatcher(parser->fLocalMatchers.currency = {currencySymbols, symbols, parseFlags, status});
     }
 
@@ -159,10 +150,10 @@ NumberParserImpl::createParserFromProperties(const number::impl::DecimalFormatPr
 
     // ICU-TC meeting, April 11, 2018: accept percent/permille only if it is in the pattern,
     // and to maintain regressive behavior, divide by 100 even if no percent sign is present.
-    if (!isStrict && affixProvider->containsSymbolType(AffixPatternType::TYPE_PERCENT, status)) {
+    if (!isStrict && affixProvider.get().containsSymbolType(AffixPatternType::TYPE_PERCENT, status)) {
         parser->addMatcher(parser->fLocalMatchers.percent = {symbols});
     }
-    if (!isStrict && affixProvider->containsSymbolType(AffixPatternType::TYPE_PERMILLE, status)) {
+    if (!isStrict && affixProvider.get().containsSymbolType(AffixPatternType::TYPE_PERMILLE, status)) {
         parser->addMatcher(parser->fLocalMatchers.permille = {symbols});
     }
 
index 654cafa..3317902 100644 (file)
@@ -379,23 +379,6 @@ UPRV_FORMATTED_VALUE_SUBCLASS_AUTO_IMPL(FormattedNumberRange)
 
 #define UPRV_NOARG
 
-UBool FormattedNumberRange::nextFieldPosition(FieldPosition& fieldPosition, UErrorCode& status) const {
-    UPRV_FORMATTED_VALUE_METHOD_GUARD(FALSE)
-    // NOTE: MSVC sometimes complains when implicitly converting between bool and UBool
-    return fData->nextFieldPosition(fieldPosition, status);
-}
-
-void FormattedNumberRange::getAllFieldPositions(FieldPositionIterator& iterator, UErrorCode& status) const {
-    FieldPositionIteratorHandler fpih(&iterator, status);
-    getAllFieldPositionsImpl(fpih, status);
-}
-
-void FormattedNumberRange::getAllFieldPositionsImpl(
-        FieldPositionIteratorHandler& fpih, UErrorCode& status) const {
-    UPRV_FORMATTED_VALUE_METHOD_GUARD(UPRV_NOARG)
-    fData->getAllFieldPositions(fpih, status);
-}
-
 UnicodeString FormattedNumberRange::getFirstDecimal(UErrorCode& status) const {
     UPRV_FORMATTED_VALUE_METHOD_GUARD(ICU_Utility::makeBogusString())
     return fData->quantity1.toScientificString();
index 7d732b3..9fb3dee 100644 (file)
@@ -210,7 +210,7 @@ NumberRangeFormatterImpl::NumberRangeFormatterImpl(const RangeMacroProps& macros
     getNumberRangeData(macros.locale.getName(), nsName, data, status);
     if (U_FAILURE(status)) { return; }
     fRangeFormatter = data.rangePattern;
-    fApproximatelyModifier = {data.approximatelyPattern, UNUM_FIELD_COUNT, false};
+    fApproximatelyModifier = {data.approximatelyPattern, kUndefinedField, false};
 
     // TODO: Get locale from PluralRules instead?
     fPluralRanges.initialize(macros.locale, status);
@@ -368,7 +368,8 @@ void NumberRangeFormatterImpl::formatRange(UFormattedNumberRangeData& data,
                 // Only collapse if the modifier is a unit.
                 // TODO: Make a better way to check for a unit?
                 // TODO: Handle case where the modifier has both notation and unit (compact currency)?
-                if (!mm->containsField(UNUM_CURRENCY_FIELD) && !mm->containsField(UNUM_PERCENT_FIELD)) {
+                if (!mm->containsField({UFIELD_CATEGORY_NUMBER, UNUM_CURRENCY_FIELD})
+                        && !mm->containsField({UFIELD_CATEGORY_NUMBER, UNUM_PERCENT_FIELD})) {
                     collapseMiddle = false;
                 }
             } else if (fCollapse == UNUM_RANGE_COLLAPSE_AUTO) {
@@ -416,7 +417,7 @@ void NumberRangeFormatterImpl::formatRange(UFormattedNumberRangeData& data,
         0,
         &lengthPrefix,
         &lengthSuffix,
-        UNUM_FIELD_COUNT,
+        kUndefinedField,
         status);
     if (U_FAILURE(status)) { return; }
     lengthInfix = lengthRange - lengthPrefix - lengthSuffix;
@@ -434,10 +435,10 @@ void NumberRangeFormatterImpl::formatRange(UFormattedNumberRangeData& data,
         if (repeatInner || repeatMiddle || repeatOuter) {
             // Add spacing if there is not already spacing
             if (!PatternProps::isWhiteSpace(string.charAt(UPRV_INDEX_1))) {
-                lengthInfix += string.insertCodePoint(UPRV_INDEX_1, u'\u0020', UNUM_FIELD_COUNT, status);
+                lengthInfix += string.insertCodePoint(UPRV_INDEX_1, u'\u0020', kUndefinedField, status);
             }
             if (!PatternProps::isWhiteSpace(string.charAt(UPRV_INDEX_2 - 1))) {
-                lengthInfix += string.insertCodePoint(UPRV_INDEX_2, u'\u0020', UNUM_FIELD_COUNT, status);
+                lengthInfix += string.insertCodePoint(UPRV_INDEX_2, u'\u0020', kUndefinedField, status);
             }
         }
     }
index f88e300..8f4c8a4 100644 (file)
@@ -31,7 +31,7 @@ namespace impl {
  */
 class UFormattedNumberRangeData : public FormattedValueStringBuilderImpl {
 public:
-    UFormattedNumberRangeData() : FormattedValueStringBuilderImpl(0) {}
+    UFormattedNumberRangeData() : FormattedValueStringBuilderImpl(kUndefinedField) {}
     virtual ~UFormattedNumberRangeData();
 
     DecimalQuantity quantity1;
index ee530e8..62d555a 100644 (file)
@@ -118,7 +118,7 @@ NumberingSystem::createInstance(const Locale & inLocale, UErrorCode& status) {
 
     UBool nsResolved = TRUE;
     UBool usingFallback = FALSE;
-    char buffer[ULOC_KEYWORDS_CAPACITY];
+    char buffer[ULOC_KEYWORDS_CAPACITY] = "";
     int32_t count = inLocale.getKeywordValue("numbers", buffer, sizeof(buffer), status);
     if (U_FAILURE(status) || status == U_STRING_NOT_TERMINATED_WARNING) {
         // the "numbers" keyword exceeds ULOC_KEYWORDS_CAPACITY; ignore and use default.
index fd19356..794a3d8 100644 (file)
@@ -1693,6 +1693,7 @@ double FixedDecimal::getPluralOperand(PluralOperand operand) const {
         case PLURAL_OPERAND_F: return static_cast<double>(decimalDigits);
         case PLURAL_OPERAND_T: return static_cast<double>(decimalDigitsWithoutTrailingZeros);
         case PLURAL_OPERAND_V: return visibleDecimalDigitCount;
+        case PLURAL_OPERAND_E: return 0;
         default:
              UPRV_UNREACHABLE;  // unexpected.
     }
index 3a919ea..0dc44fb 100644 (file)
@@ -215,6 +215,12 @@ enum PluralOperand {
     PLURAL_OPERAND_W,
 
     /**
+     * Suppressed exponent for compact notation (exponent needed in
+     * scientific notation with compact notation to approximate i).
+     */
+    PLURAL_OPERAND_E,
+
+    /**
      * THIS OPERAND IS DEPRECATED AND HAS BEEN REMOVED FROM THE SPEC.
      *
      * <p>Returns the integer value, but will fail if the number has fraction digits.
index e88b70f..9c9aa99 100644 (file)
@@ -204,7 +204,8 @@ void QuantityFormatter::formatAndSelect(
         if (U_FAILURE(status)) {
             return;
         }
-        output.append(result, UNUM_FIELD_COUNT, status);
+        // This code path is probably RBNF. Use the generic numeric field.
+        output.append(result, kGeneralNumericField, status);
         if (U_FAILURE(status)) {
             return;
         }
index 7274ca9..dd777b7 100644 (file)
@@ -148,9 +148,6 @@ void    RegexCompile::compile(
     if (U_FAILURE(*fStatus)) {
         return;
     }
-    fRXPat->fStaticSets     = RegexStaticSets::gStaticSets->fPropSets;
-    fRXPat->fStaticSets8    = RegexStaticSets::gStaticSets->fPropSets8;
-
 
     // Initialize the pattern scanning state machine
     fPatternLength = utext_nativeLength(pat);
@@ -1257,11 +1254,14 @@ UBool RegexCompile::doParseActions(int32_t action)
         break;
 
     case doBackslashX:
+        #if  UCONFIG_NO_BREAK_ITERATION==1
+        // Grapheme Cluster Boundary requires ICU break iteration.
+        error(U_UNSUPPORTED_ERROR);
+        #endif
         fixLiterals(FALSE);
         appendOp(URX_BACKSLASH_X, 0);
         break;
 
-
     case doBackslashZ:
         fixLiterals(FALSE);
         appendOp(URX_DOLLAR, 0);
@@ -1565,15 +1565,15 @@ UBool RegexCompile::doParseActions(int32_t action)
      case doSetBackslash_s:
         {
          UnicodeSet *set = (UnicodeSet *)fSetStack.peek();
-         set->addAll(*RegexStaticSets::gStaticSets->fPropSets[URX_ISSPACE_SET]);
+         set->addAll(RegexStaticSets::gStaticSets->fPropSets[URX_ISSPACE_SET]);
          break;
         }
 
      case doSetBackslash_S:
         {
             UnicodeSet *set = (UnicodeSet *)fSetStack.peek();
-            UnicodeSet SSet(*RegexStaticSets::gStaticSets->fPropSets[URX_ISSPACE_SET]);
-            SSet.complement();
+            UnicodeSet SSet;
+            SSet.addAll(RegexStaticSets::gStaticSets->fPropSets[URX_ISSPACE_SET]).complement();
             set->addAll(SSet);
             break;
         }
@@ -1642,15 +1642,15 @@ UBool RegexCompile::doParseActions(int32_t action)
     case doSetBackslash_w:
         {
             UnicodeSet *set = (UnicodeSet *)fSetStack.peek();
-            set->addAll(*RegexStaticSets::gStaticSets->fPropSets[URX_ISWORD_SET]);
+            set->addAll(RegexStaticSets::gStaticSets->fPropSets[URX_ISWORD_SET]);
             break;
         }
 
     case doSetBackslash_W:
         {
             UnicodeSet *set = (UnicodeSet *)fSetStack.peek();
-            UnicodeSet SSet(*RegexStaticSets::gStaticSets->fPropSets[URX_ISWORD_SET]);
-            SSet.complement();
+            UnicodeSet SSet;
+            SSet.addAll(RegexStaticSets::gStaticSets->fPropSets[URX_ISWORD_SET]).complement();
             set->addAll(SSet);
             break;
         }
@@ -2425,6 +2425,7 @@ void        RegexCompile::compileSet(UnicodeSet *theSet)
         {
             //  The set contains two or more chars.  (the normal case)
             //  Put it into the compiled pattern as a set.
+            theSet->freeze();
             int32_t setNumber = fRXPat->fSets->size();
             fRXPat->fSets->addElement(theSet, *fStatus);
             appendOp(URX_SETREF, setNumber);
@@ -2818,8 +2819,8 @@ void   RegexCompile::matchStartType() {
             if (currentLen == 0) {
                 int32_t  sn = URX_VAL(op);
                 U_ASSERT(sn>0 && sn<URX_LAST_SET);
-                const UnicodeSet *s = fRXPat->fStaticSets[sn];
-                fRXPat->fInitialChars->addAll(*s);
+                const UnicodeSet &s = RegexStaticSets::gStaticSets->fPropSets[sn];
+                fRXPat->fInitialChars->addAll(s);
                 numInitialStrings += 2;
             }
             currentLen = safeIncrement(currentLen, 1);
@@ -2831,9 +2832,8 @@ void   RegexCompile::matchStartType() {
         case URX_STAT_SETREF_N:
             if (currentLen == 0) {
                 int32_t  sn = URX_VAL(op);
-                const UnicodeSet *s = fRXPat->fStaticSets[sn];
-                UnicodeSet sc(*s);
-                sc.complement();
+                UnicodeSet sc;
+                sc.addAll(RegexStaticSets::gStaticSets->fPropSets[sn]).complement();
                 fRXPat->fInitialChars->addAll(sc);
                 numInitialStrings += 2;
             }
@@ -4420,7 +4420,8 @@ UnicodeSet *RegexCompile::createSetForProperty(const UnicodeString &propName, UB
 
         status = U_ZERO_ERROR;
         if (propName.caseCompare(u"word", -1, 0) == 0) {
-            set.adoptInsteadAndCheckErrorCode(new UnicodeSet(*(fRXPat->fStaticSets[URX_ISWORD_SET])), status);
+            set.adoptInsteadAndCheckErrorCode(
+                RegexStaticSets::gStaticSets->fPropSets[URX_ISWORD_SET].cloneAsThawed(), status);
             break;
         }
         if (propName.compare(u"all", -1) == 0) {
index 8b12096..d44c2ae 100644 (file)
@@ -20,117 +20,117 @@ U_NAMESPACE_BEGIN
 //
 // Character classes for regex pattern scanning.
 //
-    static const uint8_t kRuleSet_ascii_letter = 128;
-    static const uint8_t kRuleSet_digit_char = 129;
+    static const uint8_t kRuleSet_digit_char = 128;
+    static const uint8_t kRuleSet_ascii_letter = 129;
     static const uint8_t kRuleSet_rule_char = 130;
-
+    constexpr uint32_t kRuleSet_count = 131-128;
 
 enum Regex_PatternParseAction {
-    doSetBackslash_V,
-    doSetBackslash_h,
-    doBeginNamedBackRef,
-    doSetMatchMode,
-    doEnterQuoteMode,
-    doOpenCaptureParen,
-    doContinueNamedCapture,
-    doSetBackslash_d,
-    doBeginMatchMode,
-    doBackslashX,
-    doSetPosixProp,
-    doIntervalError,
+    doSetBackslash_D,
+    doBackslashh,
+    doBackslashH,
     doSetLiteralEscaped,
-    doSetBackslash_s,
-    doNOP,
-    doBackslashv,
-    doOpenLookBehind,
-    doPatStart,
-    doPossessiveInterval,
-    doOpenAtomicParen,
     doOpenLookAheadNeg,
-    doBackslashd,
+    doCompleteNamedBackRef,
+    doPatStart,
+    doBackslashS,
+    doBackslashD,
+    doNGStar,
+    doNOP,
+    doBackslashX,
+    doSetLiteral,
+    doContinueNamedCapture,
+    doBackslashG,
+    doBackslashR,
+    doSetBegin,
+    doSetBackslash_v,
+    doPossessivePlus,
+    doPerlInline,
     doBackslashZ,
-    doIntervalUpperDigit,
-    doBadNamedCapture,
-    doSetDifference2,
     doSetAddAmp,
-    doSetNamedChar,
-    doNamedChar,
-    doSetBackslash_H,
-    doBackslashb,
-    doBackslashz,
     doSetBeginDifference1,
-    doOpenLookAhead,
-    doMatchModeParen,
-    doBackslashV,
-    doIntevalLowerDigit,
-    doCaret,
-    doSetEnd,
+    doIntervalError,
     doSetNegate,
-    doBackslashS,
-    doOrOperator,
-    doBackslashB,
-    doBackslashw,
-    doBackslashR,
+    doIntervalInit,
+    doSetIntersection2,
+    doPossessiveInterval,
     doRuleError,
-    doDotAny,
-    doMatchMode,
-    doSetBackslash_W,
-    doNGPlus,
-    doSetBackslash_D,
-    doPossessiveOpt,
-    doSetNamedRange,
+    doBackslashW,
+    doContinueNamedBackRef,
+    doOpenNonCaptureParen,
+    doExit,
+    doSetNamedChar,
+    doSetBackslash_V,
     doConditionalExpr,
-    doBackslashs,
+    doEscapeError,
+    doBadOpenParenType,
     doPossessiveStar,
+    doSetAddDash,
+    doEscapedLiteralChar,
+    doSetBackslash_w,
+    doIntervalUpperDigit,
+    doBackslashv,
+    doSetBackslash_S,
+    doSetNoCloseError,
+    doSetProp,
+    doBackslashB,
+    doSetEnd,
+    doSetRange,
+    doMatchModeParen,
     doPlus,
-    doBadOpenParenType,
+    doBackslashV,
+    doSetMatchMode,
+    doBackslashz,
+    doSetNamedRange,
+    doOpenLookBehindNeg,
+    doInterval,
+    doBadNamedCapture,
+    doBeginMatchMode,
+    doBackslashd,
+    doPatFinish,
+    doNamedChar,
+    doNGPlus,
+    doSetDifference2,
+    doSetBackslash_H,
     doCloseParen,
-    doNGInterval,
-    doSetProp,
+    doDotAny,
+    doOpenCaptureParen,
+    doEnterQuoteMode,
+    doOpenAtomicParen,
+    doBadModeFlag,
+    doSetBackslash_d,
+    doSetFinish,
+    doProperty,
+    doBeginNamedBackRef,
     doBackRef,
-    doSetBeginUnion,
-    doEscapeError,
     doOpt,
-    doSetBeginIntersection1,
-    doPossessivePlus,
-    doBackslashD,
-    doOpenLookBehindNeg,
-    doSetBegin,
-    doSetIntersection2,
-    doCompleteNamedBackRef,
-    doSetRange,
     doDollar,
-    doBackslashH,
-    doExit,
-    doNGOpt,
-    doOpenNonCaptureParen,
-    doBackslashA,
-    doSetBackslash_v,
-    doBackslashh,
-    doBadModeFlag,
-    doSetNoCloseError,
-    doIntervalSame,
-    doSetAddDash,
-    doBackslashW,
-    doPerlInline,
-    doSetOpError,
-    doSetLiteral,
-    doPatFinish,
     doBeginNamedCapture,
-    doEscapedLiteralChar,
+    doNGInterval,
+    doSetOpError,
+    doSetPosixProp,
+    doSetBeginIntersection1,
+    doBackslashb,
+    doSetBeginUnion,
+    doIntevalLowerDigit,
+    doSetBackslash_h,
+    doStar,
+    doMatchMode,
+    doBackslashA,
+    doOpenLookBehind,
+    doPossessiveOpt,
+    doOrOperator,
+    doBackslashw,
+    doBackslashs,
     doLiteralChar,
     doSuppressComments,
+    doCaret,
+    doIntervalSame,
+    doNGOpt,
+    doOpenLookAhead,
+    doSetBackslash_W,
     doMismatchedParenErr,
-    doNGStar,
-    doSetFinish,
-    doInterval,
-    doBackslashG,
-    doStar,
-    doSetBackslash_w,
-    doSetBackslash_S,
-    doProperty,
-    doContinueNamedBackRef,
-    doIntervalInit,
+    doSetBackslash_s,
     rbbiLastAction};
 
 //-------------------------------------------------------------------------------
@@ -197,7 +197,7 @@ static const struct RegexTableEl gRuleParseStateTable[] = {
     , {doBadOpenParenType, 255, 206,0,  FALSE}     //  45 
     , {doOpenLookBehind, 61 /* = */, 2, 20, TRUE}     //  46      open-paren-lookbehind
     , {doOpenLookBehindNeg, 33 /* ! */, 2, 20, TRUE}     //  47 
-    , {doBeginNamedCapture, 128, 64,0,  FALSE}     //  48 
+    , {doBeginNamedCapture, 129, 64,0,  FALSE}     //  48 
     , {doBadOpenParenType, 255, 206,0,  FALSE}     //  49 
     , {doNOP, 41 /* ) */, 255,0,  TRUE}     //  50      paren-comment
     , {doMismatchedParenErr, 253, 206,0,  FALSE}     //  51 
@@ -213,8 +213,8 @@ static const struct RegexTableEl gRuleParseStateTable[] = {
     , {doSetMatchMode, 41 /* ) */, 2,0,  TRUE}     //  61 
     , {doMatchModeParen, 58 /* : */, 2, 14, TRUE}     //  62 
     , {doBadModeFlag, 255, 206,0,  FALSE}     //  63 
-    , {doContinueNamedCapture, 128, 64,0,  TRUE}     //  64      named-capture
-    , {doContinueNamedCapture, 129, 64,0,  TRUE}     //  65 
+    , {doContinueNamedCapture, 129, 64,0,  TRUE}     //  64      named-capture
+    , {doContinueNamedCapture, 128, 64,0,  TRUE}     //  65 
     , {doOpenCaptureParen, 62 /* > */, 2, 14, TRUE}     //  66 
     , {doBadNamedCapture, 255, 206,0,  FALSE}     //  67 
     , {doNGStar, 63 /* ? */, 20,0,  TRUE}     //  68      quant-star
@@ -226,13 +226,13 @@ static const struct RegexTableEl gRuleParseStateTable[] = {
     , {doNGOpt, 63 /* ? */, 20,0,  TRUE}     //  74      quant-opt
     , {doPossessiveOpt, 43 /* + */, 20,0,  TRUE}     //  75 
     , {doOpt, 255, 20,0,  FALSE}     //  76 
-    , {doNOP, 129, 79,0,  FALSE}     //  77      interval-open
+    , {doNOP, 128, 79,0,  FALSE}     //  77      interval-open
     , {doIntervalError, 255, 206,0,  FALSE}     //  78 
-    , {doIntevalLowerDigit, 129, 79,0,  TRUE}     //  79      interval-lower
+    , {doIntevalLowerDigit, 128, 79,0,  TRUE}     //  79      interval-lower
     , {doNOP, 44 /* , */, 83,0,  TRUE}     //  80 
     , {doIntervalSame, 125 /* } */, 86,0,  TRUE}     //  81 
     , {doIntervalError, 255, 206,0,  FALSE}     //  82 
-    , {doIntervalUpperDigit, 129, 83,0,  TRUE}     //  83      interval-upper
+    , {doIntervalUpperDigit, 128, 83,0,  TRUE}     //  83      interval-upper
     , {doNOP, 125 /* } */, 86,0,  TRUE}     //  84 
     , {doIntervalError, 255, 206,0,  FALSE}     //  85 
     , {doNGInterval, 63 /* ? */, 20,0,  TRUE}     //  86      interval-type
@@ -261,15 +261,15 @@ static const struct RegexTableEl gRuleParseStateTable[] = {
     , {doBackslashX, 88 /* X */, 14,0,  TRUE}     //  109 
     , {doBackslashZ, 90 /* Z */, 2,0,  TRUE}     //  110 
     , {doBackslashz, 122 /* z */, 2,0,  TRUE}     //  111 
-    , {doBackRef, 129, 14,0,  TRUE}     //  112 
+    , {doBackRef, 128, 14,0,  TRUE}     //  112 
     , {doEscapeError, 253, 206,0,  FALSE}     //  113 
     , {doEscapedLiteralChar, 255, 14,0,  TRUE}     //  114 
     , {doBeginNamedBackRef, 60 /* < */, 117,0,  TRUE}     //  115      named-backref
     , {doBadNamedCapture, 255, 206,0,  FALSE}     //  116 
-    , {doContinueNamedBackRef, 128, 119,0,  TRUE}     //  117      named-backref-2
+    , {doContinueNamedBackRef, 129, 119,0,  TRUE}     //  117      named-backref-2
     , {doBadNamedCapture, 255, 206,0,  FALSE}     //  118 
-    , {doContinueNamedBackRef, 128, 119,0,  TRUE}     //  119      named-backref-3
-    , {doContinueNamedBackRef, 129, 119,0,  TRUE}     //  120 
+    , {doContinueNamedBackRef, 129, 119,0,  TRUE}     //  119      named-backref-3
+    , {doContinueNamedBackRef, 128, 119,0,  TRUE}     //  120 
     , {doCompleteNamedBackRef, 62 /* > */, 14,0,  TRUE}     //  121 
     , {doBadNamedCapture, 255, 206,0,  FALSE}     //  122 
     , {doSetNegate, 94 /* ^ */, 126,0,  TRUE}     //  123      set-open
index 384281f..3d656ed 100755 (executable)
 #  regexcst.pl
 #            Compile the regular expression paser state table data into initialized C data.
 #            Usage:
-#                   cd icu/source/i18n
+#                   cd icu4c/source/i18n
 #                   perl regexcst.pl < regexcst.txt > regexcst.h
 #
 #             The output file, regexcst.h, is included by some of the .cpp regex
 #             implementation files.   This perl script is NOT run as part
 #             of a normal ICU build.  It is run by hand when needed, and the
-#             regexcst.h generated file is put back into cvs.
+#             regexcst.h generated file is put back into the source code repository.
 #
 #             See regexcst.txt for a description of the input format for this script.
 #
@@ -201,6 +201,8 @@ for ($state=1; $state<$num_states; $state++) {
 
 die if ($errors>0);
 
+print "// © 2016 and later: Unicode, Inc. and others.\n";
+print "// License & terms of use: http://www.unicode.org/copyright.html\n";
 print "//---------------------------------------------------------------------------------\n";
 print "//\n";
 print "// Generated Header File.  Do not edit by hand.\n";
@@ -246,6 +248,7 @@ foreach $setName (keys %charClasses) {
         $i++;
     }
 }
+print "    constexpr uint32_t kRuleSet_count = $i-128;";
 print "\n\n";
 
 #
index 4f12e87..97e417a 100644 (file)
                         //   generated by a Perl script.
 #include "regexst.h"
 
-
-
 U_NAMESPACE_BEGIN
 
-
-//------------------------------------------------------------------------------
-//
-// Unicode Set pattern strings for all of the required constant sets.
-//               Initialized with hex values for portability to EBCDIC based machines.
-//                Really ugly, but there's no good way to avoid it.
-//
-//------------------------------------------------------------------------------
-
-// "Rule Char" Characters are those with no special meaning, and therefore do not
-//    need to be escaped to appear as literals in a regexp.  Expressed
-//    as the inverse of those needing escaping --  [^\*\?\+\[\(\)\{\}\^\$\|\\\.]
-static const UChar gRuleSet_rule_char_pattern[]       = {
- //   [    ^      \     *     \     ?     \     +     \     [     \     (     /     )
-    0x5b, 0x5e, 0x5c, 0x2a, 0x5c, 0x3f, 0x5c, 0x2b, 0x5c, 0x5b, 0x5c, 0x28, 0x5c, 0x29,
- //   \     {    \     }     \     ^     \     $     \     |     \     \     \     .     ]
-    0x5c, 0x7b,0x5c, 0x7d, 0x5c, 0x5e, 0x5c, 0x24, 0x5c, 0x7c, 0x5c, 0x5c, 0x5c, 0x2e, 0x5d, 0};
+// "Rule Char" Characters are those with special meaning, and therefore
+//    need to be escaped to appear as literals in a regexp.
+constexpr char16_t const *gRuleSet_rule_chars = u"*?+[(){}^$|\\.";
 
 //
-//   Here are the backslash escape characters that ICU's unescape() function
-//    will handle.
+//   The backslash escape characters that ICU's unescape() function will handle.
 //
-static const UChar gUnescapeCharPattern[] = {
-//    [     a     c     e     f     n     r     t     u     U     x    ]
-    0x5b, 0x61, 0x63, 0x65, 0x66, 0x6e, 0x72, 0x74, 0x75, 0x55, 0x78, 0x5d, 0};
-
+constexpr char16_t const *gUnescapeChars = u"acefnrtuUx";
 
 //
-//  Unicode Set Definitions for Regular Expression  \w
+//  Unicode Set pattern for Regular Expression  \w
 //
-static const UChar gIsWordPattern[] = {
-//    [     \     p     {    A     l     p     h     a     b     e     t     i      c    }
-    0x5b, 0x5c, 0x70, 0x7b, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x65, 0x74, 0x69, 0x63, 0x7d,
-//          \     p     {    M     }                               Mark
-          0x5c, 0x70, 0x7b, 0x4d, 0x7d,
-//          \     p     {    N     d     }                         Digit_Numeric
-          0x5c, 0x70, 0x7b, 0x4e, 0x64, 0x7d,
-//          \     p     {    P     c     }                         Connector_Punctuation
-          0x5c, 0x70, 0x7b, 0x50, 0x63, 0x7d,
-//          \     u     2    0     0     c      \     u     2    0     0     d     ]
-          0x5c, 0x75, 0x32, 0x30, 0x30, 0x63, 0x5c, 0x75, 0x32, 0x30, 0x30, 0x64, 0x5d, 0};
-
+constexpr char16_t const *gIsWordPattern = u"[\\p{Alphabetic}\\p{M}\\p{Nd}\\p{Pc}\\u200c\\u200d]";
 
 //
 //  Unicode Set Definitions for Regular Expression  \s
 //
-static const UChar gIsSpacePattern[] = {
-//        [     \     p     {     W     h     i     t     e     S     p     a     c     e     }     ]
-        0x5b, 0x5c, 0x70, 0x7b, 0x57, 0x68, 0x69, 0x74, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x7d, 0x5d, 0};
-
+constexpr  char16_t const *gIsSpacePattern = u"[\\p{WhiteSpace}]";
 
 //
 //  UnicodeSets used in implementation of Grapheme Cluster detection, \X
 //
-static const UChar gGC_ControlPattern[] = {
-//    [     [     :     Z     l     :     ]     [     :     Z     p     :     ]
-    0x5b, 0x5b, 0x3a, 0x5A, 0x6c, 0x3a, 0x5d, 0x5b, 0x3a, 0x5A, 0x70, 0x3a, 0x5d,
-//    [     :     C     c     :     ]     [     :     C     f     :     ]     -
-    0x5b, 0x3a, 0x43, 0x63, 0x3a, 0x5d, 0x5b, 0x3a, 0x43, 0x66, 0x3a, 0x5d, 0x2d,
-//    [     :     G     r     a     p     h     e     m     e     _
-    0x5b, 0x3a, 0x47, 0x72, 0x61, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x5f,
-//    E     x     t     e     n     d     :     ]     ]
-    0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x3a, 0x5d, 0x5d, 0};
-
-static const UChar gGC_ExtendPattern[] = {
-//    [     \     p     {     G     r     a     p     h     e     m     e     _
-    0x5b, 0x5c, 0x70, 0x7b, 0x47, 0x72, 0x61, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x5f,
-//    E     x     t     e     n     d     }     ]
-    0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x7d, 0x5d, 0};
+constexpr char16_t const *gGC_ControlPattern = u"[[:Zl:][:Zp:][:Cc:][:Cf:]-[:Grapheme_Extend:]]";
+constexpr char16_t const *gGC_ExtendPattern  = u"[\\p{Grapheme_Extend}]";
+constexpr char16_t const *gGC_LPattern       = u"[\\p{Hangul_Syllable_Type=L}]";
+constexpr char16_t const *gGC_VPattern       = u"[\\p{Hangul_Syllable_Type=V}]";
+constexpr char16_t const *gGC_TPattern       = u"[\\p{Hangul_Syllable_Type=T}]";
+constexpr char16_t const *gGC_LVPattern      = u"[\\p{Hangul_Syllable_Type=LV}]";
+constexpr char16_t const *gGC_LVTPattern     = u"[\\p{Hangul_Syllable_Type=LVT}]";
 
-static const UChar gGC_LPattern[] = {
-//    [     \     p     {     H     a     n     g     u     l     _     S     y     l
-    0x5b, 0x5c, 0x70, 0x7b, 0x48, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x5f, 0x53, 0x79, 0x6c,
-//    l     a     b     l     e     _     T     y     p     e     =     L     }     ]
-    0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x54, 0x79, 0x70, 0x65, 0x3d, 0x4c, 0x7d,  0x5d, 0};
 
-static const UChar gGC_VPattern[] = {
-//    [     \     p     {     H     a     n     g     u     l     _     S     y     l
-    0x5b, 0x5c, 0x70, 0x7b, 0x48, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x5f, 0x53, 0x79, 0x6c,
-//    l     a     b     l     e     _     T     y     p     e     =     V     }     ]
-    0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x54, 0x79, 0x70, 0x65, 0x3d, 0x56, 0x7d,  0x5d, 0};
-
-static const UChar gGC_TPattern[] = {
-//    [     \     p     {     H     a     n     g     u     l     _     S     y     l
-    0x5b, 0x5c, 0x70, 0x7b, 0x48, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x5f, 0x53, 0x79, 0x6c,
-//    l     a     b     l     e     _     T     y     p     e     =     T     }    ]
-    0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x54, 0x79, 0x70, 0x65, 0x3d, 0x54, 0x7d, 0x5d, 0};
-
-static const UChar gGC_LVPattern[] = {
-//    [     \     p     {     H     a     n     g     u     l     _     S     y     l
-    0x5b, 0x5c, 0x70, 0x7b, 0x48, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x5f, 0x53, 0x79, 0x6c,
-//    l     a     b     l     e     _     T     y     p     e     =     L     V     }     ]
-    0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x54, 0x79, 0x70, 0x65, 0x3d, 0x4c, 0x56, 0x7d, 0x5d, 0};
-
-static const UChar gGC_LVTPattern[] = {
-//    [     \     p     {     H     a     n     g     u     l     _     S     y     l
-    0x5b, 0x5c, 0x70, 0x7b, 0x48, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x5f, 0x53, 0x79, 0x6c,
-//    l     a     b     l     e     _     T     y     p     e     =     L     V     T     }     ]
-    0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x54, 0x79, 0x70, 0x65, 0x3d, 0x4c, 0x56, 0x54, 0x7d, 0x5d, 0};
-
-
-RegexStaticSets *RegexStaticSets::gStaticSets = NULL;
+RegexStaticSets *RegexStaticSets::gStaticSets = nullptr;
 UInitOnce gStaticSetsInitOnce = U_INITONCE_INITIALIZER;
 
-RegexStaticSets::RegexStaticSets(UErrorCode *status)
-:
-fUnescapeCharSet(UnicodeString(TRUE, gUnescapeCharPattern, -1), *status),
-fRuleDigitsAlias(NULL),
-fEmptyText(NULL)
-{
-    // First zero out everything
-    int i;
-    for (i=0; i<URX_LAST_SET; i++) {
-        fPropSets[i] = NULL;
-    }
-    // Then init the sets to their correct values.
-    fPropSets[URX_ISWORD_SET]  = new UnicodeSet(UnicodeString(TRUE, gIsWordPattern, -1),     *status);
-    fPropSets[URX_ISSPACE_SET] = new UnicodeSet(UnicodeString(TRUE, gIsSpacePattern, -1),    *status);
-    fPropSets[URX_GC_EXTEND]   = new UnicodeSet(UnicodeString(TRUE, gGC_ExtendPattern, -1),  *status);
-    fPropSets[URX_GC_CONTROL]  = new UnicodeSet(UnicodeString(TRUE, gGC_ControlPattern, -1), *status);
-    fPropSets[URX_GC_L]        = new UnicodeSet(UnicodeString(TRUE, gGC_LPattern, -1),       *status);
-    fPropSets[URX_GC_V]        = new UnicodeSet(UnicodeString(TRUE, gGC_VPattern, -1),       *status);
-    fPropSets[URX_GC_T]        = new UnicodeSet(UnicodeString(TRUE, gGC_TPattern, -1),       *status);
-    fPropSets[URX_GC_LV]       = new UnicodeSet(UnicodeString(TRUE, gGC_LVPattern, -1),      *status);
-    fPropSets[URX_GC_LVT]      = new UnicodeSet(UnicodeString(TRUE, gGC_LVTPattern, -1),     *status);
-    
-    // Check for null pointers
-    if (fPropSets[URX_ISWORD_SET] == NULL || fPropSets[URX_ISSPACE_SET] == NULL || fPropSets[URX_GC_EXTEND] == NULL || 
-        fPropSets[URX_GC_CONTROL] == NULL || fPropSets[URX_GC_L] == NULL || fPropSets[URX_GC_V] == NULL || 
-        fPropSets[URX_GC_T] == NULL || fPropSets[URX_GC_LV] == NULL || fPropSets[URX_GC_LVT] == NULL) {
-        goto ExitConstrDeleteAll;
-    }
-    if (U_FAILURE(*status)) {
-        // Bail out if we were unable to create the above sets.
-        // The rest of the initialization needs them, so we cannot proceed.
-        return;
-    }
-
-
-    //
-    // The following sets  are dynamically constructed, because their
-    //   initialization strings would be unreasonable.
-    //
 
+RegexStaticSets::RegexStaticSets(UErrorCode *status) {
+    // Initialize the shared static sets to their correct values.
+    fUnescapeCharSet.addAll(UnicodeString(true, gUnescapeChars, -1)).freeze();
+    fPropSets[URX_ISWORD_SET].applyPattern(UnicodeString(true, gIsWordPattern, -1), *status).freeze();
+    fPropSets[URX_ISSPACE_SET].applyPattern(UnicodeString(true, gIsSpacePattern, -1), *status).freeze();
+    fPropSets[URX_GC_EXTEND].applyPattern(UnicodeString(TRUE, gGC_ExtendPattern, -1), *status).freeze();
+    fPropSets[URX_GC_CONTROL].applyPattern(UnicodeString(TRUE, gGC_ControlPattern, -1), *status).freeze();
+    fPropSets[URX_GC_L].applyPattern(UnicodeString(TRUE, gGC_LPattern, -1), *status).freeze();
+    fPropSets[URX_GC_V].applyPattern(UnicodeString(TRUE, gGC_VPattern, -1), *status).freeze();
+    fPropSets[URX_GC_T].applyPattern(UnicodeString(TRUE, gGC_TPattern, -1), *status).freeze();
+    fPropSets[URX_GC_LV].applyPattern(UnicodeString(TRUE, gGC_LVPattern, -1), *status).freeze();
+    fPropSets[URX_GC_LVT].applyPattern(UnicodeString(TRUE, gGC_LVTPattern, -1), *status).freeze();
+    
 
     //
     //  "Normal" is the set of characters that don't need special handling
     //            when finding grapheme cluster boundaries.
     //
-    fPropSets[URX_GC_NORMAL] = new UnicodeSet(0, UnicodeSet::MAX_VALUE);
-    // Null pointer check
-    if (fPropSets[URX_GC_NORMAL] == NULL) {
-       goto ExitConstrDeleteAll;
-    }
-    fPropSets[URX_GC_NORMAL]->remove(0xac00, 0xd7a4);
-    fPropSets[URX_GC_NORMAL]->removeAll(*fPropSets[URX_GC_CONTROL]);
-    fPropSets[URX_GC_NORMAL]->removeAll(*fPropSets[URX_GC_L]);
-    fPropSets[URX_GC_NORMAL]->removeAll(*fPropSets[URX_GC_V]);
-    fPropSets[URX_GC_NORMAL]->removeAll(*fPropSets[URX_GC_T]);
+    fPropSets[URX_GC_NORMAL].complement();
+    fPropSets[URX_GC_NORMAL].remove(0xac00, 0xd7a4);
+    fPropSets[URX_GC_NORMAL].removeAll(fPropSets[URX_GC_CONTROL]);
+    fPropSets[URX_GC_NORMAL].removeAll(fPropSets[URX_GC_L]);
+    fPropSets[URX_GC_NORMAL].removeAll(fPropSets[URX_GC_V]);
+    fPropSets[URX_GC_NORMAL].removeAll(fPropSets[URX_GC_T]);
+    fPropSets[URX_GC_NORMAL].freeze();
 
     // Initialize the 8-bit fast bit sets from the parallel full
     //   UnicodeSets.
-    for (i=0; i<URX_LAST_SET; i++) {
-        if (fPropSets[i]) {
-            fPropSets[i]->compact();
-            fPropSets8[i].init(fPropSets[i]);
-        }
+    //
+    // TODO: 25 Oct 2019 are these fast 8-bit sets worth keeping?
+    //       Measured 3.5% gain on (non) matching with the pattern "x(?:\\S+)+x"
+    //       This runs in exponential time, making it easy to adjust the time for
+    //       convenient measuring.
+    //
+    //       This 8 bit optimization dates from the early days of ICU,
+    //       with a less optimized UnicodeSet. At the time, the difference
+    //       was substantial.
+
+    for (int32_t i=0; i<URX_LAST_SET; i++) {
+        fPropSets8[i].init(&fPropSets[i]);
     }
 
     // Sets used while parsing rules, but not referenced from the parse state table
-    fRuleSets[kRuleSet_rule_char-128]   = UnicodeSet(UnicodeString(TRUE, gRuleSet_rule_char_pattern, -1),   *status);
-    fRuleSets[kRuleSet_digit_char-128].add((UChar)0x30, (UChar)0x39);    // [0-9]
-    fRuleSets[kRuleSet_ascii_letter-128].add((UChar)0x41, (UChar)0x5A);  // [A-Z]
-    fRuleSets[kRuleSet_ascii_letter-128].add((UChar)0x61, (UChar)0x7A);  // [a-z]
+    fRuleSets[kRuleSet_rule_char-128]
+            .addAll(UnicodeString(gRuleSet_rule_chars)).complement().freeze();
+
+    fRuleSets[kRuleSet_digit_char-128].add(u'0', u'9').freeze();
+    fRuleSets[kRuleSet_ascii_letter-128].add(u'A', u'Z').add(u'a', u'z').freeze();
     fRuleDigitsAlias = &fRuleSets[kRuleSet_digit_char-128];
-    for (i=0; i<UPRV_LENGTHOF(fRuleSets); i++) {
-        fRuleSets[i].compact();
-    }
     
-    // Finally, initialize an empty string for utility purposes
-    fEmptyText = utext_openUChars(NULL, NULL, 0, status);
+    // Finally, initialize an empty UText string for utility purposes
+    fEmptyText = utext_openUChars(nullptr, nullptr, 0, status);
     
-    if (U_SUCCESS(*status)) {
-        return;
-    }
-
-ExitConstrDeleteAll: // Remove fPropSets and fRuleSets and return error
-    for (i=0; i<URX_LAST_SET; i++) {
-        delete fPropSets[i];
-        fPropSets[i] = NULL;
-    }
-    if (U_SUCCESS(*status)) {
-        *status = U_MEMORY_ALLOCATION_ERROR;
-    }
 }
 
 
 RegexStaticSets::~RegexStaticSets() {
-    int32_t i;
-
-    for (i=0; i<URX_LAST_SET; i++) {
-        delete fPropSets[i];
-        fPropSets[i] = NULL;
-    }
-    fRuleDigitsAlias = NULL;
-    
+    fRuleDigitsAlias = nullptr;
     utext_close(fEmptyText);
 }
 
@@ -255,29 +140,25 @@ RegexStaticSets::~RegexStaticSets() {
 //                      cached memory.  Called by ICU's u_cleanup() function.
 //
 //------------------------------------------------------------------------------
-UBool
-RegexStaticSets::cleanup(void) {
-    delete RegexStaticSets::gStaticSets;
-    RegexStaticSets::gStaticSets = NULL;
-    gStaticSetsInitOnce.reset();
-    return TRUE;
-}
 
 U_CDECL_BEGIN
 static UBool U_CALLCONV
 regex_cleanup(void) {
-    return RegexStaticSets::cleanup();
+    delete RegexStaticSets::gStaticSets;
+    RegexStaticSets::gStaticSets = nullptr;
+    gStaticSetsInitOnce.reset();
+    return TRUE;
 }
 
 static void U_CALLCONV initStaticSets(UErrorCode &status) {
-    U_ASSERT(RegexStaticSets::gStaticSets == NULL);
+    U_ASSERT(RegexStaticSets::gStaticSets == nullptr);
     ucln_i18n_registerCleanup(UCLN_I18N_REGEX, regex_cleanup);
     RegexStaticSets::gStaticSets = new RegexStaticSets(&status);
     if (U_FAILURE(status)) {
         delete RegexStaticSets::gStaticSets;
-        RegexStaticSets::gStaticSets = NULL;
+        RegexStaticSets::gStaticSets = nullptr;
     }
-    if (RegexStaticSets::gStaticSets == NULL && U_SUCCESS(status)) {
+    if (RegexStaticSets::gStaticSets == nullptr && U_SUCCESS(status)) {
         status = U_MEMORY_ALLOCATION_ERROR;
     }
 }
index 3f54233..bcb393d 100644 (file)
@@ -25,6 +25,7 @@
 #if !UCONFIG_NO_REGULAR_EXPRESSIONS
 
 #include "regeximp.h"
+#include "regexcst.h"
 
 U_NAMESPACE_BEGIN
 
@@ -39,17 +40,16 @@ public:
     RegexStaticSets(UErrorCode *status);         
     ~RegexStaticSets();
     static void    initGlobals(UErrorCode *status);
-    static UBool   cleanup();
 
-    UnicodeSet    *fPropSets[URX_LAST_SET];     // The sets for common regex items, e.g. \s
-    Regex8BitSet   fPropSets8[URX_LAST_SET];    // Fast bitmap sets for latin-1 range for above.
+    UnicodeSet    fPropSets[URX_LAST_SET] {};      // The sets for common regex items, e.g. \s
+    Regex8BitSet  fPropSets8[URX_LAST_SET] {};     // Fast bitmap sets for latin-1 range for above.
 
-    UnicodeSet    fRuleSets[10];               // Sets used while parsing regexp patterns.
-    UnicodeSet    fUnescapeCharSet;            // Set of chars handled by unescape when
-                                               //   encountered with a \ in a pattern.
-    UnicodeSet    *fRuleDigitsAlias;
-    UText         *fEmptyText;                 // An empty string, to be used when a matcher
-                                               //   is created with no input.
+    UnicodeSet    fRuleSets[kRuleSet_count] {};    // Sets used while parsing regexp patterns.
+    UnicodeSet    fUnescapeCharSet {};             // Set of chars handled by unescape when
+                                                   //   encountered with a \ in a pattern.
+    UnicodeSet    *fRuleDigitsAlias {};
+    UText         *fEmptyText {};                  // An empty string, to be used when a matcher
+                                                   //   is created with no input.
 
 };
 
index f66092b..8c6688c 100644 (file)
@@ -728,11 +728,11 @@ const RelativeDateTimeCacheData *LocaleCacheKey<RelativeDateTimeCacheData>::crea
 
 
 
-static constexpr number::impl::Field kRDTNumericField
-    = StringBuilderFieldUtils::compress<UFIELD_CATEGORY_RELATIVE_DATETIME, UDAT_REL_NUMERIC_FIELD>();
+static constexpr FormattedStringBuilder::Field kRDTNumericField
+    = {UFIELD_CATEGORY_RELATIVE_DATETIME, UDAT_REL_NUMERIC_FIELD};
 
-static constexpr number::impl::Field kRDTLiteralField
-    = StringBuilderFieldUtils::compress<UFIELD_CATEGORY_RELATIVE_DATETIME, UDAT_REL_LITERAL_FIELD>();
+static constexpr FormattedStringBuilder::Field kRDTLiteralField
+    = {UFIELD_CATEGORY_RELATIVE_DATETIME, UDAT_REL_LITERAL_FIELD};
 
 class FormattedRelativeDateTimeData : public FormattedValueStringBuilderImpl {
 public:
index 5be3fa7..69909fa 100644 (file)
@@ -177,6 +177,7 @@ RegexMatcher::~RegexMatcher() {
 
     #if UCONFIG_NO_BREAK_ITERATION==0
     delete fWordBreakItr;
+    delete fGCBreakItr;
     #endif
 }
 
@@ -222,6 +223,7 @@ void RegexMatcher::init(UErrorCode &status) {
     fDeferredStatus    = status;
     fData              = fSmallData;
     fWordBreakItr      = NULL;
+    fGCBreakItr        = NULL;
 
     fStack             = NULL;
     fInputText         = NULL;
@@ -1854,12 +1856,15 @@ RegexMatcher &RegexMatcher::reset(const UnicodeString &input) {
     //  This is for compatibility for those clients who modify the input string "live" during regex operations.
     fInputUniStrMaybeMutable = TRUE;
 
-    if (fWordBreakItr != NULL) {
 #if UCONFIG_NO_BREAK_ITERATION==0
-        UErrorCode status = U_ZERO_ERROR;
-        fWordBreakItr->setText(fInputText, status);
-#endif
+    if (fWordBreakItr) {
+        fWordBreakItr->setText(fInputText, fDeferredStatus);
     }
+    if (fGCBreakItr) {
+        fGCBreakItr->setText(fInputText, fDeferredStatus);
+    }
+#endif
+
     return *this;
 }
 
@@ -1876,12 +1881,14 @@ RegexMatcher &RegexMatcher::reset(UText *input) {
         delete fInput;
         fInput = NULL;
 
-        if (fWordBreakItr != NULL) {
 #if UCONFIG_NO_BREAK_ITERATION==0
-            UErrorCode status = U_ZERO_ERROR;
-            fWordBreakItr->setText(input, status);
-#endif
+        if (fWordBreakItr) {
+            fWordBreakItr->setText(input, fDeferredStatus);
+        }
+        if (fGCBreakItr) {
+            fGCBreakItr->setText(fInputText, fDeferredStatus);
         }
+#endif
     }
     reset();
     fInputUniStrMaybeMutable = FALSE;
@@ -2542,7 +2549,7 @@ UBool RegexMatcher::isWordBoundary(int64_t pos) {
             // Current char is a combining one.  Not a boundary.
             return FALSE;
         }
-        cIsWord = fPattern->fStaticSets[URX_ISWORD_SET]->contains(c);
+        cIsWord = RegexStaticSets::gStaticSets->fPropSets[URX_ISWORD_SET].contains(c);
     }
 
     // Back up until we come to a non-combining char, determine whether
@@ -2555,7 +2562,7 @@ UBool RegexMatcher::isWordBoundary(int64_t pos) {
         UChar32 prevChar = UTEXT_PREVIOUS32(fInputText);
         if (!(u_hasBinaryProperty(prevChar, UCHAR_GRAPHEME_EXTEND)
               || u_charType(prevChar) == U_FORMAT_CHAR)) {
-            prevCIsWord = fPattern->fStaticSets[URX_ISWORD_SET]->contains(prevChar);
+            prevCIsWord = RegexStaticSets::gStaticSets->fPropSets[URX_ISWORD_SET].contains(prevChar);
             break;
         }
     }
@@ -2580,7 +2587,7 @@ UBool RegexMatcher::isChunkWordBoundary(int32_t pos) {
             // Current char is a combining one.  Not a boundary.
             return FALSE;
         }
-        cIsWord = fPattern->fStaticSets[URX_ISWORD_SET]->contains(c);
+        cIsWord = RegexStaticSets::gStaticSets->fPropSets[URX_ISWORD_SET].contains(c);
     }
 
     // Back up until we come to a non-combining char, determine whether
@@ -2594,7 +2601,7 @@ UBool RegexMatcher::isChunkWordBoundary(int32_t pos) {
         U16_PREV(inputBuf, fLookStart, pos, prevChar);
         if (!(u_hasBinaryProperty(prevChar, UCHAR_GRAPHEME_EXTEND)
               || u_charType(prevChar) == U_FORMAT_CHAR)) {
-            prevCIsWord = fPattern->fStaticSets[URX_ISWORD_SET]->contains(prevChar);
+            prevCIsWord = RegexStaticSets::gStaticSets->fPropSets[URX_ISWORD_SET].contains(prevChar);
             break;
         }
     }
@@ -2611,37 +2618,60 @@ UBool RegexMatcher::isChunkWordBoundary(int32_t pos) {
 //          parameters:   pos   - the current position in the input buffer
 //
 //--------------------------------------------------------------------------------
-UBool RegexMatcher::isUWordBoundary(int64_t pos) {
+UBool RegexMatcher::isUWordBoundary(int64_t pos, UErrorCode &status) {
     UBool       returnVal = FALSE;
+
 #if UCONFIG_NO_BREAK_ITERATION==0
+    // Note: this point will never be reached if break iteration is configured out.
+    //       Regex patterns that would require this function will fail to compile.
 
     // If we haven't yet created a break iterator for this matcher, do it now.
-    if (fWordBreakItr == NULL) {
-        fWordBreakItr =
-            (RuleBasedBreakIterator *)BreakIterator::createWordInstance(Locale::getEnglish(), fDeferredStatus);
-        if (U_FAILURE(fDeferredStatus)) {
+    if (fWordBreakItr == nullptr) {
+        fWordBreakItr = BreakIterator::createWordInstance(Locale::getEnglish(), status);
+        if (U_FAILURE(status)) {
             return FALSE;
         }
-        fWordBreakItr->setText(fInputText, fDeferredStatus);
+        fWordBreakItr->setText(fInputText, status);
     }
 
+    // Note: zero width boundary tests like \b see through transparent region bounds,
+    //       which is why fLookLimit is used here, rather than fActiveLimit.
     if (pos >= fLookLimit) {
         fHitEnd = TRUE;
         returnVal = TRUE;   // With Unicode word rules, only positions within the interior of "real"
                             //    words are not boundaries.  All non-word chars stand by themselves,
                             //    with word boundaries on both sides.
     } else {
-        if (!UTEXT_USES_U16(fInputText)) {
-            // !!!: Would like a better way to do this!
-            UErrorCode status = U_ZERO_ERROR;
-            pos = utext_extract(fInputText, 0, pos, NULL, 0, &status);
-        }
         returnVal = fWordBreakItr->isBoundary((int32_t)pos);
     }
 #endif
     return   returnVal;
 }
 
+
+int64_t RegexMatcher::followingGCBoundary(int64_t pos, UErrorCode &status) {
+    int64_t result = pos;
+
+#if UCONFIG_NO_BREAK_ITERATION==0
+    // Note: this point will never be reached if break iteration is configured out.
+    //       Regex patterns that would require this function will fail to compile.
+
+    // If we haven't yet created a break iterator for this matcher, do it now.
+    if (fGCBreakItr == nullptr) {
+        fGCBreakItr = BreakIterator::createCharacterInstance(Locale::getEnglish(), status);
+        if (U_FAILURE(status)) {
+            return pos;
+        }
+        fGCBreakItr->setText(fInputText, status);
+    }
+    result = fGCBreakItr->following(pos);
+    if (result == BreakIterator::DONE) {
+        result = pos;
+    }
+#endif
+    return result;
+}
+
 //--------------------------------------------------------------------------------
 //
 //   IncrementTime     This function is called once each TIMER_INITIAL_VALUE state
@@ -3082,7 +3112,7 @@ void RegexMatcher::MatchAt(int64_t startIdx, UBool toEnd, UErrorCode &status) {
 
         case URX_BACKSLASH_BU:          // Test for word boundaries, Unicode-style
             {
-                UBool success = isUWordBoundary(fp->fInputIdx);
+                UBool success = isUWordBoundary(fp->fInputIdx, status);
                 success ^= (UBool)(opValue != 0);     // flip sense for \B
                 if (!success) {
                     fp = (REStackFrame *)fStack->popFrame(fFrameSize);
@@ -3184,99 +3214,21 @@ void RegexMatcher::MatchAt(int64_t startIdx, UBool toEnd, UErrorCode &status) {
 
 
         case URX_BACKSLASH_X:
-            //  Match a Grapheme, as defined by Unicode TR 29.
-            //  Differs slightly from Perl, which consumes combining marks independently
-            //    of context.
-            {
-
-                // Fail if at end of input
-                if (fp->fInputIdx >= fActiveLimit) {
-                    fHitEnd = TRUE;
-                    fp = (REStackFrame *)fStack->popFrame(fFrameSize);
-                    break;
-                }
-
-                UTEXT_SETNATIVEINDEX(fInputText, fp->fInputIdx);
+            //  Match a Grapheme, as defined by Unicode UAX 29.
 
-                // Examine (and consume) the current char.
-                //   Dispatch into a little state machine, based on the char.
-                UChar32  c;
-                c = UTEXT_NEXT32(fInputText);
-                fp->fInputIdx = UTEXT_GETNATIVEINDEX(fInputText);
-                UnicodeSet **sets = fPattern->fStaticSets;
-                if (sets[URX_GC_NORMAL]->contains(c))  goto GC_Extend;
-                if (sets[URX_GC_CONTROL]->contains(c)) goto GC_Control;
-                if (sets[URX_GC_L]->contains(c))       goto GC_L;
-                if (sets[URX_GC_LV]->contains(c))      goto GC_V;
-                if (sets[URX_GC_LVT]->contains(c))     goto GC_T;
-                if (sets[URX_GC_V]->contains(c))       goto GC_V;
-                if (sets[URX_GC_T]->contains(c))       goto GC_T;
-                goto GC_Extend;
-
-
-
-GC_L:
-                if (fp->fInputIdx >= fActiveLimit)         goto GC_Done;
-                c = UTEXT_NEXT32(fInputText);
-                fp->fInputIdx = UTEXT_GETNATIVEINDEX(fInputText);
-                if (sets[URX_GC_L]->contains(c))       goto GC_L;
-                if (sets[URX_GC_LV]->contains(c))      goto GC_V;
-                if (sets[URX_GC_LVT]->contains(c))     goto GC_T;
-                if (sets[URX_GC_V]->contains(c))       goto GC_V;
-                (void)UTEXT_PREVIOUS32(fInputText);
-                fp->fInputIdx = UTEXT_GETNATIVEINDEX(fInputText);
-                goto GC_Extend;
-
-GC_V:
-                if (fp->fInputIdx >= fActiveLimit)         goto GC_Done;
-                c = UTEXT_NEXT32(fInputText);
-                fp->fInputIdx = UTEXT_GETNATIVEINDEX(fInputText);
-                if (sets[URX_GC_V]->contains(c))       goto GC_V;
-                if (sets[URX_GC_T]->contains(c))       goto GC_T;
-                (void)UTEXT_PREVIOUS32(fInputText);
-                fp->fInputIdx = UTEXT_GETNATIVEINDEX(fInputText);
-                goto GC_Extend;
-
-GC_T:
-                if (fp->fInputIdx >= fActiveLimit)         goto GC_Done;
-                c = UTEXT_NEXT32(fInputText);
-                fp->fInputIdx = UTEXT_GETNATIVEINDEX(fInputText);
-                if (sets[URX_GC_T]->contains(c))       goto GC_T;
-                (void)UTEXT_PREVIOUS32(fInputText);
-                fp->fInputIdx = UTEXT_GETNATIVEINDEX(fInputText);
-                goto GC_Extend;
-
-GC_Extend:
-                // Combining characters are consumed here
-                for (;;) {
-                    if (fp->fInputIdx >= fActiveLimit) {
-                        break;
-                    }
-                    c = UTEXT_CURRENT32(fInputText);
-                    if (sets[URX_GC_EXTEND]->contains(c) == FALSE) {
-                        break;
-                    }
-                    (void)UTEXT_NEXT32(fInputText);
-                    fp->fInputIdx = UTEXT_GETNATIVEINDEX(fInputText);
-                }
-                goto GC_Done;
-
-GC_Control:
-                // Most control chars stand alone (don't combine with combining chars),
-                //   except for that CR/LF sequence is a single grapheme cluster.
-                if (c == 0x0d && fp->fInputIdx < fActiveLimit && UTEXT_CURRENT32(fInputText) == 0x0a) {
-                    c = UTEXT_NEXT32(fInputText);
-                    fp->fInputIdx = UTEXT_GETNATIVEINDEX(fInputText);
-                }
-
-GC_Done:
-                if (fp->fInputIdx >= fActiveLimit) {
-                    fHitEnd = TRUE;
-                }
+            // Fail if at end of input
+            if (fp->fInputIdx >= fActiveLimit) {
+                fHitEnd = TRUE;
+                fp = (REStackFrame *)fStack->popFrame(fFrameSize);
                 break;
             }
 
-
+            fp->fInputIdx = followingGCBoundary(fp->fInputIdx, status);
+            if (fp->fInputIdx >= fActiveLimit) {
+                fHitEnd = TRUE;
+                fp->fInputIdx = fActiveLimit;
+            }
+            break;
 
 
         case URX_BACKSLASH_Z:          // Test for end of Input
@@ -3310,13 +3262,13 @@ GC_Done:
                 UTEXT_SETNATIVEINDEX(fInputText, fp->fInputIdx);
                 UChar32 c = UTEXT_NEXT32(fInputText);
                 if (c < 256) {
-                    Regex8BitSet *s8 = &fPattern->fStaticSets8[opValue];
-                    if (s8->contains(c)) {
+                    Regex8BitSet &s8 = RegexStaticSets::gStaticSets->fPropSets8[opValue];
+                    if (s8.contains(c)) {
                         success = !success;
                     }
                 } else {
-                    const UnicodeSet *s = fPattern->fStaticSets[opValue];
-                    if (s->contains(c)) {
+                    const UnicodeSet &s = RegexStaticSets::gStaticSets->fPropSets[opValue];
+                    if (s.contains(c)) {
                         success = !success;
                     }
                 }
@@ -3346,14 +3298,14 @@ GC_Done:
 
                 UChar32 c = UTEXT_NEXT32(fInputText);
                 if (c < 256) {
-                    Regex8BitSet *s8 = &fPattern->fStaticSets8[opValue];
-                    if (s8->contains(c) == FALSE) {
+                    Regex8BitSet &s8 = RegexStaticSets::gStaticSets->fPropSets8[opValue];
+                    if (s8.contains(c) == FALSE) {
                         fp->fInputIdx = UTEXT_GETNATIVEINDEX(fInputText);
                         break;
                     }
                 } else {
-                    const UnicodeSet *s = fPattern->fStaticSets[opValue];
-                    if (s->contains(c) == FALSE) {
+                    const UnicodeSet &s = RegexStaticSets::gStaticSets->fPropSets[opValue];
+                    if (s.contains(c) == FALSE) {
                         fp->fInputIdx = UTEXT_GETNATIVEINDEX(fInputText);
                         break;
                     }
@@ -4662,7 +4614,7 @@ void RegexMatcher::MatchChunkAt(int32_t startIdx, UBool toEnd, UErrorCode &statu
 
         case URX_BACKSLASH_BU:          // Test for word boundaries, Unicode-style
             {
-                UBool success = isUWordBoundary(fp->fInputIdx);
+                UBool success = isUWordBoundary(fp->fInputIdx, status);
                 success ^= (UBool)(opValue != 0);     // flip sense for \B
                 if (!success) {
                     fp = (REStackFrame *)fStack->popFrame(fFrameSize);
@@ -4760,12 +4712,8 @@ void RegexMatcher::MatchChunkAt(int32_t startIdx, UBool toEnd, UErrorCode &statu
             break;
 
 
-
         case URX_BACKSLASH_X:
-        //  Match a Grapheme, as defined by Unicode TR 29.
-        //  Differs slightly from Perl, which consumes combining marks independently
-        //    of context.
-        {
+            //  Match a Grapheme, as defined by Unicode UAX 29.
 
             // Fail if at end of input
             if (fp->fInputIdx >= fActiveLimit) {
@@ -4774,76 +4722,12 @@ void RegexMatcher::MatchChunkAt(int32_t startIdx, UBool toEnd, UErrorCode &statu
                 break;
             }
 
-            // Examine (and consume) the current char.
-            //   Dispatch into a little state machine, based on the char.
-            UChar32  c;
-            U16_NEXT(inputBuf, fp->fInputIdx, fActiveLimit, c);
-            UnicodeSet **sets = fPattern->fStaticSets;
-            if (sets[URX_GC_NORMAL]->contains(c))  goto GC_Extend;
-            if (sets[URX_GC_CONTROL]->contains(c)) goto GC_Control;
-            if (sets[URX_GC_L]->contains(c))       goto GC_L;
-            if (sets[URX_GC_LV]->contains(c))      goto GC_V;
-            if (sets[URX_GC_LVT]->contains(c))     goto GC_T;
-            if (sets[URX_GC_V]->contains(c))       goto GC_V;
-            if (sets[URX_GC_T]->contains(c))       goto GC_T;
-            goto GC_Extend;
-
-
-
-GC_L:
-            if (fp->fInputIdx >= fActiveLimit)         goto GC_Done;
-            U16_NEXT(inputBuf, fp->fInputIdx, fActiveLimit, c);
-            if (sets[URX_GC_L]->contains(c))       goto GC_L;
-            if (sets[URX_GC_LV]->contains(c))      goto GC_V;
-            if (sets[URX_GC_LVT]->contains(c))     goto GC_T;
-            if (sets[URX_GC_V]->contains(c))       goto GC_V;
-            U16_PREV(inputBuf, 0, fp->fInputIdx, c);
-            goto GC_Extend;
-
-GC_V:
-            if (fp->fInputIdx >= fActiveLimit)         goto GC_Done;
-            U16_NEXT(inputBuf, fp->fInputIdx, fActiveLimit, c);
-            if (sets[URX_GC_V]->contains(c))       goto GC_V;
-            if (sets[URX_GC_T]->contains(c))       goto GC_T;
-            U16_PREV(inputBuf, 0, fp->fInputIdx, c);
-            goto GC_Extend;
-
-GC_T:
-            if (fp->fInputIdx >= fActiveLimit)         goto GC_Done;
-            U16_NEXT(inputBuf, fp->fInputIdx, fActiveLimit, c);
-            if (sets[URX_GC_T]->contains(c))       goto GC_T;
-            U16_PREV(inputBuf, 0, fp->fInputIdx, c);
-            goto GC_Extend;
-
-GC_Extend:
-            // Combining characters are consumed here
-            for (;;) {
-                if (fp->fInputIdx >= fActiveLimit) {
-                    break;
-                }
-                U16_NEXT(inputBuf, fp->fInputIdx, fActiveLimit, c);
-                if (sets[URX_GC_EXTEND]->contains(c) == FALSE) {
-                    U16_BACK_1(inputBuf, 0, fp->fInputIdx);
-                    break;
-                }
-            }
-            goto GC_Done;
-
-GC_Control:
-            // Most control chars stand alone (don't combine with combining chars),
-            //   except for that CR/LF sequence is a single grapheme cluster.
-            if (c == 0x0d && fp->fInputIdx < fActiveLimit && inputBuf[fp->fInputIdx] == 0x0a) {
-                fp->fInputIdx++;
-            }
-
-GC_Done:
+            fp->fInputIdx = followingGCBoundary(fp->fInputIdx, status);
             if (fp->fInputIdx >= fActiveLimit) {
                 fHitEnd = TRUE;
+                fp->fInputIdx = fActiveLimit;
             }
             break;
-        }
-
-
 
 
         case URX_BACKSLASH_Z:          // Test for end of Input
@@ -4877,13 +4761,13 @@ GC_Done:
                 UChar32 c;
                 U16_NEXT(inputBuf, fp->fInputIdx, fActiveLimit, c);
                 if (c < 256) {
-                    Regex8BitSet *s8 = &fPattern->fStaticSets8[opValue];
-                    if (s8->contains(c)) {
+                    Regex8BitSet &s8 = RegexStaticSets::gStaticSets->fPropSets8[opValue];
+                    if (s8.contains(c)) {
                         success = !success;
                     }
                 } else {
-                    const UnicodeSet *s = fPattern->fStaticSets[opValue];
-                    if (s->contains(c)) {
+                    const UnicodeSet &s = RegexStaticSets::gStaticSets->fPropSets[opValue];
+                    if (s.contains(c)) {
                         success = !success;
                     }
                 }
@@ -4909,13 +4793,13 @@ GC_Done:
                 UChar32  c;
                 U16_NEXT(inputBuf, fp->fInputIdx, fActiveLimit, c);
                 if (c < 256) {
-                    Regex8BitSet *s8 = &fPattern->fStaticSets8[opValue];
-                    if (s8->contains(c) == FALSE) {
+                    Regex8BitSet &s8 = RegexStaticSets::gStaticSets->fPropSets8[opValue];
+                    if (s8.contains(c) == FALSE) {
                         break;
                     }
                 } else {
-                    const UnicodeSet *s = fPattern->fStaticSets[opValue];
-                    if (s->contains(c) == FALSE) {
+                    const UnicodeSet &s = RegexStaticSets::gStaticSets->fPropSets[opValue];
+                    if (s.contains(c) == FALSE) {
                         break;
                     }
                 }
index bf18695..b3028e0 100644 (file)
@@ -97,8 +97,6 @@ RegexPattern &RegexPattern::operator = (const RegexPattern &other) {
     fMinMatchLen      = other.fMinMatchLen;
     fFrameSize        = other.fFrameSize;
     fDataSize         = other.fDataSize;
-    fStaticSets       = other.fStaticSets;
-    fStaticSets8      = other.fStaticSets8;
 
     fStartType        = other.fStartType;
     fInitialStringIdx = other.fInitialStringIdx;
@@ -175,8 +173,6 @@ void RegexPattern::init() {
     fFrameSize        = 0;
     fDataSize         = 0;
     fGroupMap         = NULL;
-    fStaticSets       = NULL;
-    fStaticSets8      = NULL;
     fStartType        = START_NO_INFO;
     fInitialStringIdx = 0;
     fInitialStringLen = 0;
@@ -805,8 +801,8 @@ void   RegexPattern::dumpOp(int32_t index) const {
                 printf("NOT ");
                 val &= ~URX_NEG_SET;
             }
-            UnicodeSet *set = fStaticSets[val];
-            set->toPattern(s, TRUE);
+            UnicodeSet &set = RegexStaticSets::gStaticSets->fPropSets[val];
+            set.toPattern(s, TRUE);
             printf("%s", CStr(s)());
         }
         break;
index 5fcbb58..d704642 100644 (file)
@@ -583,11 +583,14 @@ SimpleDateFormat& SimpleDateFormat::operator=(const SimpleDateFormat& other)
     fHasMinute = other.fHasMinute;
     fHasSecond = other.fHasSecond;
 
-    // TimeZoneFormat in ICU4C only depends on a locale for now
-    if (fLocale != other.fLocale) {
-        delete fTimeZoneFormat;
-        fTimeZoneFormat = NULL; // forces lazy instantiation with the other locale
-        fLocale = other.fLocale;
+    fLocale = other.fLocale;
+
+    // TimeZoneFormat can now be set independently via setter.
+    // If it is NULL, it will be lazily initialized from locale
+    delete fTimeZoneFormat;
+    fTimeZoneFormat = NULL;
+    if (other.fTimeZoneFormat) {
+        fTimeZoneFormat = new TimeZoneFormat(*other.fTimeZoneFormat);
     }
 
 #if !UCONFIG_NO_BREAK_ITERATION
@@ -996,7 +999,8 @@ SimpleDateFormat::_format(Calendar& cal, UnicodeString& appendTo,
         // Use subFormat() to format a repeated pattern character
         // when a different pattern or non-pattern character is seen
         if (ch != prevCh && count > 0) {
-            subFormat(appendTo, prevCh, count, capitalizationContext, fieldNum++, handler, *workCal, status);
+            subFormat(appendTo, prevCh, count, capitalizationContext, fieldNum++,
+                      prevCh, handler, *workCal, status);
             count = 0;
         }
         if (ch == QUOTE) {
@@ -1023,7 +1027,8 @@ SimpleDateFormat::_format(Calendar& cal, UnicodeString& appendTo,
 
     // Format the last item in the pattern, if any
     if (count > 0) {
-        subFormat(appendTo, prevCh, count, capitalizationContext, fieldNum++, handler, *workCal, status);
+        subFormat(appendTo, prevCh, count, capitalizationContext, fieldNum++,
+                  prevCh, handler, *workCal, status);
     }
 
     if (calClone != NULL) {
@@ -1402,10 +1407,11 @@ SimpleDateFormat::processOverrideString(const Locale &locale, const UnicodeStrin
 //---------------------------------------------------------------------
 void
 SimpleDateFormat::subFormat(UnicodeString &appendTo,
-                            UChar ch,
+                            char16_t ch,
                             int32_t count,
                             UDisplayContext capitalizationContext,
                             int32_t fieldNum,
+                            char16_t fieldToOutput,
                             FieldPositionHandler& handler,
                             Calendar& cal,
                             UErrorCode& status) const
@@ -1853,8 +1859,11 @@ SimpleDateFormat::subFormat(UnicodeString &appendTo,
         // In either case, fall back to am/pm.
         if (toAppend == NULL || toAppend->isBogus()) {
             // Reformat with identical arguments except ch, now changed to 'a'.
-            subFormat(appendTo, 0x61, count, capitalizationContext, fieldNum,
-                      handler, cal, status);
+            // We are passing a different fieldToOutput because we want to add
+            // 'b' to field position. This makes this fallback stable when
+            // there is a data change on locales.
+            subFormat(appendTo, u'a', count, capitalizationContext, fieldNum, u'b', handler, cal, status);
+            return;
         } else {
             appendTo += *toAppend;
         }
@@ -1874,9 +1883,11 @@ SimpleDateFormat::subFormat(UnicodeString &appendTo,
         if (ruleSet == NULL) {
             // Data doesn't exist for the locale we're looking for.
             // Falling back to am/pm.
-            subFormat(appendTo, 0x61, count, capitalizationContext, fieldNum,
-                      handler, cal, status);
-            break;
+            // We are passing a different fieldToOutput because we want to add
+            // 'B' to field position. This makes this fallback stable when
+            // there is a data change on locales.
+            subFormat(appendTo, u'a', count, capitalizationContext, fieldNum, u'B', handler, cal, status);
+            return;
         }
 
         // Get current display time.
@@ -1945,8 +1956,11 @@ SimpleDateFormat::subFormat(UnicodeString &appendTo,
         if (periodType == DayPeriodRules::DAYPERIOD_AM ||
             periodType == DayPeriodRules::DAYPERIOD_PM ||
             toAppend->isBogus()) {
-            subFormat(appendTo, 0x61, count, capitalizationContext, fieldNum,
-                      handler, cal, status);
+            // We are passing a different fieldToOutput because we want to add
+            // 'B' to field position iterator. This makes this fallback stable when
+            // there is a data change on locales.
+            subFormat(appendTo, u'a', count, capitalizationContext, fieldNum, u'B', handler, cal, status);
+            return;
         }
         else {
             appendTo += *toAppend;
@@ -1990,7 +2004,7 @@ SimpleDateFormat::subFormat(UnicodeString &appendTo,
     }
 #endif
 
-    handler.addAttribute(fgPatternIndexToDateFormatField[patternCharIndex], beginOffset, appendTo.length());
+    handler.addAttribute(DateFormatSymbols::getPatternCharIndex(fieldToOutput), beginOffset, appendTo.length());
 }
 
 //----------------------------------------------------------------------
index dae87d0..ef44f42 100644 (file)
@@ -1508,28 +1508,35 @@ UBool Transliterator::initializeRegistry(UErrorCode &status) {
      */
     //static const char translit_index[] = "translit_index";
 
+    UErrorCode lstatus = U_ZERO_ERROR;
     UResourceBundle *bundle, *transIDs, *colBund;
-    bundle = ures_open(U_ICUDATA_TRANSLIT, NULL/*open default locale*/, &status);
-    transIDs = ures_getByKey(bundle, RB_RULE_BASED_IDS, 0, &status);
+    bundle = ures_open(U_ICUDATA_TRANSLIT, NULL/*open default locale*/, &lstatus);
+    transIDs = ures_getByKey(bundle, RB_RULE_BASED_IDS, 0, &lstatus);
     const UnicodeString T_PART = UNICODE_STRING_SIMPLE("-t-");
 
     int32_t row, maxRows;
-    if (U_SUCCESS(status)) {
+    if (lstatus == U_MEMORY_ALLOCATION_ERROR) {
+        delete registry;
+        registry = nullptr;
+        status = U_MEMORY_ALLOCATION_ERROR;
+        return FALSE;
+    }
+    if (U_SUCCESS(lstatus)) {
         maxRows = ures_getSize(transIDs);
         for (row = 0; row < maxRows; row++) {
-            colBund = ures_getByIndex(transIDs, row, 0, &status);
-            if (U_SUCCESS(status)) {
+            colBund = ures_getByIndex(transIDs, row, 0, &lstatus);
+            if (U_SUCCESS(lstatus)) {
                 UnicodeString id(ures_getKey(colBund), -1, US_INV);
                 if(id.indexOf(T_PART) != -1) {
                     ures_close(colBund);
                     continue;
                 }
-                UResourceBundle* res = ures_getNextResource(colBund, NULL, &status);
+                UResourceBundle* res = ures_getNextResource(colBund, NULL, &lstatus);
                 const char* typeStr = ures_getKey(res);
                 UChar type;
                 u_charsToUChars(typeStr, &type, 1);
 
-                if (U_SUCCESS(status)) {
+                if (U_SUCCESS(lstatus)) {
                     int32_t len = 0;
                     const UChar *resString;
                     switch (type) {
@@ -1539,19 +1546,19 @@ UBool Transliterator::initializeRegistry(UErrorCode &status) {
                         // row[2]=resource, row[3]=direction
                         {
                             
-                            resString = ures_getStringByKey(res, "resource", &len, &status);
+                            resString = ures_getStringByKey(res, "resource", &len, &lstatus);
                             UBool visible = (type == 0x0066 /*f*/);
                             UTransDirection dir = 
-                                (ures_getUnicodeStringByKey(res, "direction", &status).charAt(0) ==
+                                (ures_getUnicodeStringByKey(res, "direction", &lstatus).charAt(0) ==
                                  0x0046 /*F*/) ?
                                 UTRANS_FORWARD : UTRANS_REVERSE;
-                            registry->put(id, UnicodeString(TRUE, resString, len), dir, TRUE, visible, status);
+                            registry->put(id, UnicodeString(TRUE, resString, len), dir, TRUE, visible, lstatus);
                         }
                         break;
                     case 0x61: // 'a'
                         // 'alias'; row[2]=createInstance argument
-                        resString = ures_getString(res, &len, &status);
-                        registry->put(id, UnicodeString(TRUE, resString, len), TRUE, TRUE, status);
+                        resString = ures_getString(res, &len, &lstatus);
+                        registry->put(id, UnicodeString(TRUE, resString, len), TRUE, TRUE, lstatus);
                         break;
                     }
                 }
index 927b2d3..67c51ae 100644 (file)
@@ -154,25 +154,31 @@ ucal_open(  const UChar*  zoneID,
             UCalendarType caltype,
             UErrorCode*   status)
 {
-
-  if(U_FAILURE(*status)) return 0;
+  if (U_FAILURE(*status)) {
+      return nullptr;
+  }
   
-  LocalPointer<TimeZone> zone( (zoneID==NULL) ? TimeZone::createDefault() 
+  LocalPointer<TimeZone> zone( (zoneID==nullptr) ? TimeZone::createDefault() 
       : _createTimeZone(zoneID, len, status), *status);
 
   if (U_FAILURE(*status)) {
-      return NULL;
+      return nullptr;
   }
 
   if ( caltype == UCAL_GREGORIAN ) {
-      char  localeBuf[ULOC_LOCALE_IDENTIFIER_CAPACITY];
-      if ( locale == NULL ) {
+      char localeBuf[ULOC_LOCALE_IDENTIFIER_CAPACITY];
+      if ( locale == nullptr ) {
           locale = uloc_getDefault();
       }
-      uprv_strncpy(localeBuf, locale, ULOC_LOCALE_IDENTIFIER_CAPACITY);
+      int32_t localeLength = static_cast<int32_t>(uprv_strlen(locale));
+      if (localeLength >= ULOC_LOCALE_IDENTIFIER_CAPACITY) {
+          *status = U_ILLEGAL_ARGUMENT_ERROR;
+          return nullptr;
+      }
+      uprv_strcpy(localeBuf, locale);
       uloc_setKeywordValue("calendar", "gregorian", localeBuf, ULOC_LOCALE_IDENTIFIER_CAPACITY, status);
       if (U_FAILURE(*status)) {
-          return NULL;
+          return nullptr;
       }
       return (UCalendar*)Calendar::createInstance(zone.orphan(), Locale(localeBuf), *status);
   }
@@ -182,8 +188,9 @@ ucal_open(  const UChar*  zoneID,
 U_CAPI void U_EXPORT2
 ucal_close(UCalendar *cal)
 {
-
-  delete (Calendar*) cal;
+    if (cal != nullptr) {
+        delete (Calendar*) cal;
+    }
 }
 
 U_CAPI UCalendar* U_EXPORT2 
index 2f70a85..765cdd5 100644 (file)
@@ -26,6 +26,7 @@ as the functions are suppose to be called.
 It's usually best to have child dependencies called first. */
 typedef enum ECleanupI18NType {
     UCLN_I18N_START = -1,
+    UCLN_I18N_UNIT_EXTRAS,
     UCLN_I18N_NUMBER_SKELETONS,
     UCLN_I18N_CURRENCY_SPACING,
     UCLN_I18N_SPOOF,
index 43c1f5d..92f332d 100644 (file)
 #include "cstring.h"
 #include "uresimp.h"
 #include "unicode/coll.h"
+#include "unicode/stringpiece.h"
+#include "charstr.h"
+
+U_NAMESPACE_USE
 
 #ifdef UCOL_TRACE_SIT
 # include <stdio.h>
@@ -82,7 +86,6 @@ static const char providerKeyword[]  = "@sp=";
 static const int32_t locElementCount = UCOL_SIT_LOCELEMENT_MAX+1;
 static const int32_t locElementCapacity = 32;
 static const int32_t loc3066Capacity = 256;
-static const int32_t locProviderCapacity = 10;
 static const int32_t internalBufferSize = 512;
 
 /* structure containing specification of a collator. Initialized
@@ -90,20 +93,30 @@ static const int32_t internalBufferSize = 512;
  * collator instance
  */
 struct CollatorSpec {
-    char locElements[locElementCount][locElementCapacity];
-    char locale[loc3066Capacity];
-    char provider[locProviderCapacity];
+    inline CollatorSpec();
+
+    CharString locElements[locElementCount];
+    CharString locale;
     UColAttributeValue options[UCOL_ATTRIBUTE_COUNT];
     uint32_t variableTopValue;
     UChar variableTopString[locElementCapacity];
     int32_t variableTopStringLen;
     UBool variableTopSet;
-    struct {
-        const char *start;
-        int32_t len;
-    } entries[UCOL_SIT_ITEMS_COUNT];
+    CharString entries[UCOL_SIT_ITEMS_COUNT];
 };
 
+CollatorSpec::CollatorSpec() :
+locale(),
+variableTopValue(0),
+variableTopString(),
+variableTopSet(FALSE)
+ {
+    // set collation options to default
+    for(int32_t i = 0; i < UCOL_ATTRIBUTE_COUNT; i++) {
+        options[i] = UCOL_DEFAULT;
+    }
+}
+
 
 /* structure for converting between character attribute
  * representation and real collation attribute value.
@@ -156,18 +169,13 @@ static const char* U_CALLCONV
 _processLocaleElement(CollatorSpec *spec, uint32_t value, const char* string,
                       UErrorCode *status)
 {
-    int32_t len = 0;
     do {
         if(value == UCOL_SIT_LANGUAGE || value == UCOL_SIT_KEYWORD || value == UCOL_SIT_PROVIDER) {
-            spec->locElements[value][len++] = uprv_tolower(*string);
+            spec->locElements[value].append(uprv_tolower(*string), *status);
         } else {
-            spec->locElements[value][len++] = *string;
+            spec->locElements[value].append(*string, *status);
         }
-    } while(*(++string) != '_' && *string && len < locElementCapacity);
-    if(len >= locElementCapacity) {
-        *status = U_BUFFER_OVERFLOW_ERROR;
-        return string;
-    }
+    } while(*(++string) != '_' && *string && U_SUCCESS(*status));
     // don't skip the underscore at the end
     return string;
 }
@@ -185,7 +193,7 @@ _processRFC3066Locale(CollatorSpec *spec, uint32_t, const char* string,
         *status = U_BUFFER_OVERFLOW_ERROR;
         return string;
     } else {
-        uprv_strncpy(spec->locale, string, end-string);
+        spec->locale.copyFrom(CharString(string, static_cast<int32_t>(end-string), *status), *status);
         return end+1;
     }
 }
@@ -306,9 +314,12 @@ const char* ucol_sit_readOption(const char *start, CollatorSpec *spec,
 
   for(i = 0; i < UCOL_SIT_ITEMS_COUNT; i++) {
       if(*start == options[i].optionStart) {
-          spec->entries[i].start = start;
           const char* end = options[i].action(spec, options[i].attr, start+1, status);
-          spec->entries[i].len = (int32_t)(end - start);
+#ifdef UCOL_TRACE_SIT
+          fprintf(stderr, "***Set %d to %s...\n", i, start);
+#endif
+          // assume 'start' does not go away through all this
+          spec->entries[i].copyFrom(CharString(start, (int32_t)(end - start), *status), *status);
           return end;
       }
   }
@@ -319,18 +330,6 @@ const char* ucol_sit_readOption(const char *start, CollatorSpec *spec,
   return start;
 }
 
-static
-void ucol_sit_initCollatorSpecs(CollatorSpec *spec)
-{
-    // reset everything
-    uprv_memset(spec, 0, sizeof(CollatorSpec));
-    // set collation options to default
-    int32_t i = 0;
-    for(i = 0; i < UCOL_ATTRIBUTE_COUNT; i++) {
-        spec->options[i] = UCOL_DEFAULT;
-    }
-}
-
 static const char*
 ucol_sit_readSpecs(CollatorSpec *s, const char *string,
                         UParseError *parseError, UErrorCode *status)
@@ -357,25 +356,25 @@ int32_t ucol_sit_dumpSpecs(CollatorSpec *s, char *destination, int32_t capacity,
     char optName;
     if(U_SUCCESS(*status)) {
         for(i = 0; i < UCOL_SIT_ITEMS_COUNT; i++) {
-            if(s->entries[i].start) {
+            if(!s->entries[i].isEmpty()) {
                 if(len) {
                     if(len < capacity) {
                         uprv_strcat(destination, "_");
                     }
                     len++;
                 }
-                optName = *(s->entries[i].start);
+                optName = s->entries[i][0];
                 if(optName == languageArg || optName == regionArg || optName == variantArg || optName == keywordArg) {
-                    for(j = 0; j < s->entries[i].len; j++) {
+                    for(j = 0; j < s->entries[i].length(); j++) {
                         if(len + j < capacity) {
-                            destination[len+j] = uprv_toupper(*(s->entries[i].start+j));
+                            destination[len+j] = uprv_toupper(s->entries[i][j]);
                         }
                     }
-                    len += s->entries[i].len;
+                    len += s->entries[i].length();
                 } else {
-                    len += s->entries[i].len;
+                    len += s->entries[i].length();
                     if(len < capacity) {
-                        uprv_strncat(destination,s->entries[i].start, s->entries[i].len);
+                        uprv_strncat(destination,s->entries[i].data(), s->entries[i].length());
                     }
                 }
             }
@@ -387,40 +386,40 @@ int32_t ucol_sit_dumpSpecs(CollatorSpec *s, char *destination, int32_t capacity,
 }
 
 static void
-ucol_sit_calculateWholeLocale(CollatorSpec *s) {
+ucol_sit_calculateWholeLocale(CollatorSpec *s, UErrorCode &status) {
     // put the locale together, unless we have a done
     // locale
-    if(s->locale[0] == 0) {
+    if(s->locale.isEmpty()) {
         // first the language
-        uprv_strcat(s->locale, s->locElements[UCOL_SIT_LANGUAGE]);
+        s->locale.append(s->locElements[UCOL_SIT_LANGUAGE], status);
         // then the script, if present
-        if(*(s->locElements[UCOL_SIT_SCRIPT])) {
-            uprv_strcat(s->locale, "_");
-            uprv_strcat(s->locale, s->locElements[UCOL_SIT_SCRIPT]);
+        if(!s->locElements[UCOL_SIT_SCRIPT].isEmpty()) {
+            s->locale.append("_", status);
+            s->locale.append(s->locElements[UCOL_SIT_SCRIPT], status);
         }
         // then the region, if present
-        if(*(s->locElements[UCOL_SIT_REGION])) {
-            uprv_strcat(s->locale, "_");
-            uprv_strcat(s->locale, s->locElements[UCOL_SIT_REGION]);
-        } else if(*(s->locElements[UCOL_SIT_VARIANT])) { // if there is a variant, we need an underscore
-            uprv_strcat(s->locale, "_");
+        if(!s->locElements[UCOL_SIT_REGION].isEmpty()) {
+            s->locale.append("_", status);
+            s->locale.append(s->locElements[UCOL_SIT_REGION], status);
+        } else if(!s->locElements[UCOL_SIT_VARIANT].isEmpty()) { // if there is a variant, we need an underscore
+            s->locale.append("_", status);
         }
         // add variant, if there
-        if(*(s->locElements[UCOL_SIT_VARIANT])) {
-            uprv_strcat(s->locale, "_");
-            uprv_strcat(s->locale, s->locElements[UCOL_SIT_VARIANT]);
+        if(!s->locElements[UCOL_SIT_VARIANT].isEmpty()) {
+            s->locale.append("_", status);
+            s->locale.append(s->locElements[UCOL_SIT_VARIANT], status);
         }
 
         // if there is a collation keyword, add that too
-        if(*(s->locElements[UCOL_SIT_KEYWORD])) {
-            uprv_strcat(s->locale, collationKeyword);
-            uprv_strcat(s->locale, s->locElements[UCOL_SIT_KEYWORD]);
+        if(!s->locElements[UCOL_SIT_KEYWORD].isEmpty()) {
+            s->locale.append(collationKeyword, status);
+            s->locale.append(s->locElements[UCOL_SIT_KEYWORD], status);
         }
 
         // if there is a provider keyword, add that too
-        if(*(s->locElements[UCOL_SIT_PROVIDER])) {
-            uprv_strcat(s->locale, providerKeyword);
-            uprv_strcat(s->locale, s->locElements[UCOL_SIT_PROVIDER]);
+        if(!s->locElements[UCOL_SIT_PROVIDER].isEmpty()) {
+            s->locale.append(providerKeyword, status);
+            s->locale.append(s->locElements[UCOL_SIT_PROVIDER], status);
         }
     }
 }
@@ -451,13 +450,12 @@ ucol_prepareShortStringOpen( const char *definition,
 
     // analyse the string in order to get everything we need.
     CollatorSpec s;
-    ucol_sit_initCollatorSpecs(&s);
     ucol_sit_readSpecs(&s, definition, parseError, status);
-    ucol_sit_calculateWholeLocale(&s);
+    ucol_sit_calculateWholeLocale(&s, *status);
 
     char buffer[internalBufferSize];
     uprv_memset(buffer, 0, internalBufferSize);
-    uloc_canonicalize(s.locale, buffer, internalBufferSize, status);
+    uloc_canonicalize(s.locale.data(), buffer, internalBufferSize, status);
 
     UResourceBundle *b = ures_open(U_ICUDATA_COLL, buffer, status);
     /* we try to find stuff from keyword */
@@ -522,13 +520,15 @@ ucol_openFromShortString( const char *definition,
     // analyse the string in order to get everything we need.
     const char *string = definition;
     CollatorSpec s;
-    ucol_sit_initCollatorSpecs(&s);
     string = ucol_sit_readSpecs(&s, definition, parseError, status);
-    ucol_sit_calculateWholeLocale(&s);
+    ucol_sit_calculateWholeLocale(&s, *status);
 
     char buffer[internalBufferSize];
     uprv_memset(buffer, 0, internalBufferSize);
-    uloc_canonicalize(s.locale, buffer, internalBufferSize, status);
+#ifdef UCOL_TRACE_SIT
+    fprintf(stderr, "DEF %s, DATA %s, ERR %s\n", definition, s.locale.data(), u_errorName(*status));
+#endif
+    uloc_canonicalize(s.locale.data(), buffer, internalBufferSize, status);
 
     UCollator *result = ucol_open(buffer, status);
     int32_t i = 0;
@@ -604,7 +604,6 @@ ucol_normalizeShortDefinitionString(const char *definition,
 
     // validate
     CollatorSpec s;
-    ucol_sit_initCollatorSpecs(&s);
     ucol_sit_readSpecs(&s, definition, parseError, status);
     return ucol_sit_dumpSpecs(&s, destination, capacity, status);
 }
index d9eaae4..3889603 100644 (file)
@@ -119,17 +119,36 @@ udtitvfmt_format(const UDateIntervalFormat* formatter,
 U_DRAFT void U_EXPORT2
 udtitvfmt_formatToResult(
                 const UDateIntervalFormat* formatter,
-                UFormattedDateInterval* result,
                 UDate           fromDate,
                 UDate           toDate,
+                UFormattedDateInterval* result,
                 UErrorCode*     status) {
     if (U_FAILURE(*status)) {
         return;
     }
     auto* resultImpl = UFormattedDateIntervalApiHelper::validate(result, *status);
     DateInterval interval = DateInterval(fromDate,toDate);
-    resultImpl->fImpl = reinterpret_cast<const DateIntervalFormat*>(formatter)
-        ->formatToValue(interval, *status);
+    if (resultImpl != nullptr) {
+        resultImpl->fImpl = reinterpret_cast<const DateIntervalFormat*>(formatter)
+            ->formatToValue(interval, *status);
+    }
+}
+
+U_DRAFT void U_EXPORT2
+udtitvfmt_formatCalendarToResult(
+                const UDateIntervalFormat* formatter,
+                UCalendar*      fromCalendar,
+                UCalendar*      toCalendar,
+                UFormattedDateInterval* result,
+                UErrorCode*     status) {
+    if (U_FAILURE(*status)) {
+        return;
+    }
+    auto* resultImpl = UFormattedDateIntervalApiHelper::validate(result, *status);
+    if (resultImpl != nullptr) {
+        resultImpl->fImpl = reinterpret_cast<const DateIntervalFormat*>(formatter)
+            ->formatToValue(*(Calendar *)fromCalendar, *(Calendar *)toCalendar, *status);
+    }
 }
 
 
index febf73b..332636a 100644 (file)
@@ -291,4 +291,9 @@ udatpg_getPatternForSkeleton(const UDateTimePatternGenerator *dtpg,
     return result.getBuffer();
 }
 
+U_CAPI UDateFormatHourCycle U_EXPORT2
+udatpg_getDefaultHourCycle(const UDateTimePatternGenerator *dtpg, UErrorCode* pErrorCode) {
+    return ((const DateTimePatternGenerator *)dtpg)->getDefaultHourCycle(*pErrorCode);
+}
+
 #endif
index f7ad675..bfb7cf9 100644 (file)
@@ -34,6 +34,21 @@ ulistfmt_open(const char*  locale,
 }
 
 
+U_CAPI UListFormatter* U_EXPORT2
+ulistfmt_openForType(const char*  locale, UListFormatterType type,
+                    UListFormatterWidth width, UErrorCode* status)
+{
+    if (U_FAILURE(*status)) {
+        return NULL;
+    }
+    LocalPointer<ListFormatter> listfmt(ListFormatter::createInstance(Locale(locale), type, width, *status));
+    if (U_FAILURE(*status)) {
+        return NULL;
+    }
+    return (UListFormatter*)listfmt.orphan();
+}
+
+
 U_CAPI void U_EXPORT2
 ulistfmt_close(UListFormatter *listfmt)
 {
index c4d0876..fc2cb8e 100644 (file)
@@ -207,6 +207,12 @@ protected:
     BasicTimeZone(const BasicTimeZone& source);
 
     /**
+     * Copy assignment.
+     * @stable ICU 3.8
+     */
+    BasicTimeZone& operator=(const BasicTimeZone&) = default;
+
+    /**
      * Gets the set of TimeZoneRule instances applicable to the specified time and after.
      * @param start     The start date used for extracting time zone rules
      * @param initial   Receives the InitialTimeZone, always not NULL
index d536e2f..9b608fd 100644 (file)
@@ -56,7 +56,6 @@ class U_I18N_API CurrencyUnit: public MeasureUnit {
      */
     CurrencyUnit(ConstChar16Ptr isoCode, UErrorCode &ec);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Construct an object with the given ISO currency code.
      *
@@ -64,10 +63,9 @@ class U_I18N_API CurrencyUnit: public MeasureUnit {
      * length 3. If invalid, the currency is initialized to XXX.
      * @param ec input-output error code. If the isoCode is invalid,
      * then this will be set to a failing value.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     CurrencyUnit(StringPiece isoCode, UErrorCode &ec);
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Copy constructor
index e1e0ab6..582e753 100644 (file)
@@ -291,6 +291,17 @@ public:
      */
     void setSymbol(ENumberFormatSymbol symbol, const UnicodeString &value, const UBool propogateDigits);
 
+#ifndef U_HIDE_INTERNAL_API
+    /**
+     * Loads symbols for the specified currency into this instance.
+     *
+     * This method is internal. If you think it should be public, file a ticket.
+     *
+     * @internal
+     */
+    void setCurrency(const UChar* currency, UErrorCode& status);
+#endif  // U_HIDE_INTERNAL_API
+
     /**
      * Returns the locale for which this object was constructed.
      * @stable ICU 2.6
@@ -374,8 +385,6 @@ private:
      */
     void initialize();
 
-    void setCurrencyForSymbols();
-
 public:
 
 #ifndef U_HIDE_INTERNAL_API
index c33ec80..8dba9b2 100644 (file)
@@ -53,10 +53,10 @@ class CompactDecimalFormat;
 
 namespace number {
 class LocalizedNumberFormatter;
-class FormattedNumber;
 namespace impl {
 class DecimalQuantity;
 struct DecimalFormatFields;
+class UFormattedNumberData;
 }
 }
 
@@ -1283,14 +1283,13 @@ class U_I18N_API DecimalFormat : public NumberFormat {
      */
     virtual void setNegativeSuffix(const UnicodeString& newValue);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Whether to show the plus sign on positive (non-negative) numbers; for example, "+12"
      *
      * For more control over sign display, use NumberFormatter.
      *
      * @return Whether the sign is shown on positive numbers and zero.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     UBool isSignAlwaysShown() const;
 
@@ -1300,10 +1299,9 @@ class U_I18N_API DecimalFormat : public NumberFormat {
      * For more control over sign display, use NumberFormatter.
      *
      * @param value true to always show a sign; false to hide the sign on positive numbers and zero.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     void setSignAlwaysShown(UBool value);
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Get the multiplier for use in percent, permill, etc.
@@ -1650,7 +1648,6 @@ class U_I18N_API DecimalFormat : public NumberFormat {
      */
     virtual void setSecondaryGroupingSize(int32_t newValue);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns the minimum number of grouping digits.
      * Grouping separators are output if there are at least this many
@@ -1672,7 +1669,7 @@ class U_I18N_API DecimalFormat : public NumberFormat {
      *
      * @see setMinimumGroupingDigits
      * @see getGroupingSize
-     * @draft ICU 64
+     * @stable ICU 64
      */
     int32_t getMinimumGroupingDigits() const;
 
@@ -1684,11 +1681,9 @@ class U_I18N_API DecimalFormat : public NumberFormat {
      *
      * @param newValue the new value of minimum grouping digits.
      * @see getMinimumGroupingDigits
-     * @draft ICU 64
+     * @stable ICU 64
      */
     void setMinimumGroupingDigits(int32_t newValue);
-#endif  /* U_HIDE_DRAFT_API */
-
 
     /**
      * Allows you to get the behavior of the decimal separator with integers.
@@ -1729,13 +1724,12 @@ class U_I18N_API DecimalFormat : public NumberFormat {
      */
     virtual void setDecimalPatternMatchRequired(UBool newValue);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns whether to ignore exponents when parsing.
      *
      * @return Whether to ignore exponents when parsing.
      * @see #setParseNoExponent
-     * @draft ICU 64
+     * @stable ICU 64
      */
     UBool isParseNoExponent() const;
 
@@ -1745,7 +1739,7 @@ class U_I18N_API DecimalFormat : public NumberFormat {
      * 5).
      *
      * @param value true to prevent exponents from being parsed; false to allow them to be parsed.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     void setParseNoExponent(UBool value);
 
@@ -1754,7 +1748,7 @@ class U_I18N_API DecimalFormat : public NumberFormat {
      *
      * @return Whether parsing is case-sensitive.
      * @see #setParseCaseSensitive
-     * @draft ICU 64
+     * @stable ICU 64
      */
     UBool isParseCaseSensitive() const;
 
@@ -1767,7 +1761,7 @@ class U_I18N_API DecimalFormat : public NumberFormat {
      *
      * @param value true to enable case-sensitive parsing (the default); false to force
      *              case-sensitive parsing behavior.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     void setParseCaseSensitive(UBool value);
 
@@ -1777,7 +1771,7 @@ class U_I18N_API DecimalFormat : public NumberFormat {
      *
      * @return Whether an error code is set if high-order digits are truncated.
      * @see setFormatFailIfMoreThanMaxDigits
-     * @draft ICU 64
+     * @stable ICU 64
      */
     UBool isFormatFailIfMoreThanMaxDigits() const;
 
@@ -1786,11 +1780,9 @@ class U_I18N_API DecimalFormat : public NumberFormat {
      * By default, setMaximumIntegerDigits truncates high-order digits silently.
      *
      * @param value Whether to set an error code if high-order digits are truncated.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     void setFormatFailIfMoreThanMaxDigits(UBool value);
-#endif  /* U_HIDE_DRAFT_API */
-
 
     /**
      * Synthesizes a pattern string that represents the current state
@@ -2067,7 +2059,6 @@ class U_I18N_API DecimalFormat : public NumberFormat {
 
 #endif  /* U_HIDE_INTERNAL_API */
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Converts this DecimalFormat to a (Localized)NumberFormatter. Starting
      * in ICU 60, NumberFormatter is the recommended way to format numbers.
@@ -2111,10 +2102,9 @@ class U_I18N_API DecimalFormat : public NumberFormat {
      * @param status Set on failure, like U_MEMORY_ALLOCATION_ERROR.
      * @return A pointer to an internal object, or nullptr on failure.
      *         Do not delete the return value!
-     * @draft ICU 64
+     * @stable ICU 64
      */
     const number::LocalizedNumberFormatter* toNumberFormatter(UErrorCode& status) const;
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Return the class ID for this class.  This is useful only for
@@ -2168,11 +2158,17 @@ class U_I18N_API DecimalFormat : public NumberFormat {
 
     const numparse::impl::NumberParserImpl* getCurrencyParser(UErrorCode& status) const;
 
-    static void fieldPositionHelper(const number::FormattedNumber& formatted, FieldPosition& fieldPosition,
-                                    int32_t offset, UErrorCode& status);
-
-    static void fieldPositionIteratorHelper(const number::FormattedNumber& formatted,
-                                            FieldPositionIterator* fpi, int32_t offset, UErrorCode& status);
+    static void fieldPositionHelper(
+        const number::impl::UFormattedNumberData& formatted,
+        FieldPosition& fieldPosition,
+        int32_t offset,
+        UErrorCode& status);
+
+    static void fieldPositionIteratorHelper(
+        const number::impl::UFormattedNumberData& formatted,
+        FieldPositionIterator* fpi,
+        int32_t offset,
+        UErrorCode& status);
 
     void setupFastFormat();
 
index 23fc02e..4e4d712 100644 (file)
@@ -38,7 +38,6 @@ U_NAMESPACE_BEGIN
 class FormattedDateIntervalData;
 class DateIntervalFormat;
 
-#ifndef U_HIDE_DRAFT_API
 /**
  * An immutable class containing the result of a date interval formatting operation.
  *
@@ -54,25 +53,25 @@ class DateIntervalFormat;
  *
  * Not intended for public subclassing.
  *
- * @draft ICU 64
+ * @stable ICU 64
  */
 class U_I18N_API FormattedDateInterval : public UMemory, public FormattedValue {
   public:
     /**
      * Default constructor; makes an empty FormattedDateInterval.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     FormattedDateInterval() : fData(nullptr), fErrorCode(U_INVALID_STATE_ERROR) {}
 
     /**
      * Move constructor: Leaves the source FormattedDateInterval in an undefined state.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     FormattedDateInterval(FormattedDateInterval&& src) U_NOEXCEPT;
 
     /**
      * Destruct an instance of FormattedDateInterval.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     virtual ~FormattedDateInterval() U_OVERRIDE;
 
@@ -84,7 +83,7 @@ class U_I18N_API FormattedDateInterval : public UMemory, public FormattedValue {
 
     /**
      * Move assignment: Leaves the source FormattedDateInterval in an undefined state.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     FormattedDateInterval& operator=(FormattedDateInterval&& src) U_NOEXCEPT;
 
@@ -109,7 +108,6 @@ class U_I18N_API FormattedDateInterval : public UMemory, public FormattedValue {
         : fData(nullptr), fErrorCode(errorCode) {}
     friend class DateIntervalFormat;
 };
-#endif /* U_HIDE_DRAFT_API */
 
 
 /**
@@ -174,11 +172,12 @@ class U_I18N_API FormattedDateInterval : public UMemory, public FormattedValue {
  *
  * <P>
  * The calendar fields we support for interval formatting are:
- * year, month, date, day-of-week, am-pm, hour, hour-of-day, minute, and second
+ * year, month, date, day-of-week, am-pm, hour, hour-of-day, minute, second,
+ * and millisecond.
  * (though we do not currently have specific intervalFormat date for skeletons
- * with seconds).
+ * with seconds and millisecond).
  * Those calendar fields can be defined in the following order:
- * year >  month > date > hour (in day) >  minute > second
+ * year >  month > date > hour (in day) >  minute > second > millisecond
  *
  * The largest different calendar fields between 2 calendars is the
  * first different calendar field in above order.
@@ -503,7 +502,6 @@ public:
                           FieldPosition& fieldPosition,
                           UErrorCode& status) const ;
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Format a DateInterval to produce a FormattedDateInterval.
      *
@@ -512,12 +510,11 @@ public:
      * @param dtInterval        DateInterval to be formatted.
      * @param status            Set if an error occurs.
      * @return                  A FormattedDateInterval containing the format result.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     FormattedDateInterval formatToValue(
         const DateInterval& dtInterval,
         UErrorCode& status) const;
-#endif /* U_HIDE_DRAFT_API */
 
     /**
      * Format 2 Calendars to produce a string.
@@ -548,7 +545,6 @@ public:
                           FieldPosition& fieldPosition,
                           UErrorCode& status) const ;
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Format 2 Calendars to produce a FormattedDateInterval.
      *
@@ -563,13 +559,12 @@ public:
      *                          to be formatted into date interval string
      * @param status            Set if an error occurs.
      * @return                  A FormattedDateInterval containing the format result.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     FormattedDateInterval formatToValue(
         Calendar& fromCalendar,
         Calendar& toCalendar,
         UErrorCode& status) const;
-#endif /* U_HIDE_DRAFT_API */
 
     /**
      * Date interval parsing is not supported. Please do not use.
index a894d12..68bfa43 100644 (file)
@@ -137,8 +137,8 @@ U_NAMESPACE_BEGIN
  * After a DateIntervalInfo object is created, clients may modify
  * the interval patterns using setIntervalPattern function as so desired.
  * Currently, users can only set interval patterns when the following
- * calendar fields are different: ERA, YEAR, MONTH, DATE,  DAY_OF_MONTH,
- * DAY_OF_WEEK, AM_PM,  HOUR, HOUR_OF_DAY, and MINUTE.
+ * calendar fields are different: ERA, YEAR, MONTH, DATE, DAY_OF_MONTH,
+ * DAY_OF_WEEK, AM_PM, HOUR, HOUR_OF_DAY, MINUTE, SECOND, and MILLISECOND.
  * Interval patterns when other calendar fields are different is not supported.
  * <P>
  * DateIntervalInfo objects are cloneable.
@@ -245,7 +245,7 @@ public:
      * Restriction:
      * Currently, users can only set interval patterns when the following
      * calendar fields are different: ERA, YEAR, MONTH, DATE,  DAY_OF_MONTH,
-     * DAY_OF_WEEK, AM_PM,  HOUR, HOUR_OF_DAY, and MINUTE.
+     * DAY_OF_WEEK, AM_PM,  HOUR, HOUR_OF_DAY, MINUTE, SECOND and MILLISECOND.
      * Interval patterns when other calendar fields are different are
      * not supported.
      *
@@ -348,7 +348,7 @@ private:
     /**
      * Following is for saving the interval patterns.
      * We only support interval patterns on
-     * ERA, YEAR, MONTH, DAY, AM_PM, HOUR, and MINUTE
+     * ERA, YEAR, MONTH, DAY, AM_PM, HOUR, MINUTE, SECOND and MILLISECOND.
      */
     enum IntervalPatternIndex
     {
@@ -360,6 +360,7 @@ private:
         kIPI_HOUR,
         kIPI_MINUTE,
         kIPI_SECOND,
+        kIPI_MILLISECOND,
         kIPI_MAX_INDEX
     };
 public:
@@ -453,8 +454,8 @@ private:
      * hash table.
      *
      * Since we only support the following calendar fields:
-     * ERA, YEAR, MONTH, DATE,  DAY_OF_MONTH, DAY_OF_WEEK,
-     * AM_PM,  HOUR, HOUR_OF_DAY, and MINUTE,
+     * ERA, YEAR, MONTH, DATE, DAY_OF_MONTH, DAY_OF_WEEK,
+     * AM_PM, HOUR, HOUR_OF_DAY, MINUTE, SECOND, and MILLISECOND.
      * We reserve only 4 interval patterns for a skeleton.
      *
      * @param field    calendar field
index a71938b..dd99d58 100644 (file)
@@ -483,6 +483,26 @@ public:
      */
     const UnicodeString& getDecimal() const;
 
+#if !UCONFIG_NO_FORMATTING
+
+#ifndef U_HIDE_DRAFT_API
+    /**
+     * Get the default hour cycle for a locale. Uses the locale that the
+     * DateTimePatternGenerator was initially created with.
+     * 
+     * Cannot be used on an empty DateTimePatternGenerator instance.
+     * 
+     * @param status  Output param set to success/failure code on exit, which
+     *                which must not indicate a failure before the function call.
+     *                Set to U_UNSUPPORTED_ERROR if used on an empty instance.
+     * @return the default hour cycle.
+     * @draft ICU 67
+     */
+    UDateFormatHourCycle getDefaultHourCycle(UErrorCode& status) const;
+#endif  /* U_HIDE_DRAFT_API */
+
+#endif /* #if !UCONFIG_NO_FORMATTING */
+    
     /**
      * ICU "poor man's RTTI", returns a UClassID for the actual class.
      *
index 5c47264..e7ba4ec 100644 (file)
@@ -25,11 +25,6 @@ U_NAMESPACE_BEGIN
  * of APIs throughout ICU use these classes for expressing their localized output.
  */
 
-
-// The following cannot have #ifndef U_HIDE_DRAFT_API because
-// class FormattedValue depends on it, and FormattedValue cannot be
-// hidden becauseclass FormattedNumber (stable ICU 60) depends on it.
-#ifndef U_FORCE_HIDE_DRAFT_API
 /**
  * Represents a span of a string containing a given field.
  *
@@ -41,7 +36,7 @@ U_NAMESPACE_BEGIN
  *
  * This class is not intended for public subclassing.
  *
- * @draft ICU 64
+ * @stable ICU 64
  */
 class U_I18N_API ConstrainedFieldPosition : public UMemory {
   public:
@@ -51,21 +46,20 @@ class U_I18N_API ConstrainedFieldPosition : public UMemory {
      *
      * By default, the ConstrainedFieldPosition has no iteration constraints.
      *
-     * @draft ICU 64
+     * @stable ICU 64
      */
     ConstrainedFieldPosition();
 
-    /** @draft ICU 64 */
+    /** @stable ICU 64 */
     ~ConstrainedFieldPosition();
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Resets this ConstrainedFieldPosition to its initial state, as if it were newly created:
      *
      * - Removes any constraints that may have been set on the instance.
      * - Resets the iteration position.
      *
-     * @draft ICU 64
+     * @stable ICU 64
      */
     void reset();
 
@@ -89,7 +83,7 @@ class U_I18N_API ConstrainedFieldPosition : public UMemory {
      * does not generally have well-defined behavior.
      *
      * @param category The field category to fix when iterating.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     void constrainCategory(int32_t category);
 
@@ -114,7 +108,7 @@ class U_I18N_API ConstrainedFieldPosition : public UMemory {
      *
      * @param category The field category to fix when iterating.
      * @param field The field to fix when iterating.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     void constrainField(int32_t category, int32_t field);
 
@@ -125,7 +119,7 @@ class U_I18N_API ConstrainedFieldPosition : public UMemory {
      * FormattedValue#nextPosition returns TRUE.
      *
      * @return The field category saved in the instance.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     inline int32_t getCategory() const {
         return fCategory;
@@ -138,7 +132,7 @@ class U_I18N_API ConstrainedFieldPosition : public UMemory {
      * FormattedValue#nextPosition returns TRUE.
      *
      * @return The field saved in the instance.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     inline int32_t getField() const {
         return fField;
@@ -150,7 +144,7 @@ class U_I18N_API ConstrainedFieldPosition : public UMemory {
      * The return value is well-defined only after FormattedValue#nextPosition returns TRUE.
      *
      * @return The start index saved in the instance.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     inline int32_t getStart() const {
         return fStart;
@@ -162,7 +156,7 @@ class U_I18N_API ConstrainedFieldPosition : public UMemory {
      * The return value is well-defined only after FormattedValue#nextPosition returns TRUE.
      *
      * @return The end index saved in the instance.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     inline int32_t getLimit() const {
         return fLimit;
@@ -181,7 +175,7 @@ class U_I18N_API ConstrainedFieldPosition : public UMemory {
      * Users of FormattedValue should not need to call this method.
      *
      * @return The current iteration context from {@link #setInt64IterationContext}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     inline int64_t getInt64IterationContext() const {
         return fContext;
@@ -193,7 +187,7 @@ class U_I18N_API ConstrainedFieldPosition : public UMemory {
      * Intended to be used by FormattedValue implementations.
      *
      * @param context The new iteration context.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     void setInt64IterationContext(int64_t context);
 
@@ -205,7 +199,7 @@ class U_I18N_API ConstrainedFieldPosition : public UMemory {
      *
      * @param category The category to test.
      * @param field The field to test.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     UBool matchesField(int32_t category, int32_t field) const;
 
@@ -221,39 +215,32 @@ class U_I18N_API ConstrainedFieldPosition : public UMemory {
      * @param field The new field.
      * @param start The new inclusive start index.
      * @param limit The new exclusive end index.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     void setState(
         int32_t category,
         int32_t field,
         int32_t start,
         int32_t limit);
-#endif  /* U_HIDE_DRAFT_API */
 
   private:
     int64_t fContext = 0LL;
     int32_t fField = 0;
     int32_t fStart = 0;
     int32_t fLimit = 0;
-#ifndef U_HIDE_DRAFT_API
     int32_t fCategory = UFIELD_CATEGORY_UNDEFINED;
-#else   /* U_HIDE_DRAFT_API */
-    int32_t fCategory = 0;
-#endif  /* U_HIDE_DRAFT_API */
     int8_t fConstraint = 0;
 };
 
-// The following cannot have #ifndef U_HIDE_DRAFT_API because
-// class FormattedNumber (stable ICU 60) depends on it.
 /**
  * An abstract formatted value: a string with associated field attributes.
  * Many formatters format to classes implementing FormattedValue.
  *
- * @draft ICU 64
+ * @stable ICU 64
  */
 class U_I18N_API FormattedValue /* not : public UObject because this is an interface/mixin class */ {
   public:
-    /** @draft ICU 64 */
+    /** @stable ICU 64 */
     virtual ~FormattedValue();
 
     /**
@@ -264,7 +251,7 @@ class U_I18N_API FormattedValue /* not : public UObject because this is an inter
      * @param status Set if an error occurs.
      * @return a UnicodeString containing the formatted string.
      *
-     * @draft ICU 64
+     * @stable ICU 64
      */
     virtual UnicodeString toString(UErrorCode& status) const = 0;
 
@@ -280,7 +267,7 @@ class U_I18N_API FormattedValue /* not : public UObject because this is an inter
      * @param status Set if an error occurs.
      * @return a temporary UnicodeString containing the formatted string.
      *
-     * @draft ICU 64
+     * @stable ICU 64
      */
     virtual UnicodeString toTempString(UErrorCode& status) const = 0;
 
@@ -292,7 +279,7 @@ class U_I18N_API FormattedValue /* not : public UObject because this is an inter
      * @param status Set if an error occurs.
      * @return The same Appendable, for chaining.
      *
-     * @draft ICU 64
+     * @stable ICU 64
      * @see Appendable
      */
     virtual Appendable& appendTo(Appendable& appendable, UErrorCode& status) const = 0;
@@ -317,11 +304,10 @@ class U_I18N_API FormattedValue /* not : public UObject because this is an inter
      * @return TRUE if a new occurrence of the field was found;
      *         FALSE otherwise or if an error was set.
      *
-     * @draft ICU 64
+     * @stable ICU 64
      */
     virtual UBool nextPosition(ConstrainedFieldPosition& cfpos, UErrorCode& status) const = 0;
 };
-#endif  // U_FORCE_HIDE_DRAFT_API
 
 U_NAMESPACE_END
 
index 88fc46c..211055d 100644 (file)
 #include "unicode/unistr.h"
 #include "unicode/locid.h"
 #include "unicode/formattedvalue.h"
+#include "unicode/ulistformatter.h"
 
 U_NAMESPACE_BEGIN
 
-class FieldPositionIterator;
 class FieldPositionHandler;
 class FormattedListData;
 class ListFormatter;
@@ -50,9 +50,11 @@ struct ListFormatData : public UMemory {
     UnicodeString startPattern;
     UnicodeString middlePattern;
     UnicodeString endPattern;
+    Locale locale;
 
-  ListFormatData(const UnicodeString& two, const UnicodeString& start, const UnicodeString& middle, const UnicodeString& end) :
-      twoPattern(two), startPattern(start), middlePattern(middle), endPattern(end) {}
+  ListFormatData(const UnicodeString& two, const UnicodeString& start, const UnicodeString& middle, const UnicodeString& end,
+                 const Locale& loc) :
+      twoPattern(two), startPattern(start), middlePattern(middle), endPattern(end), locale(loc) {}
 };
 /** \endcond */
 
@@ -64,7 +66,6 @@ struct ListFormatData : public UMemory {
 
 
 #if !UCONFIG_NO_FORMATTING
-#ifndef U_HIDE_DRAFT_API
 /**
  * An immutable class containing the result of a list formatting operation.
  *
@@ -79,25 +80,25 @@ struct ListFormatData : public UMemory {
  *
  * Not intended for public subclassing.
  *
- * @draft ICU 64
+ * @stable ICU 64
  */
 class U_I18N_API FormattedList : public UMemory, public FormattedValue {
   public:
     /**
      * Default constructor; makes an empty FormattedList.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     FormattedList() : fData(nullptr), fErrorCode(U_INVALID_STATE_ERROR) {}
 
     /**
      * Move constructor: Leaves the source FormattedList in an undefined state.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     FormattedList(FormattedList&& src) U_NOEXCEPT;
 
     /**
      * Destruct an instance of FormattedList.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     virtual ~FormattedList() U_OVERRIDE;
 
@@ -109,7 +110,7 @@ class U_I18N_API FormattedList : public UMemory, public FormattedValue {
 
     /**
      * Move assignment: Leaves the source FormattedList in an undefined state.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     FormattedList& operator=(FormattedList&& src) U_NOEXCEPT;
 
@@ -134,7 +135,6 @@ class U_I18N_API FormattedList : public UMemory, public FormattedValue {
         : fData(nullptr), fErrorCode(errorCode) {}
     friend class ListFormatter;
 };
-#endif /* U_HIDE_DRAFT_API */
 #endif // !UCONFIG_NO_FORMATTING
 
 
@@ -185,10 +185,29 @@ class U_I18N_API ListFormatter : public UObject{
      */
     static ListFormatter* createInstance(const Locale& locale, UErrorCode& errorCode);
 
+#ifndef U_HIDE_DRAFT_API
+#if !UCONFIG_NO_FORMATTING
+    /**
+     * Creates a ListFormatter for the given locale, list type, and style.
+     *
+     * @param locale The locale.
+     * @param type The type of list formatting to use.
+     * @param width The width of formatting to use.
+     * @param errorCode ICU error code, set if no data available for the given locale.
+     * @return A ListFormatter object created from internal data derived from CLDR data.
+     * @draft ICU 67
+     */
+    static ListFormatter* createInstance(
+      const Locale& locale, UListFormatterType type, UListFormatterWidth width, UErrorCode& errorCode);
+#endif  /* !UCONFIG_NO_FORMATTING */
+#endif  /* U_HIDE_DRAFT_API */
+  
 #ifndef U_HIDE_INTERNAL_API
     /**
      * Creates a ListFormatter appropriate for a locale and style.
      *
+     * TODO(ICU-20888): Remove this in ICU 68.
+     *
      * @param locale The locale.
      * @param style the style, either "standard", "or", "unit", "unit-narrow", or "unit-short"
      * @param errorCode ICU error code, set if no data available for the given locale.
@@ -220,29 +239,7 @@ class U_I18N_API ListFormatter : public UObject{
     UnicodeString& format(const UnicodeString items[], int32_t n_items,
         UnicodeString& appendTo, UErrorCode& errorCode) const;
 
-#ifndef U_HIDE_DRAFT_API
-    /**
-     * Format a list of strings.
-     *
-     * @param items     An array of strings to be combined and formatted.
-     * @param n_items   Length of the array items.
-     * @param appendTo  The string to which the formatted result will be
-     *                  appended.
-     * @param posIter   On return, can be used to iterate over positions of
-     *                  fields generated by this format call. Field values are
-     *                  defined in UListFormatterField. Can be NULL.
-     * @param errorCode ICU error code returned here.
-     * @return          Formatted string combining the elements of items,
-     *                  appended to appendTo.
-     * @draft ICU 63
-     */
-    UnicodeString& format(const UnicodeString items[], int32_t n_items,
-        UnicodeString & appendTo, FieldPositionIterator* posIter,
-        UErrorCode& errorCode) const;
-#endif // U_HIDE_DRAFT_API
-
 #if !UCONFIG_NO_FORMATTING
-#ifndef U_HIDE_DRAFT_API
     /**
      * Formats a list of strings to a FormattedList, which exposes field
      * position information. The FormattedList contains more information than
@@ -252,13 +249,12 @@ class U_I18N_API ListFormatter : public UObject{
      * @param n_items   Length of the array items.
      * @param errorCode ICU error code returned here.
      * @return          A FormattedList containing field information.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     FormattedList formatStringsToValue(
         const UnicodeString items[],
         int32_t n_items,
         UErrorCode& errorCode) const;
-#endif  /* U_HIDE_DRAFT_API */
 #endif // !UCONFIG_NO_FORMATTING
 
 #ifndef U_HIDE_INTERNAL_API
index dbcad62..e240092 100644 (file)
@@ -20,6 +20,7 @@
 #if !UCONFIG_NO_FORMATTING
 
 #include "unicode/unistr.h"
+#include "unicode/localpointer.h"
 
 /**
  * \file 
 U_NAMESPACE_BEGIN
 
 class StringEnumeration;
+struct MeasureUnitImpl;
+
+#ifndef U_HIDE_DRAFT_API
+/**
+ * Enumeration for unit complexity. There are three levels:
+ * 
+ * - SINGLE: A single unit, optionally with a power and/or SI prefix. Examples: hectare,
+ *           square-kilometer, kilojoule, per-second.
+ * - COMPOUND: A unit composed of the product of multiple single units. Examples:
+ *             meter-per-second, kilowatt-hour, kilogram-meter-per-square-second.
+ * - MIXED: A unit composed of the sum of multiple single units. Examples: foot+inch,
+ *          hour+minute+second, degree+arcminute+arcsecond.
+ *
+ * The complexity determines which operations are available. For example, you cannot set the power
+ * or SI prefix of a compound unit.
+ *
+ * @draft ICU 67
+ */
+enum UMeasureUnitComplexity {
+    /**
+     * A single unit, like kilojoule.
+     *
+     * @draft ICU 67
+     */
+    UMEASURE_UNIT_SINGLE,
+
+    /**
+     * A compound unit, like meter-per-second.
+     * 
+     * @draft ICU 67
+     */
+    UMEASURE_UNIT_COMPOUND,
+
+    /**
+     * A mixed unit, like hour+minute.
+     *
+     * @draft ICU 67
+     */
+    UMEASURE_UNIT_MIXED
+};
+
+/**
+ * Enumeration for SI prefixes, such as "kilo".
+ *
+ * @draft ICU 67
+ */
+typedef enum UMeasureSIPrefix {
+
+    /**
+     * SI prefix: yotta, 10^24.
+     *
+     * @draft ICU 67
+     */
+    UMEASURE_SI_PREFIX_YOTTA = 24,
+
+    /**
+     * SI prefix: zetta, 10^21.
+     *
+     * @draft ICU 67
+     */
+    UMEASURE_SI_PREFIX_ZETTA = 21,
+
+    /**
+     * SI prefix: exa, 10^18.
+     *
+     * @draft ICU 67
+     */
+    UMEASURE_SI_PREFIX_EXA = 18,
+
+    /**
+     * SI prefix: peta, 10^15.
+     *
+     * @draft ICU 67
+     */
+    UMEASURE_SI_PREFIX_PETA = 15,
+
+    /**
+     * SI prefix: tera, 10^12.
+     *
+     * @draft ICU 67
+     */
+    UMEASURE_SI_PREFIX_TERA = 12,
+
+    /**
+     * SI prefix: giga, 10^9.
+     *
+     * @draft ICU 67
+     */
+    UMEASURE_SI_PREFIX_GIGA = 9,
+
+    /**
+     * SI prefix: mega, 10^6.
+     *
+     * @draft ICU 67
+     */
+    UMEASURE_SI_PREFIX_MEGA = 6,
+
+    /**
+     * SI prefix: kilo, 10^3.
+     *
+     * @draft ICU 67
+     */
+    UMEASURE_SI_PREFIX_KILO = 3,
+
+    /**
+     * SI prefix: hecto, 10^2.
+     *
+     * @draft ICU 67
+     */
+    UMEASURE_SI_PREFIX_HECTO = 2,
+
+    /**
+     * SI prefix: deka, 10^1.
+     *
+     * @draft ICU 67
+     */
+    UMEASURE_SI_PREFIX_DEKA = 1,
+
+    /**
+     * The absence of an SI prefix.
+     *
+     * @draft ICU 67
+     */
+    UMEASURE_SI_PREFIX_ONE = 0,
+
+    /**
+     * SI prefix: deci, 10^-1.
+     *
+     * @draft ICU 67
+     */
+    UMEASURE_SI_PREFIX_DECI = -1,
+
+    /**
+     * SI prefix: centi, 10^-2.
+     *
+     * @draft ICU 67
+     */
+    UMEASURE_SI_PREFIX_CENTI = -2,
+
+    /**
+     * SI prefix: milli, 10^-3.
+     *
+     * @draft ICU 67
+     */
+    UMEASURE_SI_PREFIX_MILLI = -3,
+
+    /**
+     * SI prefix: micro, 10^-6.
+     *
+     * @draft ICU 67
+     */
+    UMEASURE_SI_PREFIX_MICRO = -6,
+
+    /**
+     * SI prefix: nano, 10^-9.
+     *
+     * @draft ICU 67
+     */
+    UMEASURE_SI_PREFIX_NANO = -9,
+
+    /**
+     * SI prefix: pico, 10^-12.
+     *
+     * @draft ICU 67
+     */
+    UMEASURE_SI_PREFIX_PICO = -12,
+
+    /**
+     * SI prefix: femto, 10^-15.
+     *
+     * @draft ICU 67
+     */
+    UMEASURE_SI_PREFIX_FEMTO = -15,
+
+    /**
+     * SI prefix: atto, 10^-18.
+     *
+     * @draft ICU 67
+     */
+    UMEASURE_SI_PREFIX_ATTO = -18,
+
+    /**
+     * SI prefix: zepto, 10^-21.
+     *
+     * @draft ICU 67
+     */
+    UMEASURE_SI_PREFIX_ZEPTO = -21,
+
+    /**
+     * SI prefix: yocto, 10^-24.
+     *
+     * @draft ICU 67
+     */
+    UMEASURE_SI_PREFIX_YOCTO = -24
+} UMeasureSIPrefix;
+#endif // U_HIDE_DRAFT_API
 
 /**
  * A unit such as length, mass, volume, currency, etc.  A unit is
@@ -52,13 +249,43 @@ class U_I18N_API MeasureUnit: public UObject {
      * @stable ICU 3.0
      */
     MeasureUnit(const MeasureUnit &other);
-        
+
+#ifndef U_HIDE_DRAFT_API
+    /**
+     * Move constructor.
+     * @draft ICU 67
+     */
+    MeasureUnit(MeasureUnit &&other) noexcept;
+
+    /**
+     * Construct a MeasureUnit from a CLDR Unit Identifier, defined in UTS 35.
+     * Validates and canonicalizes the identifier.
+     *
+     * <pre>
+     * MeasureUnit example = MeasureUnit::forIdentifier("furlong-per-nanosecond")
+     * </pre>
+     *
+     * @param identifier The CLDR Unit Identifier
+     * @param status Set if the identifier is invalid.
+     * @draft ICU 67
+     */
+    static MeasureUnit forIdentifier(StringPiece identifier, UErrorCode& status);
+#endif // U_HIDE_DRAFT_API
+
     /**
-     * Assignment operator.
+     * Copy assignment operator.
      * @stable ICU 3.0
      */
     MeasureUnit &operator=(const MeasureUnit &other);
 
+#ifndef U_HIDE_DRAFT_API
+    /**
+     * Move assignment operator.
+     * @draft ICU 67
+     */
+    MeasureUnit &operator=(MeasureUnit &&other) noexcept;
+#endif // U_HIDE_DRAFT_API
+
     /**
      * Returns a polymorphic clone of this object.  The result will
      * have the same class as returned by getDynamicClassID().
@@ -90,16 +317,156 @@ class U_I18N_API MeasureUnit: public UObject {
 
     /**
      * Get the type.
+     *
+     * If the unit does not have a type, the empty string is returned.
+     *
      * @stable ICU 53
      */
     const char *getType() const;
 
     /**
      * Get the sub type.
+     *
+     * If the unit does not have a subtype, the empty string is returned.
+     *
      * @stable ICU 53
      */
     const char *getSubtype() const;
 
+#ifndef U_HIDE_DRAFT_API
+    /**
+     * Get the CLDR Unit Identifier for this MeasureUnit, as defined in UTS 35.
+     *
+     * @return The string form of this unit, owned by this MeasureUnit.
+     * @draft ICU 67
+     */
+    const char* getIdentifier() const;
+
+    /**
+     * Compute the complexity of the unit. See UMeasureUnitComplexity for more information.
+     *
+     * @param status Set if an error occurs.
+     * @return The unit complexity.
+     * @draft ICU 67
+     */
+    UMeasureUnitComplexity getComplexity(UErrorCode& status) const;
+
+    /**
+     * Creates a MeasureUnit which is this SINGLE unit augmented with the specified SI prefix.
+     * For example, UMEASURE_SI_PREFIX_KILO for "kilo".
+     *
+     * There is sufficient locale data to format all standard SI prefixes.
+     *
+     * NOTE: Only works on SINGLE units. If this is a COMPOUND or MIXED unit, an error will
+     * occur. For more information, see UMeasureUnitComplexity.
+     *
+     * @param prefix The SI prefix, from UMeasureSIPrefix.
+     * @param status Set if this is not a SINGLE unit or if another error occurs.
+     * @return A new SINGLE unit.
+     * @draft ICU 67
+     */
+    MeasureUnit withSIPrefix(UMeasureSIPrefix prefix, UErrorCode& status) const;
+
+    /**
+     * Gets the current SI prefix of this SINGLE unit. For example, if the unit has the SI prefix
+     * "kilo", then UMEASURE_SI_PREFIX_KILO is returned.
+     *
+     * NOTE: Only works on SINGLE units. If this is a COMPOUND or MIXED unit, an error will
+     * occur. For more information, see UMeasureUnitComplexity.
+     *
+     * @param status Set if this is not a SINGLE unit or if another error occurs.
+     * @return The SI prefix of this SINGLE unit, from UMeasureSIPrefix.
+     * @draft ICU 67
+     */
+    UMeasureSIPrefix getSIPrefix(UErrorCode& status) const;
+
+    /**
+     * Creates a MeasureUnit which is this SINGLE unit augmented with the specified dimensionality
+     * (power). For example, if dimensionality is 2, the unit will be squared.
+     *
+     * NOTE: Only works on SINGLE units. If this is a COMPOUND or MIXED unit, an error will
+     * occur. For more information, see UMeasureUnitComplexity.
+     *
+     * For the base dimensionless unit, withDimensionality does nothing.
+     *
+     * @param dimensionality The dimensionality (power).
+     * @param status Set if this is not a SINGLE unit or if another error occurs.
+     * @return A new SINGLE unit.
+     * @draft ICU 67
+     */
+    MeasureUnit withDimensionality(int32_t dimensionality, UErrorCode& status) const;
+
+    /**
+     * Gets the dimensionality (power) of this MeasureUnit. For example, if the unit is square,
+     * then 2 is returned.
+     *
+     * NOTE: Only works on SINGLE units. If this is a COMPOUND or MIXED unit, an error will
+     * occur. For more information, see UMeasureUnitComplexity.
+     *
+     * For the base dimensionless unit, getDimensionality returns 0.
+     *
+     * @param status Set if this is not a SINGLE unit or if another error occurs.
+     * @return The dimensionality (power) of this simple unit.
+     * @draft ICU 67
+     */
+    int32_t getDimensionality(UErrorCode& status) const;
+
+    /**
+     * Gets the reciprocal of this MeasureUnit, with the numerator and denominator flipped.
+     *
+     * For example, if the receiver is "meter-per-second", the unit "second-per-meter" is returned.
+     *
+     * NOTE: Only works on SINGLE and COMPOUND units. If this is a MIXED unit, an error will
+     * occur. For more information, see UMeasureUnitComplexity.
+     *
+     * @param status Set if this is a MIXED unit or if another error occurs.
+     * @return The reciprocal of the target unit.
+     * @draft ICU 67
+     */
+    MeasureUnit reciprocal(UErrorCode& status) const;
+
+    /**
+     * Gets the product of this unit with another unit. This is a way to build units from
+     * constituent parts.
+     *
+     * The numerator and denominator are preserved through this operation.
+     *
+     * For example, if the receiver is "kilowatt" and the argument is "hour-per-day", then the
+     * unit "kilowatt-hour-per-day" is returned.
+     *
+     * NOTE: Only works on SINGLE and COMPOUND units. If either unit (receivee and argument) is a
+     * MIXED unit, an error will occur. For more information, see UMeasureUnitComplexity.
+     *
+     * @param other The MeasureUnit to multiply with the target.
+     * @param status Set if this or other is a MIXED unit or if another error occurs.
+     * @return The product of the target unit with the provided unit.
+     * @draft ICU 67
+     */
+    MeasureUnit product(const MeasureUnit& other, UErrorCode& status) const;
+#endif // U_HIDE_DRAFT_API
+
+#ifndef U_HIDE_INTERNAL_API
+    /**
+     * Gets the list of SINGLE units contained within a MIXED of COMPOUND unit.
+     *
+     * Examples:
+     * - Given "meter-kilogram-per-second", three units will be returned: "meter",
+     *   "kilogram", and "per-second".
+     * - Given "hour+minute+second", three units will be returned: "hour", "minute",
+     *   and "second".
+     *
+     * If this is a SINGLE unit, an array of length 1 will be returned.
+     *
+     * TODO(ICU-21021): Finalize this API and propose it as draft.
+     *
+     * @param outCount The number of elements in the return array.
+     * @param status Set if an error occurs.
+     * @return An array of single units, owned by the caller.
+     * @internal ICU 67 Technical Preview
+     */
+    LocalArray<MeasureUnit> splitToSingleUnits(int32_t& outCount, UErrorCode& status) const;
+#endif // U_HIDE_INTERNAL_API
+
     /**
      * getAvailable gets all of the available units.
      * If there are too many units to fit into destCapacity then the
@@ -219,17 +586,15 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createGForce(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of acceleration: g-force.
      * Also see {@link #createGForce()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getGForce();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
-     * Returns by pointer, unit of acceleration: meter-per-second-squared.
+     * Returns by pointer, unit of acceleration: meter-per-square-second.
      * Caller owns returned value and must free it.
      * Also see {@link #getMeterPerSecondSquared()}.
      * @param status ICU error code.
@@ -237,14 +602,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMeterPerSecondSquared(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
-     * Returns by value, unit of acceleration: meter-per-second-squared.
+     * Returns by value, unit of acceleration: meter-per-square-second.
      * Also see {@link #createMeterPerSecondSquared()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMeterPerSecondSquared();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of angle: arc-minute.
@@ -255,14 +618,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createArcMinute(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of angle: arc-minute.
      * Also see {@link #createArcMinute()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getArcMinute();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of angle: arc-second.
@@ -273,14 +634,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createArcSecond(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of angle: arc-second.
      * Also see {@link #createArcSecond()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getArcSecond();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of angle: degree.
@@ -291,14 +650,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createDegree(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of angle: degree.
      * Also see {@link #createDegree()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getDegree();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of angle: radian.
@@ -309,14 +666,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createRadian(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of angle: radian.
      * Also see {@link #createRadian()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getRadian();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of angle: revolution.
@@ -327,14 +682,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createRevolutionAngle(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of angle: revolution.
      * Also see {@link #createRevolutionAngle()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getRevolutionAngle();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of area: acre.
@@ -345,32 +698,28 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createAcre(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of area: acre.
      * Also see {@link #createAcre()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getAcre();
-#endif  /* U_HIDE_DRAFT_API */
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by pointer, unit of area: dunam.
      * Caller owns returned value and must free it.
      * Also see {@link #getDunam()}.
      * @param status ICU error code.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit *createDunam(UErrorCode &status);
 
     /**
      * Returns by value, unit of area: dunam.
      * Also see {@link #createDunam()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getDunam();
-#endif /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of area: hectare.
@@ -381,14 +730,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createHectare(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of area: hectare.
      * Also see {@link #createHectare()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getHectare();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of area: square-centimeter.
@@ -399,14 +746,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createSquareCentimeter(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of area: square-centimeter.
      * Also see {@link #createSquareCentimeter()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getSquareCentimeter();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of area: square-foot.
@@ -417,14 +762,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createSquareFoot(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of area: square-foot.
      * Also see {@link #createSquareFoot()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getSquareFoot();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of area: square-inch.
@@ -435,14 +778,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createSquareInch(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of area: square-inch.
      * Also see {@link #createSquareInch()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getSquareInch();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of area: square-kilometer.
@@ -453,14 +794,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createSquareKilometer(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of area: square-kilometer.
      * Also see {@link #createSquareKilometer()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getSquareKilometer();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of area: square-meter.
@@ -471,14 +810,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createSquareMeter(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of area: square-meter.
      * Also see {@link #createSquareMeter()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getSquareMeter();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of area: square-mile.
@@ -489,14 +826,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createSquareMile(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of area: square-mile.
      * Also see {@link #createSquareMile()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getSquareMile();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of area: square-yard.
@@ -507,14 +842,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createSquareYard(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of area: square-yard.
      * Also see {@link #createSquareYard()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getSquareYard();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of concentr: karat.
@@ -525,14 +858,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createKarat(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of concentr: karat.
      * Also see {@link #createKarat()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getKarat();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of concentr: milligram-per-deciliter.
@@ -543,14 +874,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMilligramPerDeciliter(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of concentr: milligram-per-deciliter.
      * Also see {@link #createMilligramPerDeciliter()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMilligramPerDeciliter();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of concentr: millimole-per-liter.
@@ -561,35 +890,31 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMillimolePerLiter(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of concentr: millimole-per-liter.
      * Also see {@link #createMillimolePerLiter()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMillimolePerLiter();
-#endif  /* U_HIDE_DRAFT_API */
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by pointer, unit of concentr: mole.
      * Caller owns returned value and must free it.
      * Also see {@link #getMole()}.
      * @param status ICU error code.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit *createMole(UErrorCode &status);
 
     /**
      * Returns by value, unit of concentr: mole.
      * Also see {@link #createMole()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMole();
-#endif /* U_HIDE_DRAFT_API */
 
     /**
-     * Returns by pointer, unit of concentr: part-per-million.
+     * Returns by pointer, unit of concentr: permillion.
      * Caller owns returned value and must free it.
      * Also see {@link #getPartPerMillion()}.
      * @param status ICU error code.
@@ -597,14 +922,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createPartPerMillion(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
-     * Returns by value, unit of concentr: part-per-million.
+     * Returns by value, unit of concentr: permillion.
      * Also see {@link #createPartPerMillion()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getPartPerMillion();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of concentr: percent.
@@ -615,14 +938,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createPercent(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of concentr: percent.
      * Also see {@link #createPercent()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getPercent();
-#endif /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of concentr: permille.
@@ -633,35 +954,31 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createPermille(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of concentr: permille.
      * Also see {@link #createPermille()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getPermille();
-#endif /* U_HIDE_DRAFT_API */
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by pointer, unit of concentr: permyriad.
      * Caller owns returned value and must free it.
      * Also see {@link #getPermyriad()}.
      * @param status ICU error code.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit *createPermyriad(UErrorCode &status);
 
     /**
      * Returns by value, unit of concentr: permyriad.
      * Also see {@link #createPermyriad()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getPermyriad();
-#endif /* U_HIDE_DRAFT_API */
 
     /**
-     * Returns by pointer, unit of consumption: liter-per-100kilometers.
+     * Returns by pointer, unit of consumption: liter-per-100-kilometer.
      * Caller owns returned value and must free it.
      * Also see {@link #getLiterPer100Kilometers()}.
      * @param status ICU error code.
@@ -669,14 +986,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createLiterPer100Kilometers(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
-     * Returns by value, unit of consumption: liter-per-100kilometers.
+     * Returns by value, unit of consumption: liter-per-100-kilometer.
      * Also see {@link #createLiterPer100Kilometers()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getLiterPer100Kilometers();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of consumption: liter-per-kilometer.
@@ -687,14 +1002,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createLiterPerKilometer(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of consumption: liter-per-kilometer.
      * Also see {@link #createLiterPerKilometer()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getLiterPerKilometer();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of consumption: mile-per-gallon.
@@ -705,14 +1018,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMilePerGallon(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of consumption: mile-per-gallon.
      * Also see {@link #createMilePerGallon()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMilePerGallon();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of consumption: mile-per-gallon-imperial.
@@ -723,14 +1034,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMilePerGallonImperial(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of consumption: mile-per-gallon-imperial.
      * Also see {@link #createMilePerGallonImperial()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMilePerGallonImperial();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of digital: bit.
@@ -741,14 +1050,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createBit(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of digital: bit.
      * Also see {@link #createBit()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getBit();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of digital: byte.
@@ -759,14 +1066,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createByte(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of digital: byte.
      * Also see {@link #createByte()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getByte();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of digital: gigabit.
@@ -777,14 +1082,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createGigabit(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of digital: gigabit.
      * Also see {@link #createGigabit()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getGigabit();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of digital: gigabyte.
@@ -795,14 +1098,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createGigabyte(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of digital: gigabyte.
      * Also see {@link #createGigabyte()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getGigabyte();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of digital: kilobit.
@@ -813,14 +1114,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createKilobit(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of digital: kilobit.
      * Also see {@link #createKilobit()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getKilobit();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of digital: kilobyte.
@@ -831,14 +1130,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createKilobyte(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of digital: kilobyte.
      * Also see {@link #createKilobyte()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getKilobyte();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of digital: megabit.
@@ -849,14 +1146,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMegabit(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of digital: megabit.
      * Also see {@link #createMegabit()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMegabit();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of digital: megabyte.
@@ -867,14 +1162,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMegabyte(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of digital: megabyte.
      * Also see {@link #createMegabyte()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMegabyte();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of digital: petabyte.
@@ -885,14 +1178,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createPetabyte(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of digital: petabyte.
      * Also see {@link #createPetabyte()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getPetabyte();
-#endif /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of digital: terabit.
@@ -903,14 +1194,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createTerabit(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of digital: terabit.
      * Also see {@link #createTerabit()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getTerabit();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of digital: terabyte.
@@ -921,14 +1210,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createTerabyte(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of digital: terabyte.
      * Also see {@link #createTerabyte()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getTerabyte();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of duration: century.
@@ -939,14 +1226,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createCentury(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of duration: century.
      * Also see {@link #createCentury()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getCentury();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of duration: day.
@@ -957,32 +1242,28 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createDay(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of duration: day.
      * Also see {@link #createDay()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getDay();
-#endif  /* U_HIDE_DRAFT_API */
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by pointer, unit of duration: day-person.
      * Caller owns returned value and must free it.
      * Also see {@link #getDayPerson()}.
      * @param status ICU error code.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit *createDayPerson(UErrorCode &status);
 
     /**
      * Returns by value, unit of duration: day-person.
      * Also see {@link #createDayPerson()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getDayPerson();
-#endif /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_DRAFT_API
     /**
@@ -1011,14 +1292,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createHour(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of duration: hour.
      * Also see {@link #createHour()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getHour();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of duration: microsecond.
@@ -1029,14 +1308,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMicrosecond(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of duration: microsecond.
      * Also see {@link #createMicrosecond()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMicrosecond();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of duration: millisecond.
@@ -1047,14 +1324,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMillisecond(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of duration: millisecond.
      * Also see {@link #createMillisecond()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMillisecond();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of duration: minute.
@@ -1065,14 +1340,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMinute(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of duration: minute.
      * Also see {@link #createMinute()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMinute();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of duration: month.
@@ -1083,32 +1356,28 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMonth(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of duration: month.
      * Also see {@link #createMonth()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMonth();
-#endif  /* U_HIDE_DRAFT_API */
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by pointer, unit of duration: month-person.
      * Caller owns returned value and must free it.
      * Also see {@link #getMonthPerson()}.
      * @param status ICU error code.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit *createMonthPerson(UErrorCode &status);
 
     /**
      * Returns by value, unit of duration: month-person.
      * Also see {@link #createMonthPerson()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMonthPerson();
-#endif /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of duration: nanosecond.
@@ -1119,14 +1388,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createNanosecond(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of duration: nanosecond.
      * Also see {@link #createNanosecond()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getNanosecond();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of duration: second.
@@ -1137,14 +1404,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createSecond(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of duration: second.
      * Also see {@link #createSecond()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getSecond();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of duration: week.
@@ -1155,32 +1420,28 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createWeek(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of duration: week.
      * Also see {@link #createWeek()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getWeek();
-#endif  /* U_HIDE_DRAFT_API */
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by pointer, unit of duration: week-person.
      * Caller owns returned value and must free it.
      * Also see {@link #getWeekPerson()}.
      * @param status ICU error code.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit *createWeekPerson(UErrorCode &status);
 
     /**
      * Returns by value, unit of duration: week-person.
      * Also see {@link #createWeekPerson()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getWeekPerson();
-#endif /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of duration: year.
@@ -1191,32 +1452,28 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createYear(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of duration: year.
      * Also see {@link #createYear()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getYear();
-#endif  /* U_HIDE_DRAFT_API */
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by pointer, unit of duration: year-person.
      * Caller owns returned value and must free it.
      * Also see {@link #getYearPerson()}.
      * @param status ICU error code.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit *createYearPerson(UErrorCode &status);
 
     /**
      * Returns by value, unit of duration: year-person.
      * Also see {@link #createYearPerson()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getYearPerson();
-#endif /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of electric: ampere.
@@ -1227,14 +1484,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createAmpere(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of electric: ampere.
      * Also see {@link #createAmpere()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getAmpere();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of electric: milliampere.
@@ -1245,14 +1500,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMilliampere(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of electric: milliampere.
      * Also see {@link #createMilliampere()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMilliampere();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of electric: ohm.
@@ -1263,14 +1516,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createOhm(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of electric: ohm.
      * Also see {@link #createOhm()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getOhm();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of electric: volt.
@@ -1281,32 +1532,28 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createVolt(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of electric: volt.
      * Also see {@link #createVolt()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getVolt();
-#endif  /* U_HIDE_DRAFT_API */
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by pointer, unit of energy: british-thermal-unit.
      * Caller owns returned value and must free it.
      * Also see {@link #getBritishThermalUnit()}.
      * @param status ICU error code.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit *createBritishThermalUnit(UErrorCode &status);
 
     /**
      * Returns by value, unit of energy: british-thermal-unit.
      * Also see {@link #createBritishThermalUnit()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getBritishThermalUnit();
-#endif /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of energy: calorie.
@@ -1317,32 +1564,28 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createCalorie(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of energy: calorie.
      * Also see {@link #createCalorie()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getCalorie();
-#endif  /* U_HIDE_DRAFT_API */
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by pointer, unit of energy: electronvolt.
      * Caller owns returned value and must free it.
      * Also see {@link #getElectronvolt()}.
      * @param status ICU error code.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit *createElectronvolt(UErrorCode &status);
 
     /**
      * Returns by value, unit of energy: electronvolt.
      * Also see {@link #createElectronvolt()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getElectronvolt();
-#endif /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of energy: foodcalorie.
@@ -1353,14 +1596,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createFoodcalorie(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of energy: foodcalorie.
      * Also see {@link #createFoodcalorie()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getFoodcalorie();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of energy: joule.
@@ -1371,14 +1612,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createJoule(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of energy: joule.
      * Also see {@link #createJoule()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getJoule();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of energy: kilocalorie.
@@ -1389,14 +1628,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createKilocalorie(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of energy: kilocalorie.
      * Also see {@link #createKilocalorie()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getKilocalorie();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of energy: kilojoule.
@@ -1407,14 +1644,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createKilojoule(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of energy: kilojoule.
      * Also see {@link #createKilojoule()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getKilojoule();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of energy: kilowatt-hour.
@@ -1425,14 +1660,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createKilowattHour(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of energy: kilowatt-hour.
      * Also see {@link #createKilowattHour()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getKilowattHour();
-#endif  /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_DRAFT_API
     /**
@@ -1452,41 +1685,37 @@ class U_I18N_API MeasureUnit: public UObject {
     static MeasureUnit getThermUs();
 #endif /* U_HIDE_DRAFT_API */
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by pointer, unit of force: newton.
      * Caller owns returned value and must free it.
      * Also see {@link #getNewton()}.
      * @param status ICU error code.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit *createNewton(UErrorCode &status);
 
     /**
      * Returns by value, unit of force: newton.
      * Also see {@link #createNewton()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getNewton();
-#endif /* U_HIDE_DRAFT_API */
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by pointer, unit of force: pound-force.
      * Caller owns returned value and must free it.
      * Also see {@link #getPoundForce()}.
      * @param status ICU error code.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit *createPoundForce(UErrorCode &status);
 
     /**
      * Returns by value, unit of force: pound-force.
      * Also see {@link #createPoundForce()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getPoundForce();
-#endif /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of frequency: gigahertz.
@@ -1497,14 +1726,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createGigahertz(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of frequency: gigahertz.
      * Also see {@link #createGigahertz()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getGigahertz();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of frequency: hertz.
@@ -1515,14 +1742,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createHertz(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of frequency: hertz.
      * Also see {@link #createHertz()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getHertz();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of frequency: kilohertz.
@@ -1533,14 +1758,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createKilohertz(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of frequency: kilohertz.
      * Also see {@link #createKilohertz()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getKilohertz();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of frequency: megahertz.
@@ -1551,14 +1774,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMegahertz(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of frequency: megahertz.
      * Also see {@link #createMegahertz()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMegahertz();
-#endif  /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_DRAFT_API
     /**
@@ -1695,14 +1916,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createAstronomicalUnit(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: astronomical-unit.
      * Also see {@link #createAstronomicalUnit()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getAstronomicalUnit();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: centimeter.
@@ -1713,14 +1932,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createCentimeter(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: centimeter.
      * Also see {@link #createCentimeter()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getCentimeter();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: decimeter.
@@ -1731,14 +1948,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createDecimeter(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: decimeter.
      * Also see {@link #createDecimeter()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getDecimeter();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: fathom.
@@ -1749,14 +1964,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createFathom(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: fathom.
      * Also see {@link #createFathom()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getFathom();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: foot.
@@ -1767,14 +1980,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createFoot(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: foot.
      * Also see {@link #createFoot()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getFoot();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: furlong.
@@ -1785,14 +1996,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createFurlong(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: furlong.
      * Also see {@link #createFurlong()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getFurlong();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: inch.
@@ -1803,14 +2012,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createInch(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: inch.
      * Also see {@link #createInch()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getInch();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: kilometer.
@@ -1821,14 +2028,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createKilometer(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: kilometer.
      * Also see {@link #createKilometer()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getKilometer();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: light-year.
@@ -1839,14 +2044,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createLightYear(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: light-year.
      * Also see {@link #createLightYear()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getLightYear();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: meter.
@@ -1857,14 +2060,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMeter(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: meter.
      * Also see {@link #createMeter()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMeter();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: micrometer.
@@ -1875,14 +2076,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMicrometer(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: micrometer.
      * Also see {@link #createMicrometer()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMicrometer();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: mile.
@@ -1893,14 +2092,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMile(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: mile.
      * Also see {@link #createMile()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMile();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: mile-scandinavian.
@@ -1911,14 +2108,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMileScandinavian(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: mile-scandinavian.
      * Also see {@link #createMileScandinavian()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMileScandinavian();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: millimeter.
@@ -1929,14 +2124,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMillimeter(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: millimeter.
      * Also see {@link #createMillimeter()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMillimeter();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: nanometer.
@@ -1947,14 +2140,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createNanometer(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: nanometer.
      * Also see {@link #createNanometer()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getNanometer();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: nautical-mile.
@@ -1965,14 +2156,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createNauticalMile(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: nautical-mile.
      * Also see {@link #createNauticalMile()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getNauticalMile();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: parsec.
@@ -1983,14 +2172,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createParsec(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: parsec.
      * Also see {@link #createParsec()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getParsec();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: picometer.
@@ -2001,14 +2188,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createPicometer(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: picometer.
      * Also see {@link #createPicometer()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getPicometer();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: point.
@@ -2019,32 +2204,28 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createPoint(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: point.
      * Also see {@link #createPoint()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getPoint();
-#endif  /* U_HIDE_DRAFT_API */
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by pointer, unit of length: solar-radius.
      * Caller owns returned value and must free it.
      * Also see {@link #getSolarRadius()}.
      * @param status ICU error code.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit *createSolarRadius(UErrorCode &status);
 
     /**
      * Returns by value, unit of length: solar-radius.
      * Also see {@link #createSolarRadius()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getSolarRadius();
-#endif /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of length: yard.
@@ -2055,14 +2236,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createYard(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of length: yard.
      * Also see {@link #createYard()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getYard();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of light: lux.
@@ -2073,32 +2252,28 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createLux(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of light: lux.
      * Also see {@link #createLux()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getLux();
-#endif  /* U_HIDE_DRAFT_API */
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by pointer, unit of light: solar-luminosity.
      * Caller owns returned value and must free it.
      * Also see {@link #getSolarLuminosity()}.
      * @param status ICU error code.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit *createSolarLuminosity(UErrorCode &status);
 
     /**
      * Returns by value, unit of light: solar-luminosity.
      * Also see {@link #createSolarLuminosity()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getSolarLuminosity();
-#endif /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of mass: carat.
@@ -2109,50 +2284,44 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createCarat(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of mass: carat.
      * Also see {@link #createCarat()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getCarat();
-#endif  /* U_HIDE_DRAFT_API */
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by pointer, unit of mass: dalton.
      * Caller owns returned value and must free it.
      * Also see {@link #getDalton()}.
      * @param status ICU error code.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit *createDalton(UErrorCode &status);
 
     /**
      * Returns by value, unit of mass: dalton.
      * Also see {@link #createDalton()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getDalton();
-#endif /* U_HIDE_DRAFT_API */
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by pointer, unit of mass: earth-mass.
      * Caller owns returned value and must free it.
      * Also see {@link #getEarthMass()}.
      * @param status ICU error code.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit *createEarthMass(UErrorCode &status);
 
     /**
      * Returns by value, unit of mass: earth-mass.
      * Also see {@link #createEarthMass()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getEarthMass();
-#endif /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of mass: gram.
@@ -2163,14 +2332,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createGram(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of mass: gram.
      * Also see {@link #createGram()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getGram();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of mass: kilogram.
@@ -2181,14 +2348,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createKilogram(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of mass: kilogram.
      * Also see {@link #createKilogram()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getKilogram();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of mass: metric-ton.
@@ -2199,14 +2364,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMetricTon(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of mass: metric-ton.
      * Also see {@link #createMetricTon()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMetricTon();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of mass: microgram.
@@ -2217,14 +2380,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMicrogram(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of mass: microgram.
      * Also see {@link #createMicrogram()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMicrogram();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of mass: milligram.
@@ -2235,14 +2396,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMilligram(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of mass: milligram.
      * Also see {@link #createMilligram()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMilligram();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of mass: ounce.
@@ -2253,14 +2412,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createOunce(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of mass: ounce.
      * Also see {@link #createOunce()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getOunce();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of mass: ounce-troy.
@@ -2271,14 +2428,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createOunceTroy(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of mass: ounce-troy.
      * Also see {@link #createOunceTroy()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getOunceTroy();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of mass: pound.
@@ -2289,32 +2444,28 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createPound(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of mass: pound.
      * Also see {@link #createPound()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getPound();
-#endif  /* U_HIDE_DRAFT_API */
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by pointer, unit of mass: solar-mass.
      * Caller owns returned value and must free it.
      * Also see {@link #getSolarMass()}.
      * @param status ICU error code.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit *createSolarMass(UErrorCode &status);
 
     /**
      * Returns by value, unit of mass: solar-mass.
      * Also see {@link #createSolarMass()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getSolarMass();
-#endif /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of mass: stone.
@@ -2325,14 +2476,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createStone(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of mass: stone.
      * Also see {@link #createStone()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getStone();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of mass: ton.
@@ -2343,14 +2492,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createTon(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of mass: ton.
      * Also see {@link #createTon()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getTon();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of power: gigawatt.
@@ -2361,14 +2508,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createGigawatt(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of power: gigawatt.
      * Also see {@link #createGigawatt()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getGigawatt();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of power: horsepower.
@@ -2379,14 +2524,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createHorsepower(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of power: horsepower.
      * Also see {@link #createHorsepower()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getHorsepower();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of power: kilowatt.
@@ -2397,14 +2540,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createKilowatt(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of power: kilowatt.
      * Also see {@link #createKilowatt()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getKilowatt();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of power: megawatt.
@@ -2415,14 +2556,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMegawatt(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of power: megawatt.
      * Also see {@link #createMegawatt()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMegawatt();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of power: milliwatt.
@@ -2433,14 +2572,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMilliwatt(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of power: milliwatt.
      * Also see {@link #createMilliwatt()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMilliwatt();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of power: watt.
@@ -2451,14 +2588,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createWatt(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of power: watt.
      * Also see {@link #createWatt()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getWatt();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of pressure: atmosphere.
@@ -2469,14 +2604,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createAtmosphere(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of pressure: atmosphere.
      * Also see {@link #createAtmosphere()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getAtmosphere();
-#endif /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_DRAFT_API
     /**
@@ -2505,17 +2638,15 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createHectopascal(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of pressure: hectopascal.
      * Also see {@link #createHectopascal()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getHectopascal();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
-     * Returns by pointer, unit of pressure: inch-hg.
+     * Returns by pointer, unit of pressure: inch-ofhg.
      * Caller owns returned value and must free it.
      * Also see {@link #getInchHg()}.
      * @param status ICU error code.
@@ -2523,50 +2654,44 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createInchHg(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
-     * Returns by value, unit of pressure: inch-hg.
+     * Returns by value, unit of pressure: inch-ofhg.
      * Also see {@link #createInchHg()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getInchHg();
-#endif  /* U_HIDE_DRAFT_API */
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by pointer, unit of pressure: kilopascal.
      * Caller owns returned value and must free it.
      * Also see {@link #getKilopascal()}.
      * @param status ICU error code.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit *createKilopascal(UErrorCode &status);
 
     /**
      * Returns by value, unit of pressure: kilopascal.
      * Also see {@link #createKilopascal()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getKilopascal();
-#endif /* U_HIDE_DRAFT_API */
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by pointer, unit of pressure: megapascal.
      * Caller owns returned value and must free it.
      * Also see {@link #getMegapascal()}.
      * @param status ICU error code.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit *createMegapascal(UErrorCode &status);
 
     /**
      * Returns by value, unit of pressure: megapascal.
      * Also see {@link #createMegapascal()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMegapascal();
-#endif /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of pressure: millibar.
@@ -2577,17 +2702,15 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMillibar(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of pressure: millibar.
      * Also see {@link #createMillibar()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMillibar();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
-     * Returns by pointer, unit of pressure: millimeter-of-mercury.
+     * Returns by pointer, unit of pressure: millimeter-ofhg.
      * Caller owns returned value and must free it.
      * Also see {@link #getMillimeterOfMercury()}.
      * @param status ICU error code.
@@ -2595,14 +2718,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMillimeterOfMercury(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
-     * Returns by value, unit of pressure: millimeter-of-mercury.
+     * Returns by value, unit of pressure: millimeter-ofhg.
      * Also see {@link #createMillimeterOfMercury()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMillimeterOfMercury();
-#endif  /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_DRAFT_API
     /**
@@ -2623,7 +2744,7 @@ class U_I18N_API MeasureUnit: public UObject {
 #endif /* U_HIDE_DRAFT_API */
 
     /**
-     * Returns by pointer, unit of pressure: pound-per-square-inch.
+     * Returns by pointer, unit of pressure: pound-force-per-square-inch.
      * Caller owns returned value and must free it.
      * Also see {@link #getPoundPerSquareInch()}.
      * @param status ICU error code.
@@ -2631,14 +2752,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createPoundPerSquareInch(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
-     * Returns by value, unit of pressure: pound-per-square-inch.
+     * Returns by value, unit of pressure: pound-force-per-square-inch.
      * Also see {@link #createPoundPerSquareInch()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getPoundPerSquareInch();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of speed: kilometer-per-hour.
@@ -2649,14 +2768,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createKilometerPerHour(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of speed: kilometer-per-hour.
      * Also see {@link #createKilometerPerHour()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getKilometerPerHour();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of speed: knot.
@@ -2667,14 +2784,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createKnot(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of speed: knot.
      * Also see {@link #createKnot()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getKnot();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of speed: meter-per-second.
@@ -2685,14 +2800,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMeterPerSecond(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of speed: meter-per-second.
      * Also see {@link #createMeterPerSecond()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMeterPerSecond();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of speed: mile-per-hour.
@@ -2703,14 +2816,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMilePerHour(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of speed: mile-per-hour.
      * Also see {@link #createMilePerHour()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMilePerHour();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of temperature: celsius.
@@ -2721,14 +2832,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createCelsius(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of temperature: celsius.
      * Also see {@link #createCelsius()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getCelsius();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of temperature: fahrenheit.
@@ -2739,14 +2848,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createFahrenheit(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of temperature: fahrenheit.
      * Also see {@link #createFahrenheit()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getFahrenheit();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of temperature: generic.
@@ -2757,14 +2864,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createGenericTemperature(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of temperature: generic.
      * Also see {@link #createGenericTemperature()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getGenericTemperature();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of temperature: kelvin.
@@ -2775,50 +2880,44 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createKelvin(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of temperature: kelvin.
      * Also see {@link #createKelvin()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getKelvin();
-#endif  /* U_HIDE_DRAFT_API */
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by pointer, unit of torque: newton-meter.
      * Caller owns returned value and must free it.
      * Also see {@link #getNewtonMeter()}.
      * @param status ICU error code.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit *createNewtonMeter(UErrorCode &status);
 
     /**
      * Returns by value, unit of torque: newton-meter.
      * Also see {@link #createNewtonMeter()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getNewtonMeter();
-#endif /* U_HIDE_DRAFT_API */
 
-#ifndef U_HIDE_DRAFT_API
     /**
-     * Returns by pointer, unit of torque: pound-foot.
+     * Returns by pointer, unit of torque: pound-force-foot.
      * Caller owns returned value and must free it.
      * Also see {@link #getPoundFoot()}.
      * @param status ICU error code.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit *createPoundFoot(UErrorCode &status);
 
     /**
-     * Returns by value, unit of torque: pound-foot.
+     * Returns by value, unit of torque: pound-force-foot.
      * Also see {@link #createPoundFoot()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getPoundFoot();
-#endif /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: acre-foot.
@@ -2829,32 +2928,28 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createAcreFoot(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: acre-foot.
      * Also see {@link #createAcreFoot()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getAcreFoot();
-#endif  /* U_HIDE_DRAFT_API */
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by pointer, unit of volume: barrel.
      * Caller owns returned value and must free it.
      * Also see {@link #getBarrel()}.
      * @param status ICU error code.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit *createBarrel(UErrorCode &status);
 
     /**
      * Returns by value, unit of volume: barrel.
      * Also see {@link #createBarrel()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getBarrel();
-#endif /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: bushel.
@@ -2865,14 +2960,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createBushel(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: bushel.
      * Also see {@link #createBushel()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getBushel();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: centiliter.
@@ -2883,14 +2976,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createCentiliter(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: centiliter.
      * Also see {@link #createCentiliter()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getCentiliter();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: cubic-centimeter.
@@ -2901,14 +2992,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createCubicCentimeter(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: cubic-centimeter.
      * Also see {@link #createCubicCentimeter()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getCubicCentimeter();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: cubic-foot.
@@ -2919,14 +3008,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createCubicFoot(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: cubic-foot.
      * Also see {@link #createCubicFoot()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getCubicFoot();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: cubic-inch.
@@ -2937,14 +3024,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createCubicInch(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: cubic-inch.
      * Also see {@link #createCubicInch()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getCubicInch();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: cubic-kilometer.
@@ -2955,14 +3040,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createCubicKilometer(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: cubic-kilometer.
      * Also see {@link #createCubicKilometer()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getCubicKilometer();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: cubic-meter.
@@ -2973,14 +3056,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createCubicMeter(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: cubic-meter.
      * Also see {@link #createCubicMeter()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getCubicMeter();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: cubic-mile.
@@ -2991,14 +3072,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createCubicMile(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: cubic-mile.
      * Also see {@link #createCubicMile()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getCubicMile();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: cubic-yard.
@@ -3009,14 +3088,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createCubicYard(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: cubic-yard.
      * Also see {@link #createCubicYard()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getCubicYard();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: cup.
@@ -3027,14 +3104,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createCup(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: cup.
      * Also see {@link #createCup()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getCup();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: cup-metric.
@@ -3045,14 +3120,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createCupMetric(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: cup-metric.
      * Also see {@link #createCupMetric()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getCupMetric();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: deciliter.
@@ -3063,14 +3136,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createDeciliter(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: deciliter.
      * Also see {@link #createDeciliter()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getDeciliter();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: fluid-ounce.
@@ -3081,32 +3152,28 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createFluidOunce(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: fluid-ounce.
      * Also see {@link #createFluidOunce()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getFluidOunce();
-#endif  /* U_HIDE_DRAFT_API */
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by pointer, unit of volume: fluid-ounce-imperial.
      * Caller owns returned value and must free it.
      * Also see {@link #getFluidOunceImperial()}.
      * @param status ICU error code.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit *createFluidOunceImperial(UErrorCode &status);
 
     /**
      * Returns by value, unit of volume: fluid-ounce-imperial.
      * Also see {@link #createFluidOunceImperial()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getFluidOunceImperial();
-#endif /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: gallon.
@@ -3117,14 +3184,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createGallon(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: gallon.
      * Also see {@link #createGallon()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getGallon();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: gallon-imperial.
@@ -3135,14 +3200,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createGallonImperial(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: gallon-imperial.
      * Also see {@link #createGallonImperial()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getGallonImperial();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: hectoliter.
@@ -3153,14 +3216,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createHectoliter(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: hectoliter.
      * Also see {@link #createHectoliter()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getHectoliter();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: liter.
@@ -3171,14 +3232,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createLiter(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: liter.
      * Also see {@link #createLiter()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getLiter();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: megaliter.
@@ -3189,14 +3248,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMegaliter(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: megaliter.
      * Also see {@link #createMegaliter()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMegaliter();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: milliliter.
@@ -3207,14 +3264,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createMilliliter(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: milliliter.
      * Also see {@link #createMilliliter()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getMilliliter();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: pint.
@@ -3225,14 +3280,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createPint(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: pint.
      * Also see {@link #createPint()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getPint();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: pint-metric.
@@ -3243,14 +3296,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createPintMetric(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: pint-metric.
      * Also see {@link #createPintMetric()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getPintMetric();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: quart.
@@ -3261,14 +3312,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createQuart(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: quart.
      * Also see {@link #createQuart()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getQuart();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: tablespoon.
@@ -3279,14 +3328,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createTablespoon(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: tablespoon.
      * Also see {@link #createTablespoon()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getTablespoon();
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Returns by pointer, unit of volume: teaspoon.
@@ -3297,14 +3344,12 @@ class U_I18N_API MeasureUnit: public UObject {
      */
     static MeasureUnit *createTeaspoon(UErrorCode &status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns by value, unit of volume: teaspoon.
      * Also see {@link #createTeaspoon()}.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static MeasureUnit getTeaspoon();
-#endif  /* U_HIDE_DRAFT_API */
 
 
 // End generated createXXX methods
@@ -3322,7 +3367,7 @@ class U_I18N_API MeasureUnit: public UObject {
      * For ICU use only.
      * @internal
      */
-    void initCurrency(const char *isoCurrency);
+    void initCurrency(StringPiece isoCurrency);
 
     /**
      * For ICU use only.
@@ -3333,16 +3378,34 @@ class U_I18N_API MeasureUnit: public UObject {
 #endif  /* U_HIDE_INTERNAL_API */
 
 private:
-    int32_t fTypeId;
-    int32_t fSubTypeId;
-    char fCurrency[4];
 
-    MeasureUnit(int32_t typeId, int32_t subTypeId) : fTypeId(typeId), fSubTypeId(subTypeId) {
-        fCurrency[0] = 0;
-    }
+    // Used by new draft APIs in ICU 67. If non-null, fImpl is owned by the
+    // MeasureUnit.
+    MeasureUnitImpl* fImpl;
+
+    // An index into a static string list in measunit.cpp. If set to -1, fImpl
+    // is in use instead of fTypeId and fSubTypeId.
+    int16_t fSubTypeId;
+    // An index into a static string list in measunit.cpp. If set to -1, fImpl
+    // is in use instead of fTypeId and fSubTypeId.
+    int8_t fTypeId;
+
+    MeasureUnit(int32_t typeId, int32_t subTypeId);
+    MeasureUnit(MeasureUnitImpl&& impl);
     void setTo(int32_t typeId, int32_t subTypeId);
     int32_t getOffset() const;
     static MeasureUnit *create(int typeId, int subTypeId, UErrorCode &status);
+
+    /**
+     * Sets output's typeId and subTypeId according to subType, if subType is a
+     * valid/known identifier.
+     *
+     * @return Whether subType is known to ICU. If false, output was not
+     * modified.
+     */
+    static bool findBySubType(StringPiece subType, MeasureUnit* output);
+
+    friend struct MeasureUnitImpl;
 };
 
 U_NAMESPACE_END
index 42d4687..615cf49 100644 (file)
@@ -155,6 +155,8 @@ class DecNum;
 class NumberRangeFormatterImpl;
 struct RangeMacroProps;
 struct UFormattedNumberImpl;
+class MutablePatternModifier;
+class ImmutablePatternModifier;
 
 /**
  * Used for NumberRangeFormatter and implemented in numrange_fluent.cpp.
@@ -980,9 +982,13 @@ class U_I18N_API IntegerWidth : public UMemory {
     friend struct impl::MacroProps;
     friend struct impl::MicroProps;
 
-    // To allow NumberFormatterImpl to access isBogus() and perform other operations:
+    // To allow NumberFormatterImpl to access isBogus():
     friend class impl::NumberFormatterImpl;
 
+    // To allow the use of this class when formatting:
+    friend class impl::MutablePatternModifier;
+    friend class impl::ImmutablePatternModifier;
+
     // So that NumberPropertyMapper can create instances
     friend class impl::NumberPropertyMapper;
 
@@ -1410,9 +1416,6 @@ struct U_I18N_API MacroProps : public UMemory {
     const PluralRules* rules = nullptr;  // no ownership
 
     /** @internal */
-    const CurrencySymbols* currencySymbols = nullptr;  // no ownership
-
-    /** @internal */
     int32_t threshold = kInternalDefaultThreshold;
 
     /** @internal */
@@ -1433,6 +1436,16 @@ struct U_I18N_API MacroProps : public UMemory {
 
 } // namespace impl
 
+#if (U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN) && defined(_MSC_VER)
+// Ignore MSVC warning 4661. This is generated for NumberFormatterSettings<>::toSkeleton() as this method
+// is defined elsewhere (in number_skeletons.cpp). The compiler is warning that the explicit template instantiation
+// inside this single translation unit (CPP file) is incomplete, and thus it isn't sure if the template class is
+// fully defined. However, since each translation unit explicitly instantiates all the necessary template classes,
+// they will all be passed to the linker, and the linker will still find and export all the class members.
+#pragma warning(push)
+#pragma warning(disable: 4661)
+#endif
+
 /**
  * An abstract base class for specifying settings related to number formatting. This class is implemented by
  * {@link UnlocalizedNumberFormatter} and {@link LocalizedNumberFormatter}. This class is not intended for
@@ -2082,7 +2095,6 @@ class U_I18N_API NumberFormatterSettings {
      */
     UnicodeString toSkeleton(UErrorCode& status) const;
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns the current (Un)LocalizedNumberFormatter as a LocalPointer
      * wrapping a heap-allocated copy of the current object.
@@ -2092,7 +2104,7 @@ class U_I18N_API NumberFormatterSettings {
      *
      * @return A wrapped (Un)LocalizedNumberFormatter pointer, or a wrapped
      *         nullptr on failure.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     LocalPointer<Derived> clone() const &;
 
@@ -2101,10 +2113,9 @@ class U_I18N_API NumberFormatterSettings {
      *
      * @return A wrapped (Un)LocalizedNumberFormatter pointer, or a wrapped
      *         nullptr on failure.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     LocalPointer<Derived> clone() &&;
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Sets the UErrorCode if an error occurred in the fluent chain.
@@ -2399,6 +2410,11 @@ class U_I18N_API LocalizedNumberFormatter
     friend class UnlocalizedNumberFormatter;
 };
 
+#if (U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN) && defined(_MSC_VER)
+// Warning 4661.
+#pragma warning(pop)
+#endif
+
 /**
  * The result of a number formatting operation. This class allows the result to be exported in several data types,
  * including a UnicodeString and a FieldPositionIterator.
@@ -2410,15 +2426,12 @@ class U_I18N_API LocalizedNumberFormatter
 class U_I18N_API FormattedNumber : public UMemory, public FormattedValue {
   public:
 
-    // Default constructor cannot have #ifndef U_HIDE_DRAFT_API
-#ifndef U_FORCE_HIDE_DRAFT_API
     /**
      * Default constructor; makes an empty FormattedNumber.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     FormattedNumber()
         : fData(nullptr), fErrorCode(U_INVALID_STATE_ERROR) {}
-#endif  // U_FORCE_HIDE_DRAFT_API
 
     /**
      * Move constructor: Leaves the source FormattedNumber in an undefined state.
@@ -2474,60 +2487,6 @@ class U_I18N_API FormattedNumber : public UMemory, public FormattedValue {
 
 #ifndef U_HIDE_DRAFT_API
     /**
-     * Determines the start (inclusive) and end (exclusive) indices of the next occurrence of the given
-     * <em>field</em> in the output string. This allows you to determine the locations of, for example,
-     * the integer part, fraction part, or symbols.
-     *
-     * This is a simpler but less powerful alternative to {@link #nextPosition}.
-     *
-     * If a field occurs just once, calling this method will find that occurrence and return it. If a
-     * field occurs multiple times, this method may be called repeatedly with the following pattern:
-     *
-     * <pre>
-     * FieldPosition fpos(UNUM_GROUPING_SEPARATOR_FIELD);
-     * while (formattedNumber.nextFieldPosition(fpos, status)) {
-     *   // do something with fpos.
-     * }
-     * </pre>
-     *
-     * This method is useful if you know which field to query. If you want all available field position
-     * information, use {@link #nextPosition} or {@link #getAllFieldPositions}.
-     *
-     * @param fieldPosition
-     *            Input+output variable. On input, the "field" property determines which field to look
-     *            up, and the "beginIndex" and "endIndex" properties determine where to begin the search.
-     *            On output, the "beginIndex" is set to the beginning of the first occurrence of the
-     *            field with either begin or end indices after the input indices; "endIndex" is set to
-     *            the end of that occurrence of the field (exclusive index). If a field position is not
-     *            found, the method returns FALSE and the FieldPosition may or may not be changed.
-     * @param status
-     *            Set if an error occurs while populating the FieldPosition.
-     * @return TRUE if a new occurrence of the field was found; FALSE otherwise.
-     * @draft ICU 62
-     * @see UNumberFormatFields
-     */
-    UBool nextFieldPosition(FieldPosition& fieldPosition, UErrorCode& status) const;
-
-    /**
-     * Export the formatted number to a FieldPositionIterator. This allows you to determine which characters in
-     * the output string correspond to which <em>fields</em>, such as the integer part, fraction part, and sign.
-     *
-     * This is an alternative to the more powerful #nextPosition() API.
-     *
-     * If information on only one field is needed, use #nextPosition() or #nextFieldPosition() instead.
-     *
-     * @param iterator
-     *            The FieldPositionIterator to populate with all of the fields present in the formatted number.
-     * @param status
-     *            Set if an error occurs while populating the FieldPositionIterator.
-     * @draft ICU 62
-     * @see UNumberFormatFields
-     */
-    void getAllFieldPositions(FieldPositionIterator &iterator, UErrorCode &status) const;
-#endif  /* U_HIDE_DRAFT_API */
-
-#ifndef U_HIDE_DRAFT_API
-    /**
      * Export the formatted number as a "numeric string" conforming to the
      * syntax defined in the Decimal Arithmetic Specification, available at
      * http://speleotrove.com/decimal
@@ -2646,7 +2605,6 @@ class U_I18N_API NumberFormatter final {
      */
     static UnlocalizedNumberFormatter forSkeleton(const UnicodeString& skeleton, UErrorCode& status);
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Call this method at the beginning of a NumberFormatter fluent chain to create an instance based
      * on a given number skeleton string.
@@ -2662,11 +2620,10 @@ class U_I18N_API NumberFormatter final {
      * @param status
      *            Set to U_NUMBER_SKELETON_SYNTAX_ERROR if the skeleton was invalid.
      * @return An UnlocalizedNumberFormatter, to be used for chaining.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     static UnlocalizedNumberFormatter forSkeleton(const UnicodeString& skeleton,
                                                   UParseError& perror, UErrorCode& status);
-#endif
 
     /**
      * Use factory methods instead of the constructor to create a NumberFormatter.
index 0f0d2af..4d436a7 100644 (file)
@@ -449,7 +449,6 @@ class U_I18N_API NumberRangeFormatterSettings {
      */
     Derived identityFallback(UNumberRangeIdentityFallback identityFallback) &&;
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Returns the current (Un)LocalizedNumberRangeFormatter as a LocalPointer
      * wrapping a heap-allocated copy of the current object.
@@ -459,7 +458,7 @@ class U_I18N_API NumberRangeFormatterSettings {
      *
      * @return A wrapped (Un)LocalizedNumberRangeFormatter pointer, or a wrapped
      *         nullptr on failure.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     LocalPointer<Derived> clone() const &;
 
@@ -468,10 +467,9 @@ class U_I18N_API NumberRangeFormatterSettings {
      *
      * @return A wrapped (Un)LocalizedNumberRangeFormatter pointer, or a wrapped
      *         nullptr on failure.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     LocalPointer<Derived> clone() &&;
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Sets the UErrorCode if an error occurred in the fluent chain.
@@ -729,52 +727,6 @@ class U_I18N_API FormattedNumberRange : public UMemory, public FormattedValue {
 
 #ifndef U_HIDE_DRAFT_API
     /**
-     * Determines the start (inclusive) and end (exclusive) indices of the next occurrence of the given
-     * <em>field</em> in the output string. This allows you to determine the locations of, for example,
-     * the integer part, fraction part, or symbols.
-     *
-     * If both sides of the range have the same field, the field will occur twice, once before the
-     * range separator and once after the range separator, if applicable.
-     *
-     * If a field occurs just once, calling this method will find that occurrence and return it. If a
-     * field occurs multiple times, this method may be called repeatedly with the following pattern:
-     *
-     * <pre>
-     * FieldPosition fpos(UNUM_INTEGER_FIELD);
-     * while (formattedNumberRange.nextFieldPosition(fpos, status)) {
-     *   // do something with fpos.
-     * }
-     * </pre>
-     *
-     * This method is useful if you know which field to query. If you want all available field position
-     * information, use #getAllFieldPositions().
-     *
-     * @param fieldPosition
-     *            Input+output variable. See {@link FormattedNumber#nextFieldPosition}.
-     * @param status
-     *            Set if an error occurs while populating the FieldPosition.
-     * @return TRUE if a new occurrence of the field was found; FALSE otherwise.
-     * @draft ICU 63
-     * @see UNumberFormatFields
-     */
-    UBool nextFieldPosition(FieldPosition& fieldPosition, UErrorCode& status) const;
-
-    /**
-     * Export the formatted number range to a FieldPositionIterator. This allows you to determine which characters in
-     * the output string correspond to which <em>fields</em>, such as the integer part, fraction part, and sign.
-     *
-     * If information on only one field is needed, use #nextFieldPosition() instead.
-     *
-     * @param iterator
-     *            The FieldPositionIterator to populate with all of the fields present in the formatted number.
-     * @param status
-     *            Set if an error occurs while populating the FieldPositionIterator.
-     * @draft ICU 63
-     * @see UNumberFormatFields
-     */
-    void getAllFieldPositions(FieldPositionIterator &iterator, UErrorCode &status) const;
-
-    /**
      * Export the first formatted number as a decimal number. This endpoint
      * is useful for obtaining the exact number being printed after scaling
      * and rounding have been applied by the number range formatting pipeline.
index 722e6b7..48a69de 100644 (file)
@@ -239,12 +239,10 @@ public:
         kPermillField = UNUM_PERMILL_FIELD,
         /** @stable ICU 2.0 */
         kSignField = UNUM_SIGN_FIELD,
-#ifndef U_HIDE_DRAFT_API
-        /** @draft ICU 64 */
+        /** @stable ICU 64 */
         kMeasureUnitField = UNUM_MEASURE_UNIT_FIELD,
-        /** @draft ICU 64 */
+        /** @stable ICU 64 */
         kCompactField = UNUM_COMPACT_FIELD,
-#endif  // U_HIDE_DRAFT_API
 
     /**
      * These constants are provided for backwards compatibility only.
index b2b16fa..7def703 100644 (file)
@@ -74,6 +74,12 @@ public:
     NumberingSystem(const NumberingSystem& other);
 
     /**
+     * Copy assignment.
+     * @stable ICU 4.2
+     */
+    NumberingSystem& operator=(const NumberingSystem& other) = default;
+
+    /**
      * Destructor.
      * @stable ICU 4.2
      */
index a155356..408efbc 100644 (file)
@@ -350,7 +350,6 @@ public:
      */
     UnicodeString select(double number) const;
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Given a formatted number, returns the keyword of the first rule
      * that applies to  the number.  This function can be used with
@@ -364,10 +363,9 @@ public:
      * @param status  Set if an error occurs while selecting plural keyword.
      *                This could happen if the FormattedNumber is invalid.
      * @return        The keyword of the selected rule.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     UnicodeString select(const number::FormattedNumber& number, UErrorCode& status) const;
-#endif  /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_INTERNAL_API
     /**
index 6338eb7..7f7d152 100644 (file)
@@ -66,7 +66,7 @@ class  RegexCImpl;
 class  RegexMatcher;
 class  RegexPattern;
 struct REStackFrame;
-class  RuleBasedBreakIterator;
+class  BreakIterator;
 class  UnicodeSet;
 class  UVector;
 class  UVector32;
@@ -612,12 +612,6 @@ private:
     UVector32       *fGroupMap;    // Map from capture group number to position of
                                    //   the group's variables in the matcher stack frame.
 
-    UnicodeSet     **fStaticSets;  // Ptr to static (shared) sets for predefined
-                                   //   regex character classes, e.g. Word.
-
-    Regex8BitSet   *fStaticSets8;  // Ptr to the static (shared) latin-1 only
-                                   //  sets for predefined regex classes.
-
     int32_t         fStartType;    // Info on how a match must start.
     int32_t         fInitialStringIdx;     //
     int32_t         fInitialStringLen;
@@ -1780,7 +1774,9 @@ private:
     void                 MatchAt(int64_t startIdx, UBool toEnd, UErrorCode &status);
     inline void          backTrack(int64_t &inputIdx, int32_t &patIdx);
     UBool                isWordBoundary(int64_t pos);         // perform Perl-like  \b test
-    UBool                isUWordBoundary(int64_t pos);        // perform RBBI based \b test
+    UBool                isUWordBoundary(int64_t pos, UErrorCode &status);   // perform RBBI based \b test
+    // Find a grapheme cluster boundary using a break iterator. For handling \X in regexes.
+    int64_t              followingGCBoundary(int64_t pos, UErrorCode &status);
     REStackFrame        *resetStack();
     inline REStackFrame *StateSave(REStackFrame *fp, int64_t savePatIdx, UErrorCode &status);
     void                 IncrementTime(UErrorCode &status);
@@ -1874,7 +1870,8 @@ private:
     UErrorCode          fDeferredStatus;   // Save error state that cannot be immediately
                                            //   reported, or that permanently disables this matcher.
 
-    RuleBasedBreakIterator  *fWordBreakItr;
+    BreakIterator       *fWordBreakItr;
+    BreakIterator       *fGCBreakItr;
 };
 
 U_NAMESPACE_END
index 044465b..d5533bb 100644 (file)
@@ -264,7 +264,6 @@ class UnicodeString;
 class FormattedRelativeDateTime;
 class FormattedRelativeDateTimeData;
 
-#ifndef U_HIDE_DRAFT_API
 /**
  * An immutable class containing the result of a relative datetime formatting operation.
  *
@@ -272,25 +271,25 @@ class FormattedRelativeDateTimeData;
  *
  * Not intended for public subclassing.
  *
- * @draft ICU 64
+ * @stable ICU 64
  */
 class U_I18N_API FormattedRelativeDateTime : public UMemory, public FormattedValue {
   public:
     /**
      * Default constructor; makes an empty FormattedRelativeDateTime.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     FormattedRelativeDateTime() : fData(nullptr), fErrorCode(U_INVALID_STATE_ERROR) {}
 
     /**
      * Move constructor: Leaves the source FormattedRelativeDateTime in an undefined state.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     FormattedRelativeDateTime(FormattedRelativeDateTime&& src) U_NOEXCEPT;
 
     /**
      * Destruct an instance of FormattedRelativeDateTime.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     virtual ~FormattedRelativeDateTime() U_OVERRIDE;
 
@@ -302,7 +301,7 @@ class U_I18N_API FormattedRelativeDateTime : public UMemory, public FormattedVal
 
     /**
      * Move assignment: Leaves the source FormattedRelativeDateTime in an undefined state.
-     * @draft ICU 64
+     * @stable ICU 64
      */
     FormattedRelativeDateTime& operator=(FormattedRelativeDateTime&& src) U_NOEXCEPT;
 
@@ -327,7 +326,6 @@ class U_I18N_API FormattedRelativeDateTime : public UMemory, public FormattedVal
         : fData(nullptr), fErrorCode(errorCode) {}
     friend class RelativeDateTimeFormatter;
 };
-#endif  /* U_HIDE_DRAFT_API */
 
 /**
  * Formats simple relative dates. There are two types of relative dates that
@@ -492,7 +490,6 @@ public:
             UnicodeString& appendTo,
             UErrorCode& status) const;
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Formats a relative date with a quantity such as "in 5 days" or
      * "3 months ago"
@@ -508,14 +505,13 @@ public:
      * @param unit the unit e.g day? month? year?
      * @param status ICU error code returned here.
      * @return The formatted relative datetime
-     * @draft ICU 64
+     * @stable ICU 64
      */
     FormattedRelativeDateTime formatToValue(
             double quantity,
             UDateDirection direction,
             UDateRelativeUnit unit,
             UErrorCode& status) const;
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Formats a relative date without a quantity.
@@ -539,7 +535,6 @@ public:
             UnicodeString& appendTo,
             UErrorCode& status) const;
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Formats a relative date without a quantity.
      *
@@ -553,13 +548,12 @@ public:
      * @param unit e.g SATURDAY, DAY, MONTH
      * @param status ICU error code returned here.
      * @return The formatted relative datetime
-     * @draft ICU 64
+     * @stable ICU 64
      */
     FormattedRelativeDateTime formatToValue(
             UDateDirection direction,
             UDateAbsoluteUnit unit,
             UErrorCode& status) const;
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Format a combination of URelativeDateTimeUnit and numeric offset
@@ -587,7 +581,6 @@ public:
             UnicodeString& appendTo,
             UErrorCode& status) const;
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Format a combination of URelativeDateTimeUnit and numeric offset
      * using a numeric style, e.g. "1 week ago", "in 1 week",
@@ -604,13 +597,12 @@ public:
      *                  UDAT_REL_UNIT_FRIDAY.
      * @param status    ICU error code returned here.
      * @return          The formatted relative datetime
-     * @draft ICU 64
+     * @stable ICU 64
      */
     FormattedRelativeDateTime formatNumericToValue(
             double offset,
             URelativeDateTimeUnit unit,
             UErrorCode& status) const;
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Format a combination of URelativeDateTimeUnit and numeric offset
@@ -638,7 +630,6 @@ public:
             UnicodeString& appendTo,
             UErrorCode& status) const;
 
-#ifndef U_HIDE_DRAFT_API
     /**
      * Format a combination of URelativeDateTimeUnit and numeric offset
      * using a text style if possible, e.g. "last week", "this week",
@@ -655,13 +646,12 @@ public:
      *                  UDAT_REL_UNIT_FRIDAY.
      * @param status    ICU error code returned here.
      * @return          The formatted relative datetime
-     * @draft ICU 64
+     * @stable ICU 64
      */
     FormattedRelativeDateTime formatToValue(
             double offset,
             URelativeDateTimeUnit unit,
             UErrorCode& status) const;
-#endif  /* U_HIDE_DRAFT_API */
 
     /**
      * Combines a relative date string and a time string in this object's
@@ -724,13 +714,11 @@ private:
             UErrorCode& status,
             Args... args) const;
 
-#ifndef U_HIDE_DRAFT_API  // for FormattedRelativeDateTime
     template<typename F, typename... Args>
     FormattedRelativeDateTime doFormatToValue(
             F callback,
             UErrorCode& status,
             Args... args) const;
-#endif  // U_HIDE_DRAFT_API
 
     void formatImpl(
             double quantity,
old mode 100755 (executable)
new mode 100644 (file)
index 79fa817..b4b0e5f 100644 (file)
@@ -1274,6 +1274,7 @@ private:
                    int32_t count,
                    UDisplayContext capitalizationContext,
                    int32_t fieldNum,
+                   char16_t fieldToOutput,
                    FieldPositionHandler& handler,
                    Calendar& cal,
                    UErrorCode& status) const; // in case of illegal argument
index bdbd080..cf7a165 100644 (file)
@@ -958,7 +958,37 @@ udat_getBooleanAttribute(const UDateFormat* fmt, UDateFormatBooleanAttribute att
 U_CAPI void U_EXPORT2
 udat_setBooleanAttribute(UDateFormat *fmt, UDateFormatBooleanAttribute attr, UBool newValue, UErrorCode* status);
 
+#ifndef U_HIDE_DRAFT_API
+/**
+ * Hour Cycle.
+ * @draft ICU 67
+ */
+typedef enum UDateFormatHourCycle {
+    /**
+     * Hour in am/pm (0~11)
+     * @draft ICU 67
+     */
+    UDAT_HOUR_CYCLE_11,
+
+    /**
+     * Hour in am/pm (1~12)
+     * @draft ICU 67
+     */
+    UDAT_HOUR_CYCLE_12,
+
+    /**
+     * Hour in day (0~23)
+     * @draft ICU 67
+     */
+    UDAT_HOUR_CYCLE_23,
 
+    /**
+     * Hour in day (1~24)
+     * @draft ICU 67
+     */
+    UDAT_HOUR_CYCLE_24
+} UDateFormatHourCycle;
+#endif  /* U_HIDE_DRAFT_API */
 
 #if U_SHOW_CPLUSPLUS_API
 
index b42223a..2f9ec91 100644 (file)
@@ -14,6 +14,7 @@
 
 #if !UCONFIG_NO_FORMATTING
 
+#include "unicode/ucal.h"
 #include "unicode/umisc.h"
 #include "unicode/localpointer.h"
 #include "unicode/uformattedvalue.h"
 struct UDateIntervalFormat;
 typedef struct UDateIntervalFormat UDateIntervalFormat;  /**< C typedef for struct UDateIntervalFormat. @stable ICU 4.8 */
 
-#ifndef U_HIDE_DRAFT_API
 struct UFormattedDateInterval;
 /**
  * Opaque struct to contain the results of a UDateIntervalFormat operation.
- * @draft ICU 64
+ * @stable ICU 64
  */
 typedef struct UFormattedDateInterval UFormattedDateInterval;
-#endif /* U_HIDE_DRAFT_API */
 
 /**
  * Open a new UDateIntervalFormat object using the predefined rules for a
@@ -132,8 +131,6 @@ udtitvfmt_open(const char*  locale,
 U_STABLE void U_EXPORT2
 udtitvfmt_close(UDateIntervalFormat *formatter);
 
-
-#ifndef U_HIDE_DRAFT_API
 /**
  * Creates an object to hold the result of a UDateIntervalFormat
  * operation. The object can be used repeatedly; it is cleared whenever
@@ -141,7 +138,7 @@ udtitvfmt_close(UDateIntervalFormat *formatter);
  *
  * @param ec Set if an error occurs.
  * @return A pointer needing ownership.
- * @draft ICU 64
+ * @stable ICU 64
  */
 U_CAPI UFormattedDateInterval* U_EXPORT2
 udtitvfmt_openResult(UErrorCode* ec);
@@ -166,7 +163,7 @@ udtitvfmt_openResult(UErrorCode* ec);
  * @param uresult The object containing the formatted string.
  * @param ec Set if an error occurs.
  * @return A UFormattedValue owned by the input object.
- * @draft ICU 64
+ * @stable ICU 64
  */
 U_CAPI const UFormattedValue* U_EXPORT2
 udtitvfmt_resultAsValue(const UFormattedDateInterval* uresult, UErrorCode* ec);
@@ -175,11 +172,10 @@ udtitvfmt_resultAsValue(const UFormattedDateInterval* uresult, UErrorCode* ec);
  * Releases the UFormattedDateInterval created by udtitvfmt_openResult().
  *
  * @param uresult The object to release.
- * @draft ICU 64
+ * @stable ICU 64
  */
 U_CAPI void U_EXPORT2
 udtitvfmt_closeResult(UFormattedDateInterval* uresult);
-#endif /* U_HIDE_DRAFT_API */
 
 
 #if U_SHOW_CPLUSPLUS_API
@@ -197,7 +193,6 @@ U_NAMESPACE_BEGIN
  */
 U_DEFINE_LOCAL_OPEN_POINTER(LocalUDateIntervalFormatPointer, UDateIntervalFormat, udtitvfmt_close);
 
-#ifndef U_HIDE_DRAFT_API
 /**
  * \class LocalUFormattedDateIntervalPointer
  * "Smart pointer" class, closes a UFormattedDateInterval via udtitvfmt_close().
@@ -205,10 +200,9 @@ U_DEFINE_LOCAL_OPEN_POINTER(LocalUDateIntervalFormatPointer, UDateIntervalFormat
  *
  * @see LocalPointerBase
  * @see LocalPointer
- * @draft ICU 64
+ * @stable ICU 64
  */
 U_DEFINE_LOCAL_OPEN_POINTER(LocalUFormattedDateIntervalPointer, UFormattedDateInterval, udtitvfmt_closeResult);
-#endif /* U_HIDE_DRAFT_API */
 
 U_NAMESPACE_END
 
@@ -260,23 +254,48 @@ udtitvfmt_format(const UDateIntervalFormat* formatter,
  * UDateIntervalFormat object.
  * @param formatter
  *            The UDateIntervalFormat object specifying the format conventions.
- * @param result
- *            The UFormattedDateInterval to contain the result of the
- *            formatting operation.
  * @param fromDate
  *            The starting point of the range.
  * @param toDate
  *            The ending point of the range.
+ * @param result
+ *            The UFormattedDateInterval to contain the result of the
+ *            formatting operation.
  * @param status
  *            A pointer to a UErrorCode to receive any errors.
- * @draft ICU 64
+ * @draft ICU 67
  */
 U_DRAFT void U_EXPORT2
 udtitvfmt_formatToResult(
                 const UDateIntervalFormat* formatter,
-                UFormattedDateInterval* result,
                 UDate           fromDate,
                 UDate           toDate,
+                UFormattedDateInterval* result,
+                UErrorCode*     status);
+
+/**
+ * Formats a date/time range using the conventions established for the
+ * UDateIntervalFormat object.
+ * @param formatter
+ *            The UDateIntervalFormat object specifying the format conventions.
+ * @param fromCalendar
+ *            The starting point of the range.
+ * @param toCalendar
+ *            The ending point of the range.
+ * @param result
+ *            The UFormattedDateInterval to contain the result of the
+ *            formatting operation.
+ * @param status
+ *            A pointer to a UErrorCode to receive any errors.
+ * @draft ICU 67
+ */
+
+U_DRAFT void U_EXPORT2
+udtitvfmt_formatCalendarToResult(
+                const UDateIntervalFormat* formatter,
+                UCalendar*      fromCalendar,
+                UCalendar*      toCalendar,
+                UFormattedDateInterval* result,
                 UErrorCode*     status);
 #endif /* U_HIDE_DRAFT_API */
 
index 7f28b5a..5abe147 100644 (file)
@@ -20,6 +20,7 @@
 #define __UDATPG_H__
 
 #include "unicode/utypes.h"
+#include "unicode/udat.h"
 #include "unicode/uenum.h"
 #include "unicode/localpointer.h"
 
@@ -651,4 +652,26 @@ udatpg_getPatternForSkeleton(const UDateTimePatternGenerator *dtpg,
                              const UChar *skeleton, int32_t skeletonLength,
                              int32_t *pLength);
 
+#if !UCONFIG_NO_FORMATTING
+
+#ifndef U_HIDE_DRAFT_API
+/**
+ * Return the default hour cycle for a locale. Uses the locale that the
+ * UDateTimePatternGenerator was initially created with.
+ * 
+ * Cannot be used on an empty UDateTimePatternGenerator instance.
+ * 
+ * @param dtpg a pointer to UDateTimePatternGenerator.
+ * @param pErrorCode a pointer to the UErrorCode which must not indicate a
+ *                   failure before the function call. Set to U_UNSUPPORTED_ERROR
+ *                   if used on an empty instance.
+ * @return the default hour cycle.
+ * @draft ICU 67
+ */
+U_DRAFT UDateFormatHourCycle U_EXPORT2
+udatpg_getDefaultHourCycle(const UDateTimePatternGenerator *dtpg, UErrorCode* pErrorCode);
+#endif  /* U_HIDE_DRAFT_API */
+
+#endif /* #if !UCONFIG_NO_FORMATTING */
+
 #endif
index 0b289e3..07f4281 100644 (file)
@@ -10,8 +10,6 @@
 
 #include "unicode/ufieldpositer.h"
 
-#ifndef U_HIDE_DRAFT_API
-
 /**
  * \file
  * \brief C API: Abstract operations for localized strings.
  * categories 2^28 and higher or below zero (with the highest bit turned on)
  * are private-use and will not be used by ICU in the future.
  *
- * @draft ICU 64
+ * @stable ICU 64
  */
 typedef enum UFieldCategory {
     /**
      * For an undefined field category.
      * 
-     * @draft ICU 64
+     * @stable ICU 64
      */
     UFIELD_CATEGORY_UNDEFINED = 0,
 
     /**
      * For fields in UDateFormatField (udat.h), from ICU 3.0.
      *
-     * @draft ICU 64
+     * @stable ICU 64
      */
     UFIELD_CATEGORY_DATE,
 
     /**
      * For fields in UNumberFormatFields (unum.h), from ICU 49.
      *
-     * @draft ICU 64
+     * @stable ICU 64
      */
     UFIELD_CATEGORY_NUMBER,
 
     /**
      * For fields in UListFormatterField (ulistformatter.h), from ICU 63.
      *
-     * @draft ICU 64
+     * @stable ICU 64
      */
     UFIELD_CATEGORY_LIST,
 
     /**
      * For fields in URelativeDateTimeFormatterField (ureldatefmt.h), from ICU 64.
      *
-     * @draft ICU 64
+     * @stable ICU 64
      */
     UFIELD_CATEGORY_RELATIVE_DATETIME,
 
@@ -84,14 +82,14 @@ typedef enum UFieldCategory {
     /**
      * Category for spans in a list.
      *
-     * @draft ICU 64
+     * @stable ICU 64
      */
     UFIELD_CATEGORY_LIST_SPAN = 0x1000 + UFIELD_CATEGORY_LIST,
 
     /**
      * Category for spans in a date interval.
      *
-     * @draft ICU 64
+     * @stable ICU 64
      */
     UFIELD_CATEGORY_DATE_INTERVAL_SPAN = 0x1000 + UFIELD_CATEGORY_DATE_INTERVAL,
 
@@ -108,7 +106,7 @@ struct UConstrainedFieldPosition;
  *   2. It allows you to set constraints to use when iterating over field positions.
  *   3. It is used for the newer FormattedValue APIs.
  *
- * @draft ICU 64
+ * @stable ICU 64
  */
 typedef struct UConstrainedFieldPosition UConstrainedFieldPosition;
 
@@ -120,9 +118,9 @@ typedef struct UConstrainedFieldPosition UConstrainedFieldPosition;
  *
  * @param ec Set if an error occurs.
  * @return The new object, or NULL if an error occurs.
- * @draft ICU 64
+ * @stable ICU 64
  */
-U_DRAFT UConstrainedFieldPosition* U_EXPORT2
+U_STABLE UConstrainedFieldPosition* U_EXPORT2
 ucfpos_open(UErrorCode* ec);
 
 
@@ -133,9 +131,9 @@ ucfpos_open(UErrorCode* ec);
  *
  * @param ucfpos The instance of UConstrainedFieldPosition.
  * @param ec Set if an error occurs.
- * @draft ICU 64
+ * @stable ICU 64
  */
-U_DRAFT void U_EXPORT2
+U_STABLE void U_EXPORT2
 ucfpos_reset(
     UConstrainedFieldPosition* ucfpos,
     UErrorCode* ec);
@@ -145,9 +143,9 @@ ucfpos_reset(
  * Destroys a UConstrainedFieldPosition and releases its memory.
  *
  * @param ucfpos The instance of UConstrainedFieldPosition.
- * @draft ICU 64
+ * @stable ICU 64
  */
-U_DRAFT void U_EXPORT2
+U_STABLE void U_EXPORT2
 ucfpos_close(UConstrainedFieldPosition* ucfpos);
 
 
@@ -174,9 +172,9 @@ ucfpos_close(UConstrainedFieldPosition* ucfpos);
  * @param ucfpos The instance of UConstrainedFieldPosition.
  * @param category The field category to fix when iterating.
  * @param ec Set if an error occurs.
- * @draft ICU 64
+ * @stable ICU 64
  */
-U_DRAFT void U_EXPORT2
+U_STABLE void U_EXPORT2
 ucfpos_constrainCategory(
     UConstrainedFieldPosition* ucfpos,
     int32_t category,
@@ -207,9 +205,9 @@ ucfpos_constrainCategory(
  * @param category The field category to fix when iterating.
  * @param field The field to fix when iterating.
  * @param ec Set if an error occurs.
- * @draft ICU 64
+ * @stable ICU 64
  */
-U_DRAFT void U_EXPORT2
+U_STABLE void U_EXPORT2
 ucfpos_constrainField(
     UConstrainedFieldPosition* ucfpos,
     int32_t category,
@@ -227,9 +225,9 @@ ucfpos_constrainField(
  * @param ucfpos The instance of UConstrainedFieldPosition.
  * @param ec Set if an error occurs.
  * @return The field category saved in the instance.
- * @draft ICU 64
+ * @stable ICU 64
  */
-U_DRAFT int32_t U_EXPORT2
+U_STABLE int32_t U_EXPORT2
 ucfpos_getCategory(
     const UConstrainedFieldPosition* ucfpos,
     UErrorCode* ec);
@@ -245,9 +243,9 @@ ucfpos_getCategory(
  * @param ucfpos The instance of UConstrainedFieldPosition.
  * @param ec Set if an error occurs.
  * @return The field saved in the instance.
- * @draft ICU 64
+ * @stable ICU 64
  */
-U_DRAFT int32_t U_EXPORT2
+U_STABLE int32_t U_EXPORT2
 ucfpos_getField(
     const UConstrainedFieldPosition* ucfpos,
     UErrorCode* ec);
@@ -262,9 +260,9 @@ ucfpos_getField(
  * @param pStart Set to the start index saved in the instance. Ignored if nullptr.
  * @param pLimit Set to the end index saved in the instance. Ignored if nullptr.
  * @param ec Set if an error occurs.
- * @draft ICU 64
+ * @stable ICU 64
  */
-U_DRAFT void U_EXPORT2
+U_STABLE void U_EXPORT2
 ucfpos_getIndexes(
     const UConstrainedFieldPosition* ucfpos,
     int32_t* pStart,
@@ -282,9 +280,9 @@ ucfpos_getIndexes(
  * @param ucfpos The instance of UConstrainedFieldPosition.
  * @param ec Set if an error occurs.
  * @return The current iteration context from ucfpos_setInt64IterationContext.
- * @draft ICU 64
+ * @stable ICU 64
  */
-U_DRAFT int64_t U_EXPORT2
+U_STABLE int64_t U_EXPORT2
 ucfpos_getInt64IterationContext(
     const UConstrainedFieldPosition* ucfpos,
     UErrorCode* ec);
@@ -298,9 +296,9 @@ ucfpos_getInt64IterationContext(
  * @param ucfpos The instance of UConstrainedFieldPosition.
  * @param context The new iteration context.
  * @param ec Set if an error occurs.
- * @draft ICU 64
+ * @stable ICU 64
  */
-U_DRAFT void U_EXPORT2
+U_STABLE void U_EXPORT2
 ucfpos_setInt64IterationContext(
     UConstrainedFieldPosition* ucfpos,
     int64_t context,
@@ -317,9 +315,9 @@ ucfpos_setInt64IterationContext(
  * @param category The category to test.
  * @param field The field to test.
  * @param ec Set if an error occurs.
- * @draft ICU 64
+ * @stable ICU 64
  */
-U_DRAFT UBool U_EXPORT2
+U_STABLE UBool U_EXPORT2
 ucfpos_matchesField(
     const UConstrainedFieldPosition* ucfpos,
     int32_t category,
@@ -341,9 +339,9 @@ ucfpos_matchesField(
  * @param start The new inclusive start index.
  * @param limit The new exclusive end index.
  * @param ec Set if an error occurs.
- * @draft ICU 64
+ * @stable ICU 64
  */
-U_DRAFT void U_EXPORT2
+U_STABLE void U_EXPORT2
 ucfpos_setState(
     UConstrainedFieldPosition* ucfpos,
     int32_t category,
@@ -358,7 +356,7 @@ struct UFormattedValue;
  * An abstract formatted value: a string with associated field attributes.
  * Many formatters format to types compatible with UFormattedValue.
  *
- * @draft ICU 64
+ * @stable ICU 64
  */
 typedef struct UFormattedValue UFormattedValue;
 
@@ -374,9 +372,9 @@ typedef struct UFormattedValue UFormattedValue;
  * @param pLength Output variable for the length of the string. Ignored if NULL.
  * @param ec Set if an error occurs.
  * @return A NUL-terminated char16 string owned by the UFormattedValue.
- * @draft ICU 64
+ * @stable ICU 64
  */
-U_DRAFT const UChar* U_EXPORT2
+U_STABLE const UChar* U_EXPORT2
 ufmtval_getString(
     const UFormattedValue* ufmtval,
     int32_t* pLength,
@@ -404,9 +402,9 @@ ufmtval_getString(
  *         and ucfpos_constrainField.
  * @param ec Set if an error occurs.
  * @return TRUE if another position was found; FALSE otherwise.
- * @draft ICU 64
+ * @stable ICU 64
  */
-U_DRAFT UBool U_EXPORT2
+U_STABLE UBool U_EXPORT2
 ufmtval_nextPosition(
     const UFormattedValue* ufmtval,
     UConstrainedFieldPosition* ucfpos,
@@ -426,7 +424,7 @@ U_NAMESPACE_BEGIN
  *     LocalUConstrainedFieldPositionPointer ucfpos(ucfpos_open(ec));
  *     // no need to explicitly call ucfpos_close()
  *
- * @draft ICU 64
+ * @stable ICU 64
  */
 U_DEFINE_LOCAL_OPEN_POINTER(LocalUConstrainedFieldPositionPointer,
     UConstrainedFieldPosition,
@@ -436,6 +434,5 @@ U_NAMESPACE_END
 #endif // U_SHOW_CPLUSPLUS_API
 
 
-#endif  /* U_HIDE_DRAFT_API */
 #endif /* #if !UCONFIG_NO_FORMATTING */
 #endif // __UFORMATTEDVALUE_H__
index 1a39008..2bdf0f8 100644 (file)
 struct UListFormatter;
 typedef struct UListFormatter UListFormatter;  /**< C typedef for struct UListFormatter. @stable ICU 55 */
 
-#ifndef U_HIDE_DRAFT_API
 struct UFormattedList;
 /**
  * Opaque struct to contain the results of a UListFormatter operation.
- * @draft ICU 64
+ * @stable ICU 64
  */
 typedef struct UFormattedList UFormattedList;
-#endif  /* U_HIDE_DRAFT_API */
 
-#ifndef U_HIDE_DRAFT_API
 /**
  * FieldPosition and UFieldPosition selectors for format fields
  * defined by ListFormatter.
- * @draft ICU 63
+ * @stable ICU 63
  */
 typedef enum UListFormatterField {
     /**
      * The literal text in the result which came from the resources.
-     * @draft ICU 63
+     * @stable ICU 63
      */
     ULISTFMT_LITERAL_FIELD,
     /**
      * The element text in the result which came from the input strings.
-     * @draft ICU 63
+     * @stable ICU 63
      */
     ULISTFMT_ELEMENT_FIELD
 } UListFormatterField;
+
+#ifndef U_HIDE_DRAFT_API
+/**
+ * Type of meaning expressed by the list.
+ *
+ * @draft ICU 67
+ */
+typedef enum UListFormatterType {
+    /**
+     * Conjunction formatting, e.g. "Alice, Bob, Charlie, and Delta".
+     *
+     * @draft ICU 67
+     */
+    ULISTFMT_TYPE_AND,
+
+    /**
+     * Disjunction (or alternative, or simply one of) formatting, e.g.
+     * "Alice, Bob, Charlie, or Delta".
+     *
+     * @draft ICU 67
+     */
+    ULISTFMT_TYPE_OR,
+
+    /**
+     * Formatting of a list of values with units, e.g. "5 pounds, 12 ounces".
+     *
+     * @draft ICU 67
+     */
+    ULISTFMT_TYPE_UNITS
+} UListFormatterType;
+
+/**
+ * Verbosity level of the list patterns.
+ *
+ * @draft ICU 67
+ */
+typedef enum UListFormatterWidth {
+    /**
+     * Use list formatting with full words (no abbreviations) when possible.
+     *
+     * @draft ICU 67
+     */
+    ULISTFMT_WIDTH_WIDE,
+
+    /**
+     * Use list formatting of typical length.
+     * @draft ICU 67
+     */
+    ULISTFMT_WIDTH_SHORT,
+
+    /**
+     * Use list formatting of the shortest possible length.
+     * @draft ICU 67
+     */
+    ULISTFMT_WIDTH_NARROW,
+} UListFormatterWidth;
 #endif /* U_HIDE_DRAFT_API */
 
 /**
  * Open a new UListFormatter object using the rules for a given locale.
+ * The object will be initialized with AND type and WIDE width.
+ *
  * @param locale
  *            The locale whose rules should be used; may be NULL for
  *            default locale.
@@ -83,6 +138,34 @@ U_CAPI UListFormatter* U_EXPORT2
 ulistfmt_open(const char*  locale,
               UErrorCode*  status);
 
+#ifndef U_HIDE_DRAFT_API
+/**
+ * Open a new UListFormatter object appropriate for the given locale, list type,
+ * and style.
+ *
+ * @param locale
+ *            The locale whose rules should be used; may be NULL for
+ *            default locale.
+ * @param type
+ *            The type of list formatting to use.
+ * @param width
+ *            The width of formatting to use.
+ * @param status
+ *            A pointer to a standard ICU UErrorCode (input/output parameter).
+ *            Its input value must pass the U_SUCCESS() test, or else the
+ *            function returns immediately. The caller should check its output
+ *            value with U_FAILURE(), or use with function chaining (see User
+ *            Guide for details).
+ * @return
+ *            A pointer to a UListFormatter object for the specified locale,
+ *            or NULL if an error occurred.
+ * @draft ICU 67
+ */
+U_DRAFT UListFormatter* U_EXPORT2
+ulistfmt_openForType(const char*  locale, UListFormatterType type,
+                     UListFormatterWidth width, UErrorCode*  status);
+#endif /* U_HIDE_DRAFT_API */
+
 /**
  * Close a UListFormatter object. Once closed it may no longer be used.
  * @param listfmt
@@ -92,7 +175,6 @@ ulistfmt_open(const char*  locale,
 U_CAPI void U_EXPORT2
 ulistfmt_close(UListFormatter *listfmt);
 
-#ifndef U_HIDE_DRAFT_API
 /**
  * Creates an object to hold the result of a UListFormatter
  * operation. The object can be used repeatedly; it is cleared whenever
@@ -100,7 +182,7 @@ ulistfmt_close(UListFormatter *listfmt);
  *
  * @param ec Set if an error occurs.
  * @return A pointer needing ownership.
- * @draft ICU 64
+ * @stable ICU 64
  */
 U_CAPI UFormattedList* U_EXPORT2
 ulistfmt_openResult(UErrorCode* ec);
@@ -124,7 +206,7 @@ ulistfmt_openResult(UErrorCode* ec);
  * @param uresult The object containing the formatted string.
  * @param ec Set if an error occurs.
  * @return A UFormattedValue owned by the input object.
- * @draft ICU 64
+ * @stable ICU 64
  */
 U_CAPI const UFormattedValue* U_EXPORT2
 ulistfmt_resultAsValue(const UFormattedList* uresult, UErrorCode* ec);
@@ -133,11 +215,10 @@ ulistfmt_resultAsValue(const UFormattedList* uresult, UErrorCode* ec);
  * Releases the UFormattedList created by ulistfmt_openResult().
  *
  * @param uresult The object to release.
- * @draft ICU 64
+ * @stable ICU 64
  */
 U_CAPI void U_EXPORT2
 ulistfmt_closeResult(UFormattedList* uresult);
-#endif /* U_HIDE_DRAFT_API */
 
 
 #if U_SHOW_CPLUSPLUS_API
@@ -155,7 +236,6 @@ U_NAMESPACE_BEGIN
  */
 U_DEFINE_LOCAL_OPEN_POINTER(LocalUListFormatterPointer, UListFormatter, ulistfmt_close);
 
-#ifndef U_HIDE_DRAFT_API
 /**
  * \class LocalUFormattedListPointer
  * "Smart pointer" class, closes a UFormattedList via ulistfmt_closeResult().
@@ -163,10 +243,9 @@ U_DEFINE_LOCAL_OPEN_POINTER(LocalUListFormatterPointer, UListFormatter, ulistfmt
  *
  * @see LocalPointerBase
  * @see LocalPointer
- * @draft ICU 64
+ * @stable ICU 64
  */
 U_DEFINE_LOCAL_OPEN_POINTER(LocalUFormattedListPointer, UFormattedList, ulistfmt_closeResult);
-#endif /* U_HIDE_DRAFT_API */
 
 U_NAMESPACE_END
 
@@ -215,7 +294,6 @@ ulistfmt_format(const UListFormatter* listfmt,
                 int32_t            resultCapacity,
                 UErrorCode*        status);
 
-#ifndef U_HIDE_DRAFT_API
 /**
  * Formats a list of strings to a UFormattedList, which exposes more
  * information than the string exported by ulistfmt_format().
@@ -240,7 +318,7 @@ ulistfmt_format(const UListFormatter* listfmt,
  *            operation. See ulistfmt_openResult().
  * @param status
  *            Error code set if an error occurred during formatting.
- * @draft ICU 64
+ * @stable ICU 64
  */
 U_CAPI void U_EXPORT2
 ulistfmt_formatStringsToResult(
@@ -250,7 +328,6 @@ ulistfmt_formatStringsToResult(
                 int32_t            stringCount,
                 UFormattedList*    uresult,
                 UErrorCode*        status);
-#endif /* U_HIDE_DRAFT_API */
 
 #endif /* #if !UCONFIG_NO_FORMATTING */
 
index 4304538..9036f95 100644 (file)
@@ -377,12 +377,10 @@ typedef enum UNumberFormatFields {
     UNUM_PERMILL_FIELD,
     /** @stable ICU 49 */
     UNUM_SIGN_FIELD,
-#ifndef U_HIDE_DRAFT_API
-    /** @draft ICU 64 */
+    /** @stable ICU 64 */
     UNUM_MEASURE_UNIT_FIELD,
-    /** @draft ICU 64 */
+    /** @stable ICU 64 */
     UNUM_COMPACT_FIELD,
-#endif  /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_DEPRECATED_API
     /**
@@ -1032,17 +1030,15 @@ typedef enum UNumberFormatAttribute {
    * @stable ICU 51 */
   UNUM_SCALE = 21,
 
-#ifndef U_HIDE_DRAFT_API
   /**
    * Minimum grouping digits; most commonly set to 2 to print "1000" instead of "1,000".
    * See DecimalFormat::getMinimumGroupingDigits().
    *
    * For better control over grouping strategies, use UNumberFormatter.
    *
-   * @draft ICU 64
+   * @stable ICU 64
    */
   UNUM_MINIMUM_GROUPING_DIGITS = 22,
-#endif /* U_HIDE_DRAFT_API */
 
   /** 
    * if this attribute is set to 0, it is set to UNUM_CURRENCY_STANDARD purpose,
@@ -1083,12 +1079,10 @@ typedef enum UNumberFormatAttribute {
    */
   UNUM_PARSE_DECIMAL_MARK_REQUIRED = 0x1002,
 
-#ifndef U_HIDE_DRAFT_API
-
   /**
    * Parsing: if set to 1, parsing is sensitive to case (lowercase/uppercase).
    *
-   * @draft ICU 64
+   * @stable ICU 64
    */
   UNUM_PARSE_CASE_SENSITIVE = 0x1003,
 
@@ -1097,12 +1091,10 @@ typedef enum UNumberFormatAttribute {
    *
    * For better control over sign display, use UNumberFormatter.
    *
-   * @draft ICU 64
+   * @stable ICU 64
    */
   UNUM_SIGN_ALWAYS_SHOWN = 0x1004,
 
-#endif /* U_HIDE_DRAFT_API */
-
 #ifndef U_HIDE_INTERNAL_API
   /** Limit of boolean attributes. (value should
    * not depend on U_HIDE conditionals)
index b27507f..af98ba0 100644 (file)
@@ -336,7 +336,7 @@ typedef enum UNumberSignDisplay {
 
     /**
      * Show the minus sign on negative numbers and the plus sign on positive numbers. Do not show a
-     * sign on zero or NaN, unless the sign bit is set (-0.0 gets a sign).
+     * sign on zero, numbers that round to zero, or NaN.
      *
      * @stable ICU 61
      */
@@ -344,9 +344,8 @@ typedef enum UNumberSignDisplay {
 
     /**
      * Use the locale-dependent accounting format on negative numbers, and show the plus sign on
-     * positive numbers. Do not show a sign on zero or NaN, unless the sign bit is set (-0.0 gets a
-     * sign). For more information on the accounting format, see the ACCOUNTING sign display
-     * strategy.
+     * positive numbers. Do not show a sign on zero, numbers that round to zero, or NaN. For more
+     * information on the accounting format, see the ACCOUNTING sign display strategy.
      *
      * @stable ICU 61
      */
@@ -428,7 +427,7 @@ typedef struct UFormattedNumber UFormattedNumber;
  * NOTE: This is a C-compatible API; C++ users should build against numberformatter.h instead.
  *
  * @param skeleton The skeleton string, like u"percent precision-integer"
- * @param skeletonLen The number of UChars in the skeleton string, or -1 it it is NUL-terminated.
+ * @param skeletonLen The number of UChars in the skeleton string, or -1 if it is NUL-terminated.
  * @param locale The NUL-terminated locale ID.
  * @param ec Set if an error occurs.
  * @stable ICU 62
@@ -438,23 +437,21 @@ unumf_openForSkeletonAndLocale(const UChar* skeleton, int32_t skeletonLen, const
                                UErrorCode* ec);
 
 
-#ifndef U_HIDE_DRAFT_API
 /**
  * Like unumf_openForSkeletonAndLocale, but accepts a UParseError, which will be populated with the
  * location of a skeleton syntax error if such a syntax error exists.
  *
  * @param skeleton The skeleton string, like u"percent precision-integer"
- * @param skeletonLen The number of UChars in the skeleton string, or -1 it it is NUL-terminated.
+ * @param skeletonLen The number of UChars in the skeleton string, or -1 if it is NUL-terminated.
  * @param locale The NUL-terminated locale ID.
  * @param perror A parse error struct populated if an error occurs when parsing. Can be NULL.
  *               If no error occurs, perror->offset will be set to -1.
  * @param ec Set if an error occurs.
- * @draft ICU 64
+ * @stable ICU 64
  */
-U_DRAFT UNumberFormatter* U_EXPORT2
+U_STABLE UNumberFormatter* U_EXPORT2
 unumf_openForSkeletonAndLocaleWithError(
        const UChar* skeleton, int32_t skeletonLen, const char* locale, UParseError* perror, UErrorCode* ec);
-#endif  // U_HIDE_DRAFT_API
 
 
 /**
@@ -532,7 +529,6 @@ U_STABLE void U_EXPORT2
 unumf_formatDecimal(const UNumberFormatter* uformatter, const char* value, int32_t valueLen,
                     UFormattedNumber* uresult, UErrorCode* ec);
 
-#ifndef U_HIDE_DRAFT_API
 /**
  * Returns a representation of a UFormattedNumber as a UFormattedValue,
  * which can be subsequently passed to any API requiring that type.
@@ -545,11 +541,10 @@ unumf_formatDecimal(const UNumberFormatter* uformatter, const char* value, int32
  * @param uresult The object containing the formatted string.
  * @param ec Set if an error occurs.
  * @return A UFormattedValue owned by the input object.
- * @draft ICU 64
+ * @stable ICU 64
  */
-U_DRAFT const UFormattedValue* U_EXPORT2
+U_STABLE const UFormattedValue* U_EXPORT2
 unumf_resultAsValue(const UFormattedNumber* uresult, UErrorCode* ec);
-#endif  /* U_HIDE_DRAFT_API */
 
 
 /**
index fc1b2fb..9c09dfa 100644 (file)
@@ -152,7 +152,6 @@ uplrules_select(const UPluralRules *uplrules,
                UChar *keyword, int32_t capacity,
                UErrorCode *status);
 
-#ifndef U_HIDE_DRAFT_API
 /**
  * Given a formatted number, returns the keyword of the first rule
  * that applies to the number, according to the supplied UPluralRules object.
@@ -168,14 +167,13 @@ uplrules_select(const UPluralRules *uplrules,
  * @param capacity The capacity of the keyword buffer.
  * @param status A pointer to a UErrorCode to receive any errors.
  * @return The length of the keyword.
- * @draft ICU 64
+ * @stable ICU 64
  */
 U_CAPI int32_t U_EXPORT2
 uplrules_selectFormatted(const UPluralRules *uplrules,
                const struct UFormattedNumber* number,
                UChar *keyword, int32_t capacity,
                UErrorCode *status);
-#endif  /* U_HIDE_DRAFT_API */
 
 #ifndef U_HIDE_INTERNAL_API
 /**
index 0724d38..e2e1974 100644 (file)
@@ -175,25 +175,23 @@ typedef enum URelativeDateTimeUnit {
 #endif  /* U_HIDE_DEPRECATED_API */
 } URelativeDateTimeUnit;
 
-#ifndef U_HIDE_DRAFT_API
 /**
  * FieldPosition and UFieldPosition selectors for format fields
  * defined by RelativeDateTimeFormatter.
- * @draft ICU 64
+ * @stable ICU 64
  */
 typedef enum URelativeDateTimeFormatterField {
     /**
      * Represents a literal text string, like "tomorrow" or "days ago".
-     * @draft ICU 64
+     * @stable ICU 64
      */
     UDAT_REL_LITERAL_FIELD,
     /**
      * Represents a number quantity, like "3" in "3 days ago".
-     * @draft ICU 64
+     * @stable ICU 64
      */
     UDAT_REL_NUMERIC_FIELD,
 } URelativeDateTimeFormatterField;
-#endif // U_HIDE_DRAFT_API
 
 
 /**
@@ -252,11 +250,10 @@ ureldatefmt_open( const char*          locale,
 U_STABLE void U_EXPORT2
 ureldatefmt_close(URelativeDateTimeFormatter *reldatefmt);
 
-#ifndef U_HIDE_DRAFT_API
 struct UFormattedRelativeDateTime;
 /**
  * Opaque struct to contain the results of a URelativeDateTimeFormatter operation.
- * @draft ICU 64
+ * @stable ICU 64
  */
 typedef struct UFormattedRelativeDateTime UFormattedRelativeDateTime;
 
@@ -267,9 +264,9 @@ typedef struct UFormattedRelativeDateTime UFormattedRelativeDateTime;
  *
  * @param ec Set if an error occurs.
  * @return A pointer needing ownership.
- * @draft ICU 64
+ * @stable ICU 64
  */
-U_DRAFT UFormattedRelativeDateTime* U_EXPORT2
+U_STABLE UFormattedRelativeDateTime* U_EXPORT2
 ureldatefmt_openResult(UErrorCode* ec);
 
 /**
@@ -284,20 +281,19 @@ ureldatefmt_openResult(UErrorCode* ec);
  * @param ufrdt The object containing the formatted string.
  * @param ec Set if an error occurs.
  * @return A UFormattedValue owned by the input object.
- * @draft ICU 64
+ * @stable ICU 64
  */
-U_DRAFT const UFormattedValue* U_EXPORT2
+U_STABLE const UFormattedValue* U_EXPORT2
 ureldatefmt_resultAsValue(const UFormattedRelativeDateTime* ufrdt, UErrorCode* ec);
 
 /**
  * Releases the UFormattedRelativeDateTime created by ureldatefmt_openResult.
  *
  * @param ufrdt The object to release.
- * @draft ICU 64
+ * @stable ICU 64
  */
-U_DRAFT void U_EXPORT2
+U_STABLE void U_EXPORT2
 ureldatefmt_closeResult(UFormattedRelativeDateTime* ufrdt);
-#endif  /* U_HIDE_DRAFT_API */
 
 
 #if U_SHOW_CPLUSPLUS_API
@@ -315,7 +311,6 @@ U_NAMESPACE_BEGIN
  */
 U_DEFINE_LOCAL_OPEN_POINTER(LocalURelativeDateTimeFormatterPointer, URelativeDateTimeFormatter, ureldatefmt_close);
 
-#ifndef U_HIDE_DRAFT_API
 /**
  * \class LocalUFormattedRelativeDateTimePointer
  * "Smart pointer" class, closes a UFormattedRelativeDateTime via ureldatefmt_closeResult().
@@ -323,10 +318,9 @@ U_DEFINE_LOCAL_OPEN_POINTER(LocalURelativeDateTimeFormatterPointer, URelativeDat
  *
  * @see LocalPointerBase
  * @see LocalPointer
- * @draft ICU 64
+ * @stable ICU 64
  */
 U_DEFINE_LOCAL_OPEN_POINTER(LocalUFormattedRelativeDateTimePointer, UFormattedRelativeDateTime, ureldatefmt_closeResult);
-#endif  /* U_HIDE_DRAFT_API */
 
 U_NAMESPACE_END
 
@@ -368,7 +362,6 @@ ureldatefmt_formatNumeric( const URelativeDateTimeFormatter* reldatefmt,
                     int32_t               resultCapacity,
                     UErrorCode*           status);
 
-#ifndef U_HIDE_DRAFT_API
 /**
  * Format a combination of URelativeDateTimeUnit and numeric
  * offset using a numeric style, e.g. "1 week ago", "in 1 week",
@@ -390,16 +383,15 @@ ureldatefmt_formatNumeric( const URelativeDateTimeFormatter* reldatefmt,
  *          A pointer to a UErrorCode to receive any errors. In
  *          case of error status, the contents of result are
  *          undefined.
- * @draft ICU 64
+ * @stable ICU 64
  */
-U_DRAFT void U_EXPORT2
+U_STABLE void U_EXPORT2
 ureldatefmt_formatNumericToResult(
     const URelativeDateTimeFormatter* reldatefmt,
     double                            offset,
     URelativeDateTimeUnit             unit,
     UFormattedRelativeDateTime*       result,
     UErrorCode*                       status);
-#endif  /* U_HIDE_DRAFT_API */
 
 /**
  * Format a combination of URelativeDateTimeUnit and numeric offset
@@ -437,7 +429,6 @@ ureldatefmt_format( const URelativeDateTimeFormatter* reldatefmt,
                     int32_t               resultCapacity,
                     UErrorCode*           status);
 
-#ifndef U_HIDE_DRAFT_API
 /**
  * Format a combination of URelativeDateTimeUnit and numeric offset
  * using a text style if possible, e.g. "last week", "this week",
@@ -462,16 +453,15 @@ ureldatefmt_format( const URelativeDateTimeFormatter* reldatefmt,
  *          A pointer to a UErrorCode to receive any errors. In
  *          case of error status, the contents of result are
  *          undefined.
- * @draft ICU 64
+ * @stable ICU 64
  */
-U_DRAFT void U_EXPORT2
+U_STABLE void U_EXPORT2
 ureldatefmt_formatToResult(
     const URelativeDateTimeFormatter* reldatefmt,
     double                            offset,
     URelativeDateTimeUnit             unit,
     UFormattedRelativeDateTime*       result,
     UErrorCode*                       status);
-#endif  /* U_HIDE_DRAFT_API */
 
 /**
  * Combines a relative date string and a time string in this object's
index fa8c339..81208ab 100644 (file)
@@ -526,15 +526,15 @@ rruleParseError:
 static TimeZoneRule* createRuleByRRULE(const UnicodeString& zonename, int rawOffset, int dstSavings, UDate start,
                                        UVector* dates, int fromOffset, UErrorCode& status) {
     if (U_FAILURE(status)) {
-        return NULL;
+        return nullptr;
     }
-    if (dates == NULL || dates->size() == 0) {
+    if (dates == nullptr || dates->size() == 0) {
         status = U_ILLEGAL_ARGUMENT_ERROR;
-        return NULL;
+        return nullptr;
     }
 
     int32_t i, j;
-    DateTimeRule *adtr = NULL;
+    DateTimeRule *adtr = nullptr;
 
     // Parse the first rule
     UnicodeString rrule = *((UnicodeString*)dates->elementAt(0));
@@ -545,7 +545,7 @@ static TimeZoneRule* createRuleByRRULE(const UnicodeString& zonename, int rawOff
 
     parseRRULE(rrule, month, dayOfWeek, nthDayOfWeek, days, daysCount, until, status);
     if (U_FAILURE(status)) {
-        return NULL;
+        return nullptr;
     }
 
     if (dates->size() == 1) {
@@ -620,7 +620,7 @@ static TimeZoneRule* createRuleByRRULE(const UnicodeString& zonename, int rawOff
             int32_t tmp_daysCount = UPRV_LENGTHOF(tmp_days);
             parseRRULE(rrule, tmp_month, tmp_dayOfWeek, tmp_nthDayOfWeek, tmp_days, tmp_daysCount, tmp_until, status);
             if (U_FAILURE(status)) {
-                return NULL;
+                return nullptr;
             }
             // If UNTIL is newer than previous one, use the one
             if (tmp_until > until) {
@@ -713,14 +713,14 @@ static TimeZoneRule* createRuleByRRULE(const UnicodeString& zonename, int rawOff
         // first Sunday after 15th day in the month
         adtr = new DateTimeRule(month, dayOfMonth, dayOfWeek, TRUE, startMID, DateTimeRule::WALL_TIME);
     }
-    if (adtr == NULL) {
+    if (adtr == nullptr) {
         goto unsupportedRRule;
     }
     return new AnnualTimeZoneRule(zonename, rawOffset, dstSavings, adtr, startYear, endYear);
 
 unsupportedRRule:
     status = U_INVALID_STATE_ERROR;
-    return NULL;
+    return nullptr;
 }
 
 /*
@@ -729,34 +729,35 @@ unsupportedRRule:
 static TimeZoneRule* createRuleByRDATE(const UnicodeString& zonename, int32_t rawOffset, int32_t dstSavings,
                                        UDate start, UVector* dates, int32_t fromOffset, UErrorCode& status) {
     if (U_FAILURE(status)) {
-        return NULL;
+        return nullptr;
     }
-    TimeArrayTimeZoneRule *retVal = NULL;
-    if (dates == NULL || dates->size() == 0) {
+    TimeArrayTimeZoneRule *retVal = nullptr;
+    if (dates == nullptr || dates->size() == 0) {
         // When no RDATE line is provided, use start (DTSTART)
         // as the transition time
-        retVal = new TimeArrayTimeZoneRule(zonename, rawOffset, dstSavings,
-            &start, 1, DateTimeRule::UTC_TIME);
+        retVal = new TimeArrayTimeZoneRule(zonename, rawOffset, dstSavings, &start, 1, DateTimeRule::UTC_TIME);
     } else {
         // Create an array of transition times
         int32_t size = dates->size();
         UDate* times = (UDate*)uprv_malloc(sizeof(UDate) * size);
-        if (times == NULL) {
+        if (times == nullptr) {
             status = U_MEMORY_ALLOCATION_ERROR;
-            return NULL;
+            return nullptr;
         }
         for (int32_t i = 0; i < size; i++) {
             UnicodeString *datestr = (UnicodeString*)dates->elementAt(i);
             times[i] = parseDateTimeString(*datestr, fromOffset, status);
             if (U_FAILURE(status)) {
                 uprv_free(times);
-                return NULL;
+                return nullptr;
             }
         }
-        retVal = new TimeArrayTimeZoneRule(zonename, rawOffset, dstSavings,
-            times, size, DateTimeRule::UTC_TIME);
+        retVal = new TimeArrayTimeZoneRule(zonename, rawOffset, dstSavings, times, size, DateTimeRule::UTC_TIME);
         uprv_free(times);
     }
+    if (retVal == nullptr) {
+        status = U_MEMORY_ALLOCATION_ERROR;
+    }
     return retVal;
 }
 
@@ -800,12 +801,15 @@ static UBool isEquivalentDateRule(int32_t month, int32_t weekInMonth, int32_t da
 
 /*
  * Convert the rule to its equivalent rule using WALL_TIME mode.
- * This function returns NULL when the specified DateTimeRule is already
+ * This function returns nullptr when the specified DateTimeRule is already
  * using WALL_TIME mode.
  */
-static DateTimeRule* toWallTimeRule(const DateTimeRule* rule, int32_t rawOffset, int32_t dstSavings) {
+static DateTimeRule *toWallTimeRule(const DateTimeRule *rule, int32_t rawOffset, int32_t dstSavings, UErrorCode &status) {
+    if (U_FAILURE(status)) {
+        return nullptr;
+    }
     if (rule->getTimeRuleType() == DateTimeRule::WALL_TIME) {
-        return NULL;
+        return nullptr;
     }
     int32_t wallt = rule->getRuleMillisInDay();
     if (rule->getTimeRuleType() == DateTimeRule::UTC_TIME) {
@@ -864,12 +868,14 @@ static DateTimeRule* toWallTimeRule(const DateTimeRule* rule, int32_t rawOffset,
         }
     }
     // Create a new rule
-    DateTimeRule *modifiedRule;
+    DateTimeRule *modifiedRule = nullptr;
     if (dtype == DateTimeRule::DOM) {
         modifiedRule = new DateTimeRule(month, dom, wallt, DateTimeRule::WALL_TIME);
     } else {
-        modifiedRule = new DateTimeRule(month, dom, dow,
-            (dtype == DateTimeRule::DOW_GEQ_DOM), wallt, DateTimeRule::WALL_TIME);
+        modifiedRule = new DateTimeRule(month, dom, dow, (dtype == DateTimeRule::DOW_GEQ_DOM), wallt, DateTimeRule::WALL_TIME);
+    }
+    if (modifiedRule == nullptr) {
+        status = U_MEMORY_ALLOCATION_ERROR;
     }
     return modifiedRule;
 }
@@ -956,21 +962,24 @@ VTZReader::read(void) {
 UOBJECT_DEFINE_RTTI_IMPLEMENTATION(VTimeZone)
 
 VTimeZone::VTimeZone()
-:   BasicTimeZone(), tz(NULL), vtzlines(NULL),
+:   BasicTimeZone(), tz(nullptr), vtzlines(nullptr),
     lastmod(MAX_MILLIS) {
 }
 
 VTimeZone::VTimeZone(const VTimeZone& source)
-:   BasicTimeZone(source), tz(NULL), vtzlines(NULL),
+:   BasicTimeZone(source), tz(nullptr), vtzlines(nullptr),
     tzurl(source.tzurl), lastmod(source.lastmod),
     olsonzid(source.olsonzid), icutzver(source.icutzver) {
-    if (source.tz != NULL) {
+    if (source.tz != nullptr) {
         tz = source.tz->clone();
     }
-    if (source.vtzlines != NULL) {
+    if (source.vtzlines != nullptr) {
         UErrorCode status = U_ZERO_ERROR;
         int32_t size = source.vtzlines->size();
         vtzlines = new UVector(uprv_deleteUObject, uhash_compareUnicodeString, size, status);
+        if (vtzlines == nullptr) {
+            return;
+        }
         if (U_SUCCESS(status)) {
             for (int32_t i = 0; i < size; i++) {
                 UnicodeString *line = (UnicodeString*)source.vtzlines->elementAt(i);
@@ -980,17 +989,17 @@ VTimeZone::VTimeZone(const VTimeZone& source)
                 }
             }
         }
-        if (U_FAILURE(status) && vtzlines != NULL) {
+        if (U_FAILURE(status) && vtzlines != nullptr) {
             delete vtzlines;
         }
     }
 }
 
 VTimeZone::~VTimeZone() {
-    if (tz != NULL) {
+    if (tz != nullptr) {
         delete tz;
     }
-    if (vtzlines != NULL) {
+    if (vtzlines != nullptr) {
         delete vtzlines;
     }
 }
@@ -1002,21 +1011,21 @@ VTimeZone::operator=(const VTimeZone& right) {
     }
     if (*this != right) {
         BasicTimeZone::operator=(right);
-        if (tz != NULL) {
+        if (tz != nullptr) {
             delete tz;
-            tz = NULL;
+            tz = nullptr;
         }
-        if (right.tz != NULL) {
+        if (right.tz != nullptr) {
             tz = right.tz->clone();
         }
-        if (vtzlines != NULL) {
+        if (vtzlines != nullptr) {
             delete vtzlines;
         }
-        if (right.vtzlines != NULL) {
+        if (right.vtzlines != nullptr) {
             UErrorCode status = U_ZERO_ERROR;
             int32_t size = right.vtzlines->size();
             vtzlines = new UVector(uprv_deleteUObject, uhash_compareUnicodeString, size, status);
-            if (U_SUCCESS(status)) {
+            if (vtzlines != nullptr && U_SUCCESS(status)) {
                 for (int32_t i = 0; i < size; i++) {
                     UnicodeString *line = (UnicodeString*)right.vtzlines->elementAt(i);
                     vtzlines->addElement(line->clone(), status);
@@ -1025,9 +1034,9 @@ VTimeZone::operator=(const VTimeZone& right) {
                     }
                 }
             }
-            if (U_FAILURE(status) && vtzlines != NULL) {
+            if (U_FAILURE(status) && vtzlines != nullptr) {
                 delete vtzlines;
-                vtzlines = NULL;
+                vtzlines = nullptr;
             }
         }
         tzurl = right.tzurl;
@@ -1065,15 +1074,18 @@ VTimeZone::operator!=(const TimeZone& that) const {
 VTimeZone*
 VTimeZone::createVTimeZoneByID(const UnicodeString& ID) {
     VTimeZone *vtz = new VTimeZone();
+    if (vtz == nullptr) {
+        return nullptr;
+    }
     vtz->tz = (BasicTimeZone*)TimeZone::createTimeZone(ID);
     vtz->tz->getID(vtz->olsonzid);
 
     // Set ICU tzdata version
     UErrorCode status = U_ZERO_ERROR;
-    UResourceBundle *bundle = NULL;
-    const UChar* versionStr = NULL;
+    UResourceBundle *bundle = nullptr;
+    const UChar* versionStr = nullptr;
     int32_t len = 0;
-    bundle = ures_openDirect(NULL, "zoneinfo64", &status);
+    bundle = ures_openDirect(nullptr, "zoneinfo64", &status);
     versionStr = ures_getStringByKey(bundle, "TZVersion", &len, &status);
     if (U_SUCCESS(status)) {
         vtz->icutzver.setTo(versionStr, len);
@@ -1085,26 +1097,26 @@ VTimeZone::createVTimeZoneByID(const UnicodeString& ID) {
 VTimeZone*
 VTimeZone::createVTimeZoneFromBasicTimeZone(const BasicTimeZone& basic_time_zone, UErrorCode &status) {
     if (U_FAILURE(status)) {
-        return NULL;
+        return nullptr;
     }
     VTimeZone *vtz = new VTimeZone();
-    if (vtz == NULL) {
+    if (vtz == nullptr) {
         status = U_MEMORY_ALLOCATION_ERROR;
-        return NULL;
+        return nullptr;
     }
     vtz->tz = basic_time_zone.clone();
-    if (vtz->tz == NULL) {
+    if (vtz->tz == nullptr) {
         status = U_MEMORY_ALLOCATION_ERROR;
         delete vtz;
-        return NULL;
+        return nullptr;
     }
     vtz->tz->getID(vtz->olsonzid);
 
     // Set ICU tzdata version
-    UResourceBundle *bundle = NULL;
-    const UChar* versionStr = NULL;
+    UResourceBundle *bundle = nullptr;
+    const UChar* versionStr = nullptr;
     int32_t len = 0;
-    bundle = ures_openDirect(NULL, "zoneinfo64", &status);
+    bundle = ures_openDirect(nullptr, "zoneinfo64", &status);
     versionStr = ures_getStringByKey(bundle, "TZVersion", &len, &status);
     if (U_SUCCESS(status)) {
         vtz->icutzver.setTo(versionStr, len);
@@ -1116,14 +1128,18 @@ VTimeZone::createVTimeZoneFromBasicTimeZone(const BasicTimeZone& basic_time_zone
 VTimeZone*
 VTimeZone::createVTimeZone(const UnicodeString& vtzdata, UErrorCode& status) {
     if (U_FAILURE(status)) {
-        return NULL;
+        return nullptr;
     }
     VTZReader reader(vtzdata);
     VTimeZone *vtz = new VTimeZone();
+    if (vtz == nullptr) {
+        status = U_MEMORY_ALLOCATION_ERROR;
+        return nullptr;
+    }
     vtz->load(reader, status);
     if (U_FAILURE(status)) {
         delete vtz;
-        return NULL;
+        return nullptr;
     }
     return vtz;
 }
@@ -1251,6 +1267,9 @@ VTimeZone::getTimeZoneRules(const InitialTimeZoneRule*& initial,
 void
 VTimeZone::load(VTZReader& reader, UErrorCode& status) {
     vtzlines = new UVector(uprv_deleteUObject, uhash_compareUnicodeString, DEFAULT_VTIMEZONE_LINES, status);
+    if (vtzlines == nullptr) {
+        status = U_MEMORY_ALLOCATION_ERROR;
+    }
     if (U_FAILURE(status)) {
         return;
     }
@@ -1264,10 +1283,15 @@ VTimeZone::load(VTZReader& reader, UErrorCode& status) {
         if (ch == 0xFFFF) {
             // end of file
             if (start && line.startsWith(ICAL_END_VTIMEZONE, -1)) {
-                vtzlines->addElement(new UnicodeString(line), status);
+                LocalPointer<UnicodeString> element(new UnicodeString(line), status);
+                if (U_FAILURE(status)) {
+                    goto cleanupVtzlines;
+                }
+                vtzlines->addElement(element.getAlias(), status);
                 if (U_FAILURE(status)) {
                     goto cleanupVtzlines;
                 }
+                element.orphan(); // on success, vtzlines owns the object.
                 success = TRUE;
             }
             break;
@@ -1281,10 +1305,15 @@ VTimeZone::load(VTZReader& reader, UErrorCode& status) {
                 // NOT followed by TAB/SP -> new line
                 if (start) {
                     if (line.length() > 0) {
-                        vtzlines->addElement(new UnicodeString(line), status);
+                        LocalPointer<UnicodeString> element(new UnicodeString(line), status);
                         if (U_FAILURE(status)) {
                             goto cleanupVtzlines;
                         }
+                        vtzlines->addElement(element.getAlias(), status);
+                        if (U_FAILURE(status)) {
+                            goto cleanupVtzlines;
+                        }
+                        element.orphan(); // on success, vtzlines owns the object.
                     }
                 }
                 line.remove();
@@ -1299,19 +1328,29 @@ VTimeZone::load(VTZReader& reader, UErrorCode& status) {
                 eol = TRUE;
                 if (start) {
                     if (line.startsWith(ICAL_END_VTIMEZONE, -1)) {
-                        vtzlines->addElement(new UnicodeString(line), status);
+                        LocalPointer<UnicodeString> element(new UnicodeString(line), status);
                         if (U_FAILURE(status)) {
                             goto cleanupVtzlines;
                         }
+                        vtzlines->addElement(element.getAlias(), status);
+                        if (U_FAILURE(status)) {
+                            goto cleanupVtzlines;
+                        }
+                        element.orphan(); // on success, vtzlines owns the object.
                         success = TRUE;
                         break;
                     }
                 } else {
                     if (line.startsWith(ICAL_BEGIN_VTIMEZONE, -1)) {
-                        vtzlines->addElement(new UnicodeString(line), status);
+                        LocalPointer<UnicodeString> element(new UnicodeString(line), status);
+                        if (U_FAILURE(status)) {
+                            goto cleanupVtzlines;
+                        }
+                        vtzlines->addElement(element.getAlias(), status);
                         if (U_FAILURE(status)) {
                             goto cleanupVtzlines;
                         }
+                        element.orphan(); // on success, vtzlines owns the object.
                         line.remove();
                         start = TRUE;
                         eol = FALSE;
@@ -1333,7 +1372,7 @@ VTimeZone::load(VTZReader& reader, UErrorCode& status) {
 
 cleanupVtzlines:
     delete vtzlines;
-    vtzlines = NULL;
+    vtzlines = nullptr;
 }
 
 // parser state
@@ -1349,12 +1388,12 @@ VTimeZone::parse(UErrorCode& status) {
     if (U_FAILURE(status)) {
         return;
     }
-    if (vtzlines == NULL || vtzlines->size() == 0) {
+    if (vtzlines == nullptr || vtzlines->size() == 0) {
         status = U_INVALID_STATE_ERROR;
         return;
     }
-    InitialTimeZoneRule *initialRule = NULL;
-    RuleBasedTimeZone *rbtz = NULL;
+    InitialTimeZoneRule *initialRule = nullptr;
+    RuleBasedTimeZone *rbtz = nullptr;
 
     // timezone ID
     UnicodeString tzid;
@@ -1373,13 +1412,16 @@ VTimeZone::parse(UErrorCode& status) {
     UnicodeString name;     // RFC2445 prop name
     UnicodeString value;    // RFC2445 prop value
 
-    UVector *dates = NULL;  // list of RDATE or RRULE strings
-    UVector *rules = NULL;  // list of TimeZoneRule instances
+    UVector *dates = nullptr;  // list of RDATE or RRULE strings
+    UVector *rules = nullptr;  // list of TimeZoneRule instances
 
     int32_t finalRuleIdx = -1;
     int32_t finalRuleCount = 0;
 
     rules = new UVector(status);
+    if (rules == nullptr) {
+        status = U_MEMORY_ALLOCATION_ERROR;
+    }
     if (U_FAILURE(status)) {
         goto cleanupParse;
     }
@@ -1387,14 +1429,13 @@ VTimeZone::parse(UErrorCode& status) {
     rules->setDeleter(deleteTimeZoneRule);
     
     dates = new UVector(uprv_deleteUObject, uhash_compareUnicodeString, status);
-    if (U_FAILURE(status)) {
-        goto cleanupParse;
-    }
-    if (rules == NULL || dates == NULL) {
+    if (dates == nullptr) {
         status = U_MEMORY_ALLOCATION_ERROR;
+    }
+    if (U_FAILURE(status)) {
         goto cleanupParse;
     }
-
+    
     for (n = 0; n < vtzlines->size(); n++) {
         UnicodeString *line = (UnicodeString*)vtzlines->elementAt(n);
         int32_t valueSep = line->indexOf(COLON);
@@ -1468,7 +1509,7 @@ VTimeZone::parse(UErrorCode& status) {
                 // by comma
                 UBool nextDate = TRUE;
                 int32_t dstart = 0;
-                UnicodeString *dstr;
+                UnicodeString *dstr = nullptr;
                 while (nextDate) {
                     int32_t dend = value.indexOf(COMMA, dstart);
                     if (dend == -1) {
@@ -1477,7 +1518,11 @@ VTimeZone::parse(UErrorCode& status) {
                     } else {
                         dstr = new UnicodeString(value, dstart, dend - dstart);
                     }
-                    dates->addElement(dstr, status);
+                    if (dstr == nullptr) {
+                        status = U_MEMORY_ALLOCATION_ERROR;
+                    } else {
+                        dates->addElement(dstr, status);
+                    }
                     if (U_FAILURE(status)) {
                         goto cleanupParse;
                     }
@@ -1489,10 +1534,15 @@ VTimeZone::parse(UErrorCode& status) {
                     goto cleanupParse;
                 }
                 isRRULE = true;
-                dates->addElement(new UnicodeString(value), status);
+                LocalPointer<UnicodeString> element(new UnicodeString(value), status);
+                if (U_FAILURE(status)) {
+                    goto cleanupParse;
+                }
+                dates->addElement(element.getAlias(), status);
                 if (U_FAILURE(status)) {
                     goto cleanupParse;
                 }
+                element.orphan(); // on success, dates owns the object.
             } else if (name.compare(ICAL_END, -1) == 0) {
                 // Mandatory properties
                 if (dtstart.length() == 0 || from.length() == 0 || to.length() == 0) {
@@ -1504,7 +1554,7 @@ VTimeZone::parse(UErrorCode& status) {
                 }
 
                 // create a time zone rule
-                TimeZoneRule *rule = NULL;
+                TimeZoneRule *rule = nullptr;
                 int32_t fromOffset = 0;
                 int32_t toOffset = 0;
                 int32_t rawOffset = 0;
@@ -1546,7 +1596,7 @@ VTimeZone::parse(UErrorCode& status) {
                 } else {
                     rule = createRuleByRDATE(zonename, rawOffset, dstSavings, start, dates, fromOffset, status);
                 }
-                if (U_FAILURE(status) || rule == NULL) {
+                if (U_FAILURE(status) || rule == nullptr) {
                     goto cleanupParse;
                 } else {
                     UBool startAvail = rule->getFirstStart(fromOffset, 0, actualStart);
@@ -1586,25 +1636,24 @@ VTimeZone::parse(UErrorCode& status) {
 
     // Create a initial rule
     getDefaultTZName(tzid, FALSE, zonename);
-    initialRule = new InitialTimeZoneRule(zonename,
-        initialRawOffset, initialDSTSavings);
-    if (initialRule == NULL) {
+    initialRule = new InitialTimeZoneRule(zonename, initialRawOffset, initialDSTSavings);
+    if (initialRule == nullptr) {
         status = U_MEMORY_ALLOCATION_ERROR;
         goto cleanupParse;
     }
 
     // Finally, create the RuleBasedTimeZone
     rbtz = new RuleBasedTimeZone(tzid, initialRule);
-    if (rbtz == NULL) {
+    if (rbtz == nullptr) {
         status = U_MEMORY_ALLOCATION_ERROR;
         goto cleanupParse;
     }
-    initialRule = NULL; // already adopted by RBTZ, no need to delete
+    initialRule = nullptr; // already adopted by RBTZ, no need to delete
 
     for (n = 0; n < rules->size(); n++) {
         TimeZoneRule *r = (TimeZoneRule*)rules->elementAt(n);
         AnnualTimeZoneRule *atzrule = dynamic_cast<AnnualTimeZoneRule *>(r);
-        if (atzrule != NULL) {
+        if (atzrule != nullptr) {
             if (atzrule->getEndYear() == AnnualTimeZoneRule::MAX_YEAR) {
                 finalRuleCount++;
                 finalRuleIdx = n;
@@ -1649,7 +1698,7 @@ VTimeZone::parse(UErrorCode& status) {
                 }
             }
 
-            TimeZoneRule *newRule;
+            TimeZoneRule *newRule = nullptr;
             UnicodeString tznam;
             if (start == finalStart) {
                 // Transform this into a single transition
@@ -1672,7 +1721,7 @@ VTimeZone::parse(UErrorCode& status) {
                         finalRule->getStartYear(),
                         y);
             }
-            if (newRule == NULL) {
+            if (newRule == nullptr) {
                 status = U_MEMORY_ALLOCATION_ERROR;
                 goto cleanupParse;
             }
@@ -1704,20 +1753,20 @@ VTimeZone::parse(UErrorCode& status) {
     return;
 
 cleanupParse:
-    if (rules != NULL) {
+    if (rules != nullptr) {
         while (!rules->isEmpty()) {
             TimeZoneRule *r = (TimeZoneRule*)rules->orphanElementAt(0);
             delete r;
         }
         delete rules;
     }
-    if (dates != NULL) {
+    if (dates != nullptr) {
         delete dates;
     }
-    if (initialRule != NULL) {
+    if (initialRule != nullptr) {
         delete initialRule;
     }
-    if (rbtz != NULL) {
+    if (rbtz != nullptr) {
         delete rbtz;
     }
     return;
@@ -1725,7 +1774,7 @@ cleanupParse:
 
 void
 VTimeZone::write(VTZWriter& writer, UErrorCode& status) const {
-    if (vtzlines != NULL) {
+    if (vtzlines != nullptr) {
         for (int32_t i = 0; i < vtzlines->size(); i++) {
             UnicodeString *line = (UnicodeString*)vtzlines->elementAt(i);
             if (line->startsWith(ICAL_TZURL, -1)
@@ -1765,8 +1814,8 @@ VTimeZone::write(UDate start, VTZWriter& writer, UErrorCode& status) const {
     if (U_FAILURE(status)) {
         return;
     }
-    InitialTimeZoneRule *initial = NULL;
-    UVector *transitionRules = NULL;
+    InitialTimeZoneRule *initial = nullptr;
+    UVector *transitionRules = nullptr;
     UVector customProps(uprv_deleteUObject, uhash_compareUnicodeString, status);
     UnicodeString tzid;
 
@@ -1779,7 +1828,7 @@ VTimeZone::write(UDate start, VTZWriter& writer, UErrorCode& status) const {
     // Create a RuleBasedTimeZone with the subset rule
     getID(tzid);
     RuleBasedTimeZone rbtz(tzid, initial);
-    if (transitionRules != NULL) {
+    if (transitionRules != nullptr) {
         while (!transitionRules->isEmpty()) {
             TimeZoneRule *tr = (TimeZoneRule*)transitionRules->orphanElementAt(0);
             rbtz.addTransitionRule(tr, status);
@@ -1788,7 +1837,7 @@ VTimeZone::write(UDate start, VTZWriter& writer, UErrorCode& status) const {
             }
         }
         delete transitionRules;
-        transitionRules = NULL;
+        transitionRules = nullptr;
     }
     rbtz.complete(status);
     if (U_FAILURE(status)) {
@@ -1797,6 +1846,10 @@ VTimeZone::write(UDate start, VTZWriter& writer, UErrorCode& status) const {
 
     if (olsonzid.length() > 0 && icutzver.length() > 0) {
         UnicodeString *icutzprop = new UnicodeString(ICU_TZINFO_PROP);
+        if (icutzprop == nullptr) {
+            status = U_MEMORY_ALLOCATION_ERROR;
+            goto cleanupWritePartial;
+        }
         icutzprop->append(olsonzid);
         icutzprop->append((UChar)0x005B/*'['*/);
         icutzprop->append(icutzver);
@@ -1813,10 +1866,10 @@ VTimeZone::write(UDate start, VTZWriter& writer, UErrorCode& status) const {
     return;
 
 cleanupWritePartial:
-    if (initial != NULL) {
+    if (initial != nullptr) {
         delete initial;
     }
-    if (transitionRules != NULL) {
+    if (transitionRules != nullptr) {
         while (!transitionRules->isEmpty()) {
             TimeZoneRule *tr = (TimeZoneRule*)transitionRules->orphanElementAt(0);
             delete tr;
@@ -1835,14 +1888,14 @@ VTimeZone::writeSimple(UDate time, VTZWriter& writer, UErrorCode& status) const
     UnicodeString tzid;
 
     // Extract simple rules
-    InitialTimeZoneRule *initial = NULL;
-    AnnualTimeZoneRule *std = NULL, *dst = NULL;
+    InitialTimeZoneRule *initial = nullptr;
+    AnnualTimeZoneRule *std = nullptr, *dst = nullptr;
     getSimpleRulesNear(time, initial, std, dst, status);
     if (U_SUCCESS(status)) {
         // Create a RuleBasedTimeZone with the subset rule
         getID(tzid);
         RuleBasedTimeZone rbtz(tzid, initial);
-        if (std != NULL && dst != NULL) {
+        if (std != nullptr && dst != nullptr) {
             rbtz.addTransitionRule(std, status);
             rbtz.addTransitionRule(dst, status);
         }
@@ -1852,6 +1905,10 @@ VTimeZone::writeSimple(UDate time, VTZWriter& writer, UErrorCode& status) const
 
         if (olsonzid.length() > 0 && icutzver.length() > 0) {
             UnicodeString *icutzprop = new UnicodeString(ICU_TZINFO_PROP);
+            if (icutzprop == nullptr) {
+               status = U_MEMORY_ALLOCATION_ERROR;
+               goto cleanupWriteSimple;
+            }
             icutzprop->append(olsonzid);
             icutzprop->append((UChar)0x005B/*'['*/);
             icutzprop->append(icutzver);
@@ -1869,13 +1926,13 @@ VTimeZone::writeSimple(UDate time, VTZWriter& writer, UErrorCode& status) const
     return;
 
 cleanupWriteSimple:
-    if (initial != NULL) {
+    if (initial != nullptr) {
         delete initial;
     }
-    if (std != NULL) {
+    if (std != nullptr) {
         delete std;
     }
-    if (dst != NULL) {
+    if (dst != nullptr) {
         delete dst;
     }
 }
@@ -1891,7 +1948,7 @@ VTimeZone::writeZone(VTZWriter& w, BasicTimeZone& basictz,
         return;
     }
 
-    if (customProps != NULL) {
+    if (customProps != nullptr) {
         for (int32_t i = 0; i < customProps->size(); i++) {
             UnicodeString *custprop = (UnicodeString*)customProps->elementAt(i);
             w.write(*custprop);
@@ -1912,7 +1969,7 @@ VTimeZone::writeZone(VTZWriter& w, BasicTimeZone& basictz,
     UDate dstStartTime = 0.0;
     UDate dstUntilTime = 0.0;
     int32_t dstCount = 0;
-    AnnualTimeZoneRule *finalDstRule = NULL;
+    AnnualTimeZoneRule *finalDstRule = nullptr;
 
     UnicodeString stdName;
     int32_t stdFromOffset = 0;
@@ -1926,7 +1983,7 @@ VTimeZone::writeZone(VTZWriter& w, BasicTimeZone& basictz,
     UDate stdStartTime = 0.0;
     UDate stdUntilTime = 0.0;
     int32_t stdCount = 0;
-    AnnualTimeZoneRule *finalStdRule = NULL;
+    AnnualTimeZoneRule *finalStdRule = nullptr;
 
     int32_t year, month, dom, dow, doy, mid;
     UBool hasTransitions = FALSE;
@@ -1953,8 +2010,8 @@ VTimeZone::writeZone(VTZWriter& w, BasicTimeZone& basictz,
         UBool sameRule = FALSE;
         const AnnualTimeZoneRule *atzrule;
         if (isDst) {
-            if (finalDstRule == NULL
-                && (atzrule = dynamic_cast<const AnnualTimeZoneRule *>(tzt.getTo())) != NULL
+            if (finalDstRule == nullptr
+                && (atzrule = dynamic_cast<const AnnualTimeZoneRule *>(tzt.getTo())) != nullptr
                 && atzrule->getEndYear() == AnnualTimeZoneRule::MAX_YEAR
             ) {
                 finalDstRule = atzrule->clone();
@@ -2000,12 +2057,12 @@ VTimeZone::writeZone(VTZWriter& w, BasicTimeZone& basictz,
                 dstStartTime = dstUntilTime = t;
                 dstCount = 1;
             }
-            if (finalStdRule != NULL && finalDstRule != NULL) {
+            if (finalStdRule != nullptr && finalDstRule != nullptr) {
                 break;
             }
         } else {
-            if (finalStdRule == NULL
-                && (atzrule = dynamic_cast<const AnnualTimeZoneRule *>(tzt.getTo())) != NULL
+            if (finalStdRule == nullptr
+                && (atzrule = dynamic_cast<const AnnualTimeZoneRule *>(tzt.getTo())) != nullptr
                 && atzrule->getEndYear() == AnnualTimeZoneRule::MAX_YEAR
             ) {
                 finalStdRule = atzrule->clone();
@@ -2051,7 +2108,7 @@ VTimeZone::writeZone(VTZWriter& w, BasicTimeZone& basictz,
                 stdStartTime = stdUntilTime = t;
                 stdCount = 1;
             }
-            if (finalStdRule != NULL && finalDstRule != NULL) {
+            if (finalStdRule != nullptr && finalDstRule != nullptr) {
                 break;
             }
         }
@@ -2075,7 +2132,7 @@ VTimeZone::writeZone(VTZWriter& w, BasicTimeZone& basictz,
         }
     } else {
         if (dstCount > 0) {
-            if (finalDstRule == NULL) {
+            if (finalDstRule == nullptr) {
                 if (dstCount == 1) {
                     writeZonePropsByTime(w, TRUE, dstName, dstFromOffset, dstToOffset, dstStartTime,
                             TRUE, status);
@@ -2117,7 +2174,7 @@ VTimeZone::writeZone(VTZWriter& w, BasicTimeZone& basictz,
             }
         }
         if (stdCount > 0) {
-            if (finalStdRule == NULL) {
+            if (finalStdRule == nullptr) {
                 if (stdCount == 1) {
                     writeZonePropsByTime(w, FALSE, stdName, stdFromOffset, stdToOffset, stdStartTime,
                             TRUE, status);
@@ -2163,10 +2220,10 @@ VTimeZone::writeZone(VTZWriter& w, BasicTimeZone& basictz,
 
 cleanupWriteZone:
 
-    if (finalStdRule != NULL) {
+    if (finalStdRule != nullptr) {
         delete finalStdRule;
     }
-    if (finalDstRule != NULL) {
+    if (finalDstRule != nullptr) {
         delete finalDstRule;
     }
 }
@@ -2479,8 +2536,11 @@ VTimeZone::writeFinalRule(VTZWriter& writer, UBool isDst, const AnnualTimeZoneRu
         return;
     }
     UBool modifiedRule = TRUE;
-    const DateTimeRule *dtrule = toWallTimeRule(rule->getRule(), fromRawOffset, fromDSTSavings);
-    if (dtrule == NULL) {
+    const DateTimeRule *dtrule = toWallTimeRule(rule->getRule(), fromRawOffset, fromDSTSavings, status);
+    if (U_FAILURE(status)) {
+        return;
+    }
+    if (dtrule == nullptr) {
         modifiedRule = FALSE;
         dtrule = rule->getRule();
     }
index 59d8205..24bd97a 100644 (file)
@@ -240,6 +240,10 @@ LIBDIR=$(top_builddir)/lib
 # Location of the executables before "make install" is used
 BINDIR=$(top_builddir)/bin
 
+# Defined here so that it can be overriden by mh-mingw*.
+# For MinGW/MSYS2 we want the DLLs to go into the bin location.
+MINGW_MOVEDLLSTOBINDIR = NO
+
 # overridden by icucross.mk
 TOOLBINDIR=$(BINDIR)
 TOOLLIBDIR=$(LIBDIR)
index 45dbe87..ef2c2a6 100644 (file)
@@ -101,6 +101,11 @@ ifneq ($(ENABLE_STATIC),)
        $(INSTALL-L) $(TARGET) $(DESTDIR)$(libdir)
 endif
 ifneq ($(ENABLE_SHARED),)
+# For MinGW, do we want the DLL to go in the bin location?
+ifeq ($(MINGW_MOVEDLLSTOBINDIR),YES)
+       $(MKINSTALLDIRS) $(DESTDIR)$(bindir)
+       $(INSTALL-L) $(FINAL_SO_TARGET) $(DESTDIR)$(bindir)
+else
        $(INSTALL-L) $(FINAL_SO_TARGET) $(DESTDIR)$(libdir)
 ifneq ($(FINAL_SO_TARGET),$(SO_TARGET))
        cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(SO_TARGET))
@@ -108,6 +113,7 @@ ifneq ($(FINAL_SO_TARGET),$(MIDDLE_SO_TARGET))
        cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(MIDDLE_SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(MIDDLE_SO_TARGET))
 endif
 endif
+endif
 ifneq ($(IMPORT_LIB_EXT),)
        $(INSTALL-L) $(FINAL_IMPORT_LIB) $(DESTDIR)$(libdir)
 ifneq ($(IMPORT_LIB),$(FINAL_IMPORT_LIB))
index fa45bb4..24edd67 100644 (file)
@@ -76,7 +76,7 @@
     </ClCompile>
     <Link>
       <GenerateDebugInformation>true</GenerateDebugInformation>
-      <OutputFile>..\..\$(IcuBinOutputDir)\icuio66d.dll</OutputFile>
+      <OutputFile>..\..\$(IcuBinOutputDir)\icuio67d.dll</OutputFile>
       <ProgramDatabaseFile>..\..\$(IcuLibOutputDir)\icuiod.pdb</ProgramDatabaseFile>
       <ImportLibrary>..\..\$(IcuLibOutputDir)\icuiod.lib</ImportLibrary>
       <AdditionalDependencies>icuucd.lib;icuind.lib;%(AdditionalDependencies)</AdditionalDependencies>
@@ -89,7 +89,7 @@
       <FunctionLevelLinking>true</FunctionLevelLinking>
     </ClCompile>
     <Link>
-      <OutputFile>..\..\$(IcuBinOutputDir)\icuio66.dll</OutputFile>
+      <OutputFile>..\..\$(IcuBinOutputDir)\icuio67.dll</OutputFile>
       <ProgramDatabaseFile>..\..\$(IcuLibOutputDir)\icuio.pdb</ProgramDatabaseFile>
       <ImportLibrary>..\..\$(IcuLibOutputDir)\icuio.lib</ImportLibrary>
       <AdditionalDependencies>icuuc.lib;icuin.lib;%(AdditionalDependencies)</AdditionalDependencies>
index b9cabac..d456ef4 100644 (file)
@@ -114,6 +114,11 @@ ifneq ($(ENABLE_STATIC),)
        $(INSTALL-L) $(TARGET) $(DESTDIR)$(libdir)
 endif
 ifneq ($(ENABLE_SHARED),)
+# For MinGW, do we want the DLL to go in the bin location?
+ifeq ($(MINGW_MOVEDLLSTOBINDIR),YES)
+       $(MKINSTALLDIRS) $(DESTDIR)$(bindir)
+       $(INSTALL-L) $(FINAL_SO_TARGET) $(DESTDIR)$(bindir)
+else
        $(INSTALL-L) $(FINAL_SO_TARGET) $(DESTDIR)$(libdir)
 ifneq ($(FINAL_SO_TARGET),$(SO_TARGET))
        cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(SO_TARGET))
@@ -121,6 +126,7 @@ ifneq ($(FINAL_SO_TARGET),$(MIDDLE_SO_TARGET))
        cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(MIDDLE_SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(MIDDLE_SO_TARGET))
 endif
 endif
+endif
 ifneq ($(IMPORT_LIB_EXT),)
        $(INSTALL-L) $(FINAL_IMPORT_LIB) $(DESTDIR)$(libdir)
 ifneq ($(IMPORT_LIB),$(FINAL_IMPORT_LIB))
index eba32b0..e3ba855 100644 (file)
@@ -70,7 +70,7 @@
       <CompileAs>Default</CompileAs>
     </ClCompile>
     <Link>
-      <OutputFile>..\..\bin\iculx66.dll</OutputFile>
+      <OutputFile>..\..\bin\iculx67.dll</OutputFile>
       <AdditionalDependencies>icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <AdditionalLibraryDirectories>.\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\..\..\lib\iculx.pdb</ProgramDatabaseFile>
@@ -95,7 +95,7 @@
       <CompileAs>Default</CompileAs>
     </ClCompile>
     <Link>
-      <OutputFile>..\..\bin\iculx66d.dll</OutputFile>
+      <OutputFile>..\..\bin\iculx67d.dll</OutputFile>
       <AdditionalDependencies>icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <AdditionalLibraryDirectories>.\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <CompileAs>Default</CompileAs>
     </ClCompile>
     <Link>
-      <OutputFile>..\..\bin64\iculx66.dll</OutputFile>
+      <OutputFile>..\..\bin64\iculx67.dll</OutputFile>
       <AdditionalDependencies>icuuc.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <AdditionalLibraryDirectories>.\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <ProgramDatabaseFile>.\..\..\lib64\iculx.pdb</ProgramDatabaseFile>
       <CompileAs>Default</CompileAs>
     </ClCompile>
     <Link>
-      <OutputFile>..\..\bin64\iculx66d.dll</OutputFile>
+      <OutputFile>..\..\bin64\iculx67d.dll</OutputFile>
       <AdditionalDependencies>icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <AdditionalLibraryDirectories>.\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
index acdba0e..554013a 100644 (file)
@@ -217,7 +217,7 @@ class LocaleFilter(Filter):
             return "root"
         i = locale.rfind("_")
         if i < 0:
-            assert locale == "root"
+            assert locale == "root", "Invalid locale: %s/%s" % (tree, locale)
             return None
         return locale[:i]
 
index c1c203a..7bf5bab 100644 (file)
@@ -193,7 +193,7 @@ int main(int argc, char **argv)
         exit(-1);
     }
 
-    i = (int)time(NULL) % numFortunes;    /*  Use time to pick a somewhat-random fortune.  */
+    i = time(NULL) % numFortunes;    /*  Use time to pick a somewhat-random fortune.  */
     resString = ures_getStringByIndex(fortunes_r, i, &len, &err);
     if (U_FAILURE(err)) {
         fprintf(stderr, "%s: ures_getStringByIndex(%d) failed, %s\n", programName, i, u_errorName(err));
index 4e2f03f..162c63a 100644 (file)
@@ -87,6 +87,11 @@ ifneq ($(ENABLE_STATIC),)
        $(INSTALL-L) $(TARGET) $(DESTDIR)$(libdir)
 endif
 ifneq ($(ENABLE_SHARED),)
+# For MinGW, do we want the DLL to go in the bin location?
+ifeq ($(MINGW_MOVEDLLSTOBINDIR),YES)
+       $(MKINSTALLDIRS) $(DESTDIR)$(bindir)
+       $(INSTALL-L) $(FINAL_SO_TARGET) $(DESTDIR)$(bindir)
+else
        $(INSTALL-L) $(FINAL_SO_TARGET) $(DESTDIR)$(libdir)
 ifneq ($(FINAL_SO_TARGET),$(SO_TARGET))
        cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(SO_TARGET))
@@ -94,6 +99,7 @@ ifneq ($(FINAL_SO_TARGET),$(MIDDLE_SO_TARGET))
        cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(MIDDLE_SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(MIDDLE_SO_TARGET))
 endif
 endif
+endif
 ifneq ($(IMPORT_LIB_EXT),)
        $(INSTALL-L) $(FINAL_IMPORT_LIB) $(DESTDIR)$(libdir)
 ifneq ($(IMPORT_LIB),$(FINAL_IMPORT_LIB))
index 0c48623..5e25345 100644 (file)
@@ -72,7 +72,7 @@
       <SetChecksum>true</SetChecksum>
       <TurnOffAssemblyGeneration>true</TurnOffAssemblyGeneration>
       <!-- Note: stubdata is somewhat odd in that it doesn't suffix the Debug output DLL/LIB with a "d" like common/i18n/etc. -->
-      <OutputFile>..\..\$(IcuBinOutputDir)\icudt66.dll</OutputFile>
+      <OutputFile>..\..\$(IcuBinOutputDir)\icudt67.dll</OutputFile>
       <ProgramDatabaseFile>.\..\..\$(IcuLibOutputDir)\icudt.pdb</ProgramDatabaseFile>
       <ImportLibrary>..\..\$(IcuLibOutputDir)\icudt.lib</ImportLibrary>
     </Link>
index 44cf712..c15d277 100644 (file)
@@ -37,10 +37,10 @@ void TestGregorianChange(void);
 void TestFieldDifference(void);
 void TestAddRollEra0AndEraBounds(void);
 void TestGetTZTransition(void);
-
 void TestGetWindowsTimeZoneID(void);
 void TestGetTimeZoneIDByWindowsID(void);
 void TestJpnCalAddSetNextEra(void);
+void TestUcalOpenBufferRead(void);
 
 void addCalTest(TestNode** root);
 
@@ -64,6 +64,7 @@ void addCalTest(TestNode** root)
     addTest(root, &TestGetWindowsTimeZoneID, "tsformat/ccaltst/TestGetWindowsTimeZoneID");
     addTest(root, &TestGetTimeZoneIDByWindowsID, "tsformat/ccaltst/TestGetTimeZoneIDByWindowsID");
     addTest(root, &TestJpnCalAddSetNextEra, "tsformat/ccaltst/TestJpnCalAddSetNextEra");
+    addTest(root, &TestUcalOpenBufferRead, "tsformat/ccaltst/TestUcalOpenBufferRead");
 }
 
 /* "GMT" */
@@ -2543,4 +2544,13 @@ void TestJpnCalAddSetNextEra() {
     }
 }
 
+void TestUcalOpenBufferRead() {
+    // ICU-21004: The issue shows under valgrind or as an Address Sanitizer failure.
+    UErrorCode status = U_ZERO_ERROR;
+    // string length: 157 + 1 + 100 = 258
+    const char *localeID = "x-privatebutreallylongtagfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobar-foobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoorbarfoobarfoo";
+    UCalendar *cal = ucal_open(NULL, 0, localeID, UCAL_GREGORIAN, &status);
+    ucal_close(cal);
+}
+
 #endif /* #if !UCONFIG_NO_FORMATTING */
index 73663f1..aae16f9 100644 (file)
@@ -3035,7 +3035,7 @@ static void TestJ1968(void) {
 
     err = U_ZERO_ERROR;
     myConvName[UCNV_MAX_CONVERTER_NAME_LENGTH-1] = ',';
-    strncpy(myConvName + UCNV_MAX_CONVERTER_NAME_LENGTH, "locale=", 7);
+    memcpy(myConvName + UCNV_MAX_CONVERTER_NAME_LENGTH, "locale=", 7);
     cnv = ucnv_open(myConvName, &err);
     if (cnv || err != U_ILLEGAL_ARGUMENT_ERROR) {
         log_err("4) Didn't get U_ILLEGAL_ARGUMENT_ERROR as expected %s\n", u_errorName(err));
index d8a8066..fb5bc73 100644 (file)
@@ -21,6 +21,7 @@
 static void TestDateIntervalFormat(void);
 static void TestFPos_SkelWithSeconds(void);
 static void TestFormatToResult(void);
+static void TestFormatCalendarToResult(void);
 
 void addDateIntervalFormatTest(TestNode** root);
 
@@ -31,12 +32,15 @@ void addDateIntervalFormatTest(TestNode** root)
     TESTCASE(TestDateIntervalFormat);
     TESTCASE(TestFPos_SkelWithSeconds);
     TESTCASE(TestFormatToResult);
+    TESTCASE(TestFormatCalendarToResult);
 }
 
 static const char tzUSPacific[] = "US/Pacific";
 static const char tzAsiaTokyo[] = "Asia/Tokyo";
 #define Date201103021030 1299090600000.0 /* 2011-Mar-02 1030 in US/Pacific, 2011-Mar-03 0330 in Asia/Tokyo */
 #define Date201009270800 1285599629000.0 /* 2010-Sep-27 0800 in US/Pacific */
+#define Date158210140000 -12219379142000.0
+#define Date158210160000 -12219206342000.0
 #define _MINUTE (60.0*1000.0)
 #define _HOUR   (60.0*60.0*1000.0)
 #define _DAY    (24.0*60.0*60.0*1000.0)
@@ -328,7 +332,7 @@ static void TestFormatToResult() {
     {
         const char* message = "Field position test 1";
         const UChar* expectedString = u"27. September 2010, 15:00 – 2. März 2011, 18:30";
-        udtitvfmt_formatToResult(fmt, fdi, Date201009270800, Date201103021030, &ec);
+        udtitvfmt_formatToResult(fmt, Date201009270800, Date201103021030, fdi, &ec);
         assertSuccess("Formatting", &ec);
         static const UFieldPositionWithCategory expectedFieldPositions[] = {
             // category, field, begin index, end index
@@ -352,9 +356,79 @@ static void TestFormatToResult() {
             UPRV_LENGTHOF(expectedFieldPositions));
     }
     {
+        const char* message = "Field position test 2";
+        const UChar* expectedString = u"27. September 2010, 15:00–22:00 Uhr";
+        udtitvfmt_formatToResult(fmt, Date201009270800, Date201009270800 + 7*_HOUR, fdi, &ec);
+        assertSuccess("Formatting", &ec);
+        static const UFieldPositionWithCategory expectedFieldPositions[] = {
+            // category, field, begin index, end index
+            {UFIELD_CATEGORY_DATE, UDAT_DATE_FIELD, 0, 2},
+            {UFIELD_CATEGORY_DATE, UDAT_MONTH_FIELD, 4, 13},
+            {UFIELD_CATEGORY_DATE, UDAT_YEAR_FIELD, 14, 18},
+            {UFIELD_CATEGORY_DATE_INTERVAL_SPAN, 0, 20, 25},
+            {UFIELD_CATEGORY_DATE, UDAT_HOUR_OF_DAY0_FIELD, 20, 22},
+            {UFIELD_CATEGORY_DATE, UDAT_MINUTE_FIELD, 23, 25},
+            {UFIELD_CATEGORY_DATE_INTERVAL_SPAN, 1, 26, 31},
+            {UFIELD_CATEGORY_DATE, UDAT_HOUR_OF_DAY0_FIELD, 26, 28},
+            {UFIELD_CATEGORY_DATE, UDAT_MINUTE_FIELD, 29, 31},
+            {UFIELD_CATEGORY_DATE, UDAT_AM_PM_FIELD, 32, 35}};
+        checkMixedFormattedValue(
+            message,
+            udtitvfmt_resultAsValue(fdi, &ec),
+            expectedString,
+            expectedFieldPositions,
+            UPRV_LENGTHOF(expectedFieldPositions));
+    }
+
+    udtitvfmt_close(fmt);
+    udtitvfmt_closeResult(fdi);
+}
+
+static void TestFormatCalendarToResult() {
+    UErrorCode ec = U_ZERO_ERROR;
+    UCalendar* ucal1 = ucal_open(zoneGMT, -1, "de", UCAL_DEFAULT, &ec);
+    ucal_setMillis(ucal1, Date201009270800, &ec);
+    UCalendar* ucal2 = ucal_open(zoneGMT, -1, "de", UCAL_DEFAULT, &ec);
+    ucal_setMillis(ucal2, Date201103021030, &ec);
+    UCalendar* ucal3 = ucal_open(zoneGMT, -1, "de", UCAL_DEFAULT, &ec);
+    ucal_setMillis(ucal3, Date201009270800 + 7*_HOUR, &ec);
+    UCalendar* ucal4 = ucal_open(zoneGMT, -1, "de", UCAL_DEFAULT, &ec);
+    UCalendar* ucal5 = ucal_open(zoneGMT, -1, "de", UCAL_DEFAULT, &ec);
+
+    UDateIntervalFormat* fmt = udtitvfmt_open("de", u"dMMMMyHHmm", -1, zoneGMT, -1, &ec);
+    UFormattedDateInterval* fdi = udtitvfmt_openResult(&ec);
+    assertSuccess("Opening", &ec);
+
+    {
         const char* message = "Field position test 1";
+        const UChar* expectedString = u"27. September 2010, 15:00 – 2. März 2011, 18:30";
+        udtitvfmt_formatCalendarToResult(fmt, ucal1, ucal2, fdi, &ec);
+        assertSuccess("Formatting", &ec);
+        static const UFieldPositionWithCategory expectedFieldPositions[] = {
+            // category, field, begin index, end index
+            {UFIELD_CATEGORY_DATE_INTERVAL_SPAN, 0, 0, 25},
+            {UFIELD_CATEGORY_DATE, UDAT_DATE_FIELD, 0, 2},
+            {UFIELD_CATEGORY_DATE, UDAT_MONTH_FIELD, 4, 13},
+            {UFIELD_CATEGORY_DATE, UDAT_YEAR_FIELD, 14, 18},
+            {UFIELD_CATEGORY_DATE, UDAT_HOUR_OF_DAY0_FIELD, 20, 22},
+            {UFIELD_CATEGORY_DATE, UDAT_MINUTE_FIELD, 23, 25},
+            {UFIELD_CATEGORY_DATE_INTERVAL_SPAN, 1, 28, 47},
+            {UFIELD_CATEGORY_DATE, UDAT_DATE_FIELD, 28, 29},
+            {UFIELD_CATEGORY_DATE, UDAT_MONTH_FIELD, 31, 35},
+            {UFIELD_CATEGORY_DATE, UDAT_YEAR_FIELD, 36, 40},
+            {UFIELD_CATEGORY_DATE, UDAT_HOUR_OF_DAY0_FIELD, 42, 44},
+            {UFIELD_CATEGORY_DATE, UDAT_MINUTE_FIELD, 45, 47}};
+        checkMixedFormattedValue(
+            message,
+            udtitvfmt_resultAsValue(fdi, &ec),
+            expectedString,
+            expectedFieldPositions,
+            UPRV_LENGTHOF(expectedFieldPositions));
+    }
+    {
+        const char* message = "Field position test 2";
         const UChar* expectedString = u"27. September 2010, 15:00–22:00 Uhr";
-        udtitvfmt_formatToResult(fmt, fdi, Date201009270800, Date201009270800 + 7*_HOUR, &ec);
+        udtitvfmt_formatCalendarToResult(fmt, ucal1, ucal3, fdi, &ec);
         assertSuccess("Formatting", &ec);
         static const UFieldPositionWithCategory expectedFieldPositions[] = {
             // category, field, begin index, end index
@@ -375,7 +449,77 @@ static void TestFormatToResult() {
             expectedFieldPositions,
             UPRV_LENGTHOF(expectedFieldPositions));
     }
+    {
+        const char* message = "Field position test 3";
+        // Date across Julian Gregorian change date.
+        ucal_setMillis(ucal4, Date158210140000, &ec);
+        ucal_setMillis(ucal5, Date158210160000, &ec);
+        //                                        1         2         3         4
+        //                              012345678901234567890123456789012345678901234567890
+        const UChar* expectedString = u"4. Oktober 1582, 00:00 – 16. Oktober 1582, 00:00";
+        udtitvfmt_formatCalendarToResult(fmt, ucal4, ucal5, fdi, &ec);
+        assertSuccess("Formatting", &ec);
+        static const UFieldPositionWithCategory expectedFieldPositions[] = {
+            // category, field, begin index, end index
+            {UFIELD_CATEGORY_DATE_INTERVAL_SPAN, 0, 0, 22},
+            {UFIELD_CATEGORY_DATE, UDAT_DATE_FIELD, 0, 1},
+            {UFIELD_CATEGORY_DATE, UDAT_MONTH_FIELD, 3, 10},
+            {UFIELD_CATEGORY_DATE, UDAT_YEAR_FIELD, 11, 15},
+            {UFIELD_CATEGORY_DATE, UDAT_HOUR_OF_DAY0_FIELD, 17, 19},
+            {UFIELD_CATEGORY_DATE, UDAT_MINUTE_FIELD, 20, 22},
+            {UFIELD_CATEGORY_DATE_INTERVAL_SPAN, 1, 25, 48},
+            {UFIELD_CATEGORY_DATE, UDAT_DATE_FIELD, 25, 27},
+            {UFIELD_CATEGORY_DATE, UDAT_MONTH_FIELD, 29, 36},
+            {UFIELD_CATEGORY_DATE, UDAT_YEAR_FIELD, 37, 41},
+            {UFIELD_CATEGORY_DATE, UDAT_HOUR_OF_DAY0_FIELD, 43, 45},
+            {UFIELD_CATEGORY_DATE, UDAT_MINUTE_FIELD, 46, 48}};
+        checkMixedFormattedValue(
+            message,
+            udtitvfmt_resultAsValue(fdi, &ec),
+            expectedString,
+            expectedFieldPositions,
+            UPRV_LENGTHOF(expectedFieldPositions));
+    }
+    {
+        // Date across Julian Gregorian change date.
+        // We set the Gregorian Change way back.
+        ucal_setGregorianChange(ucal5, (UDate)(-8.64e15), &ec);
+        ucal_setGregorianChange(ucal4, (UDate)(-8.64e15), &ec);
+        ucal_setMillis(ucal4, Date158210140000, &ec);
+        ucal_setMillis(ucal5, Date158210160000, &ec);
+        const char* message = "Field position test 4";
+        //                                        1         2         3         4
+        //                              012345678901234567890123456789012345678901234567890
+        const UChar* expectedString = u"14. Oktober 1582, 00:00 – 16. Oktober 1582, 00:00";
+        udtitvfmt_formatCalendarToResult(fmt, ucal4, ucal5, fdi, &ec);
+        assertSuccess("Formatting", &ec);
+        static const UFieldPositionWithCategory expectedFieldPositions[] = {
+            // category, field, begin index, end index
+            {UFIELD_CATEGORY_DATE_INTERVAL_SPAN, 0, 0, 23},
+            {UFIELD_CATEGORY_DATE, UDAT_DATE_FIELD, 0, 2},
+            {UFIELD_CATEGORY_DATE, UDAT_MONTH_FIELD, 4, 11},
+            {UFIELD_CATEGORY_DATE, UDAT_YEAR_FIELD, 12, 16},
+            {UFIELD_CATEGORY_DATE, UDAT_HOUR_OF_DAY0_FIELD, 18, 20},
+            {UFIELD_CATEGORY_DATE, UDAT_MINUTE_FIELD, 21, 23},
+            {UFIELD_CATEGORY_DATE_INTERVAL_SPAN, 1, 26, 49},
+            {UFIELD_CATEGORY_DATE, UDAT_DATE_FIELD, 26, 28},
+            {UFIELD_CATEGORY_DATE, UDAT_MONTH_FIELD, 30, 37},
+            {UFIELD_CATEGORY_DATE, UDAT_YEAR_FIELD, 38, 42},
+            {UFIELD_CATEGORY_DATE, UDAT_HOUR_OF_DAY0_FIELD, 44, 46},
+            {UFIELD_CATEGORY_DATE, UDAT_MINUTE_FIELD, 47, 49}};
+        checkMixedFormattedValue(
+            message,
+            udtitvfmt_resultAsValue(fdi, &ec),
+            expectedString,
+            expectedFieldPositions,
+            UPRV_LENGTHOF(expectedFieldPositions));
+    }
 
+    ucal_close(ucal1);
+    ucal_close(ucal2);
+    ucal_close(ucal3);
+    ucal_close(ucal4);
+    ucal_close(ucal5);
     udtitvfmt_close(fmt);
     udtitvfmt_closeResult(fdi);
 }
index 0a1a0ae..22a0505 100644 (file)
@@ -2988,30 +2988,33 @@ static void TestAcceptLanguage(void) {
     } tests[] = { 
         /*0*/{ 0, NULL, "mt_MT", ULOC_ACCEPT_VALID, U_ZERO_ERROR},
         /*1*/{ 1, NULL, "en", ULOC_ACCEPT_VALID, U_ZERO_ERROR},
-        /*2*/{ 2, NULL, "en", ULOC_ACCEPT_FALLBACK, U_ZERO_ERROR},
+        /*2*/{ 2, NULL, "en_GB", ULOC_ACCEPT_FALLBACK, U_ZERO_ERROR},
         /*3*/{ 3, NULL, "", ULOC_ACCEPT_FAILED, U_ZERO_ERROR},
         /*4*/{ 4, NULL, "es", ULOC_ACCEPT_VALID, U_ZERO_ERROR},
-        /*5*/{ 5, NULL, "en", ULOC_ACCEPT_VALID, U_ZERO_ERROR},  /* XF */
+        /*5*/{ 5, NULL, "zh", ULOC_ACCEPT_FALLBACK, U_ZERO_ERROR},  /* XF */
         /*6*/{ 6, NULL, "ja", ULOC_ACCEPT_FALLBACK, U_ZERO_ERROR},  /* XF */
         /*7*/{ 7, NULL, "zh", ULOC_ACCEPT_FALLBACK, U_ZERO_ERROR},  /* XF */
-        /*8*/{ 8, NULL, "", ULOC_ACCEPT_FAILED, U_ZERO_ERROR },  /*  */
-        /*9*/{ 9, NULL, "", ULOC_ACCEPT_FAILED, U_ZERO_ERROR },  /*  */
-       /*10*/{10, NULL, "", ULOC_ACCEPT_FAILED, U_BUFFER_OVERFLOW_ERROR },  /*  */
-       /*11*/{11, NULL, "", ULOC_ACCEPT_FAILED, U_BUFFER_OVERFLOW_ERROR },  /*  */
+        /*8*/{ 8, NULL, "", ULOC_ACCEPT_FAILED, U_ILLEGAL_ARGUMENT_ERROR },  /*  */
+        /*9*/{ 9, NULL, "", ULOC_ACCEPT_FAILED, U_ILLEGAL_ARGUMENT_ERROR },  /*  */
+       /*10*/{10, NULL, "", ULOC_ACCEPT_FAILED, U_ILLEGAL_ARGUMENT_ERROR },  /*  */
+       /*11*/{11, NULL, "", ULOC_ACCEPT_FAILED, U_ILLEGAL_ARGUMENT_ERROR },  /*  */
     };
     const int32_t numTests = UPRV_LENGTHOF(tests);
     static const char *http[] = {
-        /*0*/ "mt-mt, ja;q=0.76, en-us;q=0.95, en;q=0.92, en-gb;q=0.89, fr;q=0.87, iu-ca;q=0.84, iu;q=0.82, ja-jp;q=0.79, mt;q=0.97, de-de;q=0.74, de;q=0.71, es;q=0.68, it-it;q=0.66, it;q=0.63, vi-vn;q=0.61, vi;q=0.58, nl-nl;q=0.55, nl;q=0.53, th-th-traditional;q=.01",
+        /*0*/ "mt-mt, ja;q=0.76, en-us;q=0.95, en;q=0.92, en-gb;q=0.89, fr;q=0.87, "
+              "iu-ca;q=0.84, iu;q=0.82, ja-jp;q=0.79, mt;q=0.97, de-de;q=0.74, de;q=0.71, "
+              "es;q=0.68, it-it;q=0.66, it;q=0.63, vi-vn;q=0.61, vi;q=0.58, "
+              "nl-nl;q=0.55, nl;q=0.53, th-th-traditional;q=0.01",
         /*1*/ "ja;q=0.5, en;q=0.8, tlh",
         /*2*/ "en-wf, de-lx;q=0.8",
-        /*3*/ "mga-ie;q=0.9, tlh",
-        /*4*/ "xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, "
-              "xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, "
-              "xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, "
-              "xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, "
-              "xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, "
-              "xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, "
-              "xxx-yyy;q=.01, xxx-yyy;q=.01, xxx-yyy;q=.01, xx-yy;q=.1, "
+        /*3*/ "mga-ie;q=0.9, sux",
+        /*4*/ "xxx-yyy;q=0.01, xxx-yyy;q=0.01, xxx-yyy;q=0.01, xxx-yyy;q=0.01, xxx-yyy;q=0.01, "
+              "xxx-yyy;q=0.01, xxx-yyy;q=0.01, xxx-yyy;q=0.01, xxx-yyy;q=0.01, xxx-yyy;q=0.01, "
+              "xxx-yyy;q=0.01, xxx-yyy;q=0.01, xxx-yyy;q=0.01, xxx-yyy;q=0.01, xxx-yyy;q=0.01, "
+              "xxx-yyy;q=0.01, xxx-yyy;q=0.01, xxx-yyy;q=0.01, xxx-yyy;q=0.01, xxx-yyy;q=0.01, "
+              "xxx-yyy;q=0.01, xxx-yyy;q=0.01, xxx-yyy;q=0.01, xxx-yyy;q=0.01, xxx-yyy;q=0.01, "
+              "xxx-yyy;q=0.01, xxx-yyy;q=0.01, xxx-yyy;q=0.01, xxx-yyy;q=0.01, xxx-yyy;q=0.01, "
+              "xxx-yyy;q=0.01, xxx-yyy;q=0.01, xxx-yyy;q=0.01, xx-yy;q=0.1, "
               "es",
         /*5*/ "zh-xx;q=0.9, en;q=0.6",
         /*6*/ "ja-JA",
@@ -3042,12 +3045,17 @@ static void TestAcceptLanguage(void) {
 
         available = ures_openAvailableLocales(tests[i].icuSet, &status);
         tmp[0]=0;
-        rc = uloc_acceptLanguageFromHTTP(tmp, 199, &outResult, http[tests[i].httpSet], available, &status);
+        rc = uloc_acceptLanguageFromHTTP(tmp, 199, &outResult,
+                                         http[tests[i].httpSet], available, &status);
         (void)rc;    /* Suppress set but not used warning. */
         uenum_close(available);
-        log_verbose(" got %s, %s [%s]\n", tmp[0]?tmp:"(EMPTY)", acceptResult(outResult), u_errorName(status));
+        log_verbose(" got %s, %s [%s]\n",
+                    tmp[0]?tmp:"(EMPTY)", acceptResult(outResult), u_errorName(status));
         if(status != tests[i].expectStatus) {
-          log_err_status(status, "FAIL: expected status %s but got %s\n", u_errorName(tests[i].expectStatus), u_errorName(status));
+          log_err_status(status,
+                         "FAIL: expected status %s but got %s\n",
+                         u_errorName(tests[i].expectStatus),
+                         u_errorName(status));
         } else if(U_SUCCESS(tests[i].expectStatus)) {
             /* don't check content if expected failure */
             if(outResult != tests[i].res) {
@@ -3055,10 +3063,13 @@ static void TestAcceptLanguage(void) {
                 acceptResult( tests[i].res), 
                 acceptResult( outResult));
             log_info("test #%d: http[%s], ICU[%s], expect %s, %s\n", 
-                i, http[tests[i].httpSet], tests[i].icuSet, tests[i].expect,acceptResult(tests[i].res));
+                     i, http[tests[i].httpSet], tests[i].icuSet,
+                     tests[i].expect,acceptResult(tests[i].res));
             }
             if((outResult>0)&&uprv_strcmp(tmp, tests[i].expect)) {
-              log_err_status(status, "FAIL: #%d: expected %s but got %s\n", i, tests[i].expect, tmp);
+              log_err_status(status,
+                             "FAIL: #%d: expected %s but got %s\n",
+                             i, tests[i].expect, tmp);
               log_info("test #%d: http[%s], ICU[%s], expect %s, %s\n", 
                        i, http[tests[i].httpSet], tests[i].icuSet, tests[i].expect, acceptResult(tests[i].res));
             }
@@ -6029,7 +6040,10 @@ const char* const locale_to_langtag[][3] = {
     {"aa_BB_CYRL",  "aa-BB-x-lvariant-cyrl", NULL},
     {"en_US_1234",  "en-US-1234",   "en-US-1234"},
     {"en_US_VARIANTA_VARIANTB", "en-US-varianta-variantb",  "en-US-varianta-variantb"},
-    {"ja__9876_5432",   "ja-9876-5432", "ja-9876-5432"},
+    {"en_US_VARIANTB_VARIANTA", "en-US-varianta-variantb",  "en-US-varianta-variantb"}, /* ICU-20478 */
+    {"ja__9876_5432",   "ja-5432-9876", "ja-5432-9876"}, /* ICU-20478 */
+    {"sl__ROZAJ_BISKE_1994",   "sl-1994-biske-rozaj", "sl-1994-biske-rozaj"}, /* ICU-20478 */
+    {"en__SCOUSE_FONIPA",   "en-fonipa-scouse", "en-fonipa-scouse"}, /* ICU-20478 */
     {"zh_Hant__VAR",    "zh-Hant-x-lvariant-var", NULL},
     {"es__BADVARIANT_GOODVAR",  "es-goodvar",   NULL},
     {"en@calendar=gregorian",   "en-u-ca-gregory",  "en-u-ca-gregory"},
@@ -6059,6 +6073,14 @@ const char* const locale_to_langtag[][3] = {
     // The following now uses standard canonicalization.
     {"az_AZ_CYRL", "az-AZ-x-lvariant-cyrl", NULL},
 
+
+    /* ICU-20310 */
+    {"en-u-kn-true",   "en-u-kn", "en-u-kn"},
+    {"en-u-kn",   "en-u-kn", "en-u-kn"},
+    {"de-u-co-yes",   "de-u-co", "de-u-co"},
+    {"de-u-co",   "de-u-co", "de-u-co"},
+    {"de@collation=yes",   "de-u-co", "de-u-co"},
+    {"cmn-hans-cn-u-ca-t-ca-x-t-u",   "cmn-Hans-CN-t-ca-u-ca-x-t-u", "cmn-Hans-CN-t-ca-u-ca-x-t-u"},
     {NULL,          NULL,           NULL}
 };
 
@@ -6187,7 +6209,16 @@ static const struct {
     {"bogus",               "bogus",                FULL_LENGTH},
     {"boguslang",           "",                     0},
     {"EN-lATN-us",          "en_Latn_US",           FULL_LENGTH},
-    {"und-variant-1234",    "__VARIANT_1234",       FULL_LENGTH},
+    {"und-variant-1234",    "__1234_VARIANT",       FULL_LENGTH}, /* ICU-20478 */
+    {"ja-9876-5432",    "ja__5432_9876",       FULL_LENGTH}, /* ICU-20478 */
+    {"en-US-varianta-variantb",    "en_US_VARIANTA_VARIANTB",       FULL_LENGTH}, /* ICU-20478 */
+    {"en-US-variantb-varianta",    "en_US_VARIANTA_VARIANTB",       FULL_LENGTH}, /* ICU-20478 */
+    {"sl-rozaj-1994-biske",    "sl__1994_BISKE_ROZAJ",       FULL_LENGTH}, /* ICU-20478 */
+    {"sl-biske-1994-rozaj",    "sl__1994_BISKE_ROZAJ",       FULL_LENGTH}, /* ICU-20478 */
+    {"sl-1994-rozaj-biske",    "sl__1994_BISKE_ROZAJ",       FULL_LENGTH}, /* ICU-20478 */
+    {"sl-rozaj-biske-1994",    "sl__1994_BISKE_ROZAJ",       FULL_LENGTH}, /* ICU-20478 */
+    {"en-fonipa-scouse",    "en__FONIPA_SCOUSE",       FULL_LENGTH}, /* ICU-20478 */
+    {"en-scouse-fonipa",    "en__FONIPA_SCOUSE",       FULL_LENGTH}, /* ICU-20478 */
     {"und-varzero-var1-vartwo", "__VARZERO",        11},
     {"en-u-ca-gregory",     "en@calendar=gregorian",    FULL_LENGTH},
     {"en-U-cu-USD",         "en@currency=usd",      FULL_LENGTH},
index dbbac08..daeff15 100644 (file)
@@ -74,6 +74,7 @@ static void TestParseCases(void);
 static void TestSetMaxFracAndRoundIncr(void);
 static void TestIgnorePadding(void);
 static void TestSciNotationMaxFracCap(void);
+static void TestMinIntMinFracZero(void);
 
 #define TESTCASE(x) addTest(root, &x, "tsformat/cnumtst/" #x)
 
@@ -114,6 +115,7 @@ void addNumForTest(TestNode** root)
     TESTCASE(TestSetMaxFracAndRoundIncr);
     TESTCASE(TestIgnorePadding);
     TESTCASE(TestSciNotationMaxFracCap);
+    TESTCASE(TestMinIntMinFracZero);
 }
 
 /* test Parse int 64 */
@@ -3475,4 +3477,103 @@ static void TestSciNotationMaxFracCap(void) {
     }
 }
 
+static void TestMinIntMinFracZero(void) {
+    UErrorCode status = U_ZERO_ERROR;
+    UNumberFormat* unum = unum_open(UNUM_DECIMAL, NULL, 0, "en_US", NULL, &status);
+    if ( U_FAILURE(status) ) {
+        log_data_err("unum_open UNUM_DECIMAL for en_US fails with %s\n", u_errorName(status));
+    } else {
+        UChar ubuf[kUBufMax];
+        char  bbuf[kBBufMax];
+        int minInt, minFrac, ulen;
+
+        unum_setAttribute(unum, UNUM_MIN_INTEGER_DIGITS, 0);
+        unum_setAttribute(unum, UNUM_MIN_FRACTION_DIGITS, 0);
+        minInt = unum_getAttribute(unum, UNUM_MIN_INTEGER_DIGITS);
+        minFrac = unum_getAttribute(unum, UNUM_MIN_FRACTION_DIGITS);
+        if (minInt != 0 || minFrac != 0) {
+            log_err("after setting minInt=minFrac=0, get minInt %d, minFrac %d\n", minInt, minFrac);
+        }
+
+        ulen = unum_toPattern(unum, FALSE, ubuf, kUBufMax, &status);
+        if ( U_FAILURE(status) ) {
+            log_err("unum_toPattern fails with %s\n", u_errorName(status));
+        } else if (ulen < 3 || u_strstr(ubuf, u"#.#")==NULL) {
+            u_austrncpy(bbuf, ubuf, kUBufMax);
+            log_info("after setting minInt=minFrac=0, expect pattern to contain \"#.#\", but get (%d): \"%s\"\n", ulen, bbuf);
+        }
+
+        status = U_ZERO_ERROR;
+        ulen = unum_formatDouble(unum, 10.0, ubuf, kUBufMax, NULL, &status);
+        if ( U_FAILURE(status) ) {
+            log_err("unum_formatDouble 10.0 ulen %d fails with %s\n", ulen, u_errorName(status));
+        } else if (u_strcmp(ubuf, u"10") != 0) {
+            u_austrncpy(bbuf, ubuf, kUBufMax);
+            log_err("unum_formatDouble 10.0 expected \"10\", got \"%s\"\n", bbuf);
+        }
+
+        status = U_ZERO_ERROR;
+        ulen = unum_formatDouble(unum, 0.9, ubuf, kUBufMax, NULL, &status);
+        if ( U_FAILURE(status) ) {
+            log_err("unum_formatDouble 0.9 ulen %d fails with %s\n", ulen, u_errorName(status));
+        } else if (u_strcmp(ubuf, u".9") != 0) {
+            u_austrncpy(bbuf, ubuf, kUBufMax);
+            log_err("unum_formatDouble 0.9 expected \".9\", got \"%s\"\n", bbuf);
+        }
+
+        status = U_ZERO_ERROR;
+        ulen = unum_formatDouble(unum, 0.0, ubuf, kUBufMax, NULL, &status);
+        if ( U_FAILURE(status) ) {
+            log_err("unum_formatDouble 0.0 ulen %d fails with %s\n", ulen, u_errorName(status));
+        } else if (u_strcmp(ubuf, u"0") != 0) {
+            u_austrncpy(bbuf, ubuf, kUBufMax);
+            log_err("unum_formatDouble 0.0 expected \"0\", got \"%s\"\n", bbuf);
+        }
+
+        unum_close(unum);
+        status = U_ZERO_ERROR;
+        unum = unum_open(UNUM_CURRENCY, NULL, 0, "en_US", NULL, &status);
+        if ( U_FAILURE(status) ) {
+            log_data_err("unum_open UNUM_CURRENCY for en_US fails with %s\n", u_errorName(status));
+        } else {
+            unum_setAttribute(unum, UNUM_MIN_INTEGER_DIGITS, 0);
+            unum_setAttribute(unum, UNUM_MIN_FRACTION_DIGITS, 0);
+            minInt = unum_getAttribute(unum, UNUM_MIN_INTEGER_DIGITS);
+            minFrac = unum_getAttribute(unum, UNUM_MIN_FRACTION_DIGITS);
+            if (minInt != 0 || minFrac != 0) {
+                log_err("after setting CURRENCY minInt=minFrac=0, get minInt %d, minFrac %d\n", minInt, minFrac);
+            }
+
+            status = U_ZERO_ERROR;
+            ulen = unum_formatDouble(unum, 10.0, ubuf, kUBufMax, NULL, &status);
+            if ( U_FAILURE(status) ) {
+                log_err("unum_formatDouble (CURRRENCY) 10.0 ulen %d fails with %s\n", ulen, u_errorName(status));
+            } else if (u_strcmp(ubuf, u"$10") != 0) {
+                u_austrncpy(bbuf, ubuf, kUBufMax);
+                log_err("unum_formatDouble (CURRRENCY) 10.0 expected \"$10\", got \"%s\"\n", bbuf);
+            }
+
+            status = U_ZERO_ERROR;
+            ulen = unum_formatDouble(unum, 0.9, ubuf, kUBufMax, NULL, &status);
+            if ( U_FAILURE(status) ) {
+                log_err("unum_formatDouble (CURRRENCY) 0.9 ulen %d fails with %s\n", ulen, u_errorName(status));
+            } else if (u_strcmp(ubuf, u"$.9") != 0) {
+                u_austrncpy(bbuf, ubuf, kUBufMax);
+                log_err("unum_formatDouble (CURRRENCY) 0.9 expected \"$.9\", got \"%s\"\n", bbuf);
+            }
+
+            status = U_ZERO_ERROR;
+            ulen = unum_formatDouble(unum, 0.0, ubuf, kUBufMax, NULL, &status);
+            if ( U_FAILURE(status) ) {
+                log_err("unum_formatDouble (CURRRENCY) 0.0 ulen %d fails with %s\n", ulen, u_errorName(status));
+            } else if (u_strcmp(ubuf, u"$0") != 0) {
+                u_austrncpy(bbuf, ubuf, kUBufMax);
+                log_err("unum_formatDouble (CURRRENCY) 0.0 expected \"$0\", got \"%s\"\n", bbuf);
+            }
+
+            unum_close(unum);
+        }
+    }
+}
+
 #endif /* #if !UCONFIG_NO_FORMATTING */
index f64bd77..24735b0 100644 (file)
@@ -2165,7 +2165,7 @@ static void TestFallback()
         UResourceBundle* tResB;
         UResourceBundle* zoneResource;
         const UChar* version = NULL;
-        static const UChar versionStr[] = u"36.1"; // 36.1 in nn_NO
+        static const UChar versionStr[] = u"37"; // 37 in nn_NO
 
         if(err != U_ZERO_ERROR){
             log_data_err("Expected U_ZERO_ERROR when trying to test no_NO_NY aliased to nn_NO for Version err=%s\n",u_errorName(err));
index 2338a2f..3dc145d 100644 (file)
@@ -43,6 +43,8 @@ static void TestUsage(void);
 static void TestBuilder(void);
 static void TestOptions(void);
 static void TestGetFieldDisplayNames(void);
+static void TestGetDefaultHourCycle(void);
+static void TestGetDefaultHourCycleOnEmptyInstance(void);
 
 void addDateTimePatternGeneratorTest(TestNode** root) {
     TESTCASE(TestOpenClose);
@@ -50,6 +52,8 @@ void addDateTimePatternGeneratorTest(TestNode** root) {
     TESTCASE(TestBuilder);
     TESTCASE(TestOptions);
     TESTCASE(TestGetFieldDisplayNames);
+    TESTCASE(TestGetDefaultHourCycle);
+    TESTCASE(TestGetDefaultHourCycleOnEmptyInstance);
 }
 
 /*
@@ -510,4 +514,70 @@ static void TestGetFieldDisplayNames() {
     }
 }
 
+typedef struct HourCycleData {
+    const char *         locale;
+    UDateFormatHourCycle   expected;
+} HourCycleData;
+
+static void TestGetDefaultHourCycle() {
+    const HourCycleData testData[] = {
+        /*loc      expected */
+        { "ar_EG",    UDAT_HOUR_CYCLE_12 },
+        { "de_DE",    UDAT_HOUR_CYCLE_23 },
+        { "en_AU",    UDAT_HOUR_CYCLE_12 },
+        { "en_CA",    UDAT_HOUR_CYCLE_12 },
+        { "en_US",    UDAT_HOUR_CYCLE_12 },
+        { "es_ES",    UDAT_HOUR_CYCLE_23 },
+        { "fi",       UDAT_HOUR_CYCLE_23 },
+        { "fr",       UDAT_HOUR_CYCLE_23 },
+        { "ja_JP",    UDAT_HOUR_CYCLE_23 },
+        { "zh_CN",    UDAT_HOUR_CYCLE_12 },
+        { "zh_HK",    UDAT_HOUR_CYCLE_12 },
+        { "zh_TW",    UDAT_HOUR_CYCLE_12 },
+        { "ko_KR",    UDAT_HOUR_CYCLE_12 },
+    };
+    int count = UPRV_LENGTHOF(testData);
+    const HourCycleData * testDataPtr = testData;
+    for (; count-- > 0; ++testDataPtr) {
+        UErrorCode status = U_ZERO_ERROR;
+        UDateTimePatternGenerator * dtpgen =
+            udatpg_open(testDataPtr->locale, &status);
+        if ( U_FAILURE(status) ) {
+            log_data_err( "ERROR udatpg_open failed for locale %s : %s - (Are you missing data?)\n",
+                         testDataPtr->locale, myErrorName(status));
+        } else {
+            UDateFormatHourCycle actual = udatpg_getDefaultHourCycle(dtpgen, &status);
+            if (U_FAILURE(status) || testDataPtr->expected != actual) {
+                log_err("ERROR dtpgen locale %s udatpg_getDefaultHourCycle expecte to get %d but get %d\n",
+                        testDataPtr->locale, testDataPtr->expected, actual);
+            }
+            udatpg_close(dtpgen);
+        }
+    }
+}
+
+// Ensure that calling udatpg_getDefaultHourCycle on an empty instance doesn't call UPRV_UNREACHABLE/abort.
+static void TestGetDefaultHourCycleOnEmptyInstance() {
+    UErrorCode status = U_ZERO_ERROR;
+    UDateTimePatternGenerator * dtpgen = udatpg_openEmpty(&status);
+
+    if (U_FAILURE(status)) {
+        log_data_err("ERROR udatpg_openEmpty failed, status: %s \n", myErrorName(status));
+        return;
+    }
+
+    (void)udatpg_getDefaultHourCycle(dtpgen, &status);
+    if (!U_FAILURE(status)) {
+        log_data_err("ERROR expected udatpg_getDefaultHourCycle on an empty instance to fail, status: %s", myErrorName(status));
+    }
+
+    status = U_USELESS_COLLATOR_ERROR;
+    (void)udatpg_getDefaultHourCycle(dtpgen, &status);
+    if (status != U_USELESS_COLLATOR_ERROR) {
+        log_data_err("ERROR udatpg_getDefaultHourCycle shouldn't modify status if it is already failed, status: %s", myErrorName(status));
+    }
+
+    udatpg_close(dtpgen);
+}
+
 #endif
index 5eb5a1e..7fe549f 100644 (file)
@@ -19,6 +19,7 @@
 
 static void TestUListFmt(void);
 static void TestUListFmtToValue(void);
+static void TestUListOpenStyled(void);
 
 void addUListFmtTest(TestNode** root);
 
@@ -28,6 +29,7 @@ void addUListFmtTest(TestNode** root)
 {
     TESTCASE(TestUListFmt);
     TESTCASE(TestUListFmtToValue);
+    TESTCASE(TestUListOpenStyled);
 }
 
 static const UChar str0[] = { 0x41,0 }; /* "A" */
@@ -210,5 +212,43 @@ static void TestUListFmtToValue() {
     ulistfmt_closeResult(fl);
 }
 
+static void TestUListOpenStyled() {
+    UErrorCode ec = U_ZERO_ERROR;
+    UListFormatter* fmt = ulistfmt_openForType("en", ULISTFMT_TYPE_OR, ULISTFMT_WIDTH_SHORT, &ec);
+    UFormattedList* fl = ulistfmt_openResult(&ec);
+    assertSuccess("Opening", &ec);
+
+    {
+        const char* message = "openStyled test 1";
+        const UChar* expectedString = u"A, B, or C";
+        const UChar* inputs[] = {
+            u"A",
+            u"B",
+            u"C",
+        };
+        ulistfmt_formatStringsToResult(fmt, inputs, NULL, UPRV_LENGTHOF(inputs), fl, &ec);
+        assertSuccess("Formatting", &ec);
+        static const UFieldPositionWithCategory expectedFieldPositions[] = {
+            // field, begin index, end index
+            {UFIELD_CATEGORY_LIST_SPAN, 0, 0,  1},
+            {UFIELD_CATEGORY_LIST, ULISTFMT_ELEMENT_FIELD, 0,  1},
+            {UFIELD_CATEGORY_LIST, ULISTFMT_LITERAL_FIELD, 1,  3},
+            {UFIELD_CATEGORY_LIST_SPAN, 1, 3,  4},
+            {UFIELD_CATEGORY_LIST, ULISTFMT_ELEMENT_FIELD, 3,  4},
+            {UFIELD_CATEGORY_LIST, ULISTFMT_LITERAL_FIELD, 4,  9},
+            {UFIELD_CATEGORY_LIST_SPAN, 2, 9, 10},
+            {UFIELD_CATEGORY_LIST, ULISTFMT_ELEMENT_FIELD, 9, 10}};
+        checkMixedFormattedValue(
+            message,
+            ulistfmt_resultAsValue(fl, &ec),
+            expectedString,
+            expectedFieldPositions,
+            UPRV_LENGTHOF(expectedFieldPositions));
+    }
+
+    ulistfmt_close(fmt);
+    ulistfmt_closeResult(fl);
+}
+
 
 #endif /* #if !UCONFIG_NO_FORMATTING */
index 2e296f0..8919c78 100644 (file)
@@ -9,9 +9,11 @@
 // Helpful in toString methods and elsewhere.
 #define UNISTR_FROM_STRING_EXPLICIT
 
+#include <stdio.h>
 #include "unicode/unumberformatter.h"
 #include "unicode/umisc.h"
 #include "unicode/unum.h"
+#include "unicode/ustring.h"
 #include "cformtst.h"
 #include "cintltst.h"
 #include "cmemory.h"
@@ -26,6 +28,8 @@ static void TestFormattedValue(void);
 
 static void TestSkeletonParseError(void);
 
+static void TestPerUnitInArabic(void);
+
 void addUNumberFormatterTest(TestNode** root);
 
 #define TESTCASE(x) addTest(root, &x, "tsformat/unumberformatter/" #x)
@@ -36,6 +40,7 @@ void addUNumberFormatterTest(TestNode** root) {
     TESTCASE(TestExampleCode);
     TESTCASE(TestFormattedValue);
     TESTCASE(TestSkeletonParseError);
+    TESTCASE(TestPerUnitInArabic);
 }
 
 
@@ -254,5 +259,88 @@ static void TestSkeletonParseError() {
     unumf_close(uformatter);
 }
 
-
+static void TestPerUnitInArabic() {
+    const char* simpleMeasureUnits[] = {
+        "area-acre",
+        "digital-bit",
+        "digital-byte",
+        "temperature-celsius",
+        "length-centimeter",
+        "duration-day",
+        "angle-degree",
+        "temperature-fahrenheit",
+        "volume-fluid-ounce",
+        "length-foot",
+        "volume-gallon",
+        "digital-gigabit",
+        "digital-gigabyte",
+        "mass-gram",
+        "area-hectare",
+        "duration-hour",
+        "length-inch",
+        "digital-kilobit",
+        "digital-kilobyte",
+        "mass-kilogram",
+        "length-kilometer",
+        "volume-liter",
+        "digital-megabit",
+        "digital-megabyte",
+        "length-meter",
+        "length-mile",
+        "length-mile-scandinavian",
+        "volume-milliliter",
+        "length-millimeter",
+        "duration-millisecond",
+        "duration-minute",
+        "duration-month",
+        "mass-ounce",
+        "concentr-percent",
+        "digital-petabyte",
+        "mass-pound",
+        "duration-second",
+        "mass-stone",
+        "digital-terabit",
+        "digital-terabyte",
+        "duration-week",
+        "length-yard",
+        "duration-year"
+    };
+#define BUFFER_LEN 256
+    char buffer[BUFFER_LEN];
+    UChar ubuffer[BUFFER_LEN];
+    const char* locale = "ar";
+    UErrorCode status = U_ZERO_ERROR;
+    UFormattedNumber* formatted = unumf_openResult(&status);
+    if (U_FAILURE(status)) {
+        log_err("FAIL: unumf_openResult failed");
+        return;
+    }
+    for(int32_t i=0; i < UPRV_LENGTHOF(simpleMeasureUnits); ++i) {
+        for(int32_t j=0; j < UPRV_LENGTHOF(simpleMeasureUnits); ++j) {
+            status = U_ZERO_ERROR;
+            sprintf(buffer, "measure-unit/%s per-measure-unit/%s",
+                    simpleMeasureUnits[i], simpleMeasureUnits[j]);
+            int32_t outputlen = 0;
+            u_strFromUTF8(ubuffer, BUFFER_LEN, &outputlen, buffer, strlen(buffer), &status);
+            if (U_FAILURE(status)) {
+                log_err("FAIL u_strFromUTF8: %s = %s ( %s )\n", locale, buffer,
+                        u_errorName(status));
+            }
+            UNumberFormatter* nf = unumf_openForSkeletonAndLocale(
+                ubuffer, outputlen, locale, &status);
+            if (U_FAILURE(status)) {
+                log_err("FAIL unumf_openForSkeletonAndLocale: %s = %s ( %s )\n",
+                        locale, buffer, u_errorName(status));
+            } else {
+                unumf_formatDouble(nf, 1, formatted, &status);
+                if (U_FAILURE(status)) {
+                    log_err("FAIL unumf_formatDouble: %s = %s ( %s )\n",
+                            locale, buffer, u_errorName(status));
+                }
+            }
+            unumf_close(nf);
+        }
+    }
+    unumf_closeResult(formatted);
+}
 #endif /* #if !UCONFIG_NO_FORMATTING */
index 1d726b6..022b144 100644 (file)
@@ -869,7 +869,8 @@ library: i18n
     dayperiodrules
     listformatter
     formatting formattable_cnv regex regex_cnv translit
-    double_conversion number_representation number_output numberformatter numberparser
+    double_conversion number_representation number_output numberformatter number_skeletons numberparser
+    units_extra
     universal_time_scale
     uclean_i18n
 
@@ -945,7 +946,7 @@ group: dayperiodrules
 group: listformatter
     listformatter.o ulistformatter.o
   deps
-    resourcebundle simpleformatter format uclean_i18n formatted_value_iterimpl
+    uchar resourcebundle simpleformatter format uclean_i18n formatted_value_iterimpl
 
 group: double_conversion
     double-conversion-bignum.o double-conversion-double-to-string.o
@@ -957,7 +958,7 @@ group: double_conversion
 
 group: number_representation
     number_decimalquantity.o string_segment.o number_utils.o
-    # TODO(ICU-20429) Move formatted_string_builder to its own unit.
+    # TODO(ICU-21058) Move formatted_string_builder to its own unit.
     formatted_string_builder.o
   deps
     decnumber double_conversion
@@ -981,15 +982,15 @@ group: number_output
 
 group: numberformatter
     # ICU 60+ NumberFormatter API
-    number_affixutils.o number_asformat.o
-    number_capi.o number_compact.o number_currencysymbols.o
+    number_affixutils.o
+    number_compact.o number_currencysymbols.o
     number_decimfmtprops.o
     number_fluent.o number_formatimpl.o
     number_grouping.o number_integerwidth.o number_longnames.o
     number_mapper.o number_modifiers.o number_multiplier.o
     number_notation.o number_padding.o
     number_patternmodifier.o number_patternstring.o number_rounding.o
-    number_scientific.o number_skeletons.o
+    number_scientific.o
     currpinf.o dcfmtsym.o numsys.o
     numrange_fluent.o numrange_impl.o
   deps
@@ -997,6 +998,13 @@ group: numberformatter
     number_representation number_output
     uclean_i18n common
 
+group: number_skeletons
+    # Number skeleton support; separated from numberformatter
+    number_skeletons.o number_capi.o number_asformat.o
+  deps
+    numberformatter
+    units_extra
+
 group: numberparser
     numparse_affixes.o numparse_compositions.o numparse_currency.o
     numparse_decimal.o numparse_impl.o numparse_parsednumber.o
@@ -1037,7 +1045,8 @@ group: formatting
     # messageformat
     choicfmt.o msgfmt.o plurfmt.o selfmt.o umsg.o
   deps
-    decnumber formattable format units numberformatter numberparser formatted_value_sbimpl
+    decnumber formattable format units numberformatter number_skeletons numberparser
+    formatted_value_sbimpl
     listformatter
     dayperiodrules
     collation collation_builder  # for rbnf
@@ -1053,10 +1062,15 @@ group: sharedbreakiterator
   deps
     breakiterator
 
+group: units_extra
+    measunit_extra.o
+  deps
+    units ucharstriebuilder ucharstrie uclean_i18n
+
 group: units
     measunit.o currunit.o nounit.o
   deps
-    stringenumeration
+    stringenumeration errorcode
 
 group: decnumber
     decContext.o decNumber.o
index 744ca69..b3ac46e 100644 (file)
@@ -2913,7 +2913,7 @@ void CalendarRegressionTest::TestT8596(void) {
     gc->setFirstDayOfWeek(UCAL_MONDAY);
     gc->setMinimalDaysInFirstWeek(4);
 
-    // Force the calender to resolve the fields once.
+    // Force the calendar to resolve the fields once.
     // The maximum week number in 2011 is 52.
     gc->set(UCAL_YEAR, 2011);
     gc->get(UCAL_YEAR, status);
index 82e34f2..02a0644 100644 (file)
@@ -2327,7 +2327,7 @@ void CalendarTest::TestTimeStamp() {
     Calendar *cal;
 
     // Create a new Gregorian Calendar.
-    cal = Calendar::createInstance("en_US@calender=gregorian", status);
+    cal = Calendar::createInstance("en_US@calendar=gregorian", status);
     if (U_FAILURE(status)) {
         dataerrln("Error creating Gregorian calendar.");
         return;
index 9562e4d..de51eec 100644 (file)
@@ -22,6 +22,7 @@
 #include "unicode/sortkey.h"
 #include "unicode/std_string.h"
 #include "unicode/strenum.h"
+#include "unicode/stringpiece.h"
 #include "unicode/tblcoll.h"
 #include "unicode/uiter.h"
 #include "unicode/uniset.h"
@@ -293,15 +294,15 @@ void CollationTest::TestIllegalUTF8() {
     }
     coll->setAttribute(UCOL_STRENGTH, UCOL_IDENTICAL, errorCode);
 
-    static const char *strings[] = {
+    static const StringPiece strings[] = {
         // string with U+FFFD == illegal byte sequence
-        reinterpret_cast<const char*>(u8"a\uFFFDz"),                    reinterpret_cast<const char*>("a\x80z"),  // trail byte
-        reinterpret_cast<const char*>(u8"a\uFFFD\uFFFDz"),              reinterpret_cast<const char*>("a\xc1\x81z"),  // non-shortest form
-        reinterpret_cast<const char*>(u8"a\uFFFD\uFFFD\uFFFDz"),        reinterpret_cast<const char*>("a\xe0\x82\x83z"),  // non-shortest form
-        reinterpret_cast<const char*>(u8"a\uFFFD\uFFFD\uFFFDz"),        reinterpret_cast<const char*>("a\xed\xa0\x80z"),  // lead surrogate: would be U+D800
-        reinterpret_cast<const char*>(u8"a\uFFFD\uFFFD\uFFFDz"),        reinterpret_cast<const char*>("a\xed\xbf\xbfz"),  // trail surrogate: would be U+DFFF
-        reinterpret_cast<const char*>(u8"a\uFFFD\uFFFD\uFFFD\uFFFDz"),  reinterpret_cast<const char*>("a\xf0\x8f\xbf\xbfz"),  // non-shortest form
-        reinterpret_cast<const char*>(u8"a\uFFFD\uFFFD\uFFFD\uFFFDz"),  reinterpret_cast<const char*>("a\xf4\x90\x80\x80z")  // out of range: would be U+110000
+        u8"a\uFFFDz",                   "a\x80z",  // trail byte
+        u8"a\uFFFD\uFFFDz",             "a\xc1\x81z",  // non-shortest form
+        u8"a\uFFFD\uFFFD\uFFFDz",       "a\xe0\x82\x83z",  // non-shortest form
+        u8"a\uFFFD\uFFFD\uFFFDz",       "a\xed\xa0\x80z",  // lead surrogate: would be U+D800
+        u8"a\uFFFD\uFFFD\uFFFDz",       "a\xed\xbf\xbfz",  // trail surrogate: would be U+DFFF
+        u8"a\uFFFD\uFFFD\uFFFD\uFFFDz", "a\xf0\x8f\xbf\xbfz",  // non-shortest form
+        u8"a\uFFFD\uFFFD\uFFFD\uFFFDz", "a\xf4\x90\x80\x80z"  // out of range: would be U+110000
     };
 
     for(int32_t i = 0; i < UPRV_LENGTHOF(strings); i += 2) {
index 90afecd..1f51f70 100644 (file)
@@ -23,6 +23,7 @@
 
 typedef struct ExpectedResult {
   double value;
+  // Invariant characters, will be converted to UTF-16 and then unescaped.
   const char *expected;
 } ExpectedResult;
 
@@ -185,38 +186,38 @@ static ExpectedResult kChineseCurrencyTestData[] = {
         {123456789012345.0, "\\u00A5120\\u4E07\\u4EBF"},
 };
 static ExpectedResult kGermanCurrencyTestData[] = {
-        {1.0, reinterpret_cast<const char*>(u8"1\\u00A0\\u20AC")},
-        {12.0, reinterpret_cast<const char*>(u8"12\\u00A0\\u20AC")},
-        {123.0, reinterpret_cast<const char*>(u8"120\\u00A0\\u20AC")},
-        {1234.0, reinterpret_cast<const char*>(u8"1200\\u00A0\\u20AC")},
-        {12345.0, reinterpret_cast<const char*>(u8"12.000\\u00A0\\u20AC")},
-        {123456.0, reinterpret_cast<const char*>(u8"120.000\\u00A0\\u20AC")},
-        {1234567.0, reinterpret_cast<const char*>(u8"1,2\\u00A0Mio.\\u00A0\\u20AC")},
-        {12345678.0, reinterpret_cast<const char*>(u8"12\\u00A0Mio.\\u00A0\\u20AC")},
-        {123456789.0, reinterpret_cast<const char*>(u8"120\\u00A0Mio.\\u00A0\\u20AC")},
-        {1234567890.0, reinterpret_cast<const char*>(u8"1,2\\u00A0Mrd.\\u00A0\\u20AC")},
-        {12345678901.0, reinterpret_cast<const char*>(u8"12\\u00A0Mrd.\\u00A0\\u20AC")},
-        {123456789012.0, reinterpret_cast<const char*>(u8"120\\u00A0Mrd.\\u00A0\\u20AC")},
-        {1234567890123.0, reinterpret_cast<const char*>(u8"1,2\\u00A0Bio.\\u00A0\\u20AC")},
-        {12345678901234.0, reinterpret_cast<const char*>(u8"12\\u00A0Bio.\\u00A0\\u20AC")},
-        {123456789012345.0, reinterpret_cast<const char*>(u8"120\\u00A0Bio.\\u00A0\\u20AC")},
+        {1.0, "1\\u00A0\\u20AC"},
+        {12.0, "12\\u00A0\\u20AC"},
+        {123.0, "120\\u00A0\\u20AC"},
+        {1234.0, "1200\\u00A0\\u20AC"},
+        {12345.0, "12.000\\u00A0\\u20AC"},
+        {123456.0, "120.000\\u00A0\\u20AC"},
+        {1234567.0, "1,2\\u00A0Mio.\\u00A0\\u20AC"},
+        {12345678.0, "12\\u00A0Mio.\\u00A0\\u20AC"},
+        {123456789.0, "120\\u00A0Mio.\\u00A0\\u20AC"},
+        {1234567890.0, "1,2\\u00A0Mrd.\\u00A0\\u20AC"},
+        {12345678901.0, "12\\u00A0Mrd.\\u00A0\\u20AC"},
+        {123456789012.0, "120\\u00A0Mrd.\\u00A0\\u20AC"},
+        {1234567890123.0, "1,2\\u00A0Bio.\\u00A0\\u20AC"},
+        {12345678901234.0, "12\\u00A0Bio.\\u00A0\\u20AC"},
+        {123456789012345.0, "120\\u00A0Bio.\\u00A0\\u20AC"},
 };
 static ExpectedResult kEnglishCurrencyTestData[] = {
-        {1.0, reinterpret_cast<const char*>(u8"$1")},
-        {12.0, reinterpret_cast<const char*>(u8"$12")},
-        {123.0, reinterpret_cast<const char*>(u8"$120")},
-        {1234.0, reinterpret_cast<const char*>(u8"$1.2K")},
-        {12345.0, reinterpret_cast<const char*>(u8"$12K")},
-        {123456.0, reinterpret_cast<const char*>(u8"$120K")},
-        {1234567.0, reinterpret_cast<const char*>(u8"$1.2M")},
-        {12345678.0, reinterpret_cast<const char*>(u8"$12M")},
-        {123456789.0, reinterpret_cast<const char*>(u8"$120M")},
-        {1234567890.0, reinterpret_cast<const char*>(u8"$1.2B")},
-        {12345678901.0, reinterpret_cast<const char*>(u8"$12B")},
-        {123456789012.0, reinterpret_cast<const char*>(u8"$120B")},
-        {1234567890123.0, reinterpret_cast<const char*>(u8"$1.2T")},
-        {12345678901234.0, reinterpret_cast<const char*>(u8"$12T")},
-        {123456789012345.0, reinterpret_cast<const char*>(u8"$120T")},
+        {1.0, "$1"},
+        {12.0, "$12"},
+        {123.0, "$120"},
+        {1234.0, "$1.2K"},
+        {12345.0, "$12K"},
+        {123456.0, "$120K"},
+        {1234567.0, "$1.2M"},
+        {12345678.0, "$12M"},
+        {123456789.0, "$120M"},
+        {1234567890.0, "$1.2B"},
+        {12345678901.0, "$12B"},
+        {123456789012.0, "$120B"},
+        {1234567890123.0, "$1.2T"},
+        {12345678901234.0, "$12T"},
+        {123456789012345.0, "$120T"},
 };
 
 
index 53d8cfd..949bd3b 100644 (file)
@@ -1185,9 +1185,13 @@ ConversionTest::ToUnicodeCase(ConversionCase &cc, UConverterToUCallback callback
             cc.offsets=NULL;
         }
         else {
-            memset(resultOffsets, -1, UPRV_LENGTHOF(resultOffsets));
+            for (int32_t i = 0; i < UPRV_LENGTHOF(resultOffsets); i++) {
+                resultOffsets[i] = -1;
+            }
+        }
+        for (int32_t i = 0; i < UPRV_LENGTHOF(result); i++) {
+            result[i] = -1;
         }
-        memset(result, -1, UPRV_LENGTHOF(result));
         errorCode.reset();
         resultLength=stepToUnicode(cc, cnv.getAlias(),
                                 result, UPRV_LENGTHOF(result),
@@ -1615,8 +1619,12 @@ ConversionTest::FromUnicodeCase(ConversionCase &cc, UConverterFromUCallback call
     ok=TRUE;
     for(i=0; i<UPRV_LENGTHOF(steps) && ok; ++i) {
         step=steps[i].step;
-        memset(resultOffsets, -1, UPRV_LENGTHOF(resultOffsets));
-        memset(result, -1, UPRV_LENGTHOF(result));
+        for (int32_t i = 0; i < UPRV_LENGTHOF(resultOffsets); i++) {
+            resultOffsets[i] = -1;
+        }
+        for (int32_t i = 0; i < UPRV_LENGTHOF(result); i++) {
+            result[i] = -1;
+        }
         errorCode=U_ZERO_ERROR;
         resultLength=stepFromUnicode(cc, cnv,
                                 result, UPRV_LENGTHOF(result),
index 08c9cec..c74f387 100644 (file)
@@ -448,7 +448,7 @@ void DataDrivenCalendarTest::processTest(TestData *testData) {
     //Calendar *cal= NULL;
     //const UChar *arguments= NULL;
     //int32_t argLen = 0;
-    char testType[256];
+    char testType[256] = "";
     const DataMap *settings= NULL;
     //const UChar *type= NULL;
     UErrorCode status = U_ZERO_ERROR;
index a382bd5..bff134a 100644 (file)
@@ -330,7 +330,7 @@ void DataDrivenFormatTest::processTest(TestData *testData) {
     //Format *cal= NULL;
     //const UChar *arguments= NULL;
     //int32_t argLen = 0;
-    char testType[256];
+    char testType[256] = "";
     const DataMap *settings= NULL;
     //const UChar *type= NULL;
     UErrorCode status = U_ZERO_ERROR;
index 7b772f1..b72f0df 100644 (file)
@@ -63,8 +63,9 @@ DateFormatRegressionTest::runIndexedTest( int32_t index, UBool exec, const char*
         CASE(30,TestT10334)
         CASE(31,TestT10619)
         CASE(32,TestT10855)
-        CASE(33,TestT10906)
-        CASE(34,TestT13380)
+        CASE(33,TestT10858)
+        CASE(34,TestT10906)
+        CASE(35,TestT13380)
         default: name = ""; break;
     }
 }
@@ -1762,6 +1763,45 @@ void DateFormatRegressionTest::TestT13380(void) {
     }
 }
 
+void DateFormatRegressionTest::TestT10858(void) {
+    // test for assignment operator on instances with the same locale but different TimeZoneFormat
+    UErrorCode status = U_ZERO_ERROR;
+    UnicodeString pattern("VVVV");
+    Locale loc("en_US");
+
+    // Make two identical Formats
+    SimpleDateFormat fmt_rhs(pattern, loc, status);
+    SimpleDateFormat fmt_lhs(pattern, loc, status);
+
+    // Setup a custom TimeZoneFormat
+    TimeZoneFormat* tzFmt = TimeZoneFormat::createInstance(Locale("de_DE"), status);
+    tzFmt->setGMTPattern(UnicodeString("UTC{0}"), status);
+    tzFmt->setGMTZeroFormat(UnicodeString("UTC"), status);
+
+    // Set custom TimeZoneFormat in fmt1 before assignment. Use
+    // adoptTimeZoneFormat instead of setTimeZoneFormat to delegate
+    // cleanup of tzFmt to SimpleDateFormat
+    fmt_rhs.adoptTimeZoneFormat(tzFmt);
+
+    // Make sure TimeZoneFormat is DIFFERENT between fmt_lhs & fmt_rhs at this point.
+    // Direct comparison with TimeZoneFormat::operator== does not suffice as it only
+    // checks for 'semantically equal' rather than 'identical' -- compare results of
+    // SimpleDateFormat::format() instead
+    UnicodeString res_rhs; fmt_rhs.format(0.0, res_rhs);
+    UnicodeString res_lhs_pre_assign; fmt_lhs.format(0.0, res_lhs_pre_assign);
+    if (res_lhs_pre_assign == res_rhs) {
+        errln(UnicodeString("Error: adoptTimeZoneFormat failed to set custom TimeZoneFormat into 'fmt_rhs'"));
+    }
+
+    // Invoke assignment operator and make sure formatted outputs from both objects are
+    // now identical (i.e. TimeZoneFormat, among other members, is correctly copied to LHS)
+    fmt_lhs = fmt_rhs;
+    UnicodeString res_lhs_post_assign; fmt_lhs.format(0.0, res_lhs_post_assign);
+    if (res_lhs_post_assign != res_rhs) {
+        errln(UnicodeString("Error: assigned instance did not take up TimeZoneFormat from original"));
+    }
+}
+
 #endif /* #if !UCONFIG_NO_FORMATTING */
 
 //eof
index 305487d..ecad431 100644 (file)
@@ -59,6 +59,7 @@ public:
     void TestT10334(void);
     void TestT10619(void);
     void TestT10855(void);
+    void TestT10858(void);
     void TestT10906(void);
     void TestT13380(void);
  };
index 01b7c80..5fb5e5c 100644 (file)
@@ -470,7 +470,14 @@ void DateFormatRoundTripTest::test(DateFormat *fmt, const Locale &origLocale, UB
               } else if(!strcmp(type,"hebrew")) {
                   maxSmatch = 3;
                   maxDmatch = 3;
-                }
+              } else if (timeOnly && uprv_strcmp(origLocale.getName(),"ar_JO@calendar=islamic-civil")==0 &&
+                      logKnownIssue("21049", "ar_JO@calendar=islamic-civil timeOnly roundtrip converges too slowly")) {
+                  // For some reason, for time-only tests, ar_JO@calendar=islamic-civil is no
+                  // longer converging to a match as fast as expected above. Investigate with
+                  // ICU-21022, but meanwhile allow more cycles for convergence.
+                  maxSmatch = 2;
+                  maxDmatch = 3;
+              }
             }
 
             // Use @v to see verbose results on successful cases
@@ -478,7 +485,9 @@ void DateFormatRoundTripTest::test(DateFormat *fmt, const Locale &origLocale, UB
             if (optionv || fail) {
                 if (fail) {
                     errln(UnicodeString("\nFAIL: Pattern: ") + pat +
-                          " in Locale: " + origLocale.getName());
+                          " in Locale: " + origLocale.getName() +
+                          "\nget dmatch: " + dmatch + " (expected max " + maxDmatch +
+                          "), smatch: " + smatch + " (expected max " + maxSmatch + ")");
                 } else {
                     errln(UnicodeString("\nOk: Pattern: ") + pat +
                           " in Locale: " + origLocale.getName());
index 9684e88..59eb11e 100644 (file)
@@ -128,6 +128,7 @@ void DateFormatTest::runIndexedTest( int32_t index, UBool exec, const char* &nam
     TESTCASE_AUTO(TestDayPeriodParsing);
     TESTCASE_AUTO(TestParseRegression13744);
     TESTCASE_AUTO(TestAdoptCalendarLeak);
+    TESTCASE_AUTO(Test20741_ABFields);
 
     TESTCASE_AUTO_END;
 }
@@ -4912,7 +4913,37 @@ void DateFormatTest::TestPatternFromSkeleton() {
         {Locale::getEnglish(), "jjmm", "h:mm a"},
         {Locale::getEnglish(), "JJmm", "hh:mm"},
         {Locale::getGerman(), "jjmm", "HH:mm"},
-        {Locale::getGerman(), "JJmm", "HH:mm"}
+        {Locale::getGerman(), "JJmm", "HH:mm"},
+        // Ticket #20739
+        // minutes+milliseconds, seconds missing, should be repaired
+        {Locale::getEnglish(), "SSSSm", "mm:ss.SSSS"},
+        {Locale::getEnglish(), "mSSSS", "mm:ss.SSSS"},
+        {Locale::getEnglish(), "SSSm", "mm:ss.SSS"},
+        {Locale::getEnglish(), "mSSS", "mm:ss.SSS"},
+        {Locale::getEnglish(), "SSm", "mm:ss.SS"},
+        {Locale::getEnglish(), "mSS", "mm:ss.SS"},
+        {Locale::getEnglish(), "Sm", "mm:ss.S"},
+        {Locale::getEnglish(), "mS", "mm:ss.S"},
+        // only milliseconds, untouched, no repairs
+        {Locale::getEnglish(), "S", "S"},
+        {Locale::getEnglish(), "SS", "SS"},
+        {Locale::getEnglish(), "SSS", "SSS"},
+        {Locale::getEnglish(), "SSSS", "SSSS"},
+        // hour:minute+seconds+milliseconds, correct, no repairs, proper pattern
+        {Locale::getEnglish(), "jmsSSS", "h:mm:ss.SSS a"},
+        {Locale::getEnglish(), "jmSSS", "h:mm:ss.SSS a"},
+        // Ticket #20738
+        // seconds+milliseconds, correct, no repairs, proper pattern
+        {Locale::getEnglish(), "sS", "s.S"},
+        {Locale::getEnglish(), "sSS", "s.SS"},
+        {Locale::getEnglish(), "sSSS", "s.SSS"},
+        {Locale::getEnglish(), "sSSSS", "s.SSSS"},
+        {Locale::getEnglish(), "sS", "s.S"},
+        // minutes+seconds+milliseconds, correct, no repairs, proper pattern
+        {Locale::getEnglish(), "msS", "mm:ss.S"},
+        {Locale::getEnglish(), "msSS", "mm:ss.SS"},
+        {Locale::getEnglish(), "msSSS", "mm:ss.SSS"},
+        {Locale::getEnglish(), "msSSSS", "mm:ss.SSSS"}
     };
 
     for (size_t i = 0; i < UPRV_LENGTHOF(TESTDATA); i++) {
@@ -5555,6 +5586,51 @@ void DateFormatTest::TestAdoptCalendarLeak() {
     sdf.adoptCalendar(Calendar::createInstance(status));
 }
 
+/**
+ * Test that 'a' and 'B' fields are not duplicated in the field position iterator.
+ */
+void DateFormatTest::Test20741_ABFields() {
+    IcuTestErrorCode status(*this, "Test20741_ABFields");
+
+    const char16_t timeZone[] = u"PST8PDT";
+
+    UnicodeString skeletons[] = {u"EEEEEBBBBB", u"EEEEEbbbbb"};
+
+    for (int32_t j = 0; j < 2; j++) {
+        UnicodeString skeleton = skeletons[j];
+
+        int32_t count = 0;
+        const Locale* locales = Locale::getAvailableLocales(count);
+        for (int32_t i = 0; i < count; i++) {
+            if (quick && (i % 17) != 0) { continue; }
+
+            const Locale locale = locales[i];
+            LocalPointer<DateTimePatternGenerator> gen(DateTimePatternGenerator::createInstance(locale, status));
+            UnicodeString pattern = gen->getBestPattern(skeleton, status);
+
+            SimpleDateFormat dateFormat(pattern, locale, status);
+            FieldPositionIterator fpositer;
+            UnicodeString result;
+            LocalPointer<Calendar> calendar(Calendar::createInstance(TimeZone::createTimeZone(timeZone), status));
+            calendar->setTime(UDate(0), status);
+            dateFormat.format(*calendar, result, &fpositer, status);
+
+            FieldPosition curFieldPosition;
+            FieldPosition lastFieldPosition;
+            lastFieldPosition.setBeginIndex(-1);
+            lastFieldPosition.setEndIndex(-1);
+            while(fpositer.next(curFieldPosition)) {
+                assertFalse("Field missing on pattern", pattern.indexOf(PATTERN_CHARS[curFieldPosition.getField()]) == -1);
+                if (curFieldPosition.getBeginIndex() == lastFieldPosition.getBeginIndex() && curFieldPosition.getEndIndex() == lastFieldPosition.getEndIndex()) {
+                    assertEquals("Different fields at same position", PATTERN_CHARS[curFieldPosition.getField()], PATTERN_CHARS[lastFieldPosition.getField()]);
+                }
+
+                lastFieldPosition = curFieldPosition;
+            }
+        }
+    }
+}
+
 #endif /* #if !UCONFIG_NO_FORMATTING */
 
 //eof
index fd07b5a..ac36919 100644 (file)
@@ -263,6 +263,7 @@ public:
     void TestDayPeriodParsing();
     void TestParseRegression13744();
     void TestAdoptCalendarLeak();
+    void Test20741_ABFields();
 
 private:
     UBool showParse(DateFormat &format, const UnicodeString &formattedString);
index 7edb6a4..9713dee 100644 (file)
@@ -58,6 +58,8 @@ void DateIntervalFormatTest::runIndexedTest( int32_t index, UBool exec, const ch
         TESTCASE(9, testTicket12065);
         TESTCASE(10, testFormattedDateInterval);
         TESTCASE(11, testCreateInstanceForAllLocales);
+        TESTCASE(12, testTicket20707);
+        TESTCASE(13, testFormatMillisecond);
         default: name = ""; break;
     }
 }
@@ -1805,4 +1807,155 @@ void DateIntervalFormatTest::testCreateInstanceForAllLocales() {
     }
 }
 
+void DateIntervalFormatTest::testFormatMillisecond() {
+    struct
+    {
+        int year;
+        int month;
+        int day;
+        int from_hour;
+        int from_miniute;
+        int from_second;
+        int from_millisecond;
+        int to_hour;
+        int to_miniute;
+        int to_second;
+        int to_millisecond;
+        const char* skeleton;
+        const char16_t* expected;
+    }
+    kTestCases [] =
+    {
+        //           From            To
+        //   y  m  d   h  m   s   ms   h  m   s   ms   skeleton  expected
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 45, 321, "ms",     u"23:45"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 45, 321, "msS",    u"23:45.3"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 45, 321, "msSS",   u"23:45.32"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 45, 321, "msSSS",  u"23:45.321"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 45, 987, "ms",     u"23:45"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 45, 987, "msS",    u"23:45.3 \u2013 23:45.9"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 45, 987, "msSS",   u"23:45.32 \u2013 23:45.98"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 45, 987, "msSSS",  u"23:45.321 \u2013 23:45.987"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 46, 987, "ms",     u"23:45 \u2013 23:46"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 46, 987, "msS",    u"23:45.3 \u2013 23:46.9"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 46, 987, "msSS",   u"23:45.32 \u2013 23:46.98"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 46, 987, "msSSS",  u"23:45.321 \u2013 23:46.987"},
+        { 2019, 2, 10, 1, 23, 45, 321, 2, 24, 45, 987, "ms",     u"23:45 \u2013 24:45"},
+        { 2019, 2, 10, 1, 23, 45, 321, 2, 24, 45, 987, "msS",    u"23:45.3 \u2013 24:45.9"},
+        { 2019, 2, 10, 1, 23, 45, 321, 2, 24, 45, 987, "msSS",   u"23:45.32 \u2013 24:45.98"},
+        { 2019, 2, 10, 1, 23, 45, 321, 2, 24, 45, 987, "msSSS",  u"23:45.321 \u2013 24:45.987"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 45, 321, "s",      u"45"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 45, 321, "sS",     u"45.3"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 45, 321, "sSS",    u"45.32"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 45, 321, "sSSS",   u"45.321"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 45, 987, "s",      u"45"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 45, 987, "sS",     u"45.3 \u2013 45.9"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 45, 987, "sSS",    u"45.32 \u2013 45.98"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 45, 987, "sSSS",   u"45.321 \u2013 45.987"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 46, 987, "s",      u"45 \u2013 46"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 46, 987, "sS",     u"45.3 \u2013 46.9"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 46, 987, "sSS",    u"45.32 \u2013 46.98"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 46, 987, "sSSS",   u"45.321 \u2013 46.987"},
+        { 2019, 2, 10, 1, 23, 45, 321, 2, 24, 45, 987, "s",      u"45 \u2013 45"},
+        { 2019, 2, 10, 1, 23, 45, 321, 2, 24, 45, 987, "sS",     u"45.3 \u2013 45.9"},
+        { 2019, 2, 10, 1, 23, 45, 321, 2, 24, 45, 987, "sSS",    u"45.32 \u2013 45.98"},
+        { 2019, 2, 10, 1, 23, 45, 321, 2, 24, 45, 987, "sSSS",   u"45.321 \u2013 45.987"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 45, 321, "S",      u"3"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 45, 321, "SS",     u"32"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 45, 321, "SSS",    u"321"},
+
+        // Same millisecond but in different second.
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 46, 321, "S",      u"3 \u2013 3"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 46, 321, "SS",     u"32 \u2013 32"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 46, 321, "SSS",    u"321 \u2013 321"},
+
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 45, 987, "S",      u"3 \u2013 9"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 45, 987, "SS",     u"32 \u2013 98"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 45, 987, "SSS",    u"321 \u2013 987"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 46, 987, "S",      u"3 \u2013 9"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 46, 987, "SS",     u"32 \u2013 98"},
+        { 2019, 2, 10, 1, 23, 45, 321, 1, 23, 46, 987, "SSS",    u"321 \u2013 987"},
+        { 2019, 2, 10, 1, 23, 45, 321, 2, 24, 45, 987, "S",      u"3 \u2013 9"},
+        { 2019, 2, 10, 1, 23, 45, 321, 2, 24, 45, 987, "SS",     u"32 \u2013 98"},
+        { 2019, 2, 10, 1, 23, 45, 321, 2, 24, 45, 987, "SSS",    u"321 \u2013 987"},
+        { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, nullptr, nullptr},
+    };
+
+    const Locale &enLocale = Locale::getEnglish();
+    IcuTestErrorCode status(*this, "testFormatMillisecond");
+    LocalPointer<Calendar> calendar(Calendar::createInstance(enLocale, status));
+    if (status.errIfFailureAndReset()) { return; }
+
+    for (int32_t i = 0; kTestCases[i].year > 0; i++) {
+        LocalPointer<DateIntervalFormat> fmt(DateIntervalFormat::createInstance(
+            kTestCases[i].skeleton, enLocale, status));
+        if (status.errIfFailureAndReset()) { continue; }
+
+        calendar->clear();
+        calendar->set(kTestCases[i].year, kTestCases[i].month, kTestCases[i].day,
+                      kTestCases[i].from_hour, kTestCases[i].from_miniute, kTestCases[i].from_second);
+        UDate from = calendar->getTime(status) + kTestCases[i].from_millisecond;
+        if (status.errIfFailureAndReset()) { continue; }
+
+        calendar->clear();
+        calendar->set(kTestCases[i].year, kTestCases[i].month, kTestCases[i].day,
+                      kTestCases[i].to_hour, kTestCases[i].to_miniute, kTestCases[i].to_second);
+        UDate to = calendar->getTime(status) + kTestCases[i].to_millisecond;
+        FormattedDateInterval  res = fmt->formatToValue(DateInterval(from, to), status);
+        if (status.errIfFailureAndReset()) { continue; }
+
+        UnicodeString formatted = res.toString(status);
+        if (status.errIfFailureAndReset()) { continue; }
+        if (formatted != kTestCases[i].expected) {
+            std::string tmp1;
+            std::string tmp2;
+            errln("Case %d for skeleton %s : Got %s but expect %s",
+                  i, kTestCases[i].skeleton, formatted.toUTF8String<std::string>(tmp1).c_str(),
+                  UnicodeString(kTestCases[i].expected).toUTF8String<std::string>(tmp2).c_str());
+        }
+    }
+}
+
+void DateIntervalFormatTest::testTicket20707() {
+    IcuTestErrorCode status(*this, "testTicket20707");
+
+    const char16_t timeZone[] = u"UTC";
+    Locale locales[] = {"en-u-hc-h24", "en-u-hc-h23", "en-u-hc-h12", "en-u-hc-h11", "en", "en-u-hc-h25", "hi-IN-u-hc-h11"};
+
+    // Clomuns: hh, HH, kk, KK, jj, JJs, CC
+    UnicodeString expected[][7] = {
+        // Hour-cycle: k
+        {u"12 AM", u"24", u"24", u"12 AM", u"24", u"0 (hour: 24)", u"12 AM"},
+        // Hour-cycle: H
+        {u"12 AM", u"00", u"00", u"12 AM", u"00", u"0 (hour: 00)", u"12 AM"},
+        // Hour-cycle: h
+        {u"12 AM", u"00", u"00", u"12 AM", u"12 AM", u"0 (hour: 12)", u"12 AM"},
+        // Hour-cycle: K
+        {u"0 AM", u"00", u"00", u"0 AM", u"0 AM", u"0 (hour: 00)", u"0 AM"},
+        {u"12 AM", u"00", u"00", u"12 AM", u"12 AM", u"0 (hour: 12)", u"12 AM"},
+        {u"12 AM", u"00", u"00", u"12 AM", u"12 AM", u"0 (hour: 12)", u"12 AM"},
+        // Hour-cycle: K
+        {u"0 am", u"00", u"00", u"0 am", u"0 am", u"0 (\u0918\u0902\u091F\u093E: 00)", u"\u0930\u093E\u0924 0"}
+    };
+
+    int32_t i = 0;
+    for (Locale locale : locales) {
+        int32_t j = 0;
+        for (const UnicodeString skeleton : {u"hh", u"HH", u"kk", u"KK", u"jj", u"JJs", u"CC"}) {
+            LocalPointer<DateIntervalFormat> dtifmt(DateIntervalFormat::createInstance(skeleton, locale, status));
+            if (status.errDataIfFailureAndReset()) {
+                continue;
+            }
+            FieldPosition fposition;
+            UnicodeString result;
+            LocalPointer<Calendar> calendar(Calendar::createInstance(TimeZone::createTimeZone(timeZone), status));
+            calendar->setTime(UDate(1563235200000), status);
+            dtifmt->format(*calendar, *calendar, result, fposition, status);
+
+            assertEquals("Formatted result", expected[i][j++], result);
+        }
+        i++;
+    }
+}
+
 #endif /* #if !UCONFIG_NO_FORMATTING */
index b05a57a..69b3d93 100644 (file)
@@ -34,6 +34,8 @@ public:
      */
     void testFormat();
 
+    void testFormatMillisecond();
+
     /**
      * Test formatting using user defined DateIntervalInfo
      */
@@ -67,6 +69,8 @@ public:
     void testFormattedDateInterval();
     void testCreateInstanceForAllLocales();
 
+    void testTicket20707();
+
 private:
     /**
      * Test formatting against expected result
index 02745c1..3a0f9ed 100644 (file)
@@ -43,6 +43,7 @@ void IntlTestDateTimePatternGeneratorAPI::runIndexedTest( int32_t index, UBool e
         TESTCASE(7, testJjMapping);
         TESTCASE(8, test20640_HourCyclArsEnNH);
         TESTCASE(9, testFallbackWithDefaultRootLocale);
+        TESTCASE(10, testGetDefaultHourCycle_OnEmptyInstance);
         default: name = ""; break;
     }
 }
@@ -1410,18 +1411,19 @@ void IntlTestDateTimePatternGeneratorAPI::test20640_HourCyclArsEnNH() {
         const char* localeName;
         const char16_t* expectedDtpgPattern;
         const char16_t* expectedTimePattern;
+        UDateFormatHourCycle expectedDefaultHourCycle;
     } cases[] = {
         // ars is interesting because it does not have a region, but it aliases
         // to ar_SA, which has a region.
-        {"ars", u"h a", u"h:mm a"},
+        {"ars", u"h a", u"h:mm a", UDAT_HOUR_CYCLE_12},
         // en_NH is interesting because NH is a deprecated region code;
         // formerly New Hebrides, now Vanuatu => VU => h.
-        {"en_NH", u"h a", u"h:mm a"},
+        {"en_NH", u"h a", u"h:mm a", UDAT_HOUR_CYCLE_12},
         // ch_ZH is a typo (should be zh_CN), but we should fail gracefully.
         // {"cn_ZH", u"HH", u"H:mm"}, // TODO(ICU-20653): Desired behavior
-        {"cn_ZH", u"HH", u"h:mm a"}, // Actual behavior
+        {"cn_ZH", u"HH", u"h:mm a", UDAT_HOUR_CYCLE_23 }, // Actual behavior
         // a non-BCP47 locale without a country code should not fail
-        {"ja_TRADITIONAL", u"H時", u"H:mm"},
+        {"ja_TRADITIONAL", u"H時", u"H:mm", UDAT_HOUR_CYCLE_23},
     };
 
     for (auto& cas : cases) {
@@ -1440,11 +1442,17 @@ void IntlTestDateTimePatternGeneratorAPI::test20640_HourCyclArsEnNH() {
         if (status.errIfFailureAndReset()) {
             return;
         }
+        UDateFormatHourCycle defaultHourCycle = dtpg->getDefaultHourCycle(status);
+        if (status.errIfFailureAndReset()) {
+            return;
+        }
 
         assertEquals(UnicodeString("dtpgPattern ") + cas.localeName,
             cas.expectedDtpgPattern, dtpgPattern);
         assertEquals(UnicodeString("timePattern ") + cas.localeName,
             cas.expectedTimePattern, timePattern);
+        assertEquals(UnicodeString("defaultHour ") + cas.localeName,
+            cas.expectedDefaultHourCycle, defaultHourCycle);
     }
 
 }
@@ -1476,4 +1484,27 @@ void IntlTestDateTimePatternGeneratorAPI::testFallbackWithDefaultRootLocale() {
     }
 }
 
+// ICU-21000 Ensure that calling getDefaultHourCycle on an empty instance doesn't call UPRV_UNREACHABLE/abort.
+void IntlTestDateTimePatternGeneratorAPI::testGetDefaultHourCycle_OnEmptyInstance() {
+    UErrorCode status = U_ZERO_ERROR;
+
+    LocalPointer<DateTimePatternGenerator> dtpg(DateTimePatternGenerator::createEmptyInstance(status), status);
+    if (U_FAILURE(status)) {
+        errln("ERROR: createEmptyInstance failed, status: %s", u_errorName(status));
+        return;
+    }
+    (void)dtpg->getDefaultHourCycle(status);
+    if (!U_FAILURE(status)) {
+        errln("ERROR: expected getDefaultHourCycle on an empty instance to fail, status: %s", u_errorName(status));
+        return;
+    }
+
+    status = U_USELESS_COLLATOR_ERROR;
+    (void)dtpg->getDefaultHourCycle(status);
+    if (status != U_USELESS_COLLATOR_ERROR) {
+        errln("ERROR: getDefaultHourCycle shouldn't modify status if it is already failed, status: %s", u_errorName(status));
+        return;
+    }
+}
+
 #endif /* #if !UCONFIG_NO_FORMATTING */
index c0bebcc..90f65c9 100644 (file)
@@ -35,6 +35,7 @@ private:
     void testJjMapping();
     void test20640_HourCyclArsEnNH();
     void testFallbackWithDefaultRootLocale();
+    void testGetDefaultHourCycle_OnEmptyInstance();
 };
 
 #endif /* #if !UCONFIG_NO_FORMATTING */
index 4ce63da..18f56d3 100644 (file)
@@ -10,6 +10,7 @@
 #include "intltest.h"
 #include "formatted_string_builder.h"
 #include "formattedval_impl.h"
+#include "unicode/unum.h"
 
 
 class FormattedStringBuilderTest : public IntlTest {
@@ -61,10 +62,9 @@ void FormattedStringBuilderTest::testInsertAppendUnicodeString() {
 
         FormattedStringBuilder sb3;
         sb1.append(str);
-        // Note: UNUM_FIELD_COUNT is like passing null in Java
-        sb2.append(str, UNUM_FIELD_COUNT, status);
+        sb2.append(str, kUndefinedField, status);
         assertSuccess("Appending to sb2", status);
-        sb3.append(str, UNUM_FIELD_COUNT, status);
+        sb3.append(str, kUndefinedField, status);
         assertSuccess("Appending to sb3", status);
         assertEqualsImpl(sb1, sb2);
         assertEqualsImpl(str, sb3);
@@ -74,16 +74,16 @@ void FormattedStringBuilderTest::testInsertAppendUnicodeString() {
         sb4.append(u"😇");
         sb4.append(str);
         sb4.append(u"xx");
-        sb5.append(u"😇xx", UNUM_FIELD_COUNT, status);
+        sb5.append(u"😇xx", kUndefinedField, status);
         assertSuccess("Appending to sb5", status);
-        sb5.insert(2, str, UNUM_FIELD_COUNT, status);
+        sb5.insert(2, str, kUndefinedField, status);
         assertSuccess("Inserting into sb5", status);
         assertEqualsImpl(sb4, sb5);
 
         int start = uprv_min(1, str.length());
         int end = uprv_min(10, str.length());
         sb4.insert(3, str, start, end - start); // UnicodeString uses length instead of end index
-        sb5.insert(3, str, start, end, UNUM_FIELD_COUNT, status);
+        sb5.insert(3, str, start, end, kUndefinedField, status);
         assertSuccess("Inserting into sb5 again", status);
         assertEqualsImpl(sb4, sb5);
 
@@ -124,8 +124,8 @@ void FormattedStringBuilderTest::testSplice() {
             sb1.append(cas.input);
             sb1.replace(cas.startThis, cas.endThis - cas.startThis, replacement);
             sb2.clear();
-            sb2.append(cas.input, UNUM_FIELD_COUNT, status);
-            sb2.splice(cas.startThis, cas.endThis, replacement, 0, replacement.length(), UNUM_FIELD_COUNT, status);
+            sb2.append(cas.input, kUndefinedField, status);
+            sb2.splice(cas.startThis, cas.endThis, replacement, 0, replacement.length(), kUndefinedField, status);
             assertSuccess("Splicing into sb2 first time", status);
             assertEqualsImpl(sb1, sb2);
 
@@ -137,8 +137,8 @@ void FormattedStringBuilderTest::testSplice() {
             sb1.append(cas.input);
             sb1.replace(cas.startThis, cas.endThis - cas.startThis, UnicodeString(replacement, 1, 2));
             sb2.clear();
-            sb2.append(cas.input, UNUM_FIELD_COUNT, status);
-            sb2.splice(cas.startThis, cas.endThis, replacement, 1, 3, UNUM_FIELD_COUNT, status);
+            sb2.append(cas.input, kUndefinedField, status);
+            sb2.splice(cas.startThis, cas.endThis, replacement, 1, 3, kUndefinedField, status);
             assertSuccess("Splicing into sb2 second time", status);
             assertEqualsImpl(sb1, sb2);
         }
@@ -154,9 +154,9 @@ void FormattedStringBuilderTest::testInsertAppendCodePoint() {
     for (UChar32 cas : cases) {
         FormattedStringBuilder sb3;
         sb1.append(cas);
-        sb2.appendCodePoint(cas, UNUM_FIELD_COUNT, status);
+        sb2.appendCodePoint(cas, kUndefinedField, status);
         assertSuccess("Appending to sb2", status);
-        sb3.appendCodePoint(cas, UNUM_FIELD_COUNT, status);
+        sb3.appendCodePoint(cas, kUndefinedField, status);
         assertSuccess("Appending to sb3", status);
         assertEqualsImpl(sb1, sb2);
         assertEquals("Length of sb3", U16_LENGTH(cas), sb3.length());
@@ -170,9 +170,9 @@ void FormattedStringBuilderTest::testInsertAppendCodePoint() {
         FormattedStringBuilder sb5;
         sb4.append(u"😇xx");
         sb4.insert(2, cas);
-        sb5.append(u"😇xx", UNUM_FIELD_COUNT, status);
+        sb5.append(u"😇xx", kUndefinedField, status);
         assertSuccess("Appending to sb5", status);
-        sb5.insertCodePoint(2, cas, UNUM_FIELD_COUNT, status);
+        sb5.insertCodePoint(2, cas, kUndefinedField, status);
         assertSuccess("Inserting into sb5", status);
         assertEqualsImpl(sb4, sb5);
 
@@ -180,10 +180,10 @@ void FormattedStringBuilderTest::testInsertAppendCodePoint() {
         FormattedStringBuilder sb7;
         sb6.append(cas);
         if (U_IS_SUPPLEMENTARY(cas)) {
-            sb7.appendChar16(U16_TRAIL(cas), UNUM_FIELD_COUNT, status);
-            sb7.insertChar16(0, U16_LEAD(cas), UNUM_FIELD_COUNT, status);
+            sb7.appendChar16(U16_TRAIL(cas), kUndefinedField, status);
+            sb7.insertChar16(0, U16_LEAD(cas), kUndefinedField, status);
         } else {
-            sb7.insertChar16(0, cas, UNUM_FIELD_COUNT, status);
+            sb7.insertChar16(0, cas, kUndefinedField, status);
         }
         assertSuccess("Insert/append into sb7", status);
         assertEqualsImpl(sb6, sb7);
@@ -194,33 +194,35 @@ void FormattedStringBuilderTest::testCopy() {
     UErrorCode status = U_ZERO_ERROR;
     for (UnicodeString str : EXAMPLE_STRINGS) {
         FormattedStringBuilder sb1;
-        sb1.append(str, UNUM_FIELD_COUNT, status);
+        sb1.append(str, kUndefinedField, status);
         assertSuccess("Appending to sb1 first time", status);
         FormattedStringBuilder sb2(sb1);
         assertTrue("Content should equal itself", sb1.contentEquals(sb2));
 
-        sb1.append("12345", UNUM_FIELD_COUNT, status);
+        sb1.append("12345", kUndefinedField, status);
         assertSuccess("Appending to sb1 second time", status);
         assertFalse("Content should no longer equal itself", sb1.contentEquals(sb2));
     }
 }
 
 void FormattedStringBuilderTest::testFields() {
+    typedef FormattedStringBuilder::Field Field;
     UErrorCode status = U_ZERO_ERROR;
     // Note: This is a C++11 for loop that calls the UnicodeString constructor on each iteration.
     for (UnicodeString str : EXAMPLE_STRINGS) {
-        FormattedValueStringBuilderImpl sbi(0);
+        FormattedValueStringBuilderImpl sbi(kUndefinedField);
         FormattedStringBuilder& sb = sbi.getStringRef();
-        sb.append(str, UNUM_FIELD_COUNT, status);
+        sb.append(str, kUndefinedField, status);
         assertSuccess("Appending to sb", status);
-        sb.append(str, UNUM_CURRENCY_FIELD, status);
+        sb.append(str, {UFIELD_CATEGORY_NUMBER, UNUM_CURRENCY_FIELD}, status);
         assertSuccess("Appending to sb", status);
         assertEquals("Reference string copied twice", str.length() * 2, sb.length());
         for (int32_t i = 0; i < str.length(); i++) {
             assertEquals("Null field first",
-                (FormattedStringBuilder::Field) UNUM_FIELD_COUNT, sb.fieldAt(i));
+                kUndefinedField.bits, sb.fieldAt(i).bits);
             assertEquals("Currency field second",
-                (FormattedStringBuilder::Field) UNUM_CURRENCY_FIELD, sb.fieldAt(i + str.length()));
+                Field(UFIELD_CATEGORY_NUMBER, UNUM_CURRENCY_FIELD).bits,
+                sb.fieldAt(i + str.length()).bits);
         }
 
         // Very basic FieldPosition test. More robust tests happen in NumberFormatTest.
@@ -232,10 +234,12 @@ void FormattedStringBuilderTest::testFields() {
         assertEquals("Currency end position", str.length() * 2, fp.getEndIndex());
 
         if (str.length() > 0) {
-            sb.insertCodePoint(2, 100, UNUM_INTEGER_FIELD, status);
+            sb.insertCodePoint(2, 100, {UFIELD_CATEGORY_NUMBER, UNUM_INTEGER_FIELD}, status);
             assertSuccess("Inserting code point into sb", status);
             assertEquals("New length", str.length() * 2 + 1, sb.length());
-            assertEquals("Integer field", (FormattedStringBuilder::Field) UNUM_INTEGER_FIELD, sb.fieldAt(2));
+            assertEquals("Integer field",
+                Field(UFIELD_CATEGORY_NUMBER, UNUM_INTEGER_FIELD).bits,
+                sb.fieldAt(2).bits);
         }
 
         FormattedStringBuilder old(sb);
@@ -245,13 +249,14 @@ void FormattedStringBuilderTest::testFields() {
         int32_t numCurr = 0;
         int32_t numInt = 0;
         for (int32_t i = 0; i < sb.length(); i++) {
-            FormattedStringBuilder::Field field = sb.fieldAt(i);
-            assertEquals("Field should equal location in old", old.fieldAt(i % old.length()), field);
-            if (field == UNUM_FIELD_COUNT) {
+            auto field = sb.fieldAt(i);
+            assertEquals("Field should equal location in old",
+                old.fieldAt(i % old.length()).bits, field.bits);
+            if (field == kUndefinedField) {
                 numNull++;
-            } else if (field == UNUM_CURRENCY_FIELD) {
+            } else if (field == Field(UFIELD_CATEGORY_NUMBER, UNUM_CURRENCY_FIELD)) {
                 numCurr++;
-            } else if (field == UNUM_INTEGER_FIELD) {
+            } else if (field == Field(UFIELD_CATEGORY_NUMBER, UNUM_INTEGER_FIELD)) {
                 numInt++;
             } else {
                 errln("Encountered unknown field");
@@ -271,7 +276,7 @@ void FormattedStringBuilderTest::testUnlimitedCapacity() {
         UnicodeString message("Iteration #");
         message += Int64ToUnicodeString(i);
         assertEquals(message, builder.length(), i);
-        builder.appendCodePoint(u'x', UNUM_FIELD_COUNT, status);
+        builder.appendCodePoint(u'x', kUndefinedField, status);
         assertSuccess(message, status);
         assertEquals(message, builder.length(), i + 1);
     }
@@ -284,7 +289,7 @@ void FormattedStringBuilderTest::testCodePoints() {
     assertEquals("Last is -1 on empty string", -1, nsb.getLastCodePoint());
     assertEquals("Length is 0 on empty string", 0, nsb.codePointCount());
 
-    nsb.append(u"q", UNUM_FIELD_COUNT, status);
+    nsb.append(u"q", kUndefinedField, status);
     assertSuccess("Spot 1", status);
     assertEquals("First is q", u'q', nsb.getFirstCodePoint());
     assertEquals("Last is q", u'q', nsb.getLastCodePoint());
@@ -293,7 +298,7 @@ void FormattedStringBuilderTest::testCodePoints() {
     assertEquals("Code point count is 1", 1, nsb.codePointCount());
 
     // 🚀 is two char16s
-    nsb.append(u"🚀", UNUM_FIELD_COUNT, status);
+    nsb.append(u"🚀", kUndefinedField, status);
     assertSuccess("Spot 2" ,status);
     assertEquals("First is still q", u'q', nsb.getFirstCodePoint());
     assertEquals("Last is space ship", 128640, nsb.getLastCodePoint());
index 763f933..c57c8f5 100644 (file)
 
 #if !UCONFIG_NO_FORMATTING
 
+void ListFormatterTest::runIndexedTest(int32_t index, UBool exec,
+                                       const char* &name, char* /*par */) {
+    TESTCASE_AUTO_BEGIN;
+    TESTCASE_AUTO(TestRoot);
+    TESTCASE_AUTO(TestBogus);
+    TESTCASE_AUTO(TestEnglish);
+    TESTCASE_AUTO(TestEnglishUS);
+    TESTCASE_AUTO(TestRussian);
+    TESTCASE_AUTO(TestMalayalam);
+    TESTCASE_AUTO(TestZulu);
+    TESTCASE_AUTO(TestOutOfOrderPatterns);
+    TESTCASE_AUTO(Test9946);
+    TESTCASE_AUTO(TestEnglishGB);
+    TESTCASE_AUTO(TestNynorsk);
+    TESTCASE_AUTO(TestChineseTradHK);
+    TESTCASE_AUTO(TestFieldPositionIteratorWith1Item);
+    TESTCASE_AUTO(TestFieldPositionIteratorWith2Items);
+    TESTCASE_AUTO(TestFieldPositionIteratorWith2ItemsPatternShift);
+    TESTCASE_AUTO(TestFieldPositionIteratorWith3Items);
+    TESTCASE_AUTO(TestFieldPositionIteratorWith3ItemsPatternShift);
+    TESTCASE_AUTO(TestFormattedValue);
+    TESTCASE_AUTO(TestDifferentStyles);
+    TESTCASE_AUTO(TestBadStylesFail);
+    TESTCASE_AUTO(TestCreateStyled);
+    TESTCASE_AUTO(TestContextual);
+    TESTCASE_AUTO_END;
+}
+
 namespace {
 const char* attrString(int32_t attrId) {
   switch (attrId) {
@@ -33,10 +61,14 @@ const char* attrString(int32_t attrId) {
 }
 }  // namespace
 
-void ListFormatterTest::ExpectPositions(FieldPositionIterator& iter,
-                                        int32_t *values, int32_t tupleCount) {
+void ListFormatterTest::ExpectPositions(
+        const FormattedList& iter,
+        int32_t *values,
+        int32_t tupleCount,
+        UErrorCode& status) {
     UBool found[10];
-    FieldPosition fp;
+    ConstrainedFieldPosition cfp;
+    cfp.constrainCategory(UFIELD_CATEGORY_LIST);
     if (tupleCount > 10) {
       assertTrue("internal error, tupleCount too large", FALSE);
     } else {
@@ -44,11 +76,11 @@ void ListFormatterTest::ExpectPositions(FieldPositionIterator& iter,
             found[i] = FALSE;
         }
     }
-    while (iter.next(fp)) {
+    while (iter.nextPosition(cfp, status)) {
         UBool ok = FALSE;
-        int32_t id = fp.getField();
-        int32_t start = fp.getBeginIndex();
-        int32_t limit = fp.getEndIndex();
+        int32_t id = cfp.getField();
+        int32_t start = cfp.getStart();
+        int32_t limit = cfp.getLimit();
         char buf[128];
         sprintf(buf, "%24s %3d %3d %3d", attrString(id), id, start, limit);
         logln(buf);
@@ -217,53 +249,29 @@ void ListFormatterTest::TestEnglishGB() {
     CheckFourCases("en_GB", one, two, three, four, results, "TestEnglishGB()");
 }
 
-void ListFormatterTest::TestFieldPositionIteratorWontCrash() {
-    IcuTestErrorCode errorCode(*this, "TestFieldPositionIteratorWontCrash()");
-    LocalPointer<ListFormatter> formatter(
-        ListFormatter::createInstance(Locale("en"), errorCode));
-    if (U_FAILURE(errorCode)) {
-        dataerrln(
-            "ListFormatter::createInstance(Locale(\"en\"), errorCode) failed in "
-            "TestFieldPositionIteratorWontCrash: %s",
-            u_errorName(errorCode));
-        return;
-    }
-    UnicodeString data[3] = {"a", "bbb", "cc"};
-    UnicodeString actualResult;
-     // make sure NULL as FieldPositionIterator won't caused crash.
-    formatter->format(data, 3, actualResult, nullptr, errorCode);
-    if (U_FAILURE(errorCode)) {
-        dataerrln(
-            "ListFormatter::format(data, 3, nullptr, errorCode) "
-            "failed in TestFieldPositionIteratorWontCrash: %s",
-            u_errorName(errorCode));
-        return;
-    }
-}
-
 void ListFormatterTest::RunTestFieldPositionIteratorWithFormatter(
         ListFormatter* formatter,
         UnicodeString data[], int32_t n, int32_t expected[], int32_t tupleCount,
-        UnicodeString& appendTo, const char16_t *expectedFormatted,
+        const char16_t *expectedFormatted,
         const char* testName) {
     IcuTestErrorCode errorCode(*this, testName);
-    FieldPositionIterator iter;
-    formatter->format(data, n, appendTo, &iter, errorCode);
+    FormattedList fl = formatter->formatStringsToValue(data, n, errorCode);
+    UnicodeString actual = fl.toString(errorCode);
     if (U_FAILURE(errorCode)) {
         dataerrln(
             "ListFormatter::format(data, %d, &iter, errorCode) "
             "failed in %s: %s", n, testName, u_errorName(errorCode));
         return;
     }
-    if (appendTo != expectedFormatted) {
-        errln(UnicodeString("Expected: |") + expectedFormatted +  "|, Actual: |" + appendTo + "|");
+    if (actual != expectedFormatted) {
+        errln(UnicodeString("Expected: |") + expectedFormatted +  "|, Actual: |" + actual + "|");
     }
-    ExpectPositions(iter, expected, tupleCount);
+    ExpectPositions(fl, expected, tupleCount, errorCode);
 }
 
 void ListFormatterTest::RunTestFieldPositionIteratorWithNItemsPatternShift(
         UnicodeString data[], int32_t n, int32_t expected[], int32_t tupleCount,
-        UnicodeString& appendTo, const char16_t *expectedFormatted,
+        const char16_t *expectedFormatted,
         const char* testName) {
     IcuTestErrorCode errorCode(*this, testName);
     LocalPointer<ListFormatter> formatter(
@@ -276,12 +284,12 @@ void ListFormatterTest::RunTestFieldPositionIteratorWithNItemsPatternShift(
     }
     RunTestFieldPositionIteratorWithFormatter(
         formatter.getAlias(),
-        data, n, expected, tupleCount, appendTo, expectedFormatted, testName);
+        data, n, expected, tupleCount, expectedFormatted, testName);
 }
 
 void ListFormatterTest::RunTestFieldPositionIteratorWithNItems(
         UnicodeString data[], int32_t n, int32_t expected[], int32_t tupleCount,
-        UnicodeString& appendTo, const char16_t *expectedFormatted,
+        const char16_t *expectedFormatted,
         const char* testName) {
     IcuTestErrorCode errorCode(*this, testName);
     LocalPointer<ListFormatter> formatter(
@@ -294,27 +302,7 @@ void ListFormatterTest::RunTestFieldPositionIteratorWithNItems(
     }
     RunTestFieldPositionIteratorWithFormatter(
         formatter.getAlias(),
-        data, n, expected, tupleCount, appendTo, expectedFormatted, testName);
-}
-
-void ListFormatterTest::TestFieldPositionIteratorWith3ItemsAndDataBefore() {
-    //  0         1         2
-    //  0123456789012345678901234567
-    // "Hello World: a, bbb, and cc"
-    UnicodeString data[3] = {"a", "bbb", "cc"};
-    int32_t expected[] = {
-        ULISTFMT_ELEMENT_FIELD, 13, 14,
-        ULISTFMT_LITERAL_FIELD, 14, 16,
-        ULISTFMT_ELEMENT_FIELD, 16, 19,
-        ULISTFMT_LITERAL_FIELD, 19, 25,
-        ULISTFMT_ELEMENT_FIELD, 25, 27
-    };
-    int32_t tupleCount = sizeof(expected)/(3 * sizeof(*expected));
-    UnicodeString appendTo(u"Hello World: ");
-    RunTestFieldPositionIteratorWithNItems(
-        data, 3, expected, tupleCount, appendTo,
-        u"Hello World: a, bbb, and cc",
-        "TestFieldPositionIteratorWith3ItemsAndDataBefore");
+        data, n, expected, tupleCount, expectedFormatted, testName);
 }
 
 void ListFormatterTest::TestFieldPositionIteratorWith3Items() {
@@ -330,9 +318,8 @@ void ListFormatterTest::TestFieldPositionIteratorWith3Items() {
         ULISTFMT_ELEMENT_FIELD, 12, 14
     };
     int32_t tupleCount = sizeof(expected)/(3 * sizeof(*expected));
-    UnicodeString appendTo;
     RunTestFieldPositionIteratorWithNItems(
-        data, 3, expected, tupleCount, appendTo,
+        data, 3, expected, tupleCount,
         u"a, bbb, and cc",
         "TestFieldPositionIteratorWith3Items");
 }
@@ -350,31 +337,12 @@ void ListFormatterTest::TestFieldPositionIteratorWith3ItemsPatternShift() {
         ULISTFMT_ELEMENT_FIELD, 0, 2
     };
     int32_t tupleCount = sizeof(expected)/(3 * sizeof(*expected));
-    UnicodeString appendTo;
     RunTestFieldPositionIteratorWithNItemsPatternShift(
-        data, 3, expected, tupleCount, appendTo,
+        data, 3, expected, tupleCount,
         u"cc bbb a",
         "TestFieldPositionIteratorWith3ItemsPatternShift");
 }
 
-void ListFormatterTest::TestFieldPositionIteratorWith2ItemsAndDataBefore() {
-    //  0         1
-    //  0123456789012345
-    // "Foo: bbb and cc"
-    UnicodeString data[2] = {"bbb", "cc"};
-    int32_t expected[] = {
-        ULISTFMT_ELEMENT_FIELD, 5, 8,
-        ULISTFMT_LITERAL_FIELD, 8, 13,
-        ULISTFMT_ELEMENT_FIELD, 13, 15
-    };
-    int32_t tupleCount = sizeof(expected)/(3 * sizeof(*expected));
-    UnicodeString appendTo("Foo: ");
-    RunTestFieldPositionIteratorWithNItems(
-        data, 2, expected, tupleCount, appendTo,
-        u"Foo: bbb and cc",
-        "TestFieldPositionIteratorWith2ItemsAndDataBefore");
-}
-
 void ListFormatterTest::TestFieldPositionIteratorWith2Items() {
     //  0         1
     //  01234567890
@@ -386,9 +354,8 @@ void ListFormatterTest::TestFieldPositionIteratorWith2Items() {
         ULISTFMT_ELEMENT_FIELD, 8, 10
     };
     int32_t tupleCount = sizeof(expected)/(3 * sizeof(*expected));
-    UnicodeString appendTo;
     RunTestFieldPositionIteratorWithNItems(
-        data, 2, expected, tupleCount, appendTo,
+        data, 2, expected, tupleCount,
         u"bbb and cc",
         "TestFieldPositionIteratorWith2Items");
 }
@@ -404,28 +371,12 @@ void ListFormatterTest::TestFieldPositionIteratorWith2ItemsPatternShift() {
         ULISTFMT_ELEMENT_FIELD, 0, 2
     };
     int32_t tupleCount = sizeof(expected)/(3 * sizeof(*expected));
-    UnicodeString appendTo;
     RunTestFieldPositionIteratorWithNItemsPatternShift(
-        data, 2, expected, tupleCount, appendTo,
+        data, 2, expected, tupleCount,
         u"cc bbb",
         "TestFieldPositionIteratorWith2ItemsPatternShift");
 }
 
-void ListFormatterTest::TestFieldPositionIteratorWith1ItemAndDataBefore() {
-    //  012345678
-    // "Hello cc"
-    UnicodeString data[1] = {"cc"};
-    int32_t expected[] = {
-        ULISTFMT_ELEMENT_FIELD, 6, 8
-    };
-    int32_t tupleCount = sizeof(expected)/(3 * sizeof(*expected));
-    UnicodeString appendTo("Hello ");
-    RunTestFieldPositionIteratorWithNItems(
-        data, 1, expected, tupleCount, appendTo,
-        u"Hello cc",
-        "TestFieldPositionIteratorWith1ItemAndDataBefore");
-}
-
 void ListFormatterTest::TestFieldPositionIteratorWith1Item() {
     //  012
     // "cc"
@@ -434,9 +385,8 @@ void ListFormatterTest::TestFieldPositionIteratorWith1Item() {
         ULISTFMT_ELEMENT_FIELD, 0, 2
     };
     int32_t tupleCount = sizeof(expected)/(3 * sizeof(*expected));
-    UnicodeString appendTo;
     RunTestFieldPositionIteratorWithNItems(
-        data, 1, expected, tupleCount, appendTo,
+        data, 1, expected, tupleCount,
         u"cc",
         "TestFieldPositionIteratorWith1Item");
 }
@@ -524,8 +474,9 @@ void ListFormatterTest::TestOutOfOrderPatterns() {
     };
 
     IcuTestErrorCode errorCode(*this, "TestOutOfOrderPatterns()");
+    Locale locale("en");
     ListFormatData data("{1} after {0}", "{1} after the first {0}",
-                        "{1} after {0}", "{1} in the last after {0}");
+                        "{1} after {0}", "{1} in the last after {0}", locale);
     ListFormatter formatter(data, errorCode);
 
     UnicodeString input1[] = {one};
@@ -611,58 +562,141 @@ void ListFormatterTest::TestBadStylesFail() {
     }
 }
 
-void ListFormatterTest::runIndexedTest(int32_t index, UBool exec,
-                                       const char* &name, char* /*par */) {
-    switch(index) {
-        case 0: name = "TestRoot"; if (exec) TestRoot(); break;
-        case 1: name = "TestBogus"; if (exec) TestBogus(); break;
-        case 2: name = "TestEnglish"; if (exec) TestEnglish(); break;
-        case 3: name = "TestEnglishUS"; if (exec) TestEnglishUS(); break;
-        case 4: name = "TestRussian"; if (exec) TestRussian(); break;
-        case 5: name = "TestMalayalam"; if (exec) TestMalayalam(); break;
-        case 6: name = "TestZulu"; if (exec) TestZulu(); break;
-        case 7: name = "TestOutOfOrderPatterns"; if (exec) TestOutOfOrderPatterns(); break;
-        case 8: name = "Test9946"; if (exec) Test9946(); break;
-        case 9: name = "TestEnglishGB"; if (exec) TestEnglishGB(); break;
-        case 10: name = "TestNynorsk"; if (exec) TestNynorsk(); break;
-        case 11: name = "TestChineseTradHK"; if (exec) TestChineseTradHK(); break;
-        case 12: name = "TestFieldPositionIteratorWontCrash";
-                 if (exec) TestFieldPositionIteratorWontCrash();
-                 break;
-        case 13: name = "TestFieldPositionIteratorWith1Item";
-                 if (exec) TestFieldPositionIteratorWith1Item();
-                 break;
-        case 14: name = "TestFieldPositionIteratorWith1ItemAndDataBefore";
-                 if (exec) TestFieldPositionIteratorWith1ItemAndDataBefore();
-                 break;
-        case 15: name = "TestFieldPositionIteratorWith2Items";
-                 if (exec) TestFieldPositionIteratorWith2Items();
-                 break;
-        case 16: name = "TestFieldPositionIteratorWith2ItemsAndDataBefore";
-                 if (exec) TestFieldPositionIteratorWith2ItemsAndDataBefore();
-                 break;
-        case 17: name = "TestFieldPositionIteratorWith2ItemsPatternShift";
-                 if (exec) TestFieldPositionIteratorWith2ItemsPatternShift();
-                 break;
-        case 18: name = "TestFieldPositionIteratorWith3Items";
-                 if (exec) TestFieldPositionIteratorWith3Items();
-                 break;
-        case 19: name = "TestFieldPositionIteratorWith3ItemsAndDataBefore";
-                 if (exec) TestFieldPositionIteratorWith3ItemsAndDataBefore();
-                 break;
-        case 20: name = "TestFieldPositionIteratorWith3ItemsPatternShift";
-                 if (exec) TestFieldPositionIteratorWith3ItemsPatternShift();
-                 break;
-        case 21: name = "TestFormattedValue";
-                 if (exec) TestFormattedValue();
-                 break;
-        case 22: name = "TestDifferentStyles";
-                 if (exec) TestDifferentStyles();
-                 break;
-        case 23: name = "TestBadStylesFail";
-                 if (exec) TestBadStylesFail();
-                 break;
-        default: name = ""; break;
+void ListFormatterTest::TestCreateStyled() {
+    IcuTestErrorCode status(*this, "TestCreateStyled");
+    // Locale en has interesting data
+    struct TestCase {
+        const char* locale;
+        UListFormatterType type;
+        UListFormatterWidth width;
+        const char16_t* expected3;
+        const char16_t* expected2;
+        const char16_t* expected1;
+    } cases[] = {
+        { "pt", ULISTFMT_TYPE_AND, ULISTFMT_WIDTH_WIDE, u"A, B e C", u"A e B", u"A" },
+        { "pt", ULISTFMT_TYPE_AND, ULISTFMT_WIDTH_SHORT, u"A, B e C", u"A e B", u"A" },
+        { "pt", ULISTFMT_TYPE_AND, ULISTFMT_WIDTH_NARROW, u"A, B, C", u"A, B", u"A" },
+        { "pt", ULISTFMT_TYPE_OR, ULISTFMT_WIDTH_WIDE, u"A, B ou C", u"A ou B", u"A" },
+        { "pt", ULISTFMT_TYPE_OR, ULISTFMT_WIDTH_SHORT, u"A, B ou C", u"A ou B", u"A" },
+        { "pt", ULISTFMT_TYPE_OR, ULISTFMT_WIDTH_NARROW, u"A, B ou C", u"A ou B", u"A" },
+        { "pt", ULISTFMT_TYPE_UNITS, ULISTFMT_WIDTH_WIDE, u"A, B e C", u"A e B", u"A" },
+        { "pt", ULISTFMT_TYPE_UNITS, ULISTFMT_WIDTH_SHORT, u"A, B e C", u"A e B", u"A" },
+        { "pt", ULISTFMT_TYPE_UNITS, ULISTFMT_WIDTH_NARROW, u"A B C", u"A B", u"A" },
+        { "en", ULISTFMT_TYPE_AND, ULISTFMT_WIDTH_WIDE, u"A, B, and C", u"A and B", u"A" },
+        { "en", ULISTFMT_TYPE_AND, ULISTFMT_WIDTH_SHORT, u"A, B, & C", u"A & B", u"A" },
+        { "en", ULISTFMT_TYPE_AND, ULISTFMT_WIDTH_NARROW, u"A, B, C", u"A, B", u"A" },
+        { "en", ULISTFMT_TYPE_OR, ULISTFMT_WIDTH_WIDE, u"A, B, or C", u"A or B", u"A" },
+        { "en", ULISTFMT_TYPE_OR, ULISTFMT_WIDTH_SHORT, u"A, B, or C", u"A or B", u"A" },
+        { "en", ULISTFMT_TYPE_OR, ULISTFMT_WIDTH_NARROW, u"A, B, or C", u"A or B", u"A" },
+        { "en", ULISTFMT_TYPE_UNITS, ULISTFMT_WIDTH_WIDE, u"A, B, C", u"A, B", u"A" },
+        { "en", ULISTFMT_TYPE_UNITS, ULISTFMT_WIDTH_SHORT, u"A, B, C", u"A, B", u"A" },
+        { "en", ULISTFMT_TYPE_UNITS, ULISTFMT_WIDTH_NARROW, u"A B C", u"A B", u"A" },
+    };
+    for (auto cas : cases) {
+        LocalPointer<ListFormatter> fmt(
+            ListFormatter::createInstance(cas.locale, cas.type, cas.width, status),
+            status);
+        if (status.errIfFailureAndReset()) {
+            continue;
+        }
+        UnicodeString message = UnicodeString(u"TestCreateStyled loc=")
+            + cas.locale + u" type="
+            + Int64ToUnicodeString(cas.type) + u" width="
+            + Int64ToUnicodeString(cas.width);
+        const UnicodeString inputs3[] = {
+            u"A",
+            u"B",
+            u"C"
+        };
+        FormattedList result = fmt->formatStringsToValue(inputs3, UPRV_LENGTHOF(inputs3), status);
+        assertEquals(message, cas.expected3, result.toTempString(status));
+        const UnicodeString inputs2[] = {
+            u"A",
+            u"B"
+        };
+        result = fmt->formatStringsToValue(inputs2, UPRV_LENGTHOF(inputs2), status);
+        assertEquals(message, cas.expected2, result.toTempString(status));
+        const UnicodeString inputs1[] = {
+            u"A"
+        };
+        result = fmt->formatStringsToValue(inputs1, UPRV_LENGTHOF(inputs1), status);
+        assertEquals(message, cas.expected1, result.toTempString(status));
+    }
+}
+
+void ListFormatterTest::TestContextual() {
+    IcuTestErrorCode status(*this, "TestContextual");
+    std::vector<std::string> es = { "es", "es_419" , "es_PY", "es_DO" };
+    std::vector<std::string> he = { "he", "he_IL", "iw", "iw_IL" };
+    UListFormatterWidth widths [] = {
+        ULISTFMT_WIDTH_WIDE, ULISTFMT_WIDTH_SHORT, ULISTFMT_WIDTH_NARROW
+    };
+    struct TestCase {
+        std::vector<std::string> locales;
+        UListFormatterType type;
+        const char16_t* expected;
+        const char16_t* data1;
+        const char16_t* data2;
+        const char16_t* data3;
+    } cases[] = {
+        { es, ULISTFMT_TYPE_AND, u"fascinante e increíblemente",
+          u"fascinante",                     u"increíblemente",       nullptr },
+        { es, ULISTFMT_TYPE_AND, u"Comunicaciones Industriales e IIoT",
+          u"Comunicaciones Industriales",    u"IIoT",                 nullptr },
+        { es, ULISTFMT_TYPE_AND, u"España e Italia",         u"España",   u"Italia",      nullptr },
+        { es, ULISTFMT_TYPE_AND, u"hijas intrépidas e hijos solidarios",
+          u"hijas intrépidas",               u"hijos solidarios",     nullptr },
+        { es, ULISTFMT_TYPE_AND, u"a un hombre e hirieron a otro",
+          u"a un hombre",                    u"hirieron a otro",      nullptr },
+        { es, ULISTFMT_TYPE_AND, u"hija e hijo",             u"hija",     u"hijo",        nullptr },
+        { es, ULISTFMT_TYPE_AND, u"esposa, hija e hijo",     u"esposa",   u"hija",        u"hijo" },
+        // For 'y' exception
+        { es, ULISTFMT_TYPE_AND, u"oro y hierro",            u"oro",      u"hierro",      nullptr },
+        { es, ULISTFMT_TYPE_AND, u"agua y hielo",            u"agua",     u"hielo",       nullptr },
+        { es, ULISTFMT_TYPE_AND, u"colágeno y hialurónico",  u"colágeno", u"hialurónico", nullptr },
+
+        { es, ULISTFMT_TYPE_OR, u"desierto u oasis",         u"desierto", u"oasis",       nullptr },
+        { es, ULISTFMT_TYPE_OR, u"oasis, desierto u océano", u"oasis",    u"desierto",    u"océano" },
+        { es, ULISTFMT_TYPE_OR, u"7 u 8",                    u"7",        u"8",           nullptr },
+        { es, ULISTFMT_TYPE_OR, u"7 u 80",                   u"7",        u"80",          nullptr },
+        { es, ULISTFMT_TYPE_OR, u"7 u 800",                  u"7",        u"800",         nullptr },
+        { es, ULISTFMT_TYPE_OR, u"6, 7 u 8",                 u"6",        u"7",           u"8" },
+        { es, ULISTFMT_TYPE_OR, u"10 u 11",                  u"10",       u"11",          nullptr },
+        { es, ULISTFMT_TYPE_OR, u"10 o 111",                 u"10",       u"111",         nullptr },
+        { es, ULISTFMT_TYPE_OR, u"10 o 11.2",                u"10",       u"11.2",        nullptr },
+        { es, ULISTFMT_TYPE_OR, u"9, 10 u 11",               u"9",        u"10",          u"11" },
+
+        { he, ULISTFMT_TYPE_AND, u"a, b ו-c",               u"a",      u"b",      u"c" },
+        { he, ULISTFMT_TYPE_AND, u"a ו-b",                  u"a",      u"b",      nullptr },
+        { he, ULISTFMT_TYPE_AND, u"1, 2 ו-3",               u"1",      u"2",      u"3" },
+        { he, ULISTFMT_TYPE_AND, u"1 ו-2",                  u"1",      u"2",      nullptr },
+        { he, ULISTFMT_TYPE_AND, u"אהבה ומקווה",            u"אהבה",   u"מקווה",  nullptr },
+        { he, ULISTFMT_TYPE_AND, u"אהבה, מקווה ואמונה",     u"אהבה",   u"מקווה",  u"אמונה" },
+    };
+    for (auto width : widths) {
+        for (auto cas : cases) {
+            for (auto locale : cas.locales) {
+                LocalPointer<ListFormatter> fmt(
+                    ListFormatter::createInstance(locale.c_str(), cas.type, width, status),
+                    status);
+                if (status.errIfFailureAndReset()) {
+                    continue;
+                }
+                UnicodeString message = UnicodeString(u"TestContextual loc=")
+                    + locale.c_str() + u" type="
+                    + Int64ToUnicodeString(cas.type) + u" width="
+                    + Int64ToUnicodeString(width);
+                if (cas.data3 == nullptr) {
+                    const UnicodeString inputs2[] = { cas.data1, cas.data2 };
+                    FormattedList result = fmt->formatStringsToValue(inputs2, UPRV_LENGTHOF(inputs2), status);
+                    assertEquals(message, cas.expected, result.toTempString(status));
+                } else {
+                    const UnicodeString inputs3[] = { cas.data1, cas.data2, cas.data3 };
+                    FormattedList result = fmt->formatStringsToValue(inputs3, UPRV_LENGTHOF(inputs3), status);
+                    assertEquals(message, cas.expected, result.toTempString(status));
+                }
+            }
+        }
     }
 }
 
index decd13b..9c7a5dd 100644 (file)
@@ -45,18 +45,16 @@ class ListFormatterTest : public IntlTestWithFieldPosition {
     void TestZulu();
     void TestOutOfOrderPatterns();
     void Test9946();
-    void TestFieldPositionIteratorWontCrash();
     void TestFieldPositionIteratorWith1Item();
     void TestFieldPositionIteratorWith2Items();
     void TestFieldPositionIteratorWith3Items();
-    void TestFieldPositionIteratorWith1ItemAndDataBefore();
-    void TestFieldPositionIteratorWith2ItemsAndDataBefore();
-    void TestFieldPositionIteratorWith3ItemsAndDataBefore();
     void TestFieldPositionIteratorWith2ItemsPatternShift();
     void TestFieldPositionIteratorWith3ItemsPatternShift();
     void TestFormattedValue();
     void TestDifferentStyles();
     void TestBadStylesFail();
+    void TestCreateStyled();
+    void TestContextual();
 
   private:
     void CheckFormatting(
@@ -66,15 +64,15 @@ class ListFormatterTest : public IntlTestWithFieldPosition {
         const UnicodeString& expected_result,
         const char* testName);
     void ExpectPositions(
-        FieldPositionIterator& iter,
+        const FormattedList& iter,
         int32_t *values,
-        int32_t tupleCount);
+        int32_t tupleCount,
+        UErrorCode& status);
     void RunTestFieldPositionIteratorWithNItems(
         UnicodeString *data,
         int32_t n,
         int32_t *values,
         int32_t tupleCount,
-        UnicodeString& appendTo,
         const char16_t *expectedFormatted,
         const char* testName);
     void RunTestFieldPositionIteratorWithNItemsPatternShift(
@@ -82,7 +80,6 @@ class ListFormatterTest : public IntlTestWithFieldPosition {
         int32_t n,
         int32_t *values,
         int32_t tupleCount,
-        UnicodeString& appendTo,
         const char16_t *expectedFormatted,
         const char* testName);
     void RunTestFieldPositionIteratorWithFormatter(
@@ -91,7 +88,6 @@ class ListFormatterTest : public IntlTestWithFieldPosition {
         int32_t n,
         int32_t *values,
         int32_t tupleCount,
-        UnicodeString& appendTo,
         const char16_t *expectedFormatted,
         const char* testName);
     void CheckFourCases(
index b551bf8..13f6ecf 100644 (file)
@@ -136,7 +136,7 @@ void LocaleBuilderTest::TestLocaleBuilder() {
         {"U", "ja_JP@calendar=japanese;currency=JPY", "E", "u",
           "attr1-ca-gregory", "T", "ja-JP-u-attr1-ca-gregory",
           "ja_JP@attribute=attr1;calendar=gregorian"},
-        {"U", "en@colnumeric=yes", "K", "kn", "true", "T", "en-u-kn-true",
+        {"U", "en@colnumeric=yes", "K", "kn", "true", "T", "en-u-kn",
           "en@colnumeric=yes"},
         {"L", "th", "R", "th", "K", "nu", "thai", "T", "th-TH-u-nu-thai",
           "th_TH@numbers=thai"},
@@ -152,7 +152,7 @@ void LocaleBuilderTest::TestLocaleBuilder() {
         // However, once the legacy keyword is translated back to BCP 47 u extension, key "0a" is unknown,
         // so "yes" is preserved - not mapped to "true". We could change the code to automatically transform
         // key = alphanum alpha
-        {"L", "en", "E", "u", "bbb-aaa-0a", "T", "en-u-aaa-bbb-0a-yes",
+        {"L", "en", "E", "u", "bbb-aaa-0a", "T", "en-u-aaa-bbb-0a",
          "en@0a=yes;attribute=aaa-bbb"},
         {"L", "fr", "R", "FR", "P", "Yoshito-ICU", "T", "fr-FR-x-yoshito-icu",
           "fr_FR@x=yoshito-icu"},
@@ -166,13 +166,13 @@ void LocaleBuilderTest::TestLocaleBuilder() {
         {"L", "en", "K", "tz", "usnyc", "R", "US", "T", "en-US-u-tz-usnyc",
           "en_US@timezone=America/New_York"},
         {"L", "de", "K", "co", "phonebk", "K", "ks", "level1", "K", "kk",
-          "true", "T", "de-u-co-phonebk-kk-true-ks-level1",
+          "true", "T", "de-u-co-phonebk-kk-ks-level1",
           "de@collation=phonebook;colnormalization=yes;colstrength=primary"},
         {"L", "en", "R", "US", "K", "ca", "gregory", "T", "en-US-u-ca-gregory",
           "en_US@calendar=gregorian"},
         {"L", "en", "R", "US", "K", "cal", "gregory", "X"},
         {"L", "en", "R", "US", "K", "ca", "gregorian", "X"},
-        {"L", "en", "R", "US", "K", "kn", "true", "T", "en-US-u-kn-true",
+        {"L", "en", "R", "US", "K", "kn", "true", "T", "en-US-u-kn",
           "en_US@colnumeric=yes"},
         {"B", "de-DE-u-co-phonebk", "C", "L", "pt", "T", "pt", "pt"},
         {"B", "ja-jp-u-ca-japanese", "N", "T", "ja-JP", "ja_JP"},
index f8cb7a3..683466b 100644 (file)
@@ -6,6 +6,7 @@
 
 #include <string>
 #include <vector>
+#include <utility>
 
 #include "unicode/utypes.h"
 #include "unicode/localematcher.h"
@@ -58,6 +59,7 @@ public:
     void testSupportedDefault();
     void testUnsupportedDefault();
     void testDemotion();
+    void testDirection();
     void testMatch();
     void testResolvedLocale();
     void testDataDriven();
@@ -81,6 +83,7 @@ void LocaleMatcherTest::runIndexedTest(int32_t index, UBool exec, const char *&n
     TESTCASE_AUTO(testSupportedDefault);
     TESTCASE_AUTO(testUnsupportedDefault);
     TESTCASE_AUTO(testDemotion);
+    TESTCASE_AUTO(testDirection);
     TESTCASE_AUTO(testMatch);
     TESTCASE_AUTO(testResolvedLocale);
     TESTCASE_AUTO(testDataDriven);
@@ -272,7 +275,7 @@ void LocaleMatcherTest::testSupportedDefault() {
     assertEquals("getBestMatchResult(ja_JP).supp",
                  "en_GB", locString(result.getSupportedLocale()));
     assertEquals("getBestMatchResult(ja_JP).suppIndex",
-                 1, result.getSupportedIndex());
+                 -1, result.getSupportedIndex());
 }
 
 void LocaleMatcherTest::testUnsupportedDefault() {
@@ -322,6 +325,36 @@ void LocaleMatcherTest::testDemotion() {
     }
 }
 
+void LocaleMatcherTest::testDirection() {
+    IcuTestErrorCode errorCode(*this, "testDirection");
+    Locale supported[] = { "ar", "nn" };
+    Locale desired[] = { "arz-EG", "nb-DK" };
+    LocaleMatcher::Builder builder;
+    builder.setSupportedLocales(ARRAY_RANGE(supported));
+    {
+        // arz is a close one-way match to ar, and the region matches.
+        // (Egyptian Arabic vs. Arabic)
+        // Also explicitly exercise the move copy constructor.
+        LocaleMatcher built = builder.build(errorCode);
+        LocaleMatcher withOneWay(std::move(built));
+        Locale::RangeIterator<Locale *> desiredIter(ARRAY_RANGE(desired));
+        assertEquals("with one-way", "ar",
+                     locString(withOneWay.getBestMatch(desiredIter, errorCode)));
+    }
+    {
+        // nb is a less close two-way match to nn, and the regions differ.
+        // (Norwegian Bokmal vs. Nynorsk)
+        // Also explicitly exercise the move assignment operator.
+        LocaleMatcher onlyTwoWay = builder.build(errorCode);
+        LocaleMatcher built =
+            builder.setDirection(ULOCMATCH_DIRECTION_ONLY_TWO_WAY).build(errorCode);
+        onlyTwoWay = std::move(built);
+        Locale::RangeIterator<Locale *> desiredIter(ARRAY_RANGE(desired));
+        assertEquals("only two-way", "nn",
+                     locString(onlyTwoWay.getBestMatch(desiredIter, errorCode)));
+    }
+}
+
 void LocaleMatcherTest::testMatch() {
     IcuTestErrorCode errorCode(*this, "testMatch");
     LocaleMatcher matcher = LocaleMatcher::Builder().build(errorCode);
index 73f1b73..7267a11 100644 (file)
@@ -6,6 +6,7 @@
  * others. All Rights Reserved.
  ********************************************************************/
 
+#include <algorithm>
 #include <functional>
 #include <iterator>
 #include <set>
@@ -255,9 +256,11 @@ void LocaleTest::runIndexedTest( int32_t index, UBool exec, const char* &name, c
     TESTCASE_AUTO(TestBug13277);
     TESTCASE_AUTO(TestBug13554);
     TESTCASE_AUTO(TestBug20410);
+    TESTCASE_AUTO(TestBug20900);
     TESTCASE_AUTO(TestConstructorAcceptsBCP47);
     TESTCASE_AUTO(TestForLanguageTag);
     TESTCASE_AUTO(TestToLanguageTag);
+    TESTCASE_AUTO(TestToLanguageTagOmitTrue);
     TESTCASE_AUTO(TestMoveAssign);
     TESTCASE_AUTO(TestMoveCtor);
     TESTCASE_AUTO(TestBug20407iVariantPreferredValue);
@@ -273,6 +276,7 @@ void LocaleTest::runIndexedTest( int32_t index, UBool exec, const char* &name, c
     TESTCASE_AUTO(TestCapturingTagConvertingIterator);
     TESTCASE_AUTO(TestSetUnicodeKeywordValueInLongLocale);
     TESTCASE_AUTO(TestSetUnicodeKeywordValueNullInLongLocale);
+    TESTCASE_AUTO(TestCanonicalize);
     TESTCASE_AUTO_END;
 }
 
@@ -909,8 +913,8 @@ LocaleTest::TestGetLangsAndCountries()
       ;
 
     /* TODO: Change this test to be more like the cloctst version? */
-    if (testCount != 596)
-        errln("Expected getISOLanguages() to return 596 languages; it returned %d", testCount);
+    if (testCount != 597)
+        errln("Expected getISOLanguages() to return 597 languages; it returned %d", testCount);
     else {
         for (i = 0; i < 15; i++) {
             int32_t j;
@@ -2593,13 +2597,13 @@ void LocaleTest::TestCanonicalization(void)
           "ca_ES_WITH_EXTRA_STUFF_THAT REALLY DOESN'T MAKE ANY SENSE_UNLESS_YOU'RE TRYING TO INCREASE CODE COVERAGE",
           "ca_ES_WITH_EXTRA_STUFF_THAT REALLY DOESN'T MAKE ANY SENSE_UNLESS_YOU'RE TRYING TO INCREASE CODE COVERAGE"},
         { "zh@collation=pinyin", "zh@collation=pinyin", "zh@collation=pinyin" },
-        { "zh_CN@collation=pinyin", "zh_CN@collation=pinyin", "zh_CN@collation=pinyin" },
-        { "zh_CN_CA@collation=pinyin", "zh_CN_CA@collation=pinyin", "zh_CN_CA@collation=pinyin" },
+        { "zh_CN@collation=pinyin", "zh_CN@collation=pinyin", "zh_Hans_CN@collation=pinyin" },
+        { "zh_CN_CA@collation=pinyin", "zh_CN_CA@collation=pinyin", "zh_Hans_CN_CA@collation=pinyin" },
         { "en_US_POSIX", "en_US_POSIX", "en_US_POSIX" }, 
         { "hy_AM_REVISED", "hy_AM_REVISED", "hy_AM_REVISED" }, 
-        { "no_NO_NY", "no_NO_NY", "no_NO_NY" /* not: "nn_NO" [alan ICU3.0] */ },
-        { "no@ny", "no@ny", "no__NY" /* not: "nn" [alan ICU3.0] */ }, /* POSIX ID */
-        { "no-no.utf32@B", "no_NO.utf32@B", "no_NO_B" /* not: "nb_NO_B" [alan ICU3.0] */ }, /* POSIX ID */
+        { "no_NO_NY", "no_NO_NY", "nb_NO_NY" /* not: "nn_NO" [alan ICU3.0] */ },
+        { "no@ny", "no@ny", "nb__NY" /* not: "nn" [alan ICU3.0] */ }, /* POSIX ID */
+        { "no-no.utf32@B", "no_NO.utf32@B", "nb_NO_B" /* not: "nb_NO_B" [alan ICU3.0] */ }, /* POSIX ID */
         { "qz-qz@Euro", "qz_QZ@Euro", "qz_QZ_EURO" }, /* qz-qz uses private use iso codes */
         // NOTE: uloc_getName() works on en-BOONT, but Locale() parser considers it BOGUS
         // TODO: unify this behavior
@@ -2613,7 +2617,7 @@ void LocaleTest::TestCanonicalization(void)
         { "x-piglatin_ML.MBE", "x-piglatin_ML.MBE", "x-piglatin_ML" },
         { "i-cherokee_US.utf7", "i-cherokee_US.utf7", "i-cherokee_US" },
         { "x-filfli_MT_FILFLA.gb-18030", "x-filfli_MT_FILFLA.gb-18030", "x-filfli_MT_FILFLA" },
-        { "no-no-ny.utf8@B", "no_NO_NY.utf8@B", "no_NO_NY_B" /* not: "nn_NO" [alan ICU3.0] */ }, /* @ ignored unless variant is empty */
+        { "no-no-ny.utf8@B", "no_NO_NY.utf8@B", "nb_NO_NY_B" /* not: "nn_NO" [alan ICU3.0] */ }, /* @ ignored unless variant is empty */
 
         /* fleshing out canonicalization */
         /* trim space and sort keywords, ';' is separator so not present at end in canonical form */
@@ -2621,7 +2625,7 @@ void LocaleTest::TestCanonicalization(void)
         /* already-canonical ids are not changed */
         { "en_Hant_IL_VALLEY_GIRL@calendar=Japanese;currency=EUR", "en_Hant_IL_VALLEY_GIRL@calendar=Japanese;currency=EUR", "en_Hant_IL_VALLEY_GIRL@calendar=Japanese;currency=EUR" },
         /* norwegian is just too weird, if we handle things in their full generality */
-        { "no-Hant-GB_NY@currency=$$$", "no_Hant_GB_NY@currency=$$$", "no_Hant_GB_NY@currency=$$$" /* not: "nn_Hant_GB@currency=$$$" [alan ICU3.0] */ },
+        { "no-Hant-GB_NY@currency=$$$", "no_Hant_GB_NY@currency=$$$", "nb_Hant_GB_NY@currency=$$$" /* not: "nn_Hant_GB@currency=$$$" [alan ICU3.0] */ },
 
         /* test cases reflecting internal resource bundle usage */
         { "root@kw=foo", "root@kw=foo", "root@kw=foo" },
@@ -2660,13 +2664,13 @@ void LocaleTest::TestCanonicalization(void)
         { "hi__DIRECT", "hi__DIRECT", "hi__DIRECT" },
         { "ja_JP_TRADITIONAL", "ja_JP_TRADITIONAL", "ja_JP_TRADITIONAL" },
         { "th_TH_TRADITIONAL", "th_TH_TRADITIONAL", "th_TH_TRADITIONAL" },
-        { "zh_TW_STROKE", "zh_TW_STROKE", "zh_TW_STROKE" },
+        { "zh_TW_STROKE", "zh_TW_STROKE", "zh_Hant_TW_STROKE" },
         { "zh__PINYIN", "zh__PINYIN", "zh__PINYIN" },
         { "sr-SP-Cyrl", "sr_SP_CYRL", "sr_SP_CYRL" }, /* .NET name */
         { "sr-SP-Latn", "sr_SP_LATN", "sr_SP_LATN" }, /* .NET name */
-        { "sr_YU_CYRILLIC", "sr_YU_CYRILLIC", "sr_YU_CYRILLIC" }, /* Linux name */
-        { "uz-UZ-Cyrl", "uz_UZ_CYRL", "uz_UZ_CYRL" }, /* .NET name */
-        { "uz-UZ-Latn", "uz_UZ_LATN", "uz_UZ_LATN" }, /* .NET name */
+        { "sr_YU_CYRILLIC", "sr_YU_CYRILLIC", "sr_RS_CYRILLIC" }, /* Linux name */
+        { "uz-UZ-Cyrl", "uz_UZ_CYRL", "uz_Latn_UZ_CYRL" }, /* .NET name */
+        { "uz-UZ-Latn", "uz_UZ_LATN", "uz_Latn_UZ_LATN" }, /* .NET name */
         { "zh-CHS", "zh_CHS", "zh_CHS" }, /* .NET name */
         { "zh-CHT", "zh_CHT", "zh_CHT" }, /* .NET name This may change back to zh_Hant */
         /* PRE_EURO and EURO conversions don't affect other keywords */
@@ -2697,6 +2701,91 @@ void LocaleTest::TestCanonicalization(void)
     }
 }
 
+void LocaleTest::TestCanonicalize(void)
+{
+    static const struct {
+        const char *localeID;    /* input */
+        const char *canonicalID; /* expected canonicalize() result */
+    } testCases[] = {
+        // language _ variant -> language
+        { "no-BOKMAL", "nb" },
+        // also test with script, country and extensions
+        { "no-Cyrl-ID-BOKMAL-u-ca-japanese", "nb-Cyrl-ID-u-ca-japanese" },
+        { "no-Cyrl-ID-1901-BOKMAL-xsistemo-u-ca-japanese", "nb-Cyrl-ID-1901-xsistemo-u-ca-japanese" },
+        { "no-Cyrl-ID-1901-BOKMAL-u-ca-japanese", "nb-Cyrl-ID-1901-u-ca-japanese" },
+        { "no-Cyrl-ID-BOKMAL-xsistemo-u-ca-japanese", "nb-Cyrl-ID-xsistemo-u-ca-japanese" },
+        { "no-NYNORSK", "nn" },
+        { "no-Cyrl-ID-NYNORSK-u-ca-japanese", "nn-Cyrl-ID-u-ca-japanese" },
+        { "aa-SAAHO", "ssy" },
+        // also test with script, country and extensions
+        { "aa-Deva-IN-SAAHO-u-ca-japanese", "ssy-Deva-IN-u-ca-japanese" },
+
+        // language -> language
+        { "aam", "aas" },
+        // also test with script, country, variants and extensions
+        { "aam-Cyrl-ID-3456-u-ca-japanese", "aas-Cyrl-ID-3456-u-ca-japanese" },
+
+        // language -> language _ Script
+        { "sh", "sr-Latn" },
+        // also test with script
+        { "sh-Cyrl", "sr-Cyrl" },
+        // also test with country, variants and extensions
+        { "sh-ID-3456-u-ca-roc", "sr-Latn-ID-3456-u-ca-roc" },
+
+        // language -> language _ country
+        { "prs", "fa-AF" },
+        // also test with country
+        { "prs-RU", "fa-RU" },
+        // also test with script, variants and extensions
+        { "prs-Cyrl-1009-u-ca-roc", "fa-Cyrl-AF-1009-u-ca-roc" },
+
+        //  language _ country -> language _ script _ country
+        { "pa-IN", "pa-Guru-IN" },
+        // also test with script
+        { "pa-Latn-IN", "pa-Latn-IN" },
+        // also test with variants and extensions
+        { "pa-IN-5678-u-ca-hindi", "pa-Guru-IN-5678-u-ca-hindi" },
+
+        //  language _ script _ country -> language _ country
+        { "ky-Cyrl-KG", "ky-KG" },
+        // also test with variants and extensions
+        { "ky-Cyrl-KG-3456-u-ca-roc", "ky-KG-3456-u-ca-roc" },
+
+        // Test replacement of territoryAlias
+        // 554 has one replacement
+        { "en-554", "en-NZ" },
+        { "en-554-u-nu-arab", "en-NZ-u-nu-arab" },
+        // 172 has multiple replacements
+        // also test with variants
+        { "ru-172-1234", "ru-RU-1234" },
+        // also test with extensions
+        { "ru-172-1234-u-nu-latn", "ru-RU-1234-u-nu-latn" },
+        // also test with scripts
+        { "uz-172", "uz-UZ" },
+        { "uz-Cyrl-172", "uz-Cyrl-UZ" },
+        { "uz-Bopo-172", "uz-Bopo-UZ" },
+        // also test with variants and scripts
+        { "uz-Cyrl-172-5678-u-nu-latn", "uz-Cyrl-UZ-5678-u-nu-latn" },
+        // a language not used in this region
+        { "fr-172", "fr-RU" },
+    };
+    int32_t i;
+    for (i=0; i < UPRV_LENGTHOF(testCases); i++) {
+        UErrorCode status = U_ZERO_ERROR;
+        std::string otag = testCases[i].localeID;
+        Locale loc = Locale::forLanguageTag(otag.c_str(), status);
+        loc.canonicalize(status);
+        std::string tag = loc.toLanguageTag<std::string>(status);
+        if (tag != testCases[i].canonicalID) {
+            errcheckln(status, "FAIL: %s should be canonicalized to %s but got %s - %s",
+                       otag.c_str(),
+                       testCases[i].canonicalID,
+                       tag.c_str(),
+                       u_errorName(status));
+        }
+    }
+}
+
 void LocaleTest::TestCurrencyByDate(void)
 {
 #if !UCONFIG_NO_FORMATTING
@@ -3099,7 +3188,7 @@ void LocaleTest::TestBug20410() {
 
     static const char locid3[] = "art__lojban@x=0";
     Locale result3 = Locale::createCanonical(locid3);
-    static const Locale expected3("art__LOJBAN@x=0");
+    static const Locale expected3("jbo@x=0");
     assertEquals(locid3, expected3.getName(), result3.getName());
 
     static const char locid4[] = "art-lojban-x-0";
@@ -3108,6 +3197,32 @@ void LocaleTest::TestBug20410() {
     assertEquals(locid4, expected4.getName(), result4.getName());
 }
 
+void LocaleTest::TestBug20900() {
+    static const struct {
+        const char *localeID;    /* input */
+        const char *canonicalID; /* expected canonicalize() result */
+    } testCases[] = {
+        { "art-lojban", "jbo" },
+        { "zh-guoyu", "zh" },
+        { "zh-hakka", "hak" },
+        { "zh-xiang", "hsn" },
+        { "zh-min-nan", "nan" },
+        { "zh-gan", "gan" },
+        { "zh-wuu", "wuu" },
+        { "zh-yue", "yue" },
+    };
+
+    IcuTestErrorCode status(*this, "TestBug20900");
+    for (int32_t i=0; i < UPRV_LENGTHOF(testCases); i++) {
+        Locale loc = Locale::createCanonical(testCases[i].localeID);
+        std::string result = loc.toLanguageTag<std::string>(status);
+        const char* tag = loc.isBogus() ? "BOGUS" : result.c_str();
+        status.errIfFailureAndReset("FAIL: createCanonical(%s).toLanguageTag() expected \"%s\"",
+                    testCases[i].localeID, tag);
+        assertEquals("createCanonical", testCases[i].canonicalID, tag);
+    }
+}
+
 void LocaleTest::TestConstructorAcceptsBCP47() {
     IcuTestErrorCode status(*this, "TestConstructorAcceptsBCP47");
 
@@ -3156,6 +3271,7 @@ void LocaleTest::TestForLanguageTag() {
     static const char tag_ill[] = "!";
     static const char tag_no_nul[] = { 'e', 'n', '-', 'G', 'B' };
     static const char tag_ext[] = "en-GB-1-abc-efg-a-xyz";
+    static const char tag_var[] = "sl-rozaj-biske-1994";
 
     static const Locale loc_en("en_US");
     static const Locale loc_oed("en_GB_OXENDICT");
@@ -3163,6 +3279,7 @@ void LocaleTest::TestForLanguageTag() {
     static const Locale loc_null("");
     static const Locale loc_gb("en_GB");
     static const Locale loc_ext("en_GB@1=abc-efg;a=xyz");
+    static const Locale loc_var("sl__1994_BISKE_ROZAJ");
 
     Locale result_en = Locale::forLanguageTag(tag_en, status);
     status.errIfFailureAndReset("\"%s\"", tag_en);
@@ -3176,6 +3293,10 @@ void LocaleTest::TestForLanguageTag() {
     status.errIfFailureAndReset("\"%s\"", tag_af);
     assertEquals(tag_af, loc_af.getName(), result_af.getName());
 
+    Locale result_var = Locale::forLanguageTag(tag_var, status);
+    status.errIfFailureAndReset("\"%s\"", tag_var);
+    assertEquals(tag_var, loc_var.getName(), result_var.getName());
+
     Locale result_ill = Locale::forLanguageTag(tag_ill, status);
     assertEquals(tag_ill, U_ILLEGAL_ARGUMENT_ERROR, status.reset());
     assertTrue(result_ill.getName(), result_ill.isBogus());
@@ -3210,12 +3331,14 @@ void LocaleTest::TestToLanguageTag() {
     static const Locale loc_ext("en@0=abc;a=xyz");
     static const Locale loc_empty("");
     static const Locale loc_ill("!");
+    static const Locale loc_variant("sl__ROZAJ_BISKE_1994");
 
     static const char tag_c[] = "en-US-u-va-posix";
     static const char tag_en[] = "en-US";
     static const char tag_af[] = "af-t-ar-i0-handwrit-u-ca-coptic-x-foo";
     static const char tag_ext[] = "en-0-abc-a-xyz";
     static const char tag_und[] = "und";
+    static const char tag_variant[] = "sl-1994-biske-rozaj";
 
     std::string result;
     StringByteSink<std::string> sink(&result);
@@ -3247,6 +3370,10 @@ void LocaleTest::TestToLanguageTag() {
     status.errIfFailureAndReset("\"%s\"", loc_ill.getName());
     assertEquals(loc_ill.getName(), tag_und, result_ill.c_str());
 
+    std::string result_variant = loc_variant.toLanguageTag<std::string>(status);
+    status.errIfFailureAndReset("\"%s\"", loc_variant.getName());
+    assertEquals(loc_variant.getName(), tag_variant, result_variant.c_str());
+
     Locale loc_bogus;
     loc_bogus.setToBogus();
     std::string result_bogus = loc_bogus.toLanguageTag<std::string>(status);
@@ -3254,6 +3381,32 @@ void LocaleTest::TestToLanguageTag() {
     assertTrue(result_bogus.c_str(), result_bogus.empty());
 }
 
+/* ICU-20310 */
+void LocaleTest::TestToLanguageTagOmitTrue() {
+    IcuTestErrorCode status(*this, "TestToLanguageTagOmitTrue()");
+    assertEquals("en-u-kn should drop true",
+                 "en-u-kn", Locale("en-u-kn-true").toLanguageTag<std::string>(status).c_str());
+    status.errIfFailureAndReset();
+    assertEquals("en-u-kn should drop true",
+                 "en-u-kn", Locale("en-u-kn").toLanguageTag<std::string>(status).c_str());
+    status.errIfFailureAndReset();
+
+    assertEquals("de-u-co should drop true",
+                 "de-u-co", Locale("de-u-co").toLanguageTag<std::string>(status).c_str());
+    status.errIfFailureAndReset();
+    assertEquals("de-u-co should drop true",
+                 "de-u-co", Locale("de-u-co-yes").toLanguageTag<std::string>(status).c_str());
+    status.errIfFailureAndReset();
+    assertEquals("de@collation=yes should drop true",
+                 "de-u-co", Locale("de@collation=yes").toLanguageTag<std::string>(status).c_str());
+    status.errIfFailureAndReset();
+
+    assertEquals("cmn-Hans-CN-t-ca-u-ca-x-t-u should drop true",
+                 "cmn-Hans-CN-t-ca-u-ca-x-t-u",
+                 Locale("cmn-hans-cn-u-ca-t-ca-x-t-u").toLanguageTag<std::string>(status).c_str());
+    status.errIfFailureAndReset();
+}
+
 void LocaleTest::TestMoveAssign() {
     // ULOC_FULLNAME_CAPACITY == 157 (uloc.h)
     Locale l1("de@collation=phonebook;x="
index b62cd26..b217ce2 100644 (file)
@@ -107,6 +107,8 @@ public:
 
     void TestCanonicalization(void);
 
+    void TestCanonicalize(void);
+
 #if !UCONFIG_NO_FORMATTING
     static UDate date(int32_t y, int32_t m, int32_t d, int32_t hr = 0, int32_t min = 0, int32_t sec = 0);
 #endif
@@ -119,6 +121,7 @@ public:
     void TestBug13277();
     void TestBug13554();
     void TestBug20410();
+    void TestBug20900();
     void TestConstructorAcceptsBCP47();
 
     void TestAddLikelySubtags();
@@ -127,6 +130,7 @@ public:
 
     void TestForLanguageTag();
     void TestToLanguageTag();
+    void TestToLanguageTagOmitTrue();
 
     void TestMoveAssign();
     void TestMoveCtor();
index 2b53f8b..51a85fe 100644 (file)
@@ -79,6 +79,12 @@ private:
     void Test20332_PersonUnits();
     void TestNumericTime();
     void TestNumericTimeSomeSpecialFormats();
+    void TestIdentifiers();
+    void TestInvalidIdentifiers();
+    void TestCompoundUnitOperations();
+    void TestDimensionlessBehaviour();
+    void Test21060_AddressSanitizerProblem();
+
     void verifyFormat(
         const char *description,
         const MeasureFormat &fmt,
@@ -138,6 +144,21 @@ private:
         NumberFormat::EAlignmentFields field,
         int32_t start,
         int32_t end);
+    void verifySingleUnit(
+        const MeasureUnit& unit,
+        UMeasureSIPrefix siPrefix,
+        int8_t power,
+        const char* identifier);
+    void verifyCompoundUnit(
+        const MeasureUnit& unit,
+        const char* identifier,
+        const char** subIdentifiers,
+        int32_t subIdentifierCount);
+    void verifyMixedUnit(
+        const MeasureUnit& unit,
+        const char* identifier,
+        const char** subIdentifiers,
+        int32_t subIdentifierCount);
 };
 
 void MeasureFormatTest::runIndexedTest(
@@ -182,6 +203,11 @@ void MeasureFormatTest::runIndexedTest(
     TESTCASE_AUTO(Test20332_PersonUnits);
     TESTCASE_AUTO(TestNumericTime);
     TESTCASE_AUTO(TestNumericTimeSomeSpecialFormats);
+    TESTCASE_AUTO(TestIdentifiers);
+    TESTCASE_AUTO(TestInvalidIdentifiers);
+    TESTCASE_AUTO(TestCompoundUnitOperations);
+    TESTCASE_AUTO(TestDimensionlessBehaviour);
+    TESTCASE_AUTO(Test21060_AddressSanitizerProblem);
     TESTCASE_AUTO_END;
 }
 
@@ -3215,6 +3241,312 @@ void MeasureFormatTest::TestNumericTimeSomeSpecialFormats() {
     verifyFormat("Danish fhoursFminutes", fmtDa, fhoursFminutes, 2, "2.03,877");
 }
 
+void MeasureFormatTest::TestIdentifiers() {
+    IcuTestErrorCode status(*this, "TestIdentifiers");
+    struct TestCase {
+        const char* id;
+        const char* normalized;
+    } cases[] = {
+        // Correctly normalized identifiers should not change
+        {"", ""},
+        {"square-meter-per-square-meter", "square-meter-per-square-meter"},
+        {"kilogram-meter-per-square-meter-square-second",
+         "kilogram-meter-per-square-meter-square-second"},
+        {"square-mile-and-square-foot", "square-mile-and-square-foot"},
+        {"square-foot-and-square-mile", "square-foot-and-square-mile"},
+        {"per-cubic-centimeter", "per-cubic-centimeter"},
+        {"per-kilometer", "per-kilometer"},
+
+        // Normalization of power and per
+        {"p2-foot-and-p2-mile", "square-foot-and-square-mile"},
+        {"gram-square-gram-per-dekagram", "cubic-gram-per-dekagram"},
+        {"kilogram-per-meter-per-second", "kilogram-per-meter-second"},
+
+        // TODO(ICU-20920): Add more test cases once the proper ranking is available.
+    };
+    for (const auto &cas : cases) {
+        status.setScope(cas.id);
+        MeasureUnit unit = MeasureUnit::forIdentifier(cas.id, status);
+        status.errIfFailureAndReset();
+        const char* actual = unit.getIdentifier();
+        assertEquals(cas.id, cas.normalized, actual);
+        status.errIfFailureAndReset();
+    }
+}
+
+void MeasureFormatTest::TestInvalidIdentifiers() {
+    IcuTestErrorCode status(*this, "TestInvalidIdentifiers");
+
+    const char *const inputs[] = {
+        "kilo",
+        "kilokilo",
+        "onekilo",
+        "meterkilo",
+        "meter-kilo",
+        "k",
+        "meter-",
+        "meter+",
+        "-meter",
+        "+meter",
+        "-kilometer",
+        "+kilometer",
+        "-p2-meter",
+        "+p2-meter",
+        "+",
+        "-",
+        "-mile",
+        "-and-mile",
+        "-per-mile",
+        "one",
+        "one-one",
+        "one-per-mile",
+        "one-per-cubic-centimeter",
+        "square--per-meter",
+        "metersecond", // Must have compound part in between single units
+
+        // Negative powers not supported in mixed units yet. TODO(CLDR-13701).
+        "per-hour-and-hertz",
+        "hertz-and-per-hour",
+
+        // Compound units not supported in mixed units yet. TODO(CLDR-13700).
+        "kilonewton-meter-and-newton-meter",
+    };
+
+    for (const auto& input : inputs) {
+        status.setScope(input);
+        MeasureUnit::forIdentifier(input, status);
+        status.expectErrorAndReset(U_ILLEGAL_ARGUMENT_ERROR);
+    }
+}
+
+void MeasureFormatTest::TestCompoundUnitOperations() {
+    IcuTestErrorCode status(*this, "TestCompoundUnitOperations");
+
+    MeasureUnit::forIdentifier("kilometer-per-second-joule", status);
+
+    MeasureUnit kilometer = MeasureUnit::getKilometer();
+    MeasureUnit cubicMeter = MeasureUnit::getCubicMeter();
+    MeasureUnit meter = kilometer.withSIPrefix(UMEASURE_SI_PREFIX_ONE, status);
+    MeasureUnit centimeter1 = kilometer.withSIPrefix(UMEASURE_SI_PREFIX_CENTI, status);
+    MeasureUnit centimeter2 = meter.withSIPrefix(UMEASURE_SI_PREFIX_CENTI, status);
+    MeasureUnit cubicDecimeter = cubicMeter.withSIPrefix(UMEASURE_SI_PREFIX_DECI, status);
+
+    verifySingleUnit(kilometer, UMEASURE_SI_PREFIX_KILO, 1, "kilometer");
+    verifySingleUnit(meter, UMEASURE_SI_PREFIX_ONE, 1, "meter");
+    verifySingleUnit(centimeter1, UMEASURE_SI_PREFIX_CENTI, 1, "centimeter");
+    verifySingleUnit(centimeter2, UMEASURE_SI_PREFIX_CENTI, 1, "centimeter");
+    verifySingleUnit(cubicDecimeter, UMEASURE_SI_PREFIX_DECI, 3, "cubic-decimeter");
+
+    assertTrue("centimeter equality", centimeter1 == centimeter2);
+    assertTrue("kilometer inequality", centimeter1 != kilometer);
+
+    MeasureUnit squareMeter = meter.withDimensionality(2, status);
+    MeasureUnit overCubicCentimeter = centimeter1.withDimensionality(-3, status);
+    MeasureUnit quarticKilometer = kilometer.withDimensionality(4, status);
+    MeasureUnit overQuarticKilometer1 = kilometer.withDimensionality(-4, status);
+
+    verifySingleUnit(squareMeter, UMEASURE_SI_PREFIX_ONE, 2, "square-meter");
+    verifySingleUnit(overCubicCentimeter, UMEASURE_SI_PREFIX_CENTI, -3, "per-cubic-centimeter");
+    verifySingleUnit(quarticKilometer, UMEASURE_SI_PREFIX_KILO, 4, "p4-kilometer");
+    verifySingleUnit(overQuarticKilometer1, UMEASURE_SI_PREFIX_KILO, -4, "per-p4-kilometer");
+
+    assertTrue("power inequality", quarticKilometer != overQuarticKilometer1);
+
+    MeasureUnit overQuarticKilometer2 = quarticKilometer.reciprocal(status);
+    MeasureUnit overQuarticKilometer3 = kilometer.product(kilometer, status)
+        .product(kilometer, status)
+        .product(kilometer, status)
+        .reciprocal(status);
+    MeasureUnit overQuarticKilometer4 = meter.withDimensionality(4, status)
+        .reciprocal(status)
+        .withSIPrefix(UMEASURE_SI_PREFIX_KILO, status);
+
+    verifySingleUnit(overQuarticKilometer2, UMEASURE_SI_PREFIX_KILO, -4, "per-p4-kilometer");
+    verifySingleUnit(overQuarticKilometer3, UMEASURE_SI_PREFIX_KILO, -4, "per-p4-kilometer");
+    verifySingleUnit(overQuarticKilometer4, UMEASURE_SI_PREFIX_KILO, -4, "per-p4-kilometer");
+
+    assertTrue("reciprocal equality", overQuarticKilometer1 == overQuarticKilometer2);
+    assertTrue("reciprocal equality", overQuarticKilometer1 == overQuarticKilometer3);
+    assertTrue("reciprocal equality", overQuarticKilometer1 == overQuarticKilometer4);
+
+    MeasureUnit kiloSquareSecond = MeasureUnit::getSecond()
+        .withDimensionality(2, status).withSIPrefix(UMEASURE_SI_PREFIX_KILO, status);
+    MeasureUnit meterSecond = meter.product(kiloSquareSecond, status);
+    MeasureUnit cubicMeterSecond1 = meter.withDimensionality(3, status).product(kiloSquareSecond, status);
+    MeasureUnit centimeterSecond1 = meter.withSIPrefix(UMEASURE_SI_PREFIX_CENTI, status).product(kiloSquareSecond, status);
+    MeasureUnit secondCubicMeter = kiloSquareSecond.product(meter.withDimensionality(3, status), status);
+    MeasureUnit secondCentimeter = kiloSquareSecond.product(meter.withSIPrefix(UMEASURE_SI_PREFIX_CENTI, status), status);
+    MeasureUnit secondCentimeterPerKilometer = secondCentimeter.product(kilometer.reciprocal(status), status);
+
+    verifySingleUnit(kiloSquareSecond, UMEASURE_SI_PREFIX_KILO, 2, "square-kilosecond");
+    const char* meterSecondSub[] = {"meter", "square-kilosecond"};
+    verifyCompoundUnit(meterSecond, "meter-square-kilosecond",
+        meterSecondSub, UPRV_LENGTHOF(meterSecondSub));
+    const char* cubicMeterSecond1Sub[] = {"cubic-meter", "square-kilosecond"};
+    verifyCompoundUnit(cubicMeterSecond1, "cubic-meter-square-kilosecond",
+        cubicMeterSecond1Sub, UPRV_LENGTHOF(cubicMeterSecond1Sub));
+    const char* centimeterSecond1Sub[] = {"centimeter", "square-kilosecond"};
+    verifyCompoundUnit(centimeterSecond1, "centimeter-square-kilosecond",
+        centimeterSecond1Sub, UPRV_LENGTHOF(centimeterSecond1Sub));
+    const char* secondCubicMeterSub[] = {"cubic-meter", "square-kilosecond"};
+    verifyCompoundUnit(secondCubicMeter, "cubic-meter-square-kilosecond",
+        secondCubicMeterSub, UPRV_LENGTHOF(secondCubicMeterSub));
+    const char* secondCentimeterSub[] = {"centimeter", "square-kilosecond"};
+    verifyCompoundUnit(secondCentimeter, "centimeter-square-kilosecond",
+        secondCentimeterSub, UPRV_LENGTHOF(secondCentimeterSub));
+    const char* secondCentimeterPerKilometerSub[] = {"centimeter", "square-kilosecond", "per-kilometer"};
+    verifyCompoundUnit(secondCentimeterPerKilometer, "centimeter-square-kilosecond-per-kilometer",
+        secondCentimeterPerKilometerSub, UPRV_LENGTHOF(secondCentimeterPerKilometerSub));
+
+    assertTrue("reordering equality", cubicMeterSecond1 == secondCubicMeter);
+    assertTrue("additional simple units inequality", secondCubicMeter != secondCentimeter);
+
+    // Don't allow get/set power or SI prefix on compound units
+    status.errIfFailureAndReset();
+    meterSecond.getDimensionality(status);
+    status.expectErrorAndReset(U_ILLEGAL_ARGUMENT_ERROR);
+    meterSecond.withDimensionality(3, status);
+    status.expectErrorAndReset(U_ILLEGAL_ARGUMENT_ERROR);
+    meterSecond.getSIPrefix(status);
+    status.expectErrorAndReset(U_ILLEGAL_ARGUMENT_ERROR);
+    meterSecond.withSIPrefix(UMEASURE_SI_PREFIX_CENTI, status);
+    status.expectErrorAndReset(U_ILLEGAL_ARGUMENT_ERROR);
+
+    // Test that StringPiece does not overflow
+    MeasureUnit centimeter3 = MeasureUnit::forIdentifier({secondCentimeter.getIdentifier(), 10}, status);
+    verifySingleUnit(centimeter3, UMEASURE_SI_PREFIX_CENTI, 1, "centimeter");
+    assertTrue("string piece equality", centimeter1 == centimeter3);
+
+    MeasureUnit footInch = MeasureUnit::forIdentifier("foot-and-inch", status);
+    MeasureUnit inchFoot = MeasureUnit::forIdentifier("inch-and-foot", status);
+
+    const char* footInchSub[] = {"foot", "inch"};
+    verifyMixedUnit(footInch, "foot-and-inch",
+        footInchSub, UPRV_LENGTHOF(footInchSub));
+    const char* inchFootSub[] = {"inch", "foot"};
+    verifyMixedUnit(inchFoot, "inch-and-foot",
+        inchFootSub, UPRV_LENGTHOF(inchFootSub));
+
+    assertTrue("order matters inequality", footInch != inchFoot);
+
+    MeasureUnit dimensionless;
+    MeasureUnit dimensionless2 = MeasureUnit::forIdentifier("", status);
+    status.errIfFailureAndReset("Dimensionless MeasureUnit.");
+    assertTrue("dimensionless equality", dimensionless == dimensionless2);
+
+    // We support starting from an "identity" MeasureUnit and then combining it
+    // with others via product:
+    MeasureUnit kilometer2 = dimensionless.product(kilometer, status);
+    status.errIfFailureAndReset("dimensionless.product(kilometer, status)");
+    verifySingleUnit(kilometer2, UMEASURE_SI_PREFIX_KILO, 1, "kilometer");
+    assertTrue("kilometer equality", kilometer == kilometer2);
+
+    // Test out-of-range powers
+    MeasureUnit power15 = MeasureUnit::forIdentifier("p15-kilometer", status);
+    verifySingleUnit(power15, UMEASURE_SI_PREFIX_KILO, 15, "p15-kilometer");
+    status.errIfFailureAndReset();
+    MeasureUnit power16a = MeasureUnit::forIdentifier("p16-kilometer", status);
+    status.expectErrorAndReset(U_ILLEGAL_ARGUMENT_ERROR);
+    MeasureUnit power16b = power15.product(kilometer, status);
+    status.expectErrorAndReset(U_ILLEGAL_ARGUMENT_ERROR);
+    MeasureUnit powerN15 = MeasureUnit::forIdentifier("per-p15-kilometer", status);
+    verifySingleUnit(powerN15, UMEASURE_SI_PREFIX_KILO, -15, "per-p15-kilometer");
+    status.errIfFailureAndReset();
+    MeasureUnit powerN16a = MeasureUnit::forIdentifier("per-p16-kilometer", status);
+    status.expectErrorAndReset(U_ILLEGAL_ARGUMENT_ERROR);
+    MeasureUnit powerN16b = powerN15.product(overQuarticKilometer1, status);
+    status.expectErrorAndReset(U_ILLEGAL_ARGUMENT_ERROR);
+}
+
+void MeasureFormatTest::TestDimensionlessBehaviour() {
+    IcuTestErrorCode status(*this, "TestDimensionlessBehaviour");
+    MeasureUnit dimensionless;
+    MeasureUnit modified;
+
+    // At the time of writing, each of the seven groups below caused
+    // Parser::from("") to be called:
+
+    // splitToSingleUnits
+    int32_t count;
+    LocalArray<MeasureUnit> singles = dimensionless.splitToSingleUnits(count, status);
+    status.errIfFailureAndReset("dimensionless.splitToSingleUnits(...)");
+    assertEquals("no singles in dimensionless", 0, count);
+
+    // product(dimensionless)
+    MeasureUnit mile = MeasureUnit::getMile();
+    mile = mile.product(dimensionless, status);
+    status.errIfFailureAndReset("mile.product(dimensionless, ...)");
+    verifySingleUnit(mile, UMEASURE_SI_PREFIX_ONE, 1, "mile");
+
+    // dimensionless.getSIPrefix()
+    UMeasureSIPrefix siPrefix = dimensionless.getSIPrefix(status);
+    status.errIfFailureAndReset("dimensionless.getSIPrefix(...)");
+    assertEquals("dimensionless SIPrefix", UMEASURE_SI_PREFIX_ONE, siPrefix);
+
+    // dimensionless.withSIPrefix()
+    modified = dimensionless.withSIPrefix(UMEASURE_SI_PREFIX_KILO, status);
+    status.errIfFailureAndReset("dimensionless.withSIPrefix(...)");
+    singles = modified.splitToSingleUnits(count, status);
+    assertEquals("no singles in modified", 0, count);
+    siPrefix = modified.getSIPrefix(status);
+    status.errIfFailureAndReset("modified.getSIPrefix(...)");
+    assertEquals("modified SIPrefix", UMEASURE_SI_PREFIX_ONE, siPrefix);
+
+    // dimensionless.getComplexity()
+    UMeasureUnitComplexity complexity = dimensionless.getComplexity(status);
+    status.errIfFailureAndReset("dimensionless.getComplexity(...)");
+    assertEquals("dimensionless complexity", UMEASURE_UNIT_SINGLE, complexity);
+
+    // Dimensionality is mostly meaningless for dimensionless units, but it's
+    // still considered a SINGLE unit, so this code doesn't throw errors:
+
+    // dimensionless.getDimensionality()
+    int32_t dimensionality = dimensionless.getDimensionality(status);
+    status.errIfFailureAndReset("dimensionless.getDimensionality(...)");
+    assertEquals("dimensionless dimensionality", 0, dimensionality);
+
+    // dimensionless.withDimensionality()
+    dimensionless.withDimensionality(-1, status);
+    status.errIfFailureAndReset("dimensionless.withDimensionality(...)");
+    dimensionality = dimensionless.getDimensionality(status);
+    status.errIfFailureAndReset("dimensionless.getDimensionality(...)");
+    assertEquals("dimensionless dimensionality", 0, dimensionality);
+}
+
+// ICU-21060
+void MeasureFormatTest::Test21060_AddressSanitizerProblem() {
+    IcuTestErrorCode status(*this, "Test21060_AddressSanitizerProblem");
+
+    MeasureUnit first = MeasureUnit::forIdentifier("", status);
+    status.errIfFailureAndReset();
+
+    // Experimentally, a compound unit like "kilogram-meter" failed. A single
+    // unit like "kilogram" or "meter" did not fail, did not trigger the
+    // problem.
+    MeasureUnit crux = MeasureUnit::forIdentifier("per-meter", status);
+
+    // Heap allocation of a new CharString for first.identifier happens here:
+    first = first.product(crux, status);
+
+    // Constructing second from first's identifier resulted in a failure later,
+    // as second held a reference to a substring of first's identifier:
+    MeasureUnit second = MeasureUnit::forIdentifier(first.getIdentifier(), status);
+
+    // Heap is freed here, as an old first.identifier CharString is deallocated
+    // and a new CharString is allocated:
+    first = first.product(crux, status);
+
+    // Proving we've had no failure yet:
+    status.errIfFailureAndReset();
+
+    // heap-use-after-free failure happened here, since a SingleUnitImpl had
+    // held onto a StringPiece pointing at a substring of an identifier that was
+    // freed above:
+    second = second.product(crux, status);
+
+    status.errIfFailureAndReset();
+}
+
 
 void MeasureFormatTest::verifyFieldPosition(
         const char *description,
@@ -3286,6 +3618,97 @@ void MeasureFormatTest::verifyFormat(
     }
 }
 
+void MeasureFormatTest::verifySingleUnit(
+        const MeasureUnit& unit,
+        UMeasureSIPrefix siPrefix,
+        int8_t power,
+        const char* identifier) {
+    IcuTestErrorCode status(*this, "verifySingleUnit");
+    UnicodeString uid(identifier, -1, US_INV);
+    assertEquals(uid + ": SI prefix",
+        siPrefix,
+        unit.getSIPrefix(status));
+    status.errIfFailureAndReset("%s: SI prefix", identifier);
+    assertEquals(uid + ": Power",
+        static_cast<int32_t>(power),
+        static_cast<int32_t>(unit.getDimensionality(status)));
+    status.errIfFailureAndReset("%s: Power", identifier);
+    assertEquals(uid + ": Identifier",
+        identifier,
+        unit.getIdentifier());
+    status.errIfFailureAndReset("%s: Identifier", identifier);
+    assertTrue(uid + ": Constructor",
+        unit == MeasureUnit::forIdentifier(identifier, status));
+    status.errIfFailureAndReset("%s: Constructor", identifier);
+    assertEquals(uid + ": Complexity",
+        UMEASURE_UNIT_SINGLE,
+        unit.getComplexity(status));
+    status.errIfFailureAndReset("%s: Complexity", identifier);
+}
+
+void MeasureFormatTest::verifyCompoundUnit(
+        const MeasureUnit& unit,
+        const char* identifier,
+        const char** subIdentifiers,
+        int32_t subIdentifierCount) {
+    IcuTestErrorCode status(*this, "verifyCompoundUnit");
+    UnicodeString uid(identifier, -1, US_INV);
+    assertEquals(uid + ": Identifier",
+        identifier,
+        unit.getIdentifier());
+    status.errIfFailureAndReset("%s: Identifier", identifier);
+    assertTrue(uid + ": Constructor",
+        unit == MeasureUnit::forIdentifier(identifier, status));
+    status.errIfFailureAndReset("%s: Constructor", identifier);
+    assertEquals(uid + ": Complexity",
+        UMEASURE_UNIT_COMPOUND,
+        unit.getComplexity(status));
+    status.errIfFailureAndReset("%s: Complexity", identifier);
+
+    int32_t length;
+    LocalArray<MeasureUnit> subUnits = unit.splitToSingleUnits(length, status);
+    assertEquals(uid + ": Length", subIdentifierCount, length);
+    for (int32_t i = 0;; i++) {
+        if (i >= subIdentifierCount || i >= length) break;
+        assertEquals(uid + ": Sub-unit #" + Int64ToUnicodeString(i),
+            subIdentifiers[i],
+            subUnits[i].getIdentifier());
+        assertEquals(uid + ": Sub-unit Complexity",
+            UMEASURE_UNIT_SINGLE,
+            subUnits[i].getComplexity(status));
+    }
+}
+
+void MeasureFormatTest::verifyMixedUnit(
+        const MeasureUnit& unit,
+        const char* identifier,
+        const char** subIdentifiers,
+        int32_t subIdentifierCount) {
+    IcuTestErrorCode status(*this, "verifyMixedUnit");
+    UnicodeString uid(identifier, -1, US_INV);
+    assertEquals(uid + ": Identifier",
+        identifier,
+        unit.getIdentifier());
+    status.errIfFailureAndReset("%s: Identifier", identifier);
+    assertTrue(uid + ": Constructor",
+        unit == MeasureUnit::forIdentifier(identifier, status));
+    status.errIfFailureAndReset("%s: Constructor", identifier);
+    assertEquals(uid + ": Complexity",
+        UMEASURE_UNIT_MIXED,
+        unit.getComplexity(status));
+    status.errIfFailureAndReset("%s: Complexity", identifier);
+
+    int32_t length;
+    LocalArray<MeasureUnit> subUnits = unit.splitToSingleUnits(length, status);
+    assertEquals(uid + ": Length", subIdentifierCount, length);
+    for (int32_t i = 0;; i++) {
+        if (i >= subIdentifierCount || i >= length) break;
+        assertEquals(uid + ": Sub-unit #" + Int64ToUnicodeString(i),
+            subIdentifiers[i],
+            subUnits[i].getIdentifier());
+    }
+}
+
 extern IntlTest *createMeasureFormatTest() {
     return new MeasureFormatTest();
 }
diff --git a/source/test/intltest/numberformat2test.cpp b/source/test/intltest/numberformat2test.cpp
deleted file mode 100644 (file)
index ce28c3f..0000000
+++ /dev/null
@@ -1,3090 +0,0 @@
-// © 2016 and later: Unicode, Inc. and others.
-// License & terms of use: http://www.unicode.org/copyright.html
-/*
-*******************************************************************************
-* Copyright (C) 2015, International Business Machines Corporation and         *
-* others. All Rights Reserved.                                                *
-*******************************************************************************
-*
-* File NUMBERFORMAT2TEST.CPP
-*
-*******************************************************************************
-*/
-#include "unicode/utypes.h"
-
-#include "intltest.h"
-
-#if !UCONFIG_NO_FORMATTING
-
-#include "unicode/localpointer.h"
-#include "unicode/plurrule.h"
-
-#include "affixpatternparser.h"
-#include "charstr.h"
-#include "datadrivennumberformattestsuite.h"
-#include "decimalformatpattern.h"
-#include "digitaffixesandpadding.h"
-#include "digitformatter.h"
-#include "digitgrouping.h"
-#include "digitinterval.h"
-#include "digitlst.h"
-#include "fphdlimp.h"
-#include "plurrule_impl.h"
-#include "precision.h"
-#include "significantdigitinterval.h"
-#include "smallintformatter.h"
-#include "uassert.h"
-#include "valueformatter.h"
-#include "visibledigits.h"
-
-struct NumberFormat2Test_Attributes {
-    int32_t id;
-    int32_t spos;
-    int32_t epos;
-};
-
-class NumberFormat2Test_FieldPositionHandler : public FieldPositionHandler {
-public:
-NumberFormat2Test_Attributes attributes[100];
-int32_t count;
-UBool bRecording;
-
-
-
-NumberFormat2Test_FieldPositionHandler() : count(0), bRecording(TRUE) { attributes[0].spos = -1; }
-NumberFormat2Test_FieldPositionHandler(UBool recording) : count(0), bRecording(recording) { attributes[0].spos = -1; }
-virtual ~NumberFormat2Test_FieldPositionHandler();
-virtual void addAttribute(int32_t id, int32_t start, int32_t limit);
-virtual void shiftLast(int32_t delta);
-virtual UBool isRecording(void) const;
-};
-NumberFormat2Test_FieldPositionHandler::~NumberFormat2Test_FieldPositionHandler() {
-}
-
-void NumberFormat2Test_FieldPositionHandler::addAttribute(
-        int32_t id, int32_t start, int32_t limit) {
-    if (count == UPRV_LENGTHOF(attributes) - 1) {
-        return;
-    }
-    attributes[count].id = id;
-    attributes[count].spos = start;
-    attributes[count].epos = limit;
-    ++count;
-    attributes[count].spos = -1;
-}
-
-void NumberFormat2Test_FieldPositionHandler::shiftLast(int32_t /* delta */) {
-}
-
-UBool NumberFormat2Test_FieldPositionHandler::isRecording() const {
-    return bRecording;
-}
-
-
-class NumberFormat2Test : public IntlTest {
-public:
-    void runIndexedTest(int32_t index, UBool exec, const char *&name, char *par=0);
-private:
-    void TestQuantize();
-    void TestConvertScientificNotation();
-    void TestLowerUpperExponent();
-    void TestRounding();
-    void TestRoundingIncrement();
-    void TestDigitInterval();
-    void TestGroupingUsed();
-    void TestBenchmark();
-    void TestBenchmark2();
-    void TestSmallIntFormatter();
-    void TestPositiveIntDigitFormatter();
-    void TestDigitListInterval();
-    void TestLargeIntValue();
-    void TestIntInitVisibleDigits();
-    void TestIntInitVisibleDigitsToDigitList();
-    void TestDoubleInitVisibleDigits();
-    void TestDoubleInitVisibleDigitsToDigitList();
-    void TestDigitListInitVisibleDigits();
-    void TestSpecialInitVisibleDigits();
-    void TestVisibleDigitsWithExponent();
-    void TestDigitAffixesAndPadding();
-    void TestPluralsAndRounding();
-    void TestPluralsAndRoundingScientific();
-    void TestValueFormatterIsFastFormattable();
-    void TestCurrencyAffixInfo();
-    void TestAffixPattern();
-    void TestAffixPatternAppend();
-    void TestAffixPatternAppendAjoiningLiterals();
-    void TestAffixPatternDoubleQuote();
-    void TestAffixPatternParser();
-    void TestPluralAffix();
-    void TestDigitAffix();
-    void TestDigitFormatterDefaultCtor();
-    void TestDigitFormatterMonetary();
-    void TestDigitFormatter();
-    void TestSciFormatterDefaultCtor();
-    void TestSciFormatter();
-    void TestToPatternScientific11648();
-    void verifyInterval(const DigitInterval &, int32_t minInclusive, int32_t maxExclusive);
-    void verifyAffix(
-            const UnicodeString &expected,
-            const DigitAffix &affix,
-            const NumberFormat2Test_Attributes *expectedAttributes);
-    void verifyAffixesAndPadding(
-            const UnicodeString &expected,
-            const DigitAffixesAndPadding &aaf,
-            DigitList &digits,
-            const ValueFormatter &vf,
-            const PluralRules *optPluralRules,
-            const NumberFormat2Test_Attributes *expectedAttributes);
-    void verifyAffixesAndPaddingInt32(
-            const UnicodeString &expected,
-            const DigitAffixesAndPadding &aaf,
-            int32_t value,
-            const ValueFormatter &vf,
-            const PluralRules *optPluralRules,
-            const NumberFormat2Test_Attributes *expectedAttributes);
-    void verifyDigitList(
-        const UnicodeString &expected,
-        const DigitList &digits);
-    void verifyVisibleDigits(
-        const UnicodeString &expected,
-        UBool bNegative,
-        const VisibleDigits &digits);
-    void verifyVisibleDigitsWithExponent(
-        const UnicodeString &expected,
-        UBool bNegative,
-        const VisibleDigitsWithExponent &digits);
-    void verifyDigitFormatter(
-            const UnicodeString &expected,
-            const DigitFormatter &formatter,
-            const VisibleDigits &digits,
-            const DigitGrouping &grouping,
-            const DigitFormatterOptions &options,
-            const NumberFormat2Test_Attributes *expectedAttributes);
-    void verifySciFormatter(
-            const UnicodeString &expected,
-            const DigitFormatter &formatter,
-            const VisibleDigitsWithExponent &digits,
-            const SciFormatterOptions &options,
-            const NumberFormat2Test_Attributes *expectedAttributes);
-    void verifySmallIntFormatter(
-            const UnicodeString &expected,
-            int32_t positiveValue,
-            int32_t minDigits,
-            int32_t maxDigits);
-    void verifyPositiveIntDigitFormatter(
-            const UnicodeString &expected,
-            const DigitFormatter &formatter,
-            int32_t value,
-            int32_t minDigits,
-            int32_t maxDigits,
-            const NumberFormat2Test_Attributes *expectedAttributes);
-    void verifyAttributes(
-            const NumberFormat2Test_Attributes *expected,
-            const NumberFormat2Test_Attributes *actual);
-    void verifyIntValue(
-            int64_t expected, const VisibleDigits &digits);
-    void verifySource(
-            double expected, const VisibleDigits &digits);
-};
-
-void NumberFormat2Test::runIndexedTest(
-        int32_t index, UBool exec, const char *&name, char *) {
-    if (exec) {
-        logln("TestSuite ScientificNumberFormatterTest: ");
-    }
-    TESTCASE_AUTO_BEGIN;
-    TESTCASE_AUTO(TestQuantize);
-    TESTCASE_AUTO(TestConvertScientificNotation);
-    TESTCASE_AUTO(TestLowerUpperExponent);
-    TESTCASE_AUTO(TestRounding);
-    TESTCASE_AUTO(TestRoundingIncrement);
-    TESTCASE_AUTO(TestDigitInterval);
-    TESTCASE_AUTO(TestGroupingUsed);
-    TESTCASE_AUTO(TestDigitListInterval);
-    TESTCASE_AUTO(TestDigitFormatterDefaultCtor);
-    TESTCASE_AUTO(TestDigitFormatterMonetary);
-    TESTCASE_AUTO(TestDigitFormatter);
-    TESTCASE_AUTO(TestSciFormatterDefaultCtor);
-    TESTCASE_AUTO(TestSciFormatter);
-    TESTCASE_AUTO(TestBenchmark);
-    TESTCASE_AUTO(TestBenchmark2);
-    TESTCASE_AUTO(TestSmallIntFormatter);
-    TESTCASE_AUTO(TestPositiveIntDigitFormatter);
-    TESTCASE_AUTO(TestCurrencyAffixInfo);
-    TESTCASE_AUTO(TestAffixPattern);
-    TESTCASE_AUTO(TestAffixPatternAppend);
-    TESTCASE_AUTO(TestAffixPatternAppendAjoiningLiterals);
-    TESTCASE_AUTO(TestAffixPatternDoubleQuote);
-    TESTCASE_AUTO(TestAffixPatternParser);
-    TESTCASE_AUTO(TestPluralAffix);
-    TESTCASE_AUTO(TestDigitAffix);
-    TESTCASE_AUTO(TestValueFormatterIsFastFormattable);
-    TESTCASE_AUTO(TestLargeIntValue);
-    TESTCASE_AUTO(TestIntInitVisibleDigits);
-    TESTCASE_AUTO(TestIntInitVisibleDigitsToDigitList);
-    TESTCASE_AUTO(TestDoubleInitVisibleDigits);
-    TESTCASE_AUTO(TestDoubleInitVisibleDigitsToDigitList);
-    TESTCASE_AUTO(TestDigitListInitVisibleDigits);
-    TESTCASE_AUTO(TestSpecialInitVisibleDigits);
-    TESTCASE_AUTO(TestVisibleDigitsWithExponent);
-    TESTCASE_AUTO(TestDigitAffixesAndPadding);
-    TESTCASE_AUTO(TestPluralsAndRounding);
-    TESTCASE_AUTO(TestPluralsAndRoundingScientific);
-    TESTCASE_AUTO(TestToPatternScientific11648);
-    TESTCASE_AUTO_END;
-}
-
-void NumberFormat2Test::TestDigitInterval() {
-    DigitInterval all;
-    DigitInterval threeInts;
-    DigitInterval fourFrac;
-    threeInts.setIntDigitCount(3);
-    fourFrac.setFracDigitCount(4);
-    verifyInterval(all, INT32_MIN, INT32_MAX);
-    verifyInterval(threeInts, INT32_MIN, 3);
-    verifyInterval(fourFrac, -4, INT32_MAX);
-    {
-        DigitInterval result(threeInts);
-        result.shrinkToFitWithin(fourFrac);
-        verifyInterval(result, -4, 3);
-        assertEquals("", 7, result.length());
-    }
-    {
-        DigitInterval result(threeInts);
-        result.expandToContain(fourFrac);
-        verifyInterval(result, INT32_MIN, INT32_MAX);
-    }
-    {
-        DigitInterval result(threeInts);
-        result.setIntDigitCount(0);
-        verifyInterval(result, INT32_MIN, 0);
-        result.setIntDigitCount(-1);
-        verifyInterval(result, INT32_MIN, INT32_MAX);
-    }
-    {
-        DigitInterval result(fourFrac);
-        result.setFracDigitCount(0);
-        verifyInterval(result, 0, INT32_MAX);
-        result.setFracDigitCount(-1);
-        verifyInterval(result, INT32_MIN, INT32_MAX);
-    }
-    {
-        DigitInterval result;
-        result.setIntDigitCount(3);
-        result.setFracDigitCount(1);
-        result.expandToContainDigit(0);
-        result.expandToContainDigit(-1);
-        result.expandToContainDigit(2);
-        verifyInterval(result, -1, 3);
-        result.expandToContainDigit(3);
-        verifyInterval(result, -1, 4);
-        result.expandToContainDigit(-2);
-        verifyInterval(result, -2, 4);
-        result.expandToContainDigit(15);
-        result.expandToContainDigit(-15);
-        verifyInterval(result, -15, 16);
-    }
-    {
-        DigitInterval result;
-        result.setIntDigitCount(3);
-        result.setFracDigitCount(1);
-        assertTrue("", result.contains(2));
-        assertTrue("", result.contains(-1));
-        assertFalse("", result.contains(3));
-        assertFalse("", result.contains(-2));
-    }
-}
-
-void NumberFormat2Test::verifyInterval(
-        const DigitInterval &interval,
-        int32_t minInclusive, int32_t maxExclusive) {
-    assertEquals("", minInclusive, interval.getLeastSignificantInclusive());
-    assertEquals("", maxExclusive, interval.getMostSignificantExclusive());
-    assertEquals("", maxExclusive, interval.getIntDigitCount());
-}
-
-void NumberFormat2Test::TestGroupingUsed() {
-    {
-        DigitGrouping grouping;
-        assertFalse("", grouping.isGroupingUsed());
-    }
-    {
-        DigitGrouping grouping;
-        grouping.fGrouping = 2;
-        assertTrue("", grouping.isGroupingUsed());
-    }
-}
-
-void NumberFormat2Test::TestDigitListInterval() {
-    DigitInterval result;
-    DigitList digitList;
-    {
-        digitList.set((int32_t)12345);
-        verifyInterval(digitList.getSmallestInterval(result), 0, 5);
-    }
-    {
-        digitList.set(1000.00);
-        verifyInterval(digitList.getSmallestInterval(result), 0, 4);
-    }
-    {
-        digitList.set(43.125);
-        verifyInterval(digitList.getSmallestInterval(result), -3, 2);
-    }
-    {
-        digitList.set(.0078125);
-        verifyInterval(digitList.getSmallestInterval(result), -7, 0);
-    }
-    {
-        digitList.set(1000.00);
-        digitList.getSmallestInterval(result);
-        result.expandToContainDigit(3);
-        verifyInterval(result, 0, 4);
-    }
-    {
-        digitList.set(1000.00);
-        digitList.getSmallestInterval(result);
-        result.expandToContainDigit(4);
-        verifyInterval(result, 0, 5);
-    }
-    {
-        digitList.set(1000.00);
-        digitList.getSmallestInterval(result);
-        result.expandToContainDigit(0);
-        verifyInterval(result, 0, 4);
-    }
-    {
-        digitList.set(1000.00);
-        digitList.getSmallestInterval(result);
-        result.expandToContainDigit(-1);
-        verifyInterval(result, -1, 4);
-    }
-    {
-        digitList.set(43.125);
-        digitList.getSmallestInterval(result);
-        result.expandToContainDigit(1);
-        verifyInterval(result, -3, 2);
-    }
-    {
-        digitList.set(43.125);
-        digitList.getSmallestInterval(result);
-        result.expandToContainDigit(2);
-        verifyInterval(result, -3, 3);
-    }
-    {
-        digitList.set(43.125);
-        digitList.getSmallestInterval(result);
-        result.expandToContainDigit(-3);
-        verifyInterval(result, -3, 2);
-    }
-    {
-        digitList.set(43.125);
-        digitList.getSmallestInterval(result);
-        result.expandToContainDigit(-4);
-        verifyInterval(result, -4, 2);
-    }
-}
-
-void NumberFormat2Test::TestQuantize() {
-    DigitList quantity;
-    quantity.set(0.00168);
-    quantity.roundAtExponent(-5);
-    DigitList digits;
-    UErrorCode status = U_ZERO_ERROR;
-    {
-        digits.set((int32_t)1);
-        digits.quantize(quantity, status);
-        verifyDigitList(".9996", digits);
-    }
-    {
-        // round half even up
-        digits.set(1.00044);
-        digits.roundAtExponent(-5);
-        digits.quantize(quantity, status);
-        verifyDigitList("1.00128", digits);
-    }
-    {
-        // round half down
-        digits.set(0.99876);
-        digits.roundAtExponent(-5);
-        digits.quantize(quantity, status);
-        verifyDigitList(".99792", digits);
-    }
-    assertSuccess("", status);
-}
-
-void NumberFormat2Test::TestConvertScientificNotation() {
-    DigitList digits;
-    {
-        digits.set((int32_t)186283);
-        assertEquals("", 5, digits.toScientific(1, 1));
-        verifyDigitList(
-                "1.86283",
-                digits);
-    }
-    {
-        digits.set((int32_t)186283);
-        assertEquals("", 0, digits.toScientific(6, 1));
-        verifyDigitList(
-                "186283",
-                digits);
-    }
-    {
-        digits.set((int32_t)186283);
-        assertEquals("", -2, digits.toScientific(8, 1));
-        verifyDigitList(
-                "18628300",
-                digits);
-    }
-    {
-        digits.set((int32_t)43561);
-        assertEquals("", 6, digits.toScientific(-1, 3));
-        verifyDigitList(
-                ".043561",
-                digits);
-    }
-    {
-        digits.set((int32_t)43561);
-        assertEquals("", 3, digits.toScientific(0, 3));
-        verifyDigitList(
-                "43.561",
-                digits);
-    }
-    {
-        digits.set((int32_t)43561);
-        assertEquals("", 3, digits.toScientific(2, 3));
-        verifyDigitList(
-                "43.561",
-                digits);
-    }
-    {
-        digits.set((int32_t)43561);
-        assertEquals("", 0, digits.toScientific(3, 3));
-        verifyDigitList(
-                "43561",
-                digits);
-    }
-    {
-        digits.set((int32_t)43561);
-        assertEquals("", 0, digits.toScientific(5, 3));
-        verifyDigitList(
-                "43561",
-                digits);
-    }
-    {
-        digits.set((int32_t)43561);
-        assertEquals("", -3, digits.toScientific(6, 3));
-        verifyDigitList(
-                "43561000",
-                digits);
-    }
-    {
-        digits.set((int32_t)43561);
-        assertEquals("", -3, digits.toScientific(8, 3));
-        verifyDigitList(
-                "43561000",
-                digits);
-    }
-    {
-        digits.set((int32_t)43561);
-        assertEquals("", -6, digits.toScientific(9, 3));
-        verifyDigitList(
-                "43561000000",
-                digits);
-    }
-}
-
-void NumberFormat2Test::TestLowerUpperExponent() {
-    DigitList digits;
-
-    digits.set(98.7);
-    assertEquals("", -1, digits.getLowerExponent());
-    assertEquals("", 2, digits.getUpperExponent());
-}
-
-void NumberFormat2Test::TestRounding() {
-    DigitList digits;
-    uprv_decContextSetRounding(&digits.fContext, DEC_ROUND_CEILING);
-    {
-        // Round at very large exponent
-        digits.set(789.123);
-        digits.roundAtExponent(100);
-        verifyDigitList(
-                "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", // 100 0's after 1
-                digits);
-    }
-    {
-        // Round at very large exponent
-        digits.set(789.123);
-        digits.roundAtExponent(1);
-        verifyDigitList(
-                "790", // 100 0's after 1
-                digits);
-    }
-    {
-        // Round at positive exponent
-        digits.set(789.123);
-        digits.roundAtExponent(1);
-        verifyDigitList("790", digits);
-    }
-    {
-        // Round at zero exponent
-        digits.set(788.123);
-        digits.roundAtExponent(0);
-        verifyDigitList("789", digits);
-    }
-    {
-        // Round at negative exponent
-        digits.set(789.123);
-        digits.roundAtExponent(-2);
-        verifyDigitList("789.13", digits);
-    }
-    {
-        // Round to exponent of digits.
-        digits.set(789.123);
-        digits.roundAtExponent(-3);
-        verifyDigitList("789.123", digits);
-    }
-    {
-        // Round at large negative exponent
-        digits.set(789.123);
-        digits.roundAtExponent(-100);
-        verifyDigitList("789.123", digits);
-    }
-    {
-        // Round negative
-        digits.set(-789.123);
-        digits.roundAtExponent(-2);
-        digits.setPositive(TRUE);
-        verifyDigitList("789.12", digits);
-    }
-    {
-        // Round to 1 significant digit
-        digits.set(789.123);
-        digits.roundAtExponent(INT32_MIN, 1);
-        verifyDigitList("800", digits);
-    }
-    {
-        // Round to 5 significant digit
-        digits.set(789.123);
-        digits.roundAtExponent(INT32_MIN, 5);
-        verifyDigitList("789.13", digits);
-    }
-    {
-        // Round to 6 significant digit
-        digits.set(789.123);
-        digits.roundAtExponent(INT32_MIN, 6);
-        verifyDigitList("789.123", digits);
-    }
-    {
-        // no-op
-        digits.set(789.123);
-        digits.roundAtExponent(INT32_MIN, INT32_MAX);
-        verifyDigitList("789.123", digits);
-    }
-    {
-        // Rounding at -1 produces fewer than 5 significant digits
-        digits.set(789.123);
-        digits.roundAtExponent(-1, 5);
-        verifyDigitList("789.2", digits);
-    }
-    {
-        // Rounding at -1 produces exactly 4 significant digits
-        digits.set(789.123);
-        digits.roundAtExponent(-1, 4);
-        verifyDigitList("789.2", digits);
-    }
-    {
-        // Rounding at -1 produces more than 3 significant digits
-        digits.set(788.123);
-        digits.roundAtExponent(-1, 3);
-        verifyDigitList("789", digits);
-    }
-    {
-        digits.set(123.456);
-        digits.round(INT32_MAX);
-        verifyDigitList("123.456", digits);
-    }
-    {
-        digits.set(123.456);
-        digits.round(1);
-        verifyDigitList("200", digits);
-    }
-}
-void NumberFormat2Test::TestBenchmark() {
-/*
-    UErrorCode status = U_ZERO_ERROR;
-    Locale en("en");
-    DecimalFormatSymbols *sym = new DecimalFormatSymbols(en, status);
-    DecimalFormat2 fmt(en, "0.0000000", status);
-    FieldPosition fpos(FieldPostion::DONT_CARE);
-    clock_t start = clock();
-    for (int32_t i = 0; i < 100000; ++i) {
-       UParseError perror;
-       DecimalFormat2 fmt2("0.0000000", new DecimalFormatSymbols(*sym), perror, status);
-//       UnicodeString append;
-//       fmt.format(4.6692016, append, fpos, status);
-    }
-    errln("Took %f", (double) (clock() - start) / CLOCKS_PER_SEC);
-    assertSuccess("", status);
-*/
-}
-
-void NumberFormat2Test::TestBenchmark2() {
-/*
-    UErrorCode status = U_ZERO_ERROR;
-    Locale en("en");
-    DecimalFormatSymbols *sym = new DecimalFormatSymbols(en, status);
-    DecimalFormat fmt("0.0000000", sym, status);
-    FieldPosition fpos(FieldPostion::DONT_CARE);
-    clock_t start = clock();
-    for (int32_t i = 0; i < 100000; ++i) {
-      UParseError perror;
-      DecimalFormat fmt("0.0000000", new DecimalFormatSymbols(*sym), perror, status);
-//        UnicodeString append;
-//        fmt.format(4.6692016, append, fpos, status);
-    }
-    errln("Took %f", (double) (clock() - start) / CLOCKS_PER_SEC);
-    assertSuccess("", status);
-*/
-}
-
-void NumberFormat2Test::TestSmallIntFormatter() {
-    verifySmallIntFormatter("0", 7, 0, -2);
-    verifySmallIntFormatter("7", 7, 1, -2);
-    verifySmallIntFormatter("07", 7, 2, -2);
-    verifySmallIntFormatter("07", 7, 2, 2);
-    verifySmallIntFormatter("007", 7, 3, 4);
-    verifySmallIntFormatter("7", 7, -1, 3);
-    verifySmallIntFormatter("0", 0, -1, 3);
-    verifySmallIntFormatter("057", 57, 3, 7);
-    verifySmallIntFormatter("0057", 57, 4, 7);
-    // too many digits for small int
-    verifySmallIntFormatter("", 57, 5, 7);
-    // too many digits for small int
-    verifySmallIntFormatter("", 57, 5, 4);
-    verifySmallIntFormatter("03", 3, 2, 3);
-    verifySmallIntFormatter("32", 32, 2, 3);
-    verifySmallIntFormatter("321", 321, 2, 3);
-    verifySmallIntFormatter("219", 3219, 2, 3);
-    verifySmallIntFormatter("4095", 4095, 2, 4);
-    verifySmallIntFormatter("4095", 4095, 2, 5);
-    verifySmallIntFormatter("", 4096, 2, 5);
-}
-
-void NumberFormat2Test::TestPositiveIntDigitFormatter() {
-    DigitFormatter formatter;
-    {
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_INTEGER_FIELD, 0, 4},
-            {0, -1, 0}};
-        verifyPositiveIntDigitFormatter(
-                "0057",
-                formatter,
-                57,
-                4,
-                INT32_MAX,
-                expectedAttributes);
-    }
-    {
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_INTEGER_FIELD, 0, 5},
-            {0, -1, 0}};
-        verifyPositiveIntDigitFormatter(
-                "00057",
-                formatter,
-                57,
-                5,
-                INT32_MAX,
-                expectedAttributes);
-    }
-    {
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_INTEGER_FIELD, 0, 5},
-            {0, -1, 0}};
-        verifyPositiveIntDigitFormatter(
-                "01000",
-                formatter,
-                1000,
-                5,
-                INT32_MAX,
-                expectedAttributes);
-    }
-    {
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_INTEGER_FIELD, 0, 3},
-            {0, -1, 0}};
-        verifyPositiveIntDigitFormatter(
-                "100",
-                formatter,
-                100,
-                0,
-                INT32_MAX,
-                expectedAttributes);
-    }
-    {
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_INTEGER_FIELD, 0, 10},
-            {0, -1, 0}};
-        verifyPositiveIntDigitFormatter(
-                "2147483647",
-                formatter,
-                2147483647,
-                5,
-                INT32_MAX,
-                expectedAttributes);
-    }
-    {
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_INTEGER_FIELD, 0, 12},
-            {0, -1, 0}};
-        verifyPositiveIntDigitFormatter(
-                "002147483647",
-                formatter,
-                2147483647,
-                12,
-                INT32_MAX,
-                expectedAttributes);
-    }
-    {
-        // Test long digit string where we have to append one
-        // character at a time.
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_INTEGER_FIELD, 0, 40},
-            {0, -1, 0}};
-        verifyPositiveIntDigitFormatter(
-                "0000000000000000000000000000002147483647",
-                formatter,
-                2147483647,
-                40,
-                INT32_MAX,
-                expectedAttributes);
-    }
-    {
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_INTEGER_FIELD, 0, 4},
-            {0, -1, 0}};
-        verifyPositiveIntDigitFormatter(
-                "6283",
-                formatter,
-                186283,
-                2,
-                4,
-                expectedAttributes);
-    }
-    {
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_INTEGER_FIELD, 0, 1},
-            {0, -1, 0}};
-        verifyPositiveIntDigitFormatter(
-                "0",
-                formatter,
-                186283,
-                0,
-                0,
-                expectedAttributes);
-    }
-    {
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_INTEGER_FIELD, 0, 1},
-            {0, -1, 0}};
-        verifyPositiveIntDigitFormatter(
-                "3",
-                formatter,
-                186283,
-                1,
-                1,
-                expectedAttributes);
-    }
-}
-
-
-void NumberFormat2Test::TestDigitFormatterDefaultCtor() {
-    DigitFormatter formatter;
-    VisibleDigits digits;
-    FixedPrecision precision;
-    UErrorCode status = U_ZERO_ERROR;
-    precision.initVisibleDigits(246.801, digits, status);
-    assertSuccess("", status);
-    DigitGrouping grouping;
-    DigitFormatterOptions options;
-    verifyDigitFormatter(
-            "246.801",
-            formatter,
-            digits,
-            grouping,
-            options,
-            NULL);
-}
-
-void NumberFormat2Test::TestDigitFormatterMonetary() {
-    UErrorCode status = U_ZERO_ERROR;
-    DecimalFormatSymbols symbols("en", status);
-    if (!assertSuccess("", status)) {
-        return;
-    }
-    symbols.setSymbol(
-            DecimalFormatSymbols::kMonetarySeparatorSymbol,
-            "decimal separator");
-    symbols.setSymbol(
-            DecimalFormatSymbols::kMonetaryGroupingSeparatorSymbol,
-            "grouping separator");
-    DigitFormatter formatter(symbols);
-    VisibleDigits visibleDigits;
-    DigitGrouping grouping;
-    FixedPrecision precision;
-    precision.initVisibleDigits(43560.02, visibleDigits, status);
-    if (!assertSuccess("", status)) {
-        return;
-    }
-    DigitFormatterOptions options;
-    grouping.fGrouping = 3;
-    {
-        verifyDigitFormatter(
-                "43,560.02",
-                formatter,
-                visibleDigits,
-                grouping,
-                options,
-                NULL);
-        formatter.setDecimalFormatSymbolsForMonetary(symbols);
-        verifyDigitFormatter(
-                "43grouping separator560decimal separator02",
-                formatter,
-                visibleDigits,
-                grouping,
-                options,
-                NULL);
-    }
-}
-
-void NumberFormat2Test::TestDigitFormatter() {
-    UErrorCode status = U_ZERO_ERROR;
-    DecimalFormatSymbols symbols("en", status);
-    if (!assertSuccess("", status)) {
-        return;
-    }
-    DigitFormatter formatter(symbols);
-    DigitInterval interval;
-    {
-        VisibleDigits visibleDigits;
-        DigitGrouping grouping;
-        FixedPrecision precision;
-        precision.initVisibleDigits((int64_t) 8192, visibleDigits, status);
-        if (!assertSuccess("", status)) {
-            return;
-        }
-        DigitFormatterOptions options;
-        verifyDigitFormatter(
-                "8192",
-                formatter,
-                visibleDigits,
-                grouping,
-                options,
-                NULL);
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_INTEGER_FIELD, 0, 4},
-            {UNUM_DECIMAL_SEPARATOR_FIELD, 4, 5},
-            {0, -1, 0}};
-        options.fAlwaysShowDecimal = TRUE;
-        verifyDigitFormatter(
-                "8192.",
-                formatter,
-                visibleDigits,
-                grouping,
-                options,
-                expectedAttributes);
-
-        // Turn on grouping
-        grouping.fGrouping = 3;
-        options.fAlwaysShowDecimal = FALSE;
-        verifyDigitFormatter(
-                "8,192",
-                formatter,
-                visibleDigits,
-                grouping,
-                options,
-                NULL);
-
-        // turn on min grouping which will suppress grouping
-        grouping.fMinGrouping = 2;
-        verifyDigitFormatter(
-                "8192",
-                formatter,
-                visibleDigits,
-                grouping,
-                options,
-                NULL);
-
-        // adding one more digit will enable grouping once again.
-        precision.initVisibleDigits((int64_t) 43560, visibleDigits, status);
-        if (!assertSuccess("", status)) {
-            return;
-        }
-        verifyDigitFormatter(
-                "43,560",
-                formatter,
-                visibleDigits,
-                grouping,
-                options,
-                NULL);
-    }
-    {
-        DigitGrouping grouping;
-        FixedPrecision precision;
-        VisibleDigits visibleDigits;
-        precision.initVisibleDigits(
-                31415926.0078125, visibleDigits, status);
-        if (!assertSuccess("", status)) {
-            return;
-        }
-        DigitFormatterOptions options;
-        verifyDigitFormatter(
-                "31415926.0078125",
-                formatter,
-                visibleDigits,
-                grouping,
-                options,
-                NULL);
-
-        // Turn on grouping with secondary.
-        grouping.fGrouping = 2;
-        grouping.fGrouping2 = 3;
-        verifyDigitFormatter(
-                "314,159,26.0078125",
-                formatter,
-                visibleDigits,
-                grouping,
-                options,
-                NULL);
-
-        // Pad with zeros by widening interval.
-        precision.fMin.setIntDigitCount(9);
-        precision.fMin.setFracDigitCount(10);
-        precision.initVisibleDigits(
-                31415926.0078125, visibleDigits, status);
-        if (!assertSuccess("", status)) {
-            return;
-        }
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_GROUPING_SEPARATOR_FIELD, 1, 2},
-            {UNUM_GROUPING_SEPARATOR_FIELD, 5, 6},
-            {UNUM_GROUPING_SEPARATOR_FIELD, 9, 10},
-            {UNUM_INTEGER_FIELD, 0, 12},
-            {UNUM_DECIMAL_SEPARATOR_FIELD, 12, 13},
-            {UNUM_FRACTION_FIELD, 13, 23},
-            {0, -1, 0}};
-        verifyDigitFormatter(
-                "0,314,159,26.0078125000",
-                formatter,
-                visibleDigits,
-                grouping,
-                options,
-                expectedAttributes);
-    }
-    {
-        DigitGrouping grouping;
-        FixedPrecision precision;
-        VisibleDigits visibleDigits;
-        DigitFormatterOptions options;
-        precision.fMax.setIntDigitCount(0);
-        precision.fMax.setFracDigitCount(0);
-        precision.initVisibleDigits(
-                3125.0, visibleDigits, status);
-        if (!assertSuccess("", status)) {
-            return;
-        }
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_INTEGER_FIELD, 0, 1},
-            {0, -1, 0}};
-        verifyDigitFormatter(
-                "0",
-                formatter,
-                visibleDigits,
-                grouping,
-                options,
-                expectedAttributes);
-        NumberFormat2Test_Attributes expectedAttributesWithDecimal[] = {
-            {UNUM_INTEGER_FIELD, 0, 1},
-            {UNUM_DECIMAL_SEPARATOR_FIELD, 1, 2},
-            {0, -1, 0}};
-        options.fAlwaysShowDecimal = TRUE;
-        verifyDigitFormatter(
-                "0.",
-                formatter,
-                visibleDigits,
-                grouping,
-                options,
-                expectedAttributesWithDecimal);
-    }
-    {
-        DigitGrouping grouping;
-        FixedPrecision precision;
-        VisibleDigits visibleDigits;
-        DigitFormatterOptions options;
-        precision.fMax.setIntDigitCount(1);
-        precision.fMin.setFracDigitCount(1);
-        precision.initVisibleDigits(
-                3125.0, visibleDigits, status);
-        if (!assertSuccess("", status)) {
-            return;
-        }
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_INTEGER_FIELD, 0, 1},
-            {UNUM_DECIMAL_SEPARATOR_FIELD, 1, 2},
-            {UNUM_FRACTION_FIELD, 2, 3},
-            {0, -1, 0}};
-        options.fAlwaysShowDecimal = TRUE;
-        verifyDigitFormatter(
-                "5.0",
-                formatter,
-                visibleDigits,
-                grouping,
-                options,
-                expectedAttributes);
-    }
-}
-
-void NumberFormat2Test::TestSciFormatterDefaultCtor() {
-    DigitFormatter formatter;
-    ScientificPrecision precision;
-    VisibleDigitsWithExponent visibleDigits;
-    UErrorCode status = U_ZERO_ERROR;
-    precision.initVisibleDigitsWithExponent(
-            6.02E23, visibleDigits, status);
-    if (!assertSuccess("", status)) {
-        return;
-    }
-    SciFormatterOptions options;
-    verifySciFormatter(
-            "6.02E23",
-            formatter,
-            visibleDigits,
-            options,
-            NULL);
-    precision.initVisibleDigitsWithExponent(
-            6.62E-34, visibleDigits, status);
-    if (!assertSuccess("", status)) {
-        return;
-    }
-    verifySciFormatter(
-            "6.62E-34",
-            formatter,
-            visibleDigits,
-            options,
-            NULL);
-}
-
-void NumberFormat2Test::TestSciFormatter() {
-    DigitFormatter formatter;
-    ScientificPrecision precision;
-    precision.fMantissa.fMin.setIntDigitCount(4);
-    precision.fMantissa.fMax.setIntDigitCount(4);
-    precision.fMantissa.fMin.setFracDigitCount(0);
-    precision.fMantissa.fMax.setFracDigitCount(0);
-    precision.fMinExponentDigits = 3;
-    VisibleDigitsWithExponent visibleDigits;
-    UErrorCode status = U_ZERO_ERROR;
-    precision.initVisibleDigitsWithExponent(
-            1.248E26, visibleDigits, status);
-    if (!assertSuccess("", status)) {
-        return;
-    }
-    SciFormatterOptions options;
-
-    {
-        options.fExponent.fAlwaysShowSign = TRUE;
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_INTEGER_FIELD, 0, 4},
-            {UNUM_EXPONENT_SYMBOL_FIELD, 4, 5},
-            {UNUM_EXPONENT_SIGN_FIELD, 5, 6},
-            {UNUM_EXPONENT_FIELD, 6, 9},
-            {0, -1, 0}};
-        verifySciFormatter(
-                "1248E+023",
-                formatter,
-                visibleDigits,
-                options,
-                expectedAttributes);
-    }
-    {
-        options.fMantissa.fAlwaysShowDecimal = TRUE;
-        options.fExponent.fAlwaysShowSign = FALSE;
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_INTEGER_FIELD, 0, 4},
-            {UNUM_DECIMAL_SEPARATOR_FIELD, 4, 5},
-            {UNUM_EXPONENT_SYMBOL_FIELD, 5, 6},
-            {UNUM_EXPONENT_FIELD, 6, 9},
-            {0, -1, 0}};
-        verifySciFormatter(
-                "1248.E023",
-                formatter,
-                visibleDigits,
-                options,
-                expectedAttributes);
-    }
-}
-
-void NumberFormat2Test::TestValueFormatterIsFastFormattable() {
-    UErrorCode status = U_ZERO_ERROR;
-    DecimalFormatSymbols symbols("en", status);
-    if (!assertSuccess("", status)) {
-        return;
-    }
-    DigitFormatter formatter(symbols);
-    DigitGrouping grouping;
-    FixedPrecision precision;
-    DigitFormatterOptions options;
-    ValueFormatter vf;
-    vf.prepareFixedDecimalFormatting(
-            formatter, grouping, precision, options);
-    assertTrue("", vf.isFastFormattable(0));
-    assertTrue("", vf.isFastFormattable(35));
-    assertTrue("", vf.isFastFormattable(-48));
-    assertTrue("", vf.isFastFormattable(2147483647));
-    assertTrue("", vf.isFastFormattable(-2147483647));
-    assertFalse("", vf.isFastFormattable(-2147483648L));
-    {
-        DigitGrouping grouping;
-        grouping.fGrouping = 3;
-        ValueFormatter vf;
-        vf.prepareFixedDecimalFormatting(
-                formatter, grouping, precision, options);
-        assertTrue("0", vf.isFastFormattable(0));
-        assertTrue("62", vf.isFastFormattable(62));
-        assertTrue("999", vf.isFastFormattable(999));
-        assertFalse("1000", vf.isFastFormattable(1000));
-        assertTrue("-1", vf.isFastFormattable(-1));
-        assertTrue("-38", vf.isFastFormattable(-38));
-        assertTrue("-999", vf.isFastFormattable(-999));
-        assertFalse("-1000", vf.isFastFormattable(-1000));
-        grouping.fMinGrouping = 2;
-        assertTrue("-1000", vf.isFastFormattable(-1000));
-        assertTrue("-4095", vf.isFastFormattable(-4095));
-        assertTrue("4095", vf.isFastFormattable(4095));
-        // We give up on acounting digits at 4096
-        assertFalse("-4096", vf.isFastFormattable(-4096));
-        assertFalse("4096", vf.isFastFormattable(4096));
-    }
-    {
-        // grouping on but with max integer digits set.
-        DigitGrouping grouping;
-        grouping.fGrouping = 4;
-        FixedPrecision precision;
-        precision.fMax.setIntDigitCount(4);
-        ValueFormatter vf;
-        vf.prepareFixedDecimalFormatting(
-                formatter, grouping, precision, options);
-        assertTrue("-4096", vf.isFastFormattable(-4096));
-        assertTrue("4096", vf.isFastFormattable(4096));
-        assertTrue("-10000", vf.isFastFormattable(-10000));
-        assertTrue("10000", vf.isFastFormattable(10000));
-        assertTrue("-2147483647", vf.isFastFormattable(-2147483647));
-        assertTrue("2147483647", vf.isFastFormattable(2147483647));
-
-        precision.fMax.setIntDigitCount(5);
-        assertFalse("-4096", vf.isFastFormattable(-4096));
-        assertFalse("4096", vf.isFastFormattable(4096));
-
-    }
-    {
-        // grouping on but with min integer digits set.
-        DigitGrouping grouping;
-        grouping.fGrouping = 3;
-        FixedPrecision precision;
-        precision.fMin.setIntDigitCount(3);
-        ValueFormatter vf;
-        vf.prepareFixedDecimalFormatting(
-                formatter, grouping, precision, options);
-        assertTrue("-999", vf.isFastFormattable(-999));
-        assertTrue("999", vf.isFastFormattable(999));
-        assertFalse("-1000", vf.isFastFormattable(-1000));
-        assertFalse("1000", vf.isFastFormattable(1000));
-
-        precision.fMin.setIntDigitCount(4);
-        assertFalse("-999", vf.isFastFormattable(-999));
-        assertFalse("999", vf.isFastFormattable(999));
-        assertFalse("-2147483647", vf.isFastFormattable(-2147483647));
-        assertFalse("2147483647", vf.isFastFormattable(2147483647));
-    }
-    {
-        // options set.
-        DigitFormatterOptions options;
-        ValueFormatter vf;
-        vf.prepareFixedDecimalFormatting(
-                formatter, grouping, precision, options);
-        assertTrue("5125", vf.isFastFormattable(5125));
-        options.fAlwaysShowDecimal = TRUE;
-        assertFalse("5125", vf.isFastFormattable(5125));
-        options.fAlwaysShowDecimal = FALSE;
-        assertTrue("5125", vf.isFastFormattable(5125));
-    }
-    {
-        // test fraction digits
-        FixedPrecision precision;
-        ValueFormatter vf;
-        vf.prepareFixedDecimalFormatting(
-                formatter, grouping, precision, options);
-        assertTrue("7127", vf.isFastFormattable(7127));
-        precision.fMin.setFracDigitCount(1);
-        assertFalse("7127", vf.isFastFormattable(7127));
-    }
-    {
-        // test presence of significant digits
-        FixedPrecision precision;
-        ValueFormatter vf;
-        vf.prepareFixedDecimalFormatting(
-                formatter, grouping, precision, options);
-        assertTrue("1049", vf.isFastFormattable(1049));
-        precision.fSignificant.setMin(1);
-        assertFalse("1049", vf.isFastFormattable(1049));
-    }
-    {
-        // test presence of rounding increment
-        FixedPrecision precision;
-        ValueFormatter vf;
-        vf.prepareFixedDecimalFormatting(
-                formatter, grouping, precision, options);
-        assertTrue("1099", vf.isFastFormattable(1099));
-        precision.fRoundingIncrement.set(2.3);
-        assertFalse("1099", vf.isFastFormattable(1099));
-    }
-    {
-        // test scientific notation
-        ScientificPrecision precision;
-        SciFormatterOptions options;
-        ValueFormatter vf;
-        vf.prepareScientificFormatting(
-                formatter, precision, options);
-        assertFalse("1081", vf.isFastFormattable(1081));
-    }
-}
-
-void NumberFormat2Test::TestDigitAffix() {
-    DigitAffix affix;
-    {
-        affix.append("foo");
-        affix.append("--", UNUM_SIGN_FIELD);
-        affix.append("%", UNUM_PERCENT_FIELD);
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_SIGN_FIELD, 3, 5},
-            {UNUM_PERCENT_FIELD, 5, 6},
-            {0, -1, 0}};
-        verifyAffix("foo--%", affix, expectedAttributes);
-    }
-    {
-        affix.remove();
-        affix.append("USD", UNUM_CURRENCY_FIELD);
-        affix.append(" ");
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_CURRENCY_FIELD, 0, 3},
-            {0, -1, 0}};
-        verifyAffix("USD ", affix, expectedAttributes);
-    }
-    {
-        affix.setTo("%%", UNUM_PERCENT_FIELD);
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_PERCENT_FIELD, 0, 2},
-            {0, -1, 0}};
-        verifyAffix("%%", affix, expectedAttributes);
-    }
-}
-
-void NumberFormat2Test::TestPluralAffix() {
-    UErrorCode status = U_ZERO_ERROR;
-    PluralAffix part;
-    part.setVariant("one", "Dollar", status);
-    part.setVariant("few", "DollarFew", status);
-    part.setVariant("other", "Dollars", status);
-    PluralAffix dollar(part);
-    PluralAffix percent(part);
-    part.remove();
-    part.setVariant("one", "Percent", status);
-    part.setVariant("many", "PercentMany", status);
-    part.setVariant("other", "Percents", status);
-    percent = part;
-    part.remove();
-    part.setVariant("one", "foo", status);
-
-    PluralAffix pa;
-    assertEquals("", "", pa.getOtherVariant().toString());
-    pa.append(dollar, UNUM_CURRENCY_FIELD, status);
-    pa.append(" and ");
-    pa.append(percent, UNUM_PERCENT_FIELD, status);
-    pa.append("-", UNUM_SIGN_FIELD);
-
-    {
-        // other
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_CURRENCY_FIELD, 0, 7},
-            {UNUM_PERCENT_FIELD, 12, 20},
-            {UNUM_SIGN_FIELD, 20, 21},
-            {0, -1, 0}};
-        verifyAffix(
-                "Dollars and Percents-",
-                pa.getByCategory("other"),
-                expectedAttributes);
-    }
-    {
-        // two which is same as other
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_CURRENCY_FIELD, 0, 7},
-            {UNUM_PERCENT_FIELD, 12, 20},
-            {UNUM_SIGN_FIELD, 20, 21},
-            {0, -1, 0}};
-        verifyAffix(
-                "Dollars and Percents-",
-                pa.getByCategory("two"),
-                expectedAttributes);
-    }
-    {
-        // bad which is same as other
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_CURRENCY_FIELD, 0, 7},
-            {UNUM_PERCENT_FIELD, 12, 20},
-            {UNUM_SIGN_FIELD, 20, 21},
-            {0, -1, 0}};
-        verifyAffix(
-                "Dollars and Percents-",
-                pa.getByCategory("bad"),
-                expectedAttributes);
-    }
-    {
-        // one
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_CURRENCY_FIELD, 0, 6},
-            {UNUM_PERCENT_FIELD, 11, 18},
-            {UNUM_SIGN_FIELD, 18, 19},
-            {0, -1, 0}};
-        verifyAffix(
-                "Dollar and Percent-",
-                pa.getByCategory("one"),
-                expectedAttributes);
-    }
-    {
-        // few
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_CURRENCY_FIELD, 0, 9},
-            {UNUM_PERCENT_FIELD, 14, 22},
-            {UNUM_SIGN_FIELD, 22, 23},
-            {0, -1, 0}};
-        verifyAffix(
-                "DollarFew and Percents-",
-                pa.getByCategory("few"),
-                expectedAttributes);
-    }
-    {
-        // many
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_CURRENCY_FIELD, 0, 7},
-            {UNUM_PERCENT_FIELD, 12, 23},
-            {UNUM_SIGN_FIELD, 23, 24},
-            {0, -1, 0}};
-        verifyAffix(
-                "Dollars and PercentMany-",
-                pa.getByCategory("many"),
-                expectedAttributes);
-    }
-    assertTrue("", pa.hasMultipleVariants());
-    pa.remove();
-    pa.append("$$$", UNUM_CURRENCY_FIELD);
-    assertFalse("", pa.hasMultipleVariants());
-    
-}
-
-void NumberFormat2Test::TestCurrencyAffixInfo() {
-    CurrencyAffixInfo info;
-    assertTrue("", info.isDefault());
-    UnicodeString expectedSymbol("\\u00a4");
-    UnicodeString expectedSymbolIso("\\u00a4\\u00a4");
-    UnicodeString expectedSymbols("\\u00a4\\u00a4\\u00a4");
-    assertEquals("", expectedSymbol.unescape(), info.getSymbol());
-    assertEquals("", expectedSymbolIso.unescape(), info.getISO());
-    assertEquals("", expectedSymbols.unescape(), info.getLong().getByCategory("one").toString());
-    assertEquals("", expectedSymbols.unescape(), info.getLong().getByCategory("other").toString());
-    assertEquals("", expectedSymbols.unescape(), info.getLong().getByCategory("two").toString());
-    UErrorCode status = U_ZERO_ERROR;
-    static UChar USD[] = {0x55, 0x53, 0x44, 0x0};
-    LocalPointer<PluralRules> rules(PluralRules::forLocale("en", status));
-    if (!assertSuccess("", status)) {
-        return;
-    }
-    info.set("en", rules.getAlias(), USD, status);
-    assertEquals("", "$", info.getSymbol(), TRUE);
-    assertEquals("", "USD", info.getISO(), TRUE);
-    assertEquals("", "US dollar", info.getLong().getByCategory("one").toString(), TRUE);
-    assertEquals("", "US dollars", info.getLong().getByCategory("other").toString(), TRUE);
-    assertEquals("", "US dollars", info.getLong().getByCategory("two").toString(), TRUE);
-    assertFalse("", info.isDefault());
-    info.set(NULL, NULL, NULL, status);
-    assertTrue("", info.isDefault());
-    assertEquals("", expectedSymbol.unescape(), info.getSymbol());
-    assertEquals("", expectedSymbolIso.unescape(), info.getISO());
-    assertEquals("", expectedSymbols.unescape(), info.getLong().getByCategory("one").toString());
-    assertEquals("", expectedSymbols.unescape(), info.getLong().getByCategory("other").toString());
-    assertEquals("", expectedSymbols.unescape(), info.getLong().getByCategory("two").toString());
-    info.setSymbol("$");
-    assertFalse("", info.isDefault());
-    info.set(NULL, NULL, NULL, status);
-    assertTrue("", info.isDefault());
-    info.setISO("USD");
-    assertFalse("", info.isDefault());
-    assertSuccess("", status);
-}
-
-void NumberFormat2Test::TestAffixPattern() {
-    static UChar chars[500];
-    for (int32_t i = 0; i < UPRV_LENGTHOF(chars); ++i) {
-        chars[i] = (UChar) (i + 1);
-    }
-    AffixPattern first;
-    first.add(AffixPattern::kPercent);
-    first.addLiteral(chars, 0, 200);
-    first.addLiteral(chars, 200, 300);
-    first.addCurrency(2);
-    first.addLiteral(chars, 0, 256);
-    AffixPattern second;
-    second.add(AffixPattern::kPercent);
-    second.addLiteral(chars, 0, 300);
-    second.addLiteral(chars, 300, 200);
-    second.addCurrency(2);
-    second.addLiteral(chars, 0, 150);
-    second.addLiteral(chars, 150, 106);
-    assertTrue("", first.equals(second));
-    AffixPatternIterator iter;
-    second.remove();
-    assertFalse("", second.iterator(iter).nextToken());
-    assertTrue("", first.iterator(iter).nextToken());
-    assertEquals("", (int32_t)AffixPattern::kPercent, iter.getTokenType());
-    assertEquals("", 1, iter.getTokenLength());
-    assertTrue("", iter.nextToken());
-    UnicodeString str;
-    assertEquals("", 500, iter.getLiteral(str).length());
-    assertEquals("", (int32_t)AffixPattern::kLiteral, iter.getTokenType());
-    assertEquals("", 500, iter.getTokenLength());
-    assertTrue("", iter.nextToken());
-    assertEquals("", (int32_t)AffixPattern::kCurrency, iter.getTokenType());
-    assertEquals("", 2, iter.getTokenLength());
-    assertTrue("", iter.nextToken());
-    assertEquals("", 256, iter.getLiteral(str).length());
-    assertEquals("", (int32_t)AffixPattern::kLiteral, iter.getTokenType());
-    assertEquals("", 256, iter.getTokenLength());
-    assertFalse("", iter.nextToken());
-}
-
-void NumberFormat2Test::TestAffixPatternDoubleQuote() {
-    UnicodeString str("'Don''t'");
-    AffixPattern expected;
-    // Don't
-    static UChar chars[] = {0x44, 0x6F, 0x6E, 0x27, 0x74};
-    expected.addLiteral(chars, 0, UPRV_LENGTHOF(chars));
-    AffixPattern actual;
-    UErrorCode status = U_ZERO_ERROR;
-    AffixPattern::parseUserAffixString(str, actual, status);
-    assertTrue("", expected.equals(actual));
-    UnicodeString formattedString;
-    assertEquals("", "Don''t", actual.toUserString(formattedString));
-    assertSuccess("", status);
-}
-
-void NumberFormat2Test::TestAffixPatternParser() {
-    UErrorCode status = U_ZERO_ERROR;
-    static UChar USD[] = {0x55, 0x53, 0x44, 0x0};
-    LocalPointer<PluralRules> rules(PluralRules::forLocale("en", status));
-    DecimalFormatSymbols symbols("en", status);
-    if (U_FAILURE(status)) {
-        dataerrln("Error creating DecimalFormatSymbols - %s", u_errorName(status));
-        return;
-    }
-    AffixPatternParser parser(symbols);
-    CurrencyAffixInfo currencyAffixInfo;
-    currencyAffixInfo.set("en", rules.getAlias(), USD, status);
-    PluralAffix affix;
-    UnicodeString str("'--y'''dz'%'\\u00a4\\u00a4\\u00a4\\u00a4 y '\\u00a4\\u00a4\\u00a4 or '\\u00a4\\u00a4 but '\\u00a4");
-    str = str.unescape();
-    assertSuccess("", status);
-    AffixPattern affixPattern;
-    parser.parse(
-            AffixPattern::parseAffixString(str, affixPattern, status),
-            currencyAffixInfo,
-            affix,
-            status);
-    UnicodeString formattedStr;
-    affixPattern.toString(formattedStr);
-    UnicodeString expectedFormattedStr("'--y''dz'%'\\u00a4\\u00a4\\u00a4\\u00a4 y '\\u00a4\\u00a4\\u00a4 or '\\u00a4\\u00a4 but '\\u00a4");
-    expectedFormattedStr = expectedFormattedStr.unescape();
-    assertEquals("1", expectedFormattedStr, formattedStr);
-    AffixPattern userAffixPattern;
-    UnicodeString userStr("-'-'y'''d'z%\\u00a4\\u00a4\\u00a4'\\u00a4' y \\u00a4\\u00a4\\u00a4 or \\u00a4\\u00a4 but \\u00a4");
-    userStr = userStr.unescape();
-    AffixPattern::parseUserAffixString(userStr, userAffixPattern, status),
-    assertTrue("", affixPattern.equals(userAffixPattern));
-    AffixPattern userAffixPattern2;
-    UnicodeString formattedUserStr;
-    AffixPattern::parseUserAffixString(
-            userAffixPattern.toUserString(formattedUserStr),
-            userAffixPattern2,
-            status);
-    UnicodeString expectedFormattedUserStr(
-            "-'-'y''dz%\\u00a4\\u00a4\\u00a4'\\u00a4' y \\u00a4\\u00a4\\u00a4 or \\u00a4\\u00a4 but \\u00a4");
-    assertEquals("2", expectedFormattedUserStr.unescape(), formattedUserStr);
-    assertTrue("", userAffixPattern2.equals(userAffixPattern));
-    assertSuccess("", status);
-    assertTrue("", affixPattern.usesCurrency());
-    assertTrue("", affixPattern.usesPercent());
-    assertFalse("", affixPattern.usesPermill());
-    assertTrue("", affix.hasMultipleVariants());
-    {
-        // other
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_SIGN_FIELD, 0, 1},
-            {UNUM_PERCENT_FIELD, 6, 7},
-            {UNUM_CURRENCY_FIELD, 7, 17},
-            {UNUM_CURRENCY_FIELD, 21, 31},
-            {UNUM_CURRENCY_FIELD, 35, 38},
-            {UNUM_CURRENCY_FIELD, 43, 44},
-            {0, -1, 0}};
-        verifyAffix(
-                "--y'dz%US dollars\\u00a4 y US dollars or USD but $",
-                affix.getByCategory("other"),
-                expectedAttributes);
-    }
-    {
-        // one
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_SIGN_FIELD, 0, 1},
-            {UNUM_PERCENT_FIELD, 6, 7},
-            {UNUM_CURRENCY_FIELD, 7, 16},
-            {UNUM_CURRENCY_FIELD, 20, 29},
-            {UNUM_CURRENCY_FIELD, 33, 36},
-            {UNUM_CURRENCY_FIELD, 41, 42},
-            {0, -1, 0}};
-        verifyAffix(
-                "--y'dz%US dollar\\u00a4 y US dollar or USD but $",
-                affix.getByCategory("one"),
-                expectedAttributes);
-    }
-    affix.remove();
-    str = "%'-";
-    affixPattern.remove();
-    parser.parse(
-            AffixPattern::parseAffixString(str, affixPattern, status),
-            currencyAffixInfo,
-            affix,
-            status);
-    assertSuccess("", status);
-    assertFalse("", affixPattern.usesCurrency());
-    assertFalse("", affixPattern.usesPercent());
-    assertFalse("", affixPattern.usesPermill());
-    assertFalse("", affix.hasMultipleVariants());
-    {
-        // other
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_SIGN_FIELD, 1, 2},
-            {0, -1, 0}};
-        verifyAffix(
-                "%-",
-                affix.getByCategory("other"),
-                expectedAttributes);
-    }
-    UnicodeString a4("\\u00a4");
-    AffixPattern scratchPattern;
-    AffixPattern::parseAffixString(a4.unescape(), scratchPattern, status);
-    assertFalse("", scratchPattern.usesCurrency());
-
-    // Test really long string > 256 chars.
-    str = "'\\u2030012345678901234567890123456789012345678901234567890123456789"
-          "012345678901234567890123456789012345678901234567890123456789"
-          "012345678901234567890123456789012345678901234567890123456789"
-          "012345678901234567890123456789012345678901234567890123456789"
-          "012345678901234567890123456789012345678901234567890123456789";
-    str = str.unescape();
-    affixPattern.remove();
-    affix.remove();
-    parser.parse(
-            AffixPattern::parseAffixString(str, affixPattern, status),
-            currencyAffixInfo,
-            affix,
-            status);
-    assertSuccess("", status);
-    assertFalse("", affixPattern.usesCurrency());
-    assertFalse("", affixPattern.usesPercent());
-    assertTrue("", affixPattern.usesPermill());
-    assertFalse("", affix.hasMultipleVariants());
-    {
-       UnicodeString expected =
-           "\\u2030012345678901234567890123456789012345678901234567890123456789"
-           "012345678901234567890123456789012345678901234567890123456789"
-           "012345678901234567890123456789012345678901234567890123456789"
-           "012345678901234567890123456789012345678901234567890123456789"
-           "012345678901234567890123456789012345678901234567890123456789";
-        expected = expected.unescape();
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_PERMILL_FIELD, 0, 1},
-            {0, -1, 0}};
-        verifyAffix(
-                expected,
-                affix.getOtherVariant(),
-                expectedAttributes);
-    }
-}
-
-void NumberFormat2Test::TestAffixPatternAppend() {
-  AffixPattern pattern;
-  UErrorCode status = U_ZERO_ERROR;
-  UnicodeString patternStr("%\\u2030");
-  AffixPattern::parseUserAffixString(
-          patternStr.unescape(), pattern, status);
-
-  AffixPattern appendPattern;
-  UnicodeString appendPatternStr("-\\u00a4\\u00a4*");
-  AffixPattern::parseUserAffixString(
-          appendPatternStr.unescape(), appendPattern, status);
-
-  AffixPattern expectedPattern;
-  UnicodeString expectedPatternStr("%\\u2030-\\u00a4\\u00a4*");
-  AffixPattern::parseUserAffixString(
-          expectedPatternStr.unescape(), expectedPattern, status);
-  
-  assertTrue("", pattern.append(appendPattern).equals(expectedPattern));
-  assertSuccess("", status);
-}
-
-void NumberFormat2Test::TestAffixPatternAppendAjoiningLiterals() {
-  AffixPattern pattern;
-  UErrorCode status = U_ZERO_ERROR;
-  UnicodeString patternStr("%baaa");
-  AffixPattern::parseUserAffixString(
-          patternStr, pattern, status);
-
-  AffixPattern appendPattern;
-  UnicodeString appendPatternStr("caa%");
-  AffixPattern::parseUserAffixString(
-          appendPatternStr, appendPattern, status);
-
-  AffixPattern expectedPattern;
-  UnicodeString expectedPatternStr("%baaacaa%");
-  AffixPattern::parseUserAffixString(
-          expectedPatternStr, expectedPattern, status);
-  
-  assertTrue("", pattern.append(appendPattern).equals(expectedPattern));
-  assertSuccess("", status);
-}
-
-void NumberFormat2Test::TestLargeIntValue() {
-    VisibleDigits digits;
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-
-        // Last 18 digits for int values.
-        verifyIntValue(
-                223372036854775807LL, 
-                precision.initVisibleDigits(U_INT64_MAX, digits, status));
-        assertSuccess("U_INT64_MAX", status);
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        precision.fMax.setIntDigitCount(5);
-
-        // Last 18 digits for int values.
-        verifyIntValue(
-                75807LL, 
-                precision.initVisibleDigits(U_INT64_MAX, digits, status));
-        verifySource(75807.0, digits);
-        assertSuccess("75807", status);
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-
-        // Last 18 digits for int values.
-        verifyIntValue(
-                223372036854775808LL, 
-                precision.initVisibleDigits(U_INT64_MIN, digits, status));
-        assertSuccess("U_INT64_MIN", status);
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        precision.fMax.setIntDigitCount(5);
-
-        // Last 18 digits for int values.
-        verifyIntValue(
-                75808LL, 
-                precision.initVisibleDigits(U_INT64_MIN, digits, status));
-        verifySource(75808.0, digits);
-        assertSuccess("75808", status);
-    }
-        
-}
-
-void NumberFormat2Test::TestIntInitVisibleDigits() {
-    VisibleDigits digits;
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        verifyVisibleDigits(
-                "13",
-                FALSE,
-                precision.initVisibleDigits((int64_t) 13LL, digits, status));
-        assertSuccess("13", status);
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        verifyVisibleDigits(
-                "17",
-                TRUE,
-                precision.initVisibleDigits((int64_t) -17LL, digits, status));
-        assertSuccess("-17", status);
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        verifyVisibleDigits(
-                "9223372036854775808",
-                TRUE,
-                precision.initVisibleDigits(U_INT64_MIN, digits, status));
-        assertSuccess("-9223372036854775808", status);
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        verifyVisibleDigits(
-                "9223372036854775807",
-                FALSE,
-                precision.initVisibleDigits(U_INT64_MAX, digits, status));
-        assertSuccess("9223372036854775807", status);
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        verifyVisibleDigits(
-                "31536000",
-                TRUE,
-                precision.initVisibleDigits((int64_t) -31536000LL, digits, status));
-        assertSuccess("-31536000", status);
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        verifyVisibleDigits(
-                "0",
-                FALSE,
-                precision.initVisibleDigits((int64_t) 0LL, digits, status));
-        assertSuccess("0", status);
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        precision.fMin.setIntDigitCount(4);
-        precision.fMin.setFracDigitCount(2);
-        verifyVisibleDigits(
-                "0000.00",
-                FALSE,
-                precision.initVisibleDigits((int64_t) 0LL, digits, status));
-        assertSuccess("0", status);
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        precision.fMin.setIntDigitCount(4);
-        precision.fMin.setFracDigitCount(2);
-        verifyVisibleDigits(
-                "0057.00",
-                FALSE,
-                precision.initVisibleDigits((int64_t) 57LL, digits, status));
-        assertSuccess("57", status);
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        precision.fMin.setIntDigitCount(4);
-        precision.fMin.setFracDigitCount(2);
-        verifyVisibleDigits(
-                "0057.00",
-                TRUE,
-                precision.initVisibleDigits((int64_t) -57LL, digits, status));
-        assertSuccess("-57", status);
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        precision.fMax.setIntDigitCount(2);
-        precision.fMin.setFracDigitCount(1);
-        verifyVisibleDigits(
-                "35.0",
-                FALSE,
-                precision.initVisibleDigits((int64_t) 235LL, digits, status));
-        assertSuccess("235", status);
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        precision.fMax.setIntDigitCount(2);
-        precision.fMin.setFracDigitCount(1);
-        precision.fFailIfOverMax = TRUE;
-        precision.initVisibleDigits((int64_t) 239LL, digits, status);
-        if (status != U_ILLEGAL_ARGUMENT_ERROR) {
-            errln("239: Expected U_ILLEGAL_ARGUMENT_ERROR");
-        }
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        precision.fSignificant.setMin(5);
-        verifyVisibleDigits(
-                "153.00",
-                FALSE,
-                precision.initVisibleDigits((int64_t) 153LL, digits, status));
-        assertSuccess("153", status);
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        precision.fSignificant.setMax(2);
-        precision.fExactOnly = TRUE;
-        precision.initVisibleDigits((int64_t) 154LL, digits, status);
-        if (status != U_FORMAT_INEXACT_ERROR) {
-            errln("154: Expected U_FORMAT_INEXACT_ERROR");
-        }
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        precision.fSignificant.setMax(5);
-        verifyVisibleDigits(
-                "150",
-                FALSE,
-                precision.initVisibleDigits((int64_t) 150LL, digits, status));
-        assertSuccess("150", status);
-    }
-}
-
-void NumberFormat2Test::TestIntInitVisibleDigitsToDigitList() {
-    VisibleDigits digits;
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        precision.fRoundingIncrement.set(7.3);
-        verifyVisibleDigits(
-                "29.2",
-                TRUE,
-                precision.initVisibleDigits((int64_t) -30LL, digits, status));
-        assertSuccess("-29.2", status);
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        precision.fRoundingIncrement.set(7.3);
-        precision.fRoundingMode = DecimalFormat::kRoundFloor;
-        verifyVisibleDigits(
-                "36.5",
-                TRUE,
-                precision.initVisibleDigits((int64_t) -30LL, digits, status));
-        assertSuccess("-36.5", status);
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        precision.fSignificant.setMax(3);
-        precision.fRoundingMode = DecimalFormat::kRoundCeiling;
-        verifyVisibleDigits(
-                "1390",
-                FALSE,
-                precision.initVisibleDigits((int64_t) 1381LL, digits, status));
-        assertSuccess("1390", status);
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        precision.fSignificant.setMax(1);
-        precision.fRoundingMode = DecimalFormat::kRoundFloor;
-        verifyVisibleDigits(
-                "2000",
-                TRUE,
-                precision.initVisibleDigits((int64_t) -1381LL, digits, status));
-        assertSuccess("-2000", status);
-    }
-}
-
-void NumberFormat2Test::TestDoubleInitVisibleDigits() {
-    VisibleDigits digits;
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        verifyVisibleDigits(
-                "2.05",
-                FALSE,
-                precision.initVisibleDigits(2.05, digits, status));
-        assertSuccess("2.05", status);
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        verifyVisibleDigits(
-                "3547",
-                FALSE,
-                precision.initVisibleDigits(3547.0, digits, status));
-        assertSuccess("3547", status);
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        precision.fMax.setFracDigitCount(2);
-        precision.fMax.setIntDigitCount(1);
-        precision.fFailIfOverMax = TRUE;
-        precision.fExactOnly = TRUE;
-        verifyVisibleDigits(
-                "2.05",
-                TRUE,
-                precision.initVisibleDigits(-2.05, digits, status));
-        assertSuccess("-2.05", status);
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        precision.fMax.setFracDigitCount(1);
-        precision.fMax.setIntDigitCount(1);
-        precision.fFailIfOverMax = TRUE;
-        precision.fExactOnly = TRUE;
-        precision.initVisibleDigits(-2.05, digits, status);
-        if (status != U_FORMAT_INEXACT_ERROR) {
-            errln("6245.3: Expected U_FORMAT_INEXACT_ERROR");
-        }
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        precision.fMax.setFracDigitCount(2);
-        precision.fMax.setIntDigitCount(0);
-        precision.fFailIfOverMax = TRUE;
-        precision.fExactOnly = TRUE;
-        precision.initVisibleDigits(-2.05, digits, status);
-        if (status != U_ILLEGAL_ARGUMENT_ERROR) {
-            errln("-2.05: Expected U_ILLEGAL_ARGUMENT_ERROR");
-        }
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        precision.fMin.setIntDigitCount(5);
-        precision.fMin.setFracDigitCount(2);
-        precision.fExactOnly = TRUE;
-        verifyVisibleDigits(
-                "06245.30",
-                FALSE,
-                precision.initVisibleDigits(6245.3, digits, status));
-        assertSuccess("06245.30", status);
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        precision.fSignificant.setMax(5);
-        precision.fExactOnly = TRUE;
-        verifyVisibleDigits(
-                "6245.3",
-                FALSE,
-                precision.initVisibleDigits(6245.3, digits, status));
-        assertSuccess("6245.3", status);
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        precision.fSignificant.setMax(4);
-        precision.fExactOnly = TRUE;
-        precision.initVisibleDigits(6245.3, digits, status);
-        if (status != U_FORMAT_INEXACT_ERROR) {
-            errln("6245.3: Expected U_FORMAT_INEXACT_ERROR");
-        }
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        precision.fMax.setIntDigitCount(3);
-        precision.fMin.setFracDigitCount(2);
-        verifyVisibleDigits(
-                "384.90",
-                FALSE,
-                precision.initVisibleDigits(2384.9, digits, status));
-        assertSuccess("380.00", status);
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        precision.fMax.setIntDigitCount(3);
-        precision.fMin.setFracDigitCount(2);
-        precision.fFailIfOverMax = TRUE;
-        precision.initVisibleDigits(2384.9, digits, status);
-        if (status != U_ILLEGAL_ARGUMENT_ERROR) {
-            errln("2384.9: Expected U_ILLEGAL_ARGUMENT_ERROR");
-        }
-    }
-}
-
-void NumberFormat2Test::TestDoubleInitVisibleDigitsToDigitList() {
-    VisibleDigits digits;
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        // 2.01 produces round off error when multiplied by powers of
-        // 10 forcing the use of DigitList.
-        verifyVisibleDigits(
-                "2.01",
-                TRUE,
-                precision.initVisibleDigits(-2.01, digits, status));
-        assertSuccess("-2.01", status);
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        precision.fSignificant.setMax(3);
-        precision.fMin.setFracDigitCount(2);
-        verifyVisibleDigits(
-                "2380.00",
-                FALSE,
-                precision.initVisibleDigits(2385.0, digits, status));
-        assertSuccess("2380.00", status);
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        precision.fMax.setFracDigitCount(2);
-        verifyVisibleDigits(
-                "45.83",
-                TRUE,
-                precision.initVisibleDigits(-45.8251, digits, status));
-        assertSuccess("45.83", status);
-    }
-}
-
-void NumberFormat2Test::TestDigitListInitVisibleDigits() {
-    VisibleDigits digits;
-    DigitList dlist;
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        precision.fMax.setIntDigitCount(3);
-        precision.fMin.setFracDigitCount(2);
-        precision.fFailIfOverMax = TRUE;
-        dlist.set(2384.9);
-        precision.initVisibleDigits(dlist, digits, status);
-        if (status != U_ILLEGAL_ARGUMENT_ERROR) {
-            errln("2384.9: Expected U_ILLEGAL_ARGUMENT_ERROR");
-        }
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        precision.fSignificant.setMax(4);
-        precision.fExactOnly = TRUE;
-        dlist.set(6245.3);
-        precision.initVisibleDigits(dlist, digits, status);
-        if (status != U_FORMAT_INEXACT_ERROR) {
-            errln("6245.3: Expected U_FORMAT_INEXACT_ERROR");
-        }
-    }
-}
-
-void NumberFormat2Test::TestSpecialInitVisibleDigits() {
-    VisibleDigits digits;
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        precision.fSignificant.setMax(3);
-        precision.fMin.setFracDigitCount(2);
-        precision.initVisibleDigits(-uprv_getInfinity(), digits, status);
-        assertFalse("", digits.isNaN());
-        assertTrue("", digits.isInfinite());
-        assertTrue("", digits.isNegative());
-        assertSuccess("-Inf", status);
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        precision.initVisibleDigits(uprv_getInfinity(), digits, status);
-        assertFalse("", digits.isNaN());
-        assertTrue("", digits.isInfinite());
-        assertFalse("", digits.isNegative());
-        assertSuccess("Inf", status);
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        FixedPrecision precision;
-        precision.initVisibleDigits(uprv_getNaN(), digits, status);
-        assertTrue("", digits.isNaN());
-        assertSuccess("Inf", status);
-    }
-}
-
-void NumberFormat2Test::TestVisibleDigitsWithExponent() {
-    VisibleDigitsWithExponent digits;
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        ScientificPrecision precision;
-        precision.initVisibleDigitsWithExponent(389.256, digits, status);
-        verifyVisibleDigitsWithExponent(
-                "3.89256E2", FALSE, digits);
-        assertSuccess("3.89256E2", status);
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        ScientificPrecision precision;
-        precision.initVisibleDigitsWithExponent(-389.256, digits, status);
-        verifyVisibleDigitsWithExponent(
-                "3.89256E2", TRUE, digits);
-        assertSuccess("-3.89256E2", status);
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        ScientificPrecision precision;
-        precision.fMinExponentDigits = 3;
-        precision.fMantissa.fMin.setIntDigitCount(1);
-        precision.fMantissa.fMax.setIntDigitCount(3);
-        precision.initVisibleDigitsWithExponent(12345.67, digits, status);
-        verifyVisibleDigitsWithExponent(
-                "12.34567E003", FALSE, digits);
-        assertSuccess("12.34567E003", status);
-    }
-    {
-        UErrorCode status = U_ZERO_ERROR;
-        ScientificPrecision precision;
-        precision.fMantissa.fRoundingIncrement.set(0.073);
-        precision.fMantissa.fMin.setIntDigitCount(2);
-        precision.fMantissa.fMax.setIntDigitCount(2);
-        precision.initVisibleDigitsWithExponent(999.74, digits, status);
-        verifyVisibleDigitsWithExponent(
-                "10.001E2", FALSE, digits);
-        assertSuccess("10.001E2", status);
-    }
-}
-
-void NumberFormat2Test::TestDigitAffixesAndPadding() {
-    UErrorCode status = U_ZERO_ERROR;
-    DecimalFormatSymbols symbols("en", status);
-    if (!assertSuccess("", status)) {
-        return;
-    }
-    DigitFormatter formatter(symbols);
-    DigitGrouping grouping;
-    grouping.fGrouping = 3;
-    FixedPrecision precision;
-    DigitFormatterOptions options;
-    options.fAlwaysShowDecimal = TRUE;
-    ValueFormatter vf;
-    vf.prepareFixedDecimalFormatting(
-            formatter,
-            grouping,
-            precision,
-            options);
-    DigitAffixesAndPadding aap;
-    aap.fPositivePrefix.append("(+", UNUM_SIGN_FIELD);
-    aap.fPositiveSuffix.append("+)", UNUM_SIGN_FIELD);
-    aap.fNegativePrefix.append("(-", UNUM_SIGN_FIELD);
-    aap.fNegativeSuffix.append("-)", UNUM_SIGN_FIELD);
-    aap.fWidth = 10;
-    aap.fPadPosition = DigitAffixesAndPadding::kPadBeforePrefix;
-    {
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_SIGN_FIELD, 4, 6},
-            {UNUM_INTEGER_FIELD, 6, 7},
-            {UNUM_DECIMAL_SEPARATOR_FIELD, 7, 8},
-            {UNUM_SIGN_FIELD, 8, 10},
-            {0, -1, 0}};
-        verifyAffixesAndPaddingInt32(
-                "****(+3.+)",
-                aap,
-                3,
-                vf,
-                NULL,
-                expectedAttributes);
-    }
-    aap.fPadPosition = DigitAffixesAndPadding::kPadAfterPrefix;
-    {
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_SIGN_FIELD, 0, 2},
-            {UNUM_INTEGER_FIELD, 6, 7},
-            {UNUM_DECIMAL_SEPARATOR_FIELD, 7, 8},
-            {UNUM_SIGN_FIELD, 8, 10},
-            {0, -1, 0}};
-        verifyAffixesAndPaddingInt32(
-                "(+****3.+)",
-                aap,
-                3,
-                vf,
-                NULL,
-                expectedAttributes);
-    }
-    aap.fPadPosition = DigitAffixesAndPadding::kPadBeforeSuffix;
-    {
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_SIGN_FIELD, 0, 2},
-            {UNUM_INTEGER_FIELD, 2, 3},
-            {UNUM_DECIMAL_SEPARATOR_FIELD, 3, 4},
-            {UNUM_SIGN_FIELD, 8, 10},
-            {0, -1, 0}};
-        verifyAffixesAndPaddingInt32(
-                "(+3.****+)",
-                aap,
-                3,
-                vf,
-                NULL,
-                expectedAttributes);
-    }
-    aap.fPadPosition = DigitAffixesAndPadding::kPadAfterSuffix;
-    {
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_SIGN_FIELD, 0, 2},
-            {UNUM_INTEGER_FIELD, 2, 3},
-            {UNUM_DECIMAL_SEPARATOR_FIELD, 3, 4},
-            {UNUM_SIGN_FIELD, 4, 6},
-            {0, -1, 0}};
-        verifyAffixesAndPaddingInt32(
-                "(+3.+)****",
-                aap,
-                3,
-                vf,
-                NULL,
-                expectedAttributes);
-    }
-    aap.fPadPosition = DigitAffixesAndPadding::kPadAfterSuffix;
-    {
-        DigitList digits;
-        digits.set(-1234.5);
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_SIGN_FIELD, 0, 2},
-            {UNUM_GROUPING_SEPARATOR_FIELD, 3, 4},
-            {UNUM_INTEGER_FIELD, 2, 7},
-            {UNUM_DECIMAL_SEPARATOR_FIELD, 7, 8},
-            {UNUM_FRACTION_FIELD, 8, 9},
-            {UNUM_SIGN_FIELD, 9, 11},
-            {0, -1, 0}};
-        verifyAffixesAndPadding(
-                "(-1,234.5-)",
-                aap,
-                digits,
-                vf,
-                NULL,
-                expectedAttributes);
-    }
-    assertFalse("", aap.needsPluralRules());
-
-    aap.fWidth = 0;
-    aap.fPositivePrefix.remove();
-    aap.fPositiveSuffix.remove();
-    aap.fNegativePrefix.remove();
-    aap.fNegativeSuffix.remove();
-    
-    // Set up for plural currencies.
-    aap.fNegativePrefix.append("-", UNUM_SIGN_FIELD);
-    {
-        PluralAffix part;
-        part.setVariant("one", " Dollar", status);
-        part.setVariant("other", " Dollars", status);
-        aap.fPositiveSuffix.append(part, UNUM_CURRENCY_FIELD, status);
-    }
-    aap.fNegativeSuffix = aap.fPositiveSuffix;
-    
-    LocalPointer<PluralRules> rules(PluralRules::forLocale("en", status));
-    if (!assertSuccess("", status)) {
-        return;
-    }
-
-    // Exercise the fastrack path
-    {
-        options.fAlwaysShowDecimal = FALSE;
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_SIGN_FIELD, 0, 1},
-            {UNUM_INTEGER_FIELD, 1, 3},
-            {UNUM_CURRENCY_FIELD, 3, 11},
-            {0, -1, 0}};
-        verifyAffixesAndPaddingInt32(
-                "-45 Dollars",
-                aap,
-                -45,
-                vf,
-                NULL,
-                expectedAttributes);
-        options.fAlwaysShowDecimal = TRUE;
-    }
-    
-    // Now test plurals
-    assertTrue("", aap.needsPluralRules());
-    {
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_INTEGER_FIELD, 0, 1},
-            {UNUM_DECIMAL_SEPARATOR_FIELD, 1, 2},
-            {UNUM_CURRENCY_FIELD, 2, 9},
-            {0, -1, 0}};
-        verifyAffixesAndPaddingInt32(
-                "1. Dollar",
-                aap,
-                1,
-                vf,
-                rules.getAlias(),
-                expectedAttributes);
-    }
-    {
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_SIGN_FIELD, 0, 1},
-            {UNUM_INTEGER_FIELD, 1, 2},
-            {UNUM_DECIMAL_SEPARATOR_FIELD, 2, 3},
-            {UNUM_CURRENCY_FIELD, 3, 10},
-            {0, -1, 0}};
-        verifyAffixesAndPaddingInt32(
-                "-1. Dollar",
-                aap,
-                -1,
-                vf,
-                rules.getAlias(),
-                expectedAttributes);
-    }
-    precision.fMin.setFracDigitCount(2);
-    {
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_INTEGER_FIELD, 0, 1},
-            {UNUM_DECIMAL_SEPARATOR_FIELD, 1, 2},
-            {UNUM_FRACTION_FIELD, 2, 4},
-            {UNUM_CURRENCY_FIELD, 4, 12},
-            {0, -1, 0}};
-        verifyAffixesAndPaddingInt32(
-                "1.00 Dollars",
-                aap,
-                1,
-                vf,
-                rules.getAlias(),
-                expectedAttributes);
-    }
-}
-
-void NumberFormat2Test::TestPluralsAndRounding() {
-    UErrorCode status = U_ZERO_ERROR;
-    DecimalFormatSymbols symbols("en", status);
-    if (!assertSuccess("", status)) {
-        return;
-    }
-    DigitFormatter formatter(symbols);
-    DigitGrouping grouping;
-    FixedPrecision precision;
-    precision.fSignificant.setMax(3);
-    DigitFormatterOptions options;
-    ValueFormatter vf;
-    vf.prepareFixedDecimalFormatting(
-            formatter,
-            grouping,
-            precision,
-            options);
-    DigitList digits;
-    DigitAffixesAndPadding aap;
-    // Set up for plural currencies.
-    aap.fNegativePrefix.append("-", UNUM_SIGN_FIELD);
-    {
-        PluralAffix part;
-        part.setVariant("one", " Dollar", status);
-        part.setVariant("other", " Dollars", status);
-        aap.fPositiveSuffix.append(part, UNUM_CURRENCY_FIELD, status);
-    }
-    aap.fNegativeSuffix = aap.fPositiveSuffix;
-    aap.fWidth = 14;
-    LocalPointer<PluralRules> rules(PluralRules::forLocale("en", status));
-    if (!assertSuccess("", status)) {
-        return;
-    }
-    {
-        digits.set(0.999);
-        verifyAffixesAndPadding(
-                "*0.999 Dollars",
-                aap,
-                digits,
-                vf,
-                rules.getAlias(),
-                NULL);
-    }
-    {
-        digits.set(0.9996);
-        verifyAffixesAndPadding(
-                "******1 Dollar",
-                aap,
-                digits,
-                vf,
-                rules.getAlias(),
-                NULL);
-    }
-    {
-        digits.set(1.004);
-        verifyAffixesAndPadding(
-                "******1 Dollar",
-                aap,
-                digits,
-                vf,
-                rules.getAlias(),
-                NULL);
-    }
-    precision.fSignificant.setMin(2);
-    {
-        digits.set(0.9996);
-        verifyAffixesAndPadding(
-                "***1.0 Dollars",
-                aap,
-                digits,
-                vf,
-                rules.getAlias(),
-                NULL);
-    }
-    {
-        digits.set(1.004);
-        verifyAffixesAndPadding(
-                "***1.0 Dollars",
-                aap,
-                digits,
-                vf,
-                rules.getAlias(),
-                NULL);
-    }
-    precision.fSignificant.setMin(0);
-    {
-        digits.set(-79.214);
-        verifyAffixesAndPadding(
-                "*-79.2 Dollars",
-                aap,
-                digits,
-                vf,
-                rules.getAlias(),
-                NULL);
-    }
-    // No more sig digits just max fractions
-    precision.fSignificant.setMax(0); 
-    precision.fMax.setFracDigitCount(4);
-    {
-        digits.set(79.213562);
-        verifyAffixesAndPadding(
-                "79.2136 Dollars",
-                aap,
-                digits,
-                vf,
-                rules.getAlias(),
-                NULL);
-    }
-
-}
-
-
-void NumberFormat2Test::TestPluralsAndRoundingScientific() {
-    UErrorCode status = U_ZERO_ERROR;
-    DecimalFormatSymbols symbols("en", status);
-    if (!assertSuccess("", status)) {
-        return;
-    }
-    DigitFormatter formatter(symbols);
-    ScientificPrecision precision;
-    precision.fMantissa.fSignificant.setMax(4);
-    SciFormatterOptions options;
-    ValueFormatter vf;
-    vf.prepareScientificFormatting(
-            formatter,
-            precision,
-            options);
-    DigitList digits;
-    DigitAffixesAndPadding aap;
-    aap.fNegativePrefix.append("-", UNUM_SIGN_FIELD);
-    {
-        PluralAffix part;
-        part.setVariant("one", " Meter", status);
-        part.setVariant("other", " Meters", status);
-        aap.fPositiveSuffix.append(part, UNUM_FIELD_COUNT, status);
-    }
-    aap.fNegativeSuffix = aap.fPositiveSuffix;
-    LocalPointer<PluralRules> rules(PluralRules::forLocale("en", status));
-    if (!assertSuccess("", status)) {
-        return;
-    }
-    {
-        digits.set(0.99996);
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_INTEGER_FIELD, 0, 1},
-            {UNUM_EXPONENT_SYMBOL_FIELD, 1, 2},
-            {UNUM_EXPONENT_FIELD, 2, 3},
-            {0, -1, 0}};
-        verifyAffixesAndPadding(
-                "1E0 Meters",
-                aap,
-                digits,
-                vf,
-                rules.getAlias(),
-                expectedAttributes);
-    }
-    options.fMantissa.fAlwaysShowDecimal = TRUE;
-    {
-        digits.set(0.99996);
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_INTEGER_FIELD, 0, 1},
-            {UNUM_DECIMAL_SEPARATOR_FIELD, 1, 2},
-            {UNUM_EXPONENT_SYMBOL_FIELD, 2, 3},
-            {UNUM_EXPONENT_FIELD, 3, 4},
-            {0, -1, 0}};
-        verifyAffixesAndPadding(
-                "1.E0 Meters",
-                aap,
-                digits,
-                vf,
-                rules.getAlias(),
-                expectedAttributes);
-    }
-    {
-        digits.set(-299792458.0);
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_SIGN_FIELD, 0, 1},
-            {UNUM_INTEGER_FIELD, 1, 2},
-            {UNUM_DECIMAL_SEPARATOR_FIELD, 2, 3},
-            {UNUM_FRACTION_FIELD, 3, 6},
-            {UNUM_EXPONENT_SYMBOL_FIELD, 6, 7},
-            {UNUM_EXPONENT_FIELD, 7, 8},
-            {0, -1, 0}};
-        verifyAffixesAndPadding(
-                "-2.998E8 Meters",
-                aap,
-                digits,
-                vf,
-                rules.getAlias(),
-                expectedAttributes);
-    }
-    precision.fMantissa.fSignificant.setMin(4);
-    options.fExponent.fAlwaysShowSign = TRUE;
-    precision.fMinExponentDigits = 3;
-    {
-        digits.set(3.0);
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_INTEGER_FIELD, 0, 1},
-            {UNUM_DECIMAL_SEPARATOR_FIELD, 1, 2},
-            {UNUM_FRACTION_FIELD, 2, 5},
-            {UNUM_EXPONENT_SYMBOL_FIELD, 5, 6},
-            {UNUM_EXPONENT_SIGN_FIELD, 6, 7},
-            {UNUM_EXPONENT_FIELD, 7, 10},
-            {0, -1, 0}};
-        verifyAffixesAndPadding(
-                "3.000E+000 Meters",
-                aap,
-                digits,
-                vf,
-                rules.getAlias(),
-                expectedAttributes);
-    }
-    precision.fMantissa.fMax.setIntDigitCount(3);
-    {
-        digits.set(0.00025001);
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_INTEGER_FIELD, 0, 3},
-            {UNUM_DECIMAL_SEPARATOR_FIELD, 3, 4},
-            {UNUM_FRACTION_FIELD, 4, 5},
-            {UNUM_EXPONENT_SYMBOL_FIELD, 5, 6},
-            {UNUM_EXPONENT_SIGN_FIELD, 6, 7},
-            {UNUM_EXPONENT_FIELD, 7, 10},
-            {0, -1, 0}};
-        verifyAffixesAndPadding(
-                "250.0E-006 Meters",
-                aap,
-                digits,
-                vf,
-                rules.getAlias(),
-                expectedAttributes);
-    }
-    {
-        digits.set(0.0000025001);
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_INTEGER_FIELD, 0, 1},
-            {UNUM_DECIMAL_SEPARATOR_FIELD, 1, 2},
-            {UNUM_FRACTION_FIELD, 2, 5},
-            {UNUM_EXPONENT_SYMBOL_FIELD, 5, 6},
-            {UNUM_EXPONENT_SIGN_FIELD, 6, 7},
-            {UNUM_EXPONENT_FIELD, 7, 10},
-            {0, -1, 0}};
-        verifyAffixesAndPadding(
-                "2.500E-006 Meters",
-                aap,
-                digits,
-                vf,
-                rules.getAlias(),
-                expectedAttributes);
-    }
-    precision.fMantissa.fMax.setFracDigitCount(1);
-    {
-        digits.set(0.0000025499);
-        NumberFormat2Test_Attributes expectedAttributes[] = {
-            {UNUM_INTEGER_FIELD, 0, 1},
-            {UNUM_DECIMAL_SEPARATOR_FIELD, 1, 2},
-            {UNUM_FRACTION_FIELD, 2, 3},
-            {UNUM_EXPONENT_SYMBOL_FIELD, 3, 4},
-            {UNUM_EXPONENT_SIGN_FIELD, 4, 5},
-            {UNUM_EXPONENT_FIELD, 5, 8},
-            {0, -1, 0}};
-        verifyAffixesAndPadding(
-                "2.5E-006 Meters",
-                aap,
-                digits,
-                vf,
-                rules.getAlias(),
-                expectedAttributes);
-    }
-    precision.fMantissa.fMax.setIntDigitCount(1);
-    precision.fMantissa.fMax.setFracDigitCount(2);
-    {
-        digits.set((int32_t)299792458);
-        verifyAffixesAndPadding(
-                "3.00E+008 Meters",
-                aap,
-                digits,
-                vf,
-                rules.getAlias(),
-                NULL);
-    }
-    // clear significant digits
-    precision.fMantissa.fSignificant.setMin(0);
-    precision.fMantissa.fSignificant.setMax(0);
-
-    // set int and fraction digits
-    precision.fMantissa.fMin.setFracDigitCount(2);
-    precision.fMantissa.fMax.setFracDigitCount(4);
-    precision.fMantissa.fMin.setIntDigitCount(2);
-    precision.fMantissa.fMax.setIntDigitCount(3);
-    {
-        digits.set(-0.0000025300001);
-        verifyAffixesAndPadding(
-                "-253.00E-008 Meters",
-                aap,
-                digits,
-                vf,
-                rules.getAlias(),
-                NULL);
-    }
-    {
-        digits.set(-0.0000025300006);
-        verifyAffixesAndPadding(
-                "-253.0001E-008 Meters",
-                aap,
-                digits,
-                vf,
-                rules.getAlias(),
-                NULL);
-    }
-    {
-        digits.set(-0.000025300006);
-        verifyAffixesAndPadding(
-                "-25.30E-006 Meters",
-                aap,
-                digits,
-                vf,
-                rules.getAlias(),
-                NULL);
-    }
-}
-
-
-void NumberFormat2Test::TestRoundingIncrement() {
-    UErrorCode status = U_ZERO_ERROR;
-    DecimalFormatSymbols symbols("en", status);
-    if (U_FAILURE(status)) {
-        dataerrln("Error creating DecimalFormatSymbols - %s", u_errorName(status));
-        return;
-    }
-    DigitFormatter formatter(symbols);
-    ScientificPrecision precision;
-    SciFormatterOptions options;
-    precision.fMantissa.fRoundingIncrement.set(0.25);
-    precision.fMantissa.fSignificant.setMax(4);
-    DigitGrouping grouping;
-    ValueFormatter vf;
-
-    // fixed
-    vf.prepareFixedDecimalFormatting(
-            formatter,
-            grouping,
-            precision.fMantissa,
-            options.fMantissa);
-    DigitList digits;
-    DigitAffixesAndPadding aap;
-    aap.fNegativePrefix.append("-", UNUM_SIGN_FIELD);
-    {
-        digits.set(3.7);
-        verifyAffixesAndPadding(
-                "3.75",
-                aap,
-                digits,
-                vf,
-                NULL, NULL);
-    }
-    {
-        digits.set(-7.4);
-        verifyAffixesAndPadding(
-                "-7.5",
-                aap,
-                digits,
-                vf,
-                NULL, NULL);
-    }
-    {
-        digits.set(99.8);
-        verifyAffixesAndPadding(
-                "99.75",
-                aap,
-                digits,
-                vf,
-                NULL, NULL);
-    }
-    precision.fMantissa.fMin.setFracDigitCount(2);
-    {
-        digits.set(99.1);
-        verifyAffixesAndPadding(
-                "99.00",
-                aap,
-                digits,
-                vf,
-                NULL, NULL);
-    }
-    {
-        digits.set(-639.65);
-        verifyAffixesAndPadding(
-                "-639.80",
-                aap,
-                digits,
-                vf,
-                NULL, NULL);
-    }
-
-    precision.fMantissa.fMin.setIntDigitCount(2);
-    // Scientific notation
-    vf.prepareScientificFormatting(
-            formatter,
-            precision,
-            options);
-    {
-        digits.set(-6396.5);
-        verifyAffixesAndPadding(
-                "-64.00E2",
-                aap,
-                digits,
-                vf,
-                NULL, NULL);
-    }
-    {
-        digits.set(-0.00092374);
-        verifyAffixesAndPadding(
-                "-92.25E-5",
-                aap,
-                digits,
-                vf,
-                NULL, NULL);
-    }
-    precision.fMantissa.fMax.setIntDigitCount(3);
-    {
-        digits.set(-0.00092374);
-        verifyAffixesAndPadding(
-                "-923.80E-6",
-                aap,
-                digits,
-                vf,
-                NULL, NULL);
-    }
-}
-
-void NumberFormat2Test::TestToPatternScientific11648() {
-/*
-    UErrorCode status = U_ZERO_ERROR;
-    Locale en("en");
-    DecimalFormat2 fmt(en, "0.00", status);
-    fmt.setScientificNotation(TRUE);
-    UnicodeString pattern;
-    // Fails, produces "0.00E"
-    assertEquals("", "0.00E0", fmt.toPattern(pattern));
-    DecimalFormat fmt2(pattern, status);
-    // Fails, bad pattern.
-    assertSuccess("", status);
-*/
-}
-
-void NumberFormat2Test::verifyAffixesAndPadding(
-        const UnicodeString &expected,
-        const DigitAffixesAndPadding &aaf,
-        DigitList &digits,
-        const ValueFormatter &vf,
-        const PluralRules *optPluralRules,
-        const NumberFormat2Test_Attributes *expectedAttributes) {
-    UnicodeString appendTo;
-    NumberFormat2Test_FieldPositionHandler handler;
-    UErrorCode status = U_ZERO_ERROR;
-    assertEquals(
-            "",
-            expected,
-            aaf.format(
-                    digits,
-                    vf,
-                    handler,
-                    optPluralRules,
-                    appendTo,
-                    status));
-    if (!assertSuccess("", status)) {
-        return;
-    }
-    if (expectedAttributes != NULL) {
-        verifyAttributes(expectedAttributes, handler.attributes);
-    }
-}
-
-void NumberFormat2Test::verifyAffixesAndPaddingInt32(
-        const UnicodeString &expected,
-        const DigitAffixesAndPadding &aaf,
-        int32_t value,
-        const ValueFormatter &vf,
-        const PluralRules *optPluralRules,
-        const NumberFormat2Test_Attributes *expectedAttributes) {
-    UnicodeString appendTo;
-    NumberFormat2Test_FieldPositionHandler handler;
-    UErrorCode status = U_ZERO_ERROR;
-    assertEquals(
-            "",
-            expected,
-            aaf.formatInt32(
-                    value,
-                    vf,
-                    handler,
-                    optPluralRules,
-                    appendTo,
-                    status));
-    if (!assertSuccess("", status)) {
-        return;
-    }
-    if (expectedAttributes != NULL) {
-        verifyAttributes(expectedAttributes, handler.attributes);
-    }
-    DigitList digits;
-    digits.set(value);
-    verifyAffixesAndPadding(
-            expected, aaf, digits, vf, optPluralRules, expectedAttributes);
-}
-
-void NumberFormat2Test::verifyAffix(
-        const UnicodeString &expected,
-        const DigitAffix &affix,
-        const NumberFormat2Test_Attributes *expectedAttributes) {
-    UnicodeString appendTo;
-    NumberFormat2Test_FieldPositionHandler handler;
-    assertEquals(
-            "",
-            expected.unescape(),
-            affix.format(handler, appendTo));
-    if (expectedAttributes != NULL) {
-        verifyAttributes(expectedAttributes, handler.attributes);
-    }
-}
-
-// Right now only works for positive values.
-void NumberFormat2Test::verifyDigitList(
-        const UnicodeString &expected,
-        const DigitList &digits) {
-    DigitFormatter formatter;
-    DigitGrouping grouping;
-    VisibleDigits visibleDigits;
-    FixedPrecision precision;
-    precision.fMin.setIntDigitCount(0);
-    DigitFormatterOptions options;
-    UErrorCode status = U_ZERO_ERROR;
-    DigitList dlCopy(digits);
-    precision.initVisibleDigits(
-            dlCopy, visibleDigits, status);
-    if (!assertSuccess("", status)) {
-        return;
-    }
-    verifyDigitFormatter(
-            expected,
-            formatter,
-            visibleDigits,
-            grouping,
-            options,
-            NULL);
-}
-
-void NumberFormat2Test::verifyVisibleDigits(
-        const UnicodeString &expected,
-        UBool bNegative,
-        const VisibleDigits &digits) {
-    DigitFormatter formatter;
-    DigitGrouping grouping;
-    DigitFormatterOptions options;
-    verifyDigitFormatter(
-            expected,
-            formatter,
-            digits,
-            grouping,
-            options,
-            NULL);
-    if (digits.isNegative() != bNegative) {
-        errln(expected + ": Wrong sign.");
-    }
-    if (digits.isNaN() || digits.isInfinite()) {
-        errln(expected + ": Require real value.");
-    }
-}
-
-void NumberFormat2Test::verifyVisibleDigitsWithExponent(
-        const UnicodeString &expected,
-        UBool bNegative,
-        const VisibleDigitsWithExponent &digits) {
-    DigitFormatter formatter;
-    SciFormatterOptions options;
-    verifySciFormatter(
-            expected,
-            formatter,
-            digits,
-            options,
-            NULL);
-    if (digits.isNegative() != bNegative) {
-        errln(expected + ": Wrong sign.");
-    }
-    if (digits.isNaN() || digits.isInfinite()) {
-        errln(expected + ": Require real value.");
-    }
-}
-
-void NumberFormat2Test::verifySciFormatter(
-        const UnicodeString &expected,
-        const DigitFormatter &formatter,
-        const VisibleDigitsWithExponent &digits,
-        const SciFormatterOptions &options,
-        const NumberFormat2Test_Attributes *expectedAttributes) {
-    assertEquals(
-            "",
-            expected.countChar32(),
-            formatter.countChar32(digits, options));
-    UnicodeString appendTo;
-    NumberFormat2Test_FieldPositionHandler handler;
-    assertEquals(
-            "",
-            expected,
-            formatter.format(
-                    digits,
-                    options,
-                    handler,
-                    appendTo));
-    if (expectedAttributes != NULL) {
-        verifyAttributes(expectedAttributes, handler.attributes);
-    }
-}
-
-void NumberFormat2Test::verifyPositiveIntDigitFormatter(
-        const UnicodeString &expected,
-        const DigitFormatter &formatter,
-        int32_t value,
-        int32_t minDigits,
-        int32_t maxDigits,
-        const NumberFormat2Test_Attributes *expectedAttributes) {
-    IntDigitCountRange range(minDigits, maxDigits);
-    UnicodeString appendTo;
-    NumberFormat2Test_FieldPositionHandler handler;
-    assertEquals(
-            "",
-            expected,
-            formatter.formatPositiveInt32(
-                    value,
-                    range,
-                    handler,
-                    appendTo));
-    if (expectedAttributes != NULL) {
-        verifyAttributes(expectedAttributes, handler.attributes);
-    }
-}
-
-void NumberFormat2Test::verifyDigitFormatter(
-        const UnicodeString &expected,
-        const DigitFormatter &formatter,
-        const VisibleDigits &digits,
-        const DigitGrouping &grouping,
-        const DigitFormatterOptions &options,
-        const NumberFormat2Test_Attributes *expectedAttributes) {
-    assertEquals(
-            "",
-            expected.countChar32(),
-            formatter.countChar32(digits, grouping, options));
-    UnicodeString appendTo;
-    NumberFormat2Test_FieldPositionHandler handler;
-    assertEquals(
-            "",
-            expected,
-            formatter.format(
-                    digits,
-                    grouping,
-                    options,
-                    handler,
-                    appendTo));
-    if (expectedAttributes != NULL) {
-        verifyAttributes(expectedAttributes, handler.attributes);
-    }
-}
-
-void NumberFormat2Test::verifySmallIntFormatter(
-        const UnicodeString &expected,
-        int32_t positiveValue,
-        int32_t minDigits,
-        int32_t maxDigits) {
-    IntDigitCountRange range(minDigits, maxDigits);
-    if (!SmallIntFormatter::canFormat(positiveValue, range)) {
-        UnicodeString actual;
-        assertEquals("", expected, actual);
-        return;
-    }
-    UnicodeString actual;
-    assertEquals("", expected, SmallIntFormatter::format(positiveValue, range, actual));
-}
-
-void NumberFormat2Test::verifyAttributes(
-        const NumberFormat2Test_Attributes *expected,
-        const NumberFormat2Test_Attributes *actual) {
-    int32_t idx = 0;
-    while (expected[idx].spos != -1 && actual[idx].spos != -1) {
-        assertEquals("id", expected[idx].id, actual[idx].id);
-        assertEquals("spos", expected[idx].spos, actual[idx].spos);
-        assertEquals("epos", expected[idx].epos, actual[idx].epos);
-        ++idx;
-    }
-    assertEquals(
-            "expected and actual not same length",
-            expected[idx].spos,
-            actual[idx].spos);
-}
-
-void NumberFormat2Test::verifyIntValue(
-        int64_t expected, const VisibleDigits &digits) {
-    double unusedSource;
-    int64_t intValue;
-    int64_t unusedF;
-    int64_t unusedT;
-    int32_t unusedV;
-    UBool unusedHasIntValue;
-    digits.getFixedDecimal(
-            unusedSource, intValue, unusedF,
-            unusedT, unusedV, unusedHasIntValue);
-    assertEquals("", expected, intValue);
-}
-
-void NumberFormat2Test::verifySource(
-        double expected, const VisibleDigits &digits) {
-    double source;
-    int64_t unusedIntValue;
-    int64_t unusedF;
-    int64_t unusedT;
-    int32_t unusedV;
-    UBool unusedHasIntValue;
-    digits.getFixedDecimal(
-            source, unusedIntValue, unusedF,
-            unusedT, unusedV, unusedHasIntValue);
-    if (expected != source) {
-        errln("Expected %f, got %f instead", expected, source);
-    }
-}
-
-extern IntlTest *createNumberFormat2Test() {
-    return new NumberFormat2Test();
-}
-
-#endif /* !UCONFIG_NO_FORMATTING */
index 26db1ad..b73e67e 100644 (file)
@@ -16,7 +16,9 @@
 #include "cstring.h"
 #include "cmemory.h"
 
-static NumberFormatTestTuple *gNullPtr = NULL;
+static NumberFormatTestTuple emptyObject;
+
+static NumberFormatTestTuple *gNullPtr = &emptyObject;
 
 #define FIELD_OFFSET(fieldName) ((int32_t) (((char *) &gNullPtr->fieldName) - ((char *) gNullPtr)))
 #define FIELD_FLAG_OFFSET(fieldName) ((int32_t) (((char *) &gNullPtr->fieldName##Flag) - ((char *) gNullPtr)))
index 7f5bcdf..cb0be28 100644 (file)
@@ -68,6 +68,7 @@ class NumberFormatterApiTest : public IntlTestWithFieldPosition {
     // TODO: Add this method if currency symbols override support is added.
     //void symbolsOverride();
     void sign();
+    void signNearZero();
     void signCoverage();
     void decimal();
     void scale();
@@ -94,6 +95,7 @@ class NumberFormatterApiTest : public IntlTestWithFieldPosition {
     CurrencyUnit ESP;
     CurrencyUnit PTE;
     CurrencyUnit RON;
+    CurrencyUnit CNY;
 
     MeasureUnit METER;
     MeasureUnit DAY;
@@ -113,16 +115,38 @@ class NumberFormatterApiTest : public IntlTestWithFieldPosition {
     DecimalFormatSymbols SWISS_SYMBOLS;
     DecimalFormatSymbols MYANMAR_SYMBOLS;
 
-    void assertFormatDescending(const char16_t* message, const char16_t* skeleton,
-                                const UnlocalizedNumberFormatter& f, Locale locale, ...);
+    /**
+     * skeleton is the full length skeleton, which must round-trip.
+     *
+     * conciseSkeleton should be the shortest available skeleton.
+     * The concise skeleton can be read but not printed.
+     */
+    void assertFormatDescending(
+      const char16_t* message,
+      const char16_t* skeleton,
+      const char16_t* conciseSkeleton,
+      const UnlocalizedNumberFormatter& f,
+      Locale locale,
+      ...);
 
-    void assertFormatDescendingBig(const char16_t* message, const char16_t* skeleton,
-                                   const UnlocalizedNumberFormatter& f, Locale locale, ...);
+    /** See notes above regarding skeleton vs conciseSkeleton */
+    void assertFormatDescendingBig(
+      const char16_t* message,
+      const char16_t* skeleton,
+      const char16_t* conciseSkeleton,
+      const UnlocalizedNumberFormatter& f,
+      Locale locale,
+      ...);
 
-    FormattedNumber
-    assertFormatSingle(const char16_t* message, const char16_t* skeleton,
-                       const UnlocalizedNumberFormatter& f, Locale locale, double input,
-                       const UnicodeString& expected);
+    /** See notes above regarding skeleton vs conciseSkeleton */
+    FormattedNumber assertFormatSingle(
+      const char16_t* message,
+      const char16_t* skeleton,
+      const char16_t* conciseSkeleton,
+      const UnlocalizedNumberFormatter& f,
+      Locale locale,
+      double input,
+      const UnicodeString& expected);
 
     void assertUndefinedSkeleton(const UnlocalizedNumberFormatter& f);
 
@@ -145,6 +169,8 @@ class DecimalQuantityTest : public IntlTest {
     void testToDouble();
     void testMaxDigits();
     void testNickelRounding();
+    void testCompactDecimalSuppressedExponent();
+    void testSuppressedExponentUnchangedByInitialScaling();
 
     void runIndexedTest(int32_t index, UBool exec, const char *&name, char *par = 0);
 
@@ -231,6 +257,8 @@ class NumberSkeletonTest : public IntlTest {
     void stemsRequiringOption();
     void defaultTokens();
     void flexibleSeparators();
+    void wildcardCharacters();
+    void perUnitInArabic();
 
     void runIndexedTest(int32_t index, UBool exec, const char *&name, char *par = 0);
 
index 7f29ad1..499b5d0 100644 (file)
@@ -222,7 +222,7 @@ void AffixUtilsTest::testUnescapeWithSymbolProvider() {
         UnicodeString input(cas[0]);
         UnicodeString expected(cas[1]);
         sb.clear();
-        AffixUtils::unescape(input, sb, 0, provider, UNUM_FIELD_COUNT, status);
+        AffixUtils::unescape(input, sb, 0, provider, kUndefinedField, status);
         assertSuccess("Spot 1", status);
         assertEquals(input, expected, sb.toUnicodeString());
         assertEquals(input, expected, sb.toTempUnicodeString());
@@ -230,9 +230,9 @@ void AffixUtilsTest::testUnescapeWithSymbolProvider() {
 
     // Test insertion position
     sb.clear();
-    sb.append(u"abcdefg", UNUM_FIELD_COUNT, status);
+    sb.append(u"abcdefg", kUndefinedField, status);
     assertSuccess("Spot 2", status);
-    AffixUtils::unescape(u"-+%", sb, 4, provider, UNUM_FIELD_COUNT, status);
+    AffixUtils::unescape(u"-+%", sb, 4, provider, kUndefinedField, status);
     assertSuccess("Spot 3", status);
     assertEquals(u"Symbol provider into middle", u"abcd123efg", sb.toUnicodeString());
 }
@@ -240,7 +240,7 @@ void AffixUtilsTest::testUnescapeWithSymbolProvider() {
 UnicodeString AffixUtilsTest::unescapeWithDefaults(const SymbolProvider &defaultProvider,
                                                           UnicodeString input, UErrorCode &status) {
     FormattedStringBuilder nsb;
-    int32_t length = AffixUtils::unescape(input, nsb, 0, defaultProvider, UNUM_FIELD_COUNT, status);
+    int32_t length = AffixUtils::unescape(input, nsb, 0, defaultProvider, kUndefinedField, status);
     assertEquals("Return value of unescape", nsb.length(), length);
     return nsb.toUnicodeString();
 }
index 4e4f0b7..c586603 100644 (file)
@@ -16,6 +16,9 @@
 #include "number_utils.h"
 #include "numbertest.h"
 #include "unicode/utypes.h"
+#include "number_utypes.h"
+
+using number::impl::UFormattedNumberData;
 
 // Horrible workaround for the lack of a status code in the constructor...
 // (Also affects numbertest_range.cpp)
@@ -33,6 +36,7 @@ NumberFormatterApiTest::NumberFormatterApiTest(UErrorCode& status)
           ESP(u"ESP", status),
           PTE(u"PTE", status),
           RON(u"RON", status),
+          CNY(u"CNY", status),
           FRENCH_SYMBOLS(Locale::getFrench(), status),
           SWISS_SYMBOLS(Locale("de-CH"), status),
           MYANMAR_SYMBOLS(Locale("my"), status) {
@@ -86,6 +90,7 @@ void NumberFormatterApiTest::runIndexedTest(int32_t index, UBool exec, const cha
         // TODO: Add this method if currency symbols override support is added.
         //TESTCASE_AUTO(symbolsOverride);
         TESTCASE_AUTO(sign);
+        TESTCASE_AUTO(signNearZero);
         TESTCASE_AUTO(signCoverage);
         TESTCASE_AUTO(decimal);
         TESTCASE_AUTO(scale);
@@ -112,6 +117,7 @@ void NumberFormatterApiTest::notationSimple() {
     assertFormatDescending(
             u"Basic",
             u"",
+            u"",
             NumberFormatter::with(),
             Locale::getEnglish(),
             u"87,650",
@@ -127,6 +133,7 @@ void NumberFormatterApiTest::notationSimple() {
     assertFormatDescendingBig(
             u"Big Simple",
             u"notation-simple",
+            u"",
             NumberFormatter::with().notation(Notation::simple()),
             Locale::getEnglish(),
             u"87,650,000",
@@ -142,6 +149,7 @@ void NumberFormatterApiTest::notationSimple() {
     assertFormatSingle(
             u"Basic with Negative Sign",
             u"",
+            u"",
             NumberFormatter::with(),
             Locale::getEnglish(),
             -9876543.21,
@@ -153,6 +161,7 @@ void NumberFormatterApiTest::notationScientific() {
     assertFormatDescending(
             u"Scientific",
             u"scientific",
+            u"E0",
             NumberFormatter::with().notation(Notation::scientific()),
             Locale::getEnglish(),
             u"8.765E4",
@@ -168,6 +177,7 @@ void NumberFormatterApiTest::notationScientific() {
     assertFormatDescending(
             u"Engineering",
             u"engineering",
+            u"EE0",
             NumberFormatter::with().notation(Notation::engineering()),
             Locale::getEnglish(),
             u"87.65E3",
@@ -183,6 +193,7 @@ void NumberFormatterApiTest::notationScientific() {
     assertFormatDescending(
             u"Scientific sign always shown",
             u"scientific/sign-always",
+            u"E+!0",
             NumberFormatter::with().notation(
                     Notation::scientific().withExponentSignDisplay(UNumberSignDisplay::UNUM_SIGN_ALWAYS)),
             Locale::getEnglish(),
@@ -198,7 +209,8 @@ void NumberFormatterApiTest::notationScientific() {
 
     assertFormatDescending(
             u"Scientific min exponent digits",
-            u"scientific/+ee",
+            u"scientific/*ee",
+            u"E00",
             NumberFormatter::with().notation(Notation::scientific().withMinExponentDigits(2)),
             Locale::getEnglish(),
             u"8.765E04",
@@ -214,6 +226,7 @@ void NumberFormatterApiTest::notationScientific() {
     assertFormatSingle(
             u"Scientific Negative",
             u"scientific",
+            u"E0",
             NumberFormatter::with().notation(Notation::scientific()),
             Locale::getEnglish(),
             -1000000,
@@ -222,6 +235,7 @@ void NumberFormatterApiTest::notationScientific() {
     assertFormatSingle(
             u"Scientific Infinity",
             u"scientific",
+            u"E0",
             NumberFormatter::with().notation(Notation::scientific()),
             Locale::getEnglish(),
             -uprv_getInfinity(),
@@ -230,6 +244,7 @@ void NumberFormatterApiTest::notationScientific() {
     assertFormatSingle(
             u"Scientific NaN",
             u"scientific",
+            u"E0",
             NumberFormatter::with().notation(Notation::scientific()),
             Locale::getEnglish(),
             uprv_getNaN(),
@@ -240,6 +255,7 @@ void NumberFormatterApiTest::notationCompact() {
     assertFormatDescending(
             u"Compact Short",
             u"compact-short",
+            u"K",
             NumberFormatter::with().notation(Notation::compactShort()),
             Locale::getEnglish(),
             u"88K",
@@ -255,6 +271,7 @@ void NumberFormatterApiTest::notationCompact() {
     assertFormatDescending(
             u"Compact Long",
             u"compact-long",
+            u"KK",
             NumberFormatter::with().notation(Notation::compactLong()),
             Locale::getEnglish(),
             u"88 thousand",
@@ -270,6 +287,7 @@ void NumberFormatterApiTest::notationCompact() {
     assertFormatDescending(
             u"Compact Short Currency",
             u"compact-short currency/USD",
+            u"K currency/USD",
             NumberFormatter::with().notation(Notation::compactShort()).unit(USD),
             Locale::getEnglish(),
             u"$88K",
@@ -285,6 +303,7 @@ void NumberFormatterApiTest::notationCompact() {
     assertFormatDescending(
             u"Compact Short with ISO Currency",
             u"compact-short currency/USD unit-width-iso-code",
+            u"K currency/USD unit-width-iso-code",
             NumberFormatter::with().notation(Notation::compactShort())
                     .unit(USD)
                     .unitWidth(UNumberUnitWidth::UNUM_UNIT_WIDTH_ISO_CODE),
@@ -302,6 +321,7 @@ void NumberFormatterApiTest::notationCompact() {
     assertFormatDescending(
             u"Compact Short with Long Name Currency",
             u"compact-short currency/USD unit-width-full-name",
+            u"K currency/USD unit-width-full-name",
             NumberFormatter::with().notation(Notation::compactShort())
                     .unit(USD)
                     .unitWidth(UNumberUnitWidth::UNUM_UNIT_WIDTH_FULL_NAME),
@@ -321,6 +341,7 @@ void NumberFormatterApiTest::notationCompact() {
     assertFormatDescending(
             u"Compact Long Currency",
             u"compact-long currency/USD",
+            u"KK currency/USD",
             NumberFormatter::with().notation(Notation::compactLong()).unit(USD),
             Locale::getEnglish(),
             u"$88K", // should be something like "$88 thousand"
@@ -338,6 +359,7 @@ void NumberFormatterApiTest::notationCompact() {
     assertFormatDescending(
             u"Compact Long with ISO Currency",
             u"compact-long currency/USD unit-width-iso-code",
+            u"KK currency/USD unit-width-iso-code",
             NumberFormatter::with().notation(Notation::compactLong())
                     .unit(USD)
                     .unitWidth(UNumberUnitWidth::UNUM_UNIT_WIDTH_ISO_CODE),
@@ -356,6 +378,7 @@ void NumberFormatterApiTest::notationCompact() {
     assertFormatDescending(
             u"Compact Long with Long Name Currency",
             u"compact-long currency/USD unit-width-full-name",
+            u"KK currency/USD unit-width-full-name",
             NumberFormatter::with().notation(Notation::compactLong())
                     .unit(USD)
                     .unitWidth(UNumberUnitWidth::UNUM_UNIT_WIDTH_FULL_NAME),
@@ -373,6 +396,7 @@ void NumberFormatterApiTest::notationCompact() {
     assertFormatSingle(
             u"Compact Plural One",
             u"compact-long",
+            u"KK",
             NumberFormatter::with().notation(Notation::compactLong()),
             Locale::createFromName("es"),
             1000000,
@@ -381,6 +405,7 @@ void NumberFormatterApiTest::notationCompact() {
     assertFormatSingle(
             u"Compact Plural Other",
             u"compact-long",
+            u"KK",
             NumberFormatter::with().notation(Notation::compactLong()),
             Locale::createFromName("es"),
             2000000,
@@ -389,6 +414,7 @@ void NumberFormatterApiTest::notationCompact() {
     assertFormatSingle(
             u"Compact with Negative Sign",
             u"compact-short",
+            u"K",
             NumberFormatter::with().notation(Notation::compactShort()),
             Locale::getEnglish(),
             -9876543.21,
@@ -397,6 +423,7 @@ void NumberFormatterApiTest::notationCompact() {
     assertFormatSingle(
             u"Compact Rounding",
             u"compact-short",
+            u"K",
             NumberFormatter::with().notation(Notation::compactShort()),
             Locale::getEnglish(),
             990000,
@@ -405,6 +432,7 @@ void NumberFormatterApiTest::notationCompact() {
     assertFormatSingle(
             u"Compact Rounding",
             u"compact-short",
+            u"K",
             NumberFormatter::with().notation(Notation::compactShort()),
             Locale::getEnglish(),
             999000,
@@ -413,6 +441,7 @@ void NumberFormatterApiTest::notationCompact() {
     assertFormatSingle(
             u"Compact Rounding",
             u"compact-short",
+            u"K",
             NumberFormatter::with().notation(Notation::compactShort()),
             Locale::getEnglish(),
             999900,
@@ -421,6 +450,7 @@ void NumberFormatterApiTest::notationCompact() {
     assertFormatSingle(
             u"Compact Rounding",
             u"compact-short",
+            u"K",
             NumberFormatter::with().notation(Notation::compactShort()),
             Locale::getEnglish(),
             9900000,
@@ -429,6 +459,7 @@ void NumberFormatterApiTest::notationCompact() {
     assertFormatSingle(
             u"Compact Rounding",
             u"compact-short",
+            u"K",
             NumberFormatter::with().notation(Notation::compactShort()),
             Locale::getEnglish(),
             9990000,
@@ -437,6 +468,7 @@ void NumberFormatterApiTest::notationCompact() {
     assertFormatSingle(
             u"Compact in zh-Hant-HK",
             u"compact-short",
+            u"K",
             NumberFormatter::with().notation(Notation::compactShort()),
             Locale("zh-Hant-HK"),
             1e7,
@@ -445,6 +477,7 @@ void NumberFormatterApiTest::notationCompact() {
     assertFormatSingle(
             u"Compact in zh-Hant",
             u"compact-short",
+            u"K",
             NumberFormatter::with().notation(Notation::compactShort()),
             Locale("zh-Hant"),
             1e7,
@@ -453,6 +486,7 @@ void NumberFormatterApiTest::notationCompact() {
     assertFormatSingle(
             u"Compact Infinity",
             u"compact-short",
+            u"K",
             NumberFormatter::with().notation(Notation::compactShort()),
             Locale::getEnglish(),
             -uprv_getInfinity(),
@@ -461,6 +495,7 @@ void NumberFormatterApiTest::notationCompact() {
     assertFormatSingle(
             u"Compact NaN",
             u"compact-short",
+            u"K",
             NumberFormatter::with().notation(Notation::compactShort()),
             Locale::getEnglish(),
             uprv_getNaN(),
@@ -474,6 +509,7 @@ void NumberFormatterApiTest::unitMeasure() {
     assertFormatDescending(
             u"Meters Short and unit() method",
             u"measure-unit/length-meter",
+            u"unit/meter",
             NumberFormatter::with().unit(MeasureUnit::getMeter()),
             Locale::getEnglish(),
             u"87,650 m",
@@ -489,6 +525,7 @@ void NumberFormatterApiTest::unitMeasure() {
     assertFormatDescending(
             u"Meters Long and adoptUnit() method",
             u"measure-unit/length-meter unit-width-full-name",
+            u"unit/meter unit-width-full-name",
             NumberFormatter::with().adoptUnit(new MeasureUnit(METER))
                     .unitWidth(UNumberUnitWidth::UNUM_UNIT_WIDTH_FULL_NAME),
             Locale::getEnglish(),
@@ -505,6 +542,7 @@ void NumberFormatterApiTest::unitMeasure() {
     assertFormatDescending(
             u"Compact Meters Long",
             u"compact-long measure-unit/length-meter unit-width-full-name",
+            u"KK unit/meter unit-width-full-name",
             NumberFormatter::with().notation(Notation::compactLong())
                     .unit(METER)
                     .unitWidth(UNumberUnitWidth::UNUM_UNIT_WIDTH_FULL_NAME),
@@ -538,6 +576,7 @@ void NumberFormatterApiTest::unitMeasure() {
     assertFormatSingle(
             u"Meters with Negative Sign",
             u"measure-unit/length-meter",
+            u"unit/meter",
             NumberFormatter::with().unit(METER),
             Locale::getEnglish(),
             -9876543.21,
@@ -547,6 +586,7 @@ void NumberFormatterApiTest::unitMeasure() {
     assertFormatSingle(
             u"Interesting Data Fallback 1",
             u"measure-unit/duration-day unit-width-full-name",
+            u"unit/day unit-width-full-name",
             NumberFormatter::with().unit(DAY).unitWidth(UNumberUnitWidth::UNUM_UNIT_WIDTH_FULL_NAME),
             Locale::createFromName("brx"),
             5.43,
@@ -556,6 +596,7 @@ void NumberFormatterApiTest::unitMeasure() {
     assertFormatSingle(
             u"Interesting Data Fallback 2",
             u"measure-unit/duration-day unit-width-narrow",
+            u"unit/day unit-width-narrow",
             NumberFormatter::with().unit(DAY).unitWidth(UNumberUnitWidth::UNUM_UNIT_WIDTH_NARROW),
             Locale::createFromName("brx"),
             5.43,
@@ -566,15 +607,17 @@ void NumberFormatterApiTest::unitMeasure() {
     assertFormatSingle(
             u"Interesting Data Fallback 3",
             u"measure-unit/area-square-meter unit-width-narrow",
+            u"unit/square-meter unit-width-narrow",
             NumberFormatter::with().unit(SQUARE_METER).unitWidth(UNumberUnitWidth::UNUM_UNIT_WIDTH_NARROW),
             Locale::createFromName("en-GB"),
             5.43,
-            u"5.43 m²");
+            u"5.43m²");
 
     // Try accessing a narrow unit directly from root.
     assertFormatSingle(
             u"Interesting Data Fallback 4",
             u"measure-unit/area-square-meter unit-width-narrow",
+            u"unit/square-meter unit-width-narrow",
             NumberFormatter::with().unit(SQUARE_METER).unitWidth(UNumberUnitWidth::UNUM_UNIT_WIDTH_NARROW),
             Locale::createFromName("root"),
             5.43,
@@ -585,6 +628,7 @@ void NumberFormatterApiTest::unitMeasure() {
     assertFormatSingle(
             u"Difference between Narrow and Short (Narrow Version)",
             u"measure-unit/temperature-fahrenheit unit-width-narrow",
+            u"unit/fahrenheit unit-width-narrow",
             NumberFormatter::with().unit(FAHRENHEIT).unitWidth(UNUM_UNIT_WIDTH_NARROW),
             Locale("es-US"),
             5.43,
@@ -593,6 +637,7 @@ void NumberFormatterApiTest::unitMeasure() {
     assertFormatSingle(
             u"Difference between Narrow and Short (Short Version)",
             u"measure-unit/temperature-fahrenheit unit-width-short",
+            u"unit/fahrenheit unit-width-short",
             NumberFormatter::with().unit(FAHRENHEIT).unitWidth(UNUM_UNIT_WIDTH_SHORT),
             Locale("es-US"),
             5.43,
@@ -601,6 +646,7 @@ void NumberFormatterApiTest::unitMeasure() {
     assertFormatSingle(
             u"MeasureUnit form without {0} in CLDR pattern",
             u"measure-unit/temperature-kelvin unit-width-full-name",
+            u"unit/kelvin unit-width-full-name",
             NumberFormatter::with().unit(KELVIN).unitWidth(UNumberUnitWidth::UNUM_UNIT_WIDTH_FULL_NAME),
             Locale("es-MX"),
             1,
@@ -609,6 +655,7 @@ void NumberFormatterApiTest::unitMeasure() {
     assertFormatSingle(
             u"MeasureUnit form without {0} in CLDR pattern and wide base form",
             u"measure-unit/temperature-kelvin .00000000000000000000 unit-width-full-name",
+            u"unit/kelvin .00000000000000000000 unit-width-full-name",
             NumberFormatter::with().precision(Precision::fixedFraction(20))
                     .unit(KELVIN)
                     .unitWidth(UNumberUnitWidth::UNUM_UNIT_WIDTH_FULL_NAME),
@@ -619,6 +666,7 @@ void NumberFormatterApiTest::unitMeasure() {
     assertFormatSingle(
             u"Person unit not in short form",
             u"measure-unit/duration-year-person unit-width-full-name",
+            u"unit/year-person unit-width-full-name",
             NumberFormatter::with().unit(MeasureUnit::getYearPerson())
                     .unitWidth(UNumberUnitWidth::UNUM_UNIT_WIDTH_FULL_NAME),
             Locale("es-MX"),
@@ -630,6 +678,7 @@ void NumberFormatterApiTest::unitCompoundMeasure() {
     assertFormatDescending(
             u"Meters Per Second Short (unit that simplifies) and perUnit method",
             u"measure-unit/length-meter per-measure-unit/duration-second",
+            u"unit/meter-per-second",
             NumberFormatter::with().unit(METER).perUnit(SECOND),
             Locale::getEnglish(),
             u"87,650 m/s",
@@ -645,6 +694,7 @@ void NumberFormatterApiTest::unitCompoundMeasure() {
     assertFormatDescending(
             u"Pounds Per Square Mile Short (secondary unit has per-format) and adoptPerUnit method",
             u"measure-unit/mass-pound per-measure-unit/area-square-mile",
+            u"unit/pound-per-square-mile",
             NumberFormatter::with().unit(POUND).adoptPerUnit(new MeasureUnit(SQUARE_MILE)),
             Locale::getEnglish(),
             u"87,650 lb/mi²",
@@ -660,6 +710,7 @@ void NumberFormatterApiTest::unitCompoundMeasure() {
     assertFormatDescending(
             u"Joules Per Furlong Short (unit with no simplifications or special patterns)",
             u"measure-unit/energy-joule per-measure-unit/length-furlong",
+            u"unit/joule-per-furlong",
             NumberFormatter::with().unit(JOULE).perUnit(FURLONG),
             Locale::getEnglish(),
             u"87,650 J/fur",
@@ -671,12 +722,30 @@ void NumberFormatterApiTest::unitCompoundMeasure() {
             u"0.08765 J/fur",
             u"0.008765 J/fur",
             u"0 J/fur");
+
+    // TODO(ICU-20941): Support constructions such as this one.
+    // assertFormatDescending(
+    //         u"Joules Per Furlong Short with unit identifier via API",
+    //         u"measure-unit/energy-joule per-measure-unit/length-furlong",
+    //         u"unit/joule-per-furlong",
+    //         NumberFormatter::with().unit(MeasureUnit::forIdentifier("joule-per-furlong", status)),
+    //         Locale::getEnglish(),
+    //         u"87,650 J/fur",
+    //         u"8,765 J/fur",
+    //         u"876.5 J/fur",
+    //         u"87.65 J/fur",
+    //         u"8.765 J/fur",
+    //         u"0.8765 J/fur",
+    //         u"0.08765 J/fur",
+    //         u"0.008765 J/fur",
+    //         u"0 J/fur");
 }
 
 void NumberFormatterApiTest::unitCurrency() {
     assertFormatDescending(
             u"Currency",
             u"currency/GBP",
+            u"currency/GBP",
             NumberFormatter::with().unit(GBP),
             Locale::getEnglish(),
             u"£87,650.00",
@@ -692,6 +761,7 @@ void NumberFormatterApiTest::unitCurrency() {
     assertFormatDescending(
             u"Currency ISO",
             u"currency/GBP unit-width-iso-code",
+            u"currency/GBP unit-width-iso-code",
             NumberFormatter::with().unit(GBP).unitWidth(UNumberUnitWidth::UNUM_UNIT_WIDTH_ISO_CODE),
             Locale::getEnglish(),
             u"GBP 87,650.00",
@@ -707,6 +777,7 @@ void NumberFormatterApiTest::unitCurrency() {
     assertFormatDescending(
             u"Currency Long Name",
             u"currency/GBP unit-width-full-name",
+            u"currency/GBP unit-width-full-name",
             NumberFormatter::with().unit(GBP).unitWidth(UNumberUnitWidth::UNUM_UNIT_WIDTH_FULL_NAME),
             Locale::getEnglish(),
             u"87,650.00 British pounds",
@@ -722,6 +793,7 @@ void NumberFormatterApiTest::unitCurrency() {
     assertFormatDescending(
             u"Currency Hidden",
             u"currency/GBP unit-width-hidden",
+            u"currency/GBP unit-width-hidden",
             NumberFormatter::with().unit(GBP).unitWidth(UNUM_UNIT_WIDTH_HIDDEN),
             Locale::getEnglish(),
             u"87,650.00",
@@ -752,6 +824,7 @@ void NumberFormatterApiTest::unitCurrency() {
     assertFormatSingle(
             u"Currency with Negative Sign",
             u"currency/GBP",
+            u"currency/GBP",
             NumberFormatter::with().unit(GBP),
             Locale::getEnglish(),
             -9876543.21,
@@ -762,6 +835,7 @@ void NumberFormatterApiTest::unitCurrency() {
     assertFormatSingle(
             u"Currency Difference between Narrow and Short (Narrow Version)",
             u"currency/USD unit-width-narrow",
+            u"currency/USD unit-width-narrow",
             NumberFormatter::with().unit(USD).unitWidth(UNUM_UNIT_WIDTH_NARROW),
             Locale("en-CA"),
             5.43,
@@ -770,6 +844,7 @@ void NumberFormatterApiTest::unitCurrency() {
     assertFormatSingle(
             u"Currency Difference between Narrow and Short (Short Version)",
             u"currency/USD unit-width-short",
+            u"currency/USD unit-width-short",
             NumberFormatter::with().unit(USD).unitWidth(UNUM_UNIT_WIDTH_SHORT),
             Locale("en-CA"),
             5.43,
@@ -778,6 +853,7 @@ void NumberFormatterApiTest::unitCurrency() {
     assertFormatSingle(
             u"Currency-dependent format (Control)",
             u"currency/USD unit-width-short",
+            u"currency/USD unit-width-short",
             NumberFormatter::with().unit(USD).unitWidth(UNUM_UNIT_WIDTH_SHORT),
             Locale("ca"),
             444444.55,
@@ -786,6 +862,7 @@ void NumberFormatterApiTest::unitCurrency() {
     assertFormatSingle(
             u"Currency-dependent format (Test)",
             u"currency/ESP unit-width-short",
+            u"currency/ESP unit-width-short",
             NumberFormatter::with().unit(ESP).unitWidth(UNUM_UNIT_WIDTH_SHORT),
             Locale("ca"),
             444444.55,
@@ -794,6 +871,7 @@ void NumberFormatterApiTest::unitCurrency() {
     assertFormatSingle(
             u"Currency-dependent symbols (Control)",
             u"currency/USD unit-width-short",
+            u"currency/USD unit-width-short",
             NumberFormatter::with().unit(USD).unitWidth(UNUM_UNIT_WIDTH_SHORT),
             Locale("pt-PT"),
             444444.55,
@@ -804,6 +882,7 @@ void NumberFormatterApiTest::unitCurrency() {
     assertFormatSingle(
             u"Currency-dependent symbols (Test Short)",
             u"currency/PTE unit-width-short",
+            u"currency/PTE unit-width-short",
             NumberFormatter::with().unit(PTE).unitWidth(UNUM_UNIT_WIDTH_SHORT),
             Locale("pt-PT"),
             444444.55,
@@ -812,6 +891,7 @@ void NumberFormatterApiTest::unitCurrency() {
     assertFormatSingle(
             u"Currency-dependent symbols (Test Narrow)",
             u"currency/PTE unit-width-narrow",
+            u"currency/PTE unit-width-narrow",
             NumberFormatter::with().unit(PTE).unitWidth(UNUM_UNIT_WIDTH_NARROW),
             Locale("pt-PT"),
             444444.55,
@@ -820,6 +900,7 @@ void NumberFormatterApiTest::unitCurrency() {
     assertFormatSingle(
             u"Currency-dependent symbols (Test ISO Code)",
             u"currency/PTE unit-width-iso-code",
+            u"currency/PTE unit-width-iso-code",
             NumberFormatter::with().unit(PTE).unitWidth(UNUM_UNIT_WIDTH_ISO_CODE),
             Locale("pt-PT"),
             444444.55,
@@ -828,16 +909,27 @@ void NumberFormatterApiTest::unitCurrency() {
     assertFormatSingle(
             u"Plural form depending on visible digits (ICU-20499)",
             u"currency/RON unit-width-full-name",
+            u"currency/RON unit-width-full-name",
             NumberFormatter::with().unit(RON).unitWidth(UNUM_UNIT_WIDTH_FULL_NAME),
             Locale("ro-RO"),
             24,
             u"24,00 lei românești");
+
+    assertFormatSingle(
+            u"Currency spacing in suffix (ICU-20954)",
+            u"currency/CNY",
+            u"currency/CNY",
+            NumberFormatter::with().unit(CNY),
+            Locale("lu"),
+            123.12,
+            u"123,12 CN¥");
 }
 
 void NumberFormatterApiTest::unitPercent() {
     assertFormatDescending(
             u"Percent",
             u"percent",
+            u"%",
             NumberFormatter::with().unit(NoUnit::percent()),
             Locale::getEnglish(),
             u"87,650%",
@@ -853,6 +945,7 @@ void NumberFormatterApiTest::unitPercent() {
     assertFormatDescending(
             u"Permille",
             u"permille",
+            u"permille",
             NumberFormatter::with().unit(NoUnit::permille()),
             Locale::getEnglish(),
             u"87,650‰",
@@ -868,6 +961,7 @@ void NumberFormatterApiTest::unitPercent() {
     assertFormatSingle(
             u"NoUnit Base",
             u"base-unit",
+            u"",
             NumberFormatter::with().unit(NoUnit::base()),
             Locale::getEnglish(),
             51423,
@@ -876,6 +970,7 @@ void NumberFormatterApiTest::unitPercent() {
     assertFormatSingle(
             u"Percent with Negative Sign",
             u"percent",
+            u"%",
             NumberFormatter::with().unit(NoUnit::percent()),
             Locale::getEnglish(),
             -98.7654321,
@@ -913,6 +1008,7 @@ void NumberFormatterApiTest::roundingFraction() {
     assertFormatDescending(
             u"Integer",
             u"precision-integer",
+            u".",
             NumberFormatter::with().precision(Precision::integer()),
             Locale::getEnglish(),
             u"87,650",
@@ -928,6 +1024,7 @@ void NumberFormatterApiTest::roundingFraction() {
     assertFormatDescending(
             u"Fixed Fraction",
             u".000",
+            u".000",
             NumberFormatter::with().precision(Precision::fixedFraction(3)),
             Locale::getEnglish(),
             u"87,650.000",
@@ -942,6 +1039,7 @@ void NumberFormatterApiTest::roundingFraction() {
 
     assertFormatDescending(
             u"Min Fraction",
+            u".0*",
             u".0+",
             NumberFormatter::with().precision(Precision::minFraction(1)),
             Locale::getEnglish(),
@@ -958,6 +1056,7 @@ void NumberFormatterApiTest::roundingFraction() {
     assertFormatDescending(
             u"Max Fraction",
             u".#",
+            u".#",
             NumberFormatter::with().precision(Precision::maxFraction(1)),
             Locale::getEnglish(),
             u"87,650",
@@ -973,6 +1072,7 @@ void NumberFormatterApiTest::roundingFraction() {
     assertFormatDescending(
             u"Min/Max Fraction",
             u".0##",
+            u".0##",
             NumberFormatter::with().precision(Precision::minMaxFraction(1, 3)),
             Locale::getEnglish(),
             u"87,650.0",
@@ -990,6 +1090,7 @@ void NumberFormatterApiTest::roundingFigures() {
     assertFormatSingle(
             u"Fixed Significant",
             u"@@@",
+            u"@@@",
             NumberFormatter::with().precision(Precision::fixedSignificantDigits(3)),
             Locale::getEnglish(),
             -98,
@@ -998,6 +1099,7 @@ void NumberFormatterApiTest::roundingFigures() {
     assertFormatSingle(
             u"Fixed Significant Rounding",
             u"@@@",
+            u"@@@",
             NumberFormatter::with().precision(Precision::fixedSignificantDigits(3)),
             Locale::getEnglish(),
             -98.7654321,
@@ -1006,6 +1108,7 @@ void NumberFormatterApiTest::roundingFigures() {
     assertFormatSingle(
             u"Fixed Significant Zero",
             u"@@@",
+            u"@@@",
             NumberFormatter::with().precision(Precision::fixedSignificantDigits(3)),
             Locale::getEnglish(),
             0,
@@ -1013,6 +1116,7 @@ void NumberFormatterApiTest::roundingFigures() {
 
     assertFormatSingle(
             u"Min Significant",
+            u"@@*",
             u"@@+",
             NumberFormatter::with().precision(Precision::minSignificantDigits(2)),
             Locale::getEnglish(),
@@ -1022,6 +1126,7 @@ void NumberFormatterApiTest::roundingFigures() {
     assertFormatSingle(
             u"Max Significant",
             u"@###",
+            u"@###",
             NumberFormatter::with().precision(Precision::maxSignificantDigits(4)),
             Locale::getEnglish(),
             98.7654321,
@@ -1030,6 +1135,7 @@ void NumberFormatterApiTest::roundingFigures() {
     assertFormatSingle(
             u"Min/Max Significant",
             u"@@@#",
+            u"@@@#",
             NumberFormatter::with().precision(Precision::minMaxSignificantDigits(3, 4)),
             Locale::getEnglish(),
             9.99999,
@@ -1038,6 +1144,7 @@ void NumberFormatterApiTest::roundingFigures() {
     assertFormatSingle(
             u"Fixed Significant on zero with lots of integer width",
             u"@ integer-width/+000",
+            u"@ 000",
             NumberFormatter::with().precision(Precision::fixedSignificantDigits(1))
                     .integerWidth(IntegerWidth::zeroFillTo(3)),
             Locale::getEnglish(),
@@ -1046,6 +1153,7 @@ void NumberFormatterApiTest::roundingFigures() {
 
     assertFormatSingle(
             u"Fixed Significant on zero with zero integer width",
+            u"@ integer-width/*",
             u"@ integer-width/+",
             NumberFormatter::with().precision(Precision::fixedSignificantDigits(1))
                     .integerWidth(IntegerWidth::zeroFillTo(0)),
@@ -1058,6 +1166,7 @@ void NumberFormatterApiTest::roundingFractionFigures() {
     assertFormatDescending(
             u"Basic Significant", // for comparison
             u"@#",
+            u"@#",
             NumberFormatter::with().precision(Precision::maxSignificantDigits(2)),
             Locale::getEnglish(),
             u"88,000",
@@ -1072,6 +1181,7 @@ void NumberFormatterApiTest::roundingFractionFigures() {
 
     assertFormatDescending(
             u"FracSig minMaxFrac minSig",
+            u".0#/@@@*",
             u".0#/@@@+",
             NumberFormatter::with().precision(Precision::minMaxFraction(1, 2).withMinDigits(3)),
             Locale::getEnglish(),
@@ -1088,6 +1198,7 @@ void NumberFormatterApiTest::roundingFractionFigures() {
     assertFormatDescending(
             u"FracSig minMaxFrac maxSig A",
             u".0##/@#",
+            u".0##/@#",
             NumberFormatter::with().precision(Precision::minMaxFraction(1, 3).withMaxDigits(2)),
             Locale::getEnglish(),
             u"88,000.0", // maxSig beats maxFrac
@@ -1103,6 +1214,7 @@ void NumberFormatterApiTest::roundingFractionFigures() {
     assertFormatDescending(
             u"FracSig minMaxFrac maxSig B",
             u".00/@#",
+            u".00/@#",
             NumberFormatter::with().precision(Precision::fixedFraction(2).withMaxDigits(2)),
             Locale::getEnglish(),
             u"88,000.00", // maxSig beats maxFrac
@@ -1117,6 +1229,7 @@ void NumberFormatterApiTest::roundingFractionFigures() {
 
     assertFormatSingle(
             u"FracSig with trailing zeros A",
+            u".00/@@@*",
             u".00/@@@+",
             NumberFormatter::with().precision(Precision::fixedFraction(2).withMinDigits(3)),
             Locale::getEnglish(),
@@ -1125,6 +1238,7 @@ void NumberFormatterApiTest::roundingFractionFigures() {
 
     assertFormatSingle(
             u"FracSig with trailing zeros B",
+            u".00/@@@*",
             u".00/@@@+",
             NumberFormatter::with().precision(Precision::fixedFraction(2).withMinDigits(3)),
             Locale::getEnglish(),
@@ -1136,6 +1250,7 @@ void NumberFormatterApiTest::roundingOther() {
     assertFormatDescending(
             u"Rounding None",
             u"precision-unlimited",
+            u".+",
             NumberFormatter::with().precision(Precision::unlimited()),
             Locale::getEnglish(),
             u"87,650",
@@ -1151,6 +1266,7 @@ void NumberFormatterApiTest::roundingOther() {
     assertFormatDescending(
             u"Increment",
             u"precision-increment/0.5",
+            u"precision-increment/0.5",
             NumberFormatter::with().precision(Precision::increment(0.5).withMinFraction(1)),
             Locale::getEnglish(),
             u"87,650.0",
@@ -1166,6 +1282,7 @@ void NumberFormatterApiTest::roundingOther() {
     assertFormatDescending(
             u"Increment with Min Fraction",
             u"precision-increment/0.50",
+            u"precision-increment/0.50",
             NumberFormatter::with().precision(Precision::increment(0.5).withMinFraction(2)),
             Locale::getEnglish(),
             u"87,650.00",
@@ -1181,6 +1298,7 @@ void NumberFormatterApiTest::roundingOther() {
     assertFormatDescending(
             u"Strange Increment",
             u"precision-increment/3.140",
+            u"precision-increment/3.140",
             NumberFormatter::with().precision(Precision::increment(3.14).withMinFraction(3)),
             Locale::getEnglish(),
             u"87,649.960",
@@ -1196,6 +1314,7 @@ void NumberFormatterApiTest::roundingOther() {
     assertFormatDescending(
             u"Increment Resolving to Power of 10",
             u"precision-increment/0.010",
+            u"precision-increment/0.010",
             NumberFormatter::with().precision(Precision::increment(0.01).withMinFraction(3)),
             Locale::getEnglish(),
             u"87,650.000",
@@ -1211,6 +1330,7 @@ void NumberFormatterApiTest::roundingOther() {
     assertFormatDescending(
             u"Currency Standard",
             u"currency/CZK precision-currency-standard",
+            u"currency/CZK precision-currency-standard",
             NumberFormatter::with().precision(Precision::currency(UCurrencyUsage::UCURR_USAGE_STANDARD))
                     .unit(CZK),
             Locale::getEnglish(),
@@ -1227,6 +1347,7 @@ void NumberFormatterApiTest::roundingOther() {
     assertFormatDescending(
             u"Currency Cash",
             u"currency/CZK precision-currency-cash",
+            u"currency/CZK precision-currency-cash",
             NumberFormatter::with().precision(Precision::currency(UCurrencyUsage::UCURR_USAGE_CASH))
                     .unit(CZK),
             Locale::getEnglish(),
@@ -1243,6 +1364,7 @@ void NumberFormatterApiTest::roundingOther() {
     assertFormatDescending(
             u"Currency Cash with Nickel Rounding",
             u"currency/CAD precision-currency-cash",
+            u"currency/CAD precision-currency-cash",
             NumberFormatter::with().precision(Precision::currency(UCurrencyUsage::UCURR_USAGE_CASH))
                     .unit(CAD),
             Locale::getEnglish(),
@@ -1259,6 +1381,7 @@ void NumberFormatterApiTest::roundingOther() {
     assertFormatDescending(
             u"Currency not in top-level fluent chain",
             u"precision-integer", // calling .withCurrency() applies currency rounding rules immediately
+            u".",
             NumberFormatter::with().precision(
                     Precision::currency(UCurrencyUsage::UCURR_USAGE_CASH).withCurrency(CZK)),
             Locale::getEnglish(),
@@ -1276,6 +1399,7 @@ void NumberFormatterApiTest::roundingOther() {
     assertFormatDescending(
             u"Rounding Mode CEILING",
             u"precision-integer rounding-mode-ceiling",
+            u". rounding-mode-ceiling",
             NumberFormatter::with().precision(Precision::integer()).roundingMode(UNUM_ROUND_CEILING),
             Locale::getEnglish(),
             u"87,650",
@@ -1287,12 +1411,37 @@ void NumberFormatterApiTest::roundingOther() {
             u"1",
             u"1",
             u"0");
+
+    assertFormatSingle(
+            u"ICU-20974 Double.MIN_NORMAL",
+            u"scientific",
+            u"E0",
+            NumberFormatter::with().notation(Notation::scientific()),
+            Locale::getEnglish(),
+            DBL_MIN,
+            u"2.225074E-308");
+
+#ifndef DBL_TRUE_MIN
+#define DBL_TRUE_MIN 4.9E-324
+#endif
+
+    // Note: this behavior is intentionally different from Java; see
+    // https://github.com/google/double-conversion/issues/126
+    assertFormatSingle(
+            u"ICU-20974 Double.MIN_VALUE",
+            u"scientific",
+            u"E0",
+            NumberFormatter::with().notation(Notation::scientific()),
+            Locale::getEnglish(),
+            DBL_TRUE_MIN,
+            u"5E-324");
 }
 
 void NumberFormatterApiTest::grouping() {
     assertFormatDescendingBig(
             u"Western Grouping",
             u"group-auto",
+            u"",
             NumberFormatter::with().grouping(UNUM_GROUPING_AUTO),
             Locale::getEnglish(),
             u"87,650,000",
@@ -1308,6 +1457,7 @@ void NumberFormatterApiTest::grouping() {
     assertFormatDescendingBig(
             u"Indic Grouping",
             u"group-auto",
+            u"",
             NumberFormatter::with().grouping(UNUM_GROUPING_AUTO),
             Locale("en-IN"),
             u"8,76,50,000",
@@ -1323,6 +1473,7 @@ void NumberFormatterApiTest::grouping() {
     assertFormatDescendingBig(
             u"Western Grouping, Min 2",
             u"group-min2",
+            u",?",
             NumberFormatter::with().grouping(UNUM_GROUPING_MIN2),
             Locale::getEnglish(),
             u"87,650,000",
@@ -1338,6 +1489,7 @@ void NumberFormatterApiTest::grouping() {
     assertFormatDescendingBig(
             u"Indic Grouping, Min 2",
             u"group-min2",
+            u",?",
             NumberFormatter::with().grouping(UNUM_GROUPING_MIN2),
             Locale("en-IN"),
             u"8,76,50,000",
@@ -1353,6 +1505,7 @@ void NumberFormatterApiTest::grouping() {
     assertFormatDescendingBig(
             u"No Grouping",
             u"group-off",
+            u",_",
             NumberFormatter::with().grouping(UNUM_GROUPING_OFF),
             Locale("en-IN"),
             u"87650000",
@@ -1368,6 +1521,7 @@ void NumberFormatterApiTest::grouping() {
     assertFormatDescendingBig(
             u"Indic locale with THOUSANDS grouping",
             u"group-thousands",
+            u"group-thousands",
             NumberFormatter::with().grouping(UNUM_GROUPING_THOUSANDS),
             Locale("en-IN"),
             u"87,650,000",
@@ -1386,6 +1540,7 @@ void NumberFormatterApiTest::grouping() {
     assertFormatDescendingBig(
             u"Polish Grouping",
             u"group-auto",
+            u"",
             NumberFormatter::with().grouping(UNUM_GROUPING_AUTO),
             Locale("pl"),
             u"87 650 000",
@@ -1401,6 +1556,7 @@ void NumberFormatterApiTest::grouping() {
     assertFormatDescendingBig(
             u"Polish Grouping, Min 2",
             u"group-min2",
+            u",?",
             NumberFormatter::with().grouping(UNUM_GROUPING_MIN2),
             Locale("pl"),
             u"87 650 000",
@@ -1416,6 +1572,7 @@ void NumberFormatterApiTest::grouping() {
     assertFormatDescendingBig(
             u"Polish Grouping, Always",
             u"group-on-aligned",
+            u",!",
             NumberFormatter::with().grouping(UNUM_GROUPING_ON_ALIGNED),
             Locale("pl"),
             u"87 650 000",
@@ -1433,6 +1590,7 @@ void NumberFormatterApiTest::grouping() {
     assertFormatDescendingBig(
             u"Bulgarian Currency Grouping",
             u"currency/USD group-auto",
+            u"currency/USD",
             NumberFormatter::with().grouping(UNUM_GROUPING_AUTO).unit(USD),
             Locale("bg"),
             u"87650000,00 щ.д.",
@@ -1448,6 +1606,7 @@ void NumberFormatterApiTest::grouping() {
     assertFormatDescendingBig(
             u"Bulgarian Currency Grouping, Always",
             u"currency/USD group-on-aligned",
+            u"currency/USD ,!",
             NumberFormatter::with().grouping(UNUM_GROUPING_ON_ALIGNED).unit(USD),
             Locale("bg"),
             u"87 650 000,00 щ.д.",
@@ -1465,6 +1624,7 @@ void NumberFormatterApiTest::grouping() {
     assertFormatDescendingBig(
             u"Custom Grouping via Internal API",
             nullptr,
+            nullptr,
             NumberFormatter::with().macros(macros),
             Locale::getEnglish(),
             u"8,7,6,5,0000",
@@ -1482,6 +1642,7 @@ void NumberFormatterApiTest::padding() {
     assertFormatDescending(
             u"Padding",
             nullptr,
+            nullptr,
             NumberFormatter::with().padding(Padder::none()),
             Locale::getEnglish(),
             u"87,650",
@@ -1497,6 +1658,7 @@ void NumberFormatterApiTest::padding() {
     assertFormatDescending(
             u"Padding",
             nullptr,
+            nullptr,
             NumberFormatter::with().padding(
                     Padder::codePoints(
                             '*', 8, PadPosition::UNUM_PAD_AFTER_PREFIX)),
@@ -1514,6 +1676,7 @@ void NumberFormatterApiTest::padding() {
     assertFormatDescending(
             u"Padding with code points",
             nullptr,
+            nullptr,
             NumberFormatter::with().padding(
                     Padder::codePoints(
                             0x101E4, 8, PadPosition::UNUM_PAD_AFTER_PREFIX)),
@@ -1531,6 +1694,7 @@ void NumberFormatterApiTest::padding() {
     assertFormatDescending(
             u"Padding with wide digits",
             nullptr,
+            nullptr,
             NumberFormatter::with().padding(
                             Padder::codePoints(
                                     '*', 8, PadPosition::UNUM_PAD_AFTER_PREFIX))
@@ -1549,6 +1713,7 @@ void NumberFormatterApiTest::padding() {
     assertFormatDescending(
             u"Padding with currency spacing",
             nullptr,
+            nullptr,
             NumberFormatter::with().padding(
                             Padder::codePoints(
                                     '*', 10, PadPosition::UNUM_PAD_AFTER_PREFIX))
@@ -1568,6 +1733,7 @@ void NumberFormatterApiTest::padding() {
     assertFormatSingle(
             u"Pad Before Prefix",
             nullptr,
+            nullptr,
             NumberFormatter::with().padding(
                     Padder::codePoints(
                             '*', 8, PadPosition::UNUM_PAD_BEFORE_PREFIX)),
@@ -1578,6 +1744,7 @@ void NumberFormatterApiTest::padding() {
     assertFormatSingle(
             u"Pad After Prefix",
             nullptr,
+            nullptr,
             NumberFormatter::with().padding(
                     Padder::codePoints(
                             '*', 8, PadPosition::UNUM_PAD_AFTER_PREFIX)),
@@ -1588,6 +1755,7 @@ void NumberFormatterApiTest::padding() {
     assertFormatSingle(
             u"Pad Before Suffix",
             nullptr,
+            nullptr,
             NumberFormatter::with().padding(
                     Padder::codePoints(
                             '*', 8, PadPosition::UNUM_PAD_BEFORE_SUFFIX)).unit(NoUnit::percent()),
@@ -1598,6 +1766,7 @@ void NumberFormatterApiTest::padding() {
     assertFormatSingle(
             u"Pad After Suffix",
             nullptr,
+            nullptr,
             NumberFormatter::with().padding(
                     Padder::codePoints(
                             '*', 8, PadPosition::UNUM_PAD_AFTER_SUFFIX)).unit(NoUnit::percent()),
@@ -1608,6 +1777,7 @@ void NumberFormatterApiTest::padding() {
     assertFormatSingle(
             u"Currency Spacing with Zero Digit Padding Broken",
             nullptr,
+            nullptr,
             NumberFormatter::with().padding(
                             Padder::codePoints(
                                     '0', 12, PadPosition::UNUM_PAD_AFTER_PREFIX))
@@ -1622,6 +1792,7 @@ void NumberFormatterApiTest::integerWidth() {
     assertFormatDescending(
             u"Integer Width Default",
             u"integer-width/+0",
+            u"0",
             NumberFormatter::with().integerWidth(IntegerWidth::zeroFillTo(1)),
             Locale::getEnglish(),
             u"87,650",
@@ -1636,6 +1807,7 @@ void NumberFormatterApiTest::integerWidth() {
 
     assertFormatDescending(
             u"Integer Width Zero Fill 0",
+            u"integer-width/*",
             u"integer-width/+",
             NumberFormatter::with().integerWidth(IntegerWidth::zeroFillTo(0)),
             Locale::getEnglish(),
@@ -1647,11 +1819,12 @@ void NumberFormatterApiTest::integerWidth() {
             u".8765",
             u".08765",
             u".008765",
-            u""); // TODO: Avoid the empty string here?
+            u"0");  // see ICU-20844
 
     assertFormatDescending(
             u"Integer Width Zero Fill 3",
             u"integer-width/+000",
+            u"000",
             NumberFormatter::with().integerWidth(IntegerWidth::zeroFillTo(3)),
             Locale::getEnglish(),
             u"87,650",
@@ -1667,6 +1840,7 @@ void NumberFormatterApiTest::integerWidth() {
     assertFormatDescending(
             u"Integer Width Max 3",
             u"integer-width/##0",
+            u"integer-width/##0",
             NumberFormatter::with().integerWidth(IntegerWidth::zeroFillTo(1).truncateAt(3)),
             Locale::getEnglish(),
             u"650",
@@ -1682,6 +1856,7 @@ void NumberFormatterApiTest::integerWidth() {
     assertFormatDescending(
             u"Integer Width Fixed 2",
             u"integer-width/00",
+            u"integer-width/00",
             NumberFormatter::with().integerWidth(IntegerWidth::zeroFillTo(2).truncateAt(2)),
             Locale::getEnglish(),
             u"50",
@@ -1694,9 +1869,64 @@ void NumberFormatterApiTest::integerWidth() {
             u"00.008765",
             u"00");
 
+    assertFormatDescending(
+            u"Integer Width Compact",
+            u"compact-short integer-width/000",
+            u"compact-short integer-width/000",
+            NumberFormatter::with()
+                .notation(Notation::compactShort())
+                .integerWidth(IntegerWidth::zeroFillTo(3).truncateAt(3)),
+            Locale::getEnglish(),
+            u"088K",
+            u"008.8K",
+            u"876",
+            u"088",
+            u"008.8",
+            u"000.88",
+            u"000.088",
+            u"000.0088",
+            u"000");
+
+    assertFormatDescending(
+            u"Integer Width Scientific",
+            u"scientific integer-width/000",
+            u"scientific integer-width/000",
+            NumberFormatter::with()
+                .notation(Notation::scientific())
+                .integerWidth(IntegerWidth::zeroFillTo(3).truncateAt(3)),
+            Locale::getEnglish(),
+            u"008.765E4",
+            u"008.765E3",
+            u"008.765E2",
+            u"008.765E1",
+            u"008.765E0",
+            u"008.765E-1",
+            u"008.765E-2",
+            u"008.765E-3",
+            u"000E0");
+
+    assertFormatDescending(
+            u"Integer Width Engineering",
+            u"engineering integer-width/000",
+            u"engineering integer-width/000",
+            NumberFormatter::with()
+                .notation(Notation::engineering())
+                .integerWidth(IntegerWidth::zeroFillTo(3).truncateAt(3)),
+            Locale::getEnglish(),
+            u"087.65E3",
+            u"008.765E3",
+            u"876.5E0",
+            u"087.65E0",
+            u"008.765E0",
+            u"876.5E-3",
+            u"087.65E-3",
+            u"008.765E-3",
+            u"000E0");
+
     assertFormatSingle(
             u"Integer Width Remove All A",
             u"integer-width/00",
+            u"integer-width/00",
             NumberFormatter::with().integerWidth(IntegerWidth::zeroFillTo(2).truncateAt(2)),
             "en",
             2500,
@@ -1705,6 +1935,7 @@ void NumberFormatterApiTest::integerWidth() {
     assertFormatSingle(
             u"Integer Width Remove All B",
             u"integer-width/00",
+            u"integer-width/00",
             NumberFormatter::with().integerWidth(IntegerWidth::zeroFillTo(2).truncateAt(2)),
             "en",
             25000,
@@ -1713,6 +1944,7 @@ void NumberFormatterApiTest::integerWidth() {
     assertFormatSingle(
             u"Integer Width Remove All B, Bytes Mode",
             u"integer-width/00",
+            u"integer-width/00",
             NumberFormatter::with().integerWidth(IntegerWidth::zeroFillTo(2).truncateAt(2)),
             "en",
             // Note: this double produces all 17 significant digits
@@ -1724,6 +1956,7 @@ void NumberFormatterApiTest::symbols() {
     assertFormatDescending(
             u"French Symbols with Japanese Data 1",
             nullptr,
+            nullptr,
             NumberFormatter::with().symbols(FRENCH_SYMBOLS),
             Locale::getJapan(),
             u"87\u202F650",
@@ -1739,6 +1972,7 @@ void NumberFormatterApiTest::symbols() {
     assertFormatSingle(
             u"French Symbols with Japanese Data 2",
             nullptr,
+            nullptr,
             NumberFormatter::with().notation(Notation::compactShort()).symbols(FRENCH_SYMBOLS),
             Locale::getJapan(),
             12345,
@@ -1747,6 +1981,7 @@ void NumberFormatterApiTest::symbols() {
     assertFormatDescending(
             u"Latin Numbering System with Arabic Data",
             u"currency/USD latin",
+            u"currency/USD latin",
             NumberFormatter::with().adoptSymbols(new NumberingSystem(LATN)).unit(USD),
             Locale("ar"),
             u"US$ 87,650.00",
@@ -1762,6 +1997,7 @@ void NumberFormatterApiTest::symbols() {
     assertFormatDescending(
             u"Math Numbering System with French Data",
             u"numbering-system/mathsanb",
+            u"numbering-system/mathsanb",
             NumberFormatter::with().adoptSymbols(new NumberingSystem(MATHSANB)),
             Locale::getFrench(),
             u"𝟴𝟳\u202F𝟲𝟱𝟬",
@@ -1777,6 +2013,7 @@ void NumberFormatterApiTest::symbols() {
     assertFormatSingle(
             u"Swiss Symbols (used in documentation)",
             nullptr,
+            nullptr,
             NumberFormatter::with().symbols(SWISS_SYMBOLS),
             Locale::getEnglish(),
             12345.67,
@@ -1785,6 +2022,7 @@ void NumberFormatterApiTest::symbols() {
     assertFormatSingle(
             u"Myanmar Symbols (used in documentation)",
             nullptr,
+            nullptr,
             NumberFormatter::with().symbols(MYANMAR_SYMBOLS),
             Locale::getEnglish(),
             12345.67,
@@ -1795,6 +2033,7 @@ void NumberFormatterApiTest::symbols() {
     assertFormatSingle(
             u"Currency symbol should precede number in ar with NS latn",
             u"currency/USD latin",
+            u"currency/USD latin",
             NumberFormatter::with().adoptSymbols(new NumberingSystem(LATN)).unit(USD),
             Locale("ar"),
             12345.67,
@@ -1803,6 +2042,7 @@ void NumberFormatterApiTest::symbols() {
     assertFormatSingle(
             u"Currency symbol should precede number in ar@numbers=latn",
             u"currency/USD",
+            u"currency/USD",
             NumberFormatter::with().unit(USD),
             Locale("ar@numbers=latn"),
             12345.67,
@@ -1811,6 +2051,7 @@ void NumberFormatterApiTest::symbols() {
     assertFormatSingle(
             u"Currency symbol should follow number in ar-EG with NS arab",
             u"currency/USD",
+            u"currency/USD",
             NumberFormatter::with().unit(USD),
             Locale("ar-EG"),
             12345.67,
@@ -1819,6 +2060,7 @@ void NumberFormatterApiTest::symbols() {
     assertFormatSingle(
             u"Currency symbol should follow number in ar@numbers=arab",
             u"currency/USD",
+            u"currency/USD",
             NumberFormatter::with().unit(USD),
             Locale("ar@numbers=arab"),
             12345.67,
@@ -1827,6 +2069,7 @@ void NumberFormatterApiTest::symbols() {
     assertFormatSingle(
             u"NumberingSystem in API should win over @numbers keyword",
             u"currency/USD latin",
+            u"currency/USD latin",
             NumberFormatter::with().adoptSymbols(new NumberingSystem(LATN)).unit(USD),
             Locale("ar@numbers=arab"),
             12345.67,
@@ -1845,11 +2088,18 @@ void NumberFormatterApiTest::symbols() {
     UnlocalizedNumberFormatter f = NumberFormatter::with().symbols(symbols);
     symbols.setSymbol(DecimalFormatSymbols::ENumberFormatSymbol::kGroupingSeparatorSymbol, u"!", status);
     assertFormatSingle(
-            u"Symbols object should be copied", nullptr, f, Locale::getEnglish(), 12345.67, u"12’345.67");
+            u"Symbols object should be copied",
+            nullptr,
+            nullptr,
+            f,
+            Locale::getEnglish(),
+            12345.67,
+            u"12’345.67");
 
     assertFormatSingle(
             u"The last symbols setter wins",
             u"latin",
+            u"latin",
             NumberFormatter::with().symbols(symbols).adoptSymbols(new NumberingSystem(LATN)),
             Locale::getEnglish(),
             12345.67,
@@ -1858,6 +2108,7 @@ void NumberFormatterApiTest::symbols() {
     assertFormatSingle(
             u"The last symbols setter wins",
             nullptr,
+            nullptr,
             NumberFormatter::with().adoptSymbols(new NumberingSystem(LATN)).symbols(symbols),
             Locale::getEnglish(),
             12345.67,
@@ -1881,6 +2132,7 @@ void NumberFormatterApiTest::sign() {
     assertFormatSingle(
             u"Sign Auto Positive",
             u"sign-auto",
+            u"",
             NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_AUTO),
             Locale::getEnglish(),
             444444,
@@ -1889,6 +2141,7 @@ void NumberFormatterApiTest::sign() {
     assertFormatSingle(
             u"Sign Auto Negative",
             u"sign-auto",
+            u"",
             NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_AUTO),
             Locale::getEnglish(),
             -444444,
@@ -1897,6 +2150,7 @@ void NumberFormatterApiTest::sign() {
     assertFormatSingle(
             u"Sign Auto Zero",
             u"sign-auto",
+            u"",
             NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_AUTO),
             Locale::getEnglish(),
             0,
@@ -1905,6 +2159,7 @@ void NumberFormatterApiTest::sign() {
     assertFormatSingle(
             u"Sign Always Positive",
             u"sign-always",
+            u"+!",
             NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_ALWAYS),
             Locale::getEnglish(),
             444444,
@@ -1913,6 +2168,7 @@ void NumberFormatterApiTest::sign() {
     assertFormatSingle(
             u"Sign Always Negative",
             u"sign-always",
+            u"+!",
             NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_ALWAYS),
             Locale::getEnglish(),
             -444444,
@@ -1921,6 +2177,7 @@ void NumberFormatterApiTest::sign() {
     assertFormatSingle(
             u"Sign Always Zero",
             u"sign-always",
+            u"+!",
             NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_ALWAYS),
             Locale::getEnglish(),
             0,
@@ -1929,6 +2186,7 @@ void NumberFormatterApiTest::sign() {
     assertFormatSingle(
             u"Sign Never Positive",
             u"sign-never",
+            u"+_",
             NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_NEVER),
             Locale::getEnglish(),
             444444,
@@ -1937,6 +2195,7 @@ void NumberFormatterApiTest::sign() {
     assertFormatSingle(
             u"Sign Never Negative",
             u"sign-never",
+            u"+_",
             NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_NEVER),
             Locale::getEnglish(),
             -444444,
@@ -1945,6 +2204,7 @@ void NumberFormatterApiTest::sign() {
     assertFormatSingle(
             u"Sign Never Zero",
             u"sign-never",
+            u"+_",
             NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_NEVER),
             Locale::getEnglish(),
             0,
@@ -1953,6 +2213,7 @@ void NumberFormatterApiTest::sign() {
     assertFormatSingle(
             u"Sign Accounting Positive",
             u"currency/USD sign-accounting",
+            u"currency/USD ()",
             NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_ACCOUNTING).unit(USD),
             Locale::getEnglish(),
             444444,
@@ -1961,6 +2222,7 @@ void NumberFormatterApiTest::sign() {
     assertFormatSingle(
             u"Sign Accounting Negative",
             u"currency/USD sign-accounting",
+            u"currency/USD ()",
             NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_ACCOUNTING).unit(USD),
             Locale::getEnglish(),
             -444444,
@@ -1969,6 +2231,7 @@ void NumberFormatterApiTest::sign() {
     assertFormatSingle(
             u"Sign Accounting Zero",
             u"currency/USD sign-accounting",
+            u"currency/USD ()",
             NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_ACCOUNTING).unit(USD),
             Locale::getEnglish(),
             0,
@@ -1977,6 +2240,7 @@ void NumberFormatterApiTest::sign() {
     assertFormatSingle(
             u"Sign Accounting-Always Positive",
             u"currency/USD sign-accounting-always",
+            u"currency/USD ()!",
             NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_ACCOUNTING_ALWAYS).unit(USD),
             Locale::getEnglish(),
             444444,
@@ -1985,6 +2249,7 @@ void NumberFormatterApiTest::sign() {
     assertFormatSingle(
             u"Sign Accounting-Always Negative",
             u"currency/USD sign-accounting-always",
+            u"currency/USD ()!",
             NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_ACCOUNTING_ALWAYS).unit(USD),
             Locale::getEnglish(),
             -444444,
@@ -1993,6 +2258,7 @@ void NumberFormatterApiTest::sign() {
     assertFormatSingle(
             u"Sign Accounting-Always Zero",
             u"currency/USD sign-accounting-always",
+            u"currency/USD ()!",
             NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_ACCOUNTING_ALWAYS).unit(USD),
             Locale::getEnglish(),
             0,
@@ -2001,6 +2267,7 @@ void NumberFormatterApiTest::sign() {
     assertFormatSingle(
             u"Sign Except-Zero Positive",
             u"sign-except-zero",
+            u"+?",
             NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_EXCEPT_ZERO),
             Locale::getEnglish(),
             444444,
@@ -2009,6 +2276,7 @@ void NumberFormatterApiTest::sign() {
     assertFormatSingle(
             u"Sign Except-Zero Negative",
             u"sign-except-zero",
+            u"+?",
             NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_EXCEPT_ZERO),
             Locale::getEnglish(),
             -444444,
@@ -2017,6 +2285,7 @@ void NumberFormatterApiTest::sign() {
     assertFormatSingle(
             u"Sign Except-Zero Zero",
             u"sign-except-zero",
+            u"+?",
             NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_EXCEPT_ZERO),
             Locale::getEnglish(),
             0,
@@ -2025,6 +2294,7 @@ void NumberFormatterApiTest::sign() {
     assertFormatSingle(
             u"Sign Accounting-Except-Zero Positive",
             u"currency/USD sign-accounting-except-zero",
+            u"currency/USD ()?",
             NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_ACCOUNTING_EXCEPT_ZERO).unit(USD),
             Locale::getEnglish(),
             444444,
@@ -2033,6 +2303,7 @@ void NumberFormatterApiTest::sign() {
     assertFormatSingle(
             u"Sign Accounting-Except-Zero Negative",
             u"currency/USD sign-accounting-except-zero",
+            u"currency/USD ()?",
             NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_ACCOUNTING_EXCEPT_ZERO).unit(USD),
             Locale::getEnglish(),
             -444444,
@@ -2041,6 +2312,7 @@ void NumberFormatterApiTest::sign() {
     assertFormatSingle(
             u"Sign Accounting-Except-Zero Zero",
             u"currency/USD sign-accounting-except-zero",
+            u"currency/USD ()?",
             NumberFormatter::with().sign(UNumberSignDisplay::UNUM_SIGN_ACCOUNTING_EXCEPT_ZERO).unit(USD),
             Locale::getEnglish(),
             0,
@@ -2049,6 +2321,7 @@ void NumberFormatterApiTest::sign() {
     assertFormatSingle(
             u"Sign Accounting Negative Hidden",
             u"currency/USD unit-width-hidden sign-accounting",
+            u"currency/USD unit-width-hidden ()",
             NumberFormatter::with()
                     .sign(UNumberSignDisplay::UNUM_SIGN_ACCOUNTING)
                     .unit(USD)
@@ -2060,6 +2333,7 @@ void NumberFormatterApiTest::sign() {
     assertFormatSingle(
             u"Sign Accounting Negative Narrow",
             u"currency/USD unit-width-narrow sign-accounting",
+            u"currency/USD unit-width-narrow ()",
             NumberFormatter::with()
                 .sign(UNumberSignDisplay::UNUM_SIGN_ACCOUNTING)
                 .unit(USD)
@@ -2071,6 +2345,7 @@ void NumberFormatterApiTest::sign() {
     assertFormatSingle(
             u"Sign Accounting Negative Short",
             u"currency/USD sign-accounting",
+            u"currency/USD ()",
             NumberFormatter::with()
                 .sign(UNumberSignDisplay::UNUM_SIGN_ACCOUNTING)
                 .unit(USD)
@@ -2082,6 +2357,7 @@ void NumberFormatterApiTest::sign() {
     assertFormatSingle(
             u"Sign Accounting Negative Iso Code",
             u"currency/USD unit-width-iso-code sign-accounting",
+            u"currency/USD unit-width-iso-code ()",
             NumberFormatter::with()
                 .sign(UNumberSignDisplay::UNUM_SIGN_ACCOUNTING)
                 .unit(USD)
@@ -2095,6 +2371,7 @@ void NumberFormatterApiTest::sign() {
     assertFormatSingle(
             u"Sign Accounting Negative Full Name",
             u"currency/USD unit-width-full-name sign-accounting",
+            u"currency/USD unit-width-full-name ()",
             NumberFormatter::with()
                 .sign(UNumberSignDisplay::UNUM_SIGN_ACCOUNTING)
                 .unit(USD)
@@ -2104,6 +2381,49 @@ void NumberFormatterApiTest::sign() {
             u"-444,444.00 US dollars");
 }
 
+void NumberFormatterApiTest::signNearZero() {
+    // https://unicode-org.atlassian.net/browse/ICU-20709
+    IcuTestErrorCode status(*this, "signNearZero");
+    const struct TestCase {
+        UNumberSignDisplay sign;
+        double input;
+        const char16_t* expected;
+    } cases[] = {
+        { UNUM_SIGN_AUTO,  1.1, u"1" },
+        { UNUM_SIGN_AUTO,  0.9, u"1" },
+        { UNUM_SIGN_AUTO,  0.1, u"0" },
+        { UNUM_SIGN_AUTO, -0.1, u"-0" }, // interesting case
+        { UNUM_SIGN_AUTO, -0.9, u"-1" },
+        { UNUM_SIGN_AUTO, -1.1, u"-1" },
+        { UNUM_SIGN_ALWAYS,  1.1, u"+1" },
+        { UNUM_SIGN_ALWAYS,  0.9, u"+1" },
+        { UNUM_SIGN_ALWAYS,  0.1, u"+0" },
+        { UNUM_SIGN_ALWAYS, -0.1, u"-0" },
+        { UNUM_SIGN_ALWAYS, -0.9, u"-1" },
+        { UNUM_SIGN_ALWAYS, -1.1, u"-1" },
+        { UNUM_SIGN_EXCEPT_ZERO,  1.1, u"+1" },
+        { UNUM_SIGN_EXCEPT_ZERO,  0.9, u"+1" },
+        { UNUM_SIGN_EXCEPT_ZERO,  0.1, u"0" }, // interesting case
+        { UNUM_SIGN_EXCEPT_ZERO, -0.1, u"0" }, // interesting case
+        { UNUM_SIGN_EXCEPT_ZERO, -0.9, u"-1" },
+        { UNUM_SIGN_EXCEPT_ZERO, -1.1, u"-1" },
+    };
+    for (auto& cas : cases) {
+        auto sign = cas.sign;
+        auto input = cas.input;
+        auto expected = cas.expected;
+        auto actual = NumberFormatter::with()
+            .sign(sign)
+            .precision(Precision::integer())
+            .locale(Locale::getUS())
+            .formatDouble(input, status)
+            .toString(status);
+        assertEquals(
+            DoubleToUnicodeString(input) + " @ SignDisplay " + Int64ToUnicodeString(sign),
+            expected, actual);
+    }
+}
+
 void NumberFormatterApiTest::signCoverage() {
     // https://unicode-org.atlassian.net/browse/ICU-20708
     IcuTestErrorCode status(*this, "signCoverage");
@@ -2114,7 +2434,7 @@ void NumberFormatterApiTest::signCoverage() {
         { UNUM_SIGN_AUTO, {        u"-∞", u"-1", u"-0",  u"0",  u"1",  u"∞",  u"NaN", u"-NaN" } },
         { UNUM_SIGN_ALWAYS, {      u"-∞", u"-1", u"-0", u"+0", u"+1", u"+∞", u"+NaN", u"-NaN" } },
         { UNUM_SIGN_NEVER, {        u"∞",  u"1",  u"0",  u"0",  u"1",  u"∞",  u"NaN",  u"NaN" } },
-        { UNUM_SIGN_EXCEPT_ZERO, { u"-∞", u"-1", u"-0",  u"0", u"+1", u"+∞",  u"NaN", u"-NaN" } },
+        { UNUM_SIGN_EXCEPT_ZERO, { u"-∞", u"-1",  u"0",  u"0", u"+1", u"+∞",  u"NaN",  u"NaN" } },
     };
     double negNaN = std::copysign(uprv_getNaN(), -0.0);
     const double inputs[] = {
@@ -2141,6 +2461,7 @@ void NumberFormatterApiTest::decimal() {
     assertFormatDescending(
             u"Decimal Default",
             u"decimal-auto",
+            u"",
             NumberFormatter::with().decimal(UNumberDecimalSeparatorDisplay::UNUM_DECIMAL_SEPARATOR_AUTO),
             Locale::getEnglish(),
             u"87,650",
@@ -2156,6 +2477,7 @@ void NumberFormatterApiTest::decimal() {
     assertFormatDescending(
             u"Decimal Always Shown",
             u"decimal-always",
+            u"decimal-always",
             NumberFormatter::with().decimal(UNumberDecimalSeparatorDisplay::UNUM_DECIMAL_SEPARATOR_ALWAYS),
             Locale::getEnglish(),
             u"87,650.",
@@ -2173,6 +2495,7 @@ void NumberFormatterApiTest::scale() {
     assertFormatDescending(
             u"Multiplier None",
             u"scale/1",
+            u"",
             NumberFormatter::with().scale(Scale::none()),
             Locale::getEnglish(),
             u"87,650",
@@ -2188,6 +2511,7 @@ void NumberFormatterApiTest::scale() {
     assertFormatDescending(
             u"Multiplier Power of Ten",
             u"scale/1000000",
+            u"scale/1E6",
             NumberFormatter::with().scale(Scale::powerOfTen(6)),
             Locale::getEnglish(),
             u"87,650,000,000",
@@ -2203,6 +2527,7 @@ void NumberFormatterApiTest::scale() {
     assertFormatDescending(
             u"Multiplier Arbitrary Double",
             u"scale/5.2",
+            u"scale/5.2",
             NumberFormatter::with().scale(Scale::byDouble(5.2)),
             Locale::getEnglish(),
             u"455,780",
@@ -2218,6 +2543,7 @@ void NumberFormatterApiTest::scale() {
     assertFormatDescending(
             u"Multiplier Arbitrary BigDecimal",
             u"scale/5.2",
+            u"scale/5.2",
             NumberFormatter::with().scale(Scale::byDecimal({"5.2", -1})),
             Locale::getEnglish(),
             u"455,780",
@@ -2233,6 +2559,7 @@ void NumberFormatterApiTest::scale() {
     assertFormatDescending(
             u"Multiplier Arbitrary Double And Power Of Ten",
             u"scale/5200",
+            u"scale/5200",
             NumberFormatter::with().scale(Scale::byDoubleAndPowerOfTen(5.2, 3)),
             Locale::getEnglish(),
             u"455,780,000",
@@ -2248,6 +2575,7 @@ void NumberFormatterApiTest::scale() {
     assertFormatDescending(
             u"Multiplier Zero",
             u"scale/0",
+            u"scale/0",
             NumberFormatter::with().scale(Scale::byDouble(0)),
             Locale::getEnglish(),
             u"0",
@@ -2263,6 +2591,7 @@ void NumberFormatterApiTest::scale() {
     assertFormatSingle(
             u"Multiplier Skeleton Scientific Notation and Percent",
             u"percent scale/1E2",
+            u"%x100",
             NumberFormatter::with().unit(NoUnit::percent()).scale(Scale::powerOfTen(2)),
             Locale::getEnglish(),
             0.5,
@@ -2271,6 +2600,7 @@ void NumberFormatterApiTest::scale() {
     assertFormatSingle(
             u"Negative Multiplier",
             u"scale/-5.2",
+            u"scale/-5.2",
             NumberFormatter::with().scale(Scale::byDouble(-5.2)),
             Locale::getEnglish(),
             2,
@@ -2279,6 +2609,7 @@ void NumberFormatterApiTest::scale() {
     assertFormatSingle(
             u"Negative One Multiplier",
             u"scale/-1",
+            u"scale/-1",
             NumberFormatter::with().scale(Scale::byDouble(-1)),
             Locale::getEnglish(),
             444444,
@@ -2287,6 +2618,7 @@ void NumberFormatterApiTest::scale() {
     assertFormatSingle(
             u"Two-Type Multiplier with Overlap",
             u"scale/10000",
+            u"scale/1E4",
             NumberFormatter::with().scale(Scale::byDoubleAndPowerOfTen(100, 2)),
             Locale::getEnglish(),
             2,
@@ -2307,29 +2639,30 @@ void NumberFormatterApiTest::skeletonUserGuideExamples() {
     // Test the skeleton examples in userguide/format_parse/numbers/skeletons.md
     struct TestCase {
         const char16_t* skeleton;
+        const char16_t* conciseSkeleton;
         double input;
         const char16_t* expected;
     } cases[] = {
-        {u"percent", 25, u"25%"},
-        {u".00", 25, u"25.00"},
-        {u"percent .00", 25, u"25.00%"},
-        {u"scale/100", 0.3, u"30"},
-        {u"percent scale/100", 0.3, u"30%"},
-        {u"measure-unit/length-meter", 5, u"5 m"},
-        {u"measure-unit/length-meter unit-width-full-name", 5, u"5 meters"},
-        {u"currency/CAD", 10, u"CA$10.00"},
-        {u"currency/CAD unit-width-narrow", 10, u"$10.00"},
-        {u"compact-short", 5000, u"5K"},
-        {u"compact-long", 5000, u"5 thousand"},
-        {u"compact-short currency/CAD", 5000, u"CA$5K"},
-        {u"", 5000, u"5,000"},
-        {u"group-min2", 5000, u"5000"},
-        {u"group-min2", 15000, u"15,000"},
-        {u"sign-always", 60, u"+60"},
-        {u"sign-always", 0, u"+0"},
-        {u"sign-except-zero", 60, u"+60"},
-        {u"sign-except-zero", 0, u"0"},
-        {u"sign-accounting currency/CAD", -40, u"(CA$40.00)"}
+        {u"percent", u"%", 25, u"25%"},
+        {u".00", u".00", 25, u"25.00"},
+        {u"percent .00", u"% .00", 25, u"25.00%"},
+        {u"scale/100", u"scale/100", 0.3, u"30"},
+        {u"percent scale/100", u"%x100", 0.3, u"30%"},
+        {u"measure-unit/length-meter", u"unit/meter", 5, u"5 m"},
+        {u"measure-unit/length-meter unit-width-full-name", u"unit/meter unit-width-full-name", 5, u"5 meters"},
+        {u"currency/CAD", u"currency/CAD", 10, u"CA$10.00"},
+        {u"currency/CAD unit-width-narrow", u"currency/CAD unit-width-narrow", 10, u"$10.00"},
+        {u"compact-short", u"K", 5000, u"5K"},
+        {u"compact-long", u"KK", 5000, u"5 thousand"},
+        {u"compact-short currency/CAD", u"K currency/CAD", 5000, u"CA$5K"},
+        {u"", u"", 5000, u"5,000"},
+        {u"group-min2", u",?", 5000, u"5000"},
+        {u"group-min2", u",?", 15000, u"15,000"},
+        {u"sign-always", u"+!", 60, u"+60"},
+        {u"sign-always", u"+!", 0, u"+0"},
+        {u"sign-except-zero", u"+?", 60, u"+60"},
+        {u"sign-except-zero", u"+?", 0, u"0"},
+        {u"sign-accounting currency/CAD", u"() currency/CAD", -40, u"(CA$40.00)"}
     };
 
     for (const auto& cas : cases) {
@@ -2339,6 +2672,11 @@ void NumberFormatterApiTest::skeletonUserGuideExamples() {
             .formatDouble(cas.input, status);
         assertEquals(cas.skeleton, cas.expected, actual.toTempString(status));
         status.errIfFailureAndReset();
+        FormattedNumber actualConcise = NumberFormatter::forSkeleton(cas.conciseSkeleton, status)
+            .locale("en-US")
+            .formatDouble(cas.input, status);
+        assertEquals(cas.conciseSkeleton, cas.expected, actualConcise.toTempString(status));
+        status.errIfFailureAndReset();
     }
 }
 
@@ -2372,6 +2710,7 @@ void NumberFormatterApiTest::fieldPositionLogic() {
     FormattedNumber fmtd = assertFormatSingle(
             message,
             u"",
+            u"",
             NumberFormatter::with(),
             Locale::getEnglish(),
             -9876543210.12,
@@ -2394,9 +2733,10 @@ void NumberFormatterApiTest::fieldPositionLogic() {
             UPRV_LENGTHOF(expectedFieldPositions));
 
     // Test the iteration functionality of nextFieldPosition
-    FieldPosition actual = {UNUM_GROUPING_SEPARATOR_FIELD};
+    ConstrainedFieldPosition actual;
+    actual.constrainField(UFIELD_CATEGORY_NUMBER, UNUM_GROUPING_SEPARATOR_FIELD);
     int32_t i = 1;
-    while (fmtd.nextFieldPosition(actual, status)) {
+    while (fmtd.nextPosition(actual, status)) {
         UFieldPosition expected = expectedFieldPositions[i++];
         assertEquals(
                 UnicodeString(u"Next for grouping, field, case #") + Int64ToUnicodeString(i),
@@ -2405,18 +2745,19 @@ void NumberFormatterApiTest::fieldPositionLogic() {
         assertEquals(
                 UnicodeString(u"Next for grouping, begin index, case #") + Int64ToUnicodeString(i),
                 expected.beginIndex,
-                actual.getBeginIndex());
+                actual.getStart());
         assertEquals(
                 UnicodeString(u"Next for grouping, end index, case #") + Int64ToUnicodeString(i),
                 expected.endIndex,
-                actual.getEndIndex());
+                actual.getLimit());
     }
     assertEquals(u"Should have seen all grouping separators", 4, i);
 
     // Make sure strings without fraction do not contain fraction field
-    actual = {UNUM_FRACTION_FIELD};
+    actual.reset();
+    actual.constrainField(UFIELD_CATEGORY_NUMBER, UNUM_FRACTION_FIELD);
     fmtd = NumberFormatter::withLocale("en").formatInt(5, status);
-    assertFalse(u"No fraction part in an integer", fmtd.nextFieldPosition(actual, status));
+    assertFalse(u"No fraction part in an integer", fmtd.nextPosition(actual, status));
 }
 
 void NumberFormatterApiTest::fieldPositionCoverage() {
@@ -2427,6 +2768,7 @@ void NumberFormatterApiTest::fieldPositionCoverage() {
         FormattedNumber result = assertFormatSingle(
                 message,
                 u"measure-unit/temperature-fahrenheit",
+                u"unit/fahrenheit",
                 NumberFormatter::with().unit(FAHRENHEIT),
                 Locale::getEnglish(),
                 68,
@@ -2447,6 +2789,7 @@ void NumberFormatterApiTest::fieldPositionCoverage() {
         FormattedNumber result = assertFormatSingle(
                 message,
                 u"measure-unit/temperature-fahrenheit per-measure-unit/duration-day",
+                u"unit/fahrenheit-per-day",
                 NumberFormatter::with().unit(FAHRENHEIT).perUnit(DAY),
                 Locale::getEnglish(),
                 68,
@@ -2468,6 +2811,7 @@ void NumberFormatterApiTest::fieldPositionCoverage() {
         FormattedNumber result = assertFormatSingle(
                 message,
                 u"measure-unit/length-meter unit-width-full-name",
+                u"unit/meter unit-width-full-name",
                 NumberFormatter::with().unit(METER).unitWidth(UNUM_UNIT_WIDTH_FULL_NAME),
                 Locale::getEnglish(),
                 68,
@@ -2489,6 +2833,7 @@ void NumberFormatterApiTest::fieldPositionCoverage() {
         FormattedNumber result = assertFormatSingle(
                 message,
                 u"measure-unit/length-meter per-measure-unit/duration-second unit-width-full-name",
+                u"unit/meter-per-second unit-width-full-name",
                 NumberFormatter::with().unit(METER).perUnit(SECOND).unitWidth(UNUM_UNIT_WIDTH_FULL_NAME),
                 "ky", // locale with the interesting data
                 68,
@@ -2510,6 +2855,7 @@ void NumberFormatterApiTest::fieldPositionCoverage() {
         FormattedNumber result = assertFormatSingle(
                 message,
                 u"measure-unit/temperature-fahrenheit unit-width-full-name",
+                u"unit/fahrenheit unit-width-full-name",
                 NumberFormatter::with().unit(FAHRENHEIT).unitWidth(UNUM_UNIT_WIDTH_FULL_NAME),
                 "vi", // locale with the interesting data
                 68,
@@ -2534,6 +2880,7 @@ void NumberFormatterApiTest::fieldPositionCoverage() {
         FormattedNumber result = assertFormatSingle(
                 message,
                 u"measure-unit/temperature-kelvin",
+                u"unit/kelvin",
                 NumberFormatter::with().unit(KELVIN),
                 "fa", // locale with the interesting data
                 68,
@@ -2554,6 +2901,7 @@ void NumberFormatterApiTest::fieldPositionCoverage() {
         FormattedNumber result = assertFormatSingle(
                 message,
                 u"compact-short",
+                u"K",
                 NumberFormatter::with().notation(Notation::compactShort()),
                 Locale::getUS(),
                 65000,
@@ -2574,6 +2922,7 @@ void NumberFormatterApiTest::fieldPositionCoverage() {
         FormattedNumber result = assertFormatSingle(
                 message,
                 u"compact-long",
+                u"KK",
                 NumberFormatter::with().notation(Notation::compactLong()),
                 Locale::getUS(),
                 65000,
@@ -2594,6 +2943,7 @@ void NumberFormatterApiTest::fieldPositionCoverage() {
         FormattedNumber result = assertFormatSingle(
                 message,
                 u"compact-long",
+                u"KK",
                 NumberFormatter::with().notation(Notation::compactLong()),
                 "fil",  // locale with interesting data
                 6000,
@@ -2614,6 +2964,7 @@ void NumberFormatterApiTest::fieldPositionCoverage() {
         FormattedNumber result = assertFormatSingle(
                 message,
                 u"compact-long",
+                u"KK",
                 NumberFormatter::with().notation(Notation::compactLong()),
                 "he",  // locale with interesting data
                 6000,
@@ -2634,6 +2985,7 @@ void NumberFormatterApiTest::fieldPositionCoverage() {
         FormattedNumber result = assertFormatSingle(
                 message,
                 u"compact-short currency/USD",
+                u"K currency/USD",
                 NumberFormatter::with().notation(Notation::compactShort()).unit(USD),
                 "sr_Latn",  // locale with interesting data
                 65000,
@@ -2655,6 +3007,7 @@ void NumberFormatterApiTest::fieldPositionCoverage() {
         FormattedNumber result = assertFormatSingle(
                 message,
                 u"currency/USD unit-width-full-name",
+                u"currency/USD unit-width-full-name",
                 NumberFormatter::with().unit(USD)
                     .unitWidth(UNumberUnitWidth::UNUM_UNIT_WIDTH_FULL_NAME),
                 "en",
@@ -2679,6 +3032,7 @@ void NumberFormatterApiTest::fieldPositionCoverage() {
         FormattedNumber result = assertFormatSingle(
                 message,
                 u"compact-long measure-unit/length-meter unit-width-full-name",
+                u"KK unit/meter unit-width-full-name",
                 NumberFormatter::with().notation(Notation::compactLong())
                     .unit(METER)
                     .unitWidth(UNUM_UNIT_WIDTH_FULL_NAME),
@@ -2715,10 +3069,18 @@ void NumberFormatterApiTest::toFormat() {
             dynamic_cast<LocalizedNumberFormatterAsFormat*>(format.getAlias())->getNumberFormatter()
                     .toSkeleton(status));
 
+    UFormattedNumberData result;
+    result.quantity.setToDouble(514.23);
+    lnf.formatImpl(&result, status);
     FieldPositionIterator fpi1;
-    lnf.formatDouble(514.23, status).getAllFieldPositions(fpi1, status);
+    {
+        FieldPositionIteratorHandler fpih(&fpi1, status);
+        result.getAllFieldPositions(fpih, status);
+    }
+
     FieldPositionIterator fpi2;
     format->format(514.23, sb.remove(), &fpi2, status);
+
     assertTrue("Should produce same field position iterator", fpi1 == fpi2);
 }
 
@@ -2770,19 +3132,20 @@ void NumberFormatterApiTest::errors() {
             "Terminal toSkeleton on error object should be bogus",
             output.isBogus());
 
-    // FieldPosition
+    // FieldPosition (constrained category)
     status = U_ZERO_ERROR;
-    FieldPosition fp;
-    fn.nextFieldPosition(fp, status);
+    ConstrainedFieldPosition fp;
+    fp.constrainCategory(UFIELD_CATEGORY_NUMBER);
+    fn.nextPosition(fp, status);
     assertEquals(
             "Should fail on FieldPosition terminal method with correct error code",
             U_NUMBER_ARG_OUTOFBOUNDS_ERROR,
             status);
 
-    // FieldPositionIterator
+    // FieldPositionIterator (no constraints)
     status = U_ZERO_ERROR;
-    FieldPositionIterator fpi;
-    fn.getAllFieldPositions(fpi, status);
+    fp.reset();
+    fn.nextPosition(fp, status);
     assertEquals(
             "Should fail on FieldPositoinIterator terminal method with correct error code",
             U_NUMBER_ARG_OUTOFBOUNDS_ERROR,
@@ -3048,9 +3411,13 @@ void NumberFormatterApiTest::toDecimalNumber() {
 }
 
 
-void NumberFormatterApiTest::assertFormatDescending(const char16_t* umessage, const char16_t* uskeleton,
-                                                    const UnlocalizedNumberFormatter& f, Locale locale,
-                                                    ...) {
+void NumberFormatterApiTest::assertFormatDescending(
+        const char16_t* umessage,
+        const char16_t* uskeleton,
+        const char16_t* conciseSkeleton,
+        const UnlocalizedNumberFormatter& f,
+        Locale locale,
+        ...) {
     va_list args;
     va_start(args, locale);
     UnicodeString message(TRUE, umessage, -1);
@@ -3084,14 +3451,34 @@ void NumberFormatterApiTest::assertFormatDescending(const char16_t* umessage, co
             UnicodeString actual3 = l3.formatDouble(d, status).toString(status);
             assertEquals(message + ": Skeleton Path: '" + normalized + "': " + d, expecteds[i], actual3);
         }
+        // Concise skeletons should have same output, and usually round-trip to the normalized skeleton.
+        // If the concise skeleton starts with '~', disable the round-trip check.
+        bool shouldRoundTrip = true;
+        if (conciseSkeleton[0] == u'~') {
+            conciseSkeleton++;
+            shouldRoundTrip = false;
+        }
+        LocalizedNumberFormatter l4 = NumberFormatter::forSkeleton(conciseSkeleton, status).locale(locale);
+        if (shouldRoundTrip) {
+            assertEquals(message + ": Concise Skeleton:", normalized, l4.toSkeleton(status));
+        }
+        for (int32_t i = 0; i < 9; i++) {
+            double d = inputs[i];
+            UnicodeString actual4 = l4.formatDouble(d, status).toString(status);
+            assertEquals(message + ": Concise Skeleton Path: '" + normalized + "': " + d, expecteds[i], actual4);
+        }
     } else {
         assertUndefinedSkeleton(f);
     }
 }
 
-void NumberFormatterApiTest::assertFormatDescendingBig(const char16_t* umessage, const char16_t* uskeleton,
-                                                       const UnlocalizedNumberFormatter& f, Locale locale,
-                                                       ...) {
+void NumberFormatterApiTest::assertFormatDescendingBig(
+        const char16_t* umessage,
+        const char16_t* uskeleton,
+        const char16_t* conciseSkeleton,
+        const UnlocalizedNumberFormatter& f,
+        Locale locale,
+        ...) {
     va_list args;
     va_start(args, locale);
     UnicodeString message(TRUE, umessage, -1);
@@ -3125,15 +3512,36 @@ void NumberFormatterApiTest::assertFormatDescendingBig(const char16_t* umessage,
             UnicodeString actual3 = l3.formatDouble(d, status).toString(status);
             assertEquals(message + ": Skeleton Path: '" + normalized + "': " + d, expecteds[i], actual3);
         }
+        // Concise skeletons should have same output, and usually round-trip to the normalized skeleton.
+        // If the concise skeleton starts with '~', disable the round-trip check.
+        bool shouldRoundTrip = true;
+        if (conciseSkeleton[0] == u'~') {
+            conciseSkeleton++;
+            shouldRoundTrip = false;
+        }
+        LocalizedNumberFormatter l4 = NumberFormatter::forSkeleton(conciseSkeleton, status).locale(locale);
+        if (shouldRoundTrip) {
+            assertEquals(message + ": Concise Skeleton:", normalized, l4.toSkeleton(status));
+        }
+        for (int32_t i = 0; i < 9; i++) {
+            double d = inputs[i];
+            UnicodeString actual4 = l4.formatDouble(d, status).toString(status);
+            assertEquals(message + ": Concise Skeleton Path: '" + normalized + "': " + d, expecteds[i], actual4);
+        }
     } else {
         assertUndefinedSkeleton(f);
     }
 }
 
 FormattedNumber
-NumberFormatterApiTest::assertFormatSingle(const char16_t* umessage, const char16_t* uskeleton,
-                                           const UnlocalizedNumberFormatter& f, Locale locale,
-                                           double input, const UnicodeString& expected) {
+NumberFormatterApiTest::assertFormatSingle(
+        const char16_t* umessage,
+        const char16_t* uskeleton,
+        const char16_t* conciseSkeleton,
+        const UnlocalizedNumberFormatter& f,
+        Locale locale,
+        double input,
+        const UnicodeString& expected) {
     UnicodeString message(TRUE, umessage, -1);
     const LocalizedNumberFormatter l1 = f.threshold(0).locale(locale); // no self-regulation
     const LocalizedNumberFormatter l2 = f.threshold(1).locale(locale); // all self-regulation
@@ -3155,6 +3563,19 @@ NumberFormatterApiTest::assertFormatSingle(const char16_t* umessage, const char1
         LocalizedNumberFormatter l3 = NumberFormatter::forSkeleton(normalized, status).locale(locale);
         UnicodeString actual3 = l3.formatDouble(input, status).toString(status);
         assertEquals(message + ": Skeleton Path: '" + normalized + "': " + input, expected, actual3);
+        // Concise skeletons should have same output, and usually round-trip to the normalized skeleton.
+        // If the concise skeleton starts with '~', disable the round-trip check.
+        bool shouldRoundTrip = true;
+        if (conciseSkeleton[0] == u'~') {
+            conciseSkeleton++;
+            shouldRoundTrip = false;
+        }
+        LocalizedNumberFormatter l4 = NumberFormatter::forSkeleton(conciseSkeleton, status).locale(locale);
+        if (shouldRoundTrip) {
+            assertEquals(message + ": Concise Skeleton:", normalized, l4.toSkeleton(status));
+        }
+        UnicodeString actual4 = l4.formatDouble(input, status).toString(status);
+        assertEquals(message + ": Concise Skeleton Path: '" + normalized + "': " + input, expected, actual4);
     } else {
         assertUndefinedSkeleton(f);
     }
@@ -3171,8 +3592,10 @@ void NumberFormatterApiTest::assertUndefinedSkeleton(const UnlocalizedNumberForm
 }
 
 void NumberFormatterApiTest::assertNumberFieldPositions(
-        const char16_t* message, const FormattedNumber& formattedNumber,
-        const UFieldPosition* expectedFieldPositions, int32_t length) {
+        const char16_t* message,
+        const FormattedNumber& formattedNumber,
+        const UFieldPosition* expectedFieldPositions,
+        int32_t length) {
     IcuTestErrorCode status(*this, "assertNumberFieldPositions");
 
     // Check FormattedValue functions
@@ -3183,64 +3606,6 @@ void NumberFormatterApiTest::assertNumberFieldPositions(
         UFIELD_CATEGORY_NUMBER,
         expectedFieldPositions,
         length);
-
-    // Check FormattedNumber-specific functions
-    UnicodeString baseMessage = UnicodeString(message) + u": " + formattedNumber.toString(status) + u": ";
-    FieldPositionIterator fpi;
-    formattedNumber.getAllFieldPositions(fpi, status);
-    int32_t i = 0;
-    FieldPosition actual;
-    while (fpi.next(actual)) {
-        UFieldPosition expected = expectedFieldPositions[i++];
-        assertEquals(
-                baseMessage + UnicodeString(u"Field, case #") + Int64ToUnicodeString(i),
-                expected.field,
-                actual.getField());
-        assertEquals(
-                baseMessage + UnicodeString(u"Iterator, begin, case #") + Int64ToUnicodeString(i),
-                expected.beginIndex,
-                actual.getBeginIndex());
-        assertEquals(
-                baseMessage + UnicodeString(u"Iterator, end, case #") + Int64ToUnicodeString(i),
-                expected.endIndex,
-                actual.getEndIndex());
-
-        // Check for the first location of the field
-        FieldPosition actual2(expected.field);
-        // Fast-forward the field to skip previous occurrences of the field:
-        actual2.setBeginIndex(expected.beginIndex);
-        actual2.setEndIndex(expected.beginIndex);
-        UBool found = formattedNumber.nextFieldPosition(actual2, status);
-        assertEquals(
-                baseMessage + UnicodeString(u"Next, found first, case #") + Int64ToUnicodeString(i),
-                (UBool) TRUE,
-                found);
-        assertEquals(
-                baseMessage + UnicodeString(u"Next, begin, case #") + Int64ToUnicodeString(i),
-                expected.beginIndex,
-                actual2.getBeginIndex());
-        assertEquals(
-                baseMessage + UnicodeString(u"Next, end, case #") + Int64ToUnicodeString(i),
-                expected.endIndex,
-                actual2.getEndIndex());
-
-        // The next position should be empty unless the field occurs again
-        UBool occursAgain = false;
-        for (int32_t j=i; j<length; j++) {
-            if (expectedFieldPositions[j].field == expected.field) {
-                occursAgain = true;
-                break;
-            }
-        }
-        if (!occursAgain) {
-            found = formattedNumber.nextFieldPosition(actual2, status);
-            assertEquals(
-                    baseMessage + UnicodeString(u"Next, found second, case #") + Int64ToUnicodeString(i),
-                    (UBool) FALSE,
-                    found);
-        }
-    }
-    assertEquals(baseMessage + u"Should have seen every field position", length, i);
 }
 
 
index d0ccfe0..8cb0ac0 100644 (file)
@@ -30,6 +30,8 @@ void DecimalQuantityTest::runIndexedTest(int32_t index, UBool exec, const char *
         TESTCASE_AUTO(testToDouble);
         TESTCASE_AUTO(testMaxDigits);
         TESTCASE_AUTO(testNickelRounding);
+        TESTCASE_AUTO(testCompactDecimalSuppressedExponent);
+        TESTCASE_AUTO(testSuppressedExponentUnchangedByInitialScaling);
     TESTCASE_AUTO_END;
 }
 
@@ -233,8 +235,6 @@ void DecimalQuantityTest::testConvertToAccurateDouble() {
     // based on https://github.com/google/double-conversion/issues/28
     static double hardDoubles[] = {
             1651087494906221570.0,
-            -5074790912492772E-327,
-            83602530019752571E-327,
             2.207817077636718750000000000000,
             1.818351745605468750000000000000,
             3.941719055175781250000000000000,
@@ -259,9 +259,11 @@ void DecimalQuantityTest::testConvertToAccurateDouble() {
             1.305290222167968750000000000000,
             3.834922790527343750000000000000,};
 
-    static double integerDoubles[] = {
+    static double exactDoubles[] = {
             51423,
             51423e10,
+            -5074790912492772E-327,
+            83602530019752571E-327,
             4.503599627370496E15,
             6.789512076111555E15,
             9.007199254740991E15,
@@ -271,7 +273,7 @@ void DecimalQuantityTest::testConvertToAccurateDouble() {
         checkDoubleBehavior(d, true);
     }
 
-    for (double d : integerDoubles) {
+    for (double d : exactDoubles) {
         checkDoubleBehavior(d, false);
     }
 
@@ -467,4 +469,191 @@ void DecimalQuantityTest::testNickelRounding() {
     status.expectErrorAndReset(U_FORMAT_INEXACT_ERROR);
 }
 
+void DecimalQuantityTest::testCompactDecimalSuppressedExponent() {
+    IcuTestErrorCode status(*this, "testCompactDecimalSuppressedExponent");
+    Locale ulocale("fr-FR");
+
+    struct TestCase {
+        UnicodeString skeleton;
+        double input;
+        const char16_t* expectedString;
+        int64_t expectedLong;
+        double expectedDouble;
+        const char16_t* expectedPlainString;
+        int32_t expectedSuppressedExponent;
+    } cases[] = {
+        // unlocalized formatter skeleton, input, string output, long output, double output, BigDecimal output, plain string, suppressed exponent
+        {u"",              123456789, u"123 456 789",  123456789L, 123456789.0, u"123456789", 0},
+        {u"compact-long",  123456789, u"123 millions", 123000000L, 123000000.0, u"123000000", 6},
+        {u"compact-short", 123456789, u"123 M",        123000000L, 123000000.0, u"123000000", 6},
+        {u"scientific",    123456789, u"1,234568E8",   123456800L, 123456800.0, u"123456800", 8},
+
+        {u"",              1234567, u"1 234 567",   1234567L, 1234567.0, u"1234567", 0},
+        {u"compact-long",  1234567, u"1,2 million", 1200000L, 1200000.0, u"1200000", 6},
+        {u"compact-short", 1234567, u"1,2 M",       1200000L, 1200000.0, u"1200000", 6},
+        {u"scientific",    1234567, u"1,234567E6",  1234567L, 1234567.0, u"1234567", 6},
+
+        {u"",              123456, u"123 456",   123456L, 123456.0, u"123456", 0},
+        {u"compact-long",  123456, u"123 mille", 123000L, 123000.0, u"123000", 3},
+        {u"compact-short", 123456, u"123 k",     123000L, 123000.0, u"123000", 3},
+        {u"scientific",    123456, u"1,23456E5", 123456L, 123456.0, u"123456", 5},
+
+        {u"",              123, u"123",    123L, 123.0, u"123", 0},
+        {u"compact-long",  123, u"123",    123L, 123.0, u"123", 0},
+        {u"compact-short", 123, u"123",    123L, 123.0, u"123", 0},
+        {u"scientific",    123, u"1,23E2", 123L, 123.0, u"123", 2},
+
+        {u"",              1.2, u"1,2",   1L, 1.2, u"1.2", 0},
+        {u"compact-long",  1.2, u"1,2",   1L, 1.2, u"1.2", 0},
+        {u"compact-short", 1.2, u"1,2",   1L, 1.2, u"1.2", 0},
+        {u"scientific",    1.2, u"1,2E0", 1L, 1.2, u"1.2", 0},
+
+        {u"",              0.12, u"0,12",   0L, 0.12, u"0.12", 0},
+        {u"compact-long",  0.12, u"0,12",   0L, 0.12, u"0.12", 0},
+        {u"compact-short", 0.12, u"0,12",   0L, 0.12, u"0.12", 0},
+        {u"scientific",    0.12, u"1,2E-1", 0L, 0.12, u"0.12", -1},
+
+        {u"",              0.012, u"0,012",   0L, 0.012, u"0.012", 0},
+        {u"compact-long",  0.012, u"0,012",   0L, 0.012, u"0.012", 0},
+        {u"compact-short", 0.012, u"0,012",   0L, 0.012, u"0.012", 0},
+        {u"scientific",    0.012, u"1,2E-2",  0L, 0.012, u"0.012", -2},
+
+        {u"",              999.9, u"999,9",     999L,  999.9,  u"999.9", 0},
+        {u"compact-long",  999.9, u"1 millier", 1000L, 1000.0, u"1000",  3},
+        {u"compact-short", 999.9, u"1 k",       1000L, 1000.0, u"1000",  3},
+        {u"scientific",    999.9, u"9,999E2",   999L,  999.9,  u"999.9", 2},
+
+        {u"",              1000.0, u"1 000",     1000L, 1000.0, u"1000", 0},
+        {u"compact-long",  1000.0, u"1 millier", 1000L, 1000.0, u"1000", 3},
+        {u"compact-short", 1000.0, u"1 k",       1000L, 1000.0, u"1000", 3},
+        {u"scientific",    1000.0, u"1E3",       1000L, 1000.0, u"1000", 3},
+    };
+    for (const auto& cas : cases) {
+        // test the helper methods used to compute plural operand values
+
+        LocalizedNumberFormatter formatter =
+            NumberFormatter::forSkeleton(cas.skeleton, status)
+              .locale(ulocale);
+        FormattedNumber fn = formatter.formatDouble(cas.input, status);
+        DecimalQuantity dq;
+        fn.getDecimalQuantity(dq, status);
+        UnicodeString actualString = fn.toString(status);
+        int64_t actualLong = dq.toLong();
+        double actualDouble = dq.toDouble();
+        UnicodeString actualPlainString = dq.toPlainString();
+        int32_t actualSuppressedExponent = dq.getExponent();
+
+        assertEquals(
+                u"formatted number " + cas.skeleton + u" toString: " + cas.input,
+                cas.expectedString,
+                actualString);
+        assertEquals(
+                u"compact decimal " + cas.skeleton + u" toLong: " + cas.input,
+                cas.expectedLong,
+                actualLong);
+        assertDoubleEquals(
+                u"compact decimal " + cas.skeleton + u" toDouble: " + cas.input,
+                cas.expectedDouble,
+                actualDouble);
+        assertEquals(
+                u"formatted number " + cas.skeleton + u" toPlainString: " + cas.input,
+                cas.expectedPlainString,
+                actualPlainString);
+        assertEquals(
+                u"compact decimal " + cas.skeleton + u" suppressed exponent: " + cas.input,
+                cas.expectedSuppressedExponent,
+                actualSuppressedExponent);
+
+        // test the actual computed values of the plural operands
+
+        double expectedNOperand = cas.expectedDouble;
+        double expectedIOperand = cas.expectedLong;
+        double expectedEOperand = cas.expectedSuppressedExponent;
+        double actualNOperand = dq.getPluralOperand(PLURAL_OPERAND_N);
+        double actualIOperand = dq.getPluralOperand(PLURAL_OPERAND_I);
+        double actualEOperand = dq.getPluralOperand(PLURAL_OPERAND_E);
+
+        assertEquals(
+                u"formatted number " + cas.skeleton + u" toString: " + cas.input,
+                cas.expectedString,
+                actualString);
+        assertDoubleEquals(
+                u"compact decimal " + cas.skeleton + u" n operand: " + cas.input,
+                expectedNOperand,
+                actualNOperand);
+        assertDoubleEquals(
+                u"compact decimal " + cas.skeleton + u" i operand: " + cas.input,
+                expectedIOperand,
+                actualIOperand);
+        assertDoubleEquals(
+                u"compact decimal " + cas.skeleton + " e operand: " + cas.input,
+                expectedEOperand,
+                actualEOperand);
+    }
+}
+
+void DecimalQuantityTest::testSuppressedExponentUnchangedByInitialScaling() {
+    IcuTestErrorCode status(*this, "testCompactDecimalSuppressedExponent");
+    Locale ulocale("fr-FR");
+    LocalizedNumberFormatter withLocale = NumberFormatter::withLocale(ulocale);
+    LocalizedNumberFormatter compactLong =
+        withLocale.notation(Notation::compactLong());
+    LocalizedNumberFormatter compactScaled =
+        compactLong.scale(Scale::powerOfTen(3));
+    
+    struct TestCase {
+        int32_t input;
+        UnicodeString expectedString;
+        double expectedNOperand;
+        double expectedIOperand;
+        double expectedEOperand;
+    } cases[] = {
+        // input, compact long string output,
+        // compact n operand, compact i operand, compact e operand
+        {123456789, "123 millions", 123000000.0, 123000000.0, 6.0},
+        {1234567,   "1,2 million",  1200000.0,   1200000.0,   6.0},
+        {123456,    "123 mille",    123000.0,    123000.0,    3.0},
+        {123,       "123",          123.0,       123.0,       0.0},
+    };
+
+    for (const auto& cas : cases) {
+        FormattedNumber fnCompactScaled = compactScaled.formatInt(cas.input, status);
+        DecimalQuantity dqCompactScaled;
+        fnCompactScaled.getDecimalQuantity(dqCompactScaled, status);
+        double compactScaledEOperand = dqCompactScaled.getPluralOperand(PLURAL_OPERAND_E);
+
+        FormattedNumber fnCompact = compactLong.formatInt(cas.input, status);
+        DecimalQuantity dqCompact;
+        fnCompact.getDecimalQuantity(dqCompact, status);
+        UnicodeString actualString = fnCompact.toString(status);
+        double compactNOperand = dqCompact.getPluralOperand(PLURAL_OPERAND_N);
+        double compactIOperand = dqCompact.getPluralOperand(PLURAL_OPERAND_I);
+        double compactEOperand = dqCompact.getPluralOperand(PLURAL_OPERAND_E);
+        assertEquals(
+                u"formatted number " + Int64ToUnicodeString(cas.input) + " compactLong toString: ",
+                cas.expectedString,
+                actualString);
+        assertDoubleEquals(
+                u"compact decimal " + DoubleToUnicodeString(cas.input) + ", n operand vs. expected",
+                cas.expectedNOperand,
+                compactNOperand);
+        assertDoubleEquals(
+                u"compact decimal " + DoubleToUnicodeString(cas.input) + ", i operand vs. expected",
+                cas.expectedIOperand,
+                compactIOperand);
+        assertDoubleEquals(
+                u"compact decimal " + DoubleToUnicodeString(cas.input) + ", e operand vs. expected",
+                cas.expectedEOperand,
+                compactEOperand);
+
+        // By scaling by 10^3 in a locale that has words / compact notation
+        // based on powers of 10^3, we guarantee that the suppressed
+        // exponent will differ by 3.
+        assertDoubleEquals(
+                u"decimal " + DoubleToUnicodeString(cas.input) + ", e operand for compact vs. compact scaled",
+                compactEOperand + 3,
+                compactScaledEOperand);
+    }
+}
+
 #endif /* #if !UCONFIG_NO_FORMATTING */
index 90144ad..5ffca12 100644 (file)
@@ -25,11 +25,11 @@ void ModifiersTest::runIndexedTest(int32_t index, UBool exec, const char *&name,
 
 void ModifiersTest::testConstantAffixModifier() {
     UErrorCode status = U_ZERO_ERROR;
-    ConstantAffixModifier mod0(u"", u"", UNUM_PERCENT_FIELD, true);
+    ConstantAffixModifier mod0(u"", u"", {UFIELD_CATEGORY_NUMBER, UNUM_PERCENT_FIELD}, true);
     assertModifierEquals(mod0, 0, true, u"|", u"n", status);
     assertSuccess("Spot 1", status);
 
-    ConstantAffixModifier mod1(u"a📻", u"b", UNUM_PERCENT_FIELD, true);
+    ConstantAffixModifier mod1(u"a📻", u"b", {UFIELD_CATEGORY_NUMBER, UNUM_PERCENT_FIELD}, true);
     assertModifierEquals(mod1, 3, true, u"a📻|b", u"%%%n%", status);
     assertSuccess("Spot 2", status);
 }
@@ -42,8 +42,8 @@ void ModifiersTest::testConstantMultiFieldModifier() {
     assertModifierEquals(mod1, 0, true, u"|", u"n", status);
     assertSuccess("Spot 1", status);
 
-    prefix.append(u"a📻", UNUM_PERCENT_FIELD, status);
-    suffix.append(u"b", UNUM_CURRENCY_FIELD, status);
+    prefix.append(u"a📻", {UFIELD_CATEGORY_NUMBER, UNUM_PERCENT_FIELD}, status);
+    suffix.append(u"b", {UFIELD_CATEGORY_NUMBER, UNUM_CURRENCY_FIELD}, status);
     ConstantMultiFieldModifier mod2(prefix, suffix, false, true);
     assertModifierEquals(mod2, 3, true, u"a📻|b", u"%%%n$", status);
     assertSuccess("Spot 2", status);
@@ -80,7 +80,7 @@ void ModifiersTest::testSimpleModifier() {
         const UnicodeString pattern(patterns[i]);
         SimpleFormatter compiledFormatter(pattern, 1, 1, status);
         assertSuccess("Spot 1", status);
-        SimpleModifier mod(compiledFormatter, UNUM_PERCENT_FIELD, false);
+        SimpleModifier mod(compiledFormatter, {UFIELD_CATEGORY_NUMBER, UNUM_PERCENT_FIELD}, false);
         assertModifierEquals(
                 mod, prefixLens[i], false, expectedCharFields[i][0], expectedCharFields[i][1], status);
         assertSuccess("Spot 2", status);
@@ -88,7 +88,7 @@ void ModifiersTest::testSimpleModifier() {
         // Test strange insertion positions
         for (int32_t j = 0; j < NUM_OUTPUTS; j++) {
             FormattedStringBuilder output;
-            output.append(outputs[j].baseString, UNUM_FIELD_COUNT, status);
+            output.append(outputs[j].baseString, kUndefinedField, status);
             mod.apply(output, outputs[j].leftIndex, outputs[j].rightIndex, status);
             UnicodeString expected = expecteds[j][i];
             UnicodeString actual = output.toUnicodeString();
@@ -112,7 +112,7 @@ void ModifiersTest::testCurrencySpacingEnabledModifier() {
     assertModifierEquals(mod1, 0, true, u"|", u"n", status);
     assertSuccess("Spot 3", status);
 
-    prefix.append(u"USD", UNUM_CURRENCY_FIELD, status);
+    prefix.append(u"USD", {UFIELD_CATEGORY_NUMBER, UNUM_CURRENCY_FIELD}, status);
     assertSuccess("Spot 4", status);
     CurrencySpacingEnabledModifier mod2(prefix, suffix, false, true, symbols, status);
     assertSuccess("Spot 5", status);
@@ -121,7 +121,7 @@ void ModifiersTest::testCurrencySpacingEnabledModifier() {
 
     // Test the default currency spacing rules
     FormattedStringBuilder sb;
-    sb.append("123", UNUM_INTEGER_FIELD, status);
+    sb.append("123", {UFIELD_CATEGORY_NUMBER, UNUM_INTEGER_FIELD}, status);
     assertSuccess("Spot 7", status);
     FormattedStringBuilder sb1(sb);
     assertModifierEquals(mod2, sb1, 3, true, u"USD\u00A0123", u"$$$niii", status);
@@ -129,7 +129,7 @@ void ModifiersTest::testCurrencySpacingEnabledModifier() {
 
     // Compare with the unsafe code path
     FormattedStringBuilder sb2(sb);
-    sb2.insert(0, "USD", UNUM_CURRENCY_FIELD, status);
+    sb2.insert(0, "USD", {UFIELD_CATEGORY_NUMBER, UNUM_CURRENCY_FIELD}, status);
     assertSuccess("Spot 9", status);
     CurrencySpacingEnabledModifier::applyCurrencySpacing(sb2, 0, 3, 6, 0, symbols, status);
     assertSuccess("Spot 10", status);
@@ -138,7 +138,7 @@ void ModifiersTest::testCurrencySpacingEnabledModifier() {
     // Test custom patterns
     // The following line means that the last char of the number should be a | (rather than a digit)
     symbols.setPatternForCurrencySpacing(UNUM_CURRENCY_SURROUNDING_MATCH, true, u"[|]");
-    suffix.append("XYZ", UNUM_CURRENCY_FIELD, status);
+    suffix.append("XYZ", {UFIELD_CATEGORY_NUMBER, UNUM_CURRENCY_FIELD}, status);
     assertSuccess("Spot 11", status);
     CurrencySpacingEnabledModifier mod3(prefix, suffix, false, true, symbols, status);
     assertSuccess("Spot 12", status);
@@ -150,7 +150,7 @@ void ModifiersTest::assertModifierEquals(const Modifier &mod, int32_t expectedPr
                                          bool expectedStrong, UnicodeString expectedChars,
                                          UnicodeString expectedFields, UErrorCode &status) {
     FormattedStringBuilder sb;
-    sb.appendCodePoint('|', UNUM_FIELD_COUNT, status);
+    sb.appendCodePoint('|', kUndefinedField, status);
     assertModifierEquals(
             mod, sb, expectedPrefixLength, expectedStrong, expectedChars, expectedFields, status);
 
index 8f61242..650c526 100644 (file)
@@ -26,14 +26,13 @@ void PatternModifierTest::testBasic() {
     ParsedPatternInfo patternInfo;
     PatternParser::parseToPatternInfo(u"a0b", patternInfo, status);
     assertSuccess("Spot 1", status);
-    mod.setPatternInfo(&patternInfo, UNUM_FIELD_COUNT);
+    mod.setPatternInfo(&patternInfo, kUndefinedField);
     mod.setPatternAttributes(UNUM_SIGN_AUTO, false);
     DecimalFormatSymbols symbols(Locale::getEnglish(), status);
-    CurrencySymbols currencySymbols({u"USD", status}, "en", status);
+    mod.setSymbols(&symbols, {u"USD", status}, UNUM_UNIT_WIDTH_SHORT, nullptr, status);
     if (!assertSuccess("Spot 2", status, true)) {
         return;
     }
-    mod.setSymbols(&symbols, &currencySymbols, UNUM_UNIT_WIDTH_SHORT, nullptr);
 
     mod.setNumberProperties(SIGNUM_POS, StandardPlural::Form::COUNT);
     assertEquals("Pattern a0b", u"a", getPrefix(mod, status));
@@ -41,7 +40,10 @@ void PatternModifierTest::testBasic() {
     mod.setPatternAttributes(UNUM_SIGN_ALWAYS, false);
     assertEquals("Pattern a0b", u"+a", getPrefix(mod, status));
     assertEquals("Pattern a0b", u"b", getSuffix(mod, status));
-    mod.setNumberProperties(SIGNUM_ZERO, StandardPlural::Form::COUNT);
+    mod.setNumberProperties(SIGNUM_NEG_ZERO, StandardPlural::Form::COUNT);
+    assertEquals("Pattern a0b", u"-a", getPrefix(mod, status));
+    assertEquals("Pattern a0b", u"b", getSuffix(mod, status));
+    mod.setNumberProperties(SIGNUM_POS_ZERO, StandardPlural::Form::COUNT);
     assertEquals("Pattern a0b", u"+a", getPrefix(mod, status));
     assertEquals("Pattern a0b", u"b", getSuffix(mod, status));
     mod.setPatternAttributes(UNUM_SIGN_EXCEPT_ZERO, false);
@@ -58,7 +60,7 @@ void PatternModifierTest::testBasic() {
     ParsedPatternInfo patternInfo2;
     PatternParser::parseToPatternInfo(u"a0b;c-0d", patternInfo2, status);
     assertSuccess("Spot 4", status);
-    mod.setPatternInfo(&patternInfo2, UNUM_FIELD_COUNT);
+    mod.setPatternInfo(&patternInfo2, kUndefinedField);
     mod.setPatternAttributes(UNUM_SIGN_AUTO, false);
     mod.setNumberProperties(SIGNUM_POS, StandardPlural::Form::COUNT);
     assertEquals("Pattern a0b;c-0d", u"a", getPrefix(mod, status));
@@ -66,7 +68,10 @@ void PatternModifierTest::testBasic() {
     mod.setPatternAttributes(UNUM_SIGN_ALWAYS, false);
     assertEquals("Pattern a0b;c-0d", u"c+", getPrefix(mod, status));
     assertEquals("Pattern a0b;c-0d", u"d", getSuffix(mod, status));
-    mod.setNumberProperties(SIGNUM_ZERO, StandardPlural::Form::COUNT);
+    mod.setNumberProperties(SIGNUM_NEG_ZERO, StandardPlural::Form::COUNT);
+    assertEquals("Pattern a0b;c-0d", u"c-", getPrefix(mod, status));
+    assertEquals("Pattern a0b;c-0d", u"d", getSuffix(mod, status));
+    mod.setNumberProperties(SIGNUM_POS_ZERO, StandardPlural::Form::COUNT);
     assertEquals("Pattern a0b;c-0d", u"c+", getPrefix(mod, status));
     assertEquals("Pattern a0b;c-0d", u"d", getSuffix(mod, status));
     mod.setPatternAttributes(UNUM_SIGN_EXCEPT_ZERO, false);
@@ -76,9 +81,8 @@ void PatternModifierTest::testBasic() {
     assertEquals("Pattern a0b;c-0d", u"c-", getPrefix(mod, status));
     assertEquals("Pattern a0b;c-0d", u"d", getSuffix(mod, status));
     mod.setPatternAttributes(UNUM_SIGN_NEVER, false);
-    // TODO: What should this behavior be?
-    assertEquals("Pattern a0b;c-0d", u"c-", getPrefix(mod, status));
-    assertEquals("Pattern a0b;c-0d", u"d", getSuffix(mod, status));
+    assertEquals("Pattern a0b;c-0d", u"a", getPrefix(mod, status));
+    assertEquals("Pattern a0b;c-0d", u"b", getSuffix(mod, status));
     assertSuccess("Spot 5", status);
 }
 
@@ -88,19 +92,18 @@ void PatternModifierTest::testPatternWithNoPlaceholder() {
     ParsedPatternInfo patternInfo;
     PatternParser::parseToPatternInfo(u"abc", patternInfo, status);
     assertSuccess("Spot 1", status);
-    mod.setPatternInfo(&patternInfo, UNUM_FIELD_COUNT);
+    mod.setPatternInfo(&patternInfo, kUndefinedField);
     mod.setPatternAttributes(UNUM_SIGN_AUTO, false);
     DecimalFormatSymbols symbols(Locale::getEnglish(), status);
-    CurrencySymbols currencySymbols({u"USD", status}, "en", status);
+    mod.setSymbols(&symbols, {u"USD", status}, UNUM_UNIT_WIDTH_SHORT, nullptr, status);
     if (!assertSuccess("Spot 2", status, true)) {
         return;
     }
-    mod.setSymbols(&symbols, &currencySymbols, UNUM_UNIT_WIDTH_SHORT, nullptr);
     mod.setNumberProperties(SIGNUM_POS, StandardPlural::Form::COUNT);
 
     // Unsafe Code Path
     FormattedStringBuilder nsb;
-    nsb.append(u"x123y", UNUM_FIELD_COUNT, status);
+    nsb.append(u"x123y", kUndefinedField, status);
     assertSuccess("Spot 3", status);
     mod.apply(nsb, 1, 4, status);
     assertSuccess("Spot 4", status);
@@ -108,7 +111,7 @@ void PatternModifierTest::testPatternWithNoPlaceholder() {
 
     // Safe Code Path
     nsb.clear();
-    nsb.append(u"x123y", UNUM_FIELD_COUNT, status);
+    nsb.append(u"x123y", kUndefinedField, status);
     assertSuccess("Spot 5", status);
     MicroProps micros;
     LocalPointer<ImmutablePatternModifier> imod(mod.createImmutable(status), status);
@@ -131,13 +134,12 @@ void PatternModifierTest::testMutableEqualsImmutable() {
     ParsedPatternInfo patternInfo;
     PatternParser::parseToPatternInfo("a0b;c-0d", patternInfo, status);
     assertSuccess("Spot 1", status);
-    mod.setPatternInfo(&patternInfo, UNUM_FIELD_COUNT);
+    mod.setPatternInfo(&patternInfo, kUndefinedField);
     mod.setPatternAttributes(UNUM_SIGN_AUTO, false);
     DecimalFormatSymbols symbols(Locale::getEnglish(), status);
-    CurrencySymbols currencySymbols({u"USD", status}, "en", status);
+    mod.setSymbols(&symbols, {u"USD", status}, UNUM_UNIT_WIDTH_SHORT, nullptr, status);
     assertSuccess("Spot 2", status);
     if (U_FAILURE(status)) { return; }
-    mod.setSymbols(&symbols, &currencySymbols, UNUM_UNIT_WIDTH_SHORT, nullptr);
     DecimalQuantity fq;
     fq.setToInt(1);
 
index 635ea87..d5e4bcf 100644 (file)
@@ -29,6 +29,8 @@ void NumberSkeletonTest::runIndexedTest(int32_t index, UBool exec, const char*&
         TESTCASE_AUTO(stemsRequiringOption);
         TESTCASE_AUTO(defaultTokens);
         TESTCASE_AUTO(flexibleSeparators);
+        TESTCASE_AUTO(wildcardCharacters);
+        TESTCASE_AUTO(perUnitInArabic);
     TESTCASE_AUTO_END;
 }
 
@@ -41,26 +43,35 @@ void NumberSkeletonTest::validTokens() {
             u"precision-integer",
             u"precision-unlimited",
             u"@@@##",
+            u"@@*",
             u"@@+",
             u".000##",
+            u".00*",
             u".00+",
             u".",
+            u".*",
             u".+",
             u".######",
+            u".00/@@*",
             u".00/@@+",
             u".00/@##",
             u"precision-increment/3.14",
             u"precision-currency-standard",
             u"precision-integer rounding-mode-half-up",
             u".00# rounding-mode-ceiling",
+            u".00/@@* rounding-mode-floor",
             u".00/@@+ rounding-mode-floor",
             u"scientific",
+            u"scientific/*ee",
             u"scientific/+ee",
             u"scientific/sign-always",
+            u"scientific/*ee/sign-always",
             u"scientific/+ee/sign-always",
+            u"scientific/sign-always/*ee",
             u"scientific/sign-always/+ee",
             u"scientific/sign-except-zero",
             u"engineering",
+            u"engineering/*eee",
             u"engineering/+eee",
             u"compact-short",
             u"compact-long",
@@ -70,6 +81,7 @@ void NumberSkeletonTest::validTokens() {
             u"measure-unit/length-meter",
             u"measure-unit/area-square-meter",
             u"measure-unit/energy-joule per-measure-unit/length-meter",
+            u"unit/square-meter-per-square-meter",
             u"currency/XXX",
             u"currency/ZZZ",
             u"currency/usd",
@@ -80,6 +92,7 @@ void NumberSkeletonTest::validTokens() {
             u"group-thousands",
             u"integer-width/00",
             u"integer-width/#0",
+            u"integer-width/*00",
             u"integer-width/+00",
             u"sign-always",
             u"sign-auto",
@@ -105,7 +118,20 @@ void NumberSkeletonTest::validTokens() {
             u"numbering-system/latn",
             u"precision-integer/@##",
             u"precision-integer rounding-mode-ceiling",
-            u"precision-currency-cash rounding-mode-ceiling"};
+            u"precision-currency-cash rounding-mode-ceiling",
+            u"0",
+            u"00",
+            u"000",
+            u"E0",
+            u"E00",
+            u"E000",
+            u"EE0",
+            u"EE00",
+            u"EE+?0",
+            u"EE+?00",
+            u"EE+!0",
+            u"EE+!00",
+    };
 
     for (auto& cas : cases) {
         UnicodeString skeletonString(cas);
@@ -122,16 +148,22 @@ void NumberSkeletonTest::invalidTokens() {
     static const char16_t* cases[] = {
             u".00x",
             u".00##0",
+            u".##*",
+            u".00##*",
+            u".0#*",
+            u"@#*",
             u".##+",
             u".00##+",
             u".0#+",
+            u"@#+",
             u"@@x",
             u"@@##0",
-            u"@#+",
             u".00/@",
             u".00/@@",
             u".00/@@x",
             u".00/@@#",
+            u".00/@@#*",
+            u".00/floor/@@*", // wrong order
             u".00/@@#+",
             u".00/floor/@@+", // wrong order
             u"precision-increment/français", // non-invariant characters for C++
@@ -147,11 +179,29 @@ void NumberSkeletonTest::invalidTokens() {
             u"currency/ççç", // three characters but not ASCII
             u"measure-unit/foo",
             u"integer-width/xxx",
+            u"integer-width/0*",
+            u"integer-width/*0#",
+            u"integer-width/*#",
+            u"integer-width/*#0",
             u"integer-width/0+",
             u"integer-width/+0#",
             u"integer-width/+#",
             u"integer-width/+#0",
-            u"scientific/foo"};
+            u"scientific/foo",
+            u"E",
+            u"E1",
+            u"E+",
+            u"E+?",
+            u"E+!",
+            u"E+0",
+            u"EE",
+            u"EE+",
+            u"EEE",
+            u"EEE0",
+            u"001",
+            u"00*",
+            u"00+",
+    };
 
     expectedErrorSkeleton(cases, UPRV_LENGTHOF(cases));
 }
@@ -277,6 +327,32 @@ void NumberSkeletonTest::flexibleSeparators() {
     }
 }
 
+void NumberSkeletonTest::wildcardCharacters() {
+    IcuTestErrorCode status(*this, "wildcardCharacters");
+
+    struct TestCase {
+        const char16_t* star;
+        const char16_t* plus;
+    } cases[] = {
+        { u".00*", u".00+" },
+        { u"@@*", u"@@+" },
+        { u".00/@@*", u".00/@@+" },
+        { u"scientific/*ee", u"scientific/+ee" },
+        { u"integer-width/*00", u"integer-width/+00" },
+    };
+
+    for (const auto& cas : cases) {
+        UnicodeString star(cas.star);
+        UnicodeString plus(cas.plus);
+        status.setScope(star);
+
+        UnicodeString normalized = NumberFormatter::forSkeleton(plus, status)
+            .toSkeleton(status);
+        assertEquals("Plus should normalize to star", star, normalized);
+        status.errIfFailureAndReset();
+    }
+}
+
 // In C++, there is no distinguishing between "invalid", "unknown", and "unexpected" tokens.
 void NumberSkeletonTest::expectedErrorSkeleton(const char16_t** cases, int32_t casesLen) {
     for (int32_t i = 0; i < casesLen; i++) {
@@ -287,5 +363,77 @@ void NumberSkeletonTest::expectedErrorSkeleton(const char16_t** cases, int32_t c
     }
 }
 
+void NumberSkeletonTest::perUnitInArabic() {
+    IcuTestErrorCode status(*this, "perUnitInArabic");
+
+    struct TestCase {
+        const char16_t* type;
+        const char16_t* subtype;
+    } cases[] = {
+        {u"area", u"acre"},
+        {u"digital", u"bit"},
+        {u"digital", u"byte"},
+        {u"temperature", u"celsius"},
+        {u"length", u"centimeter"},
+        {u"duration", u"day"},
+        {u"angle", u"degree"},
+        {u"temperature", u"fahrenheit"},
+        {u"volume", u"fluid-ounce"},
+        {u"length", u"foot"},
+        {u"volume", u"gallon"},
+        {u"digital", u"gigabit"},
+        {u"digital", u"gigabyte"},
+        {u"mass", u"gram"},
+        {u"area", u"hectare"},
+        {u"duration", u"hour"},
+        {u"length", u"inch"},
+        {u"digital", u"kilobit"},
+        {u"digital", u"kilobyte"},
+        {u"mass", u"kilogram"},
+        {u"length", u"kilometer"},
+        {u"volume", u"liter"},
+        {u"digital", u"megabit"},
+        {u"digital", u"megabyte"},
+        {u"length", u"meter"},
+        {u"length", u"mile"},
+        {u"length", u"mile-scandinavian"},
+        {u"volume", u"milliliter"},
+        {u"length", u"millimeter"},
+        {u"duration", u"millisecond"},
+        {u"duration", u"minute"},
+        {u"duration", u"month"},
+        {u"mass", u"ounce"},
+        {u"concentr", u"percent"},
+        {u"digital", u"petabyte"},
+        {u"mass", u"pound"},
+        {u"duration", u"second"},
+        {u"mass", u"stone"},
+        {u"digital", u"terabit"},
+        {u"digital", u"terabyte"},
+        {u"duration", u"week"},
+        {u"length", u"yard"},
+        {u"duration", u"year"},
+    };
+
+    for (const auto& cas1 : cases) {
+        for (const auto& cas2 : cases) {
+            UnicodeString skeleton(u"measure-unit/");
+            skeleton += cas1.type;
+            skeleton += u"-";
+            skeleton += cas1.subtype;
+            skeleton += u" ";
+            skeleton += u"per-measure-unit/";
+            skeleton += cas2.type;
+            skeleton += u"-";
+            skeleton += cas2.subtype;
+
+            status.setScope(skeleton);
+            UnicodeString actual = NumberFormatter::forSkeleton(skeleton, status).locale("ar")
+                                   .formatDouble(5142.3, status)
+                                   .toString(status);
+            status.errIfFailureAndReset();
+        }
+    }
+}
 
 #endif /* #if !UCONFIG_NO_FORMATTING */
index 8b0f7e0..5a26a7a 100644 (file)
@@ -238,11 +238,13 @@ void NumberFormatTest::runIndexedTest( int32_t index, UBool exec, const char* &n
   TESTCASE_AUTO(Test13840_ParseLongStringCrash);
   TESTCASE_AUTO(Test13850_EmptyStringCurrency);
   TESTCASE_AUTO(Test20348_CurrencyPrefixOverride);
+  TESTCASE_AUTO(Test20956_MonetarySymbolGetters);
   TESTCASE_AUTO(Test20358_GroupingInPattern);
   TESTCASE_AUTO(Test13731_DefaultCurrency);
   TESTCASE_AUTO(Test20499_CurrencyVisibleDigitsPlural);
   TESTCASE_AUTO(Test13735_GroupingSizeGetter);
   TESTCASE_AUTO(Test13734_StrictFlexibleWhitespace);
+  TESTCASE_AUTO(Test20961_CurrencyPluralPattern);
   TESTCASE_AUTO_END;
 }
 
@@ -2164,10 +2166,16 @@ void NumberFormatTest::TestCurrencyUnit(void){
     static const UChar BAD2[] = u"??A";
     static const UChar XXX[]  = u"XXX";
     static const char XXX8[]  =  "XXX";
+    static const UChar XYZ[]  = u"XYZ";
+    static const char XYZ8[]  =  "XYZ";
     static const UChar INV[]  = u"{$%";
     static const char INV8[]  =  "{$%";
     static const UChar ZZZ[]  = u"zz";
     static const char ZZZ8[]  = "zz";
+    static const UChar JPY[]  = u"JPY";
+    static const char JPY8[]  =  "JPY";
+    static const UChar jpy[]  = u"jpy";
+    static const char jpy8[]  =  "jpy";
 
     UChar* EUR = (UChar*) malloc(6);
     EUR[0] = u'E';
@@ -2180,10 +2188,16 @@ void NumberFormatTest::TestCurrencyUnit(void){
 
     CurrencyUnit cu(USD, ec);
     assertSuccess("CurrencyUnit", ec);
-
     assertEquals("getISOCurrency()", USD, cu.getISOCurrency());
     assertEquals("getSubtype()", USD8, cu.getSubtype());
 
+    // Test XYZ, a valid but non-standard currency.
+    // Note: Country code XY is private-use, so XYZ should remain unallocated.
+    CurrencyUnit extended(XYZ, ec);
+    assertSuccess("non-standard", ec);
+    assertEquals("non-standard", XYZ, extended.getISOCurrency());
+    assertEquals("non-standard", XYZ8, extended.getSubtype());
+
     CurrencyUnit inv(INV, ec);
     assertEquals("non-invariant", U_INVARIANT_CONVERSION_ERROR, ec);
     assertEquals("non-invariant", XXX, inv.getISOCurrency());
@@ -2257,15 +2271,20 @@ void NumberFormatTest::TestCurrencyUnit(void){
     // Test slicing
     MeasureUnit sliced1 = cu;
     MeasureUnit sliced2 = cu;
+    MeasureUnit sliced3 = extended;
     assertEquals("Subtype after slicing 1", USD8, sliced1.getSubtype());
     assertEquals("Subtype after slicing 2", USD8, sliced2.getSubtype());
+    assertEquals("Subtype after slicing 3", XYZ8, sliced3.getSubtype());
     CurrencyUnit restored1(sliced1, ec);
     CurrencyUnit restored2(sliced2, ec);
+    CurrencyUnit restored3(sliced3, ec);
     assertSuccess("Restoring from MeasureUnit", ec);
     assertEquals("Subtype after restoring 1", USD8, restored1.getSubtype());
     assertEquals("Subtype after restoring 2", USD8, restored2.getSubtype());
+    assertEquals("Subtype after restoring 3", XYZ8, restored3.getSubtype());
     assertEquals("ISO Code after restoring 1", USD, restored1.getISOCurrency());
     assertEquals("ISO Code after restoring 2", USD, restored2.getISOCurrency());
+    assertEquals("ISO Code after restoring 3", XYZ, restored3.getISOCurrency());
 
     // Test copy constructor failure
     LocalPointer<MeasureUnit> meter(MeasureUnit::createMeter(ec));
@@ -2274,6 +2293,27 @@ void NumberFormatTest::TestCurrencyUnit(void){
     assertEquals("Copying from meter should fail", ec, U_ILLEGAL_ARGUMENT_ERROR);
     assertEquals("Copying should not give uninitialized ISO code", u"", failure.getISOCurrency());
 
+    // Test equality
+    ec = U_ZERO_ERROR;
+    assertFalse("FAIL: USD == JPY", CurrencyUnit(USD, ec) == CurrencyUnit(JPY, ec));
+    assertTrue("FAIL: USD != USD",  CurrencyUnit(USD, ec) == CurrencyUnit(USD, ec));
+    assertTrue("FAIL: JPY != jpy",  CurrencyUnit(JPY, ec) == CurrencyUnit(jpy, ec));
+    assertTrue("FAIL: jpy != JPY",  CurrencyUnit(jpy, ec) == CurrencyUnit(JPY, ec));
+
+    // Test equality with system charset instances
+    assertFalse("FAIL: USD8 == JPY8", CurrencyUnit(USD8, ec) == CurrencyUnit(JPY8, ec));
+    assertTrue("FAIL: USD8 != USD8",  CurrencyUnit(USD8, ec) == CurrencyUnit(USD8, ec));
+    assertTrue("FAIL: JPY8 != jpy8",  CurrencyUnit(JPY8, ec) == CurrencyUnit(jpy8, ec));
+    assertTrue("FAIL: jpy8 != JPY8",  CurrencyUnit(jpy8, ec) == CurrencyUnit(JPY8, ec));
+
+    // Test equality between UTF-16 and system charset instances
+    assertTrue("FAIL: USD != USD8",  CurrencyUnit(USD, ec) == CurrencyUnit(USD8, ec));
+    assertTrue("FAIL: USD8 != USD",  CurrencyUnit(USD8, ec) == CurrencyUnit(USD, ec));
+    assertTrue("FAIL: JPY != jpy8",  CurrencyUnit(JPY, ec) == CurrencyUnit(jpy8, ec));
+    assertTrue("FAIL: JPY8 != jpy",  CurrencyUnit(JPY8, ec) == CurrencyUnit(jpy, ec));
+    assertTrue("FAIL: jpy != JPY8",  CurrencyUnit(jpy, ec) == CurrencyUnit(JPY8, ec));
+    assertTrue("FAIL: jpy8 != JPY",  CurrencyUnit(jpy8, ec) == CurrencyUnit(JPY, ec));
+
     free(EUR);
     free(EUR8);
 }
@@ -9567,12 +9607,12 @@ void NumberFormatTest::Test13850_EmptyStringCurrency() {
         const char16_t* currencyArg;
         UErrorCode expectedError;
     } cases[] = {
-        {u"", U_ZERO_ERROR},
+        {u"", U_USING_FALLBACK_WARNING},
         {u"U", U_ILLEGAL_ARGUMENT_ERROR},
         {u"Us", U_ILLEGAL_ARGUMENT_ERROR},
-        {nullptr, U_ZERO_ERROR},
+        {nullptr, U_USING_FALLBACK_WARNING},
         {u"U$D", U_INVARIANT_CONVERSION_ERROR},
-        {u"Xxx", U_ZERO_ERROR}
+        {u"Xxx", U_USING_FALLBACK_WARNING}
     };
     for (const auto& cas : cases) {
         UnicodeString message(u"with currency arg: ");
@@ -9635,6 +9675,38 @@ void NumberFormatTest::Test20348_CurrencyPrefixOverride() {
         u"$100.00", fmt->format(100, result.remove(), NULL, status));
 }
 
+void NumberFormatTest::Test20956_MonetarySymbolGetters() {
+    IcuTestErrorCode status(*this, "Test20956_MonetarySymbolGetters");
+    LocalPointer<DecimalFormat> decimalFormat(static_cast<DecimalFormat*>(
+        NumberFormat::createCurrencyInstance("et", status)));
+    if (status.errDataIfFailureAndReset()) {
+        return;
+    }
+
+    decimalFormat->setCurrency(u"EEK");
+
+    const DecimalFormatSymbols* decimalFormatSymbols = decimalFormat->getDecimalFormatSymbols();
+    assertEquals("MONETARY DECIMAL SEPARATOR",
+        u".",
+        decimalFormatSymbols->getSymbol(DecimalFormatSymbols::kMonetarySeparatorSymbol));
+    assertEquals("DECIMAL SEPARATOR",
+        u",",
+        decimalFormatSymbols->getSymbol(DecimalFormatSymbols::kDecimalSeparatorSymbol));
+    assertEquals("MONETARY GROUPING SEPARATOR",
+        u" ",
+        decimalFormatSymbols->getSymbol(DecimalFormatSymbols::kMonetaryGroupingSeparatorSymbol));
+    assertEquals("GROUPING SEPARATOR",
+        u" ",
+        decimalFormatSymbols->getSymbol(DecimalFormatSymbols::kGroupingSeparatorSymbol));
+    assertEquals("CURRENCY SYMBOL",
+        u"kr",
+        decimalFormatSymbols->getSymbol(DecimalFormatSymbols::kCurrencySymbol));
+
+    UnicodeString sb;
+    decimalFormat->format(12345.12, sb, status);
+    assertEquals("OUTPUT", u"12 345.12 kr", sb);
+}
+
 void NumberFormatTest::Test20358_GroupingInPattern() {
     IcuTestErrorCode status(*this, "Test20358_GroupingInPattern");
     LocalPointer<DecimalFormat> fmt(static_cast<DecimalFormat*>(
@@ -9749,4 +9821,18 @@ void NumberFormatTest::Test13734_StrictFlexibleWhitespace() {
     }
 }
 
+void NumberFormatTest::Test20961_CurrencyPluralPattern() {
+    IcuTestErrorCode status(*this, "Test20961_CurrencyPluralPattern");
+    {
+        LocalPointer<DecimalFormat> decimalFormat(static_cast<DecimalFormat*>(
+            NumberFormat::createInstance("en-US", UNUM_CURRENCY_PLURAL, status)));
+        if (status.errDataIfFailureAndReset()) {
+            return;
+        }
+        UnicodeString result;
+        decimalFormat->toPattern(result);
+        assertEquals("Currency pattern", u"#,##0.00 ¤¤¤", result);
+    }
+}
+
 #endif /* #if !UCONFIG_NO_FORMATTING */
index 80abc71..068ad58 100644 (file)
@@ -294,11 +294,13 @@ class NumberFormatTest: public CalendarTimeZoneTest {
     void Test13840_ParseLongStringCrash();
     void Test13850_EmptyStringCurrency();
     void Test20348_CurrencyPrefixOverride();
+    void Test20956_MonetarySymbolGetters();
     void Test20358_GroupingInPattern();
     void Test13731_DefaultCurrency();
     void Test20499_CurrencyVisibleDigitsPlural();
     void Test13735_GroupingSizeGetter();
     void Test13734_StrictFlexibleWhitespace();
+    void Test20961_CurrencyPluralPattern();
 
  private:
     UBool testFormattableAsUFormattable(const char *file, int line, Formattable &f);
index ba01ca3..d5728bd 100644 (file)
@@ -14,6 +14,7 @@
 #include "unicode/utypes.h"
 #if !UCONFIG_NO_BREAK_ITERATION
 
+#include <sstream>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -35,6 +36,7 @@
 #include "unicode/uscript.h"
 #include "unicode/ustring.h"
 #include "unicode/utext.h"
+#include "unicode/utrace.h"
 
 #include "charstr.h"
 #include "cmemory.h"
@@ -125,6 +127,20 @@ void RBBITest::runIndexedTest( int32_t index, UBool exec, const char* &name, cha
     TESTCASE_AUTO(TestBug13447);
     TESTCASE_AUTO(TestReverse);
     TESTCASE_AUTO(TestBug13692);
+    TESTCASE_AUTO(TestDebugRules);
+
+#if U_ENABLE_TRACING
+    TESTCASE_AUTO(TestTraceCreateCharacter);
+    TESTCASE_AUTO(TestTraceCreateWord);
+    TESTCASE_AUTO(TestTraceCreateSentence);
+    TESTCASE_AUTO(TestTraceCreateTitle);
+    TESTCASE_AUTO(TestTraceCreateLine);
+    TESTCASE_AUTO(TestTraceCreateLineNormal);
+    TESTCASE_AUTO(TestTraceCreateLineLoose);
+    TESTCASE_AUTO(TestTraceCreateLineStrict);
+    TESTCASE_AUTO(TestTraceCreateBreakEngine);
+#endif
+
     TESTCASE_AUTO_END;
 }
 
@@ -1623,8 +1639,9 @@ std::string RBBIMonkeyKind::classNameFromCodepoint(const UChar32 c) {
 unsigned int RBBIMonkeyKind::maxClassNameSize() {
     unsigned int maxSize = 0;
     for (int aClassNum = 0; aClassNum < charClasses()->size(); aClassNum++) {
-        if (classNames[aClassNum].size() > maxSize) {
-            maxSize = classNames[aClassNum].size();
+        auto aClassNumSize = static_cast<unsigned int>(classNames[aClassNum].size());
+        if (aClassNumSize > maxSize) {
+            maxSize = aClassNumSize;
         }
     }
     return maxSize;
@@ -4268,7 +4285,7 @@ void RBBITest::RunMonkey(BreakIterator *bi, RBBIMonkeyKind &mk, const char *name
                     u_charName(c, U_EXTENDED_CHAR_NAME, cName, sizeof(cName), &status);
 
                     char buffer[200];
-                    snprintf(buffer, 200,
+                    auto ret = snprintf(buffer, UPRV_LENGTHOF(buffer),
                              "%4s %3i :  %1s  %1s  %10s  %-*s  %-40s  %-40s",
                              currentLineFlag.c_str(),
                              ci,
@@ -4278,6 +4295,8 @@ void RBBITest::RunMonkey(BreakIterator *bi, RBBIMonkeyKind &mk, const char *name
                              classNameSize,
                              mk.classNameFromCodepoint(c).c_str(),
                              mk.getAppliedRule(ci).c_str(), cName);
+                    (void)ret;
+                    U_ASSERT(0 <= ret && ret < UPRV_LENGTHOF(buffer));
 
                     // Output the error
                     if (ci == i) {
@@ -4783,6 +4802,19 @@ void RBBITest::TestBug13692() {
     assertSuccess(WHERE, status);
 }
 
+
+void RBBITest::TestProperties() {
+    UErrorCode errorCode = U_ZERO_ERROR;
+    UnicodeSet prependSet(UNICODE_STRING_SIMPLE("[:GCB=Prepend:]"), errorCode);
+    if (!prependSet.isEmpty()) {
+        errln(
+            "[:GCB=Prepend:] is not empty any more. "
+            "Uncomment relevant lines in source/data/brkitr/char.txt and "
+            "change this test to the opposite condition.");
+    }
+}
+
+
 //
 //  TestDebug    -  A place-holder test for debugging purposes.
 //                  For putting in fragments of other tests that can be invoked
@@ -4801,15 +4833,232 @@ void RBBITest::TestDebug(void) {
     assertSuccess(WHERE, status);
 }
 
-void RBBITest::TestProperties() {
-    UErrorCode errorCode = U_ZERO_ERROR;
-    UnicodeSet prependSet(UNICODE_STRING_SIMPLE("[:GCB=Prepend:]"), errorCode);
-    if (!prependSet.isEmpty()) {
-        errln(
-            "[:GCB=Prepend:] is not empty any more. "
-            "Uncomment relevant lines in source/data/brkitr/char.txt and "
-            "change this test to the opposite condition.");
+
+//
+//  TestDebugRules   A stub test for use in debugging rule compilation problems.
+//                   Can be freely altered as needed or convenient.
+//                   Leave disabled - #ifdef'ed out - when not activley debugging. The rule source
+//                   data files may not be available in all environments.
+//                   Any permanent test cases should be moved to rbbitst.txt
+//                   (see Bug 20303 in that file, for example), or to another test function in this file.
+//
+void RBBITest::TestDebugRules() {
+#if 0
+    const char16_t *rules = u""
+        "!!quoted_literals_only; \n"
+        "!!chain; \n"
+        "!!lookAheadHardBreak; \n"
+        " \n"
+        // "[a] / ; \n"
+        "[a] [b] / [c] [d]; \n"
+        "[a] [b] / [c] [d] {100}; \n"
+        "[x] [a] [b] / [c] [d] {100}; \n"
+        "[a] [b] [c] / [d] {100}; \n"
+        //" [c] [d] / [e] [f]; \n"
+        //"[a] [b] / [c]; \n"
+        ;
+
+    UErrorCode status = U_ZERO_ERROR;
+    CharString path(pathToDataDirectory(), status);
+    path.appendPathPart("brkitr", status);
+    path.appendPathPart("rules", status);
+    path.appendPathPart("line.txt", status);
+    int    len;
+    std::unique_ptr<UChar []> testFile(ReadAndConvertFile(path.data(), len, "UTF-8", status));
+    if (!assertSuccess(WHERE, status)) {
+        return;
+    }
+
+    UParseError pe;
+    // rules = testFile.get();
+    RuleBasedBreakIterator *bi = new RuleBasedBreakIterator(rules, pe, status);
+
+    if (!assertSuccess(WHERE, status)) {
+        delete bi;
+        return;
+    }
+    // bi->dumpTables();
+
+    delete bi;
+#endif
+}
+
+#if U_ENABLE_TRACING
+static std::vector<std::string> gData;
+static std::vector<int32_t> gEntryFn;
+static std::vector<int32_t> gExitFn;
+static std::vector<int32_t> gDataFn;
+
+static void U_CALLCONV traceData(
+        const void*,
+        int32_t fnNumber,
+        int32_t,
+        const char *,
+        va_list args) {
+    if (UTRACE_UBRK_START <= fnNumber && fnNumber <= UTRACE_UBRK_LIMIT) {
+        const char* data = va_arg(args, const char*);
+        gDataFn.push_back(fnNumber);
+        gData.push_back(data);
+    }
+}
+
+static void traceEntry(const void *, int32_t fnNumber) {
+    if (UTRACE_UBRK_START <= fnNumber && fnNumber <= UTRACE_UBRK_LIMIT) {
+        gEntryFn.push_back(fnNumber);
+    }
+}
+
+static void traceExit(const void *, int32_t fnNumber, const char *, va_list) {
+    if (UTRACE_UBRK_START <= fnNumber && fnNumber <= UTRACE_UBRK_LIMIT) {
+        gExitFn.push_back(fnNumber);
     }
 }
 
+
+void RBBITest::assertTestTraceResult(int32_t fnNumber, const char* expectedData) {
+    assertEquals("utrace_entry should be called ", 1, gEntryFn.size());
+    assertEquals("utrace_entry should be called with ", fnNumber, gEntryFn[0]);
+    assertEquals("utrace_exit should be called ", 1, gExitFn.size());
+    assertEquals("utrace_exit should be called with ", fnNumber, gExitFn[0]);
+
+    if (expectedData == nullptr) {
+      assertEquals("utrace_data should not be called ", 0, gDataFn.size());
+      assertEquals("utrace_data should not be called ", 0, gData.size());
+    } else {
+      assertEquals("utrace_data should be called ", 1, gDataFn.size());
+      assertEquals("utrace_data should be called with ", fnNumber, gDataFn[0]);
+      assertEquals("utrace_data should be called ", 1, gData.size());
+      assertEquals("utrace_data should pass in ", expectedData, gData[0].c_str());
+    }
+}
+
+void SetupTestTrace() {
+    gEntryFn.clear();
+    gExitFn.clear();
+    gDataFn.clear();
+    gData.clear();
+
+    const void* context = nullptr;
+    utrace_setFunctions(context, traceEntry, traceExit, traceData);
+    utrace_setLevel(UTRACE_INFO);
+}
+
+void RBBITest::TestTraceCreateCharacter(void) {
+    SetupTestTrace();
+    IcuTestErrorCode status(*this, "TestTraceCreateCharacter");
+    LocalPointer<BreakIterator> brkitr(
+        BreakIterator::createCharacterInstance("zh-CN", status));
+    status.errIfFailureAndReset();
+    assertTestTraceResult(UTRACE_UBRK_CREATE_CHARACTER, nullptr);
+}
+
+void RBBITest::TestTraceCreateTitle(void) {
+    SetupTestTrace();
+    IcuTestErrorCode status(*this, "TestTraceCreateTitle");
+    LocalPointer<BreakIterator> brkitr(
+        BreakIterator::createTitleInstance("zh-CN", status));
+    status.errIfFailureAndReset();
+    assertTestTraceResult(UTRACE_UBRK_CREATE_TITLE, nullptr);
+}
+
+void RBBITest::TestTraceCreateSentence(void) {
+    SetupTestTrace();
+    IcuTestErrorCode status(*this, "TestTraceCreateSentence");
+    LocalPointer<BreakIterator> brkitr(
+        BreakIterator::createSentenceInstance("zh-CN", status));
+    status.errIfFailureAndReset();
+    assertTestTraceResult(UTRACE_UBRK_CREATE_SENTENCE, nullptr);
+}
+
+void RBBITest::TestTraceCreateWord(void) {
+    SetupTestTrace();
+    IcuTestErrorCode status(*this, "TestTraceCreateWord");
+    LocalPointer<BreakIterator> brkitr(
+        BreakIterator::createWordInstance("zh-CN", status));
+    status.errIfFailureAndReset();
+    assertTestTraceResult(UTRACE_UBRK_CREATE_WORD, nullptr);
+}
+
+void RBBITest::TestTraceCreateLine(void) {
+    SetupTestTrace();
+    IcuTestErrorCode status(*this, "TestTraceCreateLine");
+    LocalPointer<BreakIterator> brkitr(
+        BreakIterator::createLineInstance("zh-CN", status));
+    status.errIfFailureAndReset();
+    assertTestTraceResult(UTRACE_UBRK_CREATE_LINE, "");
+}
+
+void RBBITest::TestTraceCreateLineStrict(void) {
+    SetupTestTrace();
+    IcuTestErrorCode status(*this, "TestTraceCreateLineStrict");
+    LocalPointer<BreakIterator> brkitr(
+        BreakIterator::createLineInstance("zh-CN-u-lb-strict", status));
+    status.errIfFailureAndReset();
+    assertTestTraceResult(UTRACE_UBRK_CREATE_LINE, "strict");
+}
+
+void RBBITest::TestTraceCreateLineNormal(void) {
+    SetupTestTrace();
+    IcuTestErrorCode status(*this, "TestTraceCreateLineNormal");
+    LocalPointer<BreakIterator> brkitr(
+        BreakIterator::createLineInstance("zh-CN-u-lb-normal", status));
+    status.errIfFailureAndReset();
+    assertTestTraceResult(UTRACE_UBRK_CREATE_LINE, "normal");
+}
+
+void RBBITest::TestTraceCreateLineLoose(void) {
+    SetupTestTrace();
+    IcuTestErrorCode status(*this, "TestTraceCreateLineLoose");
+    LocalPointer<BreakIterator> brkitr(
+        BreakIterator::createLineInstance("zh-CN-u-lb-loose", status));
+    status.errIfFailureAndReset();
+    assertTestTraceResult(UTRACE_UBRK_CREATE_LINE, "loose");
+}
+
+void RBBITest::TestTraceCreateBreakEngine(void) {
+    rbbi_cleanup();
+    SetupTestTrace();
+    IcuTestErrorCode status(*this, "TestTraceCreateBreakEngine");
+    LocalPointer<BreakIterator> brkitr(
+        BreakIterator::createWordInstance("zh-CN", status));
+    status.errIfFailureAndReset();
+    assertTestTraceResult(UTRACE_UBRK_CREATE_WORD, nullptr);
+
+    // To word break the following text, BreakIterator will create 5 dictionary
+    // break engine internally.
+    brkitr->setText(
+        u"test "
+        u"測試 " // Hani
+        u"សាកល្បង " // Khmr
+        u"ທົດສອບ " // Laoo
+        u"စမ်းသပ်မှု " // Mymr
+        u"ทดสอบ " // Thai
+        u"test "
+    );
+
+    // Loop through all the text.
+    while (brkitr->next() > 0) ;
+
+    assertEquals("utrace_entry should be called ", 6, gEntryFn.size());
+    assertEquals("utrace_exit should be called ", 6, gExitFn.size());
+    assertEquals("utrace_data should be called ", 5, gDataFn.size());
+
+    for (std::vector<int>::size_type i = 0; i < gDataFn.size(); i++) {
+        assertEquals("utrace_entry should be called ",
+                     UTRACE_UBRK_CREATE_BREAK_ENGINE, gEntryFn[i+1]);
+        assertEquals("utrace_exit should be called ",
+                     UTRACE_UBRK_CREATE_BREAK_ENGINE, gExitFn[i+1]);
+        assertEquals("utrace_data should be called ",
+                     UTRACE_UBRK_CREATE_BREAK_ENGINE, gDataFn[i]);
+    }
+
+    assertEquals("utrace_data should pass ", "Hani", gData[0].c_str());
+    assertEquals("utrace_data should pass ", "Khmr", gData[1].c_str());
+    assertEquals("utrace_data should pass ", "Laoo", gData[2].c_str());
+    assertEquals("utrace_data should pass ", "Mymr", gData[3].c_str());
+    assertEquals("utrace_data should pass ", "Thai", gData[4].c_str());
+
+}
+#endif
+
 #endif // #if !UCONFIG_NO_BREAK_ITERATION
index cfaf688..8f667e5 100644 (file)
@@ -82,10 +82,23 @@ public:
     void TestReverse();
     void TestReverse(std::unique_ptr<RuleBasedBreakIterator>bi);
     void TestBug13692();
+    void TestDebugRules();
 
     void TestDebug();
     void TestProperties();
 
+#if U_ENABLE_TRACING
+    void TestTraceCreateCharacter();
+    void TestTraceCreateWord();
+    void TestTraceCreateSentence();
+    void TestTraceCreateTitle();
+    void TestTraceCreateLine();
+    void TestTraceCreateLineNormal();
+    void TestTraceCreateLineStrict();
+    void TestTraceCreateLineLoose();
+    void TestTraceCreateBreakEngine();
+#endif
+
 /***********************/
 private:
     /**
@@ -119,6 +132,11 @@ private:
 
     // Test parameters, from the test framework and test invocation.
     const char* fTestParams;
+
+#if U_ENABLE_TRACING
+    void assertTestTraceResult(int32_t fnNumber, const char* expectedData);
+#endif
+
 };
 
 #endif /* #if !UCONFIG_NO_BREAK_ITERATION */
index efec8fd..5f7e36b 100644 (file)
@@ -31,6 +31,7 @@
 
 #include "unicode/localpointer.h"
 #include "unicode/regex.h"
+#include "unicode/stringpiece.h"
 #include "unicode/uchar.h"
 #include "unicode/ucnv.h"
 #include "unicode/uniset.h"
@@ -3500,11 +3501,15 @@ void RegexTest::regex_find(const UnicodeString &pattern,
     //    positions.
     //
     parsePat = RegexPattern::compile("<(/?)(r|[0-9]+)>", 0, pe, status);
-    REGEX_CHECK_STATUS_L(line);
+    if (!assertSuccess(WHERE, status) ) {
+        goto cleanupAndReturn;
+    }
 
     unEscapedInput = inputString.unescape();
     parseMatcher = parsePat->matcher(unEscapedInput, status);
-    REGEX_CHECK_STATUS_L(line);
+    if (!assertSuccess(WHERE, status) ) {
+        goto cleanupAndReturn;
+    }
     while(parseMatcher->find()) {
         parseMatcher->appendReplacement(deTaggedInput, "", status);
         REGEX_CHECK_STATUS;
@@ -4203,6 +4208,8 @@ void RegexTest::PerlTests() {
         if (expected != found) {
             errln("line %d: Expected %smatch, got %smatch",
                 lineNum, expected?"":"no ", found?"":"no " );
+            delete testMat;
+            delete testPat;
             continue;
         }
 
@@ -4598,6 +4605,8 @@ void RegexTest::PerlTestsUTF8() {
         if (expected != found) {
             errln("line %d: Expected %smatch, got %smatch",
                 lineNum, expected?"":"no ", found?"":"no " );
+            delete testMat;
+            delete testPat;
             continue;
         }
 
@@ -5830,11 +5839,11 @@ void RegexTest::TestBug12884() {
     REGEX_ASSERT(status == U_REGEX_TIME_OUT);
 
     // UText, wrapping non-UTF-16 text, also takes a different execution path.
-    const char *text8 = reinterpret_cast<const char*>(u8"¿Qué es Unicode?  Unicode proporciona un número único para cada"
+    StringPiece text8(u8"¿Qué es Unicode?  Unicode proporciona un número único para cada"
                           "carácter, sin importar la plataforma, sin importar el programa,"
                           "sin importar el idioma.");
     status = U_ZERO_ERROR;
-    LocalUTextPointer ut(utext_openUTF8(NULL, text8, -1, &status));
+    LocalUTextPointer ut(utext_openUTF8(NULL, text8.data(), text8.length(), &status));
     REGEX_CHECK_STATUS;
     m.reset(ut.getAlias());
     m.find(status);
index b2d72d9..482e241 100644 (file)
@@ -1395,6 +1395,14 @@ void NewResourceBundleTest::TestFilter() {
     }
 }
 
+/*
+ * The following test for ICU-20706 has infinite loops on certain inputs for
+ * locales and calendars.  In order to unblock the build (ICU-21055), those
+ * specific values are temporarily removed.
+ * The issue of the infinite loops and its blocking dependencies were captured
+ * in ICU-21080.
+ */
+
 void NewResourceBundleTest::TestIntervalAliasFallbacks() {
     const char* locales[] = {
         // Thee will not cause infinity loop
@@ -1402,6 +1410,7 @@ void NewResourceBundleTest::TestIntervalAliasFallbacks() {
         "ja",
 
         // These will cause infinity loop
+#if 0
         "fr_CA",
         "en_150",
         "es_419",
@@ -1413,6 +1422,7 @@ void NewResourceBundleTest::TestIntervalAliasFallbacks() {
         "zh_Hant",
         "zh_Hant_TW",
         "zh_TW",
+#endif
     };
     const char* calendars[] = {
         // These won't cause infinity loop
@@ -1420,6 +1430,7 @@ void NewResourceBundleTest::TestIntervalAliasFallbacks() {
         "chinese",
 
         // These will cause infinity loop
+#if 0
         "islamic",
         "islamic-civil",
         "islamic-tbla",
@@ -1428,6 +1439,7 @@ void NewResourceBundleTest::TestIntervalAliasFallbacks() {
         "islamic-rgsa",
         "japanese",
         "roc",
+#endif
     };
 
     for (int lidx = 0; lidx < UPRV_LENGTHOF(locales); lidx++) {
index d3b2d9c..45cc930 100644 (file)
@@ -39,6 +39,7 @@ public:
     void TestGetByFallback(void);
 
     void TestFilter(void);
+
     void TestIntervalAliasFallbacks(void);
 
 #if U_ENABLE_TRACING
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index dc81fb4..4093c51 100644 (file)
@@ -1314,7 +1314,8 @@ void StringCaseTest::TestCaseMapUTF8WithEdits() {
     Edits edits;
 
     int32_t length = CaseMap::utf8ToLower("tr", U_OMIT_UNCHANGED_TEXT,
-                                          reinterpret_cast<const char*>(u8"IstanBul"), 8, dest, UPRV_LENGTHOF(dest), &edits, errorCode);
+                                          reinterpret_cast<const char*>(u8"IstanBul"), 8,
+                                          dest, UPRV_LENGTHOF(dest), &edits, errorCode);
     assertEquals(u"toLower(IstanBul)", UnicodeString(u"ıb"),
                  UnicodeString::fromUTF8(StringPiece(dest, length)));
     static const EditChange lowerExpectedChanges[] = {
@@ -1330,7 +1331,8 @@ void StringCaseTest::TestCaseMapUTF8WithEdits() {
 
     edits.reset();
     length = CaseMap::utf8ToUpper("el", U_OMIT_UNCHANGED_TEXT,
-                                  reinterpret_cast<const char*>(u8"Πατάτα"), 6 * 2, dest, UPRV_LENGTHOF(dest), &edits, errorCode);
+                                  reinterpret_cast<const char*>(u8"Πατάτα"), 6 * 2,
+                                  dest, UPRV_LENGTHOF(dest), &edits, errorCode);
     assertEquals(u"toUpper(Πατάτα)", UnicodeString(u"ΑΤΑΤΑ"),
                  UnicodeString::fromUTF8(StringPiece(dest, length)));
     static const EditChange upperExpectedChanges[] = {
@@ -1370,7 +1372,8 @@ void StringCaseTest::TestCaseMapUTF8WithEdits() {
     // No explicit nor automatic edits.reset(). Edits should be appended.
     length = CaseMap::utf8Fold(U_OMIT_UNCHANGED_TEXT | U_EDITS_NO_RESET |
                                    U_FOLD_CASE_EXCLUDE_SPECIAL_I,
-                               reinterpret_cast<const char*>(u8"IßtanBul"), 1 + 2 + 6, dest, UPRV_LENGTHOF(dest), &edits, errorCode);
+                               reinterpret_cast<const char*>(u8"IßtanBul"), 1 + 2 + 6,
+                               dest, UPRV_LENGTHOF(dest), &edits, errorCode);
     assertEquals(u"foldCase(IßtanBul)", UnicodeString(u"ıssb"),
                  UnicodeString::fromUTF8(StringPiece(dest, length)));
     static const EditChange foldExpectedChanges[] = {
@@ -1454,44 +1457,44 @@ void StringCaseTest::TestCaseMapUTF8ToString() {
     StringByteSink<std::string> sink(&dest);
 
     // Omit unchanged text.
-    CaseMap::utf8ToLower("tr", U_OMIT_UNCHANGED_TEXT, reinterpret_cast<const char*>(u8"IstanBul"), sink, nullptr, errorCode);
+    CaseMap::utf8ToLower("tr", U_OMIT_UNCHANGED_TEXT, u8"IstanBul", sink, nullptr, errorCode);
     assertEquals(u"toLower(IstanBul)", UnicodeString(u"ıb"), UnicodeString::fromUTF8(dest));
     dest.clear();
-    CaseMap::utf8ToUpper("el", U_OMIT_UNCHANGED_TEXT, reinterpret_cast<const char*>(u8"Πατάτα"), sink, nullptr, errorCode);
+    CaseMap::utf8ToUpper("el", U_OMIT_UNCHANGED_TEXT, u8"Πατάτα", sink, nullptr, errorCode);
     assertEquals(u"toUpper(Πατάτα)", UnicodeString(u"ΑΤΑΤΑ"),
                  UnicodeString::fromUTF8(dest));
 #if !UCONFIG_NO_BREAK_ITERATION
     dest.clear();
     CaseMap::utf8ToTitle(
         "nl", U_OMIT_UNCHANGED_TEXT | U_TITLECASE_NO_BREAK_ADJUSTMENT | U_TITLECASE_NO_LOWERCASE,
-        nullptr, reinterpret_cast<const char*>(u8"IjssEL IglOo"), sink, nullptr, errorCode);
+        nullptr, u8"IjssEL IglOo", sink, nullptr, errorCode);
     assertEquals(u"toTitle(IjssEL IglOo)", UnicodeString(u"J"),
                  UnicodeString::fromUTF8(dest));
 #endif
     dest.clear();
     CaseMap::utf8Fold(U_OMIT_UNCHANGED_TEXT | U_FOLD_CASE_EXCLUDE_SPECIAL_I,
-                      reinterpret_cast<const char*>(u8"IßtanBul"), sink, nullptr, errorCode);
+                      u8"IßtanBul", sink, nullptr, errorCode);
     assertEquals(u"foldCase(IßtanBul)", UnicodeString(u"ıssb"),
                  UnicodeString::fromUTF8(dest));
 
     // Return the whole result string.
     dest.clear();
-    CaseMap::utf8ToLower("tr", 0, reinterpret_cast<const char*>(u8"IstanBul"), sink, nullptr, errorCode);
+    CaseMap::utf8ToLower("tr", 0, u8"IstanBul", sink, nullptr, errorCode);
     assertEquals(u"toLower(IstanBul)", UnicodeString(u"ıstanbul"),
                  UnicodeString::fromUTF8(dest));
     dest.clear();
-    CaseMap::utf8ToUpper("el", 0, reinterpret_cast<const char*>(u8"Πατάτα"), sink, nullptr, errorCode);
+    CaseMap::utf8ToUpper("el", 0, u8"Πατάτα", sink, nullptr, errorCode);
     assertEquals(u"toUpper(Πατάτα)", UnicodeString(u"ΠΑΤΑΤΑ"),
                  UnicodeString::fromUTF8(dest));
 #if !UCONFIG_NO_BREAK_ITERATION
     dest.clear();
     CaseMap::utf8ToTitle("nl", U_TITLECASE_NO_BREAK_ADJUSTMENT | U_TITLECASE_NO_LOWERCASE,
-                         nullptr, reinterpret_cast<const char*>(u8"IjssEL IglOo"), sink, nullptr, errorCode);
+                         nullptr, u8"IjssEL IglOo", sink, nullptr, errorCode);
     assertEquals(u"toTitle(IjssEL IglOo)", UnicodeString(u"IJssEL IglOo"),
                  UnicodeString::fromUTF8(dest));
 #endif
     dest.clear();
-    CaseMap::utf8Fold(U_FOLD_CASE_EXCLUDE_SPECIAL_I, reinterpret_cast<const char*>(u8"IßtanBul"), sink, nullptr, errorCode);
+    CaseMap::utf8Fold(U_FOLD_CASE_EXCLUDE_SPECIAL_I, u8"IßtanBul", sink, nullptr, errorCode);
     assertEquals(u"foldCase(IßtanBul)", UnicodeString(u"ısstanbul"),
                  UnicodeString::fromUTF8(dest));
 }
index 7bb9662..1185d31 100644 (file)
@@ -166,7 +166,7 @@ void
 StringTest::TestUpperOrdinal() {
     for (int32_t i = 0;; ++i) {
         char ic = nativeInvChars[i];
-        uint8_t ac = asciiInvChars[i];
+        uint8_t ac = static_cast<uint8_t>(asciiInvChars[i]);
         int32_t expected = ac - 'A';
         int32_t actual = uprv_upperOrdinal(ic);
         if (0 <= expected && expected <= 25) {
@@ -188,7 +188,7 @@ void
 StringTest::TestLowerOrdinal() {
     for (int32_t i = 0;; ++i) {
         char ic = nativeInvChars[i];
-        uint8_t ac = asciiInvChars[i];
+        uint8_t ac = static_cast<uint8_t>(asciiInvChars[i]);
         int32_t expected = ac - 'a';
         int32_t actual = uprv_lowerOrdinal(ic);
         if (0 <= expected && expected <= 25) {
@@ -243,13 +243,16 @@ void StringTest::runIndexedTest(int32_t index, UBool exec, const char *&name, ch
     TESTCASE_AUTO(TestSTLCompatibility);
     TESTCASE_AUTO(TestStringPiece);
     TESTCASE_AUTO(TestStringPieceComparisons);
+    TESTCASE_AUTO(TestStringPieceFind);
     TESTCASE_AUTO(TestStringPieceOther);
 #ifdef U_HAVE_STRING_VIEW
     TESTCASE_AUTO(TestStringPieceStringView);
 #endif
+    TESTCASE_AUTO(TestStringPieceU8);
     TESTCASE_AUTO(TestByteSink);
     TESTCASE_AUTO(TestCheckedArrayByteSink);
     TESTCASE_AUTO(TestStringByteSink);
+    TESTCASE_AUTO(TestStringByteSinkAppendU8);
     TESTCASE_AUTO(TestCharString);
     TESTCASE_AUTO(TestCStr);
     TESTCASE_AUTO(Testctou);
@@ -264,7 +267,7 @@ StringTest::TestStringPiece() {
         errln("StringPiece() failed");
     }
     // Construct from NULL const char * pointer.
-    StringPiece null(NULL);
+    StringPiece null((const char *)nullptr);
     if(!null.empty() || null.data()!=NULL || null.length()!=0 || null.size()!=0) {
         errln("StringPiece(NULL) failed");
     }
@@ -394,7 +397,7 @@ StringTest::TestStringPiece() {
 void
 StringTest::TestStringPieceComparisons() {
     StringPiece empty;
-    StringPiece null(NULL);
+    StringPiece null(nullptr);
     StringPiece abc("abc");
     StringPiece abcd("abcdefg", 4);
     StringPiece abx("abx");
@@ -407,6 +410,35 @@ StringTest::TestStringPieceComparisons() {
     if(abc==abcd) {
         errln("abc==abcd");
     }
+
+    assertTrue("null<abc", null.compare(abc) < 0);
+    assertTrue("abc>null", abc.compare(null) > 0);
+    assertTrue("abc<abcd", abc.compare(abcd) < 0);
+    assertTrue("abcd>abc", abcd.compare(abc) > 0);
+    assertTrue("abc<abx", abc.compare(abx) < 0);
+    assertTrue("abx>abc", abx.compare(abc) > 0);
+    assertTrue("abx>abcd", abx.compare(abcd) > 0);
+    assertTrue("abcd<abx", abcd.compare(abx) < 0);
+    assertTrue("abx==abx", abx.compare(abx) == 0);
+
+    // Behavior should be the same as std::string::compare
+    {
+        std::string null("");
+        std::string abc("abc");
+        std::string abcd("abcdefg", 4);
+        std::string abx("abx");
+
+        assertTrue("std: null<abc", null.compare(abc) < 0);
+        assertTrue("std: abc>null", abc.compare(null) > 0);
+        assertTrue("std: abc<abcd", abc.compare(abcd) < 0);
+        assertTrue("std: abcd>abc", abcd.compare(abc) > 0);
+        assertTrue("std: abc<abx", abc.compare(abx) < 0);
+        assertTrue("std: abx>abc", abx.compare(abc) > 0);
+        assertTrue("std: abx>abcd", abx.compare(abcd) > 0);
+        assertTrue("std: abcd<abx", abcd.compare(abx) < 0);
+        assertTrue("std: abx==abx", abx.compare(abx) == 0);
+    }
+
     abcd.remove_suffix(1);
     if(abc!=abcd) {
         errln("abc!=abcd.remove_suffix(1)");
@@ -417,6 +449,51 @@ StringTest::TestStringPieceComparisons() {
 }
 
 void
+StringTest::TestStringPieceFind() {
+    struct TestCase {
+        const char* haystack;
+        const char* needle;
+        int32_t expected;
+    } cases[] = {
+        { "", "", 0 },
+        { "", "x", -1 },
+        { "x", "", 0 },
+        { "x", "x", 0 },
+        { "xy", "x", 0 },
+        { "xy", "y", 1 },
+        { "xy", "xy", 0 },
+        { "xy", "xyz", -1 },
+        { "qwerty", "qqw", -1 },
+        { "qwerty", "qw", 0 },
+        { "qwerty", "er", 2 },
+        { "qwerty", "err", -1 },
+        { "qwerty", "ert", 2 },
+        { "qwerty", "ty", 4 },
+        { "qwerty", "tyy", -1 },
+        { "qwerty", "a", -1 },
+        { "qwerty", "abc", -1 }
+    };
+    int32_t caseNumber = 0;
+    for (auto& cas : cases) {
+        StringPiece haystack(cas.haystack);
+        StringPiece needle(cas.needle);
+        assertEquals(Int64ToUnicodeString(caseNumber),
+            cas.expected, haystack.find(needle, 0));
+        // Should be same as std::string::find
+        std::string stdhaystack(cas.haystack);
+        std::string stdneedle(cas.needle);
+        assertEquals(Int64ToUnicodeString(caseNumber) + u" (std)",
+            cas.expected, stdhaystack.find(stdneedle, 0));
+        // Test offsets against std::string::find
+        for (int32_t offset = 0; offset < haystack.length(); offset++) {
+            assertEquals(Int64ToUnicodeString(caseNumber) + "u @ " + Int64ToUnicodeString(offset),
+                stdhaystack.find(stdneedle, offset), haystack.find(needle, offset));
+        }
+        caseNumber++;
+    }
+}
+
+void
 StringTest::TestStringPieceOther() {
     static constexpr char msg[] = "Kapow!";
 
@@ -429,7 +506,7 @@ StringTest::TestStringPieceOther() {
     Other other;
     StringPiece piece(other);
 
-    assertEquals("size()", piece.size(), other.size());
+    assertEquals("size()", piece.size(), static_cast<int32_t>(other.size()));
     assertEquals("data()", piece.data(), other.data());
 }
 
@@ -446,6 +523,52 @@ StringTest::TestStringPieceStringView() {
 }
 #endif
 
+void
+StringTest::TestStringPieceU8() {
+    // ICU-20984 "mitigate some C++20 char8_t breakages"
+    // For the following APIs there are overloads for both
+    // const char * and const char8_t *.
+    // A u8"string literal" has one type or the other
+    // depending on C++ version and compiler settings.
+    StringPiece abc(u8"abc");
+    assertEquals("abc.length", 3, abc.length());
+    assertEquals("abc", "\x61\x62\x63", abc.data());
+
+    StringPiece abc3(u8"abcdef", 3);
+    assertEquals("abc3.length", 3, abc3.length());
+    assertEquals("abc3[0]", 0x61, abc3.data()[0]);
+    assertEquals("abc3[1]", 0x62, abc3.data()[1]);
+    assertEquals("abc3[2]", 0x63, abc3.data()[2]);
+
+    StringPiece uvw("q");
+    uvw.set(u8"uvw");
+    assertEquals("uvw.length", 3, uvw.length());
+    assertEquals("uvw", "\x75\x76\x77", uvw.data());
+
+    StringPiece xyz("r");
+    xyz.set(u8"xyzXYZ", 3);
+    assertEquals("xyz.length", 3, xyz.length());
+    assertEquals("xyz[0]", 0x78, xyz.data()[0]);
+    assertEquals("xyz[1]", 0x79, xyz.data()[1]);
+    assertEquals("xyz[2]", 0x7a, xyz.data()[2]);
+
+    StringPiece null(nullptr);
+    assertTrue("null is empty", null.empty());
+    assertTrue("null is null", null.data() == nullptr);
+
+#ifdef __cpp_lib_char8_t
+    std::u8string_view u8sv(u8"sv");  // C++20
+    StringPiece u8svsp(u8sv);
+    assertEquals("u8svsp.length", 2, u8svsp.length());
+    assertEquals("u8svsp", "\x73\x76", u8svsp.data());
+
+    std::u8string u8str(u8"str");  // C++20
+    StringPiece u8strsp(u8str);
+    assertEquals("u8strsp.length", 3, u8strsp.length());
+    assertEquals("u8strsp", "\x73\x74\x72", u8strsp.data());
+#endif  // __cpp_lib_char8_t
+}
+
 // Verify that ByteSink is subclassable and Flush() overridable.
 class SimpleByteSink : public ByteSink {
 public:
@@ -578,6 +701,20 @@ StringTest::TestStringByteSink() {
     }
 }
 
+void
+StringTest::TestStringByteSinkAppendU8() {
+    // ICU-20984 "mitigate some C++20 char8_t breakages"
+    // For the following APIs there are overloads for both
+    // const char * and const char8_t *.
+    // A u8"string literal" has one type or the other
+    // depending on C++ version and compiler settings.
+    std::string result("abc");
+    StringByteSink<std::string> sink(&result);
+    sink.AppendU8("def", 3);
+    sink.AppendU8(u8"ghijkl", 4);
+    assertEquals("abcdefghij", "abcdef\x67\x68\x69\x6a", result.c_str());
+}
+
 #if defined(_MSC_VER)
 #include <vector>
 #endif
index 040c0b0..2a1b988 100644 (file)
@@ -43,14 +43,17 @@ private:
     void TestLowerOrdinal();
     void Test_UTF8_COUNT_TRAIL_BYTES();
     void TestStringPiece();
+    void TestStringPieceFind();
     void TestStringPieceComparisons();
     void TestStringPieceOther();
 #ifdef U_HAVE_STRING_VIEW
     void TestStringPieceStringView();
 #endif
+    void TestStringPieceU8();
     void TestByteSink();
     void TestCheckedArrayByteSink();
     void TestStringByteSink();
+    void TestStringByteSinkAppendU8();
     void TestSTLCompatibility();
     void TestCharString();
     void TestCStr();
index 965fca8..8e7bcb0 100644 (file)
@@ -196,6 +196,7 @@ TransliteratorTest::runIndexedTest(int32_t index, UBool exec,
         TESTCASE(82,TestHalfwidthFullwidth);
         TESTCASE(83,TestThai);
         TESTCASE(84,TestAny);
+        TESTCASE(85,TestBasicTransliteratorEvenWithoutData);
         default: name = ""; break;
     }
 }
@@ -1509,6 +1510,84 @@ void TransliteratorTest::TestNormalizationTransliterator() {
 }
 
 /**
+ * Test we can create basic transliterator even without data.
+ */
+void TransliteratorTest::TestBasicTransliteratorEvenWithoutData() {
+    const char16_t* TEST_DATA = u"\u0124e\u0301 \uFB01nd x";
+    const char16_t* EXPECTED_RESULTS[] = {
+        u"H\u0302e\u0301 \uFB01nd x",  // NFD
+        u"\u0124\u00E9 \uFB01nd x",  // NFC
+        u"H\u0302e\u0301 find x",  // NFKD
+        u"\u0124\u00E9 find x",  // NFKC
+        u"\u0124e\u0301 \uFB01nd x",  // Hex-Any
+        u"\u0125e\u0301 \uFB01nd x",  // Lower
+        u"\u0124e\uFB01ndx",  // [:^L:]Remove
+        u"H\u0302e\u0301 \uFB01nd ",  // NFD; [x]Remove
+        u"h\u0302e\u0301 find x",  // Lower; NFKD;
+        u"hefindx",  // Lower; NFKD; [:^L:]Remove; NFC;
+        u"\u0124e \uFB01nd x",  // [:Nonspacing Mark:] Remove;
+        u"He \uFB01nd x",  // NFD; [:Nonspacing Mark:] Remove; NFC;
+        // end
+        0
+    };
+
+    const char* BASIC_TRANSLITERATOR_ID[] = {
+        "NFD",
+        "NFC",
+        "NFKD",
+        "NFKC",
+        "Hex-Any",
+        "Lower",
+        "[:^L:]Remove",
+        "NFD; [x]Remove",
+        "Lower; NFKD;",
+        "Lower; NFKD; [:^L:]Remove; NFC;",
+        "[:Nonspacing Mark:] Remove;",
+        "NFD; [:Nonspacing Mark:] Remove; NFC;",
+        // end
+        0
+    };
+    const char* BASIC_TRANSLITERATOR_RULES[] = {
+        "::Lower; ::NFKD;",
+        "::Lower; ::NFKD; ::[:^L:]Remove; ::NFC;",
+        "::[:Nonspacing Mark:] Remove;",
+        "::NFD; ::[:Nonspacing Mark:] Remove; ::NFC;",
+        // end
+        0
+    };
+    for (int32_t i=0; BASIC_TRANSLITERATOR_ID[i]; i++) {
+        UErrorCode status = U_ZERO_ERROR;
+        UParseError parseError;
+        std::unique_ptr<Transliterator> translit(Transliterator::createInstance(
+            BASIC_TRANSLITERATOR_ID[i], UTRANS_FORWARD, parseError, status));
+        if (translit.get() == nullptr || !U_SUCCESS(status)) {
+            dataerrln("FAIL: createInstance %s failed", BASIC_TRANSLITERATOR_ID[i]);
+            continue;
+        }
+        UnicodeString data(TEST_DATA);
+        UnicodeString expected(EXPECTED_RESULTS[i]);
+        translit->transliterate(data);
+        if (data != expected) {
+            dataerrln(UnicodeString("FAIL: expected translit(") +
+                      BASIC_TRANSLITERATOR_ID[i] + ") = '" +
+                      EXPECTED_RESULTS[i] + "' but got '" + data);
+            continue;
+        }
+    }
+    for (int32_t i=0; BASIC_TRANSLITERATOR_RULES[i]; i++) {
+        UErrorCode status = U_ZERO_ERROR;
+        UParseError parseError;
+        std::unique_ptr<Transliterator> translit(Transliterator::createFromRules(
+            "Test",
+            BASIC_TRANSLITERATOR_RULES[i], UTRANS_FORWARD, parseError, status));
+        if (translit.get() == nullptr || !U_SUCCESS(status)) {
+            dataerrln("FAIL: createFromRules %s failed", BASIC_TRANSLITERATOR_RULES[i]);
+            continue;
+        }
+    }
+}
+
+/**
  * Test compound RBT rules.
  */
 void TransliteratorTest::TestCompoundRBT(void) {
index 8a2bcc6..64246d4 100644 (file)
@@ -369,6 +369,7 @@ private:
      */
     void TestRegisterAlias(void);
 
+    void TestBasicTransliteratorEvenWithoutData(void);
     //======================================================================
     // Support methods
     //======================================================================
index 886df6f..e478872 100644 (file)
@@ -14,6 +14,7 @@
 #include "unicode/errorcode.h"
 #include "unicode/normlzr.h"
 #include "unicode/stringoptions.h"
+#include "unicode/stringpiece.h"
 #include "unicode/uniset.h"
 #include "unicode/usetiter.h"
 #include "unicode/schriter.h"
@@ -1573,15 +1574,15 @@ BasicNormalizerTest::TestNormalizeUTF8WithEdits() {
     if(errorCode.errDataIfFailureAndReset("Normalizer2::getNFKCCasefoldInstance() call failed")) {
         return;
     }
-    static const char *const src =
-        reinterpret_cast<const char*>(u8"  AÄA\u0308A\u0308\u00ad\u0323Ä\u0323,\u00ad\u1100\u1161가\u11A8가\u3133  ");
-    std::string expected = reinterpret_cast<const char*>(u8"  aääạ\u0308ạ\u0308,가각갃  ");
+    static const StringPiece src =
+        u8"  AÄA\u0308A\u0308\u00ad\u0323Ä\u0323,\u00ad\u1100\u1161가\u11A8가\u3133  ";
+    StringPiece expected = u8"  aääạ\u0308ạ\u0308,가각갃  ";
     std::string result;
     StringByteSink<std::string> sink(&result, static_cast<int32_t>(expected.length()));
     Edits edits;
     nfkc_cf->normalizeUTF8(0, src, sink, &edits, errorCode);
     assertSuccess("normalizeUTF8 with Edits", errorCode.get());
-    assertEquals("normalizeUTF8 with Edits", expected.c_str(), result.c_str());
+    assertEquals("normalizeUTF8 with Edits", expected.data(), result.c_str());
     static const EditChange expectedChanges[] = {
         { FALSE, 2, 2 },  // 2 spaces
         { TRUE, 1, 1 },  // A→a
@@ -1607,12 +1608,12 @@ BasicNormalizerTest::TestNormalizeUTF8WithEdits() {
     assertTrue("isNormalizedUTF8(normalized)", nfkc_cf->isNormalizedUTF8(result, errorCode));
 
     // Omit unchanged text.
-    expected = reinterpret_cast<const char*>(u8"aääạ\u0308ạ\u0308가각갃");
+    expected = u8"aääạ\u0308ạ\u0308가각갃";
     result.clear();
     edits.reset();
     nfkc_cf->normalizeUTF8(U_OMIT_UNCHANGED_TEXT, src, sink, &edits, errorCode);
     assertSuccess("normalizeUTF8 omit unchanged", errorCode.get());
-    assertEquals("normalizeUTF8 omit unchanged", expected.c_str(), result.c_str());
+    assertEquals("normalizeUTF8 omit unchanged", expected.data(), result.c_str());
     assertTrue("normalizeUTF8 omit unchanged hasChanges", edits.hasChanges());
     assertEquals("normalizeUTF8 omit unchanged numberOfChanges", 9, edits.numberOfChanges());
     TestUtility::checkEditsIter(*this, u"normalizeUTF8 omit unchanged",
@@ -1623,12 +1624,12 @@ BasicNormalizerTest::TestNormalizeUTF8WithEdits() {
     // With filter: The normalization code does not see the "A" substrings.
     UnicodeSet filter(u"[^A]", errorCode);
     FilteredNormalizer2 fn2(*nfkc_cf, filter);
-    expected = reinterpret_cast<const char*>(u8"  AäA\u0308A\u0323\u0308ạ\u0308,가각갃  ");
+    expected = u8"  AäA\u0308A\u0323\u0308ạ\u0308,가각갃  ";
     result.clear();
     edits.reset();
     fn2.normalizeUTF8(0, src, sink, &edits, errorCode);
     assertSuccess("filtered normalizeUTF8", errorCode.get());
-    assertEquals("filtered normalizeUTF8", expected.c_str(), result.c_str());
+    assertEquals("filtered normalizeUTF8", expected.data(), result.c_str());
     static const EditChange filteredChanges[] = {
         { FALSE, 3, 3 },  // 2 spaces + A
         { TRUE, 2, 2 },  // Ä→ä
@@ -1655,12 +1656,12 @@ BasicNormalizerTest::TestNormalizeUTF8WithEdits() {
     // Omit unchanged text.
     // Note that the result is not normalized because the inner normalizer
     // does not see text across filter spans.
-    expected = reinterpret_cast<const char*>(u8"ä\u0323\u0308ạ\u0308가각갃");
+    expected = u8"ä\u0323\u0308ạ\u0308가각갃";
     result.clear();
     edits.reset();
     fn2.normalizeUTF8(U_OMIT_UNCHANGED_TEXT, src, sink, &edits, errorCode);
     assertSuccess("filtered normalizeUTF8 omit unchanged", errorCode.get());
-    assertEquals("filtered normalizeUTF8 omit unchanged", expected.c_str(), result.c_str());
+    assertEquals("filtered normalizeUTF8 omit unchanged", expected.data(), result.c_str());
     assertTrue("filtered normalizeUTF8 omit unchanged hasChanges", edits.hasChanges());
     assertEquals("filtered normalizeUTF8 omit unchanged numberOfChanges", 7, edits.numberOfChanges());
     TestUtility::checkEditsIter(*this, u"filtered normalizeUTF8 omit unchanged",
@@ -1777,13 +1778,13 @@ BasicNormalizerTest::TestComposeJamoTBase() {
     assertFalse("isNormalized(LV+11A7)", nfkc->isNormalized(s, errorCode));
     assertTrue("isNormalized(normalized)", nfkc->isNormalized(result, errorCode));
 
-    std::string s8(reinterpret_cast<const char*>(u8"\u1100\u1161\u11A7\u1100\u314F\u11A7가\u11A7"));
-    std::string expected8(reinterpret_cast<const char*>(u8"가\u11A7가\u11A7가\u11A7"));
+    StringPiece s8(u8"\u1100\u1161\u11A7\u1100\u314F\u11A7가\u11A7");
+    StringPiece expected8(u8"가\u11A7가\u11A7가\u11A7");
     std::string result8;
-    StringByteSink<std::string> sink(&result8, static_cast<int32_t>(expected8.length()));
+    StringByteSink<std::string> sink(&result8, expected8.length());
     nfkc->normalizeUTF8(0, s8, sink, nullptr, errorCode);
     assertSuccess("normalizeUTF8(LV+11A7)", errorCode.get());
-    assertEquals("normalizeUTF8(LV+11A7)", expected8.c_str(), result8.c_str());
+    assertEquals("normalizeUTF8(LV+11A7)", expected8.data(), result8.c_str());
     assertFalse("isNormalizedUTF8(LV+11A7)", nfkc->isNormalizedUTF8(s8, errorCode));
     assertTrue("isNormalizedUTF8(normalized)", nfkc->isNormalizedUTF8(result8, errorCode));
 }
index 9346610..17492a7 100644 (file)
@@ -537,7 +537,7 @@ TimeZoneTest::TestGetAvailableIDsNew()
     const UnicodeString *id1, *id2;
     UnicodeString canonicalID;
     UBool isSystemID;
-    char region[4];
+    char region[4] = {0};
     int32_t zoneCount;
 
     any = canonical = canonicalLoc = any_US = canonical_US = canonicalLoc_US = any_W5 = any_CA_W5 = any_US_E14 = NULL;
index b6515ea..ad38bdf 100644 (file)
@@ -67,6 +67,7 @@ void UnicodeStringTest::runIndexedTest( int32_t index, UBool exec, const char* &
     TESTCASE_AUTO(TestWCharPointers);
     TESTCASE_AUTO(TestNullPointers);
     TESTCASE_AUTO(TestUnicodeStringInsertAppendToSelf);
+    TESTCASE_AUTO(TestLargeAppend);
     TESTCASE_AUTO_END;
 }
 
@@ -2310,3 +2311,64 @@ void UnicodeStringTest::TestUnicodeStringInsertAppendToSelf() {
     str.insert(2, sub);
     assertEquals("", u"abbcdcde", str);
 }
+
+void UnicodeStringTest::TestLargeAppend() {
+    if(quick) return;
+
+    IcuTestErrorCode status(*this, "TestLargeAppend");
+    // Make a large UnicodeString
+    int32_t len = 0xAFFFFFF;
+    UnicodeString str;
+    char16_t *buf = str.getBuffer(len);
+    // A fast way to set buffer to valid Unicode.
+    // 4E4E is a valid unicode character
+    uprv_memset(buf, 0x4e, len * 2);
+    str.releaseBuffer(len);
+    UnicodeString dest;
+    // Append it 16 times
+    // 0xAFFFFFF times 16 is 0xA4FFFFF1,
+    // which is greater than INT32_MAX, which is 0x7FFFFFFF.
+    int64_t total = 0;
+    for (int32_t i = 0; i < 16; i++) {
+        dest.append(str);
+        total += len;
+        if (total <= INT32_MAX) {
+            assertFalse("dest is not bogus", dest.isBogus());
+        } else {
+            assertTrue("dest should be bogus", dest.isBogus());
+        }
+    }
+    dest.remove();
+    total = 0;
+    for (int32_t i = 0; i < 16; i++) {
+        dest.append(str);
+        total += len;
+        if (total + len <= INT32_MAX) {
+            assertFalse("dest is not bogus", dest.isBogus());
+        } else if (total <= INT32_MAX) {
+            // Check that a string of exactly the maximum size works
+            UnicodeString str2;
+            int32_t remain = INT32_MAX - total;
+            char16_t *buf2 = str2.getBuffer(remain);
+            if (buf2 == nullptr) {
+                // if somehow memory allocation fail, return the test
+                return;
+            }
+            uprv_memset(buf2, 0x4e, remain * 2);
+            str2.releaseBuffer(remain);
+            dest.append(str2);
+            total += remain;
+            assertEquals("When a string of exactly the maximum size works", (int64_t)INT32_MAX, total);
+            assertEquals("When a string of exactly the maximum size works", INT32_MAX, dest.length());
+            assertFalse("dest is not bogus", dest.isBogus());
+
+            // Check that a string size+1 goes bogus
+            str2.truncate(1);
+            dest.append(str2);
+            total++;
+            assertTrue("dest should be bogus", dest.isBogus());
+        } else {
+            assertTrue("dest should be bogus", dest.isBogus());
+        }
+    }
+}
index 218befd..4a356a9 100644 (file)
@@ -97,6 +97,7 @@ public:
     void TestWCharPointers();
     void TestNullPointers();
     void TestUnicodeStringInsertAppendToSelf();
+    void TestLargeAppend();
 };
 
 #endif
index e11fdf2..b399d2d 100644 (file)
@@ -160,7 +160,7 @@ void UTS46Test::TestAPI() {
     char buffer[100];
     TestCheckedArrayByteSink sink(buffer, UPRV_LENGTHOF(buffer));
     errorCode=U_ZERO_ERROR;
-    nontrans->labelToUnicodeUTF8(StringPiece(NULL, 5), sink, info, errorCode);
+    nontrans->labelToUnicodeUTF8(StringPiece((const char *)NULL, 5), sink, info, errorCode);
     if(errorCode!=U_ILLEGAL_ARGUMENT_ERROR || sink.NumberOfBytesWritten()!=0) {
         errln("N.labelToUnicodeUTF8(StringPiece(NULL, 5)) did not set illegal-argument-error ",
               "or did output something - %s",
index 90fb7cb..abda337 100644 (file)
 # Before ICU 55, the following reordered together with Gothic.
 <1 𐌈  # Old Italic
 <1 𐑐  # Shavian
+
+# Check for presence of certain chars 乛冂刂卜又小彑艹日月爫牛辶 in
+# zh pinyin and stroke, ICU-13790
+# (bracket pinyin test with 卬..作, stroke test with 一..乾)
+
+** test: DataDrivenCollationTest/VerifyCertainCharsInPinyin
+@ locale zh-u-co-pinyin
+* compare
+< 卬
+< 卜
+< 艹
+< 辶
+< 刂
+< 彑
+< 冂
+< 牛
+< 日
+< 小
+< 乛
+< 又
+< 月
+< 爫
+< 作
+
+** test: DataDrivenCollationTest/VerifyCertainCharsInStroke
+@ locale zh-u-co-stroke
+* compare
+< 一
+< 乛
+< 冂
+< 刂
+< 卜
+< 又
+< 小
+< 彑
+< 艹
+< 日
+< 月
+< 爫
+< 牛
+< 辶
+< 乾
+
index 21c9b60..7a10986 100644 (file)
@@ -733,7 +733,7 @@ ja >> fr
 @favor=script
 en-GB >> en-GB
 en-US >> en
-fr >> en-GB
+fr >> en
 ja >> fr
 
 ** test: testEmptyWithDefault
@@ -761,8 +761,8 @@ en-GB >> en-GB
 en-US >> en
 fr-FR >> fr
 ja-JP >> fr
+zu >> en
 # For a language that doesn't match anything, return the default.
-zu >> en-GB
 zxx >> fr
 
 @favor=script
@@ -770,7 +770,7 @@ en-GB >> en-GB
 en-US >> en
 fr-FR >> fr
 ja-JP >> fr
-zu >> en-GB
+zu >> en
 zxx >> en
 
 ** test: TestExactMatch
@@ -1052,9 +1052,9 @@ en >> en-DE
 ar-EG >> ar-SY
 pt-BR >> pt
 ar-XB >> ar-XB
-ar-PSBIDI >> ar-XB  # These are equivalent.
+ar-PSBIDI >> ar-PSBIDI
 en-XA >> en-XA
-en-PSACCENT >> en-XA  # These are equivalent.
+en-PSACCENT >> en-PSACCENT
 ar-PSCRACK >> ar-PSCRACK
 
 @favor=script
@@ -1063,9 +1063,9 @@ en >> en-DE
 ar-EG >> ar-SY
 pt-BR >> pt
 ar-XB >> ar-XB
-ar-PSBIDI >> ar-XB  # These are equivalent.
+ar-PSBIDI >> ar-PSBIDI
 en-XA >> en-XA
-en-PSACCENT >> en-XA  # These are equivalent.
+en-PSACCENT >> en-PSACCENT
 ar-PSCRACK >> ar-PSCRACK
 
 ** test: BestMatchForTraditionalChinese
@@ -1322,7 +1322,7 @@ en >> en-US
 @favor=script
 und >> und
 ja >> und
-fr-CA >> en-GB
+fr-CA >> en-US
 en-AU >> en-GB
 en-BZ >> en-GB
 en-CA >> en-GB
@@ -1359,8 +1359,8 @@ fr >> und
 @supported=en-GB, en-US, en, en-AU
 und >> und
 ja >> und
-fr-CA >> en-GB
-fr >> en-GB
+fr-CA >> en-US
+fr >> en-US
 @supported=en-AU, ja, ca
 fr >> en-AU
 @supported=pl, ja, ca
@@ -1464,10 +1464,10 @@ da >> no
 @supported=en, nb
 da >> nb
 
-** test: prefer matching languages over language variants.
+** test: prefer matching languages over language variants. Get en-GB, should get nn?
 @supported=nn, en-GB
-no, en-US >> nn
-nb, en-US >> nn
+no, en-US >> en-GB
+nb, en-US >> en-GB
 
 @favor=script
 no, en-US >> nn
@@ -1544,50 +1544,44 @@ zh-TW, en >> en-US
 zh-Hant-CN, en >> en-US
 zh-Hans, en >> zh-Hans-CN
 
-** test: return first among likely-subtags equivalent locales
-# Was: more specific script should win in case regions are identical
-# with some different results.
+** test: return most originally similar among likely-subtags equivalent locales
 @supported=af, af-Latn, af-Arab
 af >> af
 af-ZA >> af
-af-Latn-ZA >> af
-af-Latn >> af
+af-Latn-ZA >> af-Latn
+af-Latn >> af-Latn
 
 @favor=script
 af >> af
 af-ZA >> af
-af-Latn-ZA >> af
-af-Latn >> af
+af-Latn-ZA >> af-Latn
+af-Latn >> af-Latn
 
-# Was: more specific region should win
-# with some different results.
 @supported=nl, nl-NL, nl-BE
 @favor=
 nl >> nl
 nl-Latn >> nl
-nl-Latn-NL >> nl
-nl-NL >> nl
+nl-Latn-NL >> nl-NL
+nl-NL >> nl-NL
 
 @favor=script
 nl >> nl
 nl-Latn >> nl
-nl-Latn-NL >> nl
-nl-NL >> nl
+nl-Latn-NL >> nl-NL
+nl-NL >> nl-NL
 
-# Was: more specific region wins over more specific script
-# with some different results.
 @supported=nl, nl-Latn, nl-NL, nl-BE
 @favor=
 nl >> nl
-nl-Latn >> nl
-nl-NL >> nl
-nl-Latn-NL >> nl
+nl-Latn >> nl-Latn
+nl-NL >> nl-NL
+nl-Latn-NL >> nl-Latn
 
 @favor=script
 nl >> nl
-nl-Latn >> nl
-nl-NL >> nl
-nl-Latn-NL >> nl
+nl-Latn >> nl-Latn
+nl-NL >> nl-NL
+nl-Latn-NL >> nl-Latn
 
 ** test: region may replace matched if matched is enclosing
 @supported=es-419, es
@@ -1670,22 +1664,22 @@ ja-Jpan-JP, en-GB >> ja
 ** test: pick best maximized tag
 @supported=ja, ja-Jpan-US, ja-JP, en, ru
 ja-Jpan, ru >> ja
-ja-JP, ru >> ja
+ja-JP, ru >> ja-JP
 ja-US, ru >> ja-Jpan-US
 
 @favor=script
 ja-Jpan, ru >> ja
-ja-JP, ru >> ja
+ja-JP, ru >> ja-JP
 ja-US, ru >> ja-Jpan-US
 
 ** test: termination: pick best maximized match
 @supported=ja, ja-Jpan, ja-JP, en, ru
-ja-Jpan-JP, ru >> ja
-ja-Jpan, ru >> ja
+ja-Jpan-JP, ru >> ja-Jpan
+ja-Jpan, ru >> ja-Jpan
 
 @favor=script
-ja-Jpan-JP, ru >> ja
-ja-Jpan, ru >> ja
+ja-Jpan-JP, ru >> ja-Jpan
+ja-Jpan, ru >> ja-Jpan
 
 ** test: same language over exact, but distinguish when user is explicit
 @supported=fr, en-GB, ja, es-ES, es-MX
@@ -1900,14 +1894,14 @@ zh-TW >> zh
 ** test: testGetBestMatchWithMinMatchScore
 @supported=fr-FR, fr, fr-CA, en
 @default=und
-fr >> fr-FR # First likely-subtags equivalent match is chosen.
+fr >> fr
 @supported=en, fr, fr-CA
 fr-FR >> fr # Parent match is chosen.
 @supported=en, fr-CA
 fr-FR >> fr-CA # Sibling match is chosen.
 @supported=fr-CA, fr-FR
 fr >> fr-FR # Inferred region match is chosen.
-fr-SN >> fr-CA
+fr-SN >> fr-FR
 @supported=en, fr-FR
 fr >> fr-FR # Child match is chosen.
 @supported=de, en, it
@@ -1930,14 +1924,14 @@ ru >> und
 
 @favor=script
 @supported=fr-FR, fr, fr-CA, en
-fr >> fr-FR
+fr >> fr
 @supported=en, fr, fr-CA
 fr-FR >> fr
 @supported=en, fr-CA
 fr-FR >> fr-CA
 @supported=fr-CA, fr-FR
 fr >> fr-FR
-fr-SN >> fr-CA
+fr-SN >> fr-FR
 @supported=en, fr-FR
 fr >> fr-FR
 @supported=de, en, it
@@ -1957,3 +1951,10 @@ ru >> uk
 zh-CN >> zh-TW
 @supported=ja
 ru >> und
+
+** test: favor a more-default locale among equally imperfect matches
+@supported=fr-CA, fr-CH, fr-FR, fr-GB
+fr-SN >> fr-FR
+@supported=sr-Latn, sr-Cyrl, sr-Grek
+@threshold=60
+sr-Thai >> sr-Cyrl
index b9c8558..24136ad 100644 (file)
@@ -951,7 +951,7 @@ compact-short currency/EUR sign-accounting-except-zero
   bn-BD
     ০€
     +৯২ হা€
-    (০.২২ €)
+    (০.২২€)
 
 compact-short measure-unit/length-furlong sign-accounting-except-zero
   es-MX
@@ -993,7 +993,7 @@ scientific/+ee/sign-always currency/EUR sign-accounting-except-zero
   bn-BD
     ০.০০E+০০€
     +৯.১৮E+০৪€
-    (২.২২E-০১ €)
+    (২.২২E-০১€)
 
 scientific/+ee/sign-always measure-unit/length-furlong sign-accounting-except-zero
   es-MX
@@ -2273,15 +2273,15 @@ compact-short precision-integer sign-accounting-except-zero
   es-MX
     0
     +92 k
-    -0
+    0
   zh-TW
     0
     +9萬
-    -0
+    0
   bn-BD
     ০
     +৯২ হা
-    -
+    ০
 
 compact-short .000 sign-accounting-except-zero
   es-MX
@@ -3877,7 +3877,7 @@ currency/EUR unit-width-narrow sign-accounting-except-zero
   bn-BD
     ০.০০€
     +৯১,৮২৭.৩৬€
-    (০.২২ €)
+    (০.২২€)
 
 currency/EUR unit-width-full-name sign-accounting-except-zero
   es-MX
@@ -4849,15 +4849,15 @@ percent precision-integer sign-accounting-except-zero
   es-MX
     0 %
     +91,827 %
-    -0 %
+    0 %
   zh-TW
     0%
     +91,827%
-    -0%
+    0%
   bn-BD
     ০%
     +৯১,৮২৭%
-    -০%
+    ০%
 
 percent .000 sign-accounting-except-zero
   es-MX
@@ -4905,15 +4905,15 @@ currency/EUR precision-integer sign-accounting-except-zero
   es-MX
     EUR 0
     +EUR 91,827
-    -EUR 0
+    EUR 0
   zh-TW
     €0
     +€91,827
-    (€0)
+    €0
   bn-BD
     ০€
     +৯১,৮২৭€
-    (০ €)
+    ০€
 
 currency/EUR .000 sign-accounting-except-zero
   es-MX
@@ -4927,7 +4927,7 @@ currency/EUR .000 sign-accounting-except-zero
   bn-BD
     ০.০০০€
     +৯১,৮২৭.৩৬৪€
-    (০.২২২ €)
+    (০.২২২€)
 
 currency/EUR .##/@@@+ sign-accounting-except-zero
   es-MX
@@ -4941,7 +4941,7 @@ currency/EUR .##/@@@+ sign-accounting-except-zero
   bn-BD
     ০€
     +৯১,৮২৭.৩৬€
-    (০.২২২ €)
+    (০.২২২€)
 
 currency/EUR @@ sign-accounting-except-zero
   es-MX
@@ -4955,21 +4955,21 @@ currency/EUR @@ sign-accounting-except-zero
   bn-BD
     ০.০€
     +৯২,০০০€
-    (০.২২ €)
+    (০.২২€)
 
 measure-unit/length-furlong precision-integer sign-accounting-except-zero
   es-MX
     0 fur
     +91,827 fur
-    -0 fur
+    0 fur
   zh-TW
     0 化朗
     +91,827 化朗
-    -0 化朗
+    0 化朗
   bn-BD
     ০ ফার্লং
     +৯১,৮২৭ ফার্লং
-    -০ ফার্লং
+    ০ ফার্লং
 
 measure-unit/length-furlong .000 sign-accounting-except-zero
   es-MX
@@ -5375,7 +5375,7 @@ currency/EUR rounding-mode-floor sign-accounting-except-zero
   bn-BD
     ০.০০€
     +৯১,৮২৭.৩৬€
-    (০.২৩ €)
+    (০.২৩€)
 
 measure-unit/length-furlong rounding-mode-floor sign-accounting-except-zero
   es-MX
@@ -5585,7 +5585,7 @@ currency/EUR integer-width/##00 sign-accounting-except-zero
   bn-BD
     ০০.০০€
     +১,৮২৭.৩৬€
-    (০০.২২ €)
+    (০০.২২€)
 
 measure-unit/length-furlong integer-width/##00 sign-accounting-except-zero
   es-MX
@@ -5753,7 +5753,7 @@ currency/EUR scale/0.5 sign-accounting-except-zero
   bn-BD
     ০.০০€
     +৪৫,৯১৩.৬৮€
-    (০.১১ €)
+    (০.১১€)
 
 measure-unit/length-furlong scale/0.5 sign-accounting-except-zero
   es-MX
@@ -5879,7 +5879,7 @@ currency/EUR group-on-aligned sign-accounting-except-zero
   bn-BD
     ০.০০€
     +৯১,৮২৭.৩৬€
-    (০.২২ €)
+    (০.২২€)
 
 measure-unit/length-furlong group-on-aligned sign-accounting-except-zero
   es-MX
@@ -5963,7 +5963,7 @@ currency/EUR latin sign-accounting-except-zero
   bn-BD
     0.00€
     +91,827.36€
-    (0.22 €)
+    (0.22€)
 
 measure-unit/length-furlong latin sign-accounting-except-zero
   es-MX
@@ -6047,7 +6047,7 @@ currency/EUR sign-accounting-except-zero decimal-always
   bn-BD
     ০.০০€
     +৯১,৮২৭.৩৬€
-    (০.২২ €)
+    (০.২২€)
 
 measure-unit/length-furlong sign-accounting-except-zero decimal-always
   es-MX
@@ -6627,15 +6627,15 @@ unit-width-narrow precision-integer sign-accounting-except-zero
   es-MX
     0
     +91,827
-    -0
+    0
   zh-TW
     0
     +91,827
-    -0
+    0
   bn-BD
     ০
     +৯১,৮২৭
-    -
+    ০
 
 unit-width-narrow .000 sign-accounting-except-zero
   es-MX
@@ -6683,15 +6683,15 @@ unit-width-full-name precision-integer sign-accounting-except-zero
   es-MX
     0
     +91,827
-    -0
+    0
   zh-TW
     0
     +91,827
-    -0
+    0
   bn-BD
     ০
     +৯১,৮২৭
-    -
+    ০
 
 unit-width-full-name .000 sign-accounting-except-zero
   es-MX
@@ -7943,15 +7943,15 @@ precision-integer integer-width/##00 sign-accounting-except-zero
   es-MX
     00
     +1827
-    -00
+    00
   zh-TW
     00
     +1,827
-    -00
+    00
   bn-BD
     ০০
     +১,৮২৭
-    -০০
+    ০০
 
 .000 integer-width/##00 sign-accounting-except-zero
   es-MX
@@ -8167,15 +8167,15 @@ precision-integer scale/0.5 sign-accounting-except-zero
   es-MX
     0
     +45,914
-    -0
+    0
   zh-TW
     0
     +45,914
-    -0
+    0
   bn-BD
     ০
     +৪৫,৯১৪
-    -
+    ০
 
 .000 scale/0.5 sign-accounting-except-zero
   es-MX
@@ -8335,15 +8335,15 @@ precision-integer group-on-aligned sign-accounting-except-zero
   es-MX
     0
     +91,827
-    -0
+    0
   zh-TW
     0
     +91,827
-    -0
+    0
   bn-BD
     ০
     +৯১,৮২৭
-    -
+    ০
 
 .000 group-on-aligned sign-accounting-except-zero
   es-MX
@@ -8447,15 +8447,15 @@ precision-integer latin sign-accounting-except-zero
   es-MX
     0
     +91,827
-    -0
+    0
   zh-TW
     0
     +91,827
-    -0
+    0
   bn-BD
     0
     +91,827
-    -0
+    0
 
 .000 latin sign-accounting-except-zero
   es-MX
@@ -8559,15 +8559,15 @@ precision-integer sign-accounting-except-zero decimal-always
   es-MX
     0.
     +91,827.
-    -0.
+    0.
   zh-TW
     0.
     +91,827.
-    -0.
+    0.
   bn-BD
     ০.
     +৯১,৮২৭.
-    -০.
+    ০.
 
 .000 sign-accounting-except-zero decimal-always
   es-MX
index 240dbdd..9962f94 100644 (file)
@@ -1991,3 +1991,23 @@ Bangkok)•</data>
 •
 •より<400>詳しい<400>こと<400>を<400>お<400>知<400>り<400>に<400>なり<400>たい<400>方<400>は<400>、•Glossary<200>,• •Technical<200> •Introduction<200> •および<400> •Useful<200> •Resources<200>を<400>ご<400>参照<400>くだ<400>さい<400>。•
 •</data>
+
+
+#
+# Bug 20303 Multiple Look-ahead rules with similar contexts.
+#           Check that samples of such rules are being handled correctly.
+#
+
+<rules>
+!!forward;
+!!quoted_literals_only;
+!!chain;
+[a] [b] / [c] [d];
+[a] [b] / [c] [d] {100};
+[a] [b] / [e] [f] {200};
+[a] [b] / [e] [g] {300};
+[a] [b] [c] [h] {400};
+[x] [a] [b] / [c] [d] {500};
+[y] [a] [b] [c] [d] {600};
+</rules>
+<data>•ab<100>c•d•ab<200>e•f•ab<300>e•g•abch<400>xab<500>c•d•yabcd<600></data>
index 9135612..4609ee9 100644 (file)
 "(\S+).*?(\S+).*"              "<0><1>Not-spaces</1>   <2>more-non-spaces</2>  </0>"
 
 # \X  consume one Grapheme Cluster.
-"(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?"   "<0><1>A</1><2>B</2><3> </3><4>\r\n</4></0>"
-"(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?"   "<0><1>A\u0301</1><2>\n</2><3>\u0305</3><4>a\u0302\u0303\u0304</4></0>"
-"(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?"   "<0><1>\u1100\u1161\u11a8</1><2>\u115f\u11a2\u11f9</2></0>"
-"(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?"   "<0><1>\u1100\uac01</1><2>\uac02</2><3>\uac03\u11b0</3></0>"
-"(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?"   "<0><1>\u1100\u1101\uac02\u0301</1><2>\u1100</2></0>"
+"(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?"  v  "<0><1>A</1><2>B</2><3> </3><4>\r\n</4></0>"
+"(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?"  v  "<0><1>A\u0301</1><2>\n</2><3>\u0305</3><4>a\u0302\u0303\u0304</4></0>"
+"(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?"  v  "<0><1>\u1100\u1161\u11a8</1><2>\u115f\u11a2\u11f9</2></0>"
+"(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?"  v  "<0><1>\u1100\uac01</1><2>\uac02</2><3>\uac03\u11b0</3></0>"
+"(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?"  v  "<0><1>\u1100\u1101\uac02\u0301</1><2>\u1100</2></0>"
+# Regional indicator pairs are grapheme clusters
+"(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?"  v  "<0><1>\U0001f1e6\U0001f1e8</1><2>\U0001f1ea\U0001f1ff</2></0>"
+# Grapheme Break rule 9b:  Prepend x
+"(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?(\X)?" v  "<0><1>\U000111C2x</1></0>"
+
+# Grapheme clusters that straddle a match region. Matching is pinned to the region limits,
+# giving boundaries inside grapheme clusters
+"(\X)?(\X)?(\X)?"        v      "a\u0301<r><0><1>\u0301\u0301</1><2>z\u0302</2></0></r>\u0302\u0302"
+# Same as previous test case, but without the region limits.
+"(\X)?(\X)?(\X)?"        v      "<0><1>a\u0301\u0301\u0301</1><2>z\u0302\u0302\u0302</2></0>"
 
 # ^ matches only at beginning of line
 ".*^(Hello)"                   "<0><1>Hello</1></0> Hello Hello Hello Goodbye"
 #
 "(?<=(?<=b?(?=a)))"               "hello, world."
 
+# Bug ICU-20939
+# Incorrect word \b boundaries w UTF-8 input and non-ASCII text
+#
+"(?w)\b"                     v2     "äää<0></0> äää"
 
 #  Random debugging, Temporary
 #
index e506302..23e07dd 100644 (file)
@@ -13,8 +13,8 @@
 root
 {
     Version { 44.0 }
-    ExpectCLDRVersionAtLeast { 36.1 } // 'base' cldr version. Allow up to version =.=.* of this
-    CurrentCLDRVersion { 36.1 } // Current CLDR version as of the test update. Warn if not an exact match.
+    ExpectCLDRVersionAtLeast { 37.0 } // 'base' cldr version. Allow up to version =.=.* of this
+    CurrentCLDRVersion { 37.0 } // Current CLDR version as of the test update. Warn if not an exact match.
 
     ShortLanguage { xxx }
 
index 601be7d..55c1276 100644 (file)
@@ -5869,6 +5869,7 @@ structLocale:table(nofallback){
         pap{""}
         pau{""}
         pcd{""}
+        pcm{""}
         pdc{""}
         pdt{""}
         peo{""}
@@ -24705,6 +24706,23 @@ structLocale:table(nofallback){
                     d{""}
                     y{""}
                 }
+                GyMMMM{
+                    G{""}
+                    M{""}
+                    y{""}
+                }
+                GyMMMMEd{
+                    G{""}
+                    M{""}
+                    d{""}
+                    y{""}
+                }
+                GyMMMMd{
+                    G{""}
+                    M{""}
+                    d{""}
+                    y{""}
+                }
                 GyMMMd{
                     G{""}
                     M{""}
@@ -25154,6 +25172,23 @@ structLocale:table(nofallback){
                     d{""}
                     y{""}
                 }
+                GyMMMM{
+                    G{""}
+                    M{""}
+                    y{""}
+                }
+                GyMMMMEd{
+                    G{""}
+                    M{""}
+                    d{""}
+                    y{""}
+                }
+                GyMMMMd{
+                    G{""}
+                    M{""}
+                    d{""}
+                    y{""}
+                }
                 GyMMMd{
                     G{""}
                     M{""}
@@ -28046,7 +28081,7 @@ structLocale:table(nofallback){
                 many{""}
                 other{""}
             }
-            meter-per-second-squared{
+            meter-per-square-second{
                 dnam{""}
                 zero{""}
                 one{""}
@@ -28986,7 +29021,7 @@ structLocale:table(nofallback){
                 many{""}
                 other{""}
             }
-            inch-hg{
+            inch-ofhg{
                 dnam{""}
                 zero{""}
                 one{""}
@@ -29004,7 +29039,7 @@ structLocale:table(nofallback){
                 many{""}
                 other{""}
             }
-            millimeter-of-mercury{
+            millimeter-ofhg{
                 dnam{""}
                 zero{""}
                 one{""}
@@ -29013,7 +29048,7 @@ structLocale:table(nofallback){
                 many{""}
                 other{""}
             }
-            pound-per-square-inch{
+            pound-force-per-square-inch{
                 dnam{""}
                 zero{""}
                 one{""}
@@ -29304,7 +29339,7 @@ structLocale:table(nofallback){
                 many{""}
                 other{""}
             }
-            meter-per-second-squared{
+            meter-per-square-second{
                 dnam{""}
                 zero{""}
                 one{""}
@@ -30244,7 +30279,7 @@ structLocale:table(nofallback){
                 many{""}
                 other{""}
             }
-            inch-hg{
+            inch-ofhg{
                 dnam{""}
                 zero{""}
                 one{""}
@@ -30262,7 +30297,7 @@ structLocale:table(nofallback){
                 many{""}
                 other{""}
             }
-            millimeter-of-mercury{
+            millimeter-ofhg{
                 dnam{""}
                 zero{""}
                 one{""}
@@ -30271,7 +30306,7 @@ structLocale:table(nofallback){
                 many{""}
                 other{""}
             }
-            pound-per-square-inch{
+            pound-force-per-square-inch{
                 dnam{""}
                 zero{""}
                 one{""}
@@ -30562,7 +30597,7 @@ structLocale:table(nofallback){
                 many{""}
                 other{""}
             }
-            meter-per-second-squared{
+            meter-per-square-second{
                 dnam{""}
                 zero{""}
                 one{""}
@@ -31502,7 +31537,7 @@ structLocale:table(nofallback){
                 many{""}
                 other{""}
             }
-            inch-hg{
+            inch-ofhg{
                 dnam{""}
                 zero{""}
                 one{""}
@@ -31520,7 +31555,7 @@ structLocale:table(nofallback){
                 many{""}
                 other{""}
             }
-            millimeter-of-mercury{
+            millimeter-ofhg{
                 dnam{""}
                 zero{""}
                 one{""}
@@ -31529,7 +31564,7 @@ structLocale:table(nofallback){
                 many{""}
                 other{""}
             }
-            pound-per-square-inch{
+            pound-force-per-square-inch{
                 dnam{""}
                 zero{""}
                 one{""}
index 2560092..845fdc9 100644 (file)
@@ -83,6 +83,11 @@ ifneq ($(ENABLE_STATIC),)
        $(INSTALL-L) $(TARGET) $(DESTDIR)$(libdir)
 endif
 ifneq ($(ENABLE_SHARED),)
+# For MinGW, do we want the DLL to go in the bin location?
+ifeq ($(MINGW_MOVEDLLSTOBINDIR),YES)
+       $(MKINSTALLDIRS) $(DESTDIR)$(bindir)
+       $(INSTALL-L) $(FINAL_SO_TARGET) $(DESTDIR)$(bindir)
+else
        $(INSTALL-L) $(FINAL_SO_TARGET) $(DESTDIR)$(libdir)
 ifneq ($(FINAL_SO_TARGET),$(SO_TARGET))
        cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(SO_TARGET))
@@ -90,6 +95,7 @@ ifneq ($(FINAL_SO_TARGET),$(MIDDLE_SO_TARGET))
        cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(MIDDLE_SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(MIDDLE_SO_TARGET))
 endif
 endif
+endif
 ifneq ($(IMPORT_LIB_EXT),)
        $(INSTALL-L) $(FINAL_IMPORT_LIB) $(DESTDIR)$(libdir)
 ifneq ($(IMPORT_LIB),$(FINAL_IMPORT_LIB))
index 1a685ed..db71ae9 100644 (file)
@@ -69,7 +69,7 @@
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
     </ClCompile>
     <Link>
-      <OutputFile>..\..\..\$(IcuBinOutputDir)\icutest66d.exe</OutputFile>
+      <OutputFile>..\..\..\$(IcuBinOutputDir)\icutest67d.exe</OutputFile>
       <ProgramDatabaseFile>.\..\..\..\$(IcuLibOutputDir)\icutestd.pdb</ProgramDatabaseFile>
       <ImportLibrary>.\..\..\..\$(IcuLibOutputDir)\icutestd.lib</ImportLibrary>
       <AdditionalDependencies>icuucd.lib;icutud.lib;%(AdditionalDependencies)</AdditionalDependencies>
@@ -82,7 +82,7 @@
       <FunctionLevelLinking>true</FunctionLevelLinking>
     </ClCompile>
     <Link>
-      <OutputFile>..\..\..\$(IcuBinOutputDir)\icutest66.exe</OutputFile>
+      <OutputFile>..\..\..\$(IcuBinOutputDir)\icutest67.exe</OutputFile>
       <ProgramDatabaseFile>.\..\..\..\$(IcuLibOutputDir)\icutest.pdb</ProgramDatabaseFile>
       <ImportLibrary>.\..\..\..\$(IcuLibOutputDir)\icutest.lib</ImportLibrary>
       <AdditionalDependencies>icuuc.lib;icutu.lib;%(AdditionalDependencies)</AdditionalDependencies>
index 91e94d7..c5bbdf6 100644 (file)
@@ -69,6 +69,7 @@ enum {
 #ifdef CAN_GENERATE_OBJECTS
   kOptObject,
   kOptMatchArch,
+  kOptSkipDllExport,
 #endif
   kOptFilename,
   kOptAssembly
@@ -82,8 +83,9 @@ static UOption options[]={
      UOPTION_DEF("name", 'n', UOPT_REQUIRES_ARG),
      UOPTION_DEF("entrypoint", 'e', UOPT_REQUIRES_ARG),
 #ifdef CAN_GENERATE_OBJECTS
-/*5*/UOPTION_DEF("object", 'o', UOPT_NO_ARG),
+/*6*/UOPTION_DEF("object", 'o', UOPT_NO_ARG),
      UOPTION_DEF("match-arch", 'm', UOPT_REQUIRES_ARG),
+     UOPTION_DEF("skip-dll-export", '\0', UOPT_NO_ARG),
 #endif
      UOPTION_DEF("filename", 'f', UOPT_REQUIRES_ARG),
      UOPTION_DEF("assembly", 'a', UOPT_REQUIRES_ARG)
@@ -127,7 +129,8 @@ main(int argc, char* argv[]) {
         fprintf(stderr,
             "\t-o or --object      write a .obj file instead of .c\n"
             "\t-m or --match-arch file.o  match the architecture (CPU, 32/64 bits) of the specified .o\n"
-            "\t                    ELF format defaults to i386. Windows defaults to the native platform.\n");
+            "\t                    ELF format defaults to i386. Windows defaults to the native platform.\n"
+            "\t--skip-dll-export   Don't export the ICU data entry point symbol (for use when statically linking)\n");
 #endif
         fprintf(stderr,
             "\t-f or --filename    Specify an alternate base filename. (default: symbolname_typ)\n"
@@ -193,7 +196,8 @@ main(int argc, char* argv[]) {
                                 options[kOptMatchArch].doesOccur ? options[kOptMatchArch].value : NULL,
                                 options[kOptFilename].doesOccur ? options[kOptFilename].value : NULL,
                                 NULL,
-                                0);
+                                0,
+                                !options[kOptSkipDllExport].doesOccur);
                 break;
 #endif
             default:
index 082c74f..f0ab666 100644 (file)
@@ -32,11 +32,18 @@ ifneq ($(patsubst %clean,,$(MAKECMDGOALS)),)
 include $(BUILDDIR)/icudefs.mk
 endif
 
-COM=$(ICUDIR)/lib/libicuuc.$(SO)
-I18=$(ICUDIR)/lib/libicui18n.$(SO)
-LEX=$(ICUDIR)/lib/libiculx.$(SO)
+# For MinGW, do we want the DLL to go in the bin location?
+ifeq ($(MINGW_MOVEDLLSTOBINDIR),YES)
+installdir = bin
+else
+installdir = lib
+endif
+
+COM=$(ICUDIR)/$(installdir)/libicuuc.$(SO)
+I18=$(ICUDIR)/$(installdir)/libicui18n.$(SO)
+LEX=$(ICUDIR)/$(installdir)/libiculx.$(SO)
 DAT=$(ICUDIR)/stubdata/libicudata.$(SO)
-UIO=$(ICUDIR)/lib/libicuio.$(SO)
+UIO=$(ICUDIR)/$(installdir)/libicuio.$(SO)
 
 LIBS=$(COM) $(I18) $(LEX) $(UIO)
 
index 3d75a39..4b00d1b 100644 (file)
@@ -412,7 +412,8 @@ storeMapping(uint32_t codepoint, uint32_t* mapping,int32_t length,
         int16_t delta = (int16_t)((int32_t)codepoint - (int16_t) mapping[0]);
         if(delta >= SPREP_DELTA_RANGE_NEGATIVE_LIMIT && delta <= SPREP_DELTA_RANGE_POSITIVE_LIMIT){
 
-            trieWord = delta << 2;
+            trieWord = delta;
+            trieWord <<= 2;
 
 
             /* make sure that the second bit is OFF */
index fee17cf..9348259 100644 (file)
@@ -58,6 +58,12 @@ static void do_init() {
     }
 }
 
+static void do_cleanup() {
+  if (icuInitted) {
+    u_cleanup();
+    icuInitted = FALSE;
+  }
+}
 
 void cmd_millis()
 {
@@ -295,5 +301,7 @@ main(int argc, char* argv[]) {
       cmd_version(FALSE, errorCode);  /* at least print the version # */
     }
 
+    do_cleanup();
+
     return U_FAILURE(errorCode);
 }
index 7235a7f..5ab682e 100644 (file)
@@ -46,6 +46,7 @@
 #include "flagparser.h"
 #include "filetools.h"
 #include "charstr.h"
+#include "uassert.h"
 
 #if U_HAVE_POPEN
 # include <unistd.h>
@@ -95,7 +96,7 @@ static int32_t pkg_archiveLibrary(const char *targetDir, const char *version, UB
 static void createFileNames(UPKGOptions *o, const char mode, const char *version_major, const char *version, const char *libName, const UBool reverseExt, UBool noVersion);
 static int32_t initializePkgDataFlags(UPKGOptions *o);
 
-static int32_t pkg_getOptionsFromICUConfig(UBool verbose, UOption *option);
+static int32_t pkg_getPkgDataPath(UBool verbose, UOption *option);
 static int runCommand(const char* command, UBool specialHandling=FALSE);
 
 #define IN_COMMON_MODE(mode) (mode == 'a' || mode == 'c')
@@ -309,7 +310,7 @@ main(int argc, char* argv[]) {
 
 #if !defined(WINDOWS_WITH_MSVC) || defined(USING_CYGWIN)
         if(!options[BLDOPT].doesOccur && uprv_strcmp(options[MODE].value, "common") != 0) {
-          if (pkg_getOptionsFromICUConfig(options[VERBOSE].doesOccur, &options[BLDOPT]) != 0) {
+          if (pkg_getPkgDataPath(options[VERBOSE].doesOccur, &options[BLDOPT]) != 0) {
                 fprintf(stderr, " required parameter is missing: -O is required for static and shared builds.\n");
                 fprintf(stderr, "Run '%s --help' for help.\n", progname);
                 return 1;
@@ -775,7 +776,8 @@ static int32_t pkg_executeOptions(UPKGOptions *o) {
                         (optMatchArch[0] == 0 ? NULL : optMatchArch),
                         NULL,
                         gencFilePath,
-                        sizeof(gencFilePath));
+                        sizeof(gencFilePath),
+                        TRUE);
                     pkg_destroyOptMatchArch(optMatchArch);
 #if U_PLATFORM_IS_LINUX_BASED
                     result = pkg_generateLibraryFile(targetDir, mode, gencFilePath);
@@ -1131,12 +1133,15 @@ static int32_t pkg_installLibrary(const char *installDir, const char *targetDir,
     int32_t result = 0;
     char cmd[SMALL_BUFFER_MAX_SIZE];
 
-    sprintf(cmd, "cd %s && %s %s %s%s%s",
+    auto ret = snprintf(cmd,
+            SMALL_BUFFER_MAX_SIZE,
+            "cd %s && %s %s %s%s%s",
             targetDir,
             pkgDataFlags[INSTALL_CMD],
             libFileNames[LIB_FILE_VERSION],
-            installDir, PKGDATA_FILE_SEP_STRING, libFileNames[LIB_FILE_VERSION]
-            );
+            installDir, PKGDATA_FILE_SEP_STRING, libFileNames[LIB_FILE_VERSION]);
+    (void)ret;
+    U_ASSERT(0 <= ret && ret < SMALL_BUFFER_MAX_SIZE);
 
     result = runCommand(cmd);
 
@@ -1254,10 +1259,14 @@ static int32_t pkg_installFileMode(const char *installDir, const char *srcDir, c
                     buffer[bufferLength-1] = 0;
                 }
 
-                sprintf(cmd, "%s %s%s%s %s%s%s",
+                auto ret = snprintf(cmd,
+                        SMALL_BUFFER_MAX_SIZE,
+                        "%s %s%s%s %s%s%s",
                         pkgDataFlags[INSTALL_CMD],
                         srcDir, PKGDATA_FILE_SEP_STRING, buffer,
                         installDir, PKGDATA_FILE_SEP_STRING, buffer);
+                (void)ret;
+                U_ASSERT(0 <= ret && ret < SMALL_BUFFER_MAX_SIZE);
 
                 result = runCommand(cmd);
                 if (result != 0) {
@@ -1689,12 +1698,20 @@ static int32_t pkg_createWithoutAssemblyCode(UPKGOptions *o, const char *targetD
                             break;
                         }
                     }
-                    sprintf(newName, "%s_%s",
+                    auto ret = snprintf(newName,
+                            SMALL_BUFFER_MAX_SIZE,
+                            "%s_%s",
                             DATA_PREFIX[n],
                             newNameTmp);
-                    sprintf(dataName, "%s_%s",
+                    (void)ret;
+                    U_ASSERT(0 <= ret && ret < SMALL_BUFFER_MAX_SIZE);
+                    ret = snprintf(dataName,
+                            SMALL_BUFFER_MAX_SIZE,
+                            "%s_%s",
                             o->shortName,
                             DATA_PREFIX[n]);
+                    (void)ret;
+                    U_ASSERT(0 <= ret && ret < SMALL_BUFFER_MAX_SIZE);
                 }
                 if (newName[0] != 0) {
                     break;
@@ -2158,41 +2175,46 @@ static void loadLists(UPKGOptions *o, UErrorCode *status)
     } /* for each file list file */
 }
 
-/* Try calling icu-config directly to get the option file. */
- static int32_t pkg_getOptionsFromICUConfig(UBool verbose, UOption *option) {
+/* Helper for pkg_getPkgDataPath() */
 #if U_HAVE_POPEN
-    LocalPipeFilePointer p;
-    size_t n;
-    static char buf[512] = "";
+static UBool getPkgDataPath(const char *cmd, UBool verbose, char *buf, size_t items) {
     icu::CharString cmdBuf;
     UErrorCode status = U_ZERO_ERROR;
-    const char cmd[] = "icu-config --incpkgdatafile";
-    char dirBuf[1024] = "";
-    /* #1 try the same path where pkgdata was called from. */
-    findDirname(progname, dirBuf, UPRV_LENGTHOF(dirBuf), &status);
-    if(U_SUCCESS(status)) {
-      cmdBuf.append(dirBuf, status);
-      if (cmdBuf[0] != 0) {
-        cmdBuf.append( U_FILE_SEP_STRING, status );
-      }
-      cmdBuf.append( cmd, status );
-      
-      if(verbose) {
-        fprintf(stdout, "# Calling icu-config: %s\n", cmdBuf.data());
-      }
-      p.adoptInstead(popen(cmdBuf.data(), "r"));
-    }
-
-    if(p.isNull() || (n = fread(buf, 1, UPRV_LENGTHOF(buf)-1, p.getAlias())) <= 0) {
-        if(verbose) {
-            fprintf(stdout, "# Calling icu-config: %s\n", cmd);
-        }
+    LocalPipeFilePointer p;
+    size_t n;
+
+    cmdBuf.append(cmd, status);
+    if (verbose) {
+        fprintf(stdout, "# Calling: %s\n", cmdBuf.data());
+    }
+    p.adoptInstead( popen(cmdBuf.data(), "r") );
+
+    if (p.isNull() || (n = fread(buf, 1, items-1, p.getAlias())) <= 0) {
+        fprintf(stderr, "%s: Error calling '%s'\n", progname, cmd);
+        *buf = 0;
+        return FALSE;
+    }
 
-        p.adoptInstead(popen(cmd, "r"));
-        if(p.isNull() || (n = fread(buf, 1, UPRV_LENGTHOF(buf)-1, p.getAlias())) <= 0) {
-            fprintf(stderr, "%s: icu-config: No icu-config found. (fix PATH or use -O option)\n", progname);
+    return TRUE;
+}
+#endif
+
+/* Get path to pkgdata.inc. Try pkg-config first, falling back to icu-config. */
+static int32_t pkg_getPkgDataPath(UBool verbose, UOption *option) {
+#if U_HAVE_POPEN
+    static char buf[512] = "";
+    UBool pkgconfigIsValid = TRUE;
+    const char *pkgconfigCmd = "pkg-config --variable=pkglibdir icu-uc";
+    const char *icuconfigCmd = "icu-config --incpkgdatafile";
+    const char *pkgdata = "pkgdata.inc";
+
+    if (!getPkgDataPath(pkgconfigCmd, verbose, buf, UPRV_LENGTHOF(buf))) {
+        if (!getPkgDataPath(icuconfigCmd, verbose, buf, UPRV_LENGTHOF(buf))) {
+            fprintf(stderr, "%s: icu-config not found. Fix PATH or specify -O option\n", progname);
             return -1;
         }
+
+        pkgconfigIsValid = FALSE;
     }
 
     for (int32_t length = strlen(buf) - 1; length >= 0; length--) {
@@ -2203,21 +2225,18 @@ static void loadLists(UPKGOptions *o, UErrorCode *status)
         }
     }
 
-    if(buf[strlen(buf)-1]=='\n')
-    {
-        buf[strlen(buf)-1]=0;
-    }
-
-    if(buf[0] == 0)
-    {
-        fprintf(stderr, "%s: icu-config: invalid response from icu-config (fix PATH or use -O option)\n", progname);
+    if (!*buf) {
+        fprintf(stderr, "%s: Unable to locate pkgdata.inc. Unable to parse the results of '%s'. Check paths or use the -O option to specify the path to pkgdata.inc.\n", progname, pkgconfigIsValid ? pkgconfigCmd : icuconfigCmd);
         return -1;
     }
 
-    if(verbose) {
-      fprintf(stdout, "# icu-config said: %s\n", buf);
+    if (pkgconfigIsValid) {
+        uprv_strcat(buf, U_FILE_SEP_STRING);
+        uprv_strcat(buf, pkgdata);
     }
 
+    buf[strlen(buf)] = 0;
+
     option->value = buf;
     option->doesOccur = TRUE;
 
index 82ca0d8..0a6dc7d 100644 (file)
@@ -94,6 +94,11 @@ ifneq ($(ENABLE_STATIC),)
        $(INSTALL-L) $(TARGET) $(DESTDIR)$(libdir)
 endif
 ifneq ($(ENABLE_SHARED),)
+# For MinGW, do we want the DLL to go in the bin location?
+ifeq ($(MINGW_MOVEDLLSTOBINDIR),YES)
+       $(MKINSTALLDIRS) $(DESTDIR)$(bindir)
+       $(INSTALL-L) $(FINAL_SO_TARGET) $(DESTDIR)$(bindir)
+else
        $(INSTALL-L) $(FINAL_SO_TARGET) $(DESTDIR)$(libdir)
 ifneq ($(FINAL_SO_TARGET),$(SO_TARGET))
        cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(SO_TARGET))
@@ -101,6 +106,7 @@ ifneq ($(FINAL_SO_TARGET),$(MIDDLE_SO_TARGET))
        cd $(DESTDIR)$(libdir) && $(RM) $(notdir $(MIDDLE_SO_TARGET)) && ln -s $(notdir $(FINAL_SO_TARGET)) $(notdir $(MIDDLE_SO_TARGET))
 endif
 endif
+endif
 ifneq ($(IMPORT_LIB_EXT),)
        $(INSTALL-L) $(FINAL_IMPORT_LIB) $(DESTDIR)$(libdir)
 ifneq ($(IMPORT_LIB),$(FINAL_IMPORT_LIB))
index c98baaf..8251128 100644 (file)
@@ -131,6 +131,9 @@ static const struct AssemblyType {
     {"gcc",
         ".globl %s\n"
         "\t.section .note.GNU-stack,\"\",%%progbits\n"
+        "#ifdef __CET__\n"
+        "# include <cet.h>\n"
+        "#endif\n"
         "\t.section .rodata\n"
         "\t.balign 16\n"
         "#ifdef U_HIDE_DATA_SYMBOL\n"
@@ -878,7 +881,8 @@ writeObjectCode(
         const char *optMatchArch,
         const char *optFilename,
         char *outFilePath,
-        size_t outFilePathCapacity) {
+        size_t outFilePathCapacity,
+        UBool optWinDllExport) {
     /* common variables */
     char buffer[4096], entry[96]={ 0 };
     FileStream *in, *out;
@@ -888,6 +892,8 @@ writeObjectCode(
     uint16_t cpu, bits;
     UBool makeBigEndian;
 
+    (void)optWinDllExport; /* unused except Windows */
+
     /* platform-specific variables and initialization code */
 #ifdef U_ELF
     /* 32-bit Elf file header */
@@ -1254,12 +1260,17 @@ writeObjectCode(
     uprv_memset(&symbolNames, 0, sizeof(symbolNames));
 
     /* write the linker export directive */
-    uprv_strcpy(objHeader.linkerOptions, "-export:");
-    length=8;
-    uprv_strcpy(objHeader.linkerOptions+length, entry);
-    length+=entryLength;
-    uprv_strcpy(objHeader.linkerOptions+length, ",data ");
-    length+=6;
+    if (optWinDllExport) {
+        uprv_strcpy(objHeader.linkerOptions, "-export:");
+        length=8;
+        uprv_strcpy(objHeader.linkerOptions+length, entry);
+        length+=entryLength;
+        uprv_strcpy(objHeader.linkerOptions+length, ",data ");
+        length+=6;
+    }
+    else {
+        length=0;
+    }
 
     /* set the file header */
     objHeader.fileHeader.Machine=cpu;
index 47e8304..b231aa6 100644 (file)
@@ -100,6 +100,7 @@ writeObjectCode(
     const char *optMatchArch,
     const char *optFilename,
     char *outFilePath,
-    size_t outFilePathCapacity);
+    size_t outFilePathCapacity,
+    UBool optWinDllExport);
 
 #endif
index a035f23..95543c6 100644 (file)
@@ -60,6 +60,8 @@
 
 #include <errno.h>
 
+#include <cstddef>
+
 #include "unicode/errorcode.h"
 #include "unicode/putil.h"
 #include "cmemory.h"
@@ -243,7 +245,7 @@ struct UToolMemory {
     char name[64];
     int32_t capacity, maxCapacity, size, idx;
     void *array;
-    alignas(max_align_t) char staticArray[1];
+    alignas(std::max_align_t) char staticArray[1];
 };
 
 U_CAPI UToolMemory * U_EXPORT2
index 9a4f250..a8a4411 100644 (file)
@@ -90,7 +90,7 @@
       <TypeLibraryName>.\..\..\..\lib\icutu.tlb</TypeLibraryName>
     </Midl>
     <Link>
-      <OutputFile>..\..\..\bin\icutu66.dll</OutputFile>
+      <OutputFile>..\..\..\bin\icutu67.dll</OutputFile>
       <ProgramDatabaseFile>.\..\..\..\lib\icutu.pdb</ProgramDatabaseFile>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
       <TypeLibraryName>.\..\..\..\lib\icutud.tlb</TypeLibraryName>
     </Midl>
     <Link>
-      <OutputFile>..\..\..\bin\icutu66d.dll</OutputFile>
+      <OutputFile>..\..\..\bin\icutu67d.dll</OutputFile>
       <ProgramDatabaseFile>.\..\..\..\lib\icutud.pdb</ProgramDatabaseFile>
       <DataExecutionPrevention>
       </DataExecutionPrevention>
       <WholeProgramOptimization>true</WholeProgramOptimization>
     </ClCompile>
     <Link>
-      <OutputFile>..\..\..\bin64\icutu66.dll</OutputFile>
+      <OutputFile>..\..\..\bin64\icutu67.dll</OutputFile>
       <ProgramDatabaseFile>.\..\..\..\lib64\icutu.pdb</ProgramDatabaseFile>
       <ImportLibrary>..\..\..\lib64\icutu.lib</ImportLibrary>
     </Link>
       <TypeLibraryName>.\..\..\..\lib64\icutud.tlb</TypeLibraryName>
     </Midl>
     <Link>
-      <OutputFile>..\..\..\bin64\icutu66d.dll</OutputFile>
+      <OutputFile>..\..\..\bin64\icutu67d.dll</OutputFile>
       <ProgramDatabaseFile>.\..\..\..\lib64\icutud.pdb</ProgramDatabaseFile>
       <ImportLibrary>..\..\..\lib64\icutud.lib</ImportLibrary>
     </Link>
       <TypeLibraryName>..\..\..\libARM\icutu.tlb</TypeLibraryName>
     </Midl>
     <Link>
-      <OutputFile>..\..\..\binARM\icutu66.dll</OutputFile>
+      <OutputFile>..\..\..\binARM\icutu67.dll</OutputFile>
       <ProgramDatabaseFile>.\..\..\..\libARM\icutu.pdb</ProgramDatabaseFile>
       <ImportLibrary>..\..\..\libARM\icutu.lib</ImportLibrary>
     </Link>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
     <Link>
-      <OutputFile>..\..\..\binARM\icutu66d.dll</OutputFile>
+      <OutputFile>..\..\..\binARM\icutu67d.dll</OutputFile>
       <ProgramDatabaseFile>.\..\..\..\libARM\icutud.pdb</ProgramDatabaseFile>
       <ImportLibrary>..\..\..\libARM\icutud.lib</ImportLibrary>
     </Link>
       <TypeLibraryName>.\..\..\..\libARM64\icutu.tlb</TypeLibraryName>
     </Midl>
     <Link>
-      <OutputFile>..\..\..\binARM64\icutu66.dll</OutputFile>
+      <OutputFile>..\..\..\binARM64\icutu67.dll</OutputFile>
       <ProgramDatabaseFile>.\..\..\..\libARM64\icutu.pdb</ProgramDatabaseFile>
       <ImportLibrary>..\..\..\libARM64\icutu.lib</ImportLibrary>
     </Link>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
     </ClCompile>
     <Link>
-      <OutputFile>..\..\..\binARM64\icutu66d.dll</OutputFile>
+      <OutputFile>..\..\..\binARM64\icutu67d.dll</OutputFile>
       <ProgramDatabaseFile>.\..\..\..\libARM64\icutud.pdb</ProgramDatabaseFile>
       <ImportLibrary>..\..\..\libARM64\icutud.lib</ImportLibrary>
     </Link>